Authority for SWIM Based on Attribute Encryption
-
摘要:
为了解决广域信息管理(system wide information management, SWIM)信息安全问题,根据SWIM面向服务的系统架构 (service-oriented architecture, SOA)的特点,设计SWIM的访问策略,提出了一种基于属性密码(attribute-based encryption, ABE)的授权方法. 该方法根据SWIM访问结构中分布性、异构性和动态性的特点,采用密文访问策略 (cipher policy- attribute based encryption, CP-ABE)实现. 在模拟环境中对该方法进行仿真实验和安全性分析,实验结果表明:该方法支持SWIM航空用户细粒度的授权,降低了SWIM授权管理的复杂度,提高了SWIM系统的安全性.
Abstract:System wide information management (SWIM) is a fundamental network system, which supports aviation collaborative decision making (CDM) by using big data analysis. Likewise data security and privacy protection issues exist while providing aeronautical information exchange and data sharing. According to the service-oriented architecture (SOA) of SWIM, an authorization approach based on attribute-based encryption (ABE) was proposed to solve the problem of SWIM information security. Cipher policy- attribute based encryption (CP-ABE) was applied to meet the characteristics of distributives, heterogeneousness and dynamic in SWIM access structure. Experiments on the security of SWIM authorization approach based on the CP-ABE algorithm were performed in simulation environment. Results indicate that the proposed approach supports fine-grained authorization for the aviation users of SWIM with more security and lower complexity.
-
广域信息管理(system wide information management,SWIM)是信息化整合的下一代空中交通管理(information-based air traffic management integration)的核心,它采用面向服务的体系结构(service oriented architecture, SOA)将全球航空成员国的空中交通管理(air traffic management,ATM)系统、航空机场进行信息化集成,并连接在一起 [ 1] .
SWIM可以确保民航不同系统之间的数据实现无缝交换,空管、机场、航空公司等民航单位的相关数据能够安全、及时、有效地进行交换和共享,实现民航协同决策(collaborative decision making, CDM),保障航空交通运输安全高效运行. 国际上,各航空成员国具有独立管理本国及地区的SWIM系统的权利. 所以,SWIM属于典型的多授权的航空业务数据外包平台 [ 2] .
SWIM中包含很多航空业务关键数据和保密信息,涉及航空运行数据和航空用户的隐私. 随着我国民航业务和信息化建设的迅速发展,对网络依赖也愈发明显. 大量数据在民航网络中传输和共享,导致大量航空业务关键数据和隐私信息外泄,而且面临的恶意攻击等安全威胁越来越大 [ 3] . 因此,SWIM的发展面临着巨大的信息安全问题. 其中,最为突出的问题就是数据安全和隐私外泄 [ 4] . 导致这些问题的主要原因是非授权用户对SWIM共享资源的非法访问. 为了保障合法授权航空用户对SWIM中关键数据的合法访问,美国联邦航空局(federal aviation administration, FAA)对SWIM授权访问已经给出了明确的定义 [ 5] .
目前,对于SWIM中授权的研究大多集中在比较宽泛的安全架构定义方面,还没有具体的适用于SWIM的授权架构. 本文根据SWIM系统结构和我国民航网络运行的特点,应用基于属性加密(attribute based encryption, ABE)的技术,采用密文策略的基于属性加密(cipher policy-ABE, CP-ABE)算法,提出了一种基于属性加密的SWIM授权方法.
1 相关工作
传统的授权方式 [ 6] 由于自身的限制,不能适用于SWIM的环境. 而基于属性的授权(attribute based authorization, ABA) [ 7] 以属性作为最小单元,以ABE机制为依托,以用户和资源的属性作为授权依据,可以用在SWIM的网络环境中,为SWIM提供细粒度的、动态的、跨域的访问.
欧洲的单一天空空中交通管理研究计划(single european sky air traffic management research, SESAR)对SWIM的信息和服务模型进行了定义 [ 4] ,并且将SWIM用户的身份认证和访问控制作为安全服务的一个子项目进行研究;FAA实施的下一代航空运输系统(next generation air transportation system, NextGen)工程将以XML网关为基础设施为SWIM提供安全服务 [ 5] . 创新技术支持的SWIM (SWIM-supported by innovative technologies, SWIM-SUIT)计划已进入工程实施阶段,并已经与美国SWIM网络开展了互联工作. 欧美建议在SWIM网络融合和系统交互的过程中采用基于角色和属性的授权技术. 国际民航组织(international civil aviation organization, ICAO)制定了SWIM相关的网络服务安全标准,规定授权应符合WS-Security标准 [ 8- 9] .
在美国FAA制定的SWIM服务框架中 [ 10] ,安全服务提供一系列与信息安全有关的功能,保障数据和服务消息的安全,主要包括身份认证、授权、审计等保证数据的完整性、统一性、保密性和非抵赖性,使所有的数据可以安全、完整、有效地进行交换和共享. FAA对SWIM授权的要求是利用基于属性加密ABE的访问控制框架,支持数据库序列,用户应该细分到角色,根据资源的内容进行授权,并且能支持跨域的授权 [ 8- 9] .
在SWIM授权环境中,资源的所有者对资源有规定资源使用者的权力,使用CP-ABE [ 11] 的加密方式可以更好地契合SWIM授权环境,因此,本文选择CP-ABE算法作为SWIM授权中的加密算法. CP-ABE是密文访问策略,它在加密的过程中,用户密钥是一个属性集,包含用户的主体属性,而密文中包含加密策略,只有当解密方的属性集符合加密方的策略,才能对密文进行解密 [ 12] .
2 基于属性的SWIM授权
ABA是以基于属性的加密ABE为加密方式和架构依托的. 基于属性的授权将包含的内容划分为主体S(subject)、资源R(resource)和环境E(environment).
将S、R和E用属性的形式表示,分别为主体属性(subject attributes, SA)、资源属性(resource attributes, RA)和环境属性(environment attributes, EA). 用SA k (1≤ k≤ K)、RA m (1≤ m≤ M)和EA n (1≤ n≤ N)分别表示主体S、资源R和环境E的预定义属性 [ 13- 14] .
ATTR( s)表示主体S的属性赋值,ATTR( r)表示资源R的属性赋值,ATTR( e)表示环境E的属性赋值 [ 11- 13] :
主体属性ATTR( s)⊆SA 1 ×SA 2 ×… × SA K
资源属性ATTR( r)⊆RA 1 ×RA 2 ×… × RA M
环境属性ATTR( e)⊆EA 1 ×EA 2 ×… × EA N
基于属性的授权过程是通过3个属性之间的关联,根据授权策略决定用户权限 . 授权策略是授权过程中用来判断用户权限的函数,用一个基于 s、 r、 e的布尔函数来判断主体S能否在环境E的条件下访问资源R,用公式表示为 [ 11- 13]
Can-access( s, r, e)← f [ATTR( s),ATTR( r),ATTR( e)](1)
假如返回true,就允许用户进行访问;返回false就拒绝用户进行访问 . 所以,可以通过主体和资源属性的关联关系对用户进行授权 . 在授权过程中,环境属性相对来说比较独立 .
2.1 SWIM属性定义
针对 SWIM系统结构的特点,对 SWIM中共享数据的定义如下 [ 11- 13] .
2.1.1 SWIM中符号定义
1) A i(1≤i≤I)为区域属性 area,表示 SWIM中资源产生或者使用的地理位置. 根据我国现有的民航数据网络结构,利用地域属性可以将 SWIM运行网络按照区域划分为不同的授权域,例如:A i∈{华北,华东,中南,西南,天津,北京,上海,西安},A i的取值包含所有的 SWIM网络的地理位置. A i的值域是按照树形的结构进行定义的,每个值都对应于1个树的节点. 每个子节点只能对应于1个父节点,1个父节点可以对应多个子节点. 每个具体的地域属性的值是通过A i的组合产生的,这样定义可以使数据的域划分具有层次化、分组化,使数据的检索和授权策略的形成更加便捷. 在使用的过程中采用前序遍历的方法进行检索,通过不同层次树节点的组合表示地域属性,对于任何的地域属性,每个层次的节点值只能取1个,而且只能取本节点的子节点的值,并且从根节点取到叶节点. 比如: ATTR(s)=“华北”∪“天津”表示 S的区域属性为华北并且是天津. 其中,天津对应的节点为华北对应节点的子节点. 而 AREA( R)=”华北”∪“上海”是不对的,因为上海对应的节点不是华北对应节点的子节点.
2) O j(1≤j≤J))为机构属性 organ,代表主体或者资源对应的机构,因为在 SWIM的运行环境中,机构的不同对于不同资源的权限具有很大的影响. O j={空管局,机场,航空公司,南方航空,海南航空,天津航空}. O j的取值包含 SWIM运行环境中所有的机构. 机构属性的取值与地域属性的取值类似,同样是树形的结构,每个主体的具体属性中每个层次节点对应的值只能取1个. 比如 ORGAN(s)=“空管局”,表示 S的机构属性为空管局, ORGAN(r)=“航空公司”∪“天津航空” ,表示 R的机构属性为航空公司,并且是天津航空公司.
3) P m(1≤m≤M)为职位属性 position,代表主体的职位. 因为不同的职位对不同资源的权限不同,所以将主体的职位作为主体的一种属性. P m∈{管制用户,技术保障用户,网络管理用户,通信导航监视用户,航空气象管理用户}. P m的值域为 SWIM环境中主体的所有的职位. 在一个主体中P m只能取1个值,每个P m对应的节点都是叶节点.
4) T z(1≤z≤Z)为类型属性 type,代表的是资源的类型. T z与P m的取值类似,都是1条数据中只能取1个值,每个T z对应的节点也是叶节点. T z∈{航班对象数据,监视数据,流量数据,空域结构,航班计划,航班执行, ADS-B}. T z包含 SWIM运行环境中所有数据的类型. 类型属性的取值要求与区域属性的取值要求一样. 比如: TYPE(r)=“航班对象数据”∪“航班计划”,表示 R的类型为航班对象数据并且是航班计划.
5) L x(1≤x≤X)为主体 S的级别属性 level,代表主体的级别,L x∈ {1,2,3,…,X},其中,x∈N. 1个主体只能取1个L x的值,具体的X值根据实际环境要求进行确定.
6) R y(1≤y≤Y)为资源 R的级别属性 rank,代表资源的级别,R y∈{1,2,3,…,Y},其中,y∈N. 一个资源只能取1个R y的值,具体的Y值根据实际环境要求进行确定.
7) time表示时间, others表示 SWIM环境中的突发情况.
2.1.2 SWIM主体属性
SWIM中的主体属性分为area、organ、position和level,通过这4方面的属性就可以准确表示SWIM中的任何一组属性相同的主体,而它们在授权的过程中能获得同样的权限,所以可以看作同样的. 每个主体的属性都表示为这4个方面,表示为
ATTR( s)=AREA( s)∪ORGAN( s)∪
POSITION( s)∪LEVEL( s)
2.1.3 SWIM资源属性
对应于主体属性,将SWIM中的资源属性分为area、organ、type和rank. 同样,这4个属性的组合表示一种类型的资源,它们在授权的过程中产生的授权策略都是一样的,表示为
ATTR( r)=AREA( r)∪ORGAN( r)∪
TYPE( r)∪RANK( r)
2.1.4 SWIM环境属性
将SWIM的中环境属性分为time、others,因为授权时间在SWIM授权环境中很重要,所以单独提出,其他的用others表示,在实际情况中,有多个others的值用在一个授权策略中,表示为
ATTR( e)=TIME( e)∪OTHERS( e)
2.2 SWIM属性表示
采用上述的定义方法针对SWIM中的每条资源和每个主体的属性进行定义. 为了方便使用及直观表述,每条资源的属性组均使用属性的英文单词及该属性所属分类进行形式化定义 [ 11- 13] :
1) 使用S代表SWIM中的主体,用集合的形式表示为 S={area,organ,position,level}. 比如: S 1为位于华北天津的空管局的级别为1的导航用户,用集合的形式表示为 S 1={northchina_area,tianjin_area,atmb_organ,navigation_position,level=1}.
2) R代表SWIM中的资源,用集合的形式表示为 R={area,organ,type,rank}. 比如: R 1为来自于华北北京空管局类型为航班计划级别为2级的航行对象数据资源,用集合的形式表示为 R 1={northchina_area,beijing_area,atmb_organ,flight_object_type,flight_schedule_type,rank=2 }.
3) E代表授权时特定制定的SWIM环境,用集合的形式表示为 E={time,others}. E既可单独表示,也可以组合起来使用. 比如: E 1={2013-07-28_time}表示时间为2013-07-28; E 2={emergency}表示紧急.
2.3 SWIM属性授权策略
在SWIM授权环境中,使用CP-ABE算法进行授权加密,授权策略体现在密文中. 设计如下的授权语句:对SWIM中1个资源resource,使用式(1)进行运算得到结果为true的属性资源组合,进行逻辑运算得到 [ 11- 13]
northchina_area and atmb_organand ((navigation_position and level≥2)or (1 of (network_position, airport_position,airplane_position) and level≥3))(2)
以式(2)为参数,使用CP-ABE中加密程序对资源resource进行加密,将授权策略包含到其中,根据用户的私钥是否与加密策略匹配而确定用户的权限.
3 SWIM属性授权体系结构
SWIM的授权是通过接收用户的授权申请和从认证信息数据库获取用户的相关认证信息,再从属性数据库里面获得用户相关属性,从而对已认证用户进行授权 [ 14] . 它是SWIM安全架构的一部分. 它从认证模块处调用用户的认证信息,再根据主体、资源和环境的属性关系生成授权策略,再将授权策略传递到加密模块进行加密,从而实现对用户的授权. SWIM授权模块与其他模块的关系如 图1所示 [ 9, 15] .
3.1 授权服务器
根据授权服务器的作用,设计授权服务器的结构见 图2 [ 9, 15- 16] .
SWIM授权服务器的组成中,各个部分的功能定义如下 [ 9, 15- 16] :
1) 策略实施点 (policy enforcement point,PEP). 它是一个访问控制的实体,可以拦截主体发送SOAP服务请求,调用认证数据库的认证信息,并且向策略决策点发送授权请求. 根据授权响应的结果执行相应操作,如允许用户请求或拒绝用户请求等.
2) 策略权威 (policy authority,PA). 它用于编写策略和策略集,获得访问权所需满足的属性要求是由PA定义的.
3) 策略决策点 (policy decision point,PDP). 它用于收集主体、资源和环境属性,利用策略集判断用户的访问请求是不是满足要求,从而决定是接受还是拒绝,并且将决策结果返回给PEP.
4) 密钥数据库(key database,KDB). 它负责保存生成的密钥数据.
5) 属性权威 (attribute authority,AA). 它主要给策略决策点提供决策所需的各项属性(包括主体属性、资源属性和环境属性).
3.2 基于CP-ABE的授权
将授权服务器作为策略的制定者,加密服务器作为数据的加密方,定义不同属性的数据加密方式和加密强度. 用户在SWIM授权过程中获得的基本权限是读和写,因此,用户的权限就是只读、只写、读写和无权限. 为了区分读和写权限,对能够使用同样授权策略的拥有不同属性值的数据选用同一对公私密钥:签名密钥K w和验证密钥K r. 用K w表示用户有写权限,将K w分发给具有写权限的用户,用户写完资源以后用K w进行签名,证明自己有写权限. 用K r表示用户有读权限,用户拿到资源后,用K r进行验证,从而保证自己读出的是合法的资源 [ 11- 13, 16] .
在授权过程中,加密服务器、认证服务器和用户之间进行交互. 它们各自的作用如 表1所示.
表 1 加密服务器、认证服务器和用户模块的作用Table 1. Function of encryption server, authentication server and user module客户端 授权服务器 加密服务器 认证服务器 解密程序Decrypt Setup程序 加密程序Encrypt 对用户认证 对资源M进行加解密 密钥生成程序KeyGen 生成密钥K 生成用户标示A u 签名/验证算法运行 生成策略 根据CP-ABE的算法,设计授权的模块主要包括:系统的建立、用户获取私钥SK、生成权限密文、用户获取资源、用户权限变更5个方面. 其中每个模块的主要流程如下:
1) 授权服务器初始化
运行Setup,系统产生参数,生成主密钥MK,公钥PK.
2) 用户获取私钥SK过程
① 用户通过接入服务器向PEP发送包含认证标示A u的申请消息.
② PEP接收消息,检查用户的A u,查看用户是否认证,如果用户未认证则返回给接入服务器1个要求用户认证的消息,并从接入服务器返回给用户.
③ 用户已认证,PEP发送A u给PDP.
④ PDP根据A u从主体AA中调用用户主体属性ATTR( s)的集合 S.
⑤ PDP调用CP-ABE算法运算程序,有SK=KeyGen(MK,S).
⑥ PDP通过PEP到接入服务器,将用户私钥SK通过安全信道传递给用户.
3) 生成权限密文CT过程
① 加密服务器对资源M根据资源属性ATTR( r)选择相应的对称加密算法Al产生对应的对称密钥K,K用来加密消息M,并产生加密标示C r. 关联资源属性ATTR( r)和加密标示C r. 将ATTR( r)和C r关联存入关联数据库.
② 加密服务器向PEP发送包含加密标示C r的加密资源消息.
③ PEP将消息转发给PDP.
④ PDP根据C r从资源AA和环境AA中调用资源属性ATTR( r)的集合R和环境属性ATTR( e)的集合E.
⑤ PDP将R和E发送给PA,PA提供授权策略A,包括读策略A r和写策略A w.
⑥ PA检索策略库,查看是否已有有效的匹配于此资源属性的授权策略,如果有,则调用此策略,也就是访问结构A. 如果没有,调用策略生成程序,根据资源的属性ATTR( r)和ATTR( e)生成授权策略A. 并将生成的策略保存到策略库.
⑦ 按照PA到PDP到PEP到加密服务器的顺序,将授权策略A传递给加密服务器.
⑧ 加密服务器加密密钥K,得到CT r=Encrypt(PK,{K,Al,K r},A r)和CT w= Encrypt(PK,{K,Al,K r},A w). 其中CT r和CT w统称为CT. 将CT存放到密钥数据库,并与C r对应起来.
4) 用户获得资源过程
① 用户通过接入服务器访问关联数据库,得到资源M的关联信息C r.
② 根据C r,从密钥数据库得到相对应的CT.
③ 用户获取读权限
{K,Al,K r}=Decrypt(PK,CT,SK)
④ 用户获取写权限
{K,Al,K w}=Decrypt(PK,CT,SK)
⑤ 具有读权限用户读取资源 用户根据C r从密文数据库读出C r对应的C,用读密钥K r对C的签名Sign进行验证,然后使用密钥K按照加密算法Al进行解密,得到明文M.
具有写权限用户写资源:用户使用密钥K按照加密算法Al进行加密得到C,并对C进行签名生成签名Sign,将签名Sign和密文C加密标示Cr上传到密文服务器.
5) 用户权限变更
用户权限变更包括2种:一种是对资源M有权限的属性值组合增多,也就是新的授权策略包含旧的策略,即A∈A,其中,A表示新的授权策略. 另外一种对资源M有权限的属性值组合变化,也就是是新的授权策略不包含旧的策略A∉A [ 17] .
对于新策略包含旧策略的情况:
① 生成新的授权策略A,并使用A将A进行替换.
② 根据A对应的C r从密钥数据库找到相对应的CT.
③ 输入私钥SK、公钥PK和密文CT,解密得到加密密钥K,加密方法Al.
④ 输入加密密钥K、加密方法Al、授权策略A、公钥PK,生成新的密文CT' .
⑤ 用CT'替换CT存放到密钥数据库.
对于新策略不包含旧策略的情况:
① 生成新的授权策略A,并使用A将A进行替换.
② 根据A对应的C r从密钥数据库找到相对应的CT.
③ 根据C r找到M的属性R,生成与它匹配的新的加密密钥K'和加密方法Al'.
④ 输入加密密钥K'、加密方法Al'、授权策略A、公钥PK,生成新的密文CT'.
⑤ 用CT'替换CT存放到密钥数据库.
在上面的流程中,在1个主密钥周期内,也就是运行一遍第1)步的情况下,对于一个主体,在没有属性变更的情况下,只需进行一遍第2)步,生成一个密钥. 对于同一种属性组的资源只需进行一遍第3)步,就可以将它进行加密生成密文. 实现了密钥和资源的多对多关系.
4 实验及结果分析
我国的空管系统长期发展以来形成了民航空管局、地区空管局、分局空管站的3层组织结构. SWIM是面向空管内所有数据和所有用户的,同时也包括机场和航空公司的数据,因此,要求SWIM的授权能够考虑到所有的用户和设备等. 采用面向服务的结构SOA可以有效满足各级民航组织中数据的存储、交互和共享等要求. 授权服务器部署在每个SWIM的网络节点上,它作为SWIM的信息基础的支撑,为SWIM提供授权管理. 因此,SWIM授权部署的局部结构和整体结构就可以统一起来,解决全国民航空中交通管理业务分布式应用和跨域授权的问题.
4.1 实验环境
SWIM结构中授权服务器的部署如 图3所示,用户通过接入服务器接入到本域的授权服务器上,通过重定向服务器和代理服务器接入到Internet中与其他域的数据进行交互. 它与SWIM架构的星型拓扑结构相互契合.
通过实验对授权效果进行验证. 实验环境:Inter Pentium(R) Dual-core CPU E5400 2.7GHz,内存为2GB DDR3,操作系统是Windows 7. 实验环境构造是在VMware Workstation 8.0.2上安装linuxmint-14.1操作系统,构造LINUX环境.
4.2 实验结果
实验中,设有4个用户subject1、subject2、subject3、subject4和1个资源resource. 假设每个属性所对应的树都是深度为1的树,采用前面提及的表示方法,则: subject1的属性表示为{northchina_area,atmb_organ,navigation_position,level=1};subject2的属性表示为{northchina_area,atmb_organ,navigation_position,level=2};subject3的属性表示为{northchina_area,atmb_organ,network_position,level=3};subject4没有认证. 这样subject1、subject2、subject3分别可以从授权服务器得到自己的私钥:subject1_priv_key、subject2_priv_key和subject3_priv_key. 使用式(2)作为授权策略,对resource进行加密.
从上述加密策略和每个subject的属性可以得出subject2和subject3有权限,可以解密resource.cpabe文件,实验验证如 图4所示.
加解密时间的统计如 表2所示;针对不同长度的叶节点的加密时间统计如 表3所示.
表 2 不同节点数授权时间Table 2. Authorization time of different number of nodes节点数量 密钥生成时间/ms 加密时间/ms 解密时间/ms 1020304050 191.2374.4533.6710.4882.4 203.2366.4539.2708.0883.2 121.6225.6339.2444.0558.4 表 3 不同长度叶节点加密时间Table 3. Encryption time of different length of leaf nodes节点长度 密钥生成时间/ms 加密时间/ms 解密时间/ms 5102050100 193.2191.6192.7193.4193.2 202.8203.2203.5202.7202.6 121.4121.6121.6121.2121.8 表2代表不同数量的属性进行密钥生成的时间,可以看出随着属性数量或者节点数量的增加,密钥生成时间、加密时间、解密时间都是增加的,在节点数为50的情况下,授权时间也是在ms级的. 同时由于用户在使用资源时,对相同类型的资源只需进行一次授权,所以时间上是可以接受的.
表3代表的是在10个属性/节点的情况下,单个节点长度的不同对密钥生成时间、加密时间、解密时间的影响.
从 表3中可以看出,单个节点的长度不影响密钥生成及加解密时间,这样就可以更灵活地设计属性值,因为使用 communication-management_organ或atmb_organ在时间上是一样的.
4.3 性能分析
针对本文提出的基于属性密码的SWIM授权方法,本文从适用性和安全性两方面对其进行性能分析.
4.3.1 适用性分析
本文方法采用属性作为授权的依据,将航空用户和资源提供者都使用属性进行表示,将资源的属性和主体的属性进行关联,生成授权策略. 属性访问策略的生成更加灵活,支持与或门的操作和门限操作,并且对数据的结构没有要求. 在提出的方法中采用CP-ABE的算法和对称加密算法,以及签名验证算法结合的方法,有效地区分了读和写用户的权限. 在提出的方案中,CP-ABE算法策略的生成由授权服务器完成,避免了用户生成策略而造成的密钥管理复杂,并且对于外域来说,本域生成授权策略也更好地保护了本域的数据,与其他域交互安全便捷. 对称密码的算法、加密强度和加密密钥由加密服务器生成,服务器权限分配更加分散,符合SWIM异构性和动态性的特点.
4.3.2 安全性分析
实现了端对端的密文传输,允许用户在客户端对数据进行加密,同时用户只需按照提供的加密方式进行加密就行,使客户端开销小,并且易于管理. 但同时对其他域来说,又相当于是资源所有者生成授权策略,可以自由地选择授权用户的属性. 采用混合的密码体制管理方式,使用对称密钥进行数据加密,用公钥密码体制对密钥进行加密. 并且由加密服务器根据资源属性选择合适的对称密钥的加密算法和加密强度,有效兼顾了效率性和安全性. 对于非法用户,首先通过认证服务器进行鉴别,其次使用密码加密产生密文,使非法用户不能读取数据. 万一非法用户将密文进行破解,由于其未获得写密钥K w ,修改完资源,也不能对其签名,所以可以保证密文数据库中的资源不被修改,符合安全性的要求.
通过实验结果分析可以看出,设计的方案符合SWIM授权的要求,授权策略灵活,可以满足SWIM授权的要求.
5 结论
1) 本文提出了适用于SWIM系统中的基于属性的授权构架,并结合CP-ABE算法,提出了基于属性的SWIM授权方法. 该方法是根据国际民航组织ICAO提出的SWIM规范,结合我国民航SWIM的架构特点,并在民航网络的信息安全保障需求基础上提出的.
2) 通过实验验证表明:基于属性的SWIM授权方法可以有效地在民航的网络上部署硬件;采用基于属性的授权可以支持航空用户对SWIM共享数据的细粒度的访问;基于属性的SWIM授权方法采用CP-ABE的算法,可以有效地保证SWIM授权结构分布性、异构性和动态性的要求;基于属性的策略具有一定的灵活性,可以满足SWIM授权的权限分配要求.
The authors have declared that no competing interests exist. -
表 1 加密服务器、认证服务器和用户模块的作用
Table 1 Function of encryption server, authentication server and user module
客户端 授权服务器 加密服务器 认证服务器 解密程序Decrypt Setup程序 加密程序Encrypt 对用户认证 对资源M进行加解密 密钥生成程序KeyGen 生成密钥K 生成用户标示A u 签名/验证算法运行 生成策略 表 2 不同节点数授权时间
Table 2 Authorization time of different number of nodes
节点数量 密钥生成时间/ms 加密时间/ms 解密时间/ms 1020304050 191.2374.4533.6710.4882.4 203.2366.4539.2708.0883.2 121.6225.6339.2444.0558.4 表 3 不同长度叶节点加密时间
Table 3 Encryption time of different length of leaf nodes
节点长度 密钥生成时间/ms 加密时间/ms 解密时间/ms 5102050100 193.2191.6192.7193.4193.2 202.8203.2203.5202.7202.6 121.4121.6121.6121.2121.8 -
[1] MESEROLE JS,MOORE JW.What is system wide information management (SWIM)?[J].IEEE Aerospace and Electronic Systems Magazine,2007,22(5):13-19. [2] CRESCENZO DD,STRANOA,TRAUSMUTHG.SWIM: a next generation ATM information bus: the SWIM-SUIT prototype[C]∥ 2010 14th IEEE International Enterprise Distributed Object Computing Conference Workshops (EDOCW). Piscataway: IEEE,2010:41-46. [3] STEPHENSB.Security architecture for system wide information management[C]∥The IEEE 24th Digital Avionics Systems Conference (DASC 2005). Piscataway: IEEE,2005:1-10. [4] STEPHENSB.System-wide information management (SWIM) demonstration security architecture[C]∥2006 IEEE/AIAA 25th Digital Avionics Systems Conference. Piscataway: IEEE,2006:1-12. [5] Federal AviationAdministration.System wide information management (SWIM) extensible markup language (XML) gateway requirements-v2.2a[S].Washington, D C: Federal Aviation Adminstration,2010. [6] YANGK,JIA XH,RENK,et al.DAC-MACS: effective data access control for multi authority cloud storage systems[J].IEEE Transactions on Information Forensics and Security,2013,8(11):1790-1801. [7] HUANG QL,MA ZF,YANG YX,et al.Attribute based DRM scheme with dynamic usage control in cloud computing[J].Communications China,2014,11(4):50-63. [8] International Civil Aviation Organization.Web service security standards[C/OL]∥Aeronautical Telecommunication Network Implementation Coordination Group-Eighth Working Group Meeting. Bangkok, Thailand: ICAO, Asia and Pacific Office,2010. [2016-02-12].. http:∥www.icao.int/APAC/Meetings/2010/Forms/AllItems.aspx?RootFolder=%2fAPAC%2fMeetings%2f2010%2fatnicg_wg8&FolderCTID=0x0120004D336D268E85D94EB837B577F46716D4 [9] 吴志军,赵婷,雷缙.广域信息管理SWIM信息安全技术标准研究[J].信息网络安全,2014(1):1-4. WU ZJ,ZHAOT,LEIJ.Research on SWIM security technology standards[J].Netinfo Security,2014(1):1-4. (in Chinese)
[10] LUCKENBAUGHG,DEHNJ,RUDOLPHS,et al.Service oriented architecture for the next generation air transportation system[C]∥Integrated Communications, Navigation and Surveillance Conference 2007 ICNS'07. Piscataway: IEEE,2007:1-9. [11] WU YD,WEIZ,DENG RH.Attribute-based access to scalable media in cloud-assisted content sharing networks[J].IEEE Transactions on Multimedia,2013,15(4):778-788. [12] 孙国梓,董宇,李云. 基于CP-ABE 算法的云存储数据访问控制[J].通信学报,2011,32(7):146-152. SUN GZ,DONGY,LIY.CP-ABE based data access control for cloud storage[J].Journal on Communications,2011,32(7):146-152. (in Chinese)
[13] YANGK,JIA XH.Expressive, efficient, and revocable data access control for multi-authority cloud storage[J].IEEE Transactions on Parallel and Distributed Systems,2014,25(7):1735-1744. [14] PERVAIZZ,AREF WG,GHAFOORA,et al.Accuracy-constrained privacy-preserving access control mechanism for relational data[J].IEEE Transactions on Knowledge and Data Engineering,2014,26(4):795-807. [15] 吴志军,赵婷,雷缙.基于改进的diameterEAP-MD5的SWIM认证方法[J].通信学报,2014,35(8):1-7. WU ZJ,ZHAOT,LEIJ.Authentication method in SWIM based on improved diameter/EAP-MD5[J].Journal on Communications,2014,35(8):1-7. (in Chinese)
[16] 彭维平,周亚建,平源,等.扩展角色的密文数据访问控制模型[J].北京邮电大学学报,2011,34(5):19-24. PENG WP,ZHOU YJ,PINGY,et al.A role-extended RBAC for encrypted data[J].Journal of Beijing University of Posts and Telecommunications,2011,34(5):19-24. (in Chinese)
[17] ZHANG YY,YOU JY.A role based coordination model in agent systems[J].Journal of Harbin Institute of Technology (New Serier),2005,12(5):555-561.