车载自组网(VANET)是指在交通环境中车辆之间, 车辆与固定接入点之间及车辆与行人之间相互通信形成的开放式移动网络. VANET的架构已被拓展到更广泛的范畴, 分为车内通信(in-vehicle domain)、车间通信(Ad-hoc domain)和车路通信(Infrastructure domain) 3个域. 车内通信是车载单元(OBU)与用户终端之间的通信, 用户终端可以是某种具体的设备. 车间通信包括OBU之间的通信(V2V)以及OBU与路侧单元(RSU)间的通信(V2R). 车路通信是OBU, RSU以及基础设施之间的通信. 然而, 车辆与RSU采用的通信方式是专用短距离通信(Dedicated Short Range Communication), 车辆与车辆之间的通信采用的是802.11p通信协议[1]. VANET是实现智能交通系统(ITS)的一种方式, 是将信息和通信技术传授给交通基础设施和车辆的一种技术. 车辆与车辆和车辆与路边基础设施之间可以数据交换, 用这些警告信息来提高乘客的安全, 可以减少交通事故的发生, 改善交通管理. 通过物联网的通信、数据处理等技术在交通领域的支撑性映射, 来提供更好的服务. 一般, 我们都是将大量数据存储在云服务器上, 但是, 云服务器本身的特点会造成网络延迟. 为了更好的解决问题, 美国思科公司的Bonomi等在2012年首次提出雾计算的概念[2]. 与云计算相比, 它能够过滤信息, 当聚合用户信息时, 只需要将核心信息发送给云, 减少核心网络压力. 而且, 它比云拥有更小的网络延迟, 能够及时的接收信息. 此外, 雾服务器设置在云服务器和物联网设备,以便存储和计算的数据传输尽可能多的雾服务器. 因此, 雾计算有助于减少云服务器的工作负载, 提高整个系统的效率. 由于, 我们往往将注意力放在服务器的存储和计算资源上, 在这样情况下, 如何保证数据的安全, 成为了我们需要关注的焦点. Song等[3]提出了可搜索加密, 在该方法中数据所有者将其加密的数据存储在第三个存储服务器中, 允许用户使用适当的关键字搜索加密数据, 并获得所需的加密数据. 此方法, 很好的解决了数据的安全性问题. 虽然我们将大量数据存储在云服务上, 但是它并不是完全可信的. 为了保证存储在它上面的数据的隐私性和对数据的细粒度的访问, Sahai等[4]首次提出基于属性加密(Attribute-Based Encryption, ABE)机制. 接着, Goyal和Bethencourt等[5,6]提出了基于密钥策略的属性加密方案(KP-ABE)和基于密文策略的属性加密方案(CP-ABE), 两方案均是属性集合满足访问策略时, 用户才可以解密. 然而, 在2009年Huang等[7]首次针对车联网中数据访问控制提出了一种新的基于属性的安全策略实施方案, 该方案将基于密文策略属性加密方案进行优化, 减少了加密和解密时间. 2011年, Yeh等[8]针对车联网中非安全类应用紧急服务提出基于属性访问控制方案, 该方案能够实现数据机密性和细粒度访问控制. 2013年, 针对属性加密密文问题, Rao等[9]使用析取范式访问策略设计车联网中基于属性访问控制方案, 方案中密文长度与属性数无关, 降低了通信开销. 2014年, Yeh等[10]提出面向服务的车联网细粒度访问控制便携式计费方案, 该方案利用基于密钥策略属性加密实现复杂的访问控制策略, 并确保实体的真实性和电子硬币的有效性. 2016年, Bouabdellah等[11]提出车联网中基于属性加密安全协作传输模型, 该模型利用基于密文策略属性加密来实现数据的机密性和细粒度访问控制. Xia等[12]提出车联网中隐私保护的自适应多媒体数据转发方案, 该方案利用基于密文策略属性加密将解密外包给路侧单元, 提高车辆的解密效率. 大量的数据存储在云中, 很难满足我们现在的需求, 也会给我们带来一些不便. 为了减轻用户的计算负担, 有学者将雾计算和云计算相结合, 由于雾计算有计算能力, 因此, 可以将部分计算外包给雾, 从而减轻用户的计算代价. 在2018年, Xue等[13]提出车辆云计算中延迟敏感数据共享的雾辅助可验证隐私保护访问控制方案, 该方案利用基于密文策略属性加密将数据加密和解密外包给云和雾节点, 减少了延迟和计算开销. 为了在车-雾-云环境中实现用户撤销, 计算外包, 可搜索加密, 本文提出了一个VANET中基于属性的可搜索加密和属性更新方案. 本文的主要工作是:
(1) 在车-雾-云环境下, 本文设计了一个可搜索加密方案, 将雾节点作为车辆和云服务器之间的桥梁, 数据拥有者和车辆用户都可以直接与雾节点连接, 每个雾节点都与云服务器连接, 减少了数据不必要的传输.
(2) 本文提出的基于属性的可搜索加密方案, 是一个一对多的通信. 车辆用户可以根据关键字来询问相关密文, 不泄露相关信息.
(3) 文章提出的CP-ABE方案, 将雾-云相结合, 部分加密和解密外包给雾计算, 减少了用户的计算负担, 减少了网络延迟.
2 基础知识 2.1 访问结构令
令G为循环乘法群, 其生成元为g, 阶为素数p.
(1)双线性性: 对于任意
(2)非退化性: 存在
(3)可计算性: 对于任意
本文中, 我们用访问树作为访问策略.
T代表访问树, x代表它的节点, 其中T的非叶节点x代表一个阈值门,
(1)
(2)
(3)
问题1. 判定性双线性Diffie-Hellman (简称DBDH)问题:
令G、GT是阶为素数p的群, g是G的生成元, e:
定义算法
$ \begin{split} Adv_{\rm DBDH} =& \left| {Pr \left[ {{A_{\rm DBDH}}\left( {g,{g^a},{g^b},{g^c},e{{(g,g)}^{abc}}} \right)} \right]} \right.\\ &- Pr \left[ {{A_{\rm DBDH}}\left( {g,{g^a},{g^b},{g^c},Z} \right) = 1} \right] \end{split} $ |
假设1. 对于任意多项式时间算法
本文设计的方案由以下7部分组成:
云服务器(CSP): CSP作为可信的实体, 提供多种服务, 比如: 数据存储. 当收到VU的搜索陷门时, CSP提供关键字搜索. 当对车辆用户进行撤销时, CSP可以通过更新用户属性来更新密文, 实现用户撤销.
雾节点(Fog): Fog作为可信的实体, 提供多种服务, 比如: 低延迟, 存储. Fog可以产生部分密文并发送给用户, 最终上传给CSP. 它也可以解密从CSP上获得的部分密文.
数据拥有者(DO): DO定义访问结构并产生部分密文和关键字索引, 最后将完整密文和索引发送给Fog, 最终存储在CSP.
车辆用户(VU): VU可以产生搜索的陷门并发送给CSP, CSP找到包含此关键字的密文, 然后将其发送给Fog进行部分解密. 最后, VU得到部分解密密文, 并解密.
数据拥有者(DO): DO定义访问结构并产生部分密文和关键字索引, 最后将完整密文和索引发送给Fog, 最终存储在CSP.
车辆用户(VU): VU可以产生搜索的陷门并发送给CSP, CSP找到包含此关键字的密文, 然后将其发送给Fog进行部分解密. 最后, VU得到部分解密密文, 并解密.
属性权威(AA): AA作为可信的实体, 负责生产系统参数, 属性管理和密钥生成. 当VU的属性需要更新时, AA为VU产生更新密钥.
系统模型如图1所示.
3.2 方案定义我们提出的VANET中基于属性的可搜索加密和属性更新方案具体包含以下8个步骤:
(1)算法输入安全参数
(2)密钥生成
KeyGen
(3)数据加密和生成关键字索引
DU用对称加密算法的对称密钥ck对进行消息M加密, 生成
Fog执行Encrypt
DO执行Encrypt
DO执行Index
(4) Trapdoor生成
TrapdoorGen
(5)文件检索
CSP执行Test
(6)数据预解密
Fog执行PDecrypt
(7)车辆用户解密
DV执行Decrypt
最后, 车辆用户解密
(8)属性更新
假设用户的一个属性
UKeyGen
SKUpdate
在我们的方案中, 雾节点和云服务器都是诚实可信的, 意味着它们可以执行操作并可以抵制获得非授权数据. 安全模型包括以下几个方面.
(1)细粒度访问控制: 数据拥有者可以灵活的定义访问结构, 只有用户的属性集合满足定义的访问结构时, 用户才可以访问和更新数据.
(2)抗共谋: 两个或多个用户不能结合来获得他们的私钥.
4 方案构造
(1)系统初始化
AA Setup: AA输入安全参数
$ P P=\left\{ G_{0}, \mathrm{g}, h, \mathrm{g}^{\alpha}, g^{\beta}, h^{\beta}, e(g, g)^{\alpha \beta} ,\left\{P K_{j}=g^{v_{j}} \mid {a}_{j} \in L\right\} \right\} $ |
(2)密钥生成
AA运行算法, 选择
$ S{K'} = \left\{ D' = {g^r}{h^\varepsilon },D'' = {g^\varepsilon }, \left\{ {{D_j} = {g^{\textstyle\frac{{r\beta }}{{{v_j}}}}}}\mid \forall {{{a}}_j} \in S \right\} \right\} $ |
AA将用户的外包密钥发送给Fog.
(3)加密阶段和生成关键字索引
① 加密阶段
数据上传到云之前, 数据拥有者随机选择一个ck作为对称密钥数据M进行加密, 生成
Fog加密: Fog首先从根节点R开始自上而下的为每个节点x选择一个多项式
从根节点R开始, Fog随机选择
$\begin{split} C{T_1} = &\left\{ T,{C_{\rm{1}}} = {g^{{s_1}\beta }},{C_{\rm{2}}} = {h^{\beta {s_1}}},\right.\\ &\left.\left\{ {{C_j} = {g^{{v_j}{q_x}\left( 0 \right)}}\mid\forall {{{a}}_j} = att\left( x \right) \in X} \right\} \right\} \end{split} $ |
Fog将
数据拥有者随机选择
$\begin{split} CT \!\!\!=\!\!& \left\{ T,{E_{ck}}\left( M \right),\widetilde C\!\! =\!\! ck \cdot e{\left( {g,g} \right)^{\alpha \beta {s_2}}},C\!\! = \!\!{g^{{s_2}}}, {C'} \!\!=\!\! {g^{{s_1}\beta }}{g^{\beta {s_2}}},\right.\\ &\left.{C^{''}} = {h^{{s_1}\beta }}{h^{\beta {s_2}}}, \left\{ {{C_j} = {g^{{v_j}{q_x}\left( 0 \right)}}\mid\forall {{{a}}_j} = att\left( x \right) \in X} \right\} \right\} \end{split} $ |
② 生成关键字索引
数据拥有者从文件中提取关键字集合
输入关键字和用户搜索公钥, 索引生成算法为每个关键字随机选择
(4) Trapdoor生成
输入关键字, 云的公钥和用户私钥, 算法随机选择
$ \begin{split} {T_w} & = \left\{ {{T_1},{T_2}} \right\} = \left\{ {{g^\sigma },{{\left( {P{K_s}} \right)}^\sigma } \cdot {H_1}{{\left( w \right)}^{{A_{\rm pri}}}}} \right\}\\ & = \left\{ {{g^\sigma },{{\left( {{g^{{x_s}}}} \right)}^\sigma } \cdot {H_1}{{\left( w \right)}^u}} \right\} \end{split} $ |
(5)文件检索
输入关键字索引和用户搜索Trapdoor, 云收到用户的搜索请求后, 首先要检查用户的属性是否满足访问结构. 如果是, 云检查
云计算:
$ \theta = \frac{{{T_2}}}{{{{\left( {{T_1}} \right)}^{{x_s}}}}} = \frac{{{{\left( {{g^{{x_s}}}} \right)}^\sigma } \cdot {H_1}{{\left( w \right)}^u}}}{{{{\left( {{g^\sigma }} \right)}^{{x_s}}}}} = {H_1}{\left( w \right)^u} $ |
再根据关键字索引计算:
$ {\theta _1} = e\left( {{I_1},\theta } \right) = e\left( {{{\left( {{g^u}} \right)}^\sigma },{H_1}\left( w \right)} \right) $ |
判断
(6)数据预解密
Fog首先从云上获得关键字索引相关的密文, 用部分密钥解密, 进行如下操作:
如果用户的属性集合满足定义的访问策略, 那么用户就能解密. 算法输入密文
① 如果节点x是叶节点, 让
$ \begin{split} {F_x} &= \prod\limits_{n \in {S_x}} {{F_n}^{{\nabla _j},{S_x}'\left( 0 \right)}} \\ & = \prod\limits_{n \in {S_x}} {{{\left( {e{{\left( {g,g} \right)}^{r\beta {q_{parent\left( x \right)}}\left( {index\left( x \right)} \right)}}} \right)}^{{\nabla _j},{S_x}'\left( 0 \right)}}} \\ & = \prod\limits_{n \in {S_x}} {e{{\left( {g,g} \right)}^{r\beta {q_x}\left( j \right){\nabla _j},{S_x}'\left( 0 \right)}}} \\ & = e{\left( {g,g} \right)^{r\beta {q_x}\left( 0 \right)}} \end{split} $ |
② 如果
$ Fog.DecryptNode\left( {CT,S{K'},x} \right) = \bot $ |
③ 如果是x非叶节点算法定义是: 对于x所有的孩子节点n, 它执行
$ \begin{split} &Fog.DecryptNode\left( {CT,S{K'},x} \right)\\ &=e\left( {{D_j},{C_j}} \right) \\ &= e\left( {{g^{^{\textstyle\frac{{r\beta }}{{{v_j}}}}}},{g^{{v_j}{q_{x\left( 0 \right)}}}}} \right)\\ & = e{\left( {g,g} \right)^{r\beta {q_{x\left( 0 \right)}}}} \end{split} $ |
让
$ \begin{split} &F = Fog.DecryptNode\left( {CT,S{K'},R} \right)\\ &\quad = e{\left( {g,g} \right)^{r\beta {q_{R\left( 0 \right)}}}}\\ &\quad = e{\left( {g,g} \right)^{r\beta {s_1}}} \end{split} $ |
然后, 雾节点计算:
$\left\{ \begin{split} &A = \frac{B}{F} = \frac{{e{{\left( {g,g} \right)}^{r\beta \left( {{s_1} + {s_2}} \right)}}}}{{e{{\left( {g,g} \right)}^{r\beta {s_1}}}}} = e{\left( {g,g} \right)^{r\beta {s_2}}}\\ &B{\rm{ = }}\frac{{e\left( {{D'},{C'}} \right)}}{{e\left( {{D^{''}},{C^{''}}} \right)}} = \frac{{e\left( {{g^r}{h^\varepsilon },{g^{{s_1}\beta }}{g^{\beta {s_2}}}} \right)}}{{e\left( {{g^\varepsilon },{h^{{s_1}\beta }}{h^{\beta {s_2}}}} \right)}}= e{\left( {g,g} \right)^{r\beta \left( {{s_1} + {s_2}} \right)}} \end{split}\right. $ |
(7)车辆用户解密
雾节点把预解密密文发送给用户, 用户用自己的私钥解密得到对称密钥;
$ \frac{{\widetilde C \cdot A}}{{e\left( {D,C} \right)}} = \frac{{ck \cdot e{{\left( {g,g} \right)}^{\alpha \beta {s_2}}} \cdot e{{\left( {g,g} \right)}^{r\beta {s_2}}}}}{{e\left( {{g^{\beta \left( {\alpha + r} \right)}},{g^{{s_2}}}} \right)}} = ck $ |
最后再用对称密钥解密
(8)属性更新
更新密钥生成: 算法输入公钥, 主密钥和属性
更新的用户私钥:
$ \begin{split} SK_u =& \Bigg\{ D = {g^{\beta \left( {\alpha + r} \right)}},D' = {g^r}{h^\varepsilon },D'' = {g^\varepsilon },\\ &\left.\bigg\{{D_j}' \!\!= \!\!{D_j}\!\! =\!\! {g^{\textstyle\frac{{r\beta }}{{{v_j}}}}}\mid j \ne {j'}\bigg\}, \left\{{D_j}' \!\!= \!\!{\left( {{D_j}} \right)^{U{K_{j'}}}}\mid j = {j'}\right\} \right\} \end{split} $ |
假如存在多项式时间的敌手以不可忽略的优势攻破本文方案, 则存在一个算法以一定的优势解决DBDH问题. 我们方案的安全性是基于DBDH困难问题假设做的, 证明在文献[14]中. 本方案的安全性能分析如下:
(1)细粒度的访问控制
为了能够灵活的访问数据, 就需要细粒度的访问加密数据, 我们利用CP-ABE来管理系统的加密密钥. 在加密阶段, 数据拥有者定义访问结构并用对称密钥对消息进行加密. 当有用户要访问数据时, 需要自己的属性集合满足定义的访问策略, 否则, 解密失败. 因此, 本方案在访问控制方面具有灵活性.
(2)抗共谋
当两个或多个用户想要结合他们的密钥来访问加密数据时, 这个操作是实现不了的. 在本方案中, 属性权威会给每个用户产生不同的私钥, 这个私钥是和一个随机数相关的, 多个用户密钥结合不能恢复出来访问密钥.
6 性能分析 6.1 功能性比较在这部分, 我们将本方案与其他方案进行了对比, 这里我们更注重功能和计算复杂度的比较. 表1是功能比较, 表中√表示满足, ×表示不满足.
在这里可以看出, 文献[15]实现了撤销和关键字搜索, 但没有实现雾计算和外包. 文献[16]仅实现了撤销, 其他都没实现. 文献[17]仅实现了撤销, 其他功能均没有实现. 文献[18]实现了外包, 撤销和关键字搜索, 没有实现解密外包和雾计算. 本方案以上功能均实现了, 看出本方案功能齐全, 有优势. 本方案以上功能均实现了, 看出本方案功能齐全, 有优势.
6.2 计算开销
设p表示双线性配对所需的时间,e表示在群G中标量乘法所需的时间. 本方案在i5-M60, 2.53 GHz, i5 CPU, 4 GB内存和64位Windows 10上进行仿真. 表2列出了操作的平均运行时间.
假设在密文生成, 密钥生成, 密钥更新, 外包解密等阶段数据使用者从属性授权得到的属性数量l是一致的. 表3中总结了本文方案和文献[15–18] 方案的计算开销, 对每个过程所需要的计算量进行了量化, 对应的实验仿真结果如图2–图5所示.
在表3中, m表示集合中属性的个数; e表示
图2–图5分别表示的是密钥生成时间, 密文生成时间, 密钥更新时间以及外包解密时间与属性数量的关系, 其中密钥中涉及到的属性数量被设置为10, 即
在图2中, 本文方案的密钥生成时间低于文献[16–18]等对比方案, 计算成本更低. 在图3中, 本文方案的密文生成时间低于所有对比方案, 计算成本低且更有效. 在图4中, 本文方案的密钥更新生成时间低于文献[15–17]等对比方案, 计算成本低. 在图5中, 本文方案的外包解密计算时间低于文献[17,18]等对比方案, 计算成本低, 其他方案没有实现外包.
经分析可知, 本文提出的方案在加密、解密和密文更新阶段所需的计算开销是最低的, 比文献[15–18]方案有更多的优势.
7 总结本文提出了车载自组网中基于属性的可搜索加密和属性撤销方案. 首先, 将车辆用户的敏感数据和访问策略经过加密通过雾节点外包给云服务器, 并将部分加密和解密外包给雾节点, 从而减轻了车辆用户的计算负担. 其次, 我们的应用场景是车载自组网, 方案中车辆拥有者能够将数据通过雾节点安全的存储在云服务器上, 以便其他用户可以有效的访问. 再者, 我们的方案支持关键字的可搜索加密和细粒度的访问控制以及属性更新, 避免不合法用户对数据的访问. 最后, 经过比较, 我们的方案功能更加齐全, 拥有更大的优势. 在未来工作中, 我们将继续研究多授权、分层、多关键字搜索等在基于属性的加密中的应用.
[1] |
Levinson D, Chang E. A model for optimizing electronic toll collection systems. Transportation Research Part A: Policy and Practice, 2003, 37(4): 293-314. DOI:10.1016/S0965-8564(02)00017-4 |
[2] |
Bonomi F, Milito R, Zhu J, et al. Fog computing and its role in the Internet of Things. Proceedings of the 1st Edition of the MCC Workshop on Mobile Cloud Computing. Helsinki, Finland. 2012. 13–16.
|
[3] |
Song DX, Wagner D, Perrig A. Practical techniques for searches on encrypted data. Proceeding of 2000 IEEE Symposium on Security and Privacy. Berkeley, CA, USA. 2000. 44–55.
|
[4] |
Sahai A, Waters B. Fuzzy identity-based encryption. Proceedings of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques. Aarhus, Danmark. 2005. 457–473.
|
[5] |
Goyal V, Pandey O, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data. Proceedings of the 13th ACM Conference on Computer and Communications Security. Alexandria, IN, USA. 2006. 89–98.
|
[6] |
Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption. Proceedings of 2007 IEEE Symposium on Security and Privacy (SP'07). Berkeley, CA, USA. 2007. 321–334.
|
[7] |
Huang DJ, Verma M. ASPE: Attribute-based secure policy enforcement in vehicular ad hoc networks. Ad Hoc Networks, 2009, 7(8): 1526-1535. DOI:10.1016/j.adhoc.2009.04.011 |
[8] |
Yeh LY, Chen YC, Huang JL. ABACS: An attribute-based access control system for emergency services over vehicular ad hoc networks. IEEE Journal on Selected Areas in Communications, 2011, 29(3): 630-643. DOI:10.1109/JSAC.2011.110312 |
[9] |
Rao YS, Dutta R. Efficient attribute based access control mechanism for vehicular ad hoc network. Proceedings of the 7th International Conference on Network and System Security. Madrid, Spain. 2013. 26–39.
|
[10] |
Yeh LY, Huang JL. PBS: A portable billing scheme with fine-grained access control for service-oriented vehicular networks. IEEE Transactions on Mobile Computing, 2014, 13(11): 2606-2619. DOI:10.1109/TMC.2013.45 |
[11] |
Bouabdellah M, El Bouanani F, Ben-Azza H. A secure cooperative transmission model in VANET using attribute based encryption. Proceedings of 2016 International Conference on Advanced Communication Systems and Information Security. Marrakesh, Morocco. 2016. 1–6.
|
[12] |
Xia YJ, Chen WZ, Liu XJ, et al. Adaptive multimedia data forwarding for privacy preservation in vehicular ad-hoc networks. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(10): 2629-2641. DOI:10.1109/TITS.2017.2653103 |
[13] |
Xue KP, Hong JN, Ma YJ, et al. Fog-aided verifiable privacy preserving access control for latency-sensitive data sharing in vehicular cloud computing. IEEE Network, 2018, 32(3): 7-13. DOI:10.1109/MNET.2018.1700341 |
[14] |
Zhang P, Chen ZH, Liu JK, et al. An efficient access control scheme with outsourcing capability and attribute update for fog computing. Future Generation Computer Systems, 2018, 78: 753-762. DOI:10.1016/j.future.2016.12.015 |
[15] |
Sun J, Ren LL, Wang SP, et al. Multi-keyword searchable and data verifiable attribute-based encryption scheme for cloud storage. IEEE Access, 2019, 7: 66655-66667. DOI:10.1109/ACCESS.2019.2917772 |
[16] |
Zhang P, Chen ZH, Liang KT, et al. A cloud-based access control scheme with user revocation and attribute update. Proceedings of the 21st Australasian Conference on Information Security and Privacy. Melbourne, Australia. 2016. 525–540.
|
[17] |
Huang QL, Yang YX, Wang LC. Secure data access control with Ciphertext update and computation outsourcing in fog computing for Internet of Things. IEEE Access, 2017, 5: 12941-12950. DOI:10.1109/ACCESS.2017.2727054 |
[18] |
Wang SP, Ye J, Zhang YL. A keyword searchable attribute-based encryption scheme with attribute update for cloud storage. PLoS One, 2018, 13(5): e0197318. DOI:10.1371/journal.pone.0197318 |