8.2
HTTPS的運(yùn)作方式
客戶端使用HTTPS方式與服務(wù)器通信的步驟
(1)客戶端發(fā)起HTTPS請(qǐng)求
(2)服務(wù)器收到客戶端請(qǐng)求后荐捻,會(huì)將網(wǎng)站的證書信息(證書中包含公鑰、證書的頒發(fā)機(jī)構(gòu)和過(guò)期時(shí)間等)傳送一份給客戶端处面。
(3)客戶端解析證書
首先會(huì)驗(yàn)證公鑰是否有效厂置,比如頒發(fā)機(jī)構(gòu)魂角,過(guò)期時(shí)間等等昵济,如果發(fā)現(xiàn)異常,則會(huì)彈出一個(gè)警告框访忿,提示證書存在問(wèn)題。如果證書沒(méi)有問(wèn)題斯稳,那么就生成一個(gè)隨機(jī)值海铆,然后用證書對(duì)該隨機(jī)值進(jìn)行加密。
(4)傳送加密信息
這部分傳送的是用證書加密后的隨機(jī)值卧斟,目的就是讓服務(wù)端得到這個(gè)隨機(jī)值,以后客戶端和服務(wù)端的通信就可以通過(guò)這個(gè)隨機(jī)值來(lái)進(jìn)行加密解密了珍语。
(5)服務(wù)段解密信息
服務(wù)端用私鑰解密后竖幔,得到了客戶端傳過(guò)來(lái)的隨機(jī)值(私鑰)募逞,然后把內(nèi)容通過(guò)該值進(jìn)行對(duì)稱加密饿幅。所謂對(duì)稱加密就是凡辱,將信息和私鑰通過(guò)某種算法混合在一起,這樣除非知道私鑰磕秤,不然無(wú)法獲取內(nèi)容乳乌,而正好客戶端和服務(wù)端都知道這個(gè)私鑰,所以只要加密算法夠彪悍市咆,私鑰夠復(fù)雜汉操,數(shù)據(jù)就夠安全。
(6)傳輸加密后的信息
這部分信息是服務(wù)段用私鑰加密后的信息蒙兰,可以在客戶端被還原磷瘤。
(7)客戶端解密信息
客戶端用之前生成的私鑰解密服務(wù)段傳過(guò)來(lái)的信息芒篷,于是獲取了解密后的內(nèi)容。整個(gè)過(guò)程第三方即使監(jiān)聽(tīng)到了數(shù)據(jù)采缚,也束手無(wú)策针炉。