HTTPS如何保證數據安全?講得很細!
雖然現(xiàn)在許多網站都會用到HTTP傳輸協(xié)議和HTTPS協(xié)議,但是大家極力倡導使用的卻是更為安全的HTTPS,今天我們就來了解一下HTTPS是如何保證數據傳輸的安全性的。前文 HTTPS如何保證數據安全性(一)中詳細的介紹了HTTP的缺點、HTTPS如何保證數據安全性、HTTPS對稱加密和非對稱加密等詳細信息。本文接著上文詳細講解了HTTPS的請求過程、如何防止數字證書被篡改、單雙向認證等詳細的通信過程。
一、HTTPS的請求過程
在上面我們簡單介紹了一下HTTPS和數字證書,但是它們是如何來解決HTTP中存在的數據竊聽、數據篡改、身份偽造問題的呢?
上圖是HTTPS簡單的請求模型,使用這個模型可以完美的解決上面提到的三個問題點。
在第一次請求時,客戶端先去請求服務端的數字證書,并且生成一個隨機數R1,將隨機數和自己支持的加密算法告訴服務端。
服務端收到客戶端的請求后,選擇雙方共同支持的加密算法,并且生成新的隨機數R2,將服務器的數字證書及加密算法、隨機數一并返回給客戶端。
客戶端收到服務端的數字證書,然后使用瀏覽器內置的CA證書進行解密獲取到證書中的服務端的公鑰及服務端的認證信息,從而確保證書沒有被人篡改過。然后生成新的隨機數R3,使用服務端的公鑰對隨機數R3進行加密后返回給服務端并將隨機數R1、R2、R3組合成一串密鑰用作對稱加密用。
服務端收到客戶端加密后的隨機數R3,使用自己的私鑰對密文進行解密獲取到隨機數R3,組合R1、R2、R3獲取到一串密鑰(和客戶端一致);然后開始使用對稱加密進行通信。
上述就是HTTPS對密鑰協(xié)商的過程,由于非對稱加密一方密匙加密后只能使用另一方密匙解密,所以在前兩次數據傳輸中即使被竊聽也不怕,因為在第三次傳遞隨機數R3時是使用公鑰加密的,只有服務端的私鑰才能解密,從而確保密鑰的安全性。
二、如何防止數字證書被篡改
在上面的請求模型中,如何防止客戶端返回的數字證書被篡改呢?
我們在申請數字證書時,會提供我們的基本信息以及企業(yè)域名信息等,證書頒發(fā)機構CA會根據證書中的這些信息以及所提供的簽名算法對內容進行摘要,得到一個消息摘要(散列hash串),即使用Hash算法獲取到的一個唯一標識,然后CA機構會使用自己的私鑰對摘要進行加密,獲取到一個密文,即數字簽名,也叫做指紋;表示其唯一性。然后證書頒發(fā)機構對整個明文數字證書使用證書頒發(fā)機構CA自己的私鑰進行加密,得到數字證書。
當數字證書中的內容被篡改時,使用Hash算法對內容進行計算獲取到新的摘要,只需要對比一下兩個摘要是否相同即可知道證書中的數據知否有被篡改。
當客戶端請求數據從瀏覽器端獲取到數字證書后,通過瀏覽器內置的CA證書中的公鑰對數字證書進行解密,獲取到明文數字證書(包含企業(yè)基本信息及服務端公鑰以及數字簽名),通過如上圖所示方式來判斷證書是否有被篡改。
三、單雙向認證
在上面的例子中,客戶端請求服務端獲取證書信息進行認證,這個就是單向認證,只是客戶端認證服務端,但是服務端并沒有認證客戶端的請求。HTTPS支持單向認證,也支持雙向認證。
雙向認證的情況通常比較少見,常見于銀行等領域,就像我們以前使用銀行的U盾,這就是一種雙向認證案例,還有就是在電腦上安裝支付寶的證書等;雙向認證比單向認證更加安全,但是需要對每一個客戶端都進行分配證書。
查看技術文章和免費咨詢技術問題可以訪問成都億佰特電子科技有限公司官網及各官方平臺:
微信號:cdebyte
今日頭條:億佰特
新浪微博:成都億佰特
7 X 24 銷售服務熱線
4000-330-990深圳辦事處柯經理:18218726658 無錫辦事處劉經理:13558641933
成都總部銷售經理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設備):19138800613
胡兵(外貿銷售經理):18584911141、 sales06@ebyte.com
業(yè)務郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權所有】 蜀ICP備13019384號