基于双公钥加密技术的可监管空管数据安全共享方案

2022-01-24 08:36周星光
关键词:公钥密文空管

刘 一,周星光

(中国民航管理干部学院大数据与信息管理研究中心,北京 100102)

民航空管数据安全共享是国际民航组织(ICAO)推行的“全球和谐航行”的基础,也是增加空域容量和提升飞行保障能力的核心环节。“数据”是空管系统运行的保证,空管大数据是ICAO 推行的基于航迹运行的未来空管发展的基础[1]。在当今空管领域每天产生T 级数据量情况下,面向空管业务服务的数据安全存储与共享至关重要。2018 年中国民航局发布了“创新机制,凝聚共识,进一步推动民航运行数据共享快速健康发展”的情况通报,旨在加快民航运行数据共享纵深发展,打造共享共赢新业态。当前,我国民航空管系统正处于加快建设“四强空管”、推动空管高质量发展的攻坚阶段[2]。

作为民航运行共享数据源重要组成部分的空管大数据,其交互主体主要涉及数据提供方、使用方、监管方。数据提供方主要指空管局可以提供共享数据的部资门。使用方主要包括使用数据资源的航空公司、机场以及其他空军用户等。监管方主要承担民航空管数据资源共享应用的合规性、有效性监管以及安全能力检测评估等职责。空管数据共享与交互具有主体关联性强、业务量大、交互频繁等特点,一旦某条链路发生网络安全攻击,将引发全网瘫痪的风险。空管数据在上述各主体间交互时主要面临的安全问题包括:1)现有数据大多采用集中式存储方式,当用户访问数据时,都要访问数据中心,一方面造成拥塞和访问时间长,另一方面当中心遭到攻击时,所有部门均无法提供正常服务;2)现有研究较多关注大数据在空管的应用,而对如何有效获得空管大数据(包括存储和共享空管大数据)研究甚少,特别在数据共享、存储等方面缺乏灵活的安全防护策略,细粒度访问机制与安全保护强度彼此制约,极易导致数据泄露风险;3)现有空管数据安全共享模型中多采用提供方进行数据加密及签名,使用方进行数据解密、数据验签等,以确保数据存储与共享安全,监管方在与使用方交互后方可获得其使用数据,导致监管效率降低,不能及时发现使用中的违规数据。

针对问题1),各民航等企事业单位致力于通过数字化技术构建数据共享与交互平台,加强数据连通与融合,突破中心化对数据共享与访问的限制问题;在大数据、人工智能、区块链等新一代数字技术的发展趋势下,国际航空运输协会(IATA)也强调通过数字化技术促进运行主体单位的合作与共享,其发布的《航空区块链白皮书》[3]明确指出,要利用区块链技术推动航空企业间的合作。联盟链作为我国监管体制下已获得授权准入机制的一种区块链方式,特别适用于去强力中心、多方协作的交互场景,其分布式存储特点和数据不可纂改、可溯源等特性与民航运行数据提供方的数据安全需求、使用方及监管方的数据溯源需求高度契合,是构建数据共享平台的安全可靠方案。针对问题2),国际航空机构、空管科技及相关科研机构纷纷展开研究,致力于通过数据应用体系结构重塑与密码学技术手段,解决数据安全共享与泄露问题。例如:美国国家航空航天局的阿姆斯研究中心研究了空管大数据的融合问题,使用语义集成技术建立空管大数据系统,促进空管数据的跨系统融通[4];波音公司空中交通管理研发部门建立航空大数据分析系统,通过航空大数据共享技术,为航空用户提供数据共享、查询和预测分析服务[5];中国民航大学基于密码学方法研究民航运行系统的网络安全问题,提出基于属性加密的空管大数据多授权中心签名方案与空管大数据访问控制方案[6]。针对问题3),民航业也形成了法律条文以及相应的管理办法,一方面加强数据提供方及使用方与监管部门的直接对接与交互,实现了“事前”预防与“事后”管控,另一方面为空管数据的合理使用提供政策依据与保障。

上述方法分别从技术与法律的角度,为空管数据安全共享提供了强有力的保护。但需要注意的是:它尚未从安全机制上解决多主体交互情境下的数据安全与访问控制问题,也缺乏对空管数据安全共享等基础安全理论的研究;同时没有保障数据监管与数据访问的同步性,尚未达到“事中”监管的良好效果。因此,有必要基于业务体量与安全需求,构建符合空管运行数据共享特征的数据加密方案,一方面降低集权中心的流量负担以及避免多业务主体与系统遭受全网攻击的风险,另一方面实现多主体交互环境下的数据安全与同步监管。

基于上述空管运行数据安全需求,本文基于公钥密码学方法[7],提出一种基于联盟链的双公钥加密方案:数据提供方、使用方、监管方作为联盟链的联盟成员,在数据提供方提交的密文中嵌入使用方与监管方的双重公钥,突破单纯的数据保密性需求,监管方可以按需、及时查看任意发往使用方的共享数据,而无需额外的协议交互或二次确认,这是对“事中”监管的有力保障;基于联盟链的运行数据共享平台,不仅降低了数据中心的流量负担与网络攻击风险,还为共享数据的可溯源性提供保障;上传至联盟链的数据签名,则确保了各主体对于数据共享与使用的不可抵赖性。

1 理论基础

双线映射作为数学工具,广泛用于构造具有安全结果的密码学算法[8−9]。本文使用对称双线性映射。

定义双线性映射:

1)G1,G2,GT是3 个阶为素数n的 循环群;

2)群 G1生成元为G1,群 G2生成元为G2;

双线性映射具有以下2 个性质。

1)双线性:对任意a,b∈Z∗,U∈G1,V∈G2,有均成立。

Weil Diffie-Hellman 困难假设:已知P,aP,bP,cP∈G1,其中a,b,c∈Z,不存在高效算法能够计算出

本文所构造密码学算法的安全性是基于Weil Diffie-Hellman 困难假设的。

2 方案设计

2.1 系统模型

如图1 所示,基于联盟链的可监管空管数据安全方案包含4 个参与方:空管运行数据的提供方(简称空管部门)、空管运行数据的使用方(简称使用方)、空管运行数据的监管方(简称监管方)和联盟链共识节点[10]。该系统模型的建立包含8 个步骤。

图1 基于联盟链的空管运行数据安全共享系统模型

步骤1,生成系统所需的公共参数。

步骤2,空管部门、使用方和监管方基于各自的身份ID 和系统公共参数,生成基于身份ID的私钥。基于身份ID的标识可用于空管运行数据的加密。此外,空管部门、使用方和监管方独立生成各自的私钥和公钥。

步骤3,空管部门使用监管方的身份ID 和使用方的公钥对运行数据进行加密并签名。

步骤4,共识节点验证签名一致性。如果一致,则接受并上传至联盟链,否则拒绝。

步骤5,使用方使用其私钥解密并获得空管运行数据。

步骤6,使用方对数据内容的摘要(即对多项运行数据进行简单描述)进行签名。

步骤7,共识节点验证数据摘要签名的一致性。如果一致,则接受并上传至联盟链,否则拒绝。

步骤8,监管方读取并解密联盟链上的空管运行数据,读取使用方的数据摘要。如果运行数据与数据摘要匹配,则接受,否则拒绝。

2.2 方案设计

本文中的加密方案是对文献[11]中身份基加密方案的扩展。原方案中发送方使用接收方标识ID 对消息加密,接收方使用标识ID 对应的私钥进行解密。该标识密码系统中的标识可作为实际应用场景中的部门标识,不需要进行身份认证,具有极大的便捷性。本方案继承了标识密码系统的优良性质,直接使用监管部门的标识对运行数据加密。基于此思路,将标识作为公钥,添加到空管部门的发送方密文中,使得监管部门和数据使用方可以收到完全一致的运行数据。为了保障双接收方收到完全一致的数据,通常会采用2 种加密方法:一是发送方利用接收方不同的私钥,生成2 份密文,接收方使用各自私钥分别解密,但此方法需要采用额外的零知识证明过程去验证2 份密文的数据内容相等;二是发送方利用双接收方协商出的会话密钥生成一份密文,双接收方使用会话密钥解密,但此方法的密钥协商过程也增加了额外的时间成本。本文方案是在同一份密文中嵌入双接收方的公钥,使用相应解密算法确保双接收方收到完全一致的数据消息。这既省去了零知识证明的过程,也无须额外的会话密钥协商,对于使用方和监管方而言,提高了实际的执行效率和可操作性。该方案的算法步骤如下。

步骤1,系统初始化。系统输入安全参数 λ,选择对称双线性群参数PG=,双线性映射群 G的阶为n和生成元为G。哈希函数为h1:{0,1}∗→G,h2:{0,1}∗→{0,1}n。随机选择α ∈Zp,计算G1=α·G,则主密钥和主公钥分别为:MSK=α,MPK=G1。

步骤3,空管部门对业务数据加密并签名。确定某项运行数据M和监管方身份 ID3;输入其私钥SK1=a1和使用方公钥PK2=a2·G,选择一个公开随机数γ ∈Zp,对运行数据M进行加密,为

式中,r1=h2(C1,a1·PK2)=h2(γ,a1a2·G)。

空管部门选择随机数r2∈以私钥SK1=a1、数据密文C为输入,计算签名

如果δ1=0或δ2=0,则重新选择随机数r2并重新计算 δ1与 δ2,最终的签名为δ=(δ1,δ2)。空管部门将运行数据密文C和签名δ 提交到联盟链系统中。

步骤4,共识节点一致性验证与共识。共识节点检查δ1,δ2是否属于[1,n−1]:如果否,则拒绝;否则以δ1,δ2和公钥PK1=a1·G为输入,进行计算(x1,y1)←δ2·G+(δ1+δ2)·PK1。

如果等式δ1=x1+h2(C)modn成立,则接受并存储到联盟链上,否则拒绝。

步骤5,使用方解密。运行数据使用方从联盟链上读取并获得密文C1=γ,并输入其私钥SK2=a2和公钥PK1=a1·G,计算随机数r1:r1=h2(C1,a2·PK1)=h2(γ,a2a1·G)。使用方输入随机数r1、监管方身份 ID3、主公钥G1和局部密文C3,解密运行数据M,为

以此类推,使用方可解密获得多项运行数据,记为M1,···,Mn。使用方对数据内容的摘要进行签名。

步骤6,使用方进行数据摘要与签名。使用方对多项用于共享的运行数据M1,···,Mn进行摘要计算,输入数据摘要DataAbs、使用方私钥SK2=a2和监管方公钥PK3=a3·G,选择随机数r3∈进行计算,为

如果δ3=0或δ4=0,则重新选择随机数r3并重新计算 δ3与 δ4,最终生成签名δ′=(δ3,δ4)。使用方将数据摘要DataAbs和签名 δ′提交到联盟链系统中。

步骤7,共识节点一致性验证与共识。共识节点检查 δ3与 δ4是否属于[1,n−1]:如果不属于,则拒绝;否则以 δ3,δ4和公钥PK2=G2为输入,进行计算,为

若等式δ3=x2+h2(DataAbs,G3)modn成立,则接受并存储到联盟链上,否则拒绝。

步骤8,监管方解密。监管方从联盟链上读取并获得密文C2与C3,输入其私钥dID3,进行解密,为

以此类推,监管方可解密获得多项运行数据M1,···,Mn,并判断数据M1,···,Mn与数据摘要DataAbs的匹配性(以确保使用方对所使用的数据不可篡改):如果匹配,则接受并完成验证;否则拒绝。

解密一致性检验包括2 方面。

1)使用方解密满足一致性。

2)监管方解密满足一致性。

解密一致性表明,使用方和监管方在无需协议协商的情况下,即可解密获得严格一致的消费数据。

3 理论分析

本方案基于Dan Boneh 加密方案[11]进行较大扩展,在其基础上添加一个接收方公钥,生成的密文中嵌入了2 个公钥陷门信息,使得数据使用方和监管方作为2 个接收方均能够独立解密并获得相同的明文信息。本文基于方案构造步骤3、步骤5、步骤8,对数据提供方(空管部门)的加密复杂度、使用方和监管方的解密复杂度进行分析,如表1所示。其中:Pair 是双线性映射计算;Exp 是指数计算;H2,H1分别是哈希函数H2,H1的计算;Xor是异或计算。H2和Xor计算量较低,可忽略。

表1 性能分析

4 实验分析

实验测试平台的情况如表2 所示。本文选择jPBC 库中Type A 椭圆曲线进行测试,运行与对比加密、解密算法的计算复杂度。

表2 实验配置平台

如图2 所示,采用文献[11]方案和本文方案对10 组随机数据加密,平均加密时间分别为56.3 ms、64.7 ms。本文方案加密时间略有增加的原因在于,本方案有额外接收方的公钥嵌入密文,导致需要一次额外的指数计算,时间约10 ms,其影响可以忽略。如图3 所示,采用文献[11] 方案对10 组随机数据解密,平均解密时间约为14.6 ms,采用本方案,数据使用方与监管方的解密时间分别为14.8 ms、54.8 ms。本文方案中数据使用方的解密时间复杂度与文献[11]方案的接收方解密时间复杂度几乎一致;本文方案监管方需要进行额外的指数运算,且根据公开随机数和指数运算结果进行哈希值运算,增量了一定的计算量,但运行总时间小于60 ms,低于联盟链网络平均100 ms的传输时间。综上所述,本方案在增加了1 位接收方的情况下依然保持较高的运行效率。

图2 加密时间

图3 解密时间

5 总结

本方案基于联盟链系统,创新性地融入了双公钥加密机制。一方面确保了空管运行数据的安全,为其安全共享与同步监管提供保障;另一方面为空管运行数据多主体协同运行提供新的模式,降低了中心流量负担与网络攻击风险。此外,本方案采用基于椭圆曲线离散对数的加密算法,与现有联盟链系统采取的椭圆曲线公钥密码方法相一致,确保了算法的可扩展性与高效性。

猜你喜欢
公钥密文空管
一种支持动态更新的可排名密文搜索方案
智慧空管技术的进展
一种新的密文策略的属性基加密方案研究
一种抗攻击的网络加密算法研究
空管流量控制过程中的风险控制探析
神奇的公钥密码
国密SM2密码算法的C语言实现
基于身份的聚合签名体制研究
条件型非对称跨加密系统的代理重加密方案
民航空管安全文化建设探析