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