密碼學原語如何應用?走近門限密碼演算法

買賣虛擬貨幣

隱私資料密文控制權只能由單一主體掌控?代表控制權的金鑰如何才能安全地交由多個互不信任的主體協同使用?如何在技術層面保障多方授權的公平公正性?任一參與協作的主體金鑰丟失,如何實現安全可靠的容災恢復?

在業務方案設計中,安全可控地讓多個隱私主體參與資料協作,是隱私保護技術創造新興商業價值的關鍵之一。在這一過程中,代表控制權的金鑰由哪一方來掌握,是影響參與者合作意願的重要因素。

因為哪一方擁有了金鑰,相當於哪一方就獲得了控制權,未能掌控金鑰的另一方,則可能在合作關係中處於弱勢。這將成為實現公平對等多方協作關係的一個關鍵阻礙。

以多方決策為例,上市公司的一次董事會會議中,需要多數董事對決策項進行簽字才能生效。出於某些影響,會議無法面對面舉行,所有董事必須使用數字簽名來遠端完成這一個簽字過程。為了保證決議過程的機密性和公正性,每位董事不希望其他董事知曉自己的選擇,同時要讓股東團體對最後的決策結果,即聚合後的簽名,進行驗證。

這個過程中,存在三個隱私保護相關的主要功能點:

每位董事的簽名控制權須由自己控制,而不是由中心化的可信第三方來代理行使權力。

代表決策結果的聚合簽名只需多數董事同意,便可生成合法的宣告。

股東團體需要對聚合後的簽名進行驗證,但無需知道具體哪些董事對此進行了簽名。

以上功能點涉及在多方協作過程中,如何將原本單個的金鑰安全地打碎成多個金鑰分片,並讓每個主體獨立使用自己的金鑰分片,合作完成所需的密碼學協議過程。解決這一問題的關鍵,就在於門限密碼演算法的巧妙構造。

門限密碼演算法在多方協作的相關場景中應用十分廣泛,可以實現資料聯合授權、認證、金鑰安全恢復、金鑰安全交換等需求,在諸多分散式多方計算協議中均可見其身影。

本文主要從秘密分享、門限加密、門限簽名三大應用方向,分享門限密碼演算法的奇妙之處。

秘密分享

1979年,Adi Shamir和George Blakley各自獨立地提出秘密分享(Secret Sharing)的概念,奠定了門限密碼學體系的基礎。

具體而言,秘密分享是指一種安全地在多個參與者之間分享秘密的方式,其滿足以下特性:

每個參與者都獨立持有一部分關於秘密S的分片,只有將足夠數目的分片組合起來,才能夠重新恢復出秘密S。

當獲得的分片數量不足時,無論採用何種組合策略,不會洩露關於秘密S的任何資訊。

秘密分享在學術上的價值在於,提供了一種技術手段,將原本單一的金鑰,以金鑰分片的形式,安全地、平等地分配到多個參與者手中,除此之外,還實現了以下額外的安全特性:

容錯高可用:不會因為少量金鑰分片損壞和丟失,而導致金鑰不可用。

抗側通道攻擊:原本固定的金鑰,在密碼學演算法工程實現的執行過程中,可能會洩露一部分金鑰的資訊(參見第5論中的灰盒安全模型),但進行分片之後,成功實施此類攻擊的難度將指數上升。

對於業務應用而言,主要使用的特性是金鑰安全平等分配和容錯高可用,可以用來滿足價值貴重的物品或權利不能由單一主體掌控的業務需求,以此控制盜用、濫用等潛在風險。

例如,董事會的印章不能由單獨的成員持有,銀行保險箱的鑰匙不能由單獨的職員保管。在數字化的場景中,涉及多方隱私資料的業務合作,資料金鑰也不能由單一主體掌管。

為了實現安全的秘密分享效果,最直接的秘密字串分片方式並不能保障其安全性,攻擊者無需收集足夠的分片,便可以獲得秘密的部分資訊,示例如下:

因此,我們需要引入更為精巧的分片構造方式。

最常見的構造方式利用了拉格朗日多項式插值演算法。其核心思想為,t個點可以確定一個t-1階多項式對應的曲線。每一個秘密分片都相當於多項式曲線上的一個點:

只要收集不同點的數目達到t個,就可以透過拉格朗日多項式插值演算法求解出多項式中代表秘密的係數值。

如果點的數目不足t個,對應的多項式有無限多個,對應的秘密可能是任意值,對秘密的機密性保護達到了資訊理論安全。

具體構造方式可以參考Shamir Secret Sharing的(t, n)秘密分享方案,即,將秘密分為n份,任意t份都可以完整地恢復出拆分前的秘密。構造過程如下:

將秘密S作為多項式的第0階常量係數,其餘t-1個係數隨機生成,由此構造出一個t-1階的多項式,對應的曲線為C。

在曲線C上隨機選n個不同的點,將其分發給n個參與者。

只要不小於t個參與者同意使用自己的點參與協同運算,便可恢復出曲線C對應的多項式,取其中第0階常量係數,便可獲得秘密S。

秘密分享在分散式金鑰生成、金鑰容災恢復、數字版權管理、資料安全傳輸等業務領域中都有廣泛應用。同時,秘密分享也是用於構造安全多方計算的重要技術之一。

基礎的秘密分享方案可以進一步擴充套件為可驗證秘密分享、多級多秘密分享、定期更新分片的主動秘密分享、可隨時變更參與者的動態秘密分享、基於身份的秘密分享等方案,滿足多方協作中多樣化的業務需求。

秘密分享是所有門限密碼演算法的基礎,解決了演算法設計中金鑰控制權安全分發的問題,用技術手段保障了隱私資料多方協作中,權利均衡、平等互信的效果。

