SSL 体系结构
SSL不是简单的单个协议,是两层协议。
底层:SSL记录协议;上层:SSL握手协议、SSL修改密码规范协议、SSL警报协议
SSL的两个重要概念
?SSL连接(connection)
一个连接是一个提供一种合适类型服务的传输(OSI 分层的定义)。
SSL的连接是点对点的对等网络关系。
连接是暂时的,每一个连接和一个会话关联。
?SSL会话(session)
一个SSL会话是在客户与服务器之间的一个关联。
-- 会话由握手协议创建。会话定义了一组可供多个连接共享的密码安全参数。会话用以减少为每次连接提供新的安全参数所需昂贵的协商代价。
两个主要协议
SSL记录协议–建立在可靠的传输协议(如TCP)之上–它提供连接安全性,有两个特点?保密性,使用了对称加密算法?完整性,使用HMAC算法–用来封装高层的协议?SSL握手协议–客户和服务器之间相互认证–协商加密算法和密钥–它提供连接安全性,有三个特点?身份认证,至少对一方实现认证,也可以是双向认证;?协商得到的共享密钥是安全的,中间人不能够知道;
协商过程是可靠的。
SSL记录协议
SSL记录协议的操作
P400-401 最后得到的SSL记录格式见图17.4,其有效载荷见图17.5所示
SSL握手协议4个阶段
阶段1:建立安全协商。包括:客户建议的SSL协议低版本以及服务器支持的最高版本、服务器产生的随机数(防重放攻击)、会话ID、服务器从客户建议的密码算法中挑出一套、服务器从客户建议的压缩方法中挑出一个。
阶段2:服务器认证和密钥交换。包括:服务器发送自己的X.509证书,密钥交换,请求客户端的证书。
阶段3:客户端认证和密钥交换。包括:检查服务器提供的证书并发验证信息,发送自己证书(如服务器发请求的话),密钥交换。
阶段4:建立安全连接,结束握手协议。包括:客户端发送修改密码规范协议消息,把协商得到的密码组拷贝到当前连接的状态中,并用新的算法、密钥参数发送一个finished消息以验证密钥交换和认证过程的正确性。服务器也同样进行。