文章目录
0 SSL 与 TLS
SSL:(Secure Socket Layer) 安全套接层,于 1994 年由网景公司设计,并于 1995 年发布了 3.0 版本
TLS:(Transport Layer Security)传输层安全性协议,是 IETF 在 SSL3.0 的基础上设计的协议
以下全部使用 TLS 来表示
1 从网络协议的角度理解 HTTPS
HTTP:HyperText Transfer Protocol 超文本传输协议
HTTPS:Hypertext Transfer Protocol Secure 超文本传输安全协议
HTTPS 经由 HTTP 进行通信,但利用 TLS 来保证安全,即 HTTPS = HTTP + TLS
2 从密码学的角度理解 HTTPS
HTTPS 使用 TLS 保证安全,这里的“安全”分两部分,一是传输内容加密、二是服务端的身份认证
2.1 TLS 工作流程
此为服务端单向认证,还有客户端/服务端双向认证,流程类似,只不过客户端也有自己的证书,并发送给服务器进行验证
2.2 密码基础
2.2.1 伪随机数生成器
为什么叫伪随机数,因为没有真正意义上的随机数,具体可以参考 Random/TheadLocalRandom
它的作用在于生成对称密码的秘钥、用于公钥密码生成秘钥对
2.2.2 消息认证码
用于验证消息的完整性与消息的认证,其中消息的认证指“消息来自正确的发送者”
注意:用于验证和认证,而不是加密
clie