HTTPS是為了確保網(wǎng)絡(luò)上服務(wù)器和客戶端通信安全所采取的一種安全機制,那么在安全要求較高的互聯(lián)網(wǎng)通信場景中有哪些不安全因素呢?
孟連ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
被客戶端請求的服務(wù)器端是否是值得被信任的,如在網(wǎng)上登陸支付寶或其他銀行網(wǎng)頁進行付款操作,此時我們一定要確定這個網(wǎng)站是官方的且是安全的。這一塊兒由數(shù)字證書以非對稱加密來實現(xiàn)認證,下面詳述。
通信過程中是否是安全的,而不是***偽裝服務(wù)器端進行的。這時需要一個密鑰和一個對稱加密算法來進行保障。
初次客戶端對服務(wù)器端進行身份認證時怎么確認服務(wù)器端確實是證書里提到的那個。此處使用非對稱加密算法如RCA實現(xiàn),下面是詳述。
好了,了解了這些后進入正題,首先給出一個數(shù)字證書的構(gòu)成如下:
HTTPS實現(xiàn)過程(客戶端以C代指,服務(wù)器端以S代指):
S發(fā)起請求到C;
S收到后將證書發(fā)送給C;
C會按照證書中提到的證書頒發(fā)機構(gòu)在本地計算機上尋找該機構(gòu)是否是被信任的,如果是被信任的則按照本地計算機上記錄的證書頒發(fā)機構(gòu)的公鑰對證書中的指紋和指紋算法進行解密,并按照指紋算法對證書中的明文進行計算,最后將得到的指紋和證書中所帶指紋進行比對,一致則證明該公司是被證書頒發(fā)機構(gòu)認證安全的;
之后C隨機生成一個字串并計算其hash值,然后只將字串明文發(fā)送給S;
S收到后計算字串hash值并以自己的私鑰對該hash值進行加密,然后將其發(fā)回給C;
C收到后以公鑰進行解密得到一個hash值,和第四步得到的hash值比較,相同則表明該公司確實是證書中所提到的公司;
確認完后C會生成一個密鑰和一個對稱加密算法,將其以證書中的公鑰加密后發(fā)送給S;
S收到后用自己的私鑰解密得到該加密算法和密鑰,以后S和C的通信就靠這個密鑰和加密算法完成。至此HTTPS通信過程完成。
注:以上過程提到的有兩個非對稱加密和一個對稱加密,注意區(qū)分。詳情參照http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html