劉 一,周星光
(中國(guó)民航管理干部學(xué)院大數(shù)據(jù)與信息管理研究中心,北京 100102)
民航空管數(shù)據(jù)安全共享是國(guó)際民航組織(ICAO)推行的“全球和諧航行”的基礎(chǔ),也是增加空域容量和提升飛行保障能力的核心環(huán)節(jié)。“數(shù)據(jù)”是空管系統(tǒng)運(yùn)行的保證,空管大數(shù)據(jù)是ICAO 推行的基于航跡運(yùn)行的未來空管發(fā)展的基礎(chǔ)[1]。在當(dāng)今空管領(lǐng)域每天產(chǎn)生T 級(jí)數(shù)據(jù)量情況下,面向空管業(yè)務(wù)服務(wù)的數(shù)據(jù)安全存儲(chǔ)與共享至關(guān)重要。2018 年中國(guó)民航局發(fā)布了“創(chuàng)新機(jī)制,凝聚共識(shí),進(jìn)一步推動(dòng)民航運(yùn)行數(shù)據(jù)共享快速健康發(fā)展”的情況通報(bào),旨在加快民航運(yùn)行數(shù)據(jù)共享縱深發(fā)展,打造共享共贏新業(yè)態(tài)。當(dāng)前,我國(guó)民航空管系統(tǒng)正處于加快建設(shè)“四強(qiáng)空管”、推動(dòng)空管高質(zhì)量發(fā)展的攻堅(jiān)階段[2]。
作為民航運(yùn)行共享數(shù)據(jù)源重要組成部分的空管大數(shù)據(jù),其交互主體主要涉及數(shù)據(jù)提供方、使用方、監(jiān)管方。數(shù)據(jù)提供方主要指空管局可以提供共享數(shù)據(jù)的部資門。使用方主要包括使用數(shù)據(jù)資源的航空公司、機(jī)場(chǎng)以及其他空軍用戶等。監(jiān)管方主要承擔(dān)民航空管數(shù)據(jù)資源共享應(yīng)用的合規(guī)性、有效性監(jiān)管以及安全能力檢測(cè)評(píng)估等職責(zé)??展軘?shù)據(jù)共享與交互具有主體關(guān)聯(lián)性強(qiáng)、業(yè)務(wù)量大、交互頻繁等特點(diǎn),一旦某條鏈路發(fā)生網(wǎng)絡(luò)安全攻擊,將引發(fā)全網(wǎng)癱瘓的風(fēng)險(xiǎn)??展軘?shù)據(jù)在上述各主體間交互時(shí)主要面臨的安全問題包括:1)現(xiàn)有數(shù)據(jù)大多采用集中式存儲(chǔ)方式,當(dāng)用戶訪問數(shù)據(jù)時(shí),都要訪問數(shù)據(jù)中心,一方面造成擁塞和訪問時(shí)間長(zhǎng),另一方面當(dāng)中心遭到攻擊時(shí),所有部門均無法提供正常服務(wù);2)現(xiàn)有研究較多關(guān)注大數(shù)據(jù)在空管的應(yīng)用,而對(duì)如何有效獲得空管大數(shù)據(jù)(包括存儲(chǔ)和共享空管大數(shù)據(jù))研究甚少,特別在數(shù)據(jù)共享、存儲(chǔ)等方面缺乏靈活的安全防護(hù)策略,細(xì)粒度訪問機(jī)制與安全保護(hù)強(qiáng)度彼此制約,極易導(dǎo)致數(shù)據(jù)泄露風(fēng)險(xiǎn);3)現(xiàn)有空管數(shù)據(jù)安全共享模型中多采用提供方進(jìn)行數(shù)據(jù)加密及簽名,使用方進(jìn)行數(shù)據(jù)解密、數(shù)據(jù)驗(yàn)簽等,以確保數(shù)據(jù)存儲(chǔ)與共享安全,監(jiān)管方在與使用方交互后方可獲得其使用數(shù)據(jù),導(dǎo)致監(jiān)管效率降低,不能及時(shí)發(fā)現(xiàn)使用中的違規(guī)數(shù)據(jù)。
針對(duì)問題1),各民航等企事業(yè)單位致力于通過數(shù)字化技術(shù)構(gòu)建數(shù)據(jù)共享與交互平臺(tái),加強(qiáng)數(shù)據(jù)連通與融合,突破中心化對(duì)數(shù)據(jù)共享與訪問的限制問題;在大數(shù)據(jù)、人工智能、區(qū)塊鏈等新一代數(shù)字技術(shù)的發(fā)展趨勢(shì)下,國(guó)際航空運(yùn)輸協(xié)會(huì)(IATA)也強(qiáng)調(diào)通過數(shù)字化技術(shù)促進(jìn)運(yùn)行主體單位的合作與共享,其發(fā)布的《航空區(qū)塊鏈白皮書》[3]明確指出,要利用區(qū)塊鏈技術(shù)推動(dòng)航空企業(yè)間的合作。聯(lián)盟鏈作為我國(guó)監(jiān)管體制下已獲得授權(quán)準(zhǔn)入機(jī)制的一種區(qū)塊鏈方式,特別適用于去強(qiáng)力中心、多方協(xié)作的交互場(chǎng)景,其分布式存儲(chǔ)特點(diǎn)和數(shù)據(jù)不可纂改、可溯源等特性與民航運(yùn)行數(shù)據(jù)提供方的數(shù)據(jù)安全需求、使用方及監(jiān)管方的數(shù)據(jù)溯源需求高度契合,是構(gòu)建數(shù)據(jù)共享平臺(tái)的安全可靠方案。針對(duì)問題2),國(guó)際航空機(jī)構(gòu)、空管科技及相關(guān)科研機(jī)構(gòu)紛紛展開研究,致力于通過數(shù)據(jù)應(yīng)用體系結(jié)構(gòu)重塑與密碼學(xué)技術(shù)手段,解決數(shù)據(jù)安全共享與泄露問題。例如:美國(guó)國(guó)家航空航天局的阿姆斯研究中心研究了空管大數(shù)據(jù)的融合問題,使用語義集成技術(shù)建立空管大數(shù)據(jù)系統(tǒng),促進(jìn)空管數(shù)據(jù)的跨系統(tǒng)融通[4];波音公司空中交通管理研發(fā)部門建立航空大數(shù)據(jù)分析系統(tǒng),通過航空大數(shù)據(jù)共享技術(shù),為航空用戶提供數(shù)據(jù)共享、查詢和預(yù)測(cè)分析服務(wù)[5];中國(guó)民航大學(xué)基于密碼學(xué)方法研究民航運(yùn)行系統(tǒng)的網(wǎng)絡(luò)安全問題,提出基于屬性加密的空管大數(shù)據(jù)多授權(quán)中心簽名方案與空管大數(shù)據(jù)訪問控制方案[6]。針對(duì)問題3),民航業(yè)也形成了法律條文以及相應(yīng)的管理辦法,一方面加強(qiáng)數(shù)據(jù)提供方及使用方與監(jiān)管部門的直接對(duì)接與交互,實(shí)現(xiàn)了“事前”預(yù)防與“事后”管控,另一方面為空管數(shù)據(jù)的合理使用提供政策依據(jù)與保障。
上述方法分別從技術(shù)與法律的角度,為空管數(shù)據(jù)安全共享提供了強(qiáng)有力的保護(hù)。但需要注意的是:它尚未從安全機(jī)制上解決多主體交互情境下的數(shù)據(jù)安全與訪問控制問題,也缺乏對(duì)空管數(shù)據(jù)安全共享等基礎(chǔ)安全理論的研究;同時(shí)沒有保障數(shù)據(jù)監(jiān)管與數(shù)據(jù)訪問的同步性,尚未達(dá)到“事中”監(jiān)管的良好效果。因此,有必要基于業(yè)務(wù)體量與安全需求,構(gòu)建符合空管運(yùn)行數(shù)據(jù)共享特征的數(shù)據(jù)加密方案,一方面降低集權(quán)中心的流量負(fù)擔(dān)以及避免多業(yè)務(wù)主體與系統(tǒng)遭受全網(wǎng)攻擊的風(fēng)險(xiǎn),另一方面實(shí)現(xiàn)多主體交互環(huán)境下的數(shù)據(jù)安全與同步監(jiān)管。
基于上述空管運(yùn)行數(shù)據(jù)安全需求,本文基于公鑰密碼學(xué)方法[7],提出一種基于聯(lián)盟鏈的雙公鑰加密方案:數(shù)據(jù)提供方、使用方、監(jiān)管方作為聯(lián)盟鏈的聯(lián)盟成員,在數(shù)據(jù)提供方提交的密文中嵌入使用方與監(jiān)管方的雙重公鑰,突破單純的數(shù)據(jù)保密性需求,監(jiān)管方可以按需、及時(shí)查看任意發(fā)往使用方的共享數(shù)據(jù),而無需額外的協(xié)議交互或二次確認(rèn),這是對(duì)“事中”監(jiān)管的有力保障;基于聯(lián)盟鏈的運(yùn)行數(shù)據(jù)共享平臺(tái),不僅降低了數(shù)據(jù)中心的流量負(fù)擔(dān)與網(wǎng)絡(luò)攻擊風(fēng)險(xiǎn),還為共享數(shù)據(jù)的可溯源性提供保障;上傳至聯(lián)盟鏈的數(shù)據(jù)簽名,則確保了各主體對(duì)于數(shù)據(jù)共享與使用的不可抵賴性。
雙線映射作為數(shù)學(xué)工具,廣泛用于構(gòu)造具有安全結(jié)果的密碼學(xué)算法[8?9]。本文使用對(duì)稱雙線性映射。
定義雙線性映射:
1)G1,G2,GT是3 個(gè)階為素?cái)?shù)n的 循環(huán)群;
2)群 G1生成元為G1,群 G2生成元為G2;
雙線性映射具有以下2 個(gè)性質(zhì)。
1)雙線性:對(duì)任意a,b∈Z?,U∈G1,V∈G2,有均成立。
Weil Diffie-Hellman 困難假設(shè):已知P,aP,bP,cP∈G1,其中a,b,c∈Z,不存在高效算法能夠計(jì)算出
本文所構(gòu)造密碼學(xué)算法的安全性是基于Weil Diffie-Hellman 困難假設(shè)的。
如圖1 所示,基于聯(lián)盟鏈的可監(jiān)管空管數(shù)據(jù)安全方案包含4 個(gè)參與方:空管運(yùn)行數(shù)據(jù)的提供方(簡(jiǎn)稱空管部門)、空管運(yùn)行數(shù)據(jù)的使用方(簡(jiǎn)稱使用方)、空管運(yùn)行數(shù)據(jù)的監(jiān)管方(簡(jiǎn)稱監(jiān)管方)和聯(lián)盟鏈共識(shí)節(jié)點(diǎn)[10]。該系統(tǒng)模型的建立包含8 個(gè)步驟。
圖1 基于聯(lián)盟鏈的空管運(yùn)行數(shù)據(jù)安全共享系統(tǒng)模型
步驟1,生成系統(tǒng)所需的公共參數(shù)。
步驟2,空管部門、使用方和監(jiān)管方基于各自的身份ID 和系統(tǒng)公共參數(shù),生成基于身份ID的私鑰。基于身份ID的標(biāo)識(shí)可用于空管運(yùn)行數(shù)據(jù)的加密。此外,空管部門、使用方和監(jiān)管方獨(dú)立生成各自的私鑰和公鑰。
步驟3,空管部門使用監(jiān)管方的身份ID 和使用方的公鑰對(duì)運(yùn)行數(shù)據(jù)進(jìn)行加密并簽名。
步驟4,共識(shí)節(jié)點(diǎn)驗(yàn)證簽名一致性。如果一致,則接受并上傳至聯(lián)盟鏈,否則拒絕。
步驟5,使用方使用其私鑰解密并獲得空管運(yùn)行數(shù)據(jù)。
步驟6,使用方對(duì)數(shù)據(jù)內(nèi)容的摘要(即對(duì)多項(xiàng)運(yùn)行數(shù)據(jù)進(jìn)行簡(jiǎn)單描述)進(jìn)行簽名。
步驟7,共識(shí)節(jié)點(diǎn)驗(yàn)證數(shù)據(jù)摘要簽名的一致性。如果一致,則接受并上傳至聯(lián)盟鏈,否則拒絕。
步驟8,監(jiān)管方讀取并解密聯(lián)盟鏈上的空管運(yùn)行數(shù)據(jù),讀取使用方的數(shù)據(jù)摘要。如果運(yùn)行數(shù)據(jù)與數(shù)據(jù)摘要匹配,則接受,否則拒絕。
本文中的加密方案是對(duì)文獻(xiàn)[11]中身份基加密方案的擴(kuò)展。原方案中發(fā)送方使用接收方標(biāo)識(shí)ID 對(duì)消息加密,接收方使用標(biāo)識(shí)ID 對(duì)應(yīng)的私鑰進(jìn)行解密。該標(biāo)識(shí)密碼系統(tǒng)中的標(biāo)識(shí)可作為實(shí)際應(yīng)用場(chǎng)景中的部門標(biāo)識(shí),不需要進(jìn)行身份認(rèn)證,具有極大的便捷性。本方案繼承了標(biāo)識(shí)密碼系統(tǒng)的優(yōu)良性質(zhì),直接使用監(jiān)管部門的標(biāo)識(shí)對(duì)運(yùn)行數(shù)據(jù)加密。基于此思路,將標(biāo)識(shí)作為公鑰,添加到空管部門的發(fā)送方密文中,使得監(jiān)管部門和數(shù)據(jù)使用方可以收到完全一致的運(yùn)行數(shù)據(jù)。為了保障雙接收方收到完全一致的數(shù)據(jù),通常會(huì)采用2 種加密方法:一是發(fā)送方利用接收方不同的私鑰,生成2 份密文,接收方使用各自私鑰分別解密,但此方法需要采用額外的零知識(shí)證明過程去驗(yàn)證2 份密文的數(shù)據(jù)內(nèi)容相等;二是發(fā)送方利用雙接收方協(xié)商出的會(huì)話密鑰生成一份密文,雙接收方使用會(huì)話密鑰解密,但此方法的密鑰協(xié)商過程也增加了額外的時(shí)間成本。本文方案是在同一份密文中嵌入雙接收方的公鑰,使用相應(yīng)解密算法確保雙接收方收到完全一致的數(shù)據(jù)消息。這既省去了零知識(shí)證明的過程,也無須額外的會(huì)話密鑰協(xié)商,對(duì)于使用方和監(jiān)管方而言,提高了實(shí)際的執(zhí)行效率和可操作性。該方案的算法步驟如下。
步驟1,系統(tǒng)初始化。系統(tǒng)輸入安全參數(shù) λ,選擇對(duì)稱雙線性群參數(shù)PG=,雙線性映射群 G的階為n和生成元為G。哈希函數(shù)為h1:{0,1}?→G,h2:{0,1}?→{0,1}n。隨機(jī)選擇α ∈Zp,計(jì)算G1=α·G,則主密鑰和主公鑰分別為:MSK=α,MPK=G1。
步驟3,空管部門對(duì)業(yè)務(wù)數(shù)據(jù)加密并簽名。確定某項(xiàng)運(yùn)行數(shù)據(jù)M和監(jiān)管方身份 ID3;輸入其私鑰SK1=a1和使用方公鑰PK2=a2·G,選擇一個(gè)公開隨機(jī)數(shù)γ ∈Zp,對(duì)運(yùn)行數(shù)據(jù)M進(jìn)行加密,為
式中,r1=h2(C1,a1·PK2)=h2(γ,a1a2·G)。
空管部門選擇隨機(jī)數(shù)r2∈以私鑰SK1=a1、數(shù)據(jù)密文C為輸入,計(jì)算簽名
如果δ1=0或δ2=0,則重新選擇隨機(jī)數(shù)r2并重新計(jì)算 δ1與 δ2,最終的簽名為δ=(δ1,δ2)。空管部門將運(yùn)行數(shù)據(jù)密文C和簽名δ 提交到聯(lián)盟鏈系統(tǒng)中。
步驟4,共識(shí)節(jié)點(diǎn)一致性驗(yàn)證與共識(shí)。共識(shí)節(jié)點(diǎn)檢查δ1,δ2是否屬于[1,n?1]:如果否,則拒絕;否則以δ1,δ2和公鑰PK1=a1·G為輸入,進(jìn)行計(jì)算(x1,y1)←δ2·G+(δ1+δ2)·PK1。
如果等式δ1=x1+h2(C)modn成立,則接受并存儲(chǔ)到聯(lián)盟鏈上,否則拒絕。
步驟5,使用方解密。運(yùn)行數(shù)據(jù)使用方從聯(lián)盟鏈上讀取并獲得密文C1=γ,并輸入其私鑰SK2=a2和公鑰PK1=a1·G,計(jì)算隨機(jī)數(shù)r1:r1=h2(C1,a2·PK1)=h2(γ,a2a1·G)。使用方輸入隨機(jī)數(shù)r1、監(jiān)管方身份 ID3、主公鑰G1和局部密文C3,解密運(yùn)行數(shù)據(jù)M,為
以此類推,使用方可解密獲得多項(xiàng)運(yùn)行數(shù)據(jù),記為M1,···,Mn。使用方對(duì)數(shù)據(jù)內(nèi)容的摘要進(jìn)行簽名。
步驟6,使用方進(jìn)行數(shù)據(jù)摘要與簽名。使用方對(duì)多項(xiàng)用于共享的運(yùn)行數(shù)據(jù)M1,···,Mn進(jìn)行摘要計(jì)算,輸入數(shù)據(jù)摘要DataAbs、使用方私鑰SK2=a2和監(jiān)管方公鑰PK3=a3·G,選擇隨機(jī)數(shù)r3∈進(jìn)行計(jì)算,為
如果δ3=0或δ4=0,則重新選擇隨機(jī)數(shù)r3并重新計(jì)算 δ3與 δ4,最終生成簽名δ′=(δ3,δ4)。使用方將數(shù)據(jù)摘要DataAbs和簽名 δ′提交到聯(lián)盟鏈系統(tǒng)中。
步驟7,共識(shí)節(jié)點(diǎn)一致性驗(yàn)證與共識(shí)。共識(shí)節(jié)點(diǎn)檢查 δ3與 δ4是否屬于[1,n?1]:如果不屬于,則拒絕;否則以 δ3,δ4和公鑰PK2=G2為輸入,進(jìn)行計(jì)算,為
若等式δ3=x2+h2(DataAbs,G3)modn成立,則接受并存儲(chǔ)到聯(lián)盟鏈上,否則拒絕。
步驟8,監(jiān)管方解密。監(jiān)管方從聯(lián)盟鏈上讀取并獲得密文C2與C3,輸入其私鑰dID3,進(jìn)行解密,為
以此類推,監(jiān)管方可解密獲得多項(xiàng)運(yùn)行數(shù)據(jù)M1,···,Mn,并判斷數(shù)據(jù)M1,···,Mn與數(shù)據(jù)摘要DataAbs的匹配性(以確保使用方對(duì)所使用的數(shù)據(jù)不可篡改):如果匹配,則接受并完成驗(yàn)證;否則拒絕。
解密一致性檢驗(yàn)包括2 方面。
1)使用方解密滿足一致性。
2)監(jiān)管方解密滿足一致性。
解密一致性表明,使用方和監(jiān)管方在無需協(xié)議協(xié)商的情況下,即可解密獲得嚴(yán)格一致的消費(fèi)數(shù)據(jù)。
本方案基于Dan Boneh 加密方案[11]進(jìn)行較大擴(kuò)展,在其基礎(chǔ)上添加一個(gè)接收方公鑰,生成的密文中嵌入了2 個(gè)公鑰陷門信息,使得數(shù)據(jù)使用方和監(jiān)管方作為2 個(gè)接收方均能夠獨(dú)立解密并獲得相同的明文信息。本文基于方案構(gòu)造步驟3、步驟5、步驟8,對(duì)數(shù)據(jù)提供方(空管部門)的加密復(fù)雜度、使用方和監(jiān)管方的解密復(fù)雜度進(jìn)行分析,如表1所示。其中:Pair 是雙線性映射計(jì)算;Exp 是指數(shù)計(jì)算;H2,H1分別是哈希函數(shù)H2,H1的計(jì)算;Xor是異或計(jì)算。H2和Xor計(jì)算量較低,可忽略。
表1 性能分析
實(shí)驗(yàn)測(cè)試平臺(tái)的情況如表2 所示。本文選擇jPBC 庫(kù)中Type A 橢圓曲線進(jìn)行測(cè)試,運(yùn)行與對(duì)比加密、解密算法的計(jì)算復(fù)雜度。
表2 實(shí)驗(yàn)配置平臺(tái)
如圖2 所示,采用文獻(xiàn)[11]方案和本文方案對(duì)10 組隨機(jī)數(shù)據(jù)加密,平均加密時(shí)間分別為56.3 ms、64.7 ms。本文方案加密時(shí)間略有增加的原因在于,本方案有額外接收方的公鑰嵌入密文,導(dǎo)致需要一次額外的指數(shù)計(jì)算,時(shí)間約10 ms,其影響可以忽略。如圖3 所示,采用文獻(xiàn)[11] 方案對(duì)10 組隨機(jī)數(shù)據(jù)解密,平均解密時(shí)間約為14.6 ms,采用本方案,數(shù)據(jù)使用方與監(jiān)管方的解密時(shí)間分別為14.8 ms、54.8 ms。本文方案中數(shù)據(jù)使用方的解密時(shí)間復(fù)雜度與文獻(xiàn)[11]方案的接收方解密時(shí)間復(fù)雜度幾乎一致;本文方案監(jiān)管方需要進(jìn)行額外的指數(shù)運(yùn)算,且根據(jù)公開隨機(jī)數(shù)和指數(shù)運(yùn)算結(jié)果進(jìn)行哈希值運(yùn)算,增量了一定的計(jì)算量,但運(yùn)行總時(shí)間小于60 ms,低于聯(lián)盟鏈網(wǎng)絡(luò)平均100 ms的傳輸時(shí)間。綜上所述,本方案在增加了1 位接收方的情況下依然保持較高的運(yùn)行效率。
圖2 加密時(shí)間
圖3 解密時(shí)間
本方案基于聯(lián)盟鏈系統(tǒng),創(chuàng)新性地融入了雙公鑰加密機(jī)制。一方面確保了空管運(yùn)行數(shù)據(jù)的安全,為其安全共享與同步監(jiān)管提供保障;另一方面為空管運(yùn)行數(shù)據(jù)多主體協(xié)同運(yùn)行提供新的模式,降低了中心流量負(fù)擔(dān)與網(wǎng)絡(luò)攻擊風(fēng)險(xiǎn)。此外,本方案采用基于橢圓曲線離散對(duì)數(shù)的加密算法,與現(xiàn)有聯(lián)盟鏈系統(tǒng)采取的橢圓曲線公鑰密碼方法相一致,確保了算法的可擴(kuò)展性與高效性。