握手協定

握手協定

握手協定是指主要用來讓客戶端及伺服器確認彼此的身份的一類網路協定。除此之外,為了保護SSL記錄封包中傳送的數據,握手協定還能協助雙方選擇連線時所使用的加密算法、MAC算法及相關密鑰。在傳送應用程式的數據前,必須使用 握手協定來完成上述事項。

基本介紹

  • 中文名:握手協定
  • 外文名:handshake protocol
  • 作用:讓客戶端及伺服器確認彼此的身份
  • 類型:四段握手協定、兩段握手協定
  • 套用:網路安全
  • 學科:計算機科學
訊息組成,類型,工作過程,

訊息組成

握手協定由一些客戶與伺服器交換的訊息所構成,每一個訊息都含有以下三個欄位。
(1)類型(type),1個位元組:表示訊息的類型,總共有十種
(2)長度(length),3個位元組:訊息的位組長度。
(3)內容(content),大於或等於1個位元組,與此訊息有關的參數。

類型

握手協定定義異步模組在通信時的接口信號時序,保證異步電路各個組件之間數據流動並且不發生衝突的一種機制。主要包括兩類:四段握手協定(Four-Phase)和兩段握手協定(Two-Phase)。
四段握手協定是基於電平的,只有高電平表示控制信號的請求和應答,因此控制信號有歸零的動作。四段握手協定因此也被稱為歸零(Return-to-Zero,RTZ)握手協定,歸零信號也被稱為“電平信號”。這裡的“四段”(Four-Phase)是指通信動作的次數:①傳送端準備好數據後會將請求信號置高;②接收端接收數據後將應答信號置高;③傳送端將請求信號置低作為回響(此時數據可以不再保持有效);④接收端通過將應答信號置低來做出應答。此時,傳送端就可以開始下一個通信周期。四段握手協定的缺點是多餘的歸零翻轉造成了不必要的時間和能量的損耗。
兩段握手協定是基於事件的,控制信號的請求和應答通過上升沿或者下降沿來表示。兩段握手協定中,請求和應答信號使用信號線上的電平翻轉沿來進行編碼。在這種編碼中的。0→1和1→0翻轉是沒有區別的,它們都代表一次信號事件。理想情況下,兩段握手協定應該比四段握手協定電路速度更快,但是由於不同問題所對應的電路往往複雜多變,因此不能簡單地說哪種協定是最好的。

工作過程

握手協定在客戶和伺服器進程之間協商它們在安全信道中要使用的安全參數,這些參數包括要採用的協定版本、加密算法和密鑰。另外客戶要認證伺服器,伺服器則可以選擇認證或不認證客戶。握手協定工作過程如下:
(1)客戶端傳送Client Hello報文給伺服器端,伺服器回答Server Hello。這個過程協商的安全參數包括協定版本、加密算法和壓縮方法。
(2)伺服器端傳送Certificate報文傳送數字證書公鑰。如果伺服器端被認證,它就會請求客戶端的證書,在驗證以後,伺服器端就傳送Hello Done訊息,表示雙方握手接通。
(3)伺服器端請求客戶端證書時,客戶端要返回證書或返回沒有證書的指示。然後客戶端傳送密鑰交換報文,改變加密規範協定報文和Encrypted Handshake報文,表示客戶端握手訊息交換已經完成。傳送改變加密規範協定報文的作用是允許使用已經協商的加密算法和加密密鑰。
(4)伺服器此時要返回改變加密規範協定報文和Encrypted Handshake報文,以示完整的握手訊息交換已經全部完成。
(5)握手協定完成後,客戶端即可與伺服器端傳輸套用加密數據,套用數據加密一般是用第①步密鑰協商時確定的對稱加密密鑰,如DES、3DE等。非對稱密鑰一般為RSA,用於數字證書的驗證。

相關詞條

熱門詞條

聯絡我們