首先我们为什么需要SSL?
互联网的通信安全,建立在SSL/TLS协议之上。SSL/TLS协议位于应用层和传输层之间,用于对上层数据包加密之后传输,同时进行身份、数据完整性校验。
简单地讲,SSL/TLS就是同时结合各种密码算法、数字签名算法及数字证书等技术的一套协议,目的就是为了保证通信的安全性。采用SSL/TLS协议,通信双方建立连接之前需要进行握手,目的是协商出会话密钥,用于后续对通信数据的加解密操作。
加密算法分为两大类:
1、对称加密算法 数据加解密使用同一份密钥,加解密速度快,效率高,缺点是密钥的管理难度大,密钥传输绝对不可泄漏。
2、非对称加密算法 数据加解密使用公钥和私钥,公钥用于传输,私钥自己保存,安全性较高,但加解密速度偏慢。
而SSL/TLS则结合两者的优缺点,数据包的加密使用对称加密算法,而对称加密算法的密钥采用非对称加密手段协商获取。
常用的对称加密算法有:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
常用的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
常用的数字签名算法有:MAC、MD5、SHA1
以与CSDN的一次连接建立为例
C:\Users\DELL>ping CSDN.com
正在 Ping CSDN.com [39.106.226.142] 具有 32 字节的数据:
来自 39.106.226.142 的回复: 字节=32 时间=<