Skip to main content

SSL 协议

什么是 SSL 协议

SSL 协议 (Secure Sockets Layer) 安全套接字层 ,用于在服务器和客户端之间创建加密的网络链路,确保传递的所有数据都是私密且安全的。

SSL 协议 是最早用于网络加密的技术。 现在,现代浏览器和服务器已不再支持该功能。TLS 协议 (Transport Layer Security) 传输层安全协议 是目前推荐使用的标准。

SSL/TLS 协议的主要功能实现主要依赖于三大算法:

HTTPS 协议 是建立在SSL/TLS 协议 之上的。

SSL、TLS简介

基本原理

SSL握手方式

  • 客户端请求服务端,获取服务端公钥key
  • 客户端随机生成一个对话密钥 使用 公钥key加密,只有服务端私钥可以解密,这样客户端服务端都会有一份对话密钥
  • 客户端服务器采用对话密钥进行加密通信,这样可以保证数据传输的效率,双方都可以对加密的数据进行解密。

CA 证书

为了确保公钥key不被“中间人“篡改以及攻击。需要把公钥key放在数字证书里面,只要数字证书是可信的,公钥就可以信任。

基本组成

  • 绑定的域名
  • 颁发证书的机构
  • 使用 CA 私钥加密的公钥
  • 使用 CA 私钥加密的签名
    • 证书绑定的域名
    • 服务端的公钥key
    • CA 证书的公钥key

验证证书是否合法

  • 检查证书列出的域名是否和用户实际访问的域名匹配
  • 检查证书是否在有效期
  • 通过CRLOCSP检验证书是否被吊销
  • 检查颁发证书的机构 是不是受客户端信任
  • 使用CA 证书的公钥验证签名,是否和当前证书的签名一致