您好,登錄后才能下訂單哦!
HTTPS是為了確保網(wǎng)絡(luò)上服務(wù)器和客戶端通信安全所采取的一種安全機(jī)制,那么在安全要求較高的互聯(lián)網(wǎng)通信場景中有哪些不安全因素呢?
被客戶端請求的服務(wù)器端是否是值得被信任的,如在網(wǎng)上登陸支付寶或其他銀行網(wǎng)頁進(jìn)行付款操作,此時我們一定要確定這個網(wǎng)站是官方的且是安全的。這一塊兒由數(shù)字證書以非對稱加密來實(shí)現(xiàn)認(rèn)證,下面詳述。
通信過程中是否是安全的,而不是***偽裝服務(wù)器端進(jìn)行的。這時需要一個密鑰和一個對稱加密算法來進(jìn)行保障。
初次客戶端對服務(wù)器端進(jìn)行身份認(rèn)證時怎么確認(rèn)服務(wù)器端確實(shí)是證書里提到的那個。此處使用非對稱加密算法如RCA實(shí)現(xiàn),下面是詳述。
好了,了解了這些后進(jìn)入正題,首先給出一個數(shù)字證書的構(gòu)成如下:
HTTPS實(shí)現(xiàn)過程(客戶端以C代指,服務(wù)器端以S代指):
S發(fā)起請求到C;
S收到后將證書發(fā)送給C;
C會按照證書中提到的證書頒發(fā)機(jī)構(gòu)在本地計算機(jī)上尋找該機(jī)構(gòu)是否是被信任的,如果是被信任的則按照本地計算機(jī)上記錄的證書頒發(fā)機(jī)構(gòu)的公鑰對證書中的指紋和指紋算法進(jìn)行解密,并按照指紋算法對證書中的明文進(jìn)行計算,最后將得到的指紋和證書中所帶指紋進(jìn)行比對,一致則證明該公司是被證書頒發(fā)機(jī)構(gòu)認(rèn)證安全的;
之后C隨機(jī)生成一個字串并計算其hash值,然后只將字串明文發(fā)送給S;
S收到后計算字串hash值并以自己的私鑰對該hash值進(jìn)行加密,然后將其發(fā)回給C;
C收到后以公鑰進(jìn)行解密得到一個hash值,和第四步得到的hash值比較,相同則表明該公司確實(shí)是證書中所提到的公司;
確認(rèn)完后C會生成一個密鑰和一個對稱加密算法,將其以證書中的公鑰加密后發(fā)送給S;
S收到后用自己的私鑰解密得到該加密算法和密鑰,以后S和C的通信就靠這個密鑰和加密算法完成。至此HTTPS通信過程完成。
注:以上過程提到的有兩個非對稱加密和一個對稱加密,注意區(qū)分。詳情參照http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。