其他分享
首页 > 其他分享> > SSL/TLS

SSL/TLS

作者:互联网

SSL/TLS

目录

SSL/TLS的工作

  1. Alice的信用卡号和地址在发送到Bob书店的过程中不能被窃听(保密性)——对称密码、Diffie-Hellman密钥交换
  2. Alice的信用卡号和地址在发送到Bob书店的过程中不能被篡改(完整性)——消息认证码
  3. 确认通信对方的web服务器是真正的Bob书店(身份认证)——数字签名

SSL/TLS可以保护其他协议

1616552961055

密码套件

SSl/TLS提供了一种密码通信的框架,这意味着SSL/TLS中使用的对称密码、公钥密码、数字签名、单向散列函数等技术,都可以像零件一样被替换。

SSL和TLS的区别

使用SSL/TLS进行通信

层次化的协议

TLS协议是由TLS记录协议和TLS握手协议两层协议叠加而成的

1616554382270

1616553591256

握手协议

1616555252974

  1. ClientHello(客户端->服务器)
    • 可用的版本号
    • 当前时间
    • 客户端随机数
    • 会话ID
    • 可用的密码套件清单
    • 可用的压缩方式清单
  2. SeverHello(客户端<-服务器)
    • 使用的版本号
    • 当前时间
    • 服务器随机数
    • 会话ID
    • 使用的密码套件
    • 使用的压缩方式
  3. Certificate(客户端<-服务器)
    • 证书清单
  4. SeverKeyExchange(客户端<-服务器)
  5. CertificateRequest(客户端<-服务器)
    • 服务器能够理解的证书类型清单
    • 服务器能够理解的认证机构名称清单
  6. SeverHelloDone(客户端<-服务器)
  7. Certificate(客户端->服务器)
  8. ClientKeyExchange(客户端->服务器)
    • 对称密码的密钥
    • 消息认证码的密码
    • 对称密码的CBC模式中使用的初始化向量IV
  9. CertificateVerify(客户端->服务器)
  10. ChangeCipherSpec(客户端->服务器)
  11. Finished(客户端->服务器)
  12. ChangeCipherSpec(客户端<-服务器)
  13. Finished(客户端<-服务器)
  14. 切换至应用数据协议
    • 客户端获得了服务器的合法公钥,完成了服务器认证
    • 服务器获得了客户端的合法公钥,完成了客户端认证(当需要客户端认证时)
    • 客户端和服务器生成了密码通信中使用的共享密钥
    • 客户端和服务器生成了消息认证码中使用的共享密钥

主密码

主密码是TLS客户端和服务器之间协商出来的一个秘密的数值。这个数值非常重要,TLS密码通信的机密性和数据的认证全部依靠这个数值。主密码是一个48bytes(384bits)的数值。

1616557653294

TLS中使用的密码技术小结

1616557848926

对SSl/TLS的攻击

标签:TLS,认证码,密码,SSL,服务器,客户端
来源: https://www.cnblogs.com/wj99/p/15007201.html