一、ssl握手有三個目的:
1. 客戶端與伺服器需要就一組用於保護資料的演算法達成一致;
2. 它們需要確立一組由那些演算法所使用的加密金鑰;
3. 握手還可以選擇對客戶端進行認證。 )。
5. 客戶端將所有握手訊息的mac值傳送給伺服器;
6. 伺服器將所有握手訊息的mac值傳送給客戶端。
第5與第6步用以防止握手本身遭受篡改。設想乙個攻擊者想要控制客戶端與伺服器所使用的演算法。客戶端提供多種演算法的情況相當常見,某些強度弱而某些強度強,以便能夠與僅支援弱強度演算法的伺服器進行通訊。攻擊者可以刪除客戶端在第1步所提供的所有高強度演算法,於是就迫使伺服器選擇一種弱強度的演算法。第5步與第6步的mac交換就能阻止這種攻擊,因為客戶端的mac是根據原始訊息計算得出的,而伺服器的mac是根據攻擊者修改過的訊息計算得出的,這樣經過檢查就會發現不匹配。由於客戶端與伺服器所提供的隨機數為金鑰產生過程的輸入,所以握手不會受到重放攻擊的影響。這些訊息是首個在新的加密演算法與金鑰下加密的訊息。
3.1 記錄頭訊息:
記錄頭資訊的工作就是為接收實現(receiving implementation)提供對記錄進行解釋所必需的資訊。在實際應用中,它是指三種資訊:內容型別、長度和ssl版本。長度字段可以讓接收方知道他要從線路上這取多少位元組才能對訊息進行處理,版本號只是一項確保每一方使用所磋商的版本的冗餘性檢查。內容型別字段表示訊息型別。
摘錄自《ssl與tls》
SSL 握手過程
出處 一 ssl握手有三個目的 1.客戶端與伺服器需要就一組用於 保護資料的演算法達成一致 2.它們需要確立一組由那些演算法所使用的 加密金鑰 3.握手還可以選擇 對客戶端進行認證。三 ssl記錄協議 3.1 記錄頭訊息 記錄頭資訊的工作就是為接收實現 receiving implementatio...
SSL握手過程
一 ssl握手有三個目的 1.客戶端與伺服器需要就一組用於保護資料的演算法達成一致 2.它們需要確立一組由那些演算法所使用的加密金鑰 3.握手還可以選擇對客戶端進行認證。三 ssl記錄協議 3.1 記錄頭訊息 記錄頭資訊的工作就是為接收實現 receiving implementation 提供對記...
SSL握手過程
一 ssl握手有三個目的 1.客戶端與伺服器需要就一組用於保護資料的演算法達成一致 2.它們需要確立一組由那些演算法所使用的加密金鑰 3.握手還可以選擇對客戶端進行認證。三 ssl記錄協議 3.1 記錄頭訊息 記錄頭資訊的工作就是為接收實現 receiving implementation 提供對記...