借鑑:
公鑰:鑰匙是公開的(全世界知道都沒關係)
私鑰:鑰匙則是保密的(只有自己本人才知道)
可能出現的問題:金鑰在傳輸過程中被擷取了就和明文一樣了
問題:安全性比對稱加密高,但是效率比對稱加密低的多
處理方式:伺服器把公鑰傳給客戶端,客戶端利用公鑰生成金鑰(對稱加密用的),然後使用公鑰加密金鑰傳給伺服器,伺服器再利用公鑰解密得到金鑰
公鑰三次作用:
利用公鑰生成金鑰
使用公鑰加密金鑰
使用公鑰解密得到金鑰
存在的問題:
對稱加密會不安全的原因是客戶端不知道這把公鑰是否是伺服器的,因此,我們需要找到一種策略來證明這把公鑰就是伺服器的,而不是別人冒充的。
我們需要找到乙個擁有公信力、大家都認可的認證中心(ca)。
伺服器在給客戶端傳輸公鑰的過程中,會把公鑰以及伺服器的個人資訊通過hash演算法生成資訊摘要。如圖:
為了防止資訊摘要被人調換,伺服器還會用ca提供的私鑰對資訊摘要進行加密來形成數字簽名。如圖:
並且,最後還會把原來沒hash演算法之前的個人資訊以及公鑰 和 數字簽名合併在一起,形成數字證書。如圖
當客戶端拿到這份數字證書之後,就會用ca提供的公鑰來對數字證書裡面的數字簽名進行解密來得到資訊摘要,然後對數字證書裡伺服器的公鑰以及個人資訊進行hash得到另外乙份資訊摘要。最後把兩份資訊摘要進行對比,如果一樣,則證明這個人是伺服器,否則就不是。如圖:
這樣,就可以保證伺服器的公鑰安全著交給客戶端了。
其實,(有些)伺服器一開始就向認證中心申請了這些證書了(有沒有看過沒有證書的**在位址列會被標出警告?),而客戶端是,也會內建這些證書。如圖:
當客戶端收到伺服器傳輸過來的資料數字證書時,就會在內建的證書列表裡,檢視是否有解開該數字證書的公鑰,如果有則…,如果沒有則…
https加密傳輸詳解
https採用對稱加密與非對稱加密的混合加密方式 混合加密方式原理 1.服務端將非對稱加密的公鑰傳送給客戶端 2.客戶端拿著服務端發來的公鑰,對對稱加密的key做加密並發給服務端 3.服務端拿著自己的私鑰對發來的密文解密,從來獲取到對稱加密的key 4.二者利用對稱加密的key對需要傳輸的訊息做加解...
https進行加密傳輸
ssl握手協議的過程 握手階段分成以下五步 第一步,客戶端給出協議版本號 乙個客戶端生成的隨機數 client random 以及客戶端支援的加密方法。第二步,伺服器確認雙方使用的加密方法,並給出數字證書 以及乙個伺服器生成的隨機數 server random 第三步,客戶端確認數字證書有效,然後生...
HTTPS加密傳輸過程
https全稱hyper text transfer protocol over securesocket layer,是以安全為目標的http通道,在http的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性。https在http的基礎下加入ssl層,https的安全基礎是ssl,因此加密的詳細...