隱私保護聚合方案的安全模型。
假設 $ S=(E,D) $ 是一種加法同態加密方案。現在我想設計一個協議 $ P $ 這樣給定的輸入 $ x_1,x_2,..,x_n $ , 對手 $ A $ (誰能解密)只能學習 $ \sum x_i $ 僅此而已。要做到這一點, $ P $ 首先生成隨機值 $ r_1, r_2,..,r_n $ 這樣 $ \sum r_i = 0 $ . 然後, $ E(x_1+r_1)\times..\times E(x_n+r_n) = E(\sum x_i) $ .
我遇到的麻煩是當對手有一些領域知識時 $ x_i $ . 例如,如果它知道 $ x_i \geq 0 $ ,然後解密 $ E(\sum x_i) $ 去學習 $ \sum x_i = 0 $ ,它可以學習到 $ x_i = 0 $ 對全部 $ i $ .
我如何制定一個考慮到基於領域/輔助知識的此類攻擊的安全遊戲?IND-CPA 安全模型是否足夠?IND-CCA 怎麼樣?
我讀過報紙
$$ 1 $$,但我認為它沒有解決領域/輔助知識。 $$ 1 $$石等人。時間序列數據的隱私保護聚合 (NDSS'11)
標準方法是將這個問題分成兩部分:
- **僅通過計算所需的功能,哪些資訊不可避免地會洩露?**在您的情況下,目標是計算 $ \sum_i x_i $ . 這筆款項不可避免地洩露了一些關於 $ x_i $ 的。例如,正如您正確陳述的那樣,如果我們以某種方式知道所有 $ x_i $ 是非負的,如果我們碰巧觀察到 $ \sum_i x_i = 0 $ ,那麼我們可以得出結論 $ x_1=\dots=x_n=0 $ . 這種洩漏是不可避免的:任何計算方法 $ \sum_i x_i $ 必須不可避免地洩露這些資訊。
- **密碼協議洩露了哪些其他資訊?**我們可以詢問加密協議是否洩漏比上述更多(比不可避免的更多)。
多方安全計算旨在避免任何第二種類型的洩漏:不會有任何洩漏。唯一泄露的資訊將是可以僅從輸出值推斷出的任何資訊,即任何洩露是不可避免的並且是功能本身所固有的。
這就留下了一個問題:不可避免地洩漏了多少,那麼多少洩漏是可以接受的*?*密碼學文獻沒有回答這個問題。如果您考慮一下,它實際上是不可能的,因為這將在很大程度上取決於特定的應用程序域。加密工具基本上假設您將考慮這些含義:在要求協議計算總和之前 $ \sum_i x_i $ ,密碼學家假設您已經考慮了這樣做的含義。
所以,我能給你的唯一好答案是:標準方法與你預期的有點不同。與其試圖形式化諸如 IND-CPA 之類的東西(相當於要求沒有任何洩漏),我們相反通過要求沒有更多的洩漏來形式化事情,而不是您嘗試計算的值的必然結果。