Authenticated-Encryption

如果兩台主機使用透明 IP 級別的身份驗證和加密,它們的通信是否會受到 MITM 或重放攻擊?

  • April 25, 2020

對指定“遠端 IP”的任何傳出數據包的加密過程:

-原始有效載荷P使用RC4和預先建立的密鑰加密(IP頭之後的字節)KEY以獲得加密的有效載荷C=RC4(P, KEY)

  • 加密後的payload C與16字節的輸出串接,MD5(C|KEY)IP頭相應調整(增加包總長度,重新計算校驗和),使傳出的包有payloadC | MD5(C|KEY)和目的地“遠端IP”

來自指定“遠端 IP”的任何傳入數據包的解密過程:

-使用相同的給定“密鑰”檢查數據包有效負載以進行 MD5 身份驗證具體而言,將接收到的數據包有效負載(IP 標頭之後的那些字節)分為兩部分 C,其中 A 是數據包有效負載的最後 16 個字節,C是其餘的。

-如果MD5(C|KEY) == A, 用 RC4 解密 C 得到 P=RC4(C, KEY), 將傳入包的有效載荷由 C|A 改為 P, 並相應調整 IP 頭(減小包總長度, 重新計算校驗和) 使傳入包為在發送到接收程序之前恢復到其原始形式,無需密鑰 md5 身份驗證

1)重放攻擊可能嗎?

是的。例如,如果 Alice 想告訴 Bob “付給 Eve 100美元”,那麼
P = "Pay Eve $100"

C = RC4(P, KEY)

Packet = IP(C | MD5(C|KEY) )

通過擷取和回放,Eve 可以讓 Bob一次又一次Packet地付給她100美元。

  1. 中間人攻擊可能嗎?

更具體地說,“是否有可能截獲消息並冒充至少一方?攻擊者是否有可能通過破壞加密將自己置於發送者和接收者之間?”

這個問題比較複雜。簡而言之,這取決於。

如果攻擊者獲得了 RC4 的明文/密文對(通過加密 oracle 或解密 oracle),他只需使用 P xor C 即可找到密鑰流。RC4 密鑰重建攻擊可用於查找 MD5 密鑰。然後,攻擊者可以充當完整的 MITM,攔截和查看消息,並在傳遞消息之前選擇性地對其進行修改。

我也對那個 MAC 結構感到不舒服,所以我會在那個問題上回复你。

引用自:https://crypto.stackexchange.com/questions/80280