Entropy

在現實假設下不可洩露的共享秘密?

  • January 3, 2017

在以下假設下,兩個設備能否以某種方式共享一個公共秘密,使得在部署後破壞兩個設備之一的對手無法重建共享秘密

  1. 在部署之前,有一個安全的初始化階段,例如,預先建立的秘密儲存在兩個設備中
  2. 部署後,這兩個設備在物理上是分開的(可能相距幾英里/公里)並且無法相互通信(包括通過任何第三方)
  3. 在攻擊期間,目標設備離線(無法操作)幾分鐘
  4. 攻擊後,受感染的設備會洩露所有數據,因此,除其他外,所有秘密
  5. 兩種設備都沒有防篡改硬體,不允許在篡改時刪除秘密等。

由於假設,公共秘密必須是易變的,因此是不斷變化的數據。請注意,使用具有預先建立的秘密的 PRNG 是不夠的,因為攻擊者可以在設備妥協後重建 PRNG 流(具有預先建立的秘密)。

這個問題的一個可能的解決方案可能是使用熵源,它在兩個設備上產生相同的隨機數據並且具有非常高的吞吐量(可能是大氣雜訊或類似的?)。在部署之前,兩個設備都預先建立了一個秘密過濾器,允許它們在部署期間處理來自源的大量熵(例如,偵聽特定通道,對每個 X 位進行異或運算等)。在部署過程中,兩個設備都使用熵源和過濾器不斷推導出共同秘密。攻擊者可能會嘗試破壞設備、檢索秘密過濾器並重建公共共享秘密。然而,由於目標設備在攻擊期間離線一段時間(參見假設),

你知道是否存在提供這些屬性的熵源嗎?或者你知道這個問題的另一種解決方案嗎?

我認為這個需求的案例仍然需要一些澄清,因為它們似乎不合邏輯且自相矛盾。因此,我將回答您在上一段中提出的問題。 沒有。沒有可以滿足緩衝要求的熵源。

首先,如果不記錄熵源的輸出,就不可能開發和隨機測試熵源。如果記錄輸出,攻擊者可以記錄輸出。他們肯定能夠記錄你幾分鐘的攻擊時間。如果不儲存熵流並對其進行多次傳遞,就無法證明隨機性。換句話說,沒有純粹的流式測試。它們都需要一些儲存數據塊以進行多次傳遞,即使像 FIPS 140-2 這樣簡單的東西也使用 20,000 位的塊。沒有單一的數據可以證明隨機性,它需要組合,然後仔細評估組合機率。如果您對其進行了測試,則您進行了多次通過,然後您就記錄了它。

第二。不可能從任何實際的熵源(骰子除外)記錄相同的數據流。此功能對 TRNG 建構者有利,但對您不利。在工程術語中,熵源根本不產生任何熵。測量系統做到了,並且完全決定了它的質量和數量。打開你保留的舊模擬電視。你會看到靜態的。1% 的靜電是宇宙背景輻射形式的真實大氣雜訊。99% 是其他填充乙太的東西,一些是永久的,一些是短暫的。其中一些將從您的吹風機中本地化。有沒有聽說過電視演播室客人的手機與當地的手機信號塔簽到?如果你錄製一個-100dB的信號,會有很大比例的不可預測的外部雜訊。ANU 量子隨機數伺服器。開發人員特別提到了將真實熵信號與附帶的系統雜訊分離的難度。

第三。隨機性提取會將其全部吹出窗外。所有提取器都使用某種形式的散列。如果以 1024 * 768 位矩陣提取器的簡單範例為例,它需要 1024 位熵才能生成 768 個真正隨機位。如果您的兩個設備之間有一位不同(0.1%,這是虛擬測量的不可能),則 768 位隨機輸出將因雪崩效應而完全不同。除非發生了一些有趣的事情,否則沒有兩個 TRNG 可以產生類似的輸出。他們總是完全不同。

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