Secret-Sharing

秘密共享中的內部攻擊(來自參與者的攻擊)

  • September 20, 2021

我考慮過一個 $ (t,n) $ 秘密共享方案 $ n $ 秘密,說 $ a1,a2….an $ . 它是第三方安全的,但它有內部對手。在重構秘密的同時,一群 $ t $ 合格的參與者將他們的數據上傳到公共伺服器。

如果 $ t-1 $ 參與者是騙子,他們可以通過更改秘密來欺騙其餘的參與者。

我怎樣才能使這種攻擊方案使得 $ t1 $ 參與者可以分配一個選擇的多項式(即選擇的秘密)來欺騙其餘的參與者。我知道秘密的數量是一個(即多項式中的常數項),這是M.Tompa 和 H. Woll證明的。

我認為您誤解了秘密共享以及它可以做什麼和不能做什麼。在一個 $ (t,n) $ 秘密共享方案,伺服器/受信任方創建 $ n $ 分享的秘密。至少 $ t $ 必須存在共享才能從共享中重新創建秘密。現在,如果在重建之後,秘密本身就會暴露給 $ t $ 股東要求重建,那麼他們每個人都知道這個秘密,並且有可能在股份分配後的幾毫秒內,至少在 $ t $ 股東們及時將他們的股份寄回,要求重建!“秘訣不要給我,直接告訴我秘訣!” 將是戰斗口號。重構後的秘密是否也提供給對方 $ n-t $ 股東,而不僅僅是 $ t $ 請求者是一個懸而未決的問題。

秘密共享的運作方式是,秘密的重建可以實現一些可以由任何人授權的進一步行動(例如支付)。 $ t $ 股東,但不需要所有人的批准 $ n $ 股東。秘密是用於授權操作的密碼。因此,設置 $ t > \frac n2 $ 將意味著大多數股東批准採取進一步行動並因此授權。秘密本身不會透露給那些要求重建的人;這樣做意味著現在知道秘密的任何股東都可以在其他人不知情或不批准的情況下自行進行進一步的行動。

以此作為介紹,讓我們考慮一下 OP 想要什麼。有 $ t $ 希望重建秘密的股東,但 $ t-1 $ 其中有“騙子”,他們想“欺騙”誠實的參與者。好吧,無論是提供有效共享還是純粹的 gobbledygook,受信任方都會重建一些東西。例如,正如我在這個答案中所描述的,使用 Shamir 秘密共享,秘密是 $$ s_0 = (-1)^t (x_1x_2x_3\cdots x_t) \sum_{i=1}^t \frac{y_i}{x_i\cdot c_i} $$ 在哪裡 $ y_1, y_2, \ldots, y_t $ 是股東送出的股票價值, $ x_1, x_2, \ldots, x_t $ 是用於計算份額的相應“位置”,以及 $$ c_i = (x_i-x_1)(x_i-x_2)\cdots(x_i-x_{i-1})(x_i-x_{i+1})\cdots(x_i-x_t). $$ 不檢查送出的“股份”是否有效;我們得到 $ s_0 $ 如果共享在送出時有效,則這是正確的秘密,如果其中任何一個不是,則為 gobbledygook。因此,當重建秘密的受信任方嘗試使用重建的 gobbledygook 作為執行請求操作的密碼時,登錄失敗!因此,唯一的問題是,如果有的話,誠實的股東是如何在這一切中受騙的。好吧,大概誠實的股東希望採取行動,如果 $ t-1 $ 作弊者(甚至只有一個作弊者!)送出了無效分享。因此,誠實的股東被善變的朋友欺騙了他的願望,他們假裝支持他的願望,但通過選擇送出無效股份來挫敗他。

有沒有可能 $ t-1 $ 騙子能阻止重建的秘密嗎?是的,如果只有 $ t $ 可用的股票。有了更多可用於重建的股票,事情可能會完成。但我們已經太遙遠了。

不完美(斜坡)秘密共享的概念允許一個人一次性共享多個秘密,共享成本低於門檻值秘密共享。我相信這些可能會回答您的問題:

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