SSL/TLS学习(六)

       为了减少B持有的公钥数量,不得不再引入一对**。(为了减少**而增加**。。。(lll¬ω¬)。。。)

       而且,这一对**必须是B所信任的第三方D所持有,同时B也需要持有D的公钥。A为了和B通信,必须要让D用D的私钥加密A的公钥。这个过程发生在A与B通信之前,并且只需要一次。以后A和B的通信,D就不用介入了。SSL/TLS学习(六)
        A和B的通信过程如下。
        SSL/TLS学习(六)
        这种通信方式的好处在于可以减少B持有的公钥数量。
        比如:有A1,A2,A3......A100,共100台服务器需要和B进行通信,按照从前的做法,B需要持有A1,A2,A3......A100共100个公钥,才能与这100台服务器通信。而在这个新的过程中,B只需要持有一个D的公钥。A1,A2,A3......A100都需要把自己的公钥用D的私钥加密,这样B就可以用唯一的D的公钥解密,得到所有的A1,A2,A3......A100的100个公钥。然后,用解密获得的这100个公钥,分别与A1,A2,A3......A100这100台服务器通信。
        这种通信方式也可以有效地防御中间人模式的攻击。

        假设攻击者通过替换加密公钥的方式进行攻击,B就会因为无法解密公钥而终止通信。

SSL/TLS学习(六)

        假设中间人不替换加密公钥,想通过直接转发公钥,然后窃取或者替换密码,也同样是不可能的。

SSL/TLS学习(六)