有單向、雙向、三向3種認證方式,前兩者必須檢查時間戳以防重放攻擊,單向因為只有一個消息傳遞,如果僅靠一次性隨機數是無法判斷消息是否重放。雙向有兩個消息傳遞,一來一回,僅靠一次性隨機數只能檢測到發響應那方的重放。最后者則不必,可僅通過一次性隨機數檢測自己是否遭遇重放攻擊,因為接收第二個消息的那方,通過判斷第二個消息中隨機數是否等于自己先前已發送第一個消息中的那個,若不等于則為重放,若等于則發第三個確認消息給對方,對方收到并判斷確認消息中的隨機數是否等于先前它已發送第二個消息中的隨機數,若等于則說明第它收到的第一個消息的確是另一方發送的即非重放,否則為重放。因此三向認證可不必同步雙方時鐘。但正因為不強制檢查時間戳而可能導致
中間人攻擊:假設通信雙方為A、B,中間人為C,攻擊步驟如下
1. C與B認證時,發送先前已截獲的A到B請求消息給B
2. 截獲并存儲B到A的響應消息x,但不轉發,開始與A認證
3. 收到A的請求消息后,解密x取出其中的隨機數Rb作為響應給A消息中的隨機數,用自己私鑰簽署整個消息后發給A
4. 收到并轉發A的確認消息給B
以上完成后,C就能冒充A與B通信了。一種簡單的改進方法是先用對方的公鑰加密消息中的隨機數,再用自己的私鑰簽署整個消息。關于網絡協議的安全性分析,主流方法是形式化分析,可以借助相關工具來驗證找出漏洞
posted on 2023-09-30 08:00
春秋十二月 閱讀(436)
評論(0) 編輯 收藏 引用 所屬分類:
Network