安全套接字層協議是用於伺服器之上的乙個加密系統,它可以確保在客戶端和服務端之間傳輸的資料是安全和加密的。要是伺服器和客戶端使用ssl進行安全通訊,伺服器必須有:
1、金鑰對(key pair),包含乙個公鑰和乙個私鑰,金鑰對用來對資訊進行加密和解密,以確保資料傳輸的安全。
2、證書(certificate),用來進行身份驗證或者確認。證書可以是自簽證書(為自己私有的web網路建立的證書),也可以是頒發證書(認證中心或者證書簽署者提供的證書)。
在客戶端和伺服器之間傳輸資料通過使用對稱演算法(如des或rc4)進行加密的。公鑰加密是一種使用一對不對稱金鑰進行加密和解密的技術。每對金鑰由乙個公鑰和乙個私鑰組成。當公鑰被廣泛分發時,它就變得公開了。私鑰從不分發;它始終是保密的。公用金鑰演算法(通常為 rsa)是用來獲得加密金鑰交換和數字簽名的,此演算法使用伺服器的ssl數字證書中的公用金鑰。有了伺服器的ssl數字證書,客戶端也可以驗證伺服器的身份。
ssl的工作原理其實就是伺服器端和客戶端的握手協商,在協商之後就可以使用ssl進行資料的交換:
1、客戶端傳送客戶端的資訊,包括客戶端支援的ssl 的版本、客戶端支援的密碼對和客戶端支援的資料壓縮方法,訊息中還有乙個28位的隨機數。
2、伺服器回覆乙個hello訊息,該訊息包括使用的密碼方法(密碼對)和由伺服器選擇的資料壓縮方法,以及會話標識和另乙個隨機數。
3、伺服器傳送它的ssl證書,如果需要對客戶端進行驗證(ssl 3.0版本開始支援客戶端驗證),客戶端也需要傳送數字證書請求訊息。
4、伺服器傳送完成訊息,等等客戶端響應。
5、當客戶端接收到伺服器端的完成訊息之後,客戶端會檢查伺服器端ssl數字證書的有效性。如果伺服器端需要驗證客戶端的身份,客戶端就會傳送其數字證書 給伺服器端,如果客戶端沒有對應的數字證書,就會彈出乙個警告的視窗,如果伺服器端強制客戶端的身份認證的話,客戶端沒有相應的證書的時候,伺服器就會結 束該會話。
6、客戶端傳送"客戶端金鑰交換"訊息,此訊息包含 pre-master secret (乙個用在對稱加密金鑰生成中的 46 位元組的隨機數字),和 訊息認證** ( mac )金鑰(用伺服器的公用金鑰加密的)。伺服器端對客戶端傳送的訊息進行驗證,沒有通過的話,那麼伺服器將結束此次會話。
7、客戶端發出"更改密碼規範" 訊息。
8、伺服器以自己的"更改密碼規範"和"已完成"訊息響應。
9、握手結束,伺服器端和客戶端可以進行加密通訊。
1、已認證,所有****得到保證。
2、可靠,訊息傳送使用訊息完整性檢查,確保傳送的資料的質量。
3、機密,訊息經過加密,在握手後定義金鑰,確保了第三方無法讀取訊息的內容。
使用ssl需要通訊雙方進行額外的工作,需要對資訊進行加密和解密,需要增加系統的開銷,從而使得使用ssl比不使用ssl的通訊慢。
SSL協議,安全套接層
講的好ssl協議位於 tcp ip協議與各種 應用層協議之間,為 資料通訊提供安全支援。ssl協議可分為兩層 ssl記錄協議 ssl record protocol 它建立在可靠的 傳輸協議 如tcp 之上,為高層協議提供 資料封裝 壓縮 加密等基本功能的支援。ssl 握手協議 ssl handsh...
SSL(安全套接字協議)工作原理最通俗解釋!
ssl 安全套接字協議 工作原理最通俗解釋!代名詞 a 客戶端 b 伺服器 盒子b 伺服器擁有的已開啟的盒子,也就是b的公鑰 盒子a 客戶端擁有的已開啟的盒子,也就是a的公鑰 鑰匙b 伺服器開啟已上鎖的盒子b時的鑰匙,也就是b的私鑰 鑰匙a 客戶端開啟已上鎖的盒子a時的鑰匙,也就是a的私鑰 ssl基...
運輸層安全協議SSL
目錄ssl 作用在端系統應用層的 http 和運輸層之間,在 tcp 之上建立起乙個安全通道,為通過 tcp 傳輸的應用層資料提供安全保障。應用層使用 ssl 最多的就是 http,但 ssl 並非僅用於 http,而是可用於任何應用層的協議。應用程式 http 呼叫 ssl 對整個網頁進行加密時,...