https:給應用程式披上安全的防護罩。
https加密流程:
rsa:非對稱的加密演算法,僅存在理論上破解的可能
http在沒有加密的情況下,相當於明文傳輸,很容易被黑客擷取資料
對稱加密是客戶端和服務端都有乙個金鑰k,客戶端和服務端有一對函式,可以對資料進行加密和解密。傳送的x就是加密後的資料。
黑客不知道金鑰的情況下是無法進行解密的,但是服務端不可能為每個客戶端都儲存乙個k,那樣資料太大了。但是如果所有客戶端都只用乙個k,就更不行了,那樣黑客直接當成客戶端就可以得到k了,完全沒有了作用。
非對稱加密:服務端有著公鑰和私鑰,當客戶端去請求服務端時,服務端返回乙個公鑰給客戶端,客戶端將資料用公鑰加密,只有私鑰可以加密,傳送至服務端,服務端進行解密。**但是服務端如何將資料傳送至客戶端呢,**首先,不能用公鑰加密,應為客戶端沒有私鑰,無法解密。如果用私鑰加密呢?但是黑客也可以拿到這個公鑰,還是會被黑客獲取資料。
公鑰加密,私鑰解密;私鑰加密,公鑰解密。
上面的對稱加密與非對稱加密都有缺點,對稱加密無法保證每個客戶端都有乙個獨一無二的金鑰;非對稱加密從客戶端傳至服務端的用公鑰加密的資料是安全的,因為服務端乙個私鑰可以解密。但是無法從服務端安全的傳送資料到客戶端,因為公鑰是每個客戶端都可以獲取的。
對稱加密+非對稱加密:先從服務端獲取公鑰,生成乙個隨機數,經過公鑰加密,傳送至服務端經私鑰解密。此時兩端都知道次隨機數,因此可以將此隨機數作為對稱加密的金鑰,這樣黑客無法獲取到隨機數,也就沒辦法解密資料了。
但是對稱加密+非對稱加密,黑客還可以通過 當 中間人,進行獲取使用者資訊:客戶端向服務端請求公鑰的時候,就已經被黑客劫持,此時返回的是黑客的公鑰,同時黑客自己再去請求服務端的公鑰,同樣的,客戶端的隨機數,也會被用自己的私鑰解密,同時可以向服務端傳送乙個隨機數來作為回頭對稱加密的金鑰,此時,客戶端請求資料,然後在得到服務端的資料,否是通過黑客這個中間人的過濾了,黑客可以從中得到自己想要的資訊。
對稱加密+非對稱加密存在中間人問題。又有了ca
ca機構認證的公鑰才是好公鑰,ca機構認證的公鑰基本上已經全部儲存在了客戶端(很多很多),因此當黑客想要當中間人的時候,這時候返回的公鑰,客戶端並沒有,此時就會給瀏覽器返回證書不安全,這是可以避免黑客當中間人的威脅了。
此時客戶端請求服務端,服務端會返回經過ca機構的專門私鑰加密(**簽名)**的公鑰,返回給客戶端,客戶端再驗證是否是安全的公鑰(驗籤)。此時在進行傳輸隨機數,確定對稱加密的金鑰。
在客戶端與服務端確認對稱加密的金鑰時的經過:
首先會向伺服器傳送經過公鑰加密 支援的ssl(套接字加密)版本、支援的非對稱演算法、隨機數1;
服務端返回:用對應ssl版本、對稱演算法、隨機數2、證書;
客戶端證書認證,生成隨機數3、用hash雜湊演算法將1,2步驟的全部資訊雜湊整理傳送到服務端,
服務端解密後將隨機數1,2,3通過特殊的演算法合成金鑰k,同時將1,2,4通過hash雜湊演算法雜湊整理傳送至客戶端,
客戶端再解密整理得到隨機數生成的k。
之後進行對稱演算法。
對稱演算法+非對稱演算法+hash雜湊演算法+ca安全證書。
我對https的理解
談談你對https的理解:
說到https,就不得不說一下http協議,http協議進行請求和響應時,是以明文進行的。這樣就會很容易被一些有心人,給攔截資料。所以產生了https;
https就是http協議+對稱演算法+非對稱演算法+hash雜湊演算法+ca安全證書;
https又稱為套接字加密為ssl加密。什麼是ssl dai 了解。
先說一下用了https後的網路請求是什麼樣的:
使用者對乙個伺服器傳送https請求,伺服器會返回乙個ca證書和乙個公鑰,這個ca證書在瀏覽器本地一般都有儲存,會驗證這個ca證書是否可用。同時才會使用這個公鑰加密瀏覽器端產生的乙個隨機數,公鑰只有私鑰才可以解密,所以只能是傳送這個公鑰的伺服器才可以解密。這樣 客戶端傳送的資料 就不會被有心人給攔截了。然後服務端再利用接收到的 隨機數(被hash雜湊演算法處理過) 用來 當作接下來對稱演算法的金鑰。接下來客戶端和伺服器就可以開始安全的資料傳遞了。
參考:free-coder的https講解
一次學會https 如何加密
Https加密過程
http 直接通過明文在瀏覽器和伺服器之間傳遞資訊。https 採用 對稱加密 和 非對稱加密 結合的方式來保護瀏覽器和服務端之間的通訊安全。對稱加密 加密和解密都是同乙個金鑰。非對稱加密 金鑰成對出現,分為公鑰和私鑰,公鑰和私鑰之間不能互相推導,公鑰加密需要私鑰解密,私鑰加密需要公鑰解密。瀏覽器使...
Https加密過程
https加密 http 直接通過明文在瀏覽器和伺服器之間傳遞資訊。https 採用 對稱加密 和 非對稱加密 結合的方式來保護瀏覽器和服務端之間的通訊安全。對稱加密 對稱加密 加密和解密都是同乙個金鑰。非對稱加密 非對稱加密 金鑰成對出現,分為公鑰和私鑰,公鑰和私鑰之間不能互相推導,公鑰加密需要私...
HTTPS加密過程
為什麼需要加密 因為htpp的內容都是明文傳輸的,明文資料會經過中間 伺服器 路由器等多個物理節點,如果資訊在傳輸過程中被劫持,傳輸的內容就完全暴露了,所以我們需要對資訊進行加密 使用對稱加密 首先來了解一下對稱加密 對稱加密就是傳送方和接收方都使用同乙個金鑰,那麼我們可以使用對稱加密技術對我們傳輸...