11.2 模型分析
经过SSL/TLS握手协议交互后,数据交互双方确定了本次会话使用的对称加密算法以及密钥,由此开始基于对称加密算法的加密数据交互。
握手协议较为复杂,我们将分析主要环节,阐述服务器端和客户端构建加密交互的相关流程。
11.2.1 协商算法
服务器端和客户端进行握手协议的第一阶段主要是协商算法,如图11-6所示。
图 11-6 对等协商加密算法
服务器端和客户端在进行握手协议第一阶段时主要是商榷加密算法,主要包含以下几个步骤:
1)客户端产生随机数RNC(Random Number Client),这个随机数将为后续构建密钥做准备。
2)客户端将自身支持的SSL信息(版本和种类)、算法信息和随机数RNC发送到服务器端。
3)服务器端得到客户端请求后,产生相应的随机数RNS(Random Number Server),这个随机数为后续构建密钥做准备。
4)服务器端将自身支持的SSL信息(版本和种类)、算法信息、随机数RNS和其他信息回应到客户端。其他信息包括服务器证书,甚至包含获取客户端证书的请求。
这时,服务器端和客户端已经确认两方交互时所使用的加密算法。