握手协议执行过程
第一阶段
客户端向服务端发Hello信息,包含协议版本、随机数、会话ID、密码套件等信息;服务端向客户端发Hello信息,包含协议版本、随机数、会话ID、密码套件等信息。
第二阶段
服务器发证书给客户端;包含服务器自身相关证书、数字签名、参数等。
第三阶段
客户端发证书给服务端;包含客户端自身证书、签名、主密钥等。
第四阶段
客户端和服务端均根据主密钥生成各类密钥,如:消息鉴别密钥、分组加密初始向量IV、分组加密密钥等。
第五阶段
服务端和客户端分别发送握手协议结束申明。
问题
Q1:SSL提供怎样的安全性?
身份鉴别(当客户端有证书时)、传输加密、完整性保护、密钥交换。
可通过“SSL+口令”的方式来进行身份鉴别。
Q2:SSL使用DH密钥协商能否抵抗中间人攻击?
可以,因为此时发送的不仅有参数
g
,
p
,
g
x
g,p,g^x
g,p,gx,还有这些参数的签名。
Q3:SSL协议与数字信封(如PGP协议)的区别是什么?
数字信封每个包都要提供数字签名,以保证数据原发正确性。
SSL协议是一个以通信安全为主的协议,握手协议后,不再采用数字签名,理论上,服务端和客户端均可伪造发包。
Q4:SSL协议最大的安全威胁来自什么?
对客户端和服务端的木马入侵,密钥的安全性。