SSL通信过程
1、当客户机c连接服务器s时,它发送一个28字节的随机值 nc到服务器,
2、而s的回应是自己的随机值 ns,加上证书 certs。
3、客户机确认VkCA( < attrs, Eke, interval >,a ) = true, 并且确认当前时间处于有效时间区间interval。如果两个条件都满足,则就证明了服务器的身份。接着客户机生成一个随机的46字节的预主密钥(premaster secret)pms,并且发送cpms = Eke(pms)。
4、服务器恢复pms = Dkd(cpms)。
现在客户机和服务器都有了nc、ns和pms,它们可以算出共享的48字节的主控密钥(master secret) ms = H(nc, ns, pms)。只有服务器和客户机可以计算ms,因为只有它们知道pms。此外,ms对nc和ns的依赖确保了ms会是新鲜的。此时,客户机和服务器通过ms计算下列密钥:
- 对称加密密钥kcscrypt, 加密客户机到服务器的消息
- 对称加密密钥ksccrypt, 加密服务器到客户机的消息
- MAC生成密钥kcsmac, 用于生成客户机到