門限加密

門限加密方案是門限密碼演算法常見應用之一,常常體現為一類分散式加解密協議,可以實現如下功能:

任意使用者都可以使用公鑰對資料進行加密。

私鑰的所有權由多個指定的秘密持有者聯合控制,只有滿足數目的秘密持有者合作,將解密分片聚合,才能實現解密。

門限加密方案可以有效保護需要多方授權才能使用的隱私資料。回到之前董事會決策的示例,目前有一份敏感的業務資料需要給董事會成員彙報,由於資料的敏感性,需要確保有足夠數量的董事在場,資料才能被解密。

門限加密方案可以很好地滿足這一需求。傳輸業務資料前,使用門限加密的公鑰對其進行加密,產生的密文只有當數量不少於門限值的董事授權同意之後才能進行解密。

使用門限加密方案的一般流程如下:

初始化:n個參與者約定設定門限值t,並獲取自己的私鑰分片x,聯合計算資料加密公鑰PK並公開。

加密:資料貢獻者使用公鑰PK對資料明文m進行加密,生成密文E(m)。

生成解密分片:參與者分別使用自己的私鑰分片x對密文E(m)進行解密,生成解密分片D_x(m)。

聚合解密分片:參與者將解密分片聚合,只有獲得不小於t個不同的解密分片D_x(m)之後,才可以完成聚合解密,獲得資料明文m。

理論上,門限加密方案可以基於不同的計算困難性問題(參見第3論)構造,例如,基於離散對數的ElGamal門限密碼學體系、基於Diffie-Hellman的門限金鑰交換協議、基於大素數分解的RSA門限密碼學體系、基於橢圓曲線離散對數問題的BLS門限密碼學體系等。

工程上,門限加密方案目前已經比較成熟,以經典論文《Simple and Efficient Threshold Cryptosystemfrom the Gap Diffie-Hellman Group》為基礎的開源參考實現為例,在個人計算機上,對單個資料塊進行單次分片聚合和解密的耗時都在微秒級,已經可以滿足大部分業務的商用效能要求。

應用上,除了之前描述的多方授權資料解密之外,門限加密方案在匿名電子投票、資料代理服務、資料外包計算等需要為多個資料貢獻者提供聯合資料使用授權特性的領域,均有廣泛應用前景。

門限簽名

門限簽名方案是門限密碼演算法最常見的應用。同樣基於秘密分享的核心理念,門限簽名方案透過將私鑰拆分成多個秘密分片,實現瞭如下效果:

只有當不少於門限值的秘密分片持有者共同協作,才可以生成有效的簽名。

即便部分秘密分片丟失,只要剩餘秘密分片不少於門限值,依舊可以生成有效的簽名。

聯合生成的簽名中,並沒有透露具體哪些持有者參與了簽名過程。

在業務應用中,門限簽名方案可以用來構造有效的多方聯合簽名流程。相比傳統數字簽名方案,整個簽名過程消除了由單一主體保管金鑰帶來的系統性單點故障風險,以及跨機構信任問題。

每位秘密分片的持有者對簽名私鑰擁有平等的控制權,門限簽名方案同時提供了私鑰容災恢復功能和外部驗證匿名性。

這類方案可以顯著提高使用者對資料認證的信任,並促進多方平等合作,對於目前使用數字簽名的所有應用場景都適用,可以看作是傳統數字簽名方案在分散式商業環境中的全面升級。

使用門限簽名方案的一般流程如下:

初始化:n個參與者約定設定門限值t,並獲取自己的私鑰分片x,聯合計算資料驗籤公鑰PK並公開。

生成簽名分片:參與者使用私鑰分片x對資料m生成簽名分片sig_x。

聚合並生成簽名:將簽名分片合併,只有不少於t個簽名分片才能生成完整簽名sig。

驗證簽名:驗證者使用公鑰PK,對關於資料m的簽名sig進行驗證。

與門限加密方案類似,門限簽名方案可以基於不同的計算困難性問題(參見第3論)來構造實現,例如,可以構造基於SM2國密標準演算法的門限簽名方案。

目前較為常見的開源實現,主要是基於BLS(Boneh–Lynn–Shacham)的簽名演算法。該方案驗證效率尚可,但在簽名聚合環節,生成簽名的耗時會隨參與者數量的增加而顯著增加,可以達到毫秒級,比傳統的數字簽名方案慢幾個數量級。

除此之外,目前的門限簽名方案在初始化過程中,如果不依賴可信第三方,會面臨互動輪數過多、構造複雜等問題。以上工程問題對需要進行高頻簽名操作的應用來說,可能會帶來一定效能上的挑戰,但對於一般應用來講,應該不會成為效能瓶頸。

總體而言,門限密碼學方案提供了一系列高效、易用的隱私保護分散式資料協作技術。隨著其應用越來越廣泛, NIST於2019年提議對門限密碼學相關的密碼學原語進行標準化,分別從單一主體使用和多方協作使用兩個方向,對門類眾多的門限密碼學方案進行歸類和標準化嘗試。

在標準化完成之前,根據具體的業務需求,門限密碼學方案的基礎技術選型可以參考下圖:

正是:多方協作金鑰誰掌控,門限密碼分權眾做主!

門限密碼學方案透過對隱私保護方案中的金鑰進行分片,使得對於金鑰所代表的資料控制權進行按需分配成為了可能。對於源自多方的隱私資料,門限密碼學方案提供了安全、平等、高效的協同認證和計算工具,可以用來解決現代分散式商業環境中,所面臨的多方資料認證、可信資料交換等核心業務挑戰。

多方資料協作場景中,基於可信硬體(TEE)的解決方案也是目前行業研究的熱點,其背後涉及哪些原理,欲知詳情,敬請關注下文分解。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;