密碼學技術如何選型?初探理論能力邊界的安全模型

買賣虛擬貨幣

系統變更後,為何隱私資料頻頻洩露?密碼學演算法自由組合後構成的新協議是否依舊安全?當下部署的隱私保護系統,10年後是否依舊有效?密碼學協議是否越安全越符合實際業務需求?這裡,我們將繼續密碼學技術選型的分享,從單個密碼學演算法擴充套件到由多個密碼學演算法構成的密碼學協議的安全性,梳理相關的能力邊界,以及選用不同協議對實際業務中隱私保護效果的影響。正如上一論(←點選檢視)所提到的,學術界在構造密碼學演算法時,引入了一系列安全假設,只有當這些安全假設都成真時,對應的密碼學演算法才安全。類似地,由多個密碼學演算法構成的密碼學協議,由於加入更多的互動方,需要引入更多的安全假設。對於一個密碼學協議,其所需的所有安全假設,及對應假設下的安全性要求的集合,稱之為安全模型。瞭解安全模型中引入的不同安全假設,有利於企業在進行密碼學相關的隱私保護技術選型時,客觀評估備選技術方案的有效性。安全模型中不少關鍵安全假設是相互獨立的,可以根據這些關鍵安全假設將安全模型進行分類,以此簡化評估流程。最常見的三種分類方式如下:半誠實 VS惡意可通用組合VS不可通用組合計算資源無關 VS計算資源相關

以上三種分類方式相互獨立,相當於三維座標軸中的三個維度。以下將以小華的故事為載體,一一闡明對應分類下,密碼學協議的理論能力邊界。畢業季來臨,主人公小華離開自己的家鄉,來到了心儀城市就職。小華、房東美麗、房產中介之間的故事就此拉開帷幕……

半誠實 VS惡意

小華初來駕到,眼下最迫在眉睫的事,就是找到可以讓自己過夜的地方。小華透過中介獲取房源列表,最終選定了一套比較滿意的房源,並在中介的撮合下,與房東美麗取得了聯絡。

在這個過程中,中介作為參與第三方,受法律規範和社會道德所約束,一般情況下並不會對房屋合同的租金、房屋資訊等內容進行篡改。但是,房屋合同中包含大量個人隱私資料,中介可輕易獲取租賃雙方相關行為資訊,存在顯著的隱私資料洩露風險。

為此,小華根據自身專業知識設計實現了一套密碼學租房協議,只要中介能夠正確履行該協議,互動過程中產生的隱私資料就不會洩露了。

以上租房互動協議,依賴中介能夠正確執行租房互動協議的安全假設。基於這類安全假設的安全模型,在密碼學中被稱為半誠實模型,又稱誠實且好奇模型,或被動攻擊者模型。

半誠實模型

參與者一定會正確執行密碼學協議,但會試圖從密碼學協議執行過程產生的中間結果中提取隱私資料。

當前大部分密碼學協議都選用了半誠實模型,這類安全模型在效率、協議設計難度上都有顯著優勢。同時,大部分業務部署時,參與方都會被現實世界諸如法律法規等因素約束,不會進行極端惡意攻擊。

小華期望透過上述半誠實模型下的密碼學租房協議,與美麗完成房源匹配和簽約流程。該技術方案將對小華和美麗的身份資訊、租房明細等提供有效保護。

然而,意外還是發生了。中介並沒有如約履行該協議,並在頂級駭客的協助下,篡改了部分協議流程,小華和美麗的隱私資料,最終還是洩露了。

為了應對以上隱私風險,這裡需要引入密碼學中更強的安全模型——惡意模型,也稱主動攻擊者模型。

惡意模型

參與者可以完全不遵守密碼學協議,並會採取任何手段對密碼學協議進行攻擊從而提取隱私資訊。

小華吸取了上次的教訓,重新基於惡意模型設計了密碼學租房協議。儘管中介和他的駭客夥伴使出了十八般武藝,但最終也沒能攻破新協議。

小華和美麗的隱私資料終於得到了保護,但背後引入了高昂的代價。

在惡意模型下,構造一個安全的密碼學協議,通常需要在每一個可能被攻擊的環節引入零知識證明或安全多方互動。相比相同業務場景中半誠實模型下的密碼學協議,其計算和通訊的代價以及協議自身的設計難度都會高很多,甚至可能會出現實際不可用的情況,影響最終的使用者體驗。

現實可用的密碼學隱私保護方案有一定的效能要求,這裡需要分析具體業務場景中攻擊者的“動機”,以此來選擇是否可以使用半誠實模型。如果攻擊者缺乏進行惡意模型下攻擊的動機,如潛在回報小於預期收益,或者攻擊只會對攻擊者自身造成利益傷害,業務方案設計可以比較安全地使用半誠實模型。

在現實業務中,受益於法律規範和社會道德的約束,大多數系統面臨的潛在攻擊源自於半誠實模型下的威脅。

