前邊說到用公鑰進行加密,只有擁有私鑰的人才能解密 。數字證書有點反過來:用私鑰進行加密,用公鑰進行解密 。CA用自己的私鑰對Bob的信息(包含Bob公鑰)進行加密,由于Alice無條件信任CA,所以已經提前知道CA的公鑰,當她收到Bob證書的時候,只要用CA的公鑰對Bob證書內容進行解密,發現能否成功解開(還需要校驗完整性),此時說明Bob就是Bob,那之后用證書里邊的Bob公鑰來走之前的流程,就解決了中間人欺騙這個問題了 。這種方式也是一種防抵賴的方式,讓對方把消息做一個數字簽名,只要我收到消息,用對方的公鑰成功解開校驗這個簽名,說明這個消息必然是對方發給我的,對方不可以抵賴這個行為,因為只有他才擁有做數字簽名的私鑰 。
CA其實是有多級關系,頂層有個根CA,只要他信任B,B信任C,C信任D,那我們基本就可以認為D是可信的 。
完整性 上邊基本上已經解決了保密性和認證,還有一個完整性沒有保障 。雖然Hacker還是看不懂內容,但是Hacker可以隨便篡改通信內容的幾個bit位,此時Bob解密看到的可能是很亂的內容,但是他也不知道這個畢竟是Alice真實發的內容,還是被別人偷偷改了的內容 。
單向Hash函數可以把輸入變成一個定長的輸出串,其特點就是無法從這個輸出還原回輸入內容,并且不同的輸入幾乎不可能產生相同的輸出,即便你要特意去找也非常難找到這樣的輸入(抗碰撞性),因此Alice只要將明文內容做一個Hash運算得到一個Hash值,并一起加密傳遞過去給Bob 。Hacker即便篡改了內容,Bob解密之后發現拿到的內容以及對應計算出來的Hash值與傳遞過來的不一致,說明這個包的完整性被破壞了 。
一次安全可靠的通信 總結一下,安全可靠的保障:
對稱加密以及非對稱加密來解決:保密性
數字簽名:認證、不可抵賴
單向Hash算法:完整性
來一張完整的圖:
https握手總結:
1. 客戶端發起HTTPS哀求
2. 服務端的配置
采用HTTPS協議的服務器必須要有一套數字證書,可以是自己制作或者CA證書 。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼承訪問,而使用CA證書則不會彈出提示頁面 。這套證書其實就是一對公鑰和私鑰 。公鑰給別人加密使用,私鑰給自己解密使用 。
3. 傳送證書
這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,過期時間等 。
4. 客戶端解析證書
這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等,假如發現異常,則會彈出一個警告框,提示證書存在問題 。假如證書沒有問題,那么就生成一個隨即值,然后用證書對該隨機值進行加密 。
5. 傳送加密信息
這部分傳送的是用證書加密后的隨機值,目的就是讓服務端得到這個隨機值,以后客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了 。
6. 服務段解密信息
服務端用私鑰解密后,得到了客戶端傳過來的隨機值(私鑰),然后把內容通過該值進行對稱加密 。所謂對稱加密就是,將信息和私鑰通過某種算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密算法夠彪悍,私鑰夠復雜,數據就夠安全 。
7. 傳輸加密后的信息
這部分信息是服務段用私鑰加密后的信息,可以在客戶端被還原 。
8. 客戶端解密信息
Powered byAd.Plus
客戶端用之前生成的私鑰解密服務段傳過來的信息,于是獲取了解密后的內容 。
- 想做個網站 怎樣做一個網站平臺
- 便宜的補水儀可信嗎
- 最好的網上購物網站:網上購物哪個平臺比較好?
- 櫻花動漫進不去,哪個網站可以免費看動漫?
- 在線免費觀看a:A站/B站大批電影被下架,還有什么好用的免費影視網站么?
- 頂級HIV約會網站 外國同性戀網站
- 買家電哪個網站好:要買電器,網上哪里最好?
- 買家電哪個網站好:為什么買家電都選京東和蘇寧,選天貓的比前兩者少很多?
- youtube官網為什么打不開,為什么國內沒有像YouTube一樣一家獨大的視頻網站?
- 虛擬短信,快速使用虛擬短信驗證碼接收平臺接收驗證碼方法?
