1. 程式人生 > >http與https區別及https是如何保障安全性

http與https區別及https是如何保障安全性

區別:
1、加密:http協議對傳輸的資料不進行加密;https協議對傳輸的資料使用SSL安全協議進行加密,https加密需要CA簽發的證書。 
2、埠:http協議使用TCP的80埠;https協議使用TCP的443埠 
3、網路分層模型:http可以明確是位於應用層;https是在http的基礎上加上了SSL安全協議,而SSL是運輸層協議,所以https是應用層和傳輸層的結合(我不同意網上將https粗暴地歸為運輸層的說法)

https如何保障安全
https使用SSL安全協議來保障安全性。具體體現在金鑰和證書驗證上。 
金鑰: 
1、服務端生成一對公鑰和私鑰,將公鑰和證書傳送給客戶端; 
2、客戶端驗證證書通過後生成一個對稱加密的金鑰,並使用伺服器生成的公鑰加密,傳送給伺服器; 
3、伺服器使用私鑰解密獲得對稱加密金鑰。 
4、客戶端和伺服器相互發送訊息認可對稱加密金鑰,至此加密通道建立。 
5、開始資料傳輸,在檢驗資料完整性的基礎上,使用對稱加密金鑰進行加密解密。 
證書驗證: 
一般來說瀏覽器都內建了權威CA的根證書,客戶端使用根證書的金鑰對伺服器發來的證書進行解密驗證,若域名、有效期、簽發機關等驗證項符合則通過,否則認定證書無效,斷開連線。