簡述HTTPS(二):混合加密機制


一、對稱加密

加密和解密同用一個密鑰的方式就叫對稱加密,也稱為共享密鑰加密
例如:A和B是進行通信的雙方
假設A手握一把密鑰 key1,那么A需要克隆一把相同的密鑰 key1'
在第一次通信中,A將報文連同 key1'一起發送給B
此后:A和B則分別使用 key1、key1' 分別對接收/發送的報文進行解密/加密

對稱密鑰加密的優點在於:
加密算法公開、計算量小、加密速度快
缺點在於:
1、轉發密鑰的通信若被監聽,則密鑰可能落入攻擊者之手
2、通信雙方需要使用其他人不知道的密鑰,這會使得雙方持有的鑰匙數量巨大,難以管理和維護

二、非對稱加密

通信雙方使用一把私有密鑰和一把公開密鑰,也稱為公開密鑰加密

顧名思義:任何人都可以獲得公開密鑰,但私有密鑰不能讓其他人知道

例如:B希望自己發送給A的報文被加密
假設A手握公鑰 key2 和私鑰 key2'
首先,A將報文主體連同 key2 一起發送給B
此后,B向A發送的報文都將使用 key2 加密
而被 key2 上鎖的報文 只有A手上的 key2' 才能解密

同理:當A想要回復B時,正好相反
此時A就使用B的公鑰對數據進行加密
而B就用自己的私鑰進行解密

非對稱加密很好地解決了對稱加密的問題:
它消除了通信雙方交換密鑰的需要,進一步保證了通信的安全性
然而,非對稱加密的加密解密速度非常慢,算法復雜
HTTPS采用的混合加密機制 則充分利用了兩者的優勢

三、混合加密機制

在交換密鑰的環節使用非對稱加密,之后的通信則使用對稱加密
例如:A手握一對非對稱密鑰(公鑰key3、私鑰key3'),B手握一對對稱密鑰(key4、key4')

階段1:交換密鑰-使用非對稱加密

1、A將公鑰 key3 發送給B
2、B將下一階段加密/解密用的 key4' 放在報文中,並使用公鑰 key3 對報文進行加密
3、A使用私鑰 key3' 解密報文,得到 key4'

階段2:數據通信-使用對稱加密

A和B分別使用 key4' 和 key4對接收/發送的報文進行解密/加密


一方面,第一階段的非對稱加密 保證了對稱密鑰的安全性
另一方面,第二階段的對稱加密 可以提高加密/解密處理的速度,提高數據傳輸的效率


然而,這種混合加密機制還是存在一些問題
那就是:無法證明第一階段派發的公鑰 是貨真價實的公鑰
解決方式:請看 簡述HTTPS(三):數字證書


免責聲明!

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



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