挺有意思的一篇文章,講了HTTPS是如何保證TCP/IP協(xié)議下數(shù)據(jù)傳輸?shù)陌踩浴?/p>
總結一下:
密鑰(key):加/解密數(shù)據(jù)的工具,一般通信雙方在未開始通信前只有一方有key。這導致密鑰必須與數(shù)據(jù)一同傳輸,增加了密鑰被“中間人”(中轉站)利用來窺伺數(shù)據(jù)的風險。
對稱加密算法(AES):用key加密的數(shù)據(jù)只能用key解密。AES耗時短,成本小,因而被挑選成為HTTPS保護機制的基礎技術。
非對稱加密算法(RSA):一對密鑰(key1,key2),用key1加密的數(shù)據(jù)只能用key2解密,反之亦然。
RSA的作用:加密AES所需的key。
HTTPS保護機制:假設A,B為通信雙方。A有key而B無key,想要安全地利用ARS技術進行數(shù)據(jù)傳輸,就必須保證通信前A和B都有key,因此就要用到ERS技術。首先,B生成k1,k2 。 然后,B把k1傳送到A。接著,A用key加密k1,傳送到B(傳送后A仍有key)。此時A和B都有key,就可以直接互相傳輸用key加密的數(shù)據(jù),不用捎上key了。