?

可信區塊鏈隱私計算平臺研究與實現*

2022-02-28 01:35胡紹洲馬兆豐葉可可
信息安全與通信保密 2022年10期
關鍵詞:同態加密算法密文

胡紹洲,馬兆豐,葉可可

(1.北京郵電大學 網絡空間安全學院,北京 100876;2.中移動信息技術有限公司 研發創新中心,北京 102200)

0 引言

隨著大數據、人工智能和云計算等技術的快速發展,產生了很多新的服務,需要采集用戶的相關信息,但對這些敏感信息的分析和利用可能導致用戶隱私的泄露,給用戶帶來巨大的安全風險,因此,針對敏感數據的隱私計算需求已成為社會共同關注的焦點。如今,隱私計算技術深度融合多方安全計算、可信執行環境、聯邦學習等技術,為可信計算、金融、醫療、大數據、電子拍賣等領域的數據流通域中數據的“可用不可見”提供了有效的解決方案[1]。

但目前隱私計算技術只能提供數據的“可用不可見”特性,因此如何保障隱私計算體系中數據源和數據隱私計算結果的真實性,成為隱私計算發展的重要方向。目前隱私計算在金融、互聯網、公共服務、數字版權及保險領域都有了廣泛應用[2]。

區塊鏈技術為隱私計算的數據源流通過程中的不可篡改提供了技術保障。區塊鏈技術是一種按照時間順序將數據區塊以鏈條的方式組合成特定數據結構,并以密碼學方式保證的不可篡改和不可偽造的去中心化總賬(Decentralized Shard Ledger),能夠安全存儲簡單的、有先后關系的、能在系統內驗證的數據[3]。目前的電子拍賣市場還處于初級發展階段,存在參與方多、數據難以協同和各方信任缺失的特點。因此在招標式電子拍賣時,拍賣者對于自身出價金額需要進行個人隱私保護,拍賣人只需要公布結果,而不需要公布拍賣者的具體金額,可以采用隱私計算的方式計算出出價最高者,保護被拍者并對保留價進行出價,同時對招標結果的隱私計算過程進行上鏈操作,實現電子拍賣全流程的可追溯性。

1 相關工作

互聯網信息時代賦予了商品新的交易形式,如電子交易和電子拍賣等,也增加了交易的安全風險和隱患,在人們進行電子交易和電子拍賣的過程中,竊取個人隱私數據的行為與日俱增[4]。

隨著區塊鏈的去中心化特性被廣泛采用,工商銀行在區塊鏈隱私計算融合技術方面開展了相關探索和實踐,建設了以區塊鏈技術和隱私計算技術為支撐的區塊鏈聯盟計算平臺[5]。使用區塊鏈技術對敏感數據隱私計算后的結果進行上鏈存證,保證了數據源的不可篡改性和可溯源性。

Xue[6]將區塊鏈技術應用于企業財務信息融合共享系統,形成了公司間的企業財務信息融合共享體系,改善了當前財務共享平臺的局限性和弊端。Biswas等人[7]提出了一種使用區塊鏈的無欺騙門限秘密共享方案,該方案基于Shamir技術,消除了由于工作量證明/權益證明(Proof of Work/Proof of Stake,PoW/PoS)共識導致的漏洞,并成功解決了股票欺騙問題。為了保護電子拍賣中競拍者的身份隱私,王小麗等人[8]提出了一個基于匿名通信的匿名電子拍賣協議,該協議在密封式拍賣方式的基礎上,采用匿名通信模型進行通信。

為了解決在電子拍賣場景下拍賣策略、拍賣金額的隱私安全問題,本文提出了基于可信區塊鏈隱私計算平臺的電子拍賣解決方案。

2 系統方案

2.1 算法模型

以下為基于可信區塊鏈隱私計算平臺方案需要使用的算法模型。

2.1.1 Paillier加法同態加密

Paillier提出了3種加密方案,其中的方案一具有良好的加法同態性:對多個密文執行乘法 運算,可以秘密實現明文加運算,即E(x+y) =E(x) ?E(y)[9]。同態加過程如下文所述。

對于密文c1和c2,乘積計算公式為c=c1?c2modn2,其中n為兩個素數的乘積。

公鑰(n,g),私鑰(λ,μ)生成步驟如下:

