-
随着传感技术、大数据技术以及移动物联网的快速发展,移动群智技术作为一种新型大规模感知技术,能够利用用户随身携带的移动设备突破时间与地点的限制,随时随地地借助云服务平台进行大规模的实时数据感知、传输和共享[1-3]。随着便携式移动设备传感器集成的精细化以及功能的多样化,其应用也越来越广泛,如交通导航、环境监测、医疗服务等[4-5]。尽管移动群智应用能够极大地提升人类生活质量,然而由于在应用过程中涉及大量的数据传输、交换和共享,这使得群智感知的应用也面临着一系列数据隐私和安全问题。如攻击者可以通过非法获取用户上传的群智医疗等敏感信息来推导其健康状况,进而进行一系列恶意造谣和攻击。社交用户传输给应用服务器的群智数据通常带有时空信息(含有收集数据时的位置),攻击者可以非法获取这些数据并可能利用这些数据推导出用户的生活习惯、行为、家庭住址等敏感信息,从而获取用户的隐私并可能对用户发起恶意攻击。因此,在保证数据隐私性的前提下,如何实现对群智数据的授权访问是移动群智应用首要解决的问题[6-8]。
基于属性加密的访问控制技术是一种有效的解决方法[9-10]。在该技术中,用户的私钥和一组属性集(或一个访问控制)绑定在一起,加密的数据和访问控制(或一组属性集)绑定在一起。当用户私钥中的属性集(访问控制)和密文中的访问控制(属性集)相匹配时,该用户才有权访问数据。然而,在现有的大多数基于属性加密的访问控制中,用户的密钥通常是由一个中央权威去生成和分配,这就需要该权威机构是完全可信的。而在现实的应用场景中,中央权威机构由于托管着用户所有的密钥,可能伪装成合法用户去访问用户的数据,使得用户数据隐私性遭到破坏。因此,如何实现去中心化和分布式的访问控制减少中央权威的信任成为亟待解决的挑战。此外,现有的大多数基于属性的访问控制方案中都过于专注用户数据机密性的保护,很少考虑用户属性的隐私性。如在移动群智的医疗服务场景中,群智用户选择一个访问控制,如“人民医院”“精神科医生”“生理医生”“心理医生”,对自己的群智医疗数据进行加密,使得只有人民医院的精神科医生、生理医生或心理医生才能访问其医疗数据。然而,由于密文中的访问控制是以明文的形式附加在密文数据上的,这就使得任何非法用户即使不能解密其密文数据,也能通过访问控制大致推测该用户可能患有生理或心理疾病,这无疑在一定程度上损害了用户的隐私。因此,如何防止访问控制的隐私性泄漏也成为另一个待解决的挑战之一。除了实现去中心化和分布式的访问控制以及保证访问控制的隐私性之外,考虑到大多数的基于属性加密的方案其密文长度过长、解密效率过低,这对于资源受限的移动群智用户难以快速地解密并访问数据,因此,如何保证资源有限的群智用户能以最少的耗能快速实现对目标数据的访问也是一个现实的挑战。
目前来说,大多数基于属性的加密方案都只能部分解决以上挑战。如具有去中心化功能的基于属性的加密方案[11-18]仅能够实现中心化和分布式的访问控制,无法实现对访问控制的隐私保护和高效的数据访问。具有策略隐藏功能的基于属性的加密方案[19-25]仅能够实现对访问控制的隐私保护,无法实现去中心化和高效的数据访问;具有外包功能的基于属性的加密方案[26-33]仅能够实现高效的数据访问,而没有考虑去中心化和访问控制的隐私保护;此外,还有一些具有隐私保护的去中心化功能的基于属性的加密方案或基于外包的具有隐私保护的属性基加密方案要么没有考虑用户解密效率,要么未考虑去中心化问题[14, 25, 34-35]。
为了实现移动群智应用场景下的属性隐藏、去中心化以及高效的数据访问,本文提出了一个基于属性隐藏的高效去中心化的移动群智数据共享方案。本文的主要贡献如下。
1)细粒度访问控制:本方案允许群智用户指定基于属性的访问控制用于加密群智数据,使得只有满足访问控制的用户才能访问该群智数据。与之前的细粒度访问控制相比,本方案的访问控制更高效。
2)权威去中心化:本方案允许多个权威机构为群智用户共同生成私钥,使得单独的权威机构无法伪装成合法的用户非法访问目标数据。相较于之前中心化的属性权威的问题,本方案能够防止抗权威密钥泄漏。
3)属性隐藏: 本方案支持对访问控制的隐私保护,本质上来说访问控制是一组属性的描述,实现对访问控制的隐私保护等同于实现对用户属性的隐藏。与之前的访问控制方案相比,本方案考虑了访问控制的属性隐私。
4)外包解密: 本方案允许群智用户能够以最低的能耗去快速解密和访问目标数据。
-
$${ \begin{gathered} A = e\left( {C_0,\prod\limits_{i = 1}^n {{\rm{U}}{{{\rm{K}}'}_i}} } \right) e\left( {\prod\limits_{i = 1}^n {C_i^{{{Z'_i}}}} ,g_2^{\boldsymbol{h}}} \right) = \\ e\left( {g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}},\prod\limits_{i = 1}^n {g_2^{\left( {{{\boldsymbol{\alpha }}_i} - {{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}} + {{\boldsymbol{\mu }}_i}} \right)/\hat t}} } \right) e\left( {g_1^{{\displaystyle\sum\limits_{i - 1}^n} {{{z'}_i}\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }} }} \right) = \\ e\left( {g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}},\prod\limits_{i = 1}^n {g_2^{\left( {{{\boldsymbol{\alpha }}_i} - {{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}} + {{\boldsymbol{\mu }}_i}} \right)/\hat t}} } \right) e\left( {g_1^{{\displaystyle\sum\limits_{i - 1}^n} {{{{\boldsymbol{z}}'}_i}\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }} },g_2^{\boldsymbol{h}}} \right) = \\ e{\left( {g_1,g_2} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_\gamma } - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{h}}^{\rm{T}}}{\boldsymbol{S}}_i^{\rm{T}}{{\boldsymbol{R}}_\gamma }} }} \times e{\left( {g_1,g_2} \right)^{\left\langle {{\boldsymbol{x}},{\boldsymbol{z}}'} \right\rangle {{\boldsymbol{h}}^{\rm{T}}}{{\boldsymbol{V}}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {\displaystyle\sum\limits_{i = 1}^n} {{z_i}{{\boldsymbol{h}}^{\rm{T}}}{\boldsymbol{S}}_i^{\rm{T}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}} }} = \\ e{\left( {g_1,g_2} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma}} }/\hat t}} e{\left( {g_1,g_2} \right)^{\left\langle {{\boldsymbol{x}},{\boldsymbol{z}}'} \right\rangle {{\boldsymbol{h}}^{\rm{T}}}{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}} \\ \end{gathered}} $$ 当用户的属性向量和访问向量正相交时,即
$\left\langle {x,z} \right\rangle = 0$ 表示用户的属性集合满足密文中的访问控制,则以上等式$A = e{\left( {g_1,g_2} \right)^{{{\boldsymbol{\alpha}} ^{\rm{T}}}{R_\gamma }/\hat t}}$ ,其中,${\boldsymbol{\alpha }}= \displaystyle\sum\limits_{i = 1}^n {{{\boldsymbol{\alpha }}_i}} $ 。随后,用户可以正确恢复消息$m = C'/{A^{\hat t}}$ 。 -
为了能够证明本方案的语义安全性,定义了一系列的游戏
$ {\rm{Game}} $ 如下。$ {\rm{Gam}}{{\rm{e}}_0} $ :该游戏与定义1中一样,模拟的是方案真实的安全游戏。$ {\rm{Gam}}{{\rm{e}}_1} $ :该游戏除了随机预言机回答的询问不一样外,其他均与游戏$ {\rm{Gam}}{{\rm{e}}_0} $ 和一样。具体来说随机预言机模拟的过程如下:挑战者$\mathcal{C}$ 从${Z_p}$ 中随机选取一个长度为$n$ 的向量${{{\boldsymbol{r}}}}$ ,计算${\boldsymbol{h}} = {\boldsymbol{Br}}$ ,然后存储${\boldsymbol{h}}$ 的值去回答攻击者的随机预言机询问。$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $ :该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_1} $ 一样,除了挑战者$\mathcal{C}$ 选择${\boldsymbol{R}}$ ,${{\boldsymbol{a}}^ \bot }$ ,${\boldsymbol{B}}$ ,${{\boldsymbol{b}}^ \bot }$ ,$\hat t$ ,使得${{\boldsymbol{R}}^{\rm{T}}}{{\boldsymbol{a}}^ \bot } = 0$ 以及${{\boldsymbol{B}}^{\rm{T}}}{{\boldsymbol{b}}^ \bot } = 0$ ,具体密钥询问如下。1)前
$j - 1$ 密钥询问的回答如下:$ {\rm{UK}} = g_2^{{\boldsymbol{\alpha }} + {{\boldsymbol{\alpha }}^ \bot }\hat t - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $ ,这里$h$ 和游戏$ {\rm{Gam}}{{\rm{e}}_1} $ 中的一样,即挑战者$\mathcal{C}$ 从${Z_p}$ 中随机选取一个长度为$n$ 的向量${\boldsymbol{r}}$ ,计算$h = {\boldsymbol{B}}{\boldsymbol{r}}$ 。2)第
$j$ 个密钥询问的回答如下:${\rm{UK}} = g_2^{{\boldsymbol{\alpha}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }$ ,这里$h$ 和游戏$ {\rm{Gam}}{{\rm{e}}_1} $ 中的一样,即挑战者$\mathcal{C}$ 从${Z_p}$ 中随机选取一个长度为$n$ 的向量${\boldsymbol{r}}$ 以及一个随机数$\hat r$ ,使得$ h = B{\boldsymbol{r}} + {{\boldsymbol{a}}^ \bot }\hat r $ 。3)最后
$ q $ —$j $ 个密钥询问回答如下:${\rm{UK}} = g_2^{{\boldsymbol{\alpha}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }$ ,这里${\boldsymbol{h}} = {\boldsymbol{B}}{\boldsymbol{r}}$ ,${\boldsymbol{r}}$ 是从${Z_p}$ 中随机选取一个长度为$n$ 的向量。$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ :该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $ 一样,除了第$j$ 个密钥询问时回答不同,具体来说,$ {\rm{UK}} = g_2^{{\boldsymbol{\alpha }}+ {{\boldsymbol{\alpha }}^ \bot }\hat t - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $ ,这里挑战者$\mathcal{C}$ 从${Z_p}$ 中随机选取一个长度为$n$ 的向量${\boldsymbol{r}}$ 以及一个随机数$\hat r$ ,使得$ {\boldsymbol{h}} = {\boldsymbol{B}}{\boldsymbol{r}} + {{\boldsymbol{a}}^ \bot }\hat r $ 。$ {\rm{Gam}}{{\rm{e}}_{2,j,3}} $ :该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ 一样,除了前$ j $ 个密钥询问时回答不同,具体来说,$ {\rm{UK}} = g_2^{{\boldsymbol{\alpha }}+ {{\boldsymbol{\alpha }}^ \bot }\hat t - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $ ,这里挑战者$\mathcal{C}$ 从${Z_p}$ 中随机选取一个长度为$n$ 的向量${\boldsymbol{r}}$ ,使得${\boldsymbol{h}} = {\boldsymbol{B}}{\boldsymbol{r}}$ 。$ {\rm{Gam}}{{\rm{e}}_3} $ :该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_2} $ 一样,除了生成的挑战密文与其不同。具体来说,挑战者$\mathcal{C}$ 从${Z_p}$ 中选取一个长度为$n + 1$ 的向量${\boldsymbol{a}}$ ,并生成如下密文:${C_0} = g_1^{\boldsymbol{a}}$ ,${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){\boldsymbol{a}}}$ ,$C' = {m_c} e{({g_1},{g_2})^{{{\boldsymbol{\alpha }}^{\rm{T}}}{\boldsymbol{a}}}}$ 。$ {\rm{Gam}}{{\rm{e}}_4} $ :该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_3} $ 一样,除了加密消息时随机选取的群中的元素。$ {\rm{Gam}}{{\rm{e}}_5} $ :该游戏几乎与游戏$ {\rm{Gam}}{{\rm{e}}_4} $ 一样,除了选取的访问向量${\boldsymbol{x}}$ 被一个随机向量${{\boldsymbol{x}}^*}$ 取代。注意该游戏从攻击者$\mathcal{A}$ 的角度无法区分加密的消息,因此无法以一定的优势赢得该游戏。引理 1 游戏
$ {\rm{Gam}}{{\rm{e}}_0} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_1} $ 的不可区分性如果存在一个攻击者
$\mathcal{A}$ 能够区分游戏$ {\rm{Gam}}{{\rm{e}}_0} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_1} $ ,那么就存在一个挑战者$\mathcal{C}$ 能够以不可忽略的优势解决线性判定性问题 (decisional linear problem)。证明:挑战者
$\mathcal{C}$ 接收一个判定性线性问题的实例$\left( {g_2^B,g_2^h} \right)$ ,目标是区分$h = Br$ 或$h$ 是${Z_p}$ 中一个随机数,其中$r$ 是${Z_p}$ 中随机选取的。可以很容易观察到公共参数、权威机构的公钥和挑战密文如实际方案被构建出来。针对用户私钥询问,可以通过如下计算得出$ {\rm{UK}} = g_2^\alpha {\displaystyle\prod\limits_{i = 1}^n {\left( {g_2^{\boldsymbol{h}}} \right)} ^{ - {{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}}} = g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} } $ 。当
$h \in {\rm{Span}}\left( B \right)$ $ h\in {\rm{Span}}\left(\mathit{B}\right) $ 时,密钥和随机预言机响应的分布与游戏$ {\rm{Gam}}{{\rm{e}}_1} $ 完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_0} $ 完全相同。通过$ k $ -判定性线性问题,可以得知攻击者$\mathcal{A}$ 只能够以可忽略的优势区分这两个游戏。引理 2 游戏
$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $ 的不可区分性如果存在一个攻击者
$\mathcal{A}$ 能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $ ,那么就存在一个挑战者$\mathcal{C}$ 能够以不可忽略的优势解决线性判定性问题。证明:挑战者
$\mathcal{C}$ 接收一个判定性线性问题的实例$\left( {g_2^{\boldsymbol{B}},g_2^{\boldsymbol{h}}} \right)$ ,目标是区分${\boldsymbol{h}} = {\boldsymbol{Br}}$ 或${\boldsymbol{h}}$ 是${Z_p}$ 中的一个随机数,其中${\boldsymbol{t}}$ 是${Z_p}$ 中随机选取长度为$n$ 的向量。参数建立阶段
$\left( {{\rm{Setup}}} \right)$ :挑战者$\mathcal{C}$ 如实际方案中一样随机选择一个长度为$n + 1$ 的向量${{\boldsymbol{\alpha }}_i} \in {Z_p}$ 、一个随机数$\hat t \in {Z_p}$ 、随机矩阵${\boldsymbol{R}}$ ,${{\boldsymbol{a}}^ \bot }$ ,${{\boldsymbol{S}}_i}$ ,${\boldsymbol{V}}$ ,生成公开参数$g_1^{\boldsymbol{R}}$ ,$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$ 以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$ ,$e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha }}_i^{\rm{T}}{\boldsymbol{R}}}}$ 。密钥询问阶段
$\left( {{\rm{Key}},{\rm{Query}}} \right)$ :输入第$m$ 个密钥询问,挑战者$\mathcal{C}$ 为攻击者生成如下密钥:$$ {\rm{UK}} = \left\{ {\begin{array}{*{20}{l}} g_2^{{\boldsymbol{\alpha}} + {{\boldsymbol{\alpha }}^ \bot }{\boldsymbol{t}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{Br}}} }&m < j \\ g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }&m = j \\ g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{Br}}} }&m > j \\ \end{array}} \right. $$ 式中,
${\boldsymbol{r}}$ 表示从${Z_p}$ 中选取的随机值组成的一个长度为$n$ 的向量。注意攻击者在拿到密钥后可以进行密钥盲化,模拟外包的过程。密文生成阶段
$\left( {{\rm{Ciphertext}}} \right)$ :攻击者$\mathcal{A}$ 选择两个等长的消息${m_b},b \in \left\{ {0,1} \right\}$ ,挑战者$\mathcal{C}$ 随机选择一个${\boldsymbol{\gamma}} $ ,计算如下:${C_0} = g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$ ,${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$ ,$C' = {m_b} e{({g_1},} {g_2})^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$ 。当
$h \in {\rm{Span}}\left( B \right)$ 时,密钥和随机预言机响应的分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $ 完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $ 完全相同。通过$ k $ -判定性线性问题,可以得知攻击者$\mathcal{A}$ 只能够以可忽略的优势区分这两个游戏。引理 3 游戏
$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ 不可区分性如果存在一个攻击者
$\mathcal{A}$ 能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,1}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ ,那么就存在一个挑战者$\mathcal{C}$ 能够以不可忽略的优势解决线性判定性问题。证明:两种游戏的不同之处在于在后面的游戏中需要用
$g_2^{{{\boldsymbol{a}}^ \bot }\hat t}$ 乘以第$j$ 个密钥,其中$\hat t$ 是由挑战者$\mathcal{C}$ 从${Z_p}$ 中随机采样的。在第$j$ 个密钥询问中,攻击者$\mathcal{A}$ 向挑战者$\mathcal{C}$ 发送有关密钥的属性向量${\boldsymbol{z}}$ ,挑战者$\mathcal{C}$ 执行如下操作:$$ {{\boldsymbol{S}}'_i} = \left\{ {\begin{array}{*{20}{l}} {{\boldsymbol{S}}_i} + {\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^ \bot }^{^{\rm{T}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}&{z_i} \ne 0 \\ {{\boldsymbol{S}}_i}&{z_i} = 0 \\ \end{array}} \right. $$ 从以上可以看出
${{\boldsymbol{S}}_i}$ 和${{\boldsymbol{S}}'_i}$ 的分布显然是相同的。此外,还可以得知若密文和权威机构的公钥是使用${{\boldsymbol{S}}'_i}$ 而不是${{\boldsymbol{S}}_i}$ 生成的,则二者没有区别。具体来说,对于公钥的生成如下:$$ \begin{aligned} g_1^{{{{\boldsymbol{S}}'_i}}^{\rm{T}}{\boldsymbol{R}}} =& g_1^{{{\boldsymbol{S}}_i}^{\rm{T}}{\boldsymbol{R}} + {{\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)}^{ - 1}}{{\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right)}^{\rm{T}}}{\boldsymbol{R}}} = g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}} \end{aligned} $$ 对于密文生成如下:
$$\begin{split} &\qquad\qquad\qquad{C_{1,i}} = g_1^{\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {{{\boldsymbol{S}}'}_i}^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }}=\\ & g_1^{\left( {{{\boldsymbol{x}}_i}{{\boldsymbol{V}}^{\rm{T}}} + {{\boldsymbol{S}}_i}^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma } + {{\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)}^{ - 1}}{{\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right)}^{\rm{T}}}{\boldsymbol{R}}} = g_1^{\left( {{x_i}{{\boldsymbol{V}}^{\rm{T}}} + {{\boldsymbol{S}}_i}^{\rm{T}}} \right){{\boldsymbol{R}}_\gamma }} \end{split}$$ 挑战者
$\mathcal{C}$ 使用${S'_i}$ 可以针对攻击者$\mathcal{A}$ 针对第$j$ 个密钥询问做如下操作:$$ {\rm{UK}} = g_2^{\alpha - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{{\boldsymbol{S}}'_i}}h} } $$ 式中,
${\boldsymbol{h}} = {\boldsymbol{Br}} + \left( {{\boldsymbol{t}}/n} \right){{\boldsymbol{a}}^ \bot }$ ;${\boldsymbol{r}} \in Z_p^n$ ;$ {\boldsymbol{t}} \in {Z_p}$ 。可以得到$$ \begin{gathered} {{{\boldsymbol{S}}'}_i}{\boldsymbol{h}} = {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}({\boldsymbol{Br}} + \left( { {\boldsymbol{t}}/n} \right){{\boldsymbol{a}}^ \bot }) = \\ {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}} \right)^{ - 1}}{\left( {{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right){{\boldsymbol{a}}^ \bot }\left( { {\boldsymbol{t}}/n} \right) = \\ {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}} \right)^{ - 1}}{\left( {{{\boldsymbol{a}}^{{ \bot ^{\rm{T}}}}}{{\boldsymbol{b}}^ \bot }} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }\left( {{{\boldsymbol{a}}^ \bot }{{\boldsymbol{b}}^{{ \bot ^{\rm{T}}}}}} \right)\left( { {\boldsymbol{t}}/n} \right) = \\ {{\boldsymbol{S}}_i}{\boldsymbol{h}} + {\left( {{{\boldsymbol{z}}_i}} \right)^{ - 1}}{{\boldsymbol{a}}^ \bot }\left( { {\boldsymbol{t}}/n} \right) \\ \end{gathered} $$ 因此,用户私钥可以得到:
$$ {\rm{UK}} = g_2^{\alpha - {\displaystyle\sum\limits_{i = 1}^n} {{z_i}{{S'_i}}h} } = g_2^{\alpha + {a^ \bot } {\boldsymbol{t}} - {\displaystyle\sum\limits_{i = 1}^n} {{z_i}{S_i}h} } $$ 这样可以轻易得知游戏
$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ 的精确分布。引理 4 游戏
$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,3}} $ 的不可区分性如果存在一个攻击者
$\mathcal{A}$ 能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,3}} $ ,那么就存在一个挑战者$\mathcal{C}$ 能够以不可忽略的优势解决$ k $ -线性判定性问题(decisional linear problem)。证明:挑战者
$\mathcal{C}$ 接收一个判定性线性问题的实例$\left( {g_2^{\boldsymbol{B}},g_2^{\boldsymbol{h}}} \right)$ ,目标是区分${\boldsymbol{h}} = {\boldsymbol{Br}}$ 或${\boldsymbol{h}}$ 是${Z_p}$ 中的一个随机数,其中${\boldsymbol{t}}$ 是${Z_p}$ 中随机选取长度为$n$ 的向量。参数建立阶段
$\left( {{\rm{Setup}}} \right)$ :挑战者$\mathcal{C}$ 如实际方案中一样随机选择一个长度为$n + 1$ 的向量${{\boldsymbol{\alpha }}_i} \in {Z_p}$ ,一个随机数$ {\boldsymbol{t}} \in {Z_p}$ ,随机矩阵${\boldsymbol{R}}$ ,${{\boldsymbol{a}}^ \bot }$ ,${{\boldsymbol{S}}_i}$ ,${\boldsymbol{V}}$ ,生成公开参数$g_1^{\boldsymbol{R}}$ ,$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$ 以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$ ,$e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha }}_i^{\rm{T}}{\boldsymbol{R}}}}$ 。密钥询问阶段
$\left( {{\rm{Key}},{\rm{Query}}} \right)$ :输入第$m$ 个密钥询问,挑战者$\mathcal{C}$ 为攻击者生成如下密钥:$$ {\rm{UK}} = \left\{ {\begin{array}{*{20}{l}} g_2^{{\boldsymbol{\alpha}} + {{\boldsymbol{\alpha}} ^ \bot } {\boldsymbol{t}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}{\boldsymbol{h}}} }&m \leqslant j \\ g_2^{{\boldsymbol{\alpha }}- {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}Br} }&m > j \\ \end{array}} \right.$$ 式中,
${\boldsymbol{r}}$ 表示从${Z_p}$ 中选取的随机值组成的一个长度为n的向量。注意攻击者在拿到密钥后可以进行密钥盲化,模拟外包的过程。密文生成阶段
$\left( {{\rm{Ciphertext}}} \right)$ :攻击者$\mathcal{A}$ 选择两个等长的消息${m_b},b \in \left\{ {0,1} \right\}$ ,挑战者$\mathcal{C}$ 随机选择一个${\boldsymbol{\gamma }}$ ,计算如下:${C_0} = g_1^{{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$ ,${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}$ ,$C' = {m_b} \times e{({g_1},{g_2})^{{{\boldsymbol{\alpha }}^{\rm{T}}}{{\boldsymbol{R}}_{\boldsymbol{\gamma }}}}}$ 当
${\boldsymbol{h}} \in {\rm{Span}}\left( {\boldsymbol{B}} \right)$ 时,密钥和随机预言机响应的分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j - 1,3}} $ 完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,j,2}} $ 完全相同。通过$ k $ -判定性线性问题,可以得知攻击者$\mathcal{A}$ 只能够以可忽略的优势区分这两个游戏。引理 5 游戏
$ {\rm{Gam}}{{\rm{e}}_{2,q,3}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_3} $ 的不可区分性如果存在一个攻击者
$\mathcal{A}$ 能够区分游戏$ {\rm{Gam}}{{\rm{e}}_{2,q,3}} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_3} $ ,那么就存在一个挑战者$\mathcal{C}$ 能够以不可忽略的优势解决线性判定性问题。证明:给定一个判定性线性问题的实例
$\left( {g_1^{\boldsymbol{R}},g_1^{\boldsymbol{a}}} \right)$ ,目标是判断${\boldsymbol{a}} = {{\boldsymbol{R}}_\gamma }$ 或${\boldsymbol{a}}$ 是一个从${Z_p}$ 中随机采样长度为$n + 1$ 的随机分布。挑战者$\mathcal{C}$ 如实际方案中一样随机选取矩阵样本${\boldsymbol{V}}$ ,${{\boldsymbol{S}}_i}$ 以及一个向量${{\boldsymbol{\alpha}} _i}$ ,并输出公开参数$g_1^{\boldsymbol{R}}$ ,$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$ 以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$ ,$e\left( {g_1^{\boldsymbol{R}},g_2^{{{\boldsymbol{\alpha }}_i}}} \right) = e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha}} _i^{\rm{T}}{\boldsymbol{R}}}}$ 。生成挑战密文如下:
${C_0} = g_1^{\boldsymbol{a}}$ ,${C_i} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{V^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){\boldsymbol{a}}}$ ,$C' = {m_c} e{({g_1},{g_2})^{{{\boldsymbol{\alpha}} ^{\rm{T}}}{\boldsymbol{a}}}}$ 。当
$a \in {\rm{Span}}\left( {\boldsymbol{R}} \right)$ 时,密钥和随机预言机响应的分布与游戏Game3完全相同,而在另一种情况下,其分布与游戏$ {\rm{Gam}}{{\rm{e}}_{2,q,3}} $ 完全相同。通过$ k $ -判定性线性问题,可以得知攻击者$\mathcal{A}$ 只能够以可忽略的优势区分这两个游戏。引理 6 游戏
$ {\rm{Gam}}{{\rm{e}}_3} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_4} $ 的不可区分性如果存在一个攻击者
$\mathcal{A}$ 能够区分游戏$ {\rm{Gam}}{{\rm{e}}_3} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_4} $ ,那么就存在一个挑战者$\mathcal{C}$ 能够以不可忽略的优势解决线性判定性问题。证明:挑战者
$\mathcal{C}$ 随机化选取一个矩阵${\boldsymbol{R}}$ ,${{\boldsymbol{a}}^ \bot }$ ,使得${{\boldsymbol{R}}^T}{{\boldsymbol{a}}^ \bot } = 0$ ,一个从${Z_p}$ 中选取的随机值组成的一个长度为$n + 1$ 随机向量$ {\boldsymbol{\alpha}} $ ,一个从${Z_p}$ 中选取的随机数$\hat s$ 。随后,挑战者$\mathcal{C}$ 计算$\hat {\boldsymbol{\alpha }}= {\boldsymbol{\alpha }}- {{\boldsymbol{a}}^ \bot }\hat s$ 。参数建立阶段
$\left( {{\rm{Setup}}} \right)$ :挑战者$\mathcal{C}$ 如实际方案中一样生成公开参数$g_1^{\boldsymbol{R}}$ ,$g_1^{{{\boldsymbol{V}}^{\rm{T}}}{\boldsymbol{R}}}$ 以及权威机构的公钥$g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}}$ ,$e\left( {g_1^{\boldsymbol{R}},g_2^{{{\boldsymbol{\alpha}} _i}}} \right) = e{\left( {{g_1},{g_2}} \right)^{{\boldsymbol{\alpha}} _i^{\rm{T}}{\boldsymbol{R}}}}$ 。密钥询问阶段
$\left( {{\rm{Key}},{\rm{Query}}} \right)$ : 挑战者$\mathcal{C}$ 为攻击者生成如下密钥:$$ {\rm{UK}} = g_2^{\hat {\boldsymbol{\alpha}} - {\displaystyle\sum\limits_{i = 1}^n} {{{\boldsymbol{z}}_i}{{\boldsymbol{S}}_i}h} } $$ 注意在此阶段,攻击者在拿到密钥后可以进行密钥盲化,模拟外包的过程。
密文生成阶段
$\left( {{\rm{Ciphertext}}} \right)$ :攻击者$\mathcal{A}$ 选择两个等长的消息${m_c},c \in \left\{ {0,1} \right\}$ ,挑战者$\mathcal{C}$ 随机选择一个向量${\boldsymbol{\gamma }}$ ,一个随机数$\hat \gamma $ ,令$a = {{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma $ 。随后计算$m' = {m_c} e{\left( {{g_1},{g_2}} \right)^{{{\left( {{{\boldsymbol{a}}^ \bot }\hat s} \right)}^{\rm{T}}}{\boldsymbol{a}}}} = {m_c} e{\left( {g_1,g_2} \right)^{\hat \gamma \hat s{{\left( {{{\boldsymbol{a}}^ \bot }} \right)}^{\rm{T}}}{{\boldsymbol{b}}^{\rm{T}}}}}$ ,由以上公式可以得知元素$ {m'} $ 很大概率是群中的一个随机值。那么,密文可以被计算如下:$$ {C_0} = g_1^{\boldsymbol{a}},\;\; {C_{1,i}} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right){\boldsymbol{a}}} $$ $$ \begin{gathered} C' = m' e{\left( {{g_1},{g_2}} \right)^{{{\hat {\boldsymbol{\alpha }}}^{\rm{T}}}{\boldsymbol{a}}}} = \\ {m_c} e{\left( {{g_1},{g_2}} \right)^{\hat \gamma \hat s{{\left( {{{\boldsymbol{a}}^ \bot }} \right)}^{\rm{T}}}{{\boldsymbol{b}}^{\rm{T}}}}} e{\left( {{g_1},{g_2}} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{\boldsymbol{a}}}} = {m_c} e{\left( {{g_1},{g_2}} \right)^{{{\boldsymbol{\alpha }}^{\rm{T}}}{\boldsymbol{a}}}} \\ \end{gathered} $$ 很容易可以得知游戏
$ {\rm{Gam}}{{\rm{e}}_3} $ 被准确模拟出来,攻击者$\mathcal{A}$ 只能够以可忽略的优势区分这两个游戏。引理 7 游戏
$ {\rm{Gam}}{{\rm{e}}_4} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_5} $ 的不可区分性如果存在一个攻击者
$\mathcal{A}$ 能够区分游戏$ {\rm{Gam}}{{\rm{e}}_4} $ 和游戏$ {\rm{Gam}}{{\rm{e}}_5} $ ,那么就存在一个挑战者$\mathcal{C}$ 能够以不可忽略的优势解决线性判定性问题。证明:挑战者
$\mathcal{C}$ 可以生成如下密文:$$ {C_{1,i}} = g_1^{\left( {{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}} + {\boldsymbol{S}}_i^{\rm{T}}} \right)\left( {{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)} = g_1^{{{\boldsymbol{x}}_{b,i}}{{\boldsymbol{V}}^{\rm{T}}}\left( {{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)}g_1^{S_i^{\rm{T}}\left( {{{\boldsymbol{R}}_{\boldsymbol{\gamma }}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)} $$ 式中,
${\boldsymbol{R}},{\boldsymbol{\gamma}} \in Z_p^n$ ,${{\boldsymbol{b}}^ \bot } \in Z_p^n$ ,使得${{\boldsymbol{B}}^{\rm{T}}}{{\boldsymbol{b}}^ \bot } = 0$ 。此外,当$\hat {\boldsymbol{\gamma}} \in {Z_p}$ ,给定$g_1^{\boldsymbol{R}}$ ,$g_1^{{\boldsymbol{R\gamma }}+ {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma }$ ,$ g_1^{{\boldsymbol{S}}_i^{\rm{T}}{\boldsymbol{R}}} $ 以及$g_2^{\boldsymbol{B}}$ ,那么可以得到$g_1^{{\boldsymbol{S}}_i^{\rm{T}}\left( {{\boldsymbol{R\gamma}} + {{\boldsymbol{b}}^{\rm{T}}}\hat \gamma } \right)}$ 在群${G_1}$ 中均匀分布的。也就是说${C_{1,i}}$ 在群${G_1}$ 中均匀分布的。因此,攻击者$\mathcal{A}$ 只能够以可忽略的优势区分这两个游戏。属性隐私:攻击者很容易从密文中获取访问控制属性的隐私,这是因为对于基于属性相关的密码体制来说,访问控制通常以明文的形式附贴在密文上。在本方案中,将属性和访问控制转化成属性和访问向量,这两种向量分别用于私钥和密文的生成。在密文生成过程中,访问向量不必以明文的形式附贴在密文上,而是隐藏在密文中,从而避免了攻击者从密文中获取访问控制属性的隐私的可能。
-
从表1可以得知,文献[11]仅支持细粒度访问控制,而不支持权威去中心化、访问控制的属性隐私保护和高效的数据访问;文献[12-13, 16-17, 19]支持细粒度访问控制和权威去中心化,而不支持访问控制的属性隐私保护和高效的数据访问;文献[14, 15, 35]支持细粒度访问控制、权威去中心化、访问控制的属性隐私保护,但不支持高效的数据访问;文献[18]支持细粒度访问控制、权威去中心化、高效的数据访问,但不支持访问控制的属性隐私保护;本方案支持细粒度访问控制、权威去中心化、访问控制的属性隐私保护和高效的数据访问。
-
由于文献[14, 15, 35]与本方案大部分的功能实现相类似,因此本部分仅将文献[14, 15, 35]与本方案进行理论开销对比分析。表2展示了多权威去中心化属性隐藏的属性基方案的各算法计算开销对比。
$m$ ,$n$ 分别代表权威机构的个数和用户属性的个数;${e_0}$ ,${e_1}$ 分别表示在群${G_1}$ ,${G_T}$ 中一个指数运算的执行时间,$p$ 指的是一个对运算的执行时间。$\left| {{G_1}} \right|$ 和$\left| {{G_T}} \right|$ 分别代表${G_1}$ 和${G_T}$ 中元素的长度。从表2可以得知,在以上所有多权威去中心化属性隐藏的属性基方案中,每一个权威机构参数建立算(AuthSetup)的计算开销都与系统中用户的属性个数相关;用户私钥生成算法(KeyGen)的计算开销与用户属性的个数和权威机构的个数有关;加密算法(Encryption)的计算开销与权威机构个数和属性个数都相关;在解密算法(Decryption)的计算开销方面,只有本方案能够实现高效的解密,即其开销与用户的属性个数和权威机构的个数无关。此外,可以很明显观察到在密钥生成和解密方面,本方案相较于其他方案计算开销最低。
表 2 相关方案各算法计算开销对比
算法方案 AuthSetup KeyGen Encryption Decryption 文献[14] $ 2n{e}_{0} $ $ 4mn{e}_{0} $ $ \left(mn+n+1\right){e}_{0} $
$ +n(p+{e}_{1}) $$ \left(mn+n+1\right)p $
$ +mn{e}_{0} $文献[15] $ 2n{e}_{0} $
$ +n(p+{e}_{1}) $$ 8mn{e}_{0} $ $ \left(mn+n\right)p $
$ +(2n+mn+1){e}_{0} $$ (3n+2mn)p $ 文献[18] $ 2n{e}_{0} $ $ 4mn{e}_{0} $ $ m\left(4n+2\right){e}_{0}+2mp $ $ p+{e}_{0} $ 文献[35] (2n+5)$ {e}_{0} $+ $ \text{n}(p+{e}_{1}) $ $ 5mn{e}_{0} $ $ \left(m+1\right)p $
$ +(3m+3mn+1){e}_{0} $$ \left(2mn+2m+1\right)p $
$ +mn{e}_{0} $本方案 n$ \left(n+2\right){e}_{0}+n(n+1)(p+{e}_{1}) $ $ mn{e}_{0} $ 2n$ \left(n+1\right){e}_{0}+n(n+1)(p+{e}_{1}) $ $ {e}_{0} $ 从表3中可以得知,在以上方案中,存储权威机构生成的公开参数开销与属性个数和权威机构的个数呈正相关;存储用户私钥的开销同样与属性个数和权威机构的个数相关;文献[14-15, 35]存储密文的开销与属性个数和权威机构的个数相关,而本方案的密文存储开销仅与属性个数相关。此外,很容易从表3观察到本方案用户私钥和密文的存储开销相较于其他方案的存储较低。
表 3 相关方案参数存储开销对比
算法方案 |PK| |UK| |CT| [14] $ m(n+1){|G}_{1}\left|+m\right|{G}_{T}| $ $ 2mn\left|{G}_{1}\right| $ $ m\left(n+2\right){|G}_{1}|+{|G}_{T}| $ [15] $ 2{m|G}_{1}\left|+nm\right|{G}_{T}| $ $ m(3n+2){G}_{1}| $ $ nm{|G}_{1}|+{(mn+2)|G}_{T}| $ [18] $ \left(n+2\right)m $
$ {|G}_{1}| $$ 2mn\left|{G}_{1}\right| $ $ {(4mn+2m){|G}_{1}|+|G}_{T}| $ [35] $ \left(2{m+5\left)\right|G}_{1}\left|+m\right|{G}_{T}\right| $ $ (3m+mn)\left|{G}_{1}\right| $ $ {(2mn+2m+1){|G}_{1}|+|G}_{T}| $ 本方案 $ 2nm\left(n+1\right){|G}_{1}\left|+nm\left(n+1\right)\right|{G}_{T}| $ $ mn\left|{G}_{1}\right| $ $ n\left(n+1\right){|G}_{1}|+{|G}_{T}| $ 综上所述,本方案在密钥生成和解密的计算开销相较于其他两个方案明显较低。在存储用户私钥和密文的开销方面,本方案相较于其他方案同样明显较低。
-
由于本方案使用基于属性向量和访问向量来实现策略隐藏,而文献[14-15]方案都是基于线性秘密共享矩阵或访问树的访问结构实现访问策略隐藏。通过以上理论分析可以发现,本方案在计算效率和存储效率存在一定的优势。因此,本部分主要对属性个数和权威机构个数对本方案的各算法计算性能进行评估。本方案在64 bit的Ubuntu 118.04.6 LTS版本中安装python 3.5的运行环境,使用的是Charm-Crypto 0.43的PBC安装包[35],本实验是基于512 位基本字段的对称曲线SS512。电脑硬件的配置如下: Intel Core i9-9900K CPU@3.60GHz*16,Graphics: GetForce RTX 2070 Super/PCIe/SSE2,32 GB内存。
图2表示的是当权威机构的个数固定为5时,本方案中相应算法运算时间随着属性向量的长度的变化。图3表示的是属性向量的长度固定为5时,本方案中相应算法运算时间随着权威机构的个数的变化。从图2中可以看出,当权威机构的个数固定时,本方案的AuthSetup,Encryption和KeyGen算法的计算时间随着属性向量的长度呈线性关系,而Decryption算法的计算时间与属性向量的长度无关。
从图3中可以看出,当属性向量的长度固定时,本方案的Encryption和KeyGen算法的计算时间随着权威机构的个数呈线性关系,而AuthSetup和Decryption算法的计算时间与属性向量的长度无关。
综上所知,本方案的解密计算开销基本保持恒定,表明本方案能够使移动用户在资源受限的条件下依然可以高效访问密文数据。
Attribute-Hiding Based Efficient and Decentralized Scheme for Mobile Crowdsensing Data Sharing
-
摘要: 移动群智技术是一种能够突破时间与地点的限制,实现随时随地大规模的实时群智数据感知、传输和共享的技术。然而,现有的移动群智场景在数据共享过程中面临诸多安全、隐私和效率问题,如非授权数据访问、访问控制隐私泄漏、单权威密钥托管、访问开销过高等。为了同时解决以上问题,提出了一个面向移动群智场景的高效去中心化属性隐藏的数据共享方案。该方案不仅允许群智用户指定基于属性的访问控制用于加密群智数据,使得只有满足访问控制的用户才能访问该群智数据,还允许多个权威机构为群智用户共同生成私钥,使得单独的权威机构无法伪装成合法的用户来非法访问目标群智数据。此外,该方案在不泄漏访问控制的属性隐私的情况下,群智用户能够以最低的能耗快速解密和访问目标群智数据。通过安全性和性能分析,证明该方案能够实现安全高效的移动群智数据共享。Abstract: Mobile crowdsensing technology is a technique that can break through the limitations of time and place, and realize large-scale real-time crowdsensing data perception, transmission and sharing anytime, anywhere. However, the existing mobile crowdsensing applications confront with some security, privacy and efficiency problems in the crowdsensing data sharing, such as unauthorized data access, privacy leakage of access control, key escrow of single-authority, and high access overhead. In order to tackle the above problems simultaneously, this paper proposes an attribute-hiding based efficient and decentralized scheme for mobile crowdsensing data sharing, which not only allows mobile users to specify attribute-based access control for encrypting crowdsensing data, such that only users who meet the access control can access the data, but also allows multiple authorities to jointly generate private keys for swarm crowdsensing users, so that any a single authority cannot illegally access the target crowdsensing data by pretending to be a legitimate user. In addition, it enables fast decryption and accessing target data with the lowest energy consumption without leaking attribute privacy of access control. This paper also gives strict security analysis and performance analysis to prove that our scheme is secure, efficient and feasible for the mobile crowdsensing data sharing.
-
Key words:
- access control /
- attribute hiding /
- decentralized /
- fast decryption /
- mobile crowdsensing
-
表 1 基于多权威的属性基的方案对比
表 2 相关方案各算法计算开销对比
算法方案 AuthSetup KeyGen Encryption Decryption 文献[14] $ 2n{e}_{0} $ $ 4mn{e}_{0} $ $ \left(mn+n+1\right){e}_{0} $ $ +n(p+{e}_{1}) $ $ \left(mn+n+1\right)p $ $ +mn{e}_{0} $ 文献[15] $ 2n{e}_{0} $ $ +n(p+{e}_{1}) $ $ 8mn{e}_{0} $ $ \left(mn+n\right)p $ $ +(2n+mn+1){e}_{0} $ $ (3n+2mn)p $ 文献[18] $ 2n{e}_{0} $ $ 4mn{e}_{0} $ $ m\left(4n+2\right){e}_{0}+2mp $ $ p+{e}_{0} $ 文献[35] (2n+5) $ {e}_{0} $ +$ \text{n}(p+{e}_{1}) $ $ 5mn{e}_{0} $ $ \left(m+1\right)p $ $ +(3m+3mn+1){e}_{0} $ $ \left(2mn+2m+1\right)p $ $ +mn{e}_{0} $ 本方案 n $ \left(n+2\right){e}_{0}+n(n+1)(p+{e}_{1}) $ $ mn{e}_{0} $ 2n $ \left(n+1\right){e}_{0}+n(n+1)(p+{e}_{1}) $ $ {e}_{0} $ 表 3 相关方案参数存储开销对比
算法方案 |PK| |UK| |CT| [14] $ m(n+1){|G}_{1}\left|+m\right|{G}_{T}| $ $ 2mn\left|{G}_{1}\right| $ $ m\left(n+2\right){|G}_{1}|+{|G}_{T}| $ [15] $ 2{m|G}_{1}\left|+nm\right|{G}_{T}| $ $ m(3n+2){G}_{1}| $ $ nm{|G}_{1}|+{(mn+2)|G}_{T}| $ [18] $ \left(n+2\right)m $ $ {|G}_{1}| $ $ 2mn\left|{G}_{1}\right| $ $ {(4mn+2m){|G}_{1}|+|G}_{T}| $ [35] $ \left(2{m+5\left)\right|G}_{1}\left|+m\right|{G}_{T}\right| $ $ (3m+mn)\left|{G}_{1}\right| $ $ {(2mn+2m+1){|G}_{1}|+|G}_{T}| $ 本方案 $ 2nm\left(n+1\right){|G}_{1}\left|+nm\left(n+1\right)\right|{G}_{T}| $ $ mn\left|{G}_{1}\right| $ $ n\left(n+1\right){|G}_{1}|+{|G}_{T}| $ -
[1] 熊金波, 毕仁万, 田有亮, 等. 移动群智感知安全与隐私: 模型、进展与趋势[J]. 计算机学报, 2021, 44(9): 1949-1966. doi: 10.11897/SP.J.1016.2021.01949 XIONG J B, BI R W, TIAN Y L, et al. Security and privacy in mobile crowdsening: Models, progress and trends[J]. Chinese Journal of Computers, 2021, 44(9): 1949-1966. doi: 10.11897/SP.J.1016.2021.01949 [2] 黄大欣, 甘庆晴, 王晓明, 等. 群智感知网络环境下的一种高效安全数据聚合方案[J]. 密码学报, 2021, 8(5): 868-880. doi: 10.13868/j.cnki.jcr.000483 HUANG D X, GAN Q Q, WANG X M, et al. An efficient secure data aggregation in mobile crowdsening networks[J]. Journal of Cryptologic Research, 2021, 8(5): 868-880. doi: 10.13868/j.cnki.jcr.000483 [3] WANG L, ZHANG D, WANG Y, et al. Sparse mobile crowdsensing: Challenges and opportunities[J]. IEEE Communications Magazine, 2016, 54(7): 161-167. doi: 10.1109/MCOM.2016.7509395 [4] 王涛春, 金鑫, 吕成梅, 等. 移动群智感知中融合数据的隐私保护方法[J]. 计算机研究与发展, 2020, 57(11): 2337-2347. doi: 10.7544/issn1000-1239.2020.20190579 WANG T C, JIN X, LYU C M, et al. Privacy-preseving data aggregation method in mobile crowdsensing[J]. Journal of Computer Research and Development, 2020, 57(11): 2337-2347. doi: 10.7544/issn1000-1239.2020.20190579 [5] 唐裕彪. 物联网时代移动群智感知技术中的安全问题浅析[J]. 数字通信世界, 2021(11): 41-42. doi: 10.3969/J.ISSN.1672-7274.2021.11.017 TANG Y B. Analysis of security issues in mobile crowdsensing technology in the internet of things era[J]. Digital Communication World, 2021(11): 41-42. doi: 10.3969/J.ISSN.1672-7274.2021.11.017 [6] NGUYEN T N, ZEADALLY S. Mobile crowd-sensing applications: Data redundancies, challenges, and solutions[J]. ACM Transactions on Internet Technology (TOIT), 2021, 22(2): 1-15. [7] DING X, LVY R, PANG X, et al. Privacy-preserving task allocation for edge computing-based mobile crowdsensing[J]. Computers & Electrical Engineering, 2021, 97(22): 107528. [8] CAPPONI A, FIANDRINO C, KANTARCI B, et al. A survey on mobile crowdsensing systems: Challenges, solutions, and opportunities[J]. IEEE Communications Surveys & Tutorials, 2019, 21(3): 2419-2465. [9] SAHAI A, WATERS B. Fuzzy identity-based encryption[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer, 2005: 457-473. [10] GOYAL V, PANDEY O, SAHAI A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM Conference on Computer and Communications Security. [S.l.]: ACM, 2006: 89-98. [11] CHASE M. Multi-authority attribute-based encryption[C]//Theory of Cryptography Conference. Berlin, Heidelberg: Springer, 2007: 515-534. [12] LIN H, CAO Z, LIANG X, et al. Secure threshold multi authority attribute-based encryption without a central authority[C]//International Conference on Cryptology in India. [S. l.]: Springer, 2008: 426-436. [13] LEWKO A, WATERS B. Decentralizing attribute-based encryption[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer, 2011: 568-588. [14] HAN J, SUSILO W, MU Y, et al. Privacy-preserving decentralized key-policy attribute-based encryption[J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(11): 2150-2162. doi: 10.1109/TPDS.2012.50 [15] QIAN H, LI J, ZHANG Y. Privacy-preserving decentralized ciphertext-policy attribute-based encryption with fully hidden access structure[C]//International Conference on Information and Communications Security. Cham: Springer, 2013: 363-372. [16] RUJ S, STOJMENOVIC M, NAYAK A. Decentralized access control with anonymous authentication of data stored in clouds[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 25(2): 384-394. [17] ZHANG L, GAO X, KANG L, et al. Distributed ciphertext-policy attribute-based encryption with enhanced collusion resilience and privacy preservation[J]. IEEE Systems Journal, 2021, DOI: 10.1109/JSYST.2021.3072793. [18] YE Y, ZHANG L, YOU W, et al. Secure decentralized access control policy for data sharing in smart grid[C]//IEEE INFOCOM 2021-IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). [S.l.]: IEEE, 2021: 1-6. [19] CHASE M, CHOW S S M. Improving privacy and security in multi-authority attribute-based encryption[C]//Proceedings of the 16th ACM Conference on Computer and Communications Security. [S. l.]: ACM, 2009: 121-130. [20] NISHIDE T, YONEYAMA K, OHTA K. ABE with partially hidden encryptor-specified access structure[C]//International Conference on Applied Cryptography and Network Security. Berlin, Heidelberg: Springer, 2008: 21-29. [21] RAO Y S, DUTTA R. Recipient anonymous ciphertext-policy attribute-based encryption[C]//International Conference on Information Systems Security. Berlin, Heidelberg: Springer, 2013: 329-344. [22] LAI J, DENG R H, LI Y. Fully secure cipertext-policy hiding CP-ABE[C]//International Conference on Information Security Practice and Experience. Berlin, Heidelberg: Springer, 2011: 24-39. [23] ZHANG Y, CHEN X, LI J, et al. Anonymous attribute-based encryption supporting efficient decryption test[C]//Proceedings of the 8th ACM SIGSAC Symposium on Information, Computer and Communications Security. [S. l.]: ACM, 2013: 511-516. [24] HUR J. Attribute-based secure data sharing with hidden policies in smart grid[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(11): 2171-2180. doi: 10.1109/TPDS.2012.61 [25] ZHOU Z, HUANG D, WANG Z. Efficient privacy-preserving ciphertext-policy attribute based-encryption and broadcast encryption[J]. IEEE Transactions on Computers, 2013, 64(1): 126-138. [26] ZHANG Y, ZHENG D, DENG R H. Security and privacy in smart health: Efficient policy-hiding attribute-based access control[J]. IEEE Internet of Things Journal, 2018, 5(3): 2130-2145. doi: 10.1109/JIOT.2018.2825289 [27] GREEN M, HOHENBERGER S, WATERS B. Outsourcing the decryption of ABE ciphertexts[C]//USENIX Security Symposium. San Francisco: USENIX Association, 2011: 1-16. [28] ZHOU Z, HUANG D. Efficient and secure data storage operations for mobile cloud computing[C]//8th International Conference on Network and Service Management (CNSM) and 2012 Workshop on Systems Virtualiztion Management (SVM). [S.l.]: IEEE, 2012: 37-45. [29] LI J, JIA C, LI J, et al. Outsourcing encryption of attribute-based encryption with mapreduce[C]// International Conference on Information and Communications Security. [S.l.]: Springer, 2012: 191-201. [30] LAI J, DENG R H, GUAN C, et al. Attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2013, 8(8): 1343-1354. doi: 10.1109/TIFS.2013.2271848 [31] QIN B, DENG R H, LIU S, et al. Attribute-based encryption with efficient verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(7): 1384-1393. doi: 10.1109/TIFS.2015.2410137 [32] LIN S, ZHANG R, MA H, et al. Revisiting attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(10): 2119-2130. doi: 10.1109/TIFS.2015.2449264 [33] MAO X, LAI J, MEI Q, et al. Generic and efficient constructions of attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Dependable and Secure Computing, 2015, 13(5): 533-546. [34] WANG H, HE D, SHEN J, et al. Verifiable outsourced ciphertext-policy attribute-based encryption in cloud computing[J]. Soft Computing, 2017, 21(24): 7325-7335. doi: 10.1007/s00500-016-2271-2 [35] ZHANG L, GAO X, KANG L, et al. Distributed ciphertext-policy attribute-based encryption with enhanced collusion resilience and privacy preservation[J]. IEEE Systems Journal, 2021, 16(1): 735-746.