庞立君,刘南杰,赵海涛,黄 波
(南京邮电大学 a.通信与信息工程学院; b.网络基因工程研究所,江苏 南京 210003)
基于CP-ABE的车联网云端数据安全访问控制方案
庞立君a,b,刘南杰a,b,赵海涛a,b,黄 波a,b
(南京邮电大学 a.通信与信息工程学院; b.网络基因工程研究所,江苏 南京 210003)
针对车联网云环境的不可信任,数据种类和数据访问用户身份复杂,访问内容多样化,以及数据所有者与数据使用者之间多对多等特点,改进CP-ABE安全算法,提出了适合车联网的云端数据安全访问控制方案(DAC-VCS)。该方案中,设置属性管理机构,根据合法用户的角色和身份为其赋予一个属性集,并利用该属性集产生用户的访问私钥;数据所有者对要上传的数据用允许访问的用户属性为加密式样,进行加密;并生成可访问数据的用户列表,将两者一起发送到云端存储。当用户访问云中数据时,首先判断用户是否位于访问列表中,如果用户在列表中且访问私钥中的属性集满足数据加密时采用的加密式样,云端将为用户生成解密口令,并将解密口令和密文一起发给用户。用户利用解密口令即可解密密文,获得自身所要的数据内容。通过这种双层保护,保障了云中数据的访问安全性,降低了所使用的云存储空间并且加解密效率得到大幅度提高。
数据安全;访问控制;DAC-VCS;存储空间;加解密效率
车联网作为物联网在交通领域的具体应用,主要基于SOA架构的应用定制服务[1]。由于云计算具有处理规模大、可靠性高、按需服务等优点,将车辆网中与车辆相关的海量数据放置在云端存储和处理成为必然[2]。云存储作为云计算的一种重要的设备[3],允许数据所有者将自己的数据放在云端,依靠云服务商给数据使用者提供“24/7/365”数据访问权利。由于在云开放环境下,数据所有者与数据使用者不会直接交互[4],即数据的所有者将数据上传至云端之后便失去了对已上传数据的控制权,无法再直接控制哪些用户可以访问数据。然而,在车联网环境下,用户上传的数据种类复杂,其中还包含一些重要信息,如车辆的历史轨迹,车辆行驶过程中检索过的地点、路线等[5],在这些数据访问时存在以下风险:
1)针对数据访问用户的身份复杂,存在涉车机密信息被非法访问用户,如黑客,恶意窃取并进行商业贸易,甚至危及车辆用户生命和财产安全的风险;
2)针对用户访问的数据内容种类复杂的特点,存在合法用户去访问不在自己访问范围的数据的风险;例如,车辆A和车辆B是合法用户,允许访问与自身相关的数据。正常情况下,车辆A和B都只能获取自身以及对其提供服务的相关部门的信息,然而,由于数据内容复杂,若数据在访问时管理不当,就会出现 A可以访问B 的相关数据,从而造成B隐私泄露的风险。
据以上分析可知,数据访问控制[6]是一种保护车联网云中数据安全访问的非常有效的方案。目前,数据所有者在将数据上传之前先进行加密处理,之后只允许拥有特定密钥的用户去访问这些已经加密的数据[7]被认为是一种解决云环境下用户数据安全的基本方法,然而,这些方法存在以下弊端:
(1)密钥管理机制复杂;
(2)数据所有者必须保证全天在线,以确保当有新用户注册时,可以及时地向该用户传输密钥值,从而使得新加入的合法用户可以访问数据;
(3)如何有效地使用已加密的数据。
基于属性加密的密文的访问控制方案(CP-ABE)[8-9]方案是云存储中一种有效的数据访问控制方案。在CP-ABE方案中,数据所有者对于数据访问有直接的控制,也无需数据所有者分发密钥。用户属性的管理和密钥的分发是由完全可信任的第三方进行。数据所有者定义数据访问结构,用这样的访问结构式样加密待上传的数据。只有当数据使用者的属性满足加密时使用的访问结构时,才可以对数据进行解密,以获取所需的内容。
在云存储这样一个不完全可信的背景下,对加密的数据进行搜索是解决数据上传前进行加密数据安全问题的有效方案。许多著作已经对搜索加密的数据[10]进行了研究,但是只是集中于单个数据上传者的情形,在这样的情形下,为了使用户检索已加密的数据,数据所有者必须与授权用户共享密钥[11-13]或者保持全天在线来产生数据使用者检索数据时所采用的密钥。这些方案都在一定程度上限制了数据使用者搜索的灵活性。
针对上述问题,本文在研究分析CP-ABE算法的前提下,对此算法进行了改进,使算法具有更高的加解密效率。并在此基础上,设计了适用于车联网云端数据的安全访问控制方案(DAC-VCS),经过分析验证,可以有效节约云中存储空间,并具有良好的安全特性。
CP-ABE 算法包括4个步骤:
1)Setup:生成主密钥MK和公开参数PK。
2)Encrypt(PK,M,T):使用PK、访问结构T加密数据明文M为密文CT。
3)KeyGen(MK,S):使用MK、用户属性值S生成用户的私钥SK。
4)Decrypt(CT,SK):使用私钥SK解密密文CT得到明文M。
根据上述CP-ABE算法,在进一步分析研究的基础上进行改进,以适合车云数据环境,在改进的算法中,包含以下几个算法:Setup,SKGen,Encrypt,TKGen,Decypt,CreateUL,Search。
1)Setup(λ)→(MSK,SMP,{uid,GPKuid,GSKuid}):Setup算法的输入为文件的安全参数λ。构造阶为素数p,生成元为g的双线性群G0,双线性映射为e:G0×G0→GT。此时,GT具有双线性,非退化的特性。输出系统主参数SMP,系统主密钥MSK,对于识别码为uid的用户,将会为该用户产生全局私钥GSKuid和全局公钥GPKuid。
2)AASetup(aaid)→(SKaaid,PKaaid,{VKxaaid,PKxaaid}):属性机构初始化算法由每个属性管理机构AA运行。以该AA的唯一识别码aaid为输入,输出AAaaid的认证私钥SKaaid和认证公钥PKaaid,为AAaid管理的每个属性产生属性版本号VKxaaid和属性公钥PKxaaid。
3)CreateUL(SMP,uid)→UL:CreateUL算法的输入值为系统主参数SMP和用户识别号uid,输出可访问数据的用户列表UL。
5)SKGen(SMP,Suid,aaid,SKaaid,{PKaaid})→SKuid,aaid:SKGen算法由每个属性管理机构AAaaid运行,以SMP,AAaaid为用户uid提供的属性集Suid,aaid,AAaaid的认证私钥SKaaid和一组认证公钥{PKaaid}为输入,输出AAaaid为用户uid产生的访问私钥SKuid,aaid。
6)Search(UL,SK)→pass/⊥:Search算法由云服务器进行调用,输入为访问用户列表UL和用户的访问密钥SK,只有当用户处于UL中且用户本身所具有的属性满足要访问数据内部嵌入的访问结构AS时,就可以让用户访问数据。任何一个条件不满足,数据访问过程将被中断。
7)TKGen(CT,GPKuid,{SKuid,k}k∈IA)→TK: TKGen产生算法由云服务器运行。当用户的数据访问为合法请求时,云服务器将已加密的密文CT,用户全局公钥GPKuid和每个AA为用户生成的访问私钥{SKuid,k}k∈IA作为输入,输出解密口令TK。
8)Decypt(CT,GSKuid,TK)→d:Decypt算法由数据使用者运行,以已加密的密文CT,用户全局私钥GSKuid和解密口令TK为输入,输出为用户所要访问的真实数据d。
2.1 系统模型
在DAC-VCS方案中,系统主要包括5个部分:车联网云服务提供商(VCSP)、车辆数据上传者(VDO)、车辆数据使用者(VDU)、可信任第三方(TA)和属性分配机构(AA)。
系统总体架构如图1所示。
图1 系统总体架构图
TA是完全可信的一个身份认证机构,完成系统的初始化,接受所有合法用户和AA的注册。对于每一个合法的用户,TA会给这个合法的用户一个独一无二的用户识别码,一对全局公钥和全局私钥。然而,TA并不负责管理属性和生成用户访问数据的访问私钥。
AA则系统中根据用户在自己所属域中的角色或身份进行属性的授予,更新和撤销,并为每个用户产生反映自身属性的私钥。每个属性只属于一个AA,但是一个AA可以管理多个属性。
云服务器保存数据所有者上传的已加密数据和允许访问数据的用户列表。通过用户识别码和AA为其产生的私钥决定是否为此次访问返回密文和产生解密口令帮助用户解密密文。
车辆数据所有者有两方面的作用,一是加密上传的数据。首先根据逻辑将数据分成若干段,采用对称加密的方法使用不同的加密密钥加密不同的数据段。然后,数据使用者利用允许访问用户的不同属性定义访问政策,根据这些访问政策去加密加密密钥。之后,数据使用者将已加密的数据和密文同时放在云端存储。另一个作用是,根据用户编号和系统主参数,创建合法用户列表。限制哪些用户可以访问此数据库里面的数据内容。
车辆数据使用者从可信任第三方处获得一个用户的唯一识别码,为了访问数据,每个数据使用者将会向云提交全局公钥,用户识别码和从AA处获得的私钥,让云端为其产生每个密文的解密口令。收到解密口令和密文之后,用户可以利用解密口令和全局私钥解密密文获得自己所需的数据。只有当用户在允许访问的用户列表中,并且满足定义在密文里面的访问结构时,才能在云端获得解密口令和密文。
2.2 系统方案
在该部分中,将对提出的车联网云端数据安全访问控制方案(DAC-VCS)进行详细的描述。首先,定义防碰撞的哈希函数H:{0,1}*→Zp,具有随机数据结构。在本方案中,包含系统初始化、数据加密、AA产生用户访问私钥、搜索和解密口令的产生、数据解密五部分。
2.2.1 系统初始化
系统初始化包括TA初始化和AA初始化,以及产生允许访问的用户列表3个部分。
1)TA初始化
可信任第三方TA运行Setup算法,TA首先选择一个随机数a∈Zp作为系统的主密钥MSK,并根据a计算系统主参数SMP=ga。TA接收用户注册和AA注册。
(1)用户注册
每个用户在系统初始化的时候都会在TA中注册自己的身份。TA会给用户分配一个独一无二的号码uid,并为其产生全局公钥GPKuid=guuid和全局私钥GSKuid=zuid,其中uuid和zuid是Zp中的2个随机数。
(2)AA注册
每个AA在系统初始化时都要向CA注册。如果AA是合法的,则CA会向AA发布一个全局认证码aaid。
2)AA初始化
3)产生允许访问的用户列表
对于系统中的每一个合法用户f,需要将该用户添加到可访问的用户列表中,以便在数据访问过程中,对访问者的身份的合法性进行判别。数据所有者在Zp中选择一个随机数字s作为新的MSK,此时系统主参数SMP=gs,随机选择Zp中的数字x,将调用CreateUL算法,使Df=[e(g,g)s]-x。再将(uid,Df)数组交给云服务器,让云服务器记录所有数组,即为可以访问的全部用户组合。对于在系统初始化完成之后新加入的合法用户,也采用相同的方式,将用户数组(uid,Df)及时添加到云服务器可访问数据的用户列表中。
2.2.2 数据加密
数据使用者在将数据上传至云端之前,先使用加密密钥κ利用对称加密的方法对数据进行加密,此处的加密方法选择128位的AES加密。之后,调用Encrypt算法要对加密密钥κ进行加密。以系统主参数SMP,公钥,加密密钥κ和相关AAk所包含的属性的访问结构为(M,ρ)。M是l×n矩阵,l代表所有属性的个数。方程ρ将M的行与属性关联起来。
∀i∈(1,l):Ci=gaλi·((gvρ(i)H(ρ(i)))γk)-ri,
(1)
2.2.3 AA产生用户访问私钥
2.2.4 搜索和解密口令的产生
当云服务器收到用户Uj访问数据时上传的访问私钥{SKj,k}k∈SA时,云服务器先调用Search算法,检查用户的用户识别码uid,是否在该数据库的访问列表中,判断此用户是否为合法用户,如果Uj在用户列表中,则被认为是合法用户,可以获得任意已加密的数据。当且仅当Uj的属性满足密文中定义的访问结构时,才可成功调用TKGen算法产生解密口令,解密加密密钥,进一步解密数据密文,获得自身所需的信息。
假设I={IAk}k∈SA是在密文中包含的所有的属性索引,其中,IAk⊂{1,…,l}是从AAk处获得的,IAAK={i:ρ(i)∈SAk}。令NA是在密文中包含AA的数目。选择限制因子,重新计算加密指数,如果根据M是有效的
(2)
将计算得到的解密口令TK送给用户Uj。
2.2.5 数据解密
数据使用者Uj收到解密口令TK之后,Uj可以使用TK和全局公钥GPKuj=zj对接收的密文CT进行解密,从而获得加密数据时使用的加密密钥κ,κ=CT/TKzj之后用户可以使用κ进一步解密已加密的原始数据。
将DAC-VCS方案与Ruj的DACC[14]方案在存储开销、加解密效率两方面进行比较。
3.1 存储开销
表1 DACC与DAC-VCS的存储开销比较
部分DACC[14]DAC-VCSAAk2na,kq(na,k+3)q数据使用者nc+2∑Nk=1na,k()q3NA+1+∑Nk=1na,k()q数据使用者∑Nk=1na,k,uid()q3NA+1+∑Nk=1na,k,uid()q车云服务商3tc+1()q3tc+3()q
表1中:nc为存储在车云服务商里面的密文总数;tc为密文中包含的属性总数。
3.2 计算开销
在加/解密时间上对于本方案和DACC方案进行仿真分析和比较。环境是搭建于Intel Core2双核CPU,3.16 GHz主频和4.00 Gbyte内存的Linux操作系统上的 ubuntu10.10, 仿真云环境的接入控制方案。代码使用配对的密码库0.5.12版来模拟访问控制方案。笔者使用对称的椭圆曲线α曲线,其中基础字段大小为512位和嵌入级数为2。α曲线具有160位的群阶数,这意味着p是160位长的素数。所有的模拟结果是20次试验的平均值。
图2展示了AA的数目以及每个AA管理不同数目的属性时系统的加解密所需时间。图2a和图2b显示了当每个AA管理的属性数设置为10时,AA数目与加/解密时间的关系;图2c和图2d中则将AA的数目设置为10时,表现了加/解密时间与每个AA管理的属性数目的关系。仿真结果表明,本方案在数据上传者端数据加密,数据使用者数据解密两方面会产生较小的计算开销。
图2 加/解密时间与AA及每个AA所包含的属性数目关系图
车联网云端数据的安全问题影响着车联网应用的发展,合理有效的访问控制方法能够提高云存储服务用户对云存储服务的信任,同时也应考虑云存储系统的性能代价。本文提出了基于CP-ABE的车联网云端数据安全访问方案,实现了数据上传者趋向的可以实现系统可扩展性的云端数据安全访问控制方案。仿真结果证明,在新用户加入,加密和解密上都具有良好的特性,在后续工作中, 将对该方案进行改进, 重点研究权限撤销时, 如何降低整个方案的存储开销和计算开销以及车云服务商的计算代价。
[1] 卢冰. 面向车联网的数据存储和查询系统[D]武汉:华中科技大学,2012.
[2] 刘南杰.崛起中的车联网[J].营赢,2011 (11):17-23.
[3] YANG Kan,JIA Xiaohua. DAC-MACS:effective data access control for multi-authority cloud storage systems[M]. New York:Springer,2013.
[4] MELL P,GRANCE T. Protecting your right: attribute-based keyword search with fine-grained owner-enforced search authorization in the cloud[M]. New York:Springer,2014.
[5] 王建强,吴辰文,李晓军. 车联网架构与关键基础研究[J].微计算机信息,2011,27(4):156-158.
[6] BETHENCOURT J,SAHAI A,WATERS B. Ciphertext-policy attribute-based encryption[C]// Proc. S&P’07 IEEE Computer Society. [S.l.]:IEEE Press,2007:321-334.
[7] 王志文,王强. 云计算敏感数据防泄露技术研究[J].信息安全与通信保密,2013(8):90-92.
[8] 洪澄,张敏,冯登国. 面向云存储的高效动态密文访问控制方法[J]. 通信学报,2011,32(7):125-131.
[9] 吕志泉,张敏,冯登国.云存储密文访问控制方案[J].计算机科学与探索,2011(9):259-265.
[10] LI M, YU S,CAO N, et al.Authorized private keyword search over encrypted data in cloud computing[C]//Proc.of ICDCS. [S.l.]:IEEE Press,2011:383-392.
[11] GOYAL V,JAIN A,PANDEY O,et al. Bounded ciphertext policy attribute based encryption[C]//Proc. ICALP’08. [S.l.]:Springer,2008:579-591.
[12] CHASE M. Multi-authority attribute based encryption[C]//Proc. TCC’07. [S.l.]:Springer, 2007:515-534.
[13] ULLER S M,KATZENBEISSER S,ECKERT C. Distributed attribute-based encryption[C]// Proc. ICISC’08. [S.l.]:Springer,2008:20-36.
[14] RUJ S, NAYAK A,STOJMENOVIC I. DACC:Distribute access control in clouds[J]. IEEE,2011(15):91-98.
Data Access Control Based on CP-ABE of Cloud for Internet of Vehicle
PANG Lijuna,b, LIU Nanjiea,b, ZHAO Haitaoa,b, HUANG Boa,b
(a.CollegeofTelecommunications&InformationEngineering;b.NetworkGeneEngineeringResearchInstitution,NanjingUniversityofPostsandTelecommunications,Nanjing210003,China)
Due to the untrustworthy of the IOV cloud, complex type of data and data users, diversification of access content and multi-user multi-owner environment, CP-ABE security algorithm is improved and a safety access control scheme DAC-VCS for data in the cloud server of IOV is proposed. Setting property management agency, it will first give legal data user a set of attributes based on the user's role and status, then use the attribute set to generate user’s private access key. Data owners firstly encrypts the data using the attributes of the user that can get access to the data and generates a list of users that can get the data uploaded and then send the user list and encrypted data to the cloud. When a user wants to access data in the cloud, cloud can check whether the user is in the user list or not. If the user is in the user list and its attributes satisfy the encryption content used in the ciphertext, the cloud would generate decryption takes and send it to the user together with the ciphertext . Then users can use the decryption token to decrypt the ciphertext to obtain the desired data content. With this double-protection, data access security can be guaranteed. What’s more, the storage overhead used has been deeply reduced with encryption and decryption efficiency is greatly improved.
data security; access control; DAC-VCS; storage overhead; encryption and decryption efficiency
国家自然科学基金项目(61302100; 61471203;61201162);中国博士后研究基金项目(2013M531391);教育部博士点基金项目(20133223120002);江苏省基础研究计划-重点研究专项基金项目(BK2011027;BK2012434);江苏省博士后研究基金项目(1202083C)
TN918
A
10.16280/j.videoe.2015.18.002
2015-03-20
【本文献信息】庞立君,刘南杰,赵海涛,等.基于CP-ABE的车联网云端数据安全访问控制方案[J].电视技术,2015,39(18).
庞立君(1991— ),女,硕士生,主研车联网;
刘南杰(1955— ),博士生导师,主要研究方向为泛在通信、车联网、智能交通。
责任编辑:闫雯雯