尤其是強監管行業中的業務場景和其他作惡動機低的應用場景,相比惡意模型,在半誠實模型下構建隱私保護技術方案,可以顯著提升系統效能和使用者體驗。

可通用組合VS不可通用組合

小華的故事還在繼續。美麗考慮到房屋未來有自住的可能,希望在密碼學租房協議中提出一些支援租期靈活變動的特性。這需要對現有技術方案進行變更,新增一些新的密碼演算法模組。

新問題隨之而來:變更之後的隱私保護技術方案是否依舊有效?

這一問題對應的兩類安全模型就是可通用組合模型和不可通用組合模型,通常簡稱為UC模型和非UC模型。UC源自英文Universal Composable,對應的定義如下:

可通用組合模型(UC模型)

該模型下的密碼學協議,其使用的密碼學演算法元件都滿足UC的安全性要求。透過組合定理,可以將這些UC安全的密碼學演算法元件任意自由組合,從而構造更加複雜但依舊安全的協議。

不可通用組合模型(非UC模型)

該模型下的密碼學協議,對其進行修改、重組、拆分,之後獲得的新協議不一定具備原協議的安全性。

在上述小華的故事中,如果原密碼學租房協議不滿足UC模型的安全性要求,根據美麗的訴求更改協議之後,新協議很可能就不再安全,稍有不慎就可能洩露小華和美麗的隱私資料。

由於需要非常嚴謹的證明才能滿足UC模型的安全性要求,UC模型下可用的密碼學演算法元件比較有限,目前大部分隱私保護技術方案都是非UC模型下的。

對於企業來講,這裡的警示是,務必要核實定製化過程是否破壞了隱私保護技術方案的有效性。

在業務落地過程中,難免需要對現有方案進行深度定製,而定製密碼學協議的過程中,需要特別留意變更後的密碼學協議是否依舊能夠提供業務預期的隱私保護效果。

計算資源無關 VS計算資源相關

再次回到小華的故事。

小華透過密碼學租房協議,與美麗簽訂了一份長達5年的租房合同。在這5年內,計算機技術研究有了不少新突破,可用的計算能力上限提升了1萬億倍。之前飽受挫折的駭客捲土重來,那麼,小華的密碼學租房協議是否岌岌可危?

這就引入了第三類安全模型的分類方式,即是否受到計算能力發展的影響。

計算資源無關模型

即使攻擊者擁有無限的計算資源,密碼學協議仍然是安全的。

計算資源相關模型

密碼學協議已知的最優破譯方法,其所需的計算資源遠遠大於攻擊者目前擁有的計算資源。

計算資源無關模型,通常也被稱為無條件安全模型或資訊理論安全模型,是資訊理論中最嚴格的安全模型。即便是當下熱議的可能突然出現的超高效能量子計算機,也無法破譯該安全模型下的隱私保護方案。

計算資源無關模型下的可用方案極少,唯一常用的方案是基於一次一密的密碼學協議,並需要額外引入關於安全地生成和傳輸無限長度金鑰的安全假設。

絕大部分密碼學協議屬於後一類,即計算資源相關模型。一般透過數學規約的證明方法,證明密碼學協議可以被規約到某個計算困難問題,由此保證攻擊者在有限時間內難以完成計算,此時也被稱為可證明安全模型。

從以上分類可以看到,小華的密碼學租房協議的安全性,很大概率會受到計算能力發展的影響。

對於企業而言,評估隱私保護方案中密碼協議的有效性,一定要結合隱私資料的敏感性和時效性,舉例分析如下:

某醫療製造商需要對採購方的採購金額、身份、明細等資料進行隱私保護操作,保護的時效性可能需要5年甚至更久。因此,需要選擇的技術方案需要提供較長時間的安全,才能滿足計算資源相關模型的安全性要求。

一些業務僅僅需要在幾個小時內保證資料的隱私性。這類場景下,可以選擇系統效率更高,但所需破譯時間相對較短的方案,也能滿足計算資源相關模型的安全性要求。

平衡使用密碼學協議構建隱私保護技術方案對業務商業流程的影響,實現系統效率最大化和使用者體驗的最最佳化,並不是選用的密碼學協議安全性越強越好。

一般情況下,建議在滿足業務需求的安全模型下,構建效率最優的密碼學協議,夠用就好。

正是:密碼方案選型無頭緒,安全模型定義知根底!

隱私保護業務落地,安全模型選型是影響隱私保護效果的重要因素之一。密碼學協議安全模型多種多樣,安全級別越高的安全模型往往效率越低。事實上,現實社會的法律規範和社會道德約束著很多業務場景,有利於簡化密碼學協議的設計。

企業需要對具體場景具體分析,選用最合適的安全模型,在此基礎上定製最適合自身業務場景的隱私保護技術方案,往往比直接套用通用方案效果更佳。

除了本文分析的理論能力相關的安全模型之外,實際開發部署技術方案時,工程層面的疏漏也會不幸地導致隱私資料洩露,具體分析,敬請關注下文分解。

免責聲明:

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

推荐阅读

;