前言
Tor在建立虛電路以後,需要與路徑上的節點商量密鑰用於後續分組(packet)內容的多層加密。
使用對稱加密算法時,密鑰交換是個大難題,因此Tor採用的是Deffie-Hellman 密鑰交換算法
。
先對Deffie-Hellman 密鑰交換算法做了簡單介紹以及應用場景的介紹,然後介紹了該算法的原理,舉了一個例子進行說明。
1. 介紹
Deffie-Hellman 密鑰交換算法是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道創建起一個密鑰。這個密鑰可以在後續的通訊中作爲對稱密鑰來加密通訊內容。
– wikipedia
Deffie-Hellman 密鑰交換算法是一種密鑰交換算法。也就是說兩個節點可以通過該算法交換密鑰,但是後續的消息加密要用其他的算法來進行。
2. 原理與示例
Deffie-Hellman 密鑰交換算法基於一個數學難題:離散對數問題。簡單的說:
, 已知 ,求的話容易,直接代入計算即可。但如果要從反向推導出的話則很難。Deffie-Hellman 密鑰交換算法中,密鑰就是這裏的。
下面用一個例子來說明這個算法的原理和過程。
假設現在Alice和Bob在通信前需要交換密鑰,用於後續數據包的加密。
- 選取大素數,並公開
Alice: 選取大素數,公開
Bob: 選取大素數,公開
- 選取大隨機數,計算key
Alice:
- 選擇大隨機數, ,保密
- 計算: ,公開
Bob:
- 選擇大隨機數 , ,保密
- 計算:,公開
- 計算密鑰
Alice的密鑰:
Bob的密鑰:
4. 安全性分析
公開的:
保密的:
-
優點:
- 難以破解:Deffie-Hellman 密鑰交換算法的安全性依賴於計算離散對數的困難程度。對於攻擊者來說,知道 的情況下,難以破解出 ;同理 的破解也很困難,所以攻擊者難以求出 或。因此,該算法可以保證通信雙方在透明的信道中安全地交換密鑰。
-
缺點:
- 沒有身份驗證信息
- 拒絕服務
- 重放攻擊
- 中間人攻擊
5. 總結
儘管有一些缺點,但是由於該算法能在透明的信道中安全地交換密鑰,因此Tor網絡中需要交換密鑰的時候採用的是該算法。