Step1 首先隨機挑選大素數p和q,滿足gcd(pq, (p? 1)(q? 1)) =1,并且滿足p和q的長度相同。

Step2 計算n=pq以及λ=lcm(p? 1,q? 1), 其中lcm為最小公倍數,為n的比特長度。

2.1.2 CKKS全同態加密

Cheon團隊在2017年提出了基于CKKS的全同態加密方案,如圖1所示,可以對浮點數進行近似計算,在多個全同態加密算法中效率較高[10]。其主要步驟為:

圖1 CKKS全同態加密算法流程

Step1 密文生成算法HE.keygen(N,L,1λ):其中N為多項式次數,λ為安全參數,L為層次參數,輸出公鑰pk、私鑰sk和計算密鑰ck。

Step2 加密算法HE.Encpk(m,?):其中m為需要加密的消息,輸出密文ct。

Step3 同態加法HE.Addck(ct,ct′):其 中ct和ct′分別為明文m和m′對應的密文,輸出m+m′對應的密文。

Step4 同 態 乘 法HE.Mulck(ct,ct′):其 中ct和ct′分別為明文m和m′對應的密文,輸出m×m′對應的密文。

2.1.3 區塊鏈

區塊鏈是比特幣的基礎支撐技術,首次出現在中本聰(Satoshi Nakamoto)發表的《比特幣:一種點對點式的電子現金系統》中[11]。區塊鏈是一個共享的不可篡改的賬本,采用分布式自治技術,具有不可篡改性、去中心化、可溯源性等特征。根據開放程度,區塊鏈可劃分為公有鏈和聯盟鏈,任何人都可以自由加入公有鏈,而只有擁有特定權限的個人或組織才可以加入聯盟鏈[12]。

2.1.4 智能合約

智能合約具有規范性、不可逆性、不可違約性、匿名性等特點。其中,規范性是指智能合約是以計算機代碼為基礎,通過嚴密邏輯結構來呈現內容,并且對合約上的所有計算機節點是透明的。不可逆性是指一旦完成約定的條件,合約就可以自動執行對應的預期計劃。不可違約性是指在鏈上的信息公開透明,任何節點都可以追溯流程。匿名性是指在區塊鏈上流程是透明的,但交易雙方是匿名的。

2.1.5 Keccak256算法

Keccak256算法是一種加密散列算法,是第三代安全散列算法。在Keccak256算法被確定選為SHA-3標準的獲勝算法后,就表現出很強的抗實際攻擊的特性[13],與SHA-1和SHA-2協議相比,SHA-3沒有輸入長度上的限制。

2.2 方案模型

基于同態加密和區塊鏈技術的可信區塊鏈隱私計算平臺的電子拍賣模型如圖2所示。該方案是針對當前電子拍賣隱私保護場景提出的一種隱私保護解決方案,有效保護了競拍者、拍賣人的競拍策略,競拍金額等隱私問題,該方案包括以下實體:競拍者、區塊鏈、智能合約、消息認證、計算節點、拍賣機構、拍賣人。

圖2 基于可信區塊鏈隱私計算平臺的電子拍賣模型

(1)競拍者。競拍者需要保護自己的拍賣金額、拍賣策略,同時對于拍賣流程要求透明化,對于最后拍賣成功的交易流程要求可溯化。

(2)區塊鏈。采用聯盟鏈的方式,競拍者、拍賣人、拍賣機構均作為多方參與者進入聯盟鏈共享信息,與傳統公有鏈相比,聯盟鏈的方式更加靈活、交易的成本更低、區塊打包時間更少。

(3)智能合約。接受用戶的拍賣金額同態加密密文以及競拍金額的Hash值來上鏈,并打包成相應區塊,同時提供區塊鏈上的隨機數生成函數。

(4)消息認證。通過對用戶的個人信息、競拍金額進行區塊鏈Hash加鹽簽名,采用Keccak256算法來預防用戶篡改金額以及在最終拍賣驗證階段完成交易。

(5)計算節點。通過在對應服務器上部署相應同態加密服務,對用戶傳輸的密文進行操作。

(6)拍賣機構。拍賣機構同時對拍賣物品進行出價,應對電子拍賣過程中的流拍問題以及惡意出價問題。

