https加密協議詳解(絕對詳細)


一張圖讀懂https加密協議

  https是一種加密傳輸協議,網站使用https后可以避免敏感信息被第三方獲取。所以我們經常看見很多銀行網站或電子郵箱等等安全級別較高的服務都會采用https協議,具體表現為,https開頭、顯示綠色安全鎖、某些瀏覽器地址欄變成綠色。那么具體https是怎么工作的呢?一張圖讀懂https加密協議。

 

 

  https加密協議簡介

  https其實是有兩部分組成:http + SSL / TLS,也就是在http上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸的數據都是加密后的數據。具體是如何進行加密,解密,驗證的,且看下圖。

 1. 客戶端發起https請求

  客戶端發起https請求就是指用戶在瀏覽器里輸入一個https網址,然后連接到server的443端口。

  2. 服務器端的配置

  采用https協議的服務器必須要有一套SSL數字證書,需要向CA組織(如WoSign沃通CA)申請。這套SSL證書其實就是一對公鑰和私鑰。如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然后發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。SSL證書是網站實現https加密協議的先決條件,可以向CA機構申請免費SSL證書,也可以付費購買高級別的SSL證書。目前沃通CA提供3年期免費SSL證書申請http://freessl.wosign.com。

  3. 傳送證書

  這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,證書過期時間等等。

  4. 客戶端解析證書

  這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。如果證書沒有問題,那么就生成一個隨機值。然后用證書對該隨機值進行加密。就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。

  5. 傳送加密信息

  這部分傳送的是用SSL證書加密后的隨機值,目的就是讓服務端得到這個隨機值,以后客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。

  6. 服務段解密信息

  服務端用私鑰解密后,得到了客戶端傳過來的隨機值(私鑰),然后把內容通過該值進行對稱加密。所謂對稱加密就是,將信息和私鑰通過某種算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密算法夠彪悍,私鑰夠復雜,數據就夠安全。

  7. 傳輸加密后的信息

  這部分信息是服務段用私鑰加密后的信息,可以在客戶端被還原。

  8. 客戶端解密信息

  客戶端用之前生成的私鑰解密服務段傳過來的信息,於是獲取了解密后的內容。整個過程第三方即使監聽到了數據,也束手無策。 

                       

關注公眾號: 了解java進階相關學習好文。

--------------------------------------------------------------------------

老鐵福利:

本公眾號是分享知識,共同學習、交流的平台,歡迎大家踴躍推薦,共同打造一個共建共享的平台!作為禮物: 回復以下文字可自動獲取相關資料:

回復:"高並發"可獲取 JAVA高並發秒殺系統實戰系列視頻
回復“jvm” 可獲取深入理解java虛擬機電子書以及全套視頻講解資料
回復“javase” 可獲取 java基礎相關的整理資料;
回復“html” 可獲取html+css+js 相關的整理資料;
回復“shm” 可獲取Struts+Hibernate+MyBatis相關的整理資料;
回復“數據庫” 可獲取數據庫相關知識整理資料;
回復"springcloud" 可獲取Spring Cloud微服務實戰電子書;
回復:"鳥哥" 可獲取鳥哥linux 私房菜相關的電子書;
更多的驚喜敬請期待!

微信掃一掃

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM