高效的基于属性的加密及其在工业云中隐私保护密钥生成的应用
宋玉娇1王浩,1,2魏晓超1和吴磊1,3
1中国山东师范大学信息科学与工程学院2澳大利亚伍伦贡大学计算与信息技术 学院3中国山东省软件工程重点实验室
通讯作者:王浩;wanghao@sdnu.edu.cn 2019年3月9日收到;2019年4月30日接受;2019年5月23日发表 特约编辑:张明武
©2019宋玉娇等。本文为遵循知识共享署名许可协议的开放获取文章,允许在任何媒介中不受限制地使用、传播和复制, 只要正确引用原始作品。
由于云计算、物联网(IoT)和移动互联网等新技术的快速发展,数据量正在急剧增长。特别是在工业领域,每天都 会产生大量数据。如何高效地管理和利用工业大数据,是每个工业企业管理者面临的棘手挑战。作为一种新兴的服务 形式,云计算技术提供了良好的解决方案。因其灵活配置、按需购买和易于维护等特点,受到越来越多的关注和支持。
借助云技术,企业摆脱了繁重的数据管理工作,能够专注于主营业务。尽管云技术具有诸多优势,但在安全与隐私方 面仍存在许多问题。为了保护数据机密性,主流解决方案是在上传前对数据进行加密。为了实现对加密数据的灵活访 问控制,基于属性的加密(ABE)是一个出色的选择。目前,越来越多的应用采用ABE来保障数据安全。然而,现有 ABE系统并未考虑密钥生成阶段中的隐私保护问题。也就是说,密钥生成中心(KGC)知晓每个用户的属性及其对应 的密钥。这一问题在工业大数据场景中尤为严重,因为它可能对工业企业的商业秘密造成重大损害。本文设计了一种 新型ABE方案,可在密钥分发过程中保护用户隐私。在新方案中,我们将属性审计与密钥生成功能分离,确保密钥生 成中心(KGC)无法获知用户的属性,同时属性审计中心(AAC)也无法获取用户的私钥。该方案非常适合包括工业 大数据场景在内的多种隐私敏感场景。
引言
由于云计算、物联网(IoT)和移动互联网等新技术的 快速发展,数据量急剧增长,我们已真正进入“大数据” 时代。大数据技术已被广泛关注并应用于几乎每个行业, 如零售、医疗保健、金融服务、政府等。特别是在工业 生产领域,每天都会产生大量数据,包括来自信息系统 的业务数据、来自工业物联网系统的机器数据以及来自 相关网站的其他数据等。对于制造企业而言,大数据不 仅可用于提升业务效率,更重要的是能够改变制造流程 商业模式。工业大数据是智能制造和工业物联网的核心, 为工业4.0的发展提供了最有力的支持。如何高效地管 理和使用工业大数据,是每个企业管理者面临的巨大挑 战。
云计算技术可以为上述挑战提供更好的解决方案。 通过使用云技术,企业摆脱了繁重的数据管理工作,专 注于主营业务。如今,大型云服务提供商(如亚马逊、 微软、IBM等)已推出工业云平台,越来越多的工业企 业将数据迁移到这些平台。然而,将数据托管到第三方 平台会带来新的问题,因为数据的安全与隐私必须依赖 于第三方的可信度。
Hindawi安全与通信网络2019年卷,文 章编号3249726,9页 https://doi.org/10.1155/2019/3249726
本文档由funstory.ai的开源PDF翻译库BabelDOCv0.5.10(http://yadt.io)翻译,本仓库正在积极的建设当中,欢迎star和关注。
2 安全与通信网络
对企业而言,最大的担忧是工业数据的机密性。解决该 问题的主要方法是在上传前使用加密方法保护数据。然 而,传统对称和非对称加密方案并不适用于提供细粒度 访问控制。因此,上述问题给数据加密带来了新的挑战, 众多研究已聚焦于这些问题[1–3]。
在各种解决方案中,基于属性的加密(ABE) [4, 5]因其能够为云存储提供数据保密性和细粒度访问 控制而成为一种优秀的选择。目前,越来越多的工业企 业正在使用ABE。在工业联盟中,企业可以根据属性共 享加密数据。只有那些属性满足访问策略的企业才能解 密加密数据。尽管关于ABE的研究已有很多[6–8],,但 仍存在一些尚未很好解决的问题。现有ABE系统未考虑 密钥生成阶段的隐私保护。也就是说,密钥生成中心 (KGC)知道该系统中每个用户的属性及其对应密钥。 这会对用户的隐私和数据机密性造成严重损害。特别是 在工业大数据的应用场景中,企业用户的属性可能与企 业的商业秘密相关。
1.1. 我们的贡献
为了解决密钥生成阶段的隐私保护问题, 我们提出了一种新的ABE系统,在该系统中,我们将属性 审计和密钥提取的功能分离,以确保密钥生成中心( KGC)无法获知用户的具体属性,同时属性审计中心( AAC)也无法获得用户的密钥。在此系统中,当用户申请 其私钥时,首先向属性审计中心(AAC)认证其属性,并 获得一个盲令牌TS,该盲令牌仅能盲性地证明其属性,而 不会泄露任何具体属性信息。用户将该盲令牌TS提交给 KGC以获取相应的盲密钥,再从中提取最终的私钥。在此 过程中,没有任何关于用户属性的信息泄露给KGC,也没 有任何关于私钥的信息泄露给AAC。我们隐式地使用了不 经意传输(OT)协议来解决这一问题,从而在密钥生成 阶段保护了用户的隐私。
我们的ABE适用于对隐私敏感的场景。特别是在工 业云加密系统中,属性通常涉及工业企业的商业秘密。 作为技术部门的密钥生成中心(KGC)不应知晓此类 秘密信息。因此,我们明确提出了新方案在工业云中的 一个应用。
1.2. 相关工作
1.2.1. 基于属性的加密
基于属性的加密是一种一对多的 公钥加密。只有当用户的属性满足加密者设定的访问策略 时,该用户才能解密密文。这一概念源于基于身份的加密 [9]。2005年,萨哈伊和沃特斯[4]提出了模糊身份加密的 概念,该概念 为基于属性的加密奠定了先例。2006年,Goyal等人 [5]首次提出了基于属性的加密(ABE)的形式化定 义,将其分为密钥策略ABE(KP‐ABE)和密文策略 ABE(CP‐ABE)。他们还构造了第一个KP‐ABE方案。 在第二年,Bethencourt等人[10]首次给出了 CP‐ABE构造。在CP‐ABE方案中,加密者在密文中设 置访问策略,以确定哪些用户可以解密数据。这与云存 储的安全需求非常一致。近年来,越来越多的研究聚焦 于CP‐ABE[11–13]。然而,上述工作均未解决密钥生成 阶段中的隐私保护问题。
1.2.2. 不经意传输
不经意传输(OT)的概念最初由 Rabin[14]于1981年提出,随后成为密码学领域中一个 重要的基础原语。在OT协议中,发送方将部分消息传递给 接收方,但并不知晓具体传递了哪些部分(如果有)。换 句话说,一个安全的OT协议必须满足两个安全特性:(1) 发送方无法获得接收方的选择信息;(2)接收方除了自 己选择的消息外,无法获取其他消息的任何信息。 1985年,Even等人[15]提出了一种特定的 1‐out‐of‐2OT协议(OT1 2 ),其中发送方 S拥有两个值, 而接收方 R只能获取其中之一。随后,Brassard等人 [16]将其扩展至 OT1 n 。1998年,Stern[17]基于公钥加 密提出了OT协议的一种广义构造方法。2001年,Naor和 Pinkas[18]在无随机预言机的情况下,基于 Diffie‐Hellman假设提出了一个2轮OT1 n协议。同年, Aiello等人[19]基于同态公钥加密构建了一个2轮 OT1 n协 议。2002年,Tzeng[20]提出了一种具有更优轮数复杂 度和通信复杂度的 OT1 n协议。2003年,Ishai等人[21]提 出了OT扩展,通过该技术可以仅使用廉价的对称密钥操 作来执行大量OT操作。在过去的几十年中,OT协议得到 了充分研究并被广泛应用[22–25]。
1.3. 组织结构
在第2节中,我们介绍了本文的预备知识。 在第3节中,我们介绍了具有隐私保护密钥生成功能的基 于属性的加密(PPKG‐ABE)及其安全定义。在第4节中, 我们提出了一个具体的PPKG‐ABE方案,并在第5节中分 析其安全性。在第6节中,我们介绍了PPKG‐ABE在工业 云环境中用于保护工业大数据安全的应用。
2. 预备知识
2.1. CP‐ABE
在CP‐ABE系统中,存在三种类型的实 体,即密钥生成中心(KGC)、加密者和解密者。密钥 生成中心(KGC)根据用户的属性颁发私钥。加密者根 据指定的访问策略对消息进行加密。只有当解密者的属 性满足相应的访问策略时,才能成功解密密文。
安全与通信网络 3
一个CP‐ABE方案包含四个算法:
(1) 初始化:输入安全参数,输出公开参数PP 和主私钥MSK。
(2) 密钥生成:它以公开参数PP、主私钥MSK 和属性集合S 作为输入,输出对应于S的私钥SKS。
(3) 加密:以公开参数 PP、访问策略W和消息M 为输入,输出密文CTW。
(4) 解密:输入公开参数PP、密文CTW和私钥SKS, 当且仅当属性S满足访问策略W时,输出消息M;即 S ⊨ W。
2.2. 不经意传输
不经意传输(OT)协议是一种两方计算 协议,其中一方是发送方(S),另一方是接收方(R)。该协 议确保以下内容:S向R发送一组消息。R可以获取这些消 息的一个子集,但S不知道R接收了哪些消息。
在本文中,我们借鉴了一种经典的(OT1 2)协议[26]: 参与方S拥有群G中的两个元素δ0和δ1 ,参与方R拥有一个比特 b ∈{0,1}。双方都知道群G的描述,其中 |G| =q,且g是一个生成 元。
(1) R随机选择 α、β、γ ∈[1,q],并按如下方式设置 τ:
(a) Ifσ=0, thenτ=(gα,gβ,gαβ,gγ).
(b) Ifσ=1, thenτ=(gα,gβ,gγ,gαβ). R sensτ到。 d S 立,则输出 ⊥并终止。 此外,S随机选择u0、u1、V0,V1 ∈[1,q],并计算以下 4个值: ω0=xu 0 ⋅g V 0, k0=(z0) u 0 ⋅y V 0 ω1=xu 1 ⋅g V 1, k1=(z1) u 1 ⋅y V 1
(1)
然后,S计算c0= x0 ⋅k0 、c1= x1 ⋅k1 ,并将(ω0 ,c0) 和( ω1 ,c1) 发送给R。 最后,R计算kσ=(ω0) β 并得到δσ= cσ ⋅(kσ) −1。
2.3. 双线性映射
设G1 , G2 ,和GT是三个q阶循环群。双线性配对 运算e是一个双线性映射,e:G 1× G 2→ GT,并满足以下性质:
(1) ∀g ∈G1, ∀h ∈G2, ∀x,y ∈Z ∗ q ,存在e(g x,hy )=e(g, h) xy
(2) ∃g0 ∈G1, ∃h0 ∈G2,e(g0 ,h0) = ̸1
(3) ∀g ∈G1 , ∀h ∈ G2,e(g,h)可在多项式时间内计算
本文中,我们使用非对称双线性群;即,G 1 ≠ G2。
2.4. 安全假设
定义1。 设G1 ,、G2 ,和GT构成双线性群,设g为G1 ,的生 成元,h为G2的生成元。对于 某个未知的α ∈ Z∗ p,定义gi= gαi,并设置→?y? g,α,n= (g1,...,gn,gn+2,...,g2n)。我们说算法B以优势 AdV解决了n‐BDHE问题,如果输入为g,h,→?y? g,α,n, ??Pr[B(e(gn+1,ℎ))=1] −Pr[B(Z)=1]??≥ε, (2) 其中Z是G∗ T中的一个随机元素。 决策n‐BDHE假设成立,如果对于任意多项式算法而言,ε 是可忽略的。
3. 具有隐私保护密钥生成的属性基加密
在传统ABE的密钥生成阶段,密钥生成中心(KGC) 始终知晓每个用户的属性信息,这严重损害了用户的隐 私。为了解决这一问题,我们将属性审计和密钥提取两 个功能分离。我们在ABE系统中引入属性授权中心( AAC),用于对用户的属性进行认证,并为其生成盲 令牌。KGC作为一个单纯的技术支持机构,仅负责生 成密钥,但并不知晓这些密钥对应的属性。
3.1. 系统模型
在密钥生成阶段(如图1所示),存在三种 类型的实体:属性审计中心(AAC)、密钥生成中心( KGC)和数据用户。在此系统中,用户将其属性及相关证 据提交给属性审计中心(AAC)。AAC审核用户的属性, 并向用户返回带有AAC签名的盲令牌TS。在实际应用中, AAC通常由为用户提供属性认证的机构执行,例如政府机 构,因为他们掌握用户自身的属性信息,且不会造成额外 的信息泄露。换句话说,盲令牌是用户拥有某些属性的证 明。该令牌不泄露用户属性的任何信息,仅确保其真实性。
当用户需要获取其属性密钥时,将向作为技术机构的密钥 生成中心(KGC)提交盲令牌TS。KGC首先检查该令牌 的合法性;如果令牌无效,则终止操作;否则,其将在该 令牌上运行密钥生成算法并返回一个盲
密钥。用户获得盲密钥后,会在本地提取私钥。
具体过程如下:
(1)用户向属性审计中心(AAC)出示其属性及相关证明。
(2)属性授权中心审核用户的属性,并将带有其签名的盲令牌 返回给用户。
(3) 当用户需要获取其属性密钥时,将向密钥生成 中心(KGC)提交其盲令牌。KGC无法获得关于用户 属性的任何信息,仅能确认该用户确实拥有相关属性。
(4)密钥生成中心(KGC)首先检查令牌的合法 性,如果签名为非法,则中止;否则,运行密钥生成算 法并输出一个盲密钥。
(5) 用户从密钥生成中心接收盲密钥并提取私钥。
3.2. 语法
具体而言,一种隐私保护密钥生成的属性基 加密方案(PPKG‐ABE)包含七个基本算法:初始化、 用户临时密钥生成、盲令牌生成、盲密钥生成、密钥提 取、加密和解密。各具体算法描述如下:
初始化(κ)→ PP,MK:
该算法由密钥生成中心KGC运 行,输入安全参数 κ,输出公开参数PP和主私钥MSK。
UserTemKeyGen(PP,κ)→ TPKUser,TSKUser:
由用 户运行的用户临时密钥生成算法。该算法以PP和安全 参数 κ作为输入,输出用户的临时公钥TPKUser和用户 的临时私钥TSKUser。
BlindTokenGen(PP,S,TPKUser)→ TS:
该盲令牌生成算法由属性 授权中心AAC运行。它以 PP、用户的属性集合SS和用户的临时公 钥TPKUser 作为输入,输出针对属性集合SS的盲令牌TST。
BlindKenGen(PP, MSK,TS)→ BSK:
该盲密钥生成算法 由密钥生成中心KGC执行。它以PP、主私钥MSK和用户的 盲令牌TSTS 作为输入,输出针对属性集合S的盲私钥BSK。
KeyExtra(BSKS,TSKUser)→ SKS:
密钥提取算法由用 户在本地运行。该算法以盲私钥BSKS 和用户的临时私钥 TSKUser 作为输入,输出属性集合S的最终私钥SK。
Encrypt(PP, M,W)→ CT:
该加密算法由加密者运行。 它以 PP、消息M和访问结构W作为输入,并输出密文CT。
Decrypt(CTW ,SKS)→ M:
解密算法由解密者运行。它以密 文CTW 和私钥SKS 作为输入,如果S ⊨W,则输出消息M。
我们注意到,在PPKG‐ABE方案中,属性授权中 心(AAC)负责审计用户的属性,并向用户发放盲令 牌TS 。该盲令牌包含对用户属性真实性的描述以及 AAC的签名,但不会泄露有关具体属性的信息。
3.3. 安全模型
我们从两个方面定义安全:机密性和隐私。具体 而言,在此安全模型中,我们不允许属性授权中心和密钥生成中 心合谋。
3.3.1. 机密性
我们引入PPKG‐ABE方案的选择明文攻 击下的选择安全性模型。具体过程在敌手A与挑战者 C之间进行:
Init。
攻击者A指定用于挑战的访问结构W∗。
初始化。
挑战者C调用初始化算法并返回PP 给攻击者A。
阶段2。
攻击者A在任意属性集合S ⊭ W∗上查询私钥。挑 战者C返回对应于S的私钥SK。
挑战阶段。
攻击者A提交两条消息M∗ 0和 M∗ 1 ,其中 |M∗ 0 | = |M∗ 1 |。挑战者C随机选择比特b∈{0,1},并将消息M∗ 在访问结构W∗下加密。然后,它将CT∗返回给攻击者A。
阶段3。
重复阶段2。
猜测。
攻击者A猜测b以对应b。攻击者A的优势AdV定义 为Pr[b=b]‐1/2。
定义4.
如果对于任意多项式时间敌手, AdV是可忽略 的,则PPKG‐ABE方案是选择性IND‐CPA安全的。
3.3.2. 隐私
我们引入一个新的安全游戏来定义隐私。在这个游 戏中,我们定义了以下两个预言机。
盲令牌预言机OBT(S):
它以属性集合S作为输入,并输出相应的 盲令牌盲T密S。钥预言机OBK(TS):它以盲令牌TS作为输入,并输出相应的 盲密钥敌BS手KSA。与挑战者C之间的具体过程如下:
初始化。
挑战者C调用初始化算法并返回PP 给攻击者A。
阶段5。
攻击者A可自由查询盲令牌预言机OBT和盲密钥 预言机。
挑战阶段。
攻击者A提交两个属性集合S0∗ 和S1∗ ,其中 |S0∗| = |S1∗ |。挑战者C随机选择b ∈{0,1},并以Sb∗ 为输入查询 盲令牌预言机OBT,该预言机返回盲令牌TS ∗ b 给攻击者A。
阶段6。
与阶段5相同。
猜测。
攻击者A猜测b以对应b。攻击者A的优势AdV定义 为Pr[b =b]‐1/2。
定义7。
如果对于任意多项式时间敌手,AdV是可忽略 的,则PPKG‐ABE方案在密钥生成阶段是隐私保护的。
4. 一个具体的PPKG‐ABE方案
4.1. 构造
在此构造中,PPKG‐ABE方案基于[27],构建, 该方案仅支持AND门。假设属性全集为U={att1 ,att2 ,... ,attn },其中每个 atti 具有两个值:“+”和“−”。 “+”表示用户拥有此属性,而
安全与通信网络 5
“−”表示用户不拥有此属性。具体方案如下:
初始化(κ,U):
该算法由密钥生成中心运行。它以安全参 数 κ和属性全集 U作为输入,其中 |U| = n。该算法首先选 择q阶双线性群G1,、G2,和GT,其中g是G1的生成元,h是 G2的生成元。令H为一个密码学哈希函数;H:G1 →→ G2。对于 i ∈[1,n],随机选择 ri、rn+i ∈∈Z∗ p,si、sn+i ∈∈ G2,并设置ui= g−ri和hi= e(g,si)。输出 PP fl{g,ℎ,(uk,ℎk)k∈[1,2n],H}, MSK fl{(rk,sk)k∈[1,2n]}。 (3) 一般来说,{ui,hi|i ∈[1,n]}对应正向属性,而{un+i, hn+i|i ∈[1,n]}对应负向属性。
UserTemKeyGen(PP,κ):
用户临时密钥生成算法由用 户执行。该算法以公开参数PP和安全参数κ 作为输入, 并为i ∈[1,n]随机选择βi ←Z q,作为其临时私钥 TSKUser。然后,计算临时公钥 TPKUser={hβi}i∈[1,n]。
BlindTokenGen(PP,S,TPKUser):
该盲令牌生成算法由属 性授权中心AAC运行。它以公开参数PP、用户的属性集合SS 以及用户的临时公钥TPKUser作为输入。S表示一个属性集合, 其中包含n个符号,例如S=(+, −,+...,+),其中“+”表示 用户拥有该属性,“−”表示用户不拥有该属性。算法随机选 择αi,γi ← ∈Zp,并计算hα i、(hβ i) α i和hγ i,其中i ∈[1,n]。 如果属性atti=“+”∈S,则设置xi= h α i,yi= h β i,zi, 0= hα i β i,zi,1= hγ i。否则,属性atti=“−” ∈S,并设置 i,yi= hβ i,zi,0= hγ i,zi,1= hα i β i。 (4) 然后,它在tS 上运行标准签名算法以获得签名Σ,并将TS= (tS ,Σ)返回给用户。
盲密钥生成(PP,MSK,TS) :
用户向密钥生成中心提交 对应于属性集合S的令牌TS 以申请私钥。KGC首先检查所 有xi ,yi ,zi,0,zi,1 ∈G1,zi,0 =z̸i,1是否成立,且Σ是否为合法的。 若不满足,则中止并输出 ⊥;否则,随机选择ui,0,ui,1,Vi, 0,Vi,1←Z q用于i ∈[1,n],并计算以下值: wi,0=xu i,0 ⋅ℎ V i,0, u i,0 ⋅y V i,0 i wi,1=xu i,1 ⋅ℎ V i,1, u i,1 ⋅y V i,1 i (5) Vr i,σi,1=sn+iV r n+i,其中i ∈[1,n]。它计算ci,0=σi,0 ⋅ki,0 ,ci,1=σi, 1 ⋅ki,1 ,其中i ∈[1,n]。 盲化私B钥SK=⟨V,{(wi,0,ci,0),(wi,1,ci,1)}i∈[1,n]⟩. (6) 它将BSK返回给用户。
KeyExtra(TSKUser,BSK):
由用户运行的密钥提取算法。 对于i ∈[1,n],如果atti=“+”,则设置wi=wi,0,ci=ci, 0;否则如果atti=“ −”,则设置wi=wi,1,ci=ci,1并计算 ki=(wi) βi, σi= kcii. (7) 它输出 SK fl⟨V,{σi}i∈[1,n]⟩. (8) 我们注意到,在上述密钥颁发过程中,密钥生成中心无 法获得用户的具体属性,而属性授权中心也无法获得私钥。
加密(PK,M,W):
它以公钥PK、AND门结构W和消 息M为输入,其中W= ⋀atti ∈Aatti,对于 A是相关属性集 合,且 atti ∈{“+”,“ −”}。它随机选择 s ∈ Z∗ p , 并设置uA,hA=∏att ∈Aui,∏att i ∈Ahi,其中对于每个atti ∈A, 如果atti=“ −”,ui,h i=un+i,h n+i 然后,它计算ct0=M ⋅hs A,ct1=gs,ct2=us A。密文定 义为CT=(W,ct0,ct1,ct2)。
Decrypt(PP,SKS,CT):
如果S ⊨∈W,解密算法计算sk= V, σ=∏att i ∈Aσi,针对相关属性集合A。然后,它计算出消息M M= ct0 e(ct1,σ) ⋅e(ct2, V). (9)
高效的基于属性的加密及其在工业云中隐私保护密钥生成的应用
4.2. 正确性
正确性由
$$
e(ct1,\sigma) \cdot e(ct2, V)=e(g^s, \prod_{att_i \in A} \sigma_i)e(\prod_{att_i \in A} u_i^s, V)
= \prod_{att_i \in A} (e(g,\sigma_i) \cdot e(u_i, V))^s
= \prod_{att_i \in A} (e(g,s_i^{Vr_i}) \cdot e(g^{-r_i}, V))^s
= \prod_{att_i \in A} (e(g,s_i) \cdot e(g, V^{r_i}) \cdot e(g^{-r_i}, V))^s
= \prod_{att_i \in A} (e(g,s_i))^s = \prod_{att_i \in A} h_i^s = h_A^s.
$$
(10)
5. 安全证明
5.1. 机密性
定理8. 如果双线性群 $ G_1 $, $ G_2 $, 和 $ G_T $ 上的决策性 $ n−BDHE $ 假设成立,则我们的 PPGK-ABE 方案是选择性 IND-CPA 安全的。
证明。
如果敌手 A 能在上述安全游戏中以不可忽略的优势获胜,则我们可以构造一个算法 B 来破解决策 $ n−BDHE $ 假设。B 与敌手 A 进行如下安全游戏:
Init.
B 接收挑战门 $ W^
= \bigwedge_{att_{ij} \in A^
} att_{ij} $ 来自 A。我们假设 $ |A^
| = m < n $,且 $ I^
= {ij \mid att_{ij} \in A^
} $。
初始化。
B 随机选择 $ j^
\in [1,m], r’
k \in Z_p^
, x_k \in G_2, r_{ij}, a_{ij} \in Z_p^
$,对于 $ k \in [1,2n], j \in [1,m] $。
对于 $ ij \in I^
- {j^
} $,B 按如下方式计算公开参数:
(1) 若 $ att
{ij}=+ $,
$$(u_{ij},h_{ij})=(g^{r_{ij}}g^{-1}
{n+1-ij},e(g,h)^{a
{ij}}),$$
$$(u_{ij+n},h_{ij+n})=(g^{-r’
{ij+n}},e(g,x
{ij+n})).$$
(2) 若 $ att_{ij}= -$,
$$(u_{ij},h_{ij})=(g^{-r’
{ij}},e(g,x
{ij})),$$
$$(u_{j+n},h_{j+n})=(g^{r_j}g^{-1}
{n+1-j},e(g,h)^{a_j}).$$
对于 $ att_i = att
{i_{j^
}} $,B 按如下方式计算:
(1) 若 $ att_{i_{j^
}}=+ $,
$$(u_{i_{j^
}},h_{i_{j^
}})=(g^{r_{i_{j^
}}} \cdot \prod_{k \in I^
- {i_{j^
}}} g_{n+1-k}, e(g,h)^{a_{i_{j^
}}}e(g,h)^{\alpha_{n+1}}),$$
$$(u_{i_{j^
}+n},h_{i_{j^
}+n})=(g^{-r’
{i
{j^
}+n}},e(g,x_{i_{j^
}+n})).$$
(2) 若 $ att_{i_{j^
}}= -$,
$$(u_{i_{j^
}},h_{i_{j^
}})=(g^{-r’
{i
{j^
}}},e(g,x_{i_{j^
}})),$$
$$(u_{i_{j^
}+n},h_{i_{j^
}+n})=(g^{r_{i_{j^
}}} \cdot \prod_{k \in I^
- {i_{j^
}}} g_{n+1-k}, e(g,h)^{a_{i_{j^
}}}e(g,h)^{\alpha_{n+1}}).$$
对于 $ ij \notin I^
$,B 进行计算
$$(u_{ij},h_{ij})=(g^{-r’
{ij}},e(g,x
{ij})),$$
$$(u_{ij+n},h_{ij+n})=(g^{-r’
{ij+n}},e(g,x
{ij+n})).$$
第9阶段。
攻击者 A 在任意属性集合 $ S \neq W^
= \bigwedge_{att_{ij} \in A^
} att_{ij} $ 上查询私钥;因此,存在 $ att_{ij} \in A^
$,使得要么 $ att_{ij} \in S $ 对于 $ att_{ij}= -$,要么 $ att_{ij} \notin S $ 对于 $ att_{ij}=+ $。假设 $ att_{ij} \in S \neq W $。B 随机选择 $ z \in Z_p^
$ 并计算 $ ]=g_{ij}g^z $。对于 $ att_{ij} $,B 计算 $ \sigma_{att_{ij}}=x_{ij+n}(g_{ij}g^z)^{r’
{ij+n}} $。对于 $ att_i \neq att
{ij} $,$ \sigma_{att_i} $ 的计算如下:
(1) 如果 $ i=i_k \in I^
- {j^
} $ ($ k \neq j^
$),则计算
$$
\sigma_{att_i}=g^{a_{ik}}(g_{ij})^{r_{ik}}g_{n+1-ik+ij}(u_{ik})^{-z}.
$$
(2) 如果 $ i=i_{j^
} $,则计算
$$
\sigma_{att_i}=g^{a_{i_{j^
}}}(g_{ij})^{r_{i_{j^
}}} \left( \prod_{k \neq i_j, k \in I^
-{j^
}} \right)(u_{i_{j^
}})^{-z}.
$$
(3) 如果 $ i \notin I^
$,则计算
(a) $ \sigma_{att_i} = x_i(g_{ij}g^z)^{r’
i} $,如果 $ att_i=+ $;
(b) $ \sigma
{att_i} = x_{i+n}(g_{ij}g^z)^{r’
{i+n}} $,如果 $ att_i= -$。
B 回答 $ S $ 的私钥查询:
$$
SK=\langle ],{\sigma
{att_i} \mid i \in [1,n]} \rangle.
$$
挑战阶段。
对于 $ a_{I^
}= \sum_{j=1}^{m} a_{ij} $, $ r_{I^
}= \sum_{j=1}^{m} r_{ij} $,$ u_{I^
}, h_{I^
} $ 的计算如下:
$$
u_{I^
}=u_{i_{j^
}} \prod_{k \in I^
- {j^
}} u_k =(g^{r_{i_{j^
}}} \prod_{k \in I^
- {j^
}} g_{n+1-k}) \prod_{k \in I^
- {j^
}} g^{r_k}g^{-1}
{n+1-k}=g^{r
{I^
}},
$$
$$
h_{I^
}=h_{i_{j^
}} \prod_{k \in I^
- {j^
}} h_k =e(g,h)^{a_{i_{j^
}}} \cdot e(g,h)^{\alpha_{n+1}} \prod_{k \in I^
- {j^
}} e(g,h)^{a_k} =e(g,h)^{a_{I^
} + \alpha_{n+1}}.
$$
攻击者 A 提交 $ M_0 $ 和 $ M_1 $ 以及 $ |M_0| = |M_1| $。B 随机选择 $ b \in {0,1} $,$ s’ \in Z_p^
$ 并计算
$$
CT^
=(W^
,ct_0^
=M_b T e(g,h)^{s’ a_{I^
}},ct_1^
=g^{s’},ct_2^
=g^{s’ r_{I^
}}).
$$
如果 $ T= e(g_{n+1} ,h) $,$ CT^
$ 是一个有效的密文;否则如果 $ T $ 是随机的,则 $ CT^
$ 与 $ b $ 相互独立。
猜测。
如果攻击者 A 输出 $ b’= b $,则 B 猜测 $ T= e(g_{n+1} ,h) $;否则,B 猜测 T 是随机的。 因此,B 能够以不可忽略的优势攻破判定性 $ n−BDHE $ 假设。
5.2. 隐私
定理10。
如果在 $ G_2 $ 中 DDH 假设成立,则我们的 PPGK-ABE 方案在密钥生成阶段是隐私保护的。
证明
如果 DDH 假设在群 $ G_2 $ 中成立,则任何概率多项式时间攻击者都无法区分以下两组元素:$ (h^\alpha, h^\beta, h^{\alpha\beta}, h^\gamma) $ 和 $ (h^\alpha, h^\beta, h^\gamma, h^{\alpha\beta}) $,其中 h 是群 $ G_2 $ 的生成元,且 $ \alpha, \beta, \gamma $ 是从 $ Z_p^* $ 中随机选取的。因此,任何概率多项式时间攻击者都无法在隐私的安全游戏中获胜。
6. 在工业云中的应用
如今,以大数据、云计算和物联网为代表的新技术革命 正在改变传统的工业制造体系[28,29]。工业云为工业 企业提供了更加便捷和安全的协作模式[30–32]。
ABE方案已逐渐应用于工业云环境。在这些应用中,企业所拥有的资质、专利和采购计划通常代表其属性。在 传统ABE系统中,企业必须向密钥生成中心(KGC) 披露这些可能涉及商业秘密的属性信息,以申请相应的 私钥。我们的PPGK‐ABE方案能够正确解决这一问题。
在本节中,我们介绍如何在工业云环境中部署我们的方案。图2展示了使用PPGK‐ABE方案的应用的具体结构。
该结构包含以下实体:
(i) 工业企业:在此系统中,工业企业的角色是数据用户。他们希望根据自身业务获取有用信息,但 不希望向密钥生成中心KGC泄露可能与其商业秘密相关的属性信息。
(ii) 产业联盟经理:在此系统中,产业联盟经理的角色是属性授权中心AAC,其在审核相关证据后,为 工业企业的属性颁发盲令牌。
(iii) KGC:负责为工业企业的属性颁发相应的密钥。在此系统中,KGC无法获取这些属性。
(iv) 工业信息提供者:在此系统中,工业信息提供者是工业联盟的成员,包括制造企业、销售企业、 物流企业、科研机构、咨询公司等。他们将使用 ABE方案共享其加密数据。
(v) 工业云:工业云在本系统中充当数据中心和 数据共享中心。为了保护工业大数据的安全与隐私, 工业信息提供者以加密形式上传其数据。
具体工作流程如下:
(1) 在核对相关证据后,工业企业与产业联盟经理分别运行 UserTemKeyGen 和 BlindTokenGen 算法。工业企业获得与其属性对应的盲令牌。
(2) 当工业企业需要申请其属性密钥时,它们将向密钥生成中心提交盲化令牌。密钥生成中心运行 BlindKenGen 算法,并向工业企业返回盲化私钥。在此过程中,密钥生成中心无法获取关于企业属性的任何信息。
(3) 在收到盲化私钥后,工业企业运行 KeyExtra 算法以获取其自己的私钥。即使产业联盟经理知道工业企业的属性,也不知道对应于这些属性的私钥。
(4) 工业信息提供者运行 Encrypt 算法,基于某些访问策略对工业数据进行加密。然后,他们在云上共享加密数据。只有满足策略的企业才能访问相应的数据。
(5) 工业企业从云中获取加密数据并运行 Decrypt 算法以获得明文。
在上述应用中,工业信息提供者可以根据企业的属性共享工业数据。只有满足访问策略的企业才能访问数据。与传统的ABE方案不同,在此应用中,密钥生成中心(KGC)无法获知企业的属性信息,从而保护了企业的商业秘密。
数据可用性
支持本研究结果的数据可向通讯作者申请获取。
利益冲突
作者声明他们没有利益冲突。
致谢
本工作得到国家自然科学基金(No. 61602287、No. 61802235、No. 61672330 和 No. 61702168)、山东省重点研发计划(No. 2018GGX101037)以及山东省重大科技创新项目(No. 2018CXGC0702)的支持。
43

被折叠的 条评论
为什么被折叠?



