https是如何保證安全的
過程比較複雜,我們得先理解兩個概念
對稱加密:即通訊的雙方都使用同乙個秘鑰進行加解密,比如特務對暗號(天王蓋地虎,小雞燉蘑菇),這就屬於對稱加密
非對稱加密:
私鑰 + 公鑰 = 金鑰對
即用私鑰加密的資料,只有對應的公鑰才能解決,用公鑰加密的資料,只有對應的私鑰才能解密
因為通訊雙方的手裡都會有一套自己的金鑰對,通訊之前會把自己這邊的公鑰傳送給對方
然後再拿著對方傳送過來的公鑰對資料進行加密傳送給對方,對方再用私鑰對公鑰進行解密
如git中 遠端倉庫就要儲存自己本地的公鑰
非對稱加雖然安全性更高,但是帶來的問題就是會相對的較慢,影響效能。
解決方案:
那麼結合兩種加密方式,將對稱加密的秘鑰使用非對稱加密的公鑰進行加密,然後發出去,接收方使用私鑰進行解密得到對稱加密的秘鑰,然後雙方就可以使用對稱加密來進行溝通。
此時就又帶了乙個問題,中間人的安全問題:
如果此時有乙個圖謀不軌的中間人,存在於客戶端和服務端之間,這個中間人只需要將原本雙方通訊**的公鑰換成自己的公鑰,這樣中間人就可以輕鬆解密通訊雙方所傳送的資料。
所以這個時候就需要乙個安全的第三方頒發證書(ca),證明身份的身份,防止被中間人攻擊。
證書中包括:簽發者、證書用途、使用者公鑰、使用者私鑰、使用者的hash演算法、證書到期時間等。
但是這個圖謀不軌的中間人篡改了這個證書,那麼我們的證書豈不是就沒有用了嗎?這個時候就需要乙個新的技術,數字簽名。
數字簽名就是用ca自帶的hash演算法對證書的內容進行hash得到乙個摘要,再用ca的私鑰加密,最終組成數字簽名。
當別人把他的證書發過來的時候,我在用同樣的hash演算法,再次生成訊息摘要,然後用ca的公鑰對數字簽名解密,得到ca建立的訊息摘要,兩者一比,就知道中間有沒有被人篡改了。
這個時候就能最大程度保證通訊的安全了。
HTTPS 是如何保證安全的?
每當我們討論到資訊保安的時候,我們最長接觸到的資訊加密傳輸的方式莫過於 https 了,當我們瀏覽器位址列閃現出綠色時,就代表著這個 支援 https 的加密資訊傳輸方式,並且你與它的連線確實被加密了。但是 https 並不是乙個單一的東西,它知識我們常見的 http 協議和某個加密協議的乙個混合,...
Https是如何保證安全的
https 全稱 hypertext transfer protocol over secure socket layer 是以安全為目標的http通道,簡單講是http的安全版。即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl,簡單點也是https http ...
HTTPS 是如何保證安全的?
每當我們討論到資訊保安的時候,我們最長接觸到的資訊加密傳輸的方式莫過於 https 了,當我們瀏覽器位址列閃現出綠色時,就代表著這個 支援 https 的加密資訊傳輸方式,並且你與它的連線確實被加密了。但是 https 並不是乙個單一的東西,它知識我們常見的 http 協議和某個加密協議的乙個混合,...