CN116800541A - 一种航班运行数据分类分级访问控制及访问方法 - Google Patents
一种航班运行数据分类分级访问控制及访问方法 Download PDFInfo
- Publication number
- CN116800541A CN116800541A CN202310985741.9A CN202310985741A CN116800541A CN 116800541 A CN116800541 A CN 116800541A CN 202310985741 A CN202310985741 A CN 202310985741A CN 116800541 A CN116800541 A CN 116800541A
- Authority
- CN
- China
- Prior art keywords
- data
- flight
- access
- server
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000003993 interaction Effects 0.000 claims abstract description 13
- 238000007726 management method Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 20
- 230000000903 blocking effect Effects 0.000 claims description 5
- 230000010006 flight Effects 0.000 claims description 4
- 238000013439 planning Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 45
- 238000004422 calculation algorithm Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 8
- 238000013475 authorization Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008846 dynamic interplay Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- MCNQUWLLXZZZAC-UHFFFAOYSA-N 4-cyano-1-(2,4-dichlorophenyl)-5-(4-methoxyphenyl)-n-piperidin-1-ylpyrazole-3-carboxamide Chemical compound C1=CC(OC)=CC=C1C1=C(C#N)C(C(=O)NN2CCCCC2)=NN1C1=CC=C(Cl)C=C1Cl MCNQUWLLXZZZAC-UHFFFAOYSA-N 0.000 description 1
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种航班运行数据分类分级访问控制及访问方法,涉及计算机技术领域。先搭建用于存储航班运行数据的IPFS专用网络,以及用于数据访问交互的联盟链,再根据数据来源的客体服务器确定数据类别,以及分别确定不同客体服务器对各类别数据的访问权限,然后根据上述部署智能合约,当接收到携带客体服务器属性的数据上传消息,根据数据上传消息,通过智能合约记录上传数据和客体服务器,当接收到数据访问请求,通过智能合约判断客体服务器是否合法,若合法则通过智能合约对访问进行授权。通过对航班运行数据进行分类分级,细化不同客体服务器对各类别数据的访问权限,满足了民航领域多个利益相关主体对航班运行数据分类分级不同的访问控制需求。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种航班运行数据分类分级访问控制及访问方法。
背景技术
目前,我国的民航系统主要划分为民航局、空管、机场、航空公司、地面保障机构等多个企业和部门,每个企业作为数据源,在航班运行阶段不断产生海量、异构的数据。数据作为提升信息技术支撑能力的基础资源,其重要性毋庸置疑。民航系统中涉及的企业部门较多,不同企业之间既存在合作关系,又存在竞争关系,这为民航多个利益相关主体之间的数据访问和共享带来了挑战。除此之外,各企业系统的体系结构、操作系统和数据库平台之间存在差别,难以互联互通,并且数据访问和共享过程中的安全性难以保证,导致各个利益相关主体数据的封闭和垄断严重,数据资源利用率低,从而形成了“数据孤岛”现象,制约了民航领域信息化的发展。如何既保证民航领域多个利益相关主体之间公共需要的数据透明化访问与共享,又能实现各企业内部核心数据的隐私保护,是航班运行数据访问与共享过程中亟待解决的问题。
访问控制在数据共享流程中是不可或缺的环节。现有的访问控制机制包括自主访问控制(discretionary access control,DAC)、基于角色的访问控制(role-based accesscontrol,RBAC)、基于属性的访问控制(attribute-based access control,ABAC)等。在用户和资源数量大幅度增加的情形下,传统DAC,RBAC等访问控制模型策略数目将呈指数级增长,系统维护难度及开销将极大增加,难以实现动态、细粒度访问控制,而ABAC模型基于实体属性判决允许或拒绝用户对资源的访问控制请求,提高了访问控制策略语义的表达能力和模型的灵活性。但ABAC模型的第三方中心化机构管理可能存在安全监管漏洞,不利于数据访问共享记录溯源查证。
Nakamoto提出的一种从数字加密货币领域诞生的分布式账本技术——区块链。区块链通过将P2P网络、密码学技术、共识算法以及智能合约等多种技术深度整合,构建了去中心化、公开透明、可溯源、信息不可篡改的信任建立机制。在全网参与、分布存储的情况下,即使区块链中存在恶意节点,共识算法依然能维持数据完整性和安全性,保证正常节点对每笔交易达成共识。目前共识算法主要包括PoW、PoS、DPoS、Paxos、Raft、Kafka、PBFT等,其中拜占庭容错算法PBFT是当前联盟链常用的共识机制算法。智能合约实时性、可编程、可验证、去中心化的特点恰好与大数据环境下分布式、动态访问控制需求相吻合。然而在区块链上存储大量的数据需要耗费极大的成本和资源,通过为区块链引入星际文件系统InterPlanetaryFile System(IPFS)可有效降低区块链的存储成本,在实现分布式存储数据的同时保证数据可追溯性和不可篡改性。
近年来,Omar等人提出了一个基于区块链和IPFS的CT数据管理框架,提高了利益相关者之间数据共享的透明度和可追溯性。Han等人提出了一种基于属性的可审计访问控制模型,实现对私有数据的访问控制策略管理。Li等人提出了一个基于以太坊和FiscoBcos的双层区块链架构的适用于物联网的访问控制模型,采用线性秘密共享方案建立资源对象基于属性的访问策略,确保细粒度的访问控制。Yuan等人提出了一种基于区块链的可信车联网数据共享机制,用于缓解交通拥堵。Cui等人提出了基于联盟区块链技术实现可追踪和匿名的车对车(V2V)数据共享,有效防止数据的二手共享。Rahman等人提出了一种基于区块链的跨域数据共享平台,并使用多层签名技术进行身份认证。Qi等人提出了一种基于区块链的工业物联网数据共享方案,并对私有数据及逆行压缩,实现数据细粒度访问。Wei等人提出了一种基于区块链的数据访问控制方法,并使用混淆策略和属性基加密方法保障数据安全。Wang等人提出了一种基于区块链的秘密共享方案,并提出了一种超轻量级秘密共享方法。Su等人提出了一种无人机辅助的基于区块链的轻量级车联网数据共享方案。Hu等人提出了一种基于区块链的顾客物联网数据共享方案,并使用属性和可搜索加密来保护顾客隐私。Zhang等人提出了一种基于区块链的分层访问控制方法,用于共享电子医疗数据。
总之,现有的访问控制方法访问效率较低,难以满足民航领域多个利益相关主体对航班运行数据分类分级不同的访问及访问控制需求。
发明内容
基于此,有必要针对上述技术问题,提供一种航班运行数据分类分级访问控制及访问方法。
本说明书采用下述技术方案:
本说明书提供了一种航班运行数据分类分级访问控制方法,所述方法应用于民航系统的主体服务器,包括:
搭建用于存储航班运行数据的IPFS专用网络,以及用于数据访问交互的联盟链;
根据航班运行数据来源的客体服务器的类型,将航班运行数据划分为不同类别,以及分别确定不同客体服务器对各类别航班运行数据的访问权限;
根据不同客体服务器对各类别航班运行数据的访问权限,部署包括数据权限管理合约、访问策略判定合约以及访问控制实现合约的智能合约;
当在联盟链内接收到携带客体服务器标识的数据上传消息,根据数据上传消息,通过数据权限管理合约记录上传数据和客体服务器;
当在联盟链内接收到数据访问请求,通过访问策略判定合约判断访问的客体服务器是否合法,若合法则通过访问控制实现合约对访问进行授权。
可选地,所述根据航班运行数据来源的客体服务器的类型,将航班运行数据划分为不同类别,具体包括:
将数据来源为航空公司的航班运行数据确定为航班计划数据;
将数据来源为空中交通管制单位的航班运行数据确定为航班标签数据;
将数据来源为机场的航班运行数据确定为航班动态数据;
将数据来源为地面保障单位的航班运行数据确定为航班地面保障数据。
可选地,所述分别确定不同客体服务器对各类别航班运行数据的访问权限,具体包括:
确定航空公司对航班计划数据的权限包含读取、写入和删除,以及对航班标签数据、航班动态数据和航班地面保障数据的权限为读取;
确定空中交通管制单位对航班标签数据的权限包含读取、写入和删除,对航班动态数据的权限包含读取和写入,以及对航班计划数据和航班地面保障数据的权限为读取;
确定机场对航班动态数据的权限包含读取、写入和删除,对航班标签数据和航班地面保障数据的权限包含读取和写入,对航班计划数据的权限为读取;
确定地面保障单位对航班地面保障数据的权限包含读取、写入和删除,对航班标签数据和航班动态数据的权限包含读取和写入,对航班计划数据的权限为读取。
可选地,所述通过数据权限管理合约记录上传数据和客体服务器,具体包括:
通过数据权限管理合约调用建立数据信息函数输入上传数据的文件名称、类型、环境属性和IPFS哈希地址;
通过数据权限管理合约调用建立服务器信息函数输入上传数据的客体服务器的名字和IP地址进行记录。
可选地,所述通过访问策略判定合约判断访问的客体服务器是否合法,具体包括:
通过访问策略判定合约调用地址解析黑名单函数判断访问的客体服务器是否合法;
若是,则返回阻止失败;
若否,则将不合法的客体服务器通过访问策略判定合约调用设置黑名单函数列入黑名单,并返回阻止成功。
可选地,所述方法还包括:
通过数据权限管理合约调用获取数据信息函数输入访问数据的环境属性,从联盟链中获取访问数据对应的IPFS哈希地址;
将获取到的IPFS哈希地址返回客体服务器。
可选地,所述方法还包括:
通过数据权限管理合约调用权限查询函数输入主体服务器的环境信息和客体服务器的环境信息;
获取客体服务器对各类别数据的访问权限。
本说明书提供了一种航班运行数据分类分级访问方法,所述方法应用于民航系统的客体服务器,包括:
加入预先搭建的用于数据访问交互的联盟链;
当上传数据时,将航班运行数据上传至IPFS专用网络,并在联盟链内向主体服务器发送携带客体服务器标识的数据上传消息,同时在联盟链内对上传操作请求进行共识,使主体服务器根据数据上传消息通过数据权限管理合约记录上传数据的客体服务器和上传数据;
当进行数据访问时,根据所要访问航班运行数据的类别以及对所述类别的航班运行数据的访问权限向主体服务器发送数据访问请求,同时在联盟链内对访问操作请求进行共识,使主体服务器通过访问策略判定合约判断客体服务器是否合法,若合法则通过访问控制实现合约对访问进行授权。
可选地,在联盟链内对操作请求进行共识,具体包括:
初始化联盟链内包含的服务器节点的综合评分、可信度以及节点评分,将各服务器节点随机划分为共识节点集和候选节点集,并通过主节点选择策略从共识节点集选取主节点;
当主节点接收到客体服务器操作请求,判断主节点是否正确响应,若是,则增加主节点的可信度与节点评分,若否,则减少主节点的可信度与节点评分并通过主节点选择策略重新选取主节点;
基于各共识节点执行共识过程,并判断共识是否达成,若是,则增加共识节点的可信度与节点评分,若否,则减少共识节点的可信度与节点评分;
根据共识节点的可信度和节点评分,更新共识节点的综合评分,根据各节点的综合评分重新划分共识节点集和候选节点集。
可选地,根据下式选取主节点:
p=v mod cn;
其中,p表示主节点,v表示视图编号,cn表示共识节点的数量。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
先搭建用于存储航班运行数据的IPFS专用网络,以及用于数据访问交互的联盟链,再根据航班运行数据来源的客体服务器的类型,将航班运行数据划分为不同类别,以及分别确定不同客体服务器对各类别数据的访问权限,然后根据上述部署智能合约,当接收到携带客体服务器属性的数据上传消息,根据数据上传消息,通过智能合约记录记录上传数据和客体服务器,当接收到数据访问请求,根据数据访问请求,通过智能合约判断访问的客体服务器是否合法,若合法则通过智能合约对访问进行授权。
通过对航班运行数据进行分类,并进一步细化了不同客体服务器对各类别航班运行数据的访问权限,从而实现更细粒度的权限管理,提高了访问效率,满足了民航领域多个利益相关主体对航班运行数据分类分级不同的访问控制需求。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书提供的一种实用拜占庭容错算法过程示意图;
图2为本说明书提供的一种应用于主体服务器的航班运行数据分类分级访问控制方法的流程示意图;
图3为本说明书提供的一种民航系统示意图;
图4为本说明书提供的一种民航局和机场之间的功能调用和事件的序列图;
图5为本说明书提供的一种应用于客体服务器的航班运行数据分类分级访问方法的流程示意图;
图6为本说明书提供的一种共识算法流程示意图;
图7为本说明书提供的一种各共识节点执行共识过程的示意图;
图8为本说明书提供的一种民航多主体访问控制序列示意图;
图9为本说明书提供的一种三种一致性算法的平均一致性时间延迟示意图;
图10为本说明书提供的一种三种共识算法的共识时延比较示意图;
图11为本说明书提供的一种三种一致性算法对平均流量的比较示意图;
图12为本说明书提供的一种以太坊Gas价格查询界面示意图;
图13为本说明书提供的一种部署智能合约的gas消耗量示意图;
图14为本说明书提供的一种智能合约函数首次调用的gas消耗量;
图15为本说明书提供的一种民航局信息上传和获取示意图;
图16为本说明书提供的一种航班数据上传和获取示意图;
图17为本说明书提供的一种访问权限定义和授权示意图;
图18为本说明书提供的一种允许访问和返回访问结果示意图;
图19为本说明书提供的一种读取交易细节示意图;
图20为本说明书提供的一种阻止未授权操作示意图;
图21为本说明书提供的一种读取未授权操作信息示意图;
图22为本说明书提供的一种拦截非法用户示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
1994年,由Szabo首次提出智能合约的概念,定义其是通过计算机执行合同条款的交易协议,即通过代码程序无需第三方监督自动执行合同。由于智能合约是自动激活并运行的,因此需要一个安全且无干扰的运行环境保证其功能的正确性,区块链则刚好提供了这一运行环境,这使得智能合约这一概念从理论阶段过渡到了应用阶段。
1999年Castro和Liskov提出实用拜占庭容错算法,将原始拜占庭容错算法的复杂度由指数级降低到多项式级,使其能用于实际应用中。PBFT算法是一种状态机副本复制算法,每个状态机的副本都保存了服务的状态,同时也实现了客户端所有合法请求的操作。传统的PBFT共识算法在一个共识过程中的通信数为2n·(n-1),该算法能够保证系统在(n-1)/3个节点出现故障或恶意操作的情况下,依然能正确达成分布式共识。
PBFT主要分为三个阶段,分别是预准备阶段、准备阶段和提交阶段。所有节点在视图(View)轮换过程中运作,视图是连续编号的整数。在同一视图编号下,节点角色被分为客户端、主节点和副本节点。当主节点失效的时候就需要启动视图更换(viewchange)过程。为了方便描述,该算法的共识过程如图1所示。
图1为本说明书提供的一种实用拜占庭容错算法过程示意图。在图1中C表示客户端节点,0~3个节点表示共识节点。0是主节点,1和2是副本节点,3是故障节点。
主节点由下述公式计算得到:
P=v mod|R|
其中,P为视图编号,v为副本编号,|R|为副本节点集合的个数。
ABAC模型基于实体属性而不是用户身份来判决允许或拒绝用户对资源的访问控制请求。ABAC模型的核心要素包括主体、资源、操作以及环境约束,这些要素统一使用属性和属性值来进行表示,属性间的关系可以根据访问控制需求进行灵活的设置,提高了访问控制策略语义的表达能力和模型的灵活性,并且能够将其他访问控制模型中权限、安全标签、角色等概念用属性来进行统一描述,适用于解决分布式环境下动态大数据的访问控制问题。
星际文件系统利用分布式哈希表解决数据的传输和定位问题,将点对点的单点传输变为对等连接网络的传输。与HTTP查找文件位置的方式不同,IPFS查找文件采用内容寻址的方式,它既不用考虑中心服务器的位置,也无需考虑文件的名字和路径,只关注文件内容计算出的加密哈希地址。哈希地址直接对应文件的内容,文件内容变化,哈希地址也随之变化,增强了文件的防篡改性。IPFS作为一种互联网底层协议,可应用于加密通讯平台、分布式数据库、文件共享系统等多种场景。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本说明书中一种应用于民航系统的主体服务器的航班运行数据分类分级访问控制方法流程示意图,具体包括以下步骤:
S101:搭建用于存储航班运行数据的IPFS专用网络,以及用于数据访问交互的联盟链。
一般的,民航系统涉及航班运行场景的主体企业主要有民航局、航空公司、空中交通管制单位、机场和地面保障单位。航班运行数据访问控制方案即包含5种角色,如图3所示。
图3为本说明书提供的一种民航系统示意图。下面详细描述图3中的5种角色。
民航局,作为民航系统监管的核心主体,是民航系统的主体服务器,民航局负责部署智能合约,管理上链的航班运行数据,生成和调整访问控制策略,对其他数据请求方进行权限判决,同意授予相应级别访问权限或拒绝访问。
航空公司,作为航班计划数据的拥有者和其他数据的请求者,是民航系统的客体服务器,航空公司对航班计划数据拥有最高的完全控制权限。
空中交通管制单位,作为航班标签数据的拥有者和其他数据的请求者,是民航系统的客体服务器,空中交通管制单位对航班标签数据拥有最高的完全控制权限。
机场,作为航班动态数据的拥有者和其他数据的请求者,是民航系统的客体服务器,机场对航班动态数据拥有最高的完全控制权限。
地面保障单位,作为航班地面保障数据的拥有者和其他数据的请求者,是民航系统的客体服务器,地面保障单位对航班地面保障数据拥有最高的完全控制权限。
于是,民航局作为主体服务器,可在执行本说明书提供的航班运行数据分类分级访问控制方法时,先在主体服务器和各客体服务器之间搭建IPFS专用网络,以通过IPFS专用网络存储航班运行数据,并搭建用于数据访问交互的联盟链,从而在后续实现在联盟链上进行交互,在联盟链下进行存储,降低区块链服务器节点的存储压力,提高数据安全性。
本说明书中提到的主体服务器可以是设置于业务平台的服务器,或能执行本说明书方案的诸如台式机、笔记本电脑等设备。为了方便说明,下面仅以主体服务器为执行主体进行说明。
S102:根据航班运行数据来源的客体服务器的类型,将航班运行数据划分为不同类别,以及分别确定不同客体服务器对各类别航班运行数据的访问权限。
本方案在ABAC模型基础上引入数据分类分级的思想,根据民航数据共享链场景的需求对航班运行数据客体进行分类分级。在分类分级访问控制模型中,属性与权限存在多对多的映射关系。为了便于本文描述,给出如下定义:
定义1:属性项(attribute item)是表示属性的基本单元。为了对不同类型的属性表示方便,用x表示属性类型。SA代表主体属性,包含用户、角色和所属企业。RA代表客体属性,包含数据上传者地址、数据名称、数据类别、IPFS地址等。AA代表动作属性,包含读取(R)、写入(W)和删除(D)等访问操作。EA代表环境属性,如访问时间、访问者IP地址。
定义2:属性元组(attribute tuple)是同类型属性项的集合,表示为x∈{SA,RA,AA,EA}。
定义3:访问控制策略体现了资源拥有者的授权行为,规定了访问受保护资源所需要具有的属性集合。P={SA,RA,AA,EA}代表属性四元组组成的访问策略。J表示对访问策略进行判定,result={true,false}表示判定结果,资源请求方能够被允许则返回true,被拒绝则返回false。
综上,分类分级访问控制模型表示为:
Result←J(P={SA,RA,AA,EA})
SA={user,role,company}
RA={address,name,type,IPFS address}
AA={read,write,delete}
EA={access time,IP}
主体服务器可对航班运行数据根据业务实体状态属性,将数据来源为航空公司的数据确定为航班计划数据FP(Flight Plan Data)、将数据来源为空中交通管制单位的数据确定为航班标签数据FL(FlightLabel Data)、将数据来源为机场的数据确定为航班动态数据FS(Flight Status Data)和将数据来源为地面保障单位的数据确定为航班地面保障数据FGS(Flight Ground SupportData)四大类。根据民航网络与信息系统对航班运行数据隐私程度的定级建议分为:1(公开)、2(限制)、3(隐私)。民航系统数据管理系统和其他企业根据航班运行场景需求,共同确定角色和数据分级的对应关系及其访问权限,如表1所示,然后共同制定各类数据的访问策略。
表1民航参与主体与航班运行数据分类分级的访问权限关系表
由表1可知,主题服务器可确定航空公司对航班计划数据的权限包含读取、写入和删除,以及对航班标签数据、航班动态数据和航班地面保障数据的权限为读取。
确定空中交通管制单位对航班标签数据的权限包含读取、写入和删除,对航班动态数据的权限包含读取和写入,以及对航班计划数据和航班地面保障数据的权限为读取。
确定机场对航班动态数据的权限包含读取、写入和删除,对航班标签数据和航班地面保障数据的权限包含读取和写入,对航班计划数据的权限为读取。
确定地面保障单位对航班地面保障数据的权限包含读取、写入和删除,对航班标签数据和航班动态数据的权限包含读取和写入,对航班计划数据的权限为读取。
S103:根据不同客体服务器对各类别航班运行数据的访问权限,部署包括数据权限管理合约、访问策略判定合约以及访问控制实现合约的智能合约。
民航局作为航班运行数据的管理者以及主体服务器,可通过部署智能合约实现对航班运行数据的分类分级访问控制功能。所说的智能合约包括数据权限管理合约、访问策略判定合约以及访问控制实现合约。
其中,对于数据权限管理合约,海量航班运行数据文件上传到IPFS专用网络中进行存储并生成每个文件相应的哈希地址。智能合约会预先定义数据的各种属性,如数据类别、数据权限等,然后由联盟链节点以交易日志的形式记录民航相关利益主体的访问控制数据和所需航班运行数据的哈希地址。
对于访问策略判定合约,访问策略判定合约会以设置黑名单的形式拒绝未经授权的以太坊账户地址,若存在IP地址不合法、未经过权威认证、请求访问次数过于频繁等情况,该账户地址会被列入黑名单,系统会自动阻止该用户访问。
对于访问控制实现合约,访问控制是通过智能合约以预定义的方式实现的。智能合约定义民航系统利益相关主体对各类航班运行数据拥有不同级别的访问权限,权利数字越大,代表所获得的权限越高。智能合约在访问之前通过验证以太坊账户地址来判断数据请求者是否有访问权限并返回判决结果。
Remix IDE提供了一个随机的以太坊账户地址列表,这些地址可以通过智能合约被注册为不同的实体。民航数据共享交换平台网络中的每个参与主体都拥有一个以太坊地址(EA),如表2所示,使得它们能通过调用智能合约的功能函数来实现动态交互。
表2民航数据共享交换平台网络参与主体的以太坊地址表
智能合约的设计是航班运行数据分类分级访问控制的关键,数据管理、设置访问控制策略及授权访问等操作均通过数据管理合约以交易的形式执行。
S104:当在联盟链内接收到携带客体服务器标识的数据上传消息,根据数据上传消息,通过数据权限管理合约记录上传数据和客体服务器。
S105:当在联盟链内接收到数据访问请求,通过访问策略判定合约判断访问的客体服务器是否合法,若合法则通过访问控制实现合约对访问进行授权。
当主体服务器在联盟链内接收到携带客体服务器标识的数据上传消息时,主体服务器作为数据管理者可通过通过数据权限管理合约调用建立数据信息函数输入上传数据的文件名称、类型、环境属性和IPFS哈希地址。以及通过数据权限管理合约调用建立服务器信息函数输入上传数据的客体服务器的名字和IP地址进行记录。
当主体服务器接收到数据访问请求,主体服务器作为数据管理者可通过访问策略判定合约调用地址解析黑名单函数getBLUByAddr()判断访问的客体服务器是否合法,若不合法,则将不合法的客体服务器通过访问策略判定合约调用设置黑名单函数setBlackList()列入黑名单,并返回阻止成功“_blockedtrue”,若合法,则返回阻止失败“_blocked false”。进一步的,若合法,主体服务器可通过访问控制实现合约调用权限获取函数accessControl()对访问进行授权,从而通过数据权限管理合约调用获取数据信息函数getDatasetInfo()输入数据的环境属性,从联盟链中获取数据对应的IPFS哈希地址,并将获取到的IPFS哈希地址返回客体服务器。
当然了,主体服务器还可通过访问控制实现合约调用获取时间函数getCurTime()获取当前区块的时间戳,并借助时间转换函数daysToDate()将区块时间戳转换为所在地区时区的具体日期。
在航班运行数据访问过程中智能合约触发各种事件所调用的函数功能如表3所示。
表3智能合约中调用的函数功能描述表
在航班运行过程中以机场向民航局请求访问航班计划数据为例说明该过程在智能合约中调用的函数和触发的事件,如图4所示。
图4为本说明书提供的一种民航局和机场之间的功能调用和事件的序列图。序列图显示了不同利益相关主体之间的交互和在智能合约中调用的函数序列中触发的各种事件。
首先航空公司向IPFS上传一个航班计划文件进行存储,然后航空公司会向民航局发送数据上传消息,民航局作为数据管理者分别部署ManagementSC、JudgeSC和AccessControlSC。在ManagementSC中民航局通过函数setSubjInfo()上传航空公司、航空公司IP地址等属性信息,通过函数setDatasetInfo()上传航班计划文件的姓名,类型,EA和IPFS哈希地址等属性信息。
所有参与的利益相关主体都要通过函数registerRight()注册相应的访问控制权限,其中民航局授予机场对航班计划数据的读取权限,机场的EA通过函数unblockUser()被系统判定为允许访问,通过函数accessControl()和daysToDate()可以获取机场的访问结果和时间。
基于图2所示的航班运行数据分类分级访问控制方法,先搭建用于存储航班运行数据的IPFS专用网络,以及用于数据访问交互的联盟链,再根据航班运行数据来源的客体服务器的类型,将航班运行数据划分为不同类别,以及分别确定不同客体服务器对各类别数据的访问权限,然后根据上述部署智能合约,当接收到携带客体服务器属性的数据上传消息,根据数据上传消息,通过智能合约记录记录上传数据和客体服务器,当接收到数据访问请求,根据数据访问请求,通过智能合约判断访问的客体服务器是否合法,若合法则通过智能合约对访问进行授权。
通过对航班运行数据进行分类,并进一步细化了不同客体服务器对各类别航班运行数据的访问权限,从而实现更细粒度的权限管理,满足了民航领域多个利益相关主体对航班运行数据分类分级不同的访问控制需求。
在应用本说明书提供的航班运行数据分类分级访问控制方法时,可不根据图2所示的各步骤的顺序执行,具体各步骤的执行顺序可根据需要确定,本说明书对此不做限制。
对应于图2所示的应用于民航系统的主体服务器的航班运行数据分类分级访问控制方法流程,本说明书还提供一种应用于民航系统的客体服务器的航班运行数据分类分级访问控制方法的流程示意图,如图5所示。
图5为本说明书中一种应用于民航系统的客体服务器的航班运行数据分类分级访问方法的流程示意图,具体包括以下步骤:
S301:加入预先搭建的用于数据访问交互的联盟链。
S302:当上传数据时,将航班运行数据上传至IPFS专用网络,并在联盟链内向主体服务器发送携带客体服务器标识的数据上传消息,同时在联盟链内对上传操作请求进行共识,使主体服务器根据数据上传消息通过数据权限管理合约记录上传数据的客体服务器和上传数据。
S303:当进行数据访问时,根据所要访问航班运行数据的类别以及对所述类别的航班运行数据的访问权限向主体服务器发送数据访问请求,同时在联盟链内对访问操作请求进行共识,使主体服务器通过访问策略判定合约判断客体服务器是否合法,若合法则通过访问控制实现合约对访问进行授权。
具体的,客体服务器在上传数据时,可将数据对应的IPFS哈希地址上传至IPFS专用网络。然后向主体服务器发送携带客体服务器属性的数据上传消息,同时在联盟链内对上传操作请求进行共识,若共识通过,则向主体服务器发送的数据上传消息发送成功,可使得主体服务器根据数据上传消息通过数据权限管理合约记录上传数据的客体服务器和上传数据。
当客体服务器进行数据访问时,可根据所要访问的数据的类别以及对该类别的数据的访问权限,向主体服务器发送携带所要访问的数据的类别以及对该类别的数据的访问权限的数据访问请求,同时在联盟链内对访问操作请求进行共识,若共识通过,则向主体服务器发送数据访问请求发送成功,可等待主体服务器响应,从而接收主体服务器返回的IPFS哈希地址。以上过程中对于主体服务器部分具体可参考前述相关说明,此处不再赘述。
航班运行数据的分类分级访问控制是在基于联盟链的去中心化共享模型中实现,由联盟链本身特性可知,需要有一种安全高效的共识算法保证联盟链系统稳定运行。一般来说,联盟链的共识算法是实用拜占庭容错算法(Practical Byzantine fault-tolerantalgorithm,简称PBFT算法),但原始的PBFT算法在大规模网络节点条件下存在共识时延高、通信开销大以及恶意节点被选为主节点导致系统崩溃等问题,因此本说明书采用分组评分制对原始的PBFT算法进行改进,通过分组缩小共识节点的规模,提升共识节点的性能,保证以很小的算力来实现系统安全稳定的运行。
具体的,在本说明书一个或多个实施例中,服务器可根据图6所示流程进行共识。
图6为本说明书中一种共识算法流程示意图,分组评分PBFT算法具体包括以下步骤:
S201:初始化联盟链内包含的服务器节点的综合评分、可信度以及节点评分,将各服务器节点随机划分为共识节点集和候选节点集,并通过主节点选择策略从共识节点集选取主节点。
传统的PBFT在大规模网络节点条件下存在共识时延高、通信开销大的问题,为了降低共识时延,减小通信开销,以及最大概率地杜绝恶意节点被选为主节点,本说明书采用分组评分制缩小共识节点的规模,提升共识节点的性能。设民航联盟链系统中有n个节点,将该节点群划分为两组,分别是有2n/5个共识节点的共识节点集和有3n/5个候选节点的候选节点集,其中共识节点的数量记为cn,必须满足cn≥3f+1,f为拜占庭节点的最大数目,以确保系统在任何情况下都能达成协议。
例如,各服务器节点的综合评分可初始化为100,可信度以及节点评分可初始化为0。
其中,可根据下式选取主节点:
p=v mod cn
其中,p表示主节点,v表示视图编号,cn表示共识节点的数量。
S202:客体服务器节点向主节点发送操作请求,主节点服务器接收客体服务器操作请求。
S203:判断主节点服务器是否正确响应,若是,执行步骤S204,若否,执行步骤S205。
S204:增加主节点的可信度与节点评分,执行步骤S206。
例如,可使主节点的可信度+1,节点评分+2。
S205:减少主节点的可信度与节点评分并通过主节点选择策略重新选取主节点,再次执行步骤S203。
例如,可使主节点的可信度-1,节点评分-6。并启用视图更改,通过下式替换主节点:
p=v mod cn
S206:基于各共识节点执行共识过程。
S207:判断各共识节点是否达成共识,若是,执行步骤S208,若否,执行步骤S209。
S208:增加共识节点的可信度与节点评分,执行步骤S210。
S209:减少共识节点的可信度与节点评分,执行步骤S210。
S210:根据共识节点的可信度和节点评分,更新共识节点的综合评分,根据各节点的综合评分重新划分共识节点集和候选节点集。
图7为本说明书中一种各共识节点执行共识过程的示意图,图7中,C表示客户端自己的标识,0-3表示共识节点组,其中0是主节点,1、2、3是副本节点,4、5及其余节点是候选节点。由图7可见,主要包括下述过程:
首先,初始化所有服务器节点,客户端节点(即,客体服务器节点)向主节点发起一条请求消息。
然后,主节点接收到来自客户端节点的请求后开始进入预准备阶段,将消息广播到所有副本节点。副本节点接收并验证该消息,如果验证通过,该节点将进入准备阶段,如果验证失败,则不会执行任何操作。
其次,副本节点进入准备阶段后广播所准备的消息时,也会接收到其他节点的准备消息并进行验证。如果验证通过,该节点将进入响应阶段。
接着,副本节点进入了响应阶段验证消息并将结果返回给主节点。
当主节点接收到超过3f+1相同的确认消息时,则认为已达成共识。然后,主节点将向所有节点(包括候选节点)提供确认结果,并同时更新所有节点的综合评分。
最后,共识节点集和候选节点集每10个请求更新一次编号分组。此时,一个共识进程已经结束。
本说明书中提供的GSPBFT共识机制的通信成本如表4所示。
表4 GSPBFT共识机制的通信成本表
由此可得到GSPBFT共识机制的总通信次数为:
在共识过程中,本文假设共识节点对客户端发起的第一个请求及时应答,无延迟时间,此后有响应延迟时间,记为td。则可通过下式计算节点的综合评分修正量:
其中,Gi为综合评分修正量,Si为节点评分,Ci为节点i的可信度,td为响应延迟时间,最后可将节点的综合评分与综合评分修正量相加,即可完成对共识节点综合评分的更新。
基于图2和图5所示的航班运行数据分类分级访问控制及访问方法的流程,本说明书还提供一种主体服务器与客体服务器之间的交互流程,如图8所示。
图8为本说明书提供的一种民航多主体访问控制序列示意图。航班运行流程中民航多个利益相关主体之间的动态交互过程如图8所示。首先各民航利益相关主体将各自拥有的航班运行数据文件上传至IPFS存储,然后民航局作为航班运行数据的管理者部署智能合约,建立航班运行数据分类分级访问控制模型。此后在航班从起飞到降落的过程中,航司、空管、机场、地服依次对所需的航班运行数据进行访问控制。最后由民航局根据智能合约对各利益相关主体访问共享情况进行分析。
此外,本说明书还提供了应用航班运行数据分类分级访问控制方法的实施例,在该实施例中,将民航局、航空公司、空中交通管制单位、机场和地面保障单位视为区块链中的节点,模拟联盟链实现航班运行数据共享的过程,用到的数据主要是2023年3月16日至22日国内机场的航班计划数据[dataset]。实验采用的操作系统是Windows10,基于python语言编写脚本模拟检验了PBFT、SGPBFT[29]和GSPBFT共识算法的性能,主要测试分析算法的共识时延和通信开销两项指标。Remix IDE是一个开源的Solidity智能合约开发环境,提供基本的编译、部署至本地或测试网络、执行合约等功能。因此采用solidity语言基于RemixIDE实现智能合约的编写和验证。
对于GSPBFT共识时延测试,共识时间延迟是指从客户端节点向系统中的主节点发送交易请求时,到客户端接收到交易确认消息时所花费的时间。连续测量10次,记录结果如表5、图9及图10所示。
表5三种算法的一致性时延比较表
表5为本说明书中的三种算法的一致性时延比较表,图9为本说明书中一种三种一致性算法的平均一致性时间延迟示意图、图10为本说明书中一种三种共识算法的共识时延比较示意图。由表5、图9和图10可知当系统中的节点数为5和50时,与PBFT和SGPBFT相比,GSPBFT的共识时延的最大值、最小值和标准差均是最小的,说明GSPBFT有更高的共识效率和更强的鲁棒性。特别地,当节点数为5时,GSPBFT平均共识时延是0.00905秒,比PBFT的0.0189秒减少约52%,比SGPBFT的0.00961秒减少约6%。当节点数为50时,GSPBFT的平均共识时延是0.114秒,比PBFT的2.43秒减少约95%,比SGPBFT的0.178秒减少约36%。
对于GSPBFT通信开销测试,PBFT算法需要节点之间两两通信,通信开销是指当系统中的节点执行共识算法时所产生的通信量。本实验分别测试了3种共识算法在系统中节点数改变的情况下执行一次共识算法所需要的平均通信数,如表6和图11所示。
表6三种共识算法的平均流量
表6为本说明书中一种三种共识算法的平均流量表,图11为本说明书中一种三种一致性算法对平均流量的比较示意图。由表6和图11可知,当系统中的节点数从5到50依次增加时时,与PBFT和SGPBFT相比,GSPBFT的平均通信量均是最小的,说明GSPBFT有更高的共识效率和更低的通信开销。特别地,当节点数为50时,GSPBFT平均通信量是354,比PBFT的3519降低了约90%,比SGPBFT的548降低了约35%。
对于智能合约gas消耗测试,Gas是使支持复杂计算工作的以太坊网络能够安全工作的关键,反映了计算和存储的消耗程度。在以太坊平台上通过交易或合约执行的每个操作都会消耗一定数量的gas,正常范围是0~300万。在执行智能合约时,需要先指定Gas的消耗量,当交易完成或Gas消耗完时,执行终止。因此,智能合约不会无限循环地执行。消耗的gas只与执行操作需要的计算资源有关,与市场价格无关。一般来说,gas消耗主要来自代码成本Cexecution、交易成本Ctransaction以及初始化成本Cinit。代码成本与执行交易的代码复杂度相关,交易成本主要来自对链上数据的读取(R)、写入(W)和删除(D)等操作,而初始化成本是第一次部署合约和执行某些函数时消耗的gas。因此,gas消耗量用公式表示为:
Gas used=Cexecution+Ctransaction+Cinit
每次执行智能合约,都需要向以太坊虚拟机支付一定费用来执行。这个费用是支付给帮忙存储、计算、执行和验证智能合约的节点。智能合约每笔交易的执行费用可以用一个公式表示:
Gas费用=消耗的Gax数量(gas used)xGas的价格(gas price)
其中Gas Price是Gwei的数量,是指用户在每个Gas单位愿意花费的价钱。Gas价格会影响交易的速度,gas price设置越高,交易优先级越高,打包交易速度越快。由于以太币的价格会随市场波动而变化,因此gas price会实时波动,相隔几分钟的交易,其消耗的手续费都是不同的。自撰写本文起gas price价格肯定还会继续波动,本文于2023年3月10日在区块链浏览器OKLink(https://www.oklink.com/cn)对以太坊Gas价格进行查询,如图12所示,并且研究了当天以太坊兑换美元的实时汇率(1ether=1426.7USD),方便对本实施例成本展开分析。图12为本说明书中一种以太坊Gas价格查询界面示意图。
表7智能合约部署及调用不同功能函数的gas消耗量及费用表
在考虑智能合约部署费用时主要选取平均gas价格进行计算,结果如表7,智能合约部署及调用不同功能函数的gas消耗量如图13和图14所示。
表7为本说明书中一种智能合约部署及调用不同功能函数的gas消耗量及费用表,图13为本说明书中一种部署智能合约的gas消耗量示意图,图14为本说明书中一种智能合约函数首次调用的gas消耗量。图14中各柱状图从左至右依次为setDatasetInfo、setSubjInfo、registerRight、getDatasetInfo、getRight、getSubjInfo、setBlackList、unBlackUser、getBLUByAddr、init、accessControl、isLegalAction、getCurTime、daysToData。
由表7、图13和图14可知,就缓慢交易和一般交易而言,每个合约的部署成本不超过86.6美元,任何函数的执行成本不超过9.3美元。就高速交易而言每个合约的部署成本不超过89.1美元,任何函数的执行成本不超过9.5美元。
成功编译后的智能合约在各种场景被分阶段测试,以确保航班运行数据被顺利访问和共享,终端界面可以看到运行智能合约的结果,绿色的勾号表示合约被正确执行。每次交易都会在Remix IDE上生成日志,从日志上可以读取交易双方的地址、输入输出、触发的事件、Gas成本和抛出异常等细节。
首先民航局作为航班运行数据的管理者负责部署智能合约,通过ManagementSC的setSubjInfo()函数上传姓名、IP地址等属性信息。若要查询民航局IP地址可通过调用SubjInfoMap()函数输入民航局的EA获取,如图15所示。
图15为本说明书中一种民航局信息上传和获取示意图。其中,(a)部分为上传民航局信息、(b)部分为根据EA获取民航局信息。
由于民航相关利益主体对于航班运行数据的访问过程大体相同,在本实施例中以机场访问航班计划数据为例,验证智能合约的有效性。民航局调用setDatasetInfo()函数上传一个航班计划数据文件的姓名、类型、IPFS地址和EA等属性信息,并且通过调用getDatasetInfo()函数输入该数据集EA可以获取完整的数据属性信息,如图16所示。
图16为本说明书中一种航班数据上传和获取示意图。其中,(c)部分为上传航班计划数据文件,(d)部分为根据航班计划数据地址获取数据。
由表1可知,在航班运行场景中,民航局作为数据管理者对于任何类型的航班运行数据都有读取、写入和删除的完全控制权限,而机场对于航班计划数据文件只有读取权限,因此机场需要请求民航局授予读取权限,通过registerRight()函数实现。然后可通过调用getRight()函数可以查询机场已经获取了读取权限,如图17所示。
图17为本说明书中一种访问权限定义和授权示意图。其中,(e)部分为定义民航局和机场的访问权限,(f)部分为民航局授予机场读取权限。
在ManagementSC合约中机场被民航局已经授予读取权限,因此在JudgeSC合约中判定机场的EA允许访问,在AccessControlSC合约返回访问控制结果为“true”,如图18所示。
图18为本说明书一种允许访问和返回访问结果示意图。其中,(g)部分为机场被系统判定为允许访问,(h)部分为系统返回机场访问结果。
从日志上可以读取交易双方的地址、触发的事件和访问时间等细节,每次交易在区块链中已经生成的区块有先后顺序且不能以任何方式进行修改,以时间戳的形式记录,若要查询具体访问日期则通过调用daysToDate()函数实现,如图19所示。
图19为本说明书中一种读取交易细节示意图。其中,(i)部分为通过日志读取交易细节,(j)部分为由区块时间戳获取具体日期。
而因为机场对航班计划数据只有读取权限,因此如果机场想要写入或者删除数据会被系统阻止,如图20所示。
图20为本说明书中一种阻止未授权操作示意图。其中,(k)部分为机场被判定允许访问系统,(l)部分为机场删除航班计划数据被系统阻止。
从日志上可以读取机场删除航班计划数据被系统阻止的细节,将区块时间戳转换为具体日期可以获得拒绝时间,如图21所示。
图21为本说明书中一种读取未授权操作信息示意图。其中,(m)部分为系统拒绝机场删除航班计划数据权限,(n)部分为获取拒绝访问时间。
如果系统想要阻止一个用户访问,可以通过setBlackList()函数将该用户的EA列入黑名单,那么该用户在访问系统时会被自动拦截并返回拦截时间,如图22所示。
图22为本说明书中一种拦截非法用户示意图。其中,(o)部分为用户EA被列入黑名单,(p)部分为黑名单用户访问被拦截时间。
综上,对于民航数据访问控制中的安全性方面,在民航数据共享交换平台网络中,安全性和隐私保护性是首要的,以保证多个利益相关主体之间数据的安全访问和共享。首先,联盟链的共识算法由PBFT改进为GSPBFT,使用评分机制来动态选择主节点,主节点的标识将共识结束前不会被公开。每轮共识之后,所有节点会随综合评分变化而重新编号分组,这可以确保主节点的身份被隐藏,使得敌人无法获取主节点的信息。因此,敌人不能向主节点发送大量的无效信息来占用系统资源,从而有效地抵抗DDoS的攻击,保证了系统的安全性。其次,航班运行数据文件在IPFS生成的加密哈希地址以交易的形式存储在联盟链上,所有参与主体都以EA指代,实现了数据和用户的匿名隐私保护。最后,多个主体的访问过程都由联盟链节点分布式记账保存在交易日志中,具有不可篡改性。一旦出现错误,所有参与主体能够很容易识别和追溯错误的源头,找到输入错误信息或发起不合法交易的用户。因此,在联盟链上存储的数据是高度可信的。
另一方面,对于访问控制系统的可拓展性方面,在基于联盟链的航班运行数据分类分级访问控制方案中,访问控制策略由数据管理者民航局发布到联盟链上,根据用户身份和需求分配不同的访问级别。在有航司、空管、机场、地服等多个大型企业组织参与的联盟链中,这种访问控制方案使得管理工作更加简单,并且通过分类分级管理实现了更高效的系统授权。此外,由于系统是分布式的,即使有个别节点故障,整个系统仍然可以正常运行。因此,即使在繁忙的高负载情况下,该方案依然能提供出色的性能和可扩展性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
Claims (10)
1.一种航班运行数据分类分级访问控制方法,所述方法应用于民航系统的主体服务器,其特征在于,包括:
搭建用于存储航班运行数据的IPFS专用网络,以及用于数据访问交互的联盟链;
根据航班运行数据来源的客体服务器的类型,将航班运行数据划分为不同类别,以及分别确定不同客体服务器对各类别航班运行数据的访问权限;
根据不同客体服务器对各类别航班运行数据的访问权限,部署包括数据权限管理合约、访问策略判定合约以及访问控制实现合约的智能合约;
当在联盟链内接收到携带客体服务器标识的数据上传消息,根据数据上传消息,通过数据权限管理合约记录上传数据和客体服务器;
当在联盟链内接收到数据访问请求,通过访问策略判定合约判断访问的客体服务器是否合法,若合法则通过访问控制实现合约对访问进行授权。
2.如权利要求1所述的航班运行数据分类分级访问控制方法,其特征在于,所述根据航班运行数据来源的客体服务器的类型,将航班运行数据划分为不同类别,具体包括:
将数据来源为航空公司的航班运行数据确定为航班计划数据;
将数据来源为空中交通管制单位的航班运行数据确定为航班标签数据;
将数据来源为机场的航班运行数据确定为航班动态数据;
将数据来源为地面保障单位的航班运行数据确定为航班地面保障数据。
3.如权利要求2所述的航班运行数据分类分级访问控制方法,其特征在于,所述分别确定不同客体服务器对各类别航班运行数据的访问权限,具体包括:
确定航空公司对航班计划数据的权限包含读取、写入和删除,以及对航班标签数据、航班动态数据和航班地面保障数据的权限为读取;
确定空中交通管制单位对航班标签数据的权限包含读取、写入和删除,对航班动态数据的权限包含读取和写入,以及对航班计划数据和航班地面保障数据的权限为读取;
确定机场对航班动态数据的权限包含读取、写入和删除,对航班标签数据和航班地面保障数据的权限包含读取和写入,对航班计划数据的权限为读取;
确定地面保障单位对航班地面保障数据的权限包含读取、写入和删除,对航班标签数据和航班动态数据的权限包含读取和写入,对航班计划数据的权限为读取。
4.如权利要求1所述的航班运行数据分类分级访问控制方法,其特征在于,所述通过数据权限管理合约记录上传数据和客体服务器,具体包括:
通过数据权限管理合约调用建立数据信息函数输入上传数据的文件名称、类型、环境属性和IPFS哈希地址;
通过数据权限管理合约调用建立服务器信息函数输入上传数据的客体服务器的名字和IP地址进行记录。
5.如权利要求1所述的航班运行数据分类分级访问控制方法,其特征在于,所述通过访问策略判定合约判断访问的客体服务器是否合法,具体包括:
通过访问策略判定合约调用地址解析黑名单函数判断访问的客体服务器是否合法;
若是,则返回阻止失败;
若否,则将不合法的客体服务器通过访问策略判定合约调用设置黑名单函数列入黑名单,并返回阻止成功。
6.如权利要求1所述的航班运行数据分类分级访问控制方法,其特征在于,所述方法还包括:
通过数据权限管理合约调用获取数据信息函数输入数据的环境属性,从联盟链中获取数据对应的IPFS哈希地址;
将获取到的IPFS哈希地址返回客体服务器。
7.如权利要求1所述的航班运行数据分类分级访问控制方法,其特征在于,所述方法还包括:
通过数据权限管理合约调用权限查询函数输入主体服务器的环境信息和客体服务器的环境信息;
获取客体服务器对各类别数据的访问权限。
8.一种航班运行数据分类分级访问方法,所述方法应用于民航系统的客体服务器,其特征在于,包括:
加入预先搭建的用于数据访问交互的联盟链;
当上传数据时,将航班运行数据上传至IPFS专用网络,并在联盟链内向主体服务器发送携带客体服务器标识的数据上传消息,同时在联盟链内对上传操作请求进行共识,使主体服务器根据数据上传消息通过数据权限管理合约记录上传数据的客体服务器和上传数据;
当进行数据访问时,根据所要访问航班运行数据的类别以及对所述类别的航班运行数据的访问权限向主体服务器发送数据访问请求,同时在联盟链内对访问操作请求进行共识,使主体服务器通过访问策略判定合约判断客体服务器是否合法,若合法则通过访问控制实现合约对访问进行授权。
9.如权利要求8所述的航班运行数据分类分级访问控制方法,其特征在于,在联盟链内对操作请求进行共识,具体包括:
初始化联盟链内包含的服务器节点的综合评分、可信度以及节点评分,将各服务器节点随机划分为共识节点集和候选节点集,并通过主节点选择策略从共识节点集选取主节点;
当主节点接收到客体服务器操作请求,判断主节点是否正确响应,若是,则增加主节点的可信度与节点评分,若否,则减少主节点的可信度与节点评分并通过主节点选择策略重新选取主节点;
基于各共识节点执行共识过程,并判断是否达成共识,若是,则增加共识节点的可信度与节点评分,若否,则减少共识节点的可信度与节点评分;
根据共识节点的可信度和节点评分,更新共识节点的综合评分,根据各节点的综合评分重新划分共识节点集和候选节点集。
10.如权利要求9所述的航班运行数据分类分级访问控制方法,其特征在于,
根据下式选取主节点:
p=v mod cn;
其中,p表示主节点,v表示视图编号,cn表示共识节点的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310985741.9A CN116800541A (zh) | 2023-08-07 | 2023-08-07 | 一种航班运行数据分类分级访问控制及访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310985741.9A CN116800541A (zh) | 2023-08-07 | 2023-08-07 | 一种航班运行数据分类分级访问控制及访问方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116800541A true CN116800541A (zh) | 2023-09-22 |
Family
ID=88042343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310985741.9A Pending CN116800541A (zh) | 2023-08-07 | 2023-08-07 | 一种航班运行数据分类分级访问控制及访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116800541A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117372019A (zh) * | 2023-12-01 | 2024-01-09 | 青岛民航凯亚系统集成有限公司 | 一种基于区块链平台联盟链的民航机场结算系统及方法 |
-
2023
- 2023-08-07 CN CN202310985741.9A patent/CN116800541A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117372019A (zh) * | 2023-12-01 | 2024-01-09 | 青岛民航凯亚系统集成有限公司 | 一种基于区块链平台联盟链的民航机场结算系统及方法 |
CN117372019B (zh) * | 2023-12-01 | 2024-03-12 | 青岛民航凯亚系统集成有限公司 | 一种基于区块链平台联盟链的民航机场结算系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111709056B (zh) | 基于区块链的数据共享方法及系统 | |
Rouhani et al. | Distributed attribute-based access control system using permissioned blockchain | |
CN111988338B (zh) | 基于区块链的权限可控的物联网云平台及数据交互方法 | |
CN102307185B (zh) | 适用于存储云内的数据隔离方法 | |
CN114363352B (zh) | 基于区块链的物联网系统跨链交互方法 | |
CN112732829B (zh) | 一种数据交易系统及方法 | |
CN112241919A (zh) | 具有数据流控制的多域区块链网络 | |
CN110222518A (zh) | 基于区块链的可信权能访问控制方法 | |
Lee et al. | Blockchain-based RBAC for user authentication with anonymity | |
Peng et al. | A peer-to-peer file storage and sharing system based on consortium blockchain | |
Mazzoleni et al. | XACML policy integration algorithms: not to be confused with XACML policy combination algorithms! | |
CN109450685B (zh) | 一种基于局部链节点离线的共识方法及节点 | |
CN116800541A (zh) | 一种航班运行数据分类分级访问控制及访问方法 | |
Ding et al. | An access control model and its application in blockchain | |
Zhao et al. | Attribute-based access control scheme for data sharing on hyperledger fabric | |
Chai et al. | BHE-AC: A blockchain-based high-efficiency access control framework for Internet of Things | |
Wang et al. | Blockchain for Public Safety: A Survey of Techniques and Applications | |
CN112350863B (zh) | 一种基于交易的去中心化访问控制方法和系统 | |
AU2017296038B2 (en) | Digital asset architecture | |
Xu et al. | CL‐BC: A Secure Data Storage Model for Social Networks | |
CN117407424A (zh) | 一种分布式多方异步隔离安全检索方法及装置 | |
Zhang et al. | Research on access control scheme of system wide information management based on attribute association | |
He et al. | Fine-grained access control policy in blockchain-enabled edge computing | |
Shahin et al. | Big data platform privacy and security, a review | |
Qi et al. | Short video copyright protection based on blockchain technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Li Xinyan Inventor after: Zhao Yali Inventor after: Zhao Huimin Inventor after: Deng Wu Inventor after: Xu Junjie Inventor before: Li Xinyan Inventor before: Zhao Yali Inventor before: Zhao Huimin Inventor before: Deng Wu Inventor before: Xu Junjie |