如果要理解https協議,那麼有必要知道http協議是什麼;因為https可以認為是更安全的http協議,就是在http連線過程中,利用ssl/tls建立全通道對資料進行加密。http協議有很多的不足,比如使用明文通訊,不進行加密;不會驗證通訊雙方的身份,可能會遇到偽裝;不會驗證報文是否完整,是的請求響應的報文時經過篡改的。 ### https通訊過程 在講述通訊過程之前,我們需要理解幾個相關的概念以幫助我們更好的理解通訊過程。
在理解通訊過程前,我們需要準確的理解幾個概念,這對於幫助我們理解https的通訊過程,有著極大的幫助。
加密方式
金鑰:可以理解為加密過程中的演算法的引數。
對稱金鑰加密(共享金鑰加密):傳送和接收資料的雙方必須用相同的金鑰對明文進行加密和解密運算,在此過程中只涉及到一把金鑰。這就要求在資料傳送時對方需要知道金鑰是什麼,需要考慮怎樣把共享金鑰安全的傳送給對方。
非對稱式金鑰加密:與對稱式金鑰不同的是,這個過程涉及到兩把金鑰,分別是公鑰和私鑰,公鑰用來加密,私鑰用來解密,這兩者是成對存在的,私鑰無法解密其他公鑰加密的資料。資料接收方將公鑰傳送給資料傳送方,傳送方用此公鑰對資料進行加密,然後將資料回傳給接收方,接收方可以用自己手裡的私鑰解密資料,從而獲得資訊,這個過程中,即使資料被第三方獲得,因為沒有相應的私鑰對資料進行解密,也無法獲得資料內容。
優缺點比較:對稱加密速度快,加密解密方式較為簡單,適合對大量資料加密,但是維護金鑰困難,在與n個資料方通訊時,需要維護n對金鑰;非對稱加密雖然較為安全,但是加密解密速度慢得多。
混合加密:所以人們研究了混合加密,將對稱式加密與非對稱式加密混合起來使用。過程是資料傳送方生成一對非對稱式金鑰,將公鑰傳送給資料接收方,接收方生成對稱式加密金鑰,將此金鑰用公鑰進行加密,然後傳送給傳送方,這樣就保證了共享金鑰不被洩露,也保留了加密解密速度快的優勢。
通訊過程
可簡單的通過下面的理解方式
1、客戶端向服務端傳送訊息請求建立連線。
2、服務段返回證書,裡面包括伺服器的公鑰和一些其他資訊。
3、客戶端會進行通過證書驗證這個公鑰是否為伺服器的,如果證書通過了檢查,則客戶端會驗證資料接收方是否為伺服器。它會將乙個字串傳送給伺服器,伺服器用自己的私鑰將字串加密。並傳送給客戶端,客戶端用公鑰將字串解密,與自己傳送前的字串進行比較,如果一致則認定對方確實為伺服器。
4、驗證身份後,客戶端對將自己的對稱加密演算法用公鑰加密傳送給伺服器,因為只有伺服器有私鑰,即使資料被截獲,也不會被洩露。
非對稱式加密中,如果在傳送公鑰的過程中公鑰被替換,那麼資料還是會被洩露。所以有了數字證書機構 ca(certificate authority),數字證書可以保證公鑰與伺服器是相匹配的。
數字證書結構組成:
證書發布機構
證書有效日期
公鑰證書所有者
簽名所使用的演算法
指紋以及指紋演算法
https是http協議的安全版本,http協議的資料傳輸是明文的,是不安全的,https使用了ssl/tls協議進行了加密處理。 http和https使用連線方式不同,預設埠也不一樣,http是80,https是443。
HTTPS協議簡介
https是hypertext transfer protocol secure,即超文字傳輸安全協議,是 超文字傳輸 和ssl的組合,用以提供加密通訊及對網路伺服器身份的鑑定。簡單地說,https是http的公升級版!與http的主要區別是 https使用https 代替http https使用埠...
HTTPS協議簡介
一 https簡介 的安全搜尋,缺省會將 請求跳轉成 本文重點介紹 協議,並簡單介紹部署全站 的意義。https可以認為是 目前大部分 web 應用和 都是使用 協議傳輸的。tls是傳輸層加密協議,它的前身是 ssl協議,最早由 netscape 公司於1995 年發布,1999 年經過ietf 討...
https協議 什麼是HTTPS協議?
在我們平常上網的時候我經常接觸的 應該大部分都是 或者我們知道讓他是乙個超文字傳輸協議。那麼https是個什麼?雖然http和這個https兩者只差乙個s,但是本質是大不相同的,他們是兩種不同的網路傳輸協議。千萬不要搞混淆了。http協議通過請求 響應的方式,在客戶端和服務端之間進行通訊。這一切看起...