摘要:針對航空差旅消費的潛在隱私泄露風險,提出一種可監管的交易隱私保護密碼學方案,為航空公司、集團客戶和差旅人員三方交易提供安全保障。通過在交易密文中額外添加一位接收方公鑰,雙接收方能夠獨立解密并獲得相同的交易信息,確保了作為額外接收方的監管者能夠分布式審查航空公司和集團客戶之間的真實交易金額;通過設計同態加密算法,密文交易數據可以被正常分析,而隱藏的交易額可以通過零知識證明協議保證其正確性。實驗分析表明,在添加了一位接收方的情況下,依然保持較高的執行效率。該方案不僅增加了交易系統的監管功能,還可解決航空差旅交易中隱私保護與精準核算的內在沖突。
關鍵詞:航空運輸;隱私保護;監管;雙公鑰;同態加密;區塊鏈
中圖分類號:TP309.2文獻標志碼:A
文章編號:1001-3695(2022)04-042-1207-06
doi:10.19734/j.issn.1001-3695.2021.07.0382
Supervisable transaction privacy-preservation scheme for air travel consumption
Zhou Xingguang,Liu Yi
(Big Data amp; Information Management Research Center,Civil Aviation Management Institute of China,Beijing 100102,China)
Abstract:In view of the potential privacy leakage risk of air travel consumption,this paper proposed a supervisable privacy-preservation cryptography scheme.It guaranteed security for the transaction among airlines,group customers and business passengers.By adding an additional recipient’s public key to the transaction ciphertext,the dual recipients could independently decrypt and obtain the same transaction information.The scheme ensured that the supervisor as the additional recipient could review the real transaction amount between the airline and the group customer.By designing the homomorphic encryption algorithm,the ciphertext transaction data in circulation could be analyzed normally,and the hidden transaction amount could be guaranteed by the zero-knowledge proof protocol.The experimental analysis shows that the scheme adds one more recipient without increasing the computational complexity.Not only the scheme increases the supervision function of the air transaction system,but also solves the internal conflicts between privacy-preservation and accurate audit faced by air business transaction.
Key words:aviation transportation;privacy-preservation;supervision;dual public key;homomorphic encryption;blockchain
0引言
隨著航空運輸業的快速發展,旅客出行體量增長迅速。2018年11月,民航局印發的《新時代民航強國建設行動綱要》明確提出要全面提升航空服務質量,為大眾提供出行即服務的優質民航出行體驗。我國民航旅客市場特征研究顯示[1],公務旅客在航空出行旅客中所占比例接近50%,是民航客源的主要組成部分[2]。出行智能化、數字化逐漸成為智慧民航與智慧交通發展的重要組成部分。基于此,集團客戶成為航空公司競爭服務對象,航空公司致力于為差旅人員的航空出行提供安全、優質的旅程服務,以便公務出行的旅客能夠分布式地享受多種類型的消費產品,例如航空公司官網提供機票訂購及旅程套餐服務,航空公司旗下酒店提供VIP住宿與餐飲服務等。
全方位的航空服務意味著多種類的消費業務,而隨之而來支付、結算與監管問題往往困擾著個人用戶、集團用戶與航空公司:a)出行前公務人員需要支付高額的預付款來購買機票、預定酒店等,出行后則需要處理繁瑣的報銷流程;b)頻繁的刷卡記錄致使交易信息(包括賬戶金額、消費數據等)的暴露;c)大量的交易單與交易金額需要強有力的監管方式,防止交易雙方合謀或內部人員作弊。2018年,香港國泰航空公司系統被黑客攻擊后,約900萬的用戶隱私遭到泄露,并有近百萬旅客護照號和身份證號遭到泄露,若干信用卡號被非法獲取。2021年,國內某知名出行交易服務平臺員工利用職務便利非法獲取電子客票號,打印機票行程單出售獲利。
針對問題a),各航空公司試圖通過里程積分、忠誠度錢包等方式解決常旅客日常消費問題。例如,新加坡航空推出全球首個區塊鏈忠誠度數字錢包,基于新航的私有鏈為合作商務的日常支出消費提供可信平臺[3];挪威航空公司推出比特幣兌換服務,旅客能夠使用加密貨幣購買機票,為旅客出行提供高效可靠的支付解決方案[4]。針對問題b),航空公司、集團客戶較多采用密碼學技術,如公鑰加密[5]、數字簽名[6]等,對消費數據進行加密,嚴格控制個人、企業以及交易信息的隱私泄露風險。具有代表性的橢圓曲線加密方案,結合身份基算法機制,即可針對移動電商系統數據庫中不同安全等級的數據,組合設計不同加密方案,從多個方面和層次保證數據存儲的安全性和系統效率[7]。針對問題c),國內外航空組織、立法機構也紛紛形成法律條文實施有效監管,同時嘗試采用區塊鏈技術[8],為公開監管提供技術保障與可信平臺[9]。上述方法從技術與法律的角度,為航空差旅的交易隱私提供了強有力的保護。但需要注意的是,傳統的數據加密技術僅可以確保處于靜態存儲狀態的信息不被泄露,但是交易過程中會頻繁產生新的、上傳至區塊鏈的交易單,并涉及支付、找零、驗證等一系列數據分析處理過程。換言之,在交易系統中的資金在交易過程中具有流動性,而針對靜態存儲信息的加密技術不能滿足其要求。同時,傳統的集權化監管方式與現有區塊鏈的分布式存儲特點存在沖突,一方面需要構建與區塊鏈系統相兼容的分布式監管方法,另一方面要通過技術手段確保監管方與交易方的接收信息嚴格一致,以降低作弊風險。
基于上述交易隱私保護與交易監管問題,本文提出了基于區塊鏈的可監管的交易隱私保護方案。該方案對于航空商務交易中所涉及的各項交易金額,采用基于身份的同態加密方案,實現對集團用戶的賬戶金額、支付金額、找零金額的同態加密。一方面確保交易金額在輸入、輸出過程中始終以同態密文形式存在,加強對交易金額的隱私保護;另一方面通過引入零知識證明機制[10,11]確保明文形式的各項流通金額的有效性與支付結果的正確性。此外,本加密方案中創新性地將雙公鑰加密機制融入區塊鏈系統,在上鏈密文中添加一個接收方公鑰,實現兩個接收方獨立解密并獲得相同金額信息,使得監管機構使用其私鑰即可準確獲取交易信息。
1相關工作
2001年,Boneh等人[12]提出了基于身份的公鑰加密機制,該機制使用用戶的身份標識(如手機號碼、郵箱地址等)作為公鑰進行數據加密,不需要公鑰證書,可以更有效地管理密鑰、減小密鑰尺寸。近年來隨著云計算的發展,用戶對于云計算的安全性提出需求,而同態加密機制可以允許第三方在無須解密的前提下對密文進行計算,并得到正確的計算結果,這為云計算的數據隱私問題提供了解決方案。全同態加密作為一種公鑰加密方案,存在公鑰認證以及密鑰保存等問題,因此基于身份的全同態加密方案在云計算安全領域具有重要的應用價值。2013年,Gentry等人[13]提出基于對偶容錯學習問題的全同態加密體制,該體制最大特點是同態運算過程中無須運算密鑰參與,這為構造基于身份的全同態加密機制提供了技術支持。隨后,為提升方案應用價值,研究者們致力于身份基態同加密機制的運算效率提升以及工作模式優化,主要集中在兩個方向:a)采用更高效的陷門生成方法[14],例如高效的格陷門生成算法構造身份基同態加密方案[15],以及通過降低陷門生成復雜度來提升運算效率[16];b)為適應云通信場景中的一對多模式,研究者們提出多身份全同態加密[17,18]、全同態身份基廣播加密方案[19]等,旨在滿足實際應用中一份密文由多鏈路或多角色接收方解密的需求。
需要注意的是,云計算環境下存在兩類數據:a)靜態存儲數據,如云存儲系統中非流通性數據,這類數據可以利用傳統的數字加密技術確保其安全,即對數據進行加密后再發送或存儲,公鑰加密技術在該領域已取得豐富的研究成果;b)動態的流通性數據,如本文所涉及的交易數據,用戶需要對密文狀態的交易數據進行正確性分析、處理、驗證等操作,基于同態加密可對封裝后密文安全計算的屬性,同態加密為交易數據的隱私保護問題提供了解決方案。在交易隱私保護領域,2017年,Wang等人[20]
提出了基于RSA假設的身份基同態Paillier加密方案,隱藏交易中的明文信息,加密金額通過承諾值證明進行核對。2020年Ma等人[21]采用同態加密算法和非交互式零知識證明方案,提出了保護資產隱私性的交易系統。進一步地,基于密碼學技術,研究者們構建隱私保護關鍵技術:門羅幣使用環簽名隱藏交易發起方,使用同態加密隱藏交易金額,使用一次性地址技術隱藏交易接收方[22];零幣使用零知識證明技術隱藏交易發起方、交易接收方和交易金額[23]。本文針對交易金額的隱私保護,采用身份基同態加密方案,致力于解決航空差旅消費過程中的交易金額的隱私保護問題,實現了對動態交易數據的隱私保護;同時創新性地在身份基加密方案中引入監管方陷門函數,適用于一對二的通信模式,確保了作為額外接收方的監管者能夠及時審查航空公司和集團客戶之間的真實交易金額。
2數學基礎
雙線性映射:
a)1、2、T是三個階為素數n的循環群;
b)群1的生成元為G1,群2的生成元為G2;
c)為雙線性映射:1×2→T。
雙線性映射具有以下兩個性質:
a)雙線性。對任意a,b∈*,U∈1,V∈2,(a·U,b·V)=(U,V)ab均成立;
b)非退化性。(G1,G2)≠1。
因此,(G1,G2)是群T的生成元。
如果1=2,則為對稱雙線性映射,否則為非對稱雙線性映射。本文使用對稱雙線性映射。雙線映射作為數學工具,廣泛用于構造具有安全結果的密碼學算法[24,25]。
3系統架構
應用場景:航空公司的集團客戶員工Tom購買機票時,使用App掃描航空公司官網的支付二維碼,即可進行消費記賬,無須真實付費。當Tom來到航空公司合作酒店入住時,只需打開App、掃描二維碼完成本次消費的記賬,輸入電子簽名即可。Tom公款消費的每一筆發票都存在了區塊鏈的賬單上,Tom所在公司的財務人員登錄區塊鏈交易系統,進行支付。支付過程中,盡管交易金額始終以密文形式存在于交易過程中,但明文交易額均能被正確計算和處理,航空公司最終會獲得相應的支付金額,集團客戶獲得相應找零金額。同時,Tom不需要預先墊付資金并介入繁瑣的報銷流程。
如圖1所示,基于區塊鏈的可監管航空差旅消費隱私保護交易系統包含五個參與方,分別為航空公司、航空公司集團客戶(下文簡稱集團客戶)、航空公司集團客戶的差旅人員(下文簡稱用戶)、監管機構和區塊鏈共識節點。
該系統模型包含以下步驟:a)生成所需系統公共參數;b)用戶、集團客戶、航空公司、監察機關生成各自的私鑰和公鑰;c)用戶對消費業務數據進行簽名;d)共識節點進行簽名一致性驗證;e)集團客戶根據一個或多個消費業務數據簽名信息,對支付金額和找零金額進行同態加密并生成對應的零知識證據,證明支付金額和找零金額均大于或等于零、輸入之和等于輸出之和;f)集團客戶進行交易簽名;g)共識節點對交易簽名和同態金額密文進行一致性驗證;h)航空公司服務商解密支付金額;i)集團客戶解密找零金額;j)監察機關對支付金額和找零金額解密并實現監管。本文中,同態加密后的金額被稱為“態密金額”。
4方案構造
方案構造中簽名算法使用橢圓曲線數字簽名ECDSA[26]。同態加密方案基于Boneh加密方案[12]進行較大擴展,在身份基加密方案的基礎上添加一個接收方公鑰,生成的密文中嵌入兩個接收方公鑰,使得兩個接收方均能夠使用各自的私鑰,獨立解密并獲得相同的明文消息。零知識證明使用標準的Sigma協議和Bulletproofs范圍證明協議[27]。
a)初始化。系統輸入安全參數λ,輸出系統公共參數。選擇對稱雙線性群參數=(,T,G,p,),雙線性映射:×→T,群的階為n和生成元為G。哈希函數H1:{0,1}*→,H2:{0,1}*→n。隨機選擇α∈*n,計算G1=α·G,則主密鑰和主公鑰分別為
msk=α,MPK=G1
b)密鑰生成。用戶、集團客戶、航空公司,監察機關各自獨立運行密鑰生成算法,生成相應的公鑰與私鑰。用戶將其身份ID1提交給系統,則系統輸入主密鑰msk=α,計算用戶私鑰dID1:
dID1:=α·H1(ID1)
基于身份的密鑰對(dID1,ID1)用于實現同態加密與解密。此外,用戶生成私鑰a1∈n和公鑰P1,其中P1=a1·G∈,用于實現交易簽名與驗證。令用戶的私鑰SK1=(dID1,a1),公鑰PK1=(ID1,P1)。類似地,集團客戶的私鑰和公鑰分別為(SK2,PK2),其中SK2=(dID2,a2),PK2=(ID2,P2),P2=a2·G;航空公司的私鑰和公鑰分別為(SK3,PK3),其中SK3=(dID3,a3),PK3=(ID3,P3),P3=a3·G;監察機關的私鑰和公鑰為(SK4,PK4),SK4=(dID4,a4),PK4=(ID4,P4),P4=a4·G。
c)用戶消費簽名。用戶對消費數據m進行簽名。用戶輸入其私鑰a1,選擇隨機數k1∈*n,計算如下:
(x1,y1):=k1·G,r1:=x1 mod n
s1:=k-11(H2(m)+a1r1) mod n
如果r1≠0,s1≠0,則簽名為σ1=(r1,s1);用戶將消費數據簽名對(m,σ1)廣播到區塊鏈系統中。
d)消費簽名驗證。區塊鏈共識節點對消費數據簽名進行一致性判斷。共識節點輸入消費數據簽名對(m,σ1)及對應的公鑰P1,進行如下一致性判斷:
u1:=H2(m)s-11 mod n,u2:=r1s-11 mod n
(x′1,y′1):=u1·G+u2·P1
實現對消費數據簽名的正確性驗證。如果r1=x′1,則存儲到區塊鏈系統中,否則拒絕。
e)金額同態加密。 集團客戶運行加密算法HEnc,對各類交易金額進行同態加密。
(a)支付金額加密。支付金額是指集團客戶支付航空公司的金額。集團客戶根據一個或多個消費數據簽名對(m,σ1),計算對應的支付金額v1。集團客戶輸入其私鑰a2、隨機數γ1、系統主公鑰G1、航空公司公鑰P3、監察機關身份ID4和支付金額v1進行同態加密。
C1:=HEnc(SK2,PK3,PK4,v1)=(C1,1,C1,2,C1,3)=(γ1,H2(γ1,a2·P3)·G,(G,G)v1·(H1(ID4),G1)H2(γ1,a2·P3))
(b)找零金額加密。找零金額是指集團客戶向航空公司支付后賬戶剩余的金額。對于找零金額v2,系統主公鑰G1、集團客戶輸入其私鑰和公鑰(a2,P2)、隨機數γ2、監察機關身份ID4和找零金額v2進行同態加密。
C2:=HEnc(SK2,PK2,PK4,v2)=(C2,1,C2,2,C2,3)=(γ2,H2(γ2,a2·P2)·G,(G,G)v2·(H1(ID4),G1)H2(γ2,a2·P2))
(c)未花費金額密文。未花費金額是指集團客戶上次交易后賬戶上留有的、用于本次消費支出的金額。對花費金額v0進行如下加密:
C0:=HEnc(SK0,PK2,PK4,v0)=(C0,1,C0,2,C0,3)=(γ0,H2(γ0,a0·P2)·G,(G,G)v0·(H1(ID4),G1)H2(γ0,a0·P2))
其中:a0是指上一交易發起方的私鑰,P2是集團客戶收款金額v0對應的公鑰。對應地,上一交易發起方的公鑰為P0,其中P0=a0·G∈。
(d)未花費積分密文。未花費積分是指集團客戶上次交易后賬戶上留有的、用于本次消費支出的積分,集團客戶優先花費賬戶積分,積分用盡后再花費賬戶金額。對花費積分v′0進行如下加密:
C′0:=HEnc(SK′0,PK2,PK4,v′0)=(C′0,1,C′0,2,C′0,3)=
(γ′0,H2(γ′0,a′0·P2)·G,(G,G)v′0·(H1(ID4),G1)H2(γ′0,a′0·P2))
其中:a′0是指系統生成的隨機數,P2是集團客戶接收積分v′0對應的公鑰。當用戶完成一筆消費后,系統會產生一定數量的積分,積分可用于航空公務出行中的支出消費。該積分由系統生成,該過程類似于比特幣系統中的挖礦獎勵。
由于上述所有交易金額與積分都隱藏在同態密文中,需要驗證實際明文金額是否被正確交易和處理。這是證明交易的輸入之和與輸出之和相等的原因,即v0+v′0=v1+v2。通過驗證集團客戶支付金額v1為正值,可以有效防止集團客戶虛假支付,例如:將一筆負數金額支付給航空公司;驗證集團客戶找零金額v2為正值,可以有效防止集團客戶超額支付導致賬戶余額為負。此外,區塊鏈系統對不同的交易金額均使用一次性地址,可以有效防止雙重花費,即同一筆金額支付兩次。零知識證明的詳細過程如下:
集團客戶生成非交互式零知識證據π1、π2:
ZK{v0+v′0=v1+v2|C0,C′0,C1,C2}
ZK{v1≥0,v2≥0|C1,C2}
分別用于驗證交易的輸入之和等于輸出之和,以及支付金額v1和找零金額v2均大于等于0。交易輸入指的是集團客戶賬戶上的花費金額與花費積分之和,交易輸出指的是本次消費的支付金額與找零金額之和。
具體而言,花費金額v0在密文C0,3中,積分v′0在密文C′0,3中,支付金額v1在密文C1,3中,找零金額v2在密文C2,3中。密文C0,3,C′0,3,C1,3,C2,3滿足以下等式關系:
C0,3·C′0,3C1,3·C2,3=
(G,G)v0·(G,G)v′0(G,G)v1·(G,G)v2(H1(ID4),G1)H2(γ0,a0·P2)·(H1(ID4),G1)H2(γ′0,a′0·P2)(H1(ID4),G1)H2(γ1,a2·P3)·(H1(ID4),G1)H2(γ2,a2·P2)
如果以下離散對數關系等式成立:
C0,3·C′0,3C1,3·C2,3=(H1(ID4),G1)H2(γ0,a0·P2)·(H1(ID4),G1)H2(γ0′,a0′·P2)(H1(ID4),G1)H2(γ1,a2·P3)·(H1(ID4),G1)H2(γ2,a2·P2)
則有以下等式成立:
(G,G)v0·(G,G)v′0(G,G)v1·(G,G)v2=1
從而推導出交易的輸入之和等于輸出之和。
(v0+v′0)-(v1+v2)=0
因此,集團客戶需要證明其知道以下離散對數關系等式成立:
C0,3·C′0,3C1,3·C2,3=(H1(ID4),G1)(H2(γ0,a0·P2)+H2(γ′0,a′0·P2))-(H2(γ1,a2·P3)+H2(γ2,a2·P2))(1)
在離散對數等式式(1)中,集團客戶能夠直接從區塊鏈上獲取C0,3、C′0,3、C1,3、C2,3,且知道ID4、G1、P2、P3、a2;但是,由于a0是上一交易發起方的私鑰,a′0是系統參數的隨機數,所以集團客戶不知道a0、a′0。因此,集團客戶需要證明以下相等的離散對數關系等式成立。
C0,3·C′0,3C1,3·C2,3=
(H1(ID4),G1)(H2(γ0,a2·P0)+H2(γ′0,a2·P′0))-(H2(γ1,a2·P3)+H2(γ2,a2·P2))(2)
其中:P0為上一交易發起方的金額對應的公鑰,P0=a0·G∈;P′0為上一交易發起方的積分對應的公鑰,P′0=a′0·G∈。式(2)與式(1)等價:
C0,3·C′0,3C1,3·C2,3=
(H1(ID4),G1)(H2(γ0,a2·P0)+H2(γ′0,a2·P′0))-(H2(γ1,a2·P3)+H2(γ2,a2·P2))=
(H1(ID4),G1)(H2(γ0,a0·P2)+H2(γ′0,a′0·P2))-(H2(γ1,a2·P3)+H2(γ2,a2·P2))
并且集團客戶知道離散對數等式中的每個參數。因此,集團客戶能夠使用標準的Sigma協議進行零知識證明。此外,集團客戶需要使用Bulletproofs范圍證明協議證明v1≥0,v2≥0。交易產生的金額密文記為C=(C′0,C0,C1,C2,π1,π2)。
f)交易簽名。集團客戶對金額密文進行簽名。集團客戶運行簽名算法,輸入其私鑰a2,選擇隨機數k2∈*n,計算:
(x2,y2):=k2·G
r2:=x2 mod n
s2:=k-12(H2(C)+a2r2) mod n
如果r2≠0,s2≠0,則簽名為σ2=(r2,s2);用戶將態密金額簽名對(C,σ2)廣播到區塊鏈系統中。
g)交易驗證與態密金額驗證。
(a)對支付簽名的正確性驗證。區塊鏈共識節點輸入支付簽名對(C,σ2)及對應的公鑰P2,進行如下一致性判斷:
u3:=H2(C)s-12 mod n
u4:=r2s-12 mod n
(x′2,y′2):=u3·G+u4·P2
如果r2=x′2,則實現了對交易中的密態交易金額的簽名正確性驗證。
(b)對零知識證據正確性驗證。共識節點輸入零知識證據π1、π2,驗證Sigma協議π1和Bulletproofs范圍證明協議π2,如果零知識證據π1、π2驗證均正確,且無雙重花費問題,則存儲到區塊鏈系統中,否則拒絕。
h)支付金額解密。航空公司對密文形式的支付金額解密驗證。航空公司運行解密算法,輸入其私鑰a3、集團客戶公鑰P2、主公鑰G1、監察機關身份ID4和局部密文C1,1、C1,3,如下解密:
(G,G)v1:=C1,3(H1(ID4),G1)H2(C1,1,a3·P2)
航空公司根據一個或多個消費數據簽名對(m,σ1)計算出匹配的金額v′1。如果(G,G)v1=(G,G)v′1等式成立,則接受;否則拒絕。
i)找零金額解密。集團客戶對密文形式的找零金額解密驗證。集團客戶運行解密算法,輸入其私鑰a2、集團客戶公鑰P2、主公鑰G1、監察機關身份ID4和局部密文C2,1、C2,3,進行如下解密:
(G,G)v2:=C2,3(H1(ID4),G1)H2(C2,1,a2·P2)
集團客戶根據一個或多個消費數據簽名對(m,σ1)計算出匹配的金額v1。此外,集團客戶知道其需要花費的金額v0和積分v′0。如果以下等式成立:
(G,G)v2=(G,G)v0+v′0-v1
則接收,否則拒絕。
j)交易監管。監管機關對支付金額與找零金額解密。監察機關運行解密算法,輸入其私鑰dID4和局部密文C1,2、C1,3,進行如下解密:
(G,G)v1:=C1,3(dID4,C1,2)
監察機關使用搜索法搜索出v′1,使得以下等式成立:
(G,G)v1=(G,G)v′1
從而獲得支付金額v1。
類似地,監察機關運行解密算法HDec,輸入其私鑰dID4和局部密文C2,2、C2,3,進行如下解密:
(G,G)v2:=C2,3(dID4,C2,2)
監察機關使用搜索發直接搜索出v′2,使得以下等式成立:
(G,G)v2=(G,G)v2′
從而獲得找零金額v2。因此,監察機關能夠解密整個區塊鏈上的所有交易金額,實現整個交易系統的監管,并發現航空公司是否提供高價服務等問題。
5方案對比及分析
5.1與同類密碼學方案性能對比
本方案基于Boneh[12]加密方案進行較大擴展,在其基礎上添加一個接收方公鑰,生成的密文中嵌入了兩個公鑰陷門信息,使得兩個接收方均能夠獨立解密并獲得相同的明文信息。對文獻[12]中的加密方案簡單擴展為基于身份的同態加密,構造如下密文:
C=(rG,(G,G)v·(H1(ID),G1)r)
其中:r∈q;G為群的生成元;(G,G)為雙線性群T的生成元;H1為哈希函數;ID為接收方的身份;G1=α·G,α為主私鑰,G1為主公鑰。
如表1所示,基于文獻[12]擴展的同態加密方案,記為Ref[12] _ext。其中,|n|為正整數n的長度,||是群元素的長度,|T|是雙線性群T元素的長度,P是雙線性映射計算,E是群上指數運算,ET是群T上指數運算,Mn為橢圓曲線模運算,M是群上橢圓曲線點乘運算,MT是群T上橢圓曲線點乘運算,哈希函數H2、H1計算可忽略。為方便描述,假定航空公司對應接收方A,監察機關對應接收方B。文獻[20](記為Ref[20])使用Paillier同態加密方案實現對比特幣交易額隱私保護,該方案使用范圍承諾證明[28]保證在交易中隱藏的交易值始終為正值,且交易金額前后總數一致,保證交易密文的正確性。Ref[20]與本文方案均基于同態加密實現了交易金額的隱私保護,因此具有對比分析的意義。
Ref[12]_ext僅有一個接收方,而本文方案有兩個獨立接收方,對于接收方A其解密計算復雜度與Ref[12]_ext的復雜度相同,對于接收方B其解密復雜度僅增加一個橢圓曲線指數計算E。也就是說,本文方案增加了較小的密文長度和計算復雜度就實現了兩個獨立的解密接收方,且整個加密過程不需要交互。在需要有第二個接收方(監管方)的情形下,本文方案高效實現了接收方和監管方獨立解密功能。
相較于Ref[20],本文同樣使用基于身份的同態加密機制實現交易金額的隱私保護,但本文采用基于橢圓曲線的離散對數假設,同時引入額外接收方,將該額外的接收方設置為監察機關,則監察機關能夠解密所有用戶之間的同態金額密文,進而實現交易金額可監管的功能。然而,如果Ref[20]需要實現交易可監管,則需要使用監管方的公鑰對金額再次進行加密,并使用零知識證明協議證明接收方公鑰加密的金額等于監管方公鑰加密的金額,該過程需要較長的密文和較大的計算復雜度。T無
Ref[20]強RSA|N|2E+mN2P+ET+E+mN2無
本文方案離散對數|n|+||+|T|P+ET+2E+2Mn+MTP+ETMn+MTP+ET+E+Mn+MT
基于上述理論分析結果,展開相應的實驗測試。測試平臺如表2所示。
為對比算法的計算開銷,本文選擇jpbc庫中Type A橢圓曲線y2=x3+x進行測試。其中,RSA的模長度為1 024位,本文提出的加密方案具有160位的指數,512位長度的橢圓曲線群元素。
如圖2所示,Ref[12]_ext、Ref[20]與本文方案的平均加密時間分別為15.35 ms、80 ms、16 ms。如圖3所示,接收方A的平均解密時間分別為15 ms、95 ms、15 ms,本方案所增加的接收方B的平均解密時間為15.45 ms。因此,相對Ref[12]_ext和Ref[20],本加密方案在添加一個接收方的情況下效率仍然較高。
5.2與其他隱私保護方案功能對比
本文方案在密文中添加一個接收方公鑰,使得監管機構和航空公司均能夠獨立解密并獲得相同的明文信息,并將此加密機制融入區塊鏈系統,實現了交易金額保護與監管的雙重功能, 這是基于密碼學技術實現交易隱私保護的創新應用。一般情況下,交易隱私保護包括交易發送方、交易接收方、交易金額三者的保護。在這一標準下,本文與當前主流的區塊鏈隱私保護技術實現的效果各不相同,實現功能如表3所示。
與當前主流的區塊鏈隱私保護技術相比,本文方案在實現交易金額隱私保護的前提下,創新性地引入監管功能,監管方能夠解密每筆交易金額。僅當區塊鏈能夠被嚴格監管,用以解決壟斷、合謀、作弊等金融問題時,才能保障交易雙方的合法權益與隱私,確保其按照既定的市場規律進行交易,同步推動區塊鏈的廣泛應用。
5.3方案安全性分析
本文方案是在Boneh等人[12]基于身份的公鑰加密方案的擴展,該方案滿足不可區分選擇身份攻擊安全(即IND-ID-CPA安全模型),本文對其安全性證明的步驟不再重復描述。結合本方案的應用場景,其安全性分析的思路可描述如下:本文方案中,攻擊者定義為半誠實的區塊鏈系統以及具備主動攻擊能力的各類網絡敵手;本文方案中的仿真者定義為處于中立角色的用戶(如航空公司、旅客等),他們在一定程度上可以為攻擊者提供相關信息,如交易密文、用戶身份以及公共參數。本文方案的安全目標為攻擊者在獲得密文、用戶身份以及公共參數時,無法獲取用戶的原始數據信息。在以上設定的前提下,給出相關定理:
定理1攻擊者根據他們所獲取的信息成功恢復用戶原始數據的概率是可以忽略的。
需要證明的是攻擊者在不知道私鑰的情況下成功獲得用戶原始消費數據的概率等同于攻破雙公鑰加密算法的概率。由雙公鑰加密算法語義安全可知,攻破雙公鑰加密算法的概率是可以忽略的,因此攻擊者獲取用戶數據的概率也是可以忽略的。
攻擊者試圖攻破雙公鑰加密算法的過程在現實場景中表現為:由于攻擊者與用戶之間可以存在一定的交互,所以當攻擊者將一個密文發送給用戶時,用戶可以返還給攻擊者0或1。攻擊者在不知道私鑰的情況下,無法獲得該密文的具體內容,并且此時用戶返還的明文(0或1)和其對應的攻擊者發送的密文無法匹配,因而無法在獲取足夠多0或1明文與其對應密文的情況下猜測出密文內容。綜上,攻擊者攻破雙公鑰加密算法的概率是可以忽略的,因此攻擊者在僅僅知道密文、用戶身份以及公共參數的情況下成功獲得用戶原始消費數據的概率可以忽略,定理1得證。因此,本文方案是安全的。
6結束語
本文利用密碼學技術,為航空差旅消費中所面臨的安全交易、精準結算、有效監管問題提供解決方案。
a)從安全性角度,本文方案實現了封裝后交易金額的可操作性與交易正確性,同時確保了交易隱私不遭受任何泄露。安全性分析表明,任何一筆交易的輸入之和與輸出之和相等,且交易支付金額與找零金額均為正。
b)從服務功能角度,本文方案通過設計雙公鑰加密算法并融入區塊鏈交易平臺,為監管方提供了監管入口,使其可以分布式地解密并獲得與交易方嚴格一致的消費數據,對交易與服務數據進行實時監管。
c)從執行性角度,本文方案在沒有降低執行效率的前提下,實現了監管方、交易者之間的高效解密與精準核算。實驗分析表明,本方案的加密運行時間、解密運行時間均約為15 ms,與傳統方案相比,在引入了額外接收方的前提下,依然可以保持高效運行。
當前研究工作聚焦于密碼學算法的設計與計算,下一步研究工作將致力于方案在區塊鏈系統的運行時間、運行效率的計算與分析。
參考文獻:
[1]王晶.大型客機國內民航旅客市場特征分析[J].民用飛機設計與研究,2010(4):73-78.(Wang Jing.Passenger market characteristic analysis of domestic civil aviation for truck liner[J].Civil Aircraft Design and Research,2010(4):73-78.)
[2]中國民航管理干部學院,民航運輸市場研究所.我國民航國內旅客市場特征及發展趨勢研究[J].中國民用航空,2005,54(6):36-39.(Civil Aviation Management Institute of China,Civil Aviation Transportation Market Research Institute.Study on features and trends of Chinese domestic passenger market[J].Civil Aviation Economics and Technology,2005,54(6):36-39.)
[3]徐依娜.新加坡航空推出全球首個區塊鏈忠誠度數字錢包[J].中國會展,2018(4):25.(Xu Yina.Singapore Airlines launches the world’s first blockchain-based loyalty digital wallet[J].China Convention and Exhibition,2018(4):25.)
[4]李福娟.區塊鏈技術在航空公司積分體系的應用探索[J].技術與實踐,2020,2020(6):165-167.(Li Fujuan.Exploration on the application of blockchain technology in airline frequent-flyer miles system[J].Technology and Practice,2020,2020(6):165-167.)
[5]Bellare M,Desai A,Pointcheval D,et al.Relations among notions of security for public-key encryption schemes[C]//Proc of CRYPTO.Berlin:Springer,1998:26-45.
[6]劉磊.橢圓曲線密碼體制在SET協議中的應用與軟件實現[D].杭州:杭州電子科技大學,2014.(Liu Lei.Application and software implementation of elliptic curve cryptosystem in SET Protocol[D].Hangzhou:Hangzhou Dianzi University,2014.)
[7]路放.移動電商平臺的系統安全方案設計與實現[D].北京:北京郵電大學,2016.(Lu Fang.Design and implementation of system security scheme for mobile e-commerce platform[D].Beijing:Beijing University of Posts and Telecommunications,2016.)
[8]馮登國.評《區塊鏈共識機制研究綜述》[J].密碼學報,2020,7(2):145-145.(Feng Dengguo.Review of research on blockchain consensus mechanism[J].Journal of Cryptologic Research,2020,7(2):145-145.)
[9]王珍發.論區塊鏈技術推動民航治理現代化之思考[J].民航管理,2020,351(1):23-26.(Wang Zhenfa.On the block chain technology to promote the governance modernization of civil aviation[J].Civil Aviation Management,2020,351(1):23-26.)
[10]Alshaikhli I F T,Makarin R H,Mohd Bakri S K,et al.Zero-know-ledge-proof[M]//Cryptography Past Present and Future.2011.
[11]Zhang Zongyang,Cao Zhenfu,Zhu Haojin.Constant-round adaptive zero-knowledge proofs for NP[J].Information Sciences,2014,261:219-236.
[12]Boneh D,Franklin M.Identity-based encryption from the Weil pairing[C]//Proc of Annual International Cryptology Conference.Berlin:Springer,2001:213-229.
[13]Gentry C,Sahai A,Waters B.Homomorphic encryption from learning with errors:conceptually-simpler,asymptotically-faster,attribute-based[C]//Proc of Annual Cryptology Conference.Berlin:Springer,2013:75-92.
[14]辛丹,顧純祥,鄭永輝,等.一種基于身份的全同態加密體制[J].信息工程大學學報,2015,16(3):267-273.(Xin Dan,Gu Chun-xiang,Zheng Yonghui,et al.Identity-based fully homomorphic encryption[J].Journal of Information Engineering University,2015,16(3):267-273.)
[15]王威力.基于身份的全同態加密體制研究[D].鄭州:解放軍信息工程大學.(Wang Weili.Research on identity based homomorphic encryption system[D].Zhengzhou:Information Engineering Univer-sity.)
[16]湯永利,胡明星,劉琨,等.新的格上基于身份的全同態加密方案[J].通信學報,2017,38(5):39-47.(Tang Yongli,Hu Mingxing,Liu Kun,et al.Novel identity-based fully homomorphic encryption scheme from lattice[J].Journal on Communications,2017,38(5):39-47.)
[17]Clear M,McGoldrick C.Multi-identity and multi-key leveled FHE from learning with errors[C]//Proc of Annual Cryptology Confe-rence.Berlin:Springer,2015:630-656.
[18]涂廣升,楊曉元,周潭平.高效的身份基多用戶全同態加密方案[J].計算機應用,2019,39(3):750-755.(Tu Guangsheng,Yang Xiaoyuan,Zhou Tanping.Efficient identity based multi-user homomorphic encryption scheme[J].Journal of Computer Applications,2019,39(3):750-755.)
[19]馮翰文,劉建偉,伍前紅.基于LWE的全同態身份基廣播加密方案[J].密碼學報,2018,5(1):21-34.(Feng Hanwen,Liu Jianwei,Wu Qianhong.Identity-based broadcast fully homomorphic encryption scheme from LWE[J].Journal of Cryptologic Research,2018,5(1):21-34.)
[20]Wang Qin,Qin Bo,Hu Jiankun,et al.Preserving transaction privacy in bitcoin[M]//Future Generation Computer Systems.2017.
[21]Ma Shunlin,Deng Yi,He Debiao,et al.An efficient NIZK scheme for privacy-preserving transactions over account-model blockchain[J].IEEE Trans on Dependable and Secure Computing,2020,2020(99):1.
[22]Yuen T,Sun Shifeng,Liu J,et al.RingCT 3.0 for Blockchain confidential transaction:shorter size and stronger security[M]//Financial Cryptography and Data Security.2020:464-483.
[23]Ray S.Zerocash:decentralized anonymous payments from bitcoin[J].Computing reviews,2015,56(9):573-574.
[24]Boneh D,Waters B.Conjunctive,subset,and range queries on encrypted data[C]//Proc of Theory of Cryptography Conference.2007.
[25]Lewko A,Waters B.New techniques for dual system encryption and fully secure hibe with short ciphertexts[C]//Proc of International Conference on Theory of Cryptography.Berlin:Springer,2010:455-479.
[26]Johnson D,Menezes A,Vanstone S.The elliptic curve digital signature algorithm(ECDSA)[J].International Journal of Information Security,2001,1(1):36-63.
[27]Bunz B,Bootle J,Boneh D,et al.Bulletproofs:short proofs for confidential transactions and more[C]//Proc of IEEE Symposium on Security and Privacy.Piscataway,NJ:IEEE Press,2018:315-334.
[28]Wu Qianhong,Zhang Jianhong,Wang Yumin.Simple proofs that a committed number is in a specific interval[J].Acta Electronica Sinica,2004,32(7):1071-1073.
收稿日期:2021-07-04;修回日期:2021-09-03基金項目:國家自然科學基金重點資助項目(U2033214);國家重點研發計劃資助項目(2018YFB1601200)
作者簡介:周星光(1984-),女,安徽合肥人,講師,博士,主要研究方向為數據安全、密碼學;劉一(1981-),男(通信作者),天津人,教授,碩導,博士,主要研究方向為民航信息化、大數據分析(liuyi@camic.cn).