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