http:直接通過明文在瀏覽器和伺服器之間傳遞資訊。
https:採用 對稱加密 和 非對稱加密 結合的方式來保護瀏覽器和服務端之間的通訊安全。
對稱加密:加密和解密都是同乙個金鑰。
非對稱加密:金鑰成對出現,分為公鑰和私鑰,公鑰和私鑰之間不能互相推導,公鑰加密需要私鑰解密,私鑰加密需要公鑰解密。
瀏覽器使用https
的url
訪問伺服器,建立ssl
鏈結。
伺服器接收到ssl
鏈結後,傳送非對稱加密的公鑰a給瀏覽器。
瀏覽器生成隨機數,作為對稱加密的金鑰b。
瀏覽器使用伺服器返回的公鑰a,對自己生成的對稱加密金鑰b進行加密,得到金鑰c。
瀏覽器將金鑰c傳送給伺服器
伺服器使用自己的私鑰d對接受的金鑰c進行解密,得到對稱加密金鑰b。
瀏覽器和伺服器之間使用金鑰b作為對稱加密金鑰進行通訊。
通過上面的流程瀏覽器和伺服器之間共享乙個對稱加密金鑰b,而且不會被人監聽和攔截到,之後的訊息傳遞,使用金鑰b進行對稱加密。
優點:非對稱加密只使用了一次,後續所有的通訊訊息都是用對稱加密,效率比非對稱加密高。
非對稱加密的缺點
當伺服器傳送公鑰給客戶端,中間人截獲公鑰,將中間人自己的公鑰冒充伺服器的公鑰傳送給客戶端。
之後客戶端會用中間人的的公鑰來加密自己生成的對稱金鑰。然後把加密的金鑰傳送給伺服器,這時中間人又把金鑰擷取,中間人用自己的私鑰把加密的金鑰進行解密,解密後中間人就能獲取對稱加密的金鑰。
注意:非對稱加密之所以不安全,因為客戶端不知道這把公鑰是不是屬於伺服器的。
證書內容:
簽發者證書用途
公鑰加密演算法
hash演算法
證書到期時間
伺服器在給客戶端傳輸公鑰的過程中,會把公鑰和伺服器的個人信 息通過hash演算法生成資訊摘要。
為了防止資訊摘要被調換,伺服器會採用ca提供的私鑰對資訊摘要進行加密來形成陣列簽名。
最後會把原來沒hash演算法之前的個人資訊、公鑰及、數字簽名合併在一起,形成數字證書。
客戶端拿到數字證書之後,使用ca提供的公鑰對數字證書裡的數字簽名進行解密來得到資訊摘要,然後對數字證書裡伺服器的公鑰及個人資訊進行hash得到另乙份資訊摘要。
最後將兩份資訊摘要對比, 如果一樣則證明是伺服器,否則就是中間人。
常見:證書中包含了host資訊,假如客戶端正在訪問的host和證書中的host不一樣,瀏覽器會發出警告。
伺服器一開始向認證中心申請證書,客戶端也內建這些證書。
當客戶端收到伺服器傳輸過來的資料數字證書時,就會在內建的證書列表裡,檢視是否有解開該數字證書的公鑰,如果有則認證,如果沒有則不認證。
Https加密過程
https加密 http 直接通過明文在瀏覽器和伺服器之間傳遞資訊。https 採用 對稱加密 和 非對稱加密 結合的方式來保護瀏覽器和服務端之間的通訊安全。對稱加密 對稱加密 加密和解密都是同乙個金鑰。非對稱加密 非對稱加密 金鑰成對出現,分為公鑰和私鑰,公鑰和私鑰之間不能互相推導,公鑰加密需要私...
HTTPS加密過程
為什麼需要加密 因為htpp的內容都是明文傳輸的,明文資料會經過中間 伺服器 路由器等多個物理節點,如果資訊在傳輸過程中被劫持,傳輸的內容就完全暴露了,所以我們需要對資訊進行加密 使用對稱加密 首先來了解一下對稱加密 對稱加密就是傳送方和接收方都使用同乙個金鑰,那麼我們可以使用對稱加密技術對我們傳輸...
https加密過程複習
https 給應用程式披上安全的防護罩。https加密流程 rsa 非對稱的加密演算法,僅存在理論上破解的可能 http在沒有加密的情況下,相當於明文傳輸,很容易被黑客擷取資料 對稱加密是客戶端和服務端都有乙個金鑰k,客戶端和服務端有一對函式,可以對資料進行加密和解密。傳送的x就是加密後的資料。黑客...