OTR 和 Signal 協議有什麼區別?
Signal Protocol 是一種相對較新的安全消息傳遞協議,最近在 Signal、WhatsApp 和其他幾個消息傳遞應用程序中實施。根據維基百科,Signal 協議是 OTR 協議的演變(https://otr.cypherpunks.ca/otr-wpes.pdf)。
Signal 的主要新功能之一是它允許非同步消息傳遞(即兩個參與者不必同時線上)。
這些協議之間的其他重要區別是什麼?有沒有比 Signal 更適合 OTR 的情況?
Signal協議可以分為三個階段。最初的密鑰交換稱為 X3DH(擴展三重 Diffie-Hellman),它結合了長期中期和短暫的 Diffie-Hellman 密鑰來生成一個公共根密鑰。• 使用者交替發送臨時密鑰以生成為協議提供前向保密性的鏈密鑰的棘輪階段。
一個棘輪階段,其中密鑰生成函式用於從鏈密鑰生成對稱密鑰。
X3DH 協議使用預密鑰的概念來允許發送非同步消息。
Bob 首先向伺服器發送他生成的一組密鑰,其中包含。
OTR 協議旨在提供完美的前向保密和可否認性。可否認性是指有關各方可以驗證消息的真實性,但不能向第三方證明。將分析 OTR v3 協議。最初,OTR 假設網路將以正確的順序發送數據包,但某些數據包也會失去。為了讓 Alice 與 Bob 通信,她必須通知他她希望使用 OTR。這可以通過向 Bob 發送 OTR 查詢消息或通過在他將發送給 Bob 的消息之一中包含由空格字元組成的特殊標籤來完成。當 Bob 收到消息時,他將啟動 Authenticated Key Exchange。SIGMA 協議的一個變體被用作 AKE。
查看 Whisper Systems 關於OTR 的三重棘輪與 Signal 的雙棘輪的博文。此外,之前有關同步與非同步消息傳遞的文章值得一讀。這兩個都應該回答你所有的問題。