挺有意思的一篇文章森篷,講了HTTPS是如何保證TCP/IP協(xié)議下數(shù)據(jù)傳輸?shù)陌踩浴?/p>
總結(jié)一下:
密鑰(key):加/解密數(shù)據(jù)的工具,一般通信雙方在未開始通信前只有一方有key熔恢。這導(dǎo)致密鑰必須與數(shù)據(jù)一同傳輸蚣旱,增加了密鑰被“中間人”(中轉(zhuǎn)站)利用來(lái)窺伺數(shù)據(jù)的風(fēng)險(xiǎn)艺演。
對(duì)稱加密算法(AES):用key加密的數(shù)據(jù)只能用key解密实牡。AES耗時(shí)短,成本小荞雏,因而被挑選成為HTTPS保護(hù)機(jī)制的基礎(chǔ)技術(shù)虐秦。
非對(duì)稱加密算法(RSA):一對(duì)密鑰(key1,key2),用key1加密的數(shù)據(jù)只能用key2解密,反之亦然凤优。
RSA的作用:加密AES所需的key悦陋。
HTTPS保護(hù)機(jī)制:假設(shè)A,B為通信雙方。A有key而B無(wú)key,想要安全地利用ARS技術(shù)進(jìn)行數(shù)據(jù)傳輸筑辨,就必須保證通信前A和B都有key俺驶,因此就要用到ERS技術(shù)。首先棍辕,B生成k1,k2 暮现。 然后,B把k1傳送到A楚昭。接著栖袋,A用key加密k1,傳送到B(傳送后A仍有key)。此時(shí)A和B都有key,就可以直接互相傳輸用key加密的數(shù)據(jù)抚太,不用捎上key了塘幅。