SSL 协议
什么是 SSL 协议
SSL 协议 (Secure Sockets Layer) 安全套接字层 ,用于在服务器和客户端之间创建加密的网络链路,确保传递的所有数据都是私密且安全的。
SSL 协议 是最早用于网络加密的技术。 现在,现代浏览器和服务器已不再支持该功能。TLS 协议 (Transport Layer Security) 传输层安全协议 是目前推荐使用的标准。
SSL/TLS 协议的主要功能实现主要依赖于三大算法:
HTTPS 协议 是建立在SSL/TLS 协议 之上的。
基本原理
客户端
请求服务端
,获取服务端
的公钥key
客户端
随机生成一个对话密钥
使用公钥key
加密,只有服务端
的私钥
可以解密,这样客户端
和服务端
都会有一份对话密钥
。客户端
和服务器
采用对话密钥
进行加密通信,这样可以保证数据传输
的效率,双方都可以对加密的数据进行解密。
CA 证书
为了确保公钥key
不被“中间人“
篡改以及攻击。需要把公钥key
放在数字证书里面,只要数字证书是可信的,公钥就可以信任。
基本组成
- 绑定的域名
- 颁发证书的机构
- 使用 CA 私钥加密的公钥
- 使用 CA 私钥加密的签名
- 证书绑定的域名
- 服务端的
公钥key
- CA 证书的
公钥key
验证证书是否合法
- 检查证书列出的域名是否和用户实际访问的域名匹配
- 检查证书是否在有效期 内
- 通过
CRL
和OCSP
检验证书是否被吊销 - 检查颁发证书的机构 是不是受客户端信任
- 使用
CA 证书
的公钥验证签名,是否和当前证书的签名一致