Linux安全传输及其Openssl
- 传输层协议:TCP/UDP/SCTP
-
使用 IP:Port 进程地址进程向内核注册使用的端点(独有) cip:port <--Socket--> sip:port
-
OpenSSL: 同一个主机的进程通信IPC,Message Queue,shrm,semerphor -> 不同主机进程通信 Socket
-
小于1023的端口都是分配给固定的服务的端口了
-
SSL:Secure Socket Layer (http -> ssl -> https)
安全的目标
保密性:confidentiality
完整性:integity -> 数据完整性和系统完整性
有效性:avaliability
攻击类型
威胁保密的攻击:窃听/通信分析
威胁完整性的攻击:更改/伪装/重放/否认
威胁可用性攻击:拒绝服务(dos/ddos)
-
技术(加密和解密)
-
服务(用于抵御攻击的服务,即是为了上述安全目标而特定的设计的安全服务)
加密和解密
传统的加密方法:替代加密算法/置换加密算法
现代的加密方法:现代块加密方法
服务
认证机制
访问制机制
密钥算法和协议
对称加密
公钥加密
单项加密
认证协议
Linux系统
OpenSSL(ssl):由三部分组成提供加密解密库,网传国外研究生使用半年时间将市面上的所有的加密算法用程序实现了一遍
libncrpt/libssl/openssl命令行
GPS(gsp)
加密算法和协议
对称加密:加密和解密使用同一个密钥
1.DES:Data Encryption Standard
2.3DEC:3倍加密DEC
3.AES:美国国家安全局研发(Advanced Encryption Standard)加密长度128bits/192bits/256bits/384bits
4.Blowfish
5.Twofish
6.IDEA商业加密
7.RC6
8.CAST5
特性:
1.加密/解密使用同一个密钥
2.将原始的数据分割成为固定的大小的块,逐个进行加密
缺陷:
1.密钥过多
2.密钥分发困难
非对称加密
公钥加密 -> 密钥分为公钥和私钥
公钥:可以公开给所有人 -> Pubkey
私钥:通过工具创建,使用者自己留存必须保证其私密性 -> Secret key
特性:使用公钥加密的数据,只能使用与之配对的私钥解密反之亦然
用途
数字签名 -> 主要在于让接收方确定发送方的身份
密钥交换 -> 发送方用对方公钥加密的一个对称加密密钥,并且发送给对方
数据加密
openssl工具详解
- 1.查询man帮助
man dgst
#对称加密
man enc
-
- 对称加密例子
#对一个文件进行对称+盐加密,输入密码(-e 指定加密方式 -a 编码base64 -salt盐 -in指定数据源 -out输出)
openssl -e -des3 -a -salt -in filename -out filename.des3
#进行解密
opennssl enc -d -des3 -a -salt -in filename.des3 -out filename
- 3.哈希加密
#生成用户密码
passwd命令:(man sslpasswd)
openssl passwd -1 -salt SALT(最多8位)
openssl passwd -1 -salt xxxxx
#生成随机数
man sslrand
openssl rand -base64|-hex NUM(NUM表示字节数,-hex时候每一个字符为16进制,相当于4位二进制)
#哈希加密
openssl dgst -md5 filename