龐立君,劉南杰,趙海濤,黃 波
(南京郵電大學 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— ),博士生導師,主要研究方向為泛在通信、車聯網、智能交通。
責任編輯:閆雯雯