Adversarial-Model

被動和主動對手的能力是什麼?

  • February 18, 2021

我很難理解被動和主動對手在紙上和現實世界中的確切能力。

這取決於實際情況。在加密貨幣中,我們傾向於將被動對手(夏娃)視為可以監聽兩方(愛麗絲和鮑勃)之間發送的所有通信的人。因此,您根據對手的“力量”創建了一個安全目標。如果 Eve 所做的只是監聽通信,那麼 Alice 和 Bob 需要確保 Eve 無法理解她閱讀的任何內容。在現實世界中,這是一個非常現實的威脅。例如,假設我們都坐在有公共 WiFi 的咖啡館裡。如果我控製網路或主動嗅探數據包(例如 Wireshark),我可以讀取您與您正在訪問/瀏覽的網站的所有通信。所以,自然的目標是阻止我理解你在交流什麼。自然的答案是強加密。

一個重要的問題是,“強到什麼程度才足夠強?” 答案很複雜,已經讓位於幾個不同程度的強度。大多數安全模型都被描述為您與對手之間的博弈。一種這樣的模型是選擇純文字攻擊。也就是說,假設對手 Eve 獲得了對黑盒解密算法的預言機訪問權限。也就是說,她可以要求加密 $ m_1,…,m_k $ 對於一些合理的數量 $ k $ 獲取密文 $ c_1,…,c_k. $ . 然後對手選擇兩條消息 $ m_0^,m_1^ $ 並給定隨機均勻選擇的兩條消息之一的加密 $ c_b $ 在哪裡 $ b\in{0,1} $ . 如果對手可以正確猜測 $ b=0 $ 或者 $ b=1 $ 大於 $ 1/2 $ 機率,則對手獲勝。

現在假設允許 Eve 更改傳輸中的消息。也就是說,假設你登錄美國銀行,你欠我100美元。如果我是馬洛里(給積極對手的名字),我可以在傳輸過程中翻轉一些資訊,並希望我的改變使金額更大。或者更糟的是,我可以扔掉你的資訊並註入我自己的資訊!現在你從付給我100美元變成了1000 美元。我們當然想阻止這種情況。

這就是消息驗證碼發揮作用的地方。我們希望能夠“簽署”我們的資訊,以便其他人可以確定它們來自我們而不是馬洛里。在實踐中,如果我看到您發送消息,您希望作為消息一部分的此簽名(通常稱為對稱算法的標籤)是所謂的存在不可偽造的。也就是說,即使你截獲了一堆我的消息,看到一堆標籤,你也永遠無法生成有效的消息和標籤對。該模型通常被描述為無法區分拒絕每條消息和標籤組合的算法與實際使用消息身份驗證程式碼的算法的對手。結合這兩種協議,在理論上,您將獲得經過身份驗證的加密,您可以確定它不僅是 Alice 的消息,而且即使是 Mallory 也無法讀取它。如果 Mallory 試圖更改它,該消息將被拒絕。

在實踐中,很多事情都可能出錯。僅僅因為我在黑板上寫了一個理論上安全的密碼並不意味著對手無能為力!軟體工程師以自欺欺人而聞名,並且總是存在向後可比性的問題。你可以寫整本書來說明實現加密的難度。那是因為我們的模型假裝電腦是備份箱——事實證明它們不是。幾乎所有你能想到的密碼都有記錄在案的攻擊,這些密碼利用了電腦發出的聲音、執行時間和電腦消耗的功率。您還可以執行協議降級攻擊,迫使受害者使用損壞的加密(基本上過去幾年中關於 TLS 的所有攻擊都使用這種攻擊)。

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