Skip to content

SSL/TLS

SSL(Secure Sockets Layer)和 TLS(Transport Layer Security)是用于加密网络通信的协议,用于保护数据在客户端和服务器之间的传输过程,防止被恶意拦截和窃取。

SSL 是早期的加密协议,但由于安全性问题,现在主要使用 TLS。TLS 是 SSL 的继任者

http 风险

http 1.1 版本及以前,都是文本协议,文本协议安全性较低

  • 窃听风险:第三方获取通信内容
  • 篡改风险:第三方修改通信内容
  • 冒充风险:第三方可以冒充参与通信

tls 特点

  • 所有信息都是加密传播,第三方无法窃听
  • 具有校验机制,一旦被篡改,通信双方会立刻发现
  • 配备身份证书,防止被冒充

tls 1.2 加密过程

  • 客户端发起 https://xxxx 请求,发送客户端支持的加密算法
  • 服务器接收请求,返回证书(包含公钥,网站地址,证书颁发机构,失效日期)
  • 客户端接收证书判断合法性 no 警告提示 yes 生成随机数
  • 通过公钥加密协商秘钥,传输到服务器
  • 服务器通过私钥解密协商秘钥
  • 通过协商秘钥对称加密内容
  • 客户端通过协商秘钥解密

TIP

tls 1.2 先进行非对称加密(公钥、私钥)得到协商秘钥,客户端、服务端再通过协商秘钥对传输内容进行对称加密