美文网首页
HTTPS 双向加密过程分析

HTTPS 双向加密过程分析

作者: linanwx | 来源:发表于2018-03-26 21:42 被阅读0次

    HTTPS认证过程:

    • ① 浏览器发送一个连接请求给安全服务器。

    • ② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

    • ③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。

    • ④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

    • ⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。

    • ⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

    • ⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。

    • ⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

    • ⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。

    • ⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

    上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有 CA 证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的 (这并不影响 SSL 过程的安全性)密码方案。这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密 的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用128 位加密通讯的原因。

    相关文章

      网友评论

          本文标题:HTTPS 双向加密过程分析

          本文链接:https://www.haomeiwen.com/subject/qvhjqftx.html