ssl协议是基于TCP协议,用于保证WEB通信安全的协议。
ssl协议可以分为ssl握手协议和ssl记录协议,它位于应用层协议和TCP层之间。它能够为不论什么基于TCP等可靠连接的应用层协议提供安全性保证。
在ssl协议中使用了非对称加密技术用于ssl握手是验证身份;在压缩完成的分组数据后端加入散列函数计算的哈希值,传输完成后取出压缩的分组数据,对尾部数据进行散列,然后对比,以此来确定数据的完整性;在数据的传输过程中使用了对称加密算法来保证数据的加密性。
ssl握手包含两种握手方式,单向握手和双向握手。通信双方为服务端(Server)和客户端(Client),发起连接请求的为客户端。
ssl单向握手过程:
ssl双向握手过程:主要是增加了对客户端的验证。
第一阶段中加入了第4步的客户端身份验证。这里可看出是否对客户端进行验证是由服务端决定的。
第二阶段中增加了第7步,客户端发送公钥证书及公钥证书链,让服务器可以验证客户端的正确性。第8步中增加私钥签名会话信息,服务器用客户端公钥验证会话的正确性。