ECDHE_RSA验证
上一篇博客中对TLS1.2中对ECDHE_RSA再握手阶段的密钥协商进行了解释,但是考虑到没有实际验证,无法100%的保证理解的正确性,后来几天一直在想办法验证,今天终于验证成功,把验证过程在这里简单说一下。
首先使用wireshark对TLS1.2握手的数据包了抓取,如下图所示:
从图中可以看到Client Hello,Server Hello,Server Key Exchange等交互过程,ECDHE_RSA主要应用在Server Key Exchange的过程中,所以我们先看下这个包的内容:
从图中可看出,EC Diffie- Hellman 参数在这里出现,其中Pubkey就是DH密钥交换用到的参数,而Signature就是对这个Pubkey的保护,确认其来源的正确性,防止中间人攻击。
为了验证这个猜想,需要进行如下计算:
- 对Signature进行RSA加密(验签)得到摘要信息d1
- 计算Pubkey的SHA512摘要信息d2