Algorithm-Design

ML 可以用來克服密碼學嗎

  • November 8, 2022

我最近看到了一些關於採用 ML 技術來克服為確保網路安全而實施的密碼學的論文(例如 Encrypted DNS –> Privacy? A Traffic Analysis Perspective)。網路數據包具有固定的形式,每個部分的可能性有限,可以用作邊通道。我想知道克服密碼學和 ML 方法的一些緩解措施的主要挑戰是什麼(即哪種密碼學方案或算法對抗 ML 策略)。

我不需要破壞整個算法。我需要在現實中為網路數據包中的加密找到一些側通道。由於密碼學,一些網路數據包沒有流量級別的保護,因此,攻擊者可以查看內容。我可以將該數據包視為一個向量<IP,Protocol,…,data>。如果其中一些是加密的,我是否可以使用具有足夠訓練集的 ML 策略來提取我想知道的特徵(即輸入密碼並輸出協議)。

原則上,對稱密碼設計者的目標是不應該有比優化好的蠻力搜尋更快的算法來解決密碼(經典和量子,蠻力搜尋的量子等價通常被認為是格羅弗的算法)。如果實現了這個目標,那麼假設機器學習不能提供捷徑攻擊或幫助找到這樣的攻擊,僅僅是因為不存在這樣的攻擊。在這種情況下,機器學習可能做的最好的事情是幫助強力求解器的設計者從他們願意投資的能源/矽/開發工作中榨取最大的性能。這種幫助可能仍然非常有用對於試圖執行處於可行性邊緣的攻擊的攻擊者,但它不會產生工作因素 $ \approx 2^{127} $ 攻擊(即破壞 AES)進入他們的範圍。

然而,對於實際相關的密碼原語,目前沒有證據表明不存在有效的算法中斷。我們所擁有的是:

  • 在假設所有組件都是安全的或某些本身不是加密的計算問題(例如整數分解)很難的情況下,證明加密方案在特定安全要求方面是安全的,
  • 證明某些攻擊策略不起作用(例如,沒有針對超過n輪密碼X的有用的單軌線性區分器)
  • 強烈的啟發式論證,這些策略的簡單擴展不起作用(例如,在馬爾可夫假設下,沒有任何類型的針對密碼X的微分區分器),
  • 非常熟練的密碼學家試圖使用他們可用的所有技術(包括 ML)來破解有問題的原語,並且只在縮減版本上成功,並留下一些安全餘量。

ML 技術可以用作密碼分析員可以使用的眾多工具之一,以幫助找出密碼部分的安全屬性。目前,在密碼分析中最流行的 ML 方式是針對小塊密碼的一部分學習類似微分的區分符。在那個函式中,ML 方法肯定發現了意想不到的東西。然而,從產生的區分符建構最先進的攻擊仍然需要大量的密碼分析專業知識。最近的一個例子是來自 Asiacrypt 2022 的這篇論文

當然,AI/ML 方法也可以用來破解密碼實現,而不是分析底層算法。例如,神經網路在利用加密實現的側通道洩漏方面取得了巨大成功。這些攻擊基本上利用了這樣一個事實,即執行加密算法的電路將作為其操作的副產品消耗功率或發出電磁輻射甚至聲音,並且計算的這些物理副作用攜帶有關已處理秘密的資訊。使用足夠靈敏的測量設備和巧妙的處理(這就是神經網路的用武之地),這實際上可以破壞真正的密碼實現。然而,再一次,最先進的攻擊仍然需要分析人員非常重要的專業知識。

有很多關於針對這些攻擊的對策的文獻。這些對策並非專門針對基於 AI 的攻擊而設計,而是試圖阻止任何對危害放射的利用。已知的對策肯定可以有效地對抗範圍廣泛的現實攻擊者,但這是有代價的。降低成本是一個非常活躍的研究領域。

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