HTTPS是什麼意思(HTTP協議內容)
HTTPS協議是啥?有何特點?
HTTPS是一種通過計算機網路進行安全通訊的傳輸協議,經由HTTP進行通訊,利用SSL/TLS(傳輸加密協議)建立安全通道,加密資料包。HTTPS使用的主要目的是提供對網站伺服器的身份認證,同時保護交換資料的隱私和完整性。HTTPS的特點包含以下幾個方面:
① 內容加密:採用混合加密技術,通訊報文全部為密文,即使抓包進行分析也很難進行破解。
② 驗證身份:服務端和客戶端進行雙向認證時,雙方通過數字證書認證機制相互校驗對方的身份是否合法。
③ 保護資料完整性:通訊過程中,採用簽名機制,防止傳輸內容被中間人冒充和篡改。
HTTPS與HTTP協議的區別?
1、HTTP協議通過明文進行傳輸,可以通過抓包技術檢視傳輸的內容。
2、HTTP連線很簡單,是無狀態的。
3、HTTPS協議是安全加密傳輸協議,使用前提,需要到合法的數字證書頒發機構申請證書才能應用。
4、HTTP和HTTPS使用的是完全不同的連線方式,HTTPS連線建立時會進行SSL握手、證書驗證、加密金鑰協商等過程。二者使用的埠也不一樣,網站建設中,前者一般常用80埠,後者是一般常用443埠。
HTTPS協議是如何加密的?
在談到如何加密之前,我們先來了解下常用的加密技術,常用的加密技術有對稱加密、非對稱加密。對稱加密中,加密和解密使用的金鑰是同一個;非對稱加密中,有一個金鑰對的概念,金鑰對包含一個公鑰,一個私鑰。通常用公鑰進行加密、私鑰進行解密。有人會問,為啥不用私鑰加密,公鑰解密?這個問題可以這樣回答,在非對稱加密中私鑰加密一般稱作“簽名”,公鑰解密一般稱作“驗籤”,為啥是這樣,我在以後的文章中會陸續介紹基於PKI數字證書認證體系相關的知識,有興趣的朋友可以加關注。
好了言歸正傳,我們回過頭來看看HTTPS協議是如何進行通訊的,通訊過程中又是如何加密的?HTTPS是安全通訊協議,通訊過程是在SSL(Secure Sockets Layer)協議 HTTP協議的基礎上完成的,HTTPS相比HTTP協議,多了一個SSL安全通道建立的過程,SSL的過程包含身份認證、祕鑰協商、通訊加密3個重要的子過程。下面分別逐一介紹這幾個過程。
1.身份認證
身份認證分為單向認證和雙向認證兩種場景,單向認證是指客戶端與伺服器端通訊過程中,客戶端只校驗服務端的身份;雙向認證是指客戶端即校驗服務端的身份、服務端也校驗客戶端的身份。上面提到了身份校驗,有人會問到身份校驗是如何實現的呢?讓我來告訴你,身份認證就是證書驗證的過程,在上面提到的單向認證場景中,服務端會將自己的證書(你可以理解為身份證,由合法的證書頒發機構生成的根證書籤發)傳送給客戶端,客戶端拿到服務端的證書後,通過內建的根證書來驗證其簽名是否正確、有效性等。
2.祕鑰協商
身份認證完成後,接下來就是祕鑰協商的過程了,祕鑰協商的過程比較複雜,涉及到密碼學和演算法相關的知識,這裡不再詳細介紹了,大家瞭解即可。祕鑰協商的目的是為了協商出來一個臨時會話祕鑰,這個祕鑰作為本次通訊報文的加密金鑰。
3. 通訊加密
祕鑰協商完成後,下面的過程就是對通訊的報文進行加密,加密採取對稱加密的方式,加密演算法由客戶端和服務端共同協商完成,服務端會把自己支援的加密演算法傳送給客戶端,客戶端在這些加密演算法中找出自己所支援的一個演算法進行加解密。
上面的講解中提到了證書這個東西,什麼是證書?證書怎麼來?怎麼簽發?又是如何應用?都是由PKI體系來完成的,涉及到這一塊的知識,我後面的文章會陸續分享給大家。