HTTPS
解决问题 (保密、真实、有效)
- 通信内容的保密性 : 加密算法对内容加密
- 通信双方身份的真实性: 第三方CA证书机构
- 通信内容的完整性:通过MAC保证,HASH消息,证书的数字签名
加密算法
对称加密
工作过程:A和B双方协商好秘钥K后,通过秘钥K对通信内容进行加密与解密。
算法:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等
优缺点:
- 加密方和解密方使用同一个密钥
- 加密解密的速度比较快,适合数据比较长时的使用
- 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦,一方泄漏则不安全
非对称加密
工作过程:A生成公钥和私钥,将公钥公开出去,私钥自己保管。当B发消息给A时,先使用A的公钥加密消息,A收到后通过私钥解密。同理,A用B公开的公钥加密发消息给B,B通过自己的私钥解密。
算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。
优缺点:
- 加密和解密花费时间长、速度慢,只适合对少量数据进行加密
- 通信之前,不用先同步私钥,安全性更好
- 私钥自己管理
- 公钥被掉包,通信双方身份不真实。
MAC算法
MAC算法 (Message Authentication Codes) 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时Hash值称作MAC。
CA证书机构
SSL协议
安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议。
HTTP —— SSL/TLS —— TCP —— IP
特性 (机密性和报文完整性)
- 保密:在握手协议中定义会话密钥后,所有的消息都被加密
- 鉴别:服务器的真实性
- 完整:传送消息的完整性检查
操作
- 分段
- 压缩
- 增加MAC
- 加密
- 增加SSL记录
工作过程
(随机密码和对称加密算法对传输数据加密传输)
- 客户端:发送Hello报文建立SSL连接,将支持的加密规则发送给网站
- 服务器:选择一组加密算法与HASH算法,将信息以证书形式返回浏览器。证书包含网址、加密公钥、证书颁发机构
- 客户端:验证证书合法性、生成随机数HASH计算握手信息、使用公钥加密握手信息发送网站
- 服务器:解密握手消息,对生成随机数HASH计算并比较是否一致、使用密码加密握手消息发送给客户端
- 客户端:解密消息并计算HASH比较,一致连接建立成功
网友评论