(7)拍賣人。拍賣人對拍賣物品進行出價,作為拍賣物品的底價,并可以對低價進行保密處理,達到盲拍的效果。

2.3 方案模型

該設計方案大體可以分為委托者出價、拍賣機構出價、競拍者競價、交易完成4個階段,如圖3所示。

圖3 基于同態加密單次比較算法流程

2.3.1 委托者出價

首先由委托者出價,委托者通過調用本文設計的算法3基于同態加密的隱私比較算法將自身的出價金額密文托管到平臺,并調用智能合約將金額信息簽名,并將簽名值記錄上鏈。

2.3.2 拍賣機構出價

拍賣機構為了防止線上平臺委托者隨意出價導致流拍率過高,需要對拍賣品價格進行預估,若起拍價高于預估價格3倍以上,則判定為惡意拍賣,若發生多次則禁止該藏品參與拍賣。

2.3.3 競拍者競價

在委托者出價以及拍賣機構驗證之后,競拍者就可以對藏品進行競價,但基于個人隱私保護以及競價策略保護的需要,競拍者并不知道藏品當前競拍價格以及其他競爭者出價,只能調用平臺的隱私比較算法進行比對,得到的結果只是大小關系而不是真實的明文,若出價成功即當前的價格超過之前的其他競拍者的價格或者為第一次出價超過委托者價格,則會更新為新價格密文,其中每次交易更新都會調用智能合約對相關信息作出簽名并記錄上鏈。同時為了防止競拍者對價格進行爆破攻擊,每個競拍者對當前出價有且僅有3次機會。

2.3.4 交易完成

一旦新的價格密文在設定的時間內不變,就可以完成交易,若價格密文和起拍密文相同,則判定為流拍。交易完成后,需要將相應的交易過程上鏈,包括每次的價格密文以及競拍者的相應Hash值,達到交易過程公開化,可追溯化。

2.4 算法設計

本文設計的智能合約基于Hyperledger Fabric架構,所涉及的變量和方法名如表1所示。

表1 智能合約的變量和方法名

合約主要分為3個主體函數,即隨機數生成函數、存儲函數、查詢函數。隨機數生成函數以區塊打包的時間和難度作為種子調用Keccak256來生成隨機數。存儲函數采用Storage在鏈上永久存儲,對傳入的結構體存入至鏈上以供查詢。查詢函數則提供了查詢接口,通過對應Hash值可以查詢結構體。

使用的算法分別是基于同態加密的隱私比較算法、基于區塊鏈的消息認證算法、基于區塊鏈的隨機數生成算法。3種算法的基本參數如表2所示。

表2 算法相關參數

續表

2.4.1 區塊鏈隨機數生成算法

區塊鏈隨機數生成算法使用聯盟鏈上的當前區塊難度和打包時間作為種子生成隨機數,并多次重復Hash函數,即將上一次生成的隨機數作為數據源重復進行Hash運算,提高攻擊成本。

算法1:區塊鏈隨機數生成算法

2.4.2 區塊鏈消息認證算法

使用者首先需要調用寫入智能合約的區塊鏈隨機數生成算法生成隨機數作為鹽值參與運算,之后將鹽值插入到傳遞信息的末尾作為預處理,調用Keccak256算法生成Hash值,通過鹽值可以有效防止彩虹表攻擊。

算法2:區塊鏈消息認證算法

2.4.3 基于同態加密的隱私比較算法

首先起拍價的委托人調用算法1生成兩個隨機正整數(x和y),并對這兩個正整數調用區塊鏈消息認證算法獲得Hash值上鏈,之后競拍者調用Paillier算法生成一對公私鑰,使用公鑰加密價格并將公鑰和加密密文發送給委托人,委托人調用智能合約將公鑰和加密密文上鏈作為記錄,并同時使用公鑰計算出明文加密的結果E(b?x+y),之后調用Paillier同態加密算法計算出E(a?x+y) =E(a)x?E(y),其中a,b為隨機正整數,將這兩個結果調用智能合約上鏈記錄。競拍者得到計算結果后使用私鑰解密出金額A=a?x+y和金額B=b?x+y,只需要比較A,B的大小就可以知道金額的大小。但此時委托人不知道金額的相對大小,因此需要交換一次順序,重復一次上述流程來得到金額的相對大小,單次流程圖如圖3所示。兩次流程結束后雙方就可以確認對應的大小關系。

算法3:基于Paillier同態加密的隱私比較算法

3 安全性與可行性分析

通過第三節提出的方案,每個用戶競拍時都不會泄露自身具體金額,并且在整個競拍環境下競拍者不會泄露自身的競價策略,而只是知道和藏品當前價格大小關系,為了防止用戶使用窮舉攻擊,對每個價格出價時間和出價次數有著嚴格的限制。

對于交易過程中的競拍者和委托者的不誠實問題,在每一次競拍過程中都會做一次Hash記錄上鏈,在拍賣結束之后,如果有競拍者對過程有疑問,則可以重新簽名認證金額。

算法1區塊鏈隨機數生成算法采用了從區塊鏈上調用智能合約Keccak256散列算法并結合打包區塊的難度和時間作為隨機種子,多次Hash得到最終的隨機數可以有效抵御碰撞攻擊。

算法2區塊鏈消息認證算法基于Keccak256算法,通過使用算法1生成的隨機數作為鹽值,可以防止彩虹表對簽名值進行攻擊,并支持對用戶需要認證的信息進行簽名存儲。

算法3基于Paillier同態加密的隱私比較算法,為了防止比較者之間的不誠實行為,采用了簽名值上鏈作為防范,借助Keccak256算法的抗弱碰撞性作為最后完成對金額及信息驗證的保證。

本文通過選擇聯盟鏈方案,對加入聯盟鏈的用戶進行嚴格的身份認證,可以獲得更好的隱私控制,減少被惡意攻擊的可能性。

在最終驗證的時候,拍賣成功者需要拿拍賣成功那次簽名信息去完成最終交易,進行簽名認證,這樣可以有效避免篡改攻擊。

在拍賣和交易的過程中采用簽名數據上鏈的方式可以有效避免數據篡改,達到交易全過程可溯源、可驗證的效果。

4 實驗分析

4.1 實驗環境

本文方案的實驗環境為云服務器,采用的系統為CentOS7操作系統,配置為4核心CPU,16 GB內存,2 Mbit/s外網帶寬,采用的性能測試框架為benchmark。

4.2 實驗步驟

基本平臺如圖4所示,支持多種同態加密算法進行相關性能測試。

圖4 可信區塊鏈隱私計算平臺

如圖5所示,實驗平臺對兩個隨機操作數進行Paillier加密,得到對應密文,通過生成的密文就可以進行對應同態計算。

圖5 基于區塊鏈隱私計算平臺的同態加密

4.3 Paillier同態加密算法測試

采用benchmark性能測試框架對Paillier半同態加密算法和CKKS全同態加密算法進行電子拍賣場景下的性能測試,對于隨機數的同態加法、標量乘法、解密和加密過程作出1 000次運算并取對應平均值,結果如圖6所示,該結果表明Paillier同態加密算法性能在2 048位密鑰的情況下優于CKKS同態加密算法,可以滿足多人在線競拍的需要。

圖6 CKKS和Paillier性能測試

5 結語

本文在電子拍賣的場景下,引入可信區塊鏈隱私計算平臺,針對拍賣過程中拍賣策略隱私保護的需要、拍賣金額隱私保護的需要、拍賣流程可溯的需要,提出了一種基于Paillier的半同態加密和區塊鏈全程可溯源的隱私計算方案。

采用Paillier的半同態加密方案有效維護了多人電子競拍策略以及金額隱私保護的需要,并在電子拍賣全流程中引入區塊鏈,對整個流程進行信息上鏈,達到了拍賣流程可溯源、不可篡改的效果。

實驗結果表明,與CKKS的全同態加密方案相比,基于Paillier的半同態加密的隱私計算效率可以更好地滿足多人電子拍賣場景的需要,并實現拍賣流程中數據可用不可見的效果。

猜你喜歡
同態加密算法密文
一種支持動態更新的可排名密文搜索方案
基于模糊數學的通信網絡密文信息差錯恢復
關于半模同態的分解*
拉回和推出的若干注記
基于整數矩陣乘法的圖像加密算法
混沌參數調制下RSA數據加密算法研究
一種基于LWE的同態加密方案
一種基于密文分析的密碼識別技術*
一種基于密文分析的密碼識別技術*
基于小波變換和混沌映射的圖像加密算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合