软件学报  2020, Vol. 31 Issue (5): 1563-1572   PDF    
基于代理重加密的云数据访问授权确定性更新方案
苏铓1 , 吴槟2,3 , 付安民1 , 俞研1 , 张功萱1     
1. 南京理工大学 计算机科学与工程学院, 江苏 南京 210094;
2. 信息安全国家重点实验室(中国科学院 信息工程研究所), 北京 100093;
3. 中国科学院大学 网络空间安全学院, 北京 100049
摘要: 有越来越多的用户选择云为其进行存储、运算、共享等数据处理工作,因此云端数据量与日俱增,其中不乏敏感数据和隐私信息.如何对用户托管于云端的数据进行授权管理,保证数据机密性、访问授权有效性等至关重要.为此,提出一种基于代理重加密(proxy re-encryption,简称PRE)的云端数据访问授权的确定性更新方案(proxy re-encryption based assured update scheme of authorization,简称PAUA).首先将提出PAUA方案的前提假设和目标,其次论述系统模型和算法,最后对PAUA进行讨论和分析.PAUA方案将减轻用户在数据共享时的计算量,同时将重加密密钥进行分割管理,实现授权变更时,密钥的确定性更新.
关键词: 代理重加密    确定性更新    密文访问控制    授权管理    云计算    
Assured Update Scheme of Authorization for Cloud Data Access Based on Proxy Re-encryption
SU Mang1 , WU Bin2,3 , FU An-Min1 , YU Yan1 , ZHANG Gong-Xuan1     
1. School of Computer Science and Engineering, Nanjing University of Science and Technology, Nanjing 210094, China;
2. State Key Laboratory of Information Security (Institute of Information Engineering, Chinese Academy of Sciences), Beijing 100093, China;
3. School of Cyber Security, University of Chinese Academy of Sciences, Beijing 100049, China
Abstract: More and more people select cloud as an important tool for data storing, processing and sharing, as a result, the data in cloud increases rapidly, including some sensitive and privacy information. It is a vital problem to manage the authorizations of hosted data in cloud for confidentiality and effectiveness of access control. This study proposes a proxy re-encryption based assured update scheme of authorization for cloud data (PAUA) in light to solve the above mentioned problem. Firstly, the aims and assumptions of PAUA are given. Secondly, the system model and algorithm are shown. Finally, the comparisons with PAUA and the current status are carried out. The PAUA reduces the encryption and decryption work of personal users. Meanwhile, it ensures the permission updating by dividing the parameters of re-encryption key generation.
Key words: proxy re-encryption    assured update    cipher text access control    authorization management    cloud computing    

云计算为人们的生产生活提供了丰富的资源和信息, 通过云端获取服务称为了一种全新的服务模式, 内容包含了软件、平台和硬件设置等.用户通过购买云服务对数据进行存储、处理和共享, 但是云端流通的数据量与日俱增, 其中也包含了大量敏感数据和隐私信息, 云为用户提供便捷的数据使用方式的同时, 对用户数据的安全带来多方面的威胁.云用户通过网络进行数据的交互, 数据所有者不再对数据具有控制权, 而是托管到云端进行进一步的运算和处理.如何保障托管数据的机密性、完整性, 如何保障用户数据访问控制和授权管理的有效性和可靠性, 便成为了云端数据安全面临这全新的挑战.

针对数据的机密性和完整性问题, 出现了云端密文访问控制技术, 通过指定密码算法和密钥对数据进行加密处理, 加密后的数据以密文的形式保存在云服务器中, 保证云数据的机密性.通常情况下, 数据所有者在使用云服务前将数据进行加密处理, 将角色[1]、身份信息属性信息等作为密钥生成的参数, 实现对用户权限的控制.如:基于角色的加密、基于身份的加密、属性基加密等机制(attribute based encryption, 简称ABE)等; ABE等机制通过与访问控制模型相结合[2, 3], 能够在一定程度上保证授权策略的有效性; 密钥策略属性基加密系统(key policy attribute based encryption, 简称KP-ABE)和密文策略属性基加密系统(ciphertext policy attribute based encryption, 简称CP-ABE)机制能够支持复杂策略, 在细粒度的数据共享[4]和管理方面具有十分广阔的应用前景, 适用于解密方不固定的情况, 加密方无需关注解密方具体的身份, 仅定义解密方需要具备的属性即可, 免除了数据共享中因解密方变化导致频繁分发密钥的问题, 从而推动了ABE等技术在云计算等相关领域的广泛运用.文献[5]提出了一种针对云存储的灵活的ABE机制, 文献[6]则进一步阐述了CP-ABE在云计算环境下的应用策略.但是上述机制中, 针对数据授权的变更问题, 需要用户进数据的重复加密; 同时, 由于数据在云端托管, 无法确定在数据授权更新后, 原授权数据的彻底删除, 因此缺乏授权变更的确定性.针对权限更新问题, 文献[7]定义了全新的用户密钥形式, 包含分为欺骗密钥和私钥, 用户解密需要提供有两个参数产生的密钥, 密钥通过欺骗密钥进行变化, 但是, 在怎样的应用场景和需求下管理密钥以及如何实现分发没有进行阐述和设计.若由数据所有者管理欺骗密钥, 虽然可以进行权限的确定性更新, 但是将会给用户带来巨大的运算和密钥管理负担.上述解决方案在一定程度上满足了云端数据机密性、完整性的安全管理需求, 但是多要求创建者针对不同数据共享者进行多次数据加密, 产生不同的共享密文, 这样对于个人用户来讲将是性能和时间的巨大考验.同时, 如何在发挥云服务器计算能力和存储能力的前提下实现托管数据授权的确定性更新这一关键问题鲜有论述.

本文针对上述问题, 将代理重加密的思想引入到云端密文数据授权更新和管理中, 提出一种基于代理重加密的云端数据权限确定性更新方案, 数据所有者在共享数据时, 无需重复数据的加密工作, 仅需产生初始密文, 也就是自身私钥加密的密文, 其后的重加密工作则依托于云平台, 完成数据的贡献.减轻用户的云端负担; 同时, 将重加密密钥的参数进行分割管理, 一部分包含共享用户的公私钥等参数托管到云端, 另一部分则定义为解密参数, 由所有者管理; 数据解密则需要同时提供用户自身私钥和解密参数, 当发生权限变更时, 仅需要所有者更改解密参数, 即可实现确定性权限更新.本文将从系统模型和相关算法两个层面进行论述, 并对PAUA方案的优缺点进行分析, 为云端数据的授权管理提供重要的理论和实践基础.

1 基础知识 1.1 代理重加密技术

代理重加密能够将数据共享中的加解密工作进行拆分, 大量的运算借助云计算平台完成, 降低了用户创建、使用数据的运算量.基具体来说, 用户在创建数据时数据加密的任务分成了首次加密和重加密, 首次加密由用户完成, 重加密则由云服务完成, 服务器基于用户首次加密的数据, 针对不同分享需求产生密文.通过将身份、属性等信息的引入, PRE为云数据的密文访问控制提供了重要的支撑.身份[8]、属性[9]PRE的算法构造中重要的参数, 此外, 结合身份信息或属性信息的证书[10]、访问控制条件[11, 12]以及用于细粒度管理的密钥类型[13]也称为了PRE密钥的重要参数, 为云端密文数据的高效访问控制管理提供了重要理论和实践基础.

PRE将密文共享的任务过渡到云服务器, 减轻了用户在数据共享中的产生密文数据的计算量, 重加密密钥的生成与分发仍然需要数据所有者完成.在共享用户海量的云环境, 个人终端用户的计算量仍然是十分巨大的, 需要用户具备很高运算性能和存储空间.为了将重加密密文产生和存储进一步托管于云端文献, 文献[14]将代理重加密与懒惰加密技术相结合, 提出了一种面向KP-ABE的PRE方案, 其中, 密钥的分发、更新和管理均有由云负责, 初步解决了所有者在密钥生成上存在的计算量问题.但是云一般为半可信或不可信实体, 将其作为重加密密钥的分发方与撤销方, 可能会威胁到数据的隐私与安全, 针对由权限撤销、数据变更等带来的密钥更新问题仍然亟待解决.

本文以上述文献的研究为基础, 将代理重加密运用到云端数据密文的授权确定性更新方案中.

1.2 基于乘法循环群的双线性对映射

双线对映射在公钥密码尤其是身份、属性基加密等算法的构造和设计中广泛应用, 令群G1, G2, G3分别为乘法循环群, 阶数为p.

先存在映射e:G1×G2$ \to $ G3, 如果该映射符合以下条件, 则称其为双线性映射.

(1) 双线性:对于任意元素$a, b \in Z_p^*$, gG1, hG2, 有e(ga, hb)=e(gb, ha)=e(g, h)ab成立.

(2) 非退化性:若元素gG1, hG2, 且g, h是非单位元素, 有e(g, h) $ \ne $ 1.

(3) 可计算性:对于任意gG1hG2, 存在有效的算法能够在多项式时间内运算出e(g, h).

2 PAUA设计目标与系统假设

PAUA方案的设计目标如下.

1) 动态更新密文数据访问授权, 确保变更的有效、可靠:数据解密要求用户具备私钥以及基于授权的解密参数, 数据创建者通过解密参数的管理, 共享数据在创建用户的授权范围内可以被访问, 授权失效后, 权限将进行确定性更新.

2) 数据的授权和管理权由数据创建者管理:PAUA将代理重加密密钥的生成参数进行拆分, 一部分由数据创建者进行管理, 并以解密参数的形式提供给授权用户, 数据的权限由数据创建者进行管理, 不受其他服务提供商的干涉.

3) 基于现有的网络设备、终端设备以及安全设备:PAUA机制实现对数据的安全管理与控制, 不需要用户和服务平台单独购买额外的专用平台和设备.

4) 充分利用服务器强大的运算能力, 降低了用户生成与使用密文是的资源消耗, 服务器包含了可信与半可信两个类型:数据创建用户不在需要依据共享需求和用户, 分别多次产生不同的密文, 仅产生初始密文即可, 代理重加密服务器将以初始密文和共享用户的信息, 生成针对性的密文, 重加密密钥的管理则由密钥管理服务器负责, 节约个人终端用户的时间和空间资源.

5) 抗攻击性:PAUA方案要求具有抵抗传统密码分析、暴力破解以及针对PRE的合谋攻击等, 同时防止云服务提供商对用户数据隐私的挖掘和窃取.

2.1 方案假设

PAUA方案的实现需要基于如下假设.

1) 数据的创建和访问依托于网络.

数据所有者A和共享用户B均具有连接网络进行数据访问的能力, 能够实现与重加密密钥生成服务器(re-encryption key generator, 简称RKG)、代理重加密服务器(re-encryption server, 简称Re-Enc)、密钥生成中心(key generation centre, 简称KGC)和重加密参数管理服务器(re-encryption key management, 简称RKM)等服务器的交互, 实现数据创建和访问等.

2) 数据共享者不转存和私自存储已经授权的数据.

共享者进行数据访问时, 通过网络进行参数的获取并进行解密, 其后并不进行数据的本地保存、转授权.

KGC、RKM、数据所有者和数据共享用户为可信, KGC负责公共参数和公私钥的产生, RKM则协助数据创建用户进行重加密密钥参数的管理, 数据所有者是完成数据的第1次加密; 访问用户不会主动泄露密钥及其相关数据.RKG、Re-Enc半可信服务器生成重加密密钥、重加密密文等, 该部分对于数据密文重加密的实施工作忠心完成, 但是, 对用户数据和隐私可能进行挖掘和分析.

3 方案构造 3.1 系统模型

PAUA方案中涉及的符号说明见表 1.

Table 1 Definitions for Notations of PAUA 表 1 PAUA符号定义

PAUA方案的系统模型如图 1所示, 包含实体及其功能说明如下.

Fig. 1 System model PAUA 图 1 PAUA系统模型

1) 数据创建者A:访问数据m的创造者, 产生初始数据, 并进行加密等安全处理, 以云服务器为依托实现数据的共享, A还规定了数据的使用权限.

2) 数据共享用户B:具有对M使用的需求, 数据或服务将通过云服务器获取并解密.

3) KGC:为用户进行重加密参数初始化, 并产生公私钥对.

4) RKM:用于存储代理重加密密钥参数α, 同时也是解密密钥参数, 该服务器与数据创建者进行交互, 通过参数α的管理实现授权的确定性变更.

5) RKG:用于代理重加密密钥的产生, 需要用户的初始化参数β和RKM中存储的参数α共同产生代理重加密密钥.

6) Re-Enc:用于代理重加密的运算.

7) 潜在攻击者:存在针对系统中密文的分析攻击, 针对RKM、RKG、Re-Enc等数据库的破解以及来自RKG、Re-Enc和攻击者的合谋攻击.

3.2 方案概述

PAUA方案主要涉及两个阶段, 工作原理如图 2所示.

Fig. 2 Working principles of PAUA 图 2 PAUA方案工作原理

1) 阶段1:该阶段完成数据的封装以及权限设置工作(图 2左边部分), 以数据创建者A为发起方, A将数据m的进行代理重加密的第1次加密产生密文CA并传输给Re-Enc服务器, 用于分享过程中的代理重加密.同时, A向RKG提交代理重加密密钥参数β, 向RKM中提交重加密密钥参数α.

2) 阶段2:该阶段完成数据的解密工作(图 2右边部分), 以数据共享用户B为发起方.B在Re-Enc服务器获取密文数据CA$ \to $B, 在RKM获取解密参量α, 以αskB为参数构造解密密钥, 实现CA$ \to $B的解密, 获取明文m.

3.3 方案系统描述

PAUA方案主要包含了如下8个系统流程.

1) 初始化:系统建立的第1步, 整个过程中通过算法Setup的调用实现, 产生公共参数、公/私钥等参数.

2) 数据创建:A向KCG提交密钥对产生请求, 同时提供参数q进行系统建立, KCG调用算法层面函数KeyGenerationA产生公私钥对(pkA, skA), A对数据m进行第1次加密, 调用算法层面函数Encrpytion产生密文CA并传输给Re-Enc服务器.而后, A分别向RKG和RKM提交重加密密钥参数β, α, 完成数据创建.

3) 代理重加密密钥参量生成:用户A在创建数据密文的同时, 依据自身授权需求, 产生代理重加密密钥参量, 调用算法层面函数RkPara产生β.α则为指定长度无符号字符串.

4) 密文数据获取:假设用户B数据共享者, B向Re-Enc提交重加密密文数据获取请求, Re-Enc获取B的请求后, 向B提供代理重加密后的密文CA$ \to $B.

5) 合法授权用户的重加密密文解密:假设B为合法访问用户, 欲解密CA$ \to $B, 首先, B在RKM获取解密参量α; 其次, BαskB为密钥解密, 调用算法层面函数Decryption解密CA$ \to $B获取m.

6) 产生具有授权信息的密文数据:RKG提取A提交的参量β, 并向RKM提取参量α, 调用算法层面函数ReKeyGen产生代理重加密密钥rkA$ \to $B; Re-Enc获取rkA$ \to $B, 调用算法层面函数ReEncrpytion, 运算CA$ \to $B.

7) 授权确定性更新:A更新RKM中的α参数列表, 查找待撤销的授权对应参数α, 并进行删除.

8) 授权撤销的用户进行数据解密:假设C为被撤销权限的访问用户, 欲解密CA$ \to $C, C向RKM请求获取解密参数.由于C解密的参数已经被删除, 故无法解密CA$ \to $C.

3.4 算法描述

PAUA的实施过程中包含7个函数, 具体说明如下.

(1) 系统参数初始化:Setup(q)$ \to $param

选择一个素数p, 素数为q长度, 定义乘法循环群G1, G2, 两个群的阶为p, 选取G1的生成元g, 定义哈希函数组Hi(i=1, 2, 3, 4), 函数组具体定义如下:H1:{0, 1}*$ \to $G1, ${H_2}:{\{ 0, 1\} ^*} \to Z_p^*$, H3:G2$ \to ${0, 1}l, H4:{0, 1}*$ \to $G1.公开参数param={p, G1, G2, g, H1, H2, H3, H4, }, 定义e:G1×G1$ \to $G2作为双线性对.

(2) 初始密钥生成:KeyGen(param)$ \to $(skA, pkA)

选取${x_A} \in Z_p^*$, 则skA=xA, $p{k_A} = {g^{{x_A}}}$.

(3) 第1次加密:Encrpytion(m, pkA)$ \to $CA

用户A使用自身公钥pkA加密明文信息m, 选取kG2, 计算r=H2(m||k), 则CA=(c1, c2, c3, c4, c5).

c1=gr;

c2=k·e(pkA, H1(pkA))r;

c3=m $ \oplus $ H3(k);

c4=H1(pkA);

c5=H4(c1||c2||c3||c4)r.

(4) 重加密参量β生成:RkPara(pkB, pkA, skA, r)$ \to $β

产生上传到RKG的代理重加密密钥参数, 则$\beta = \{ p{k_B}, {H_1}{(p{k_A})^{s{k_A}}}, r\} $.

(5) 代理重加密密钥生成:ReKeyGen(α, β)$ \to $rkA$ \to $B

生成有AB代理重加密密钥rkA$ \to $B, 则$r{k_{A \to B}} = (p{k_B},pk_B^r,{H_1}(p{k_B}\parallel \alpha ) \cdot {H_1}{(p{k_A})^{s{k_A}}},{g^{ - r}})$.

(6) 代理重加密:ReEncrpytion(CA, rkA$ \to $B)$ \to $CA$ \to $B

加密代理对密文CA进行重加密, 生成可以被skB所解密的密文${C_B} = ({c'_1}, {c'_2}, {c'_3}, {c'_4}, {c'_5})$.若e(c1, H4(c1||c2||c3||c4))=

e(g, c5)则进行如下计算; 否则, 反馈信息完整性错误.

$ {c'_1} = {c_1}$;

$ {c'_2} = {c_2} \cdot e(pk_B^r{g^{ - r}}, {H_1}{(p{k_A})^{ - s{k_A}}}) \cdot e(pk_B^r, {H_1}(p{k_B}\parallel \alpha ) \cdot {H_1}{(p{k_A})^{ - s{k_A}}}) = k \cdot e(pk_B^r, {H_1}(p{k_B}||\alpha ))$;

${c'_3} = {c_3} $;

${c'_4} = {H_1}(p{k_B}) $;

${c'_5} = {H_4}{({c'_1}, {c'_2}, {c'_3}, {c'_4})^r} $.

(7) 解密Decryption(skB, CA$ \to $B, α)

用户B重加密密文进行解密, 获取明文m.

$e({c'_1}, {H_4}({c'_1}\parallel {c'_2}\parallel {c'_3}\parallel {c'_4})) = e(g, {c'_5})$, 则进行解密运算; 否则, 提示完整性错误.

● 计算$k = {c'_2}/e{({c'_1}, {H_1}(p{k_B}||\alpha ))^{s{k_A}}} $;

● 计算明文$m = {c'_3} \oplus {H_3}(k)$;

● 计算r=H2(m||k), 若${c'_1} = {g^r}$${c'_2} = k \cdot e{(p{k_B}, {H_1}(p{k_B}\parallel \alpha ))^r}$, 则输出明文m.

4 综合分析 4.1 安全性证明与分析

PAUA机制的核心是PRE算法, 因此PAUA的安全性依托于PRE的安全性, 为安全性证明构造安全模型.参照文献[15]进行证明.

DBDH(决策双线性diffie-Hellman问题(decisional bilinear diffie-Hellman))困难问题:给定形如$\left\langle {g, {g^a}, {g^b}, {g^c}, {g^{abc}}} \right\rangle $的结构, 令算法$ \mathcal{A}$进行z=abc mod p的运算, 当且仅当|Pr[A(g, ga, gb, gc, e(g, g)abc)=0]-Pr[A(g, ga, gb, gc, e(g, g)z)= 0]|≤ε, $ \mathcal{A}$具有ε的优势解决DBDH问题.

(1) 复杂性假设

DBDH假设:不存在算法$ \mathcal{A}$, 使其在概率多项式时间内具有ε优势解决DBDH问题, 则称DBDH假设成立.

(2) PAUA的代理重加密安全模型

攻击者$ \mathcal{A}$可以对KeyGenerationRkParaReKeyGenReEncrpytionDecryption等过程进行询问和挑战.

初始化:由挑战者选择参数, 生成初始系统初始系数param.

阶段1:攻击者$ \mathcal{A}$询问以下的过程完成阶段1的工作.

KeyGenerationRkParaReKeyGenReEncrpytionDecryption, 使用KeyGeneration产生的密钥.

挑战:$ \mathcal{A}$在阶段1后, 将输出两个长度相同的明文m0, m1M, 解密参数α*, 由RkPara生成的重加密参数β*及被攻击目标的公钥pk*, 此处的pk*KeyGeneration产生, 私钥未被泄露.当$ \mathcal{A}$以(β*, β', α*)询问ReKeyGen函数时, β'对应的私钥是保密的.挑战者选取b∈{0, 1}作为随机比特, 计算用于挑战询问的密文Cb=Encrpytion(mb, pk*).

阶段2:$ \mathcal{A}$继续阶段1中的询问, 同时满足以下条件.

(1) 当$ \mathcal{A}$以(β*, β', α*)对ReKeyGen进行询问时, β'的私钥保密;

(2) 当以(Cb, β*, β', α*)对ReEncrpytion进行询问时, pk'的私钥保密;

(3) 当$ \mathcal{A}$以(β*, β', α*)对ReKeyGen进行询问时, 则不可使用${C'_b}$询问Decryption, 其中, ${C'_b}$ReEncryption(Cb, β*, β', α*)的有效输出.

猜测:$ \mathcal{A}$提出b'∈{0, 1}的猜测, 若b'=b, 则说明挑战成功.

$ \mathcal{A}$在上述挑战中获胜的优势定义为ε, 且$\varepsilon = \left| {\Pr [b' = b] - \frac{1}{2}} \right|$可忽略不计, 则称A挑战失败,

也可以推出方案是选择密文安全的.

定理.假设有群(G1, G2), 如果DBDH在这个群组上成立, 则说明PAUA方案的算法在随机语言模型下是选择密文安全的.

证明:上述定理的证明相当于证明$ \mathcal{A}$以优势ε进行挑战, 若ε可以忽略则说明定理成立.

首先定义挑战游戏$\mathcal{G}_{i}(i=0, \dots, 5) $, 挑战者$ \mathcal{C} \cdot {T_i}$表示游戏中事件b'=b的发生.

(1) $ {\mathcal{G}_0}$ :挑战者$\mathcal{C} $$ \mathcal{A}$随机的问询诚实回答, 同时对$H_i^{list}(i = 1, ..., 4)$进行初始化, 分别取${\pi _1}, {\pi _4} \in {G_1}, {\pi _2} \in Z_p^*, {\pi _3} \in {\{ 0, 1\} ^l}$, 分别将(pki, π1), (m, k, π2), (k, π3), (c1, c2, c3, c4, π4)存放到$H_i^{list}(i = 1, ..., 4)$中.令δ0=Pr[b'=b], 则$\left| {{\delta _0} - \frac{1}{2}} \right| = \varepsilon $.

(2) $ {\mathcal{G}_1}$ :挑战者$ \mathcal{C}$采用$ {\mathcal{G}_0}$中通的流程进行游戏, 除了以下差异:$ \mathcal{C}$随机选取τ∈{1, 2, …, p+1}, 问询H1τ次, 当$ \mathcal{C}$受到$ \mathcal{A}$的挑战时, 如果$ \mathcal{A}$问询H1, 则$ \mathcal{C}$停止游戏, $ \mathcal{C}$成功的概率至少为$\frac{1}{{p + 1}}$.在游戏$ {\mathcal{G}_1}$δ1=Pr[b'=b], 则$\Pr [{T_1}] = \frac{{{\delta _1}}}{{p + 1}}$.

(3) ${\mathcal{G}_2} $ :挑战者$ \mathcal{C}$采用$ {\mathcal{G}_1}$中流程进行游戏.因为哈希函数Hi定义为标准的随机过程, 故|Pr[T1]-Pr[T2]|可

忽略.

(4) ${\mathcal{G}_3} $ :挑战者$ \mathcal{C}$采用${\mathcal{G}_2} $中通的流程进行游戏, 除了以下差异:调用Decryption时如果输入(C, β*, α*), $ \mathcal{A}$没有对H1使用(β*||α*)询问, 则$ \mathcal{C}$停止游戏; 否则, $ \mathcal{C}$将解密结果反馈给$ \mathcal{A}$.因为加解密算法确定, 哈希函数标准随机, 故|Pr[T2]-Pr[T3]|可忽略.

(5) $ {\mathcal{G}_4}$ :挑战者$ \mathcal{C}$采用${\mathcal{G}_3} $中通的流程进行游戏, 除了以下差异:调用ReKeyGen$ \mathcal{C}$使用$ \mathcal{A}$提出的(β, α)对重加密密钥列表进行查询, 若有结果, $ \mathcal{C}$$ \mathcal{A}$反馈$r{k_{A \to B}} = (p{k_B}, pk_B^r, {H_1}(p{k_B}\parallel \alpha ) \cdot {H_1}{(p{k_A})^{s{k_A}}}, {g^{ - r}})$; 否则, $ \mathcal{C}$依据β, α进行查询.

● 如果用户A的私钥泄露, 即skA=xA;

● 如果A的密钥未泄露, 则首先计算A的密钥, 令aG1, 则skA=axA;

● 若B的私钥泄露, 则$ \mathcal{C}$反馈终止.

调用ReEncrpytion$ \mathcal{C}$采用来自$ \mathcal{A}$的(β, α, Ci)产生ReEncrpytion中参数, 如果失败, 则$ \mathcal{C}$终止游戏; 否则, $ \mathcal{C}$通过密钥和重加密密钥列表查询, 为$ \mathcal{A}$反馈密文数据.$ \mathcal{A}$ReKeyGen挑战必须通过KeyGeneration获取的pkB.|Pr[T3]-Pr[T4]|可忽略.

(6) $ {\mathcal{G}_5}$ :挑战者$ \mathcal{C}$采用$ {\mathcal{G}_4}$中通的流程进行游戏, 在接到$ \mathcal{A}$的挑战(m0, m1, α)后, $ \mathcal{C}$计算首次解密密文.$ {\mathcal{G}_5}$$ {\mathcal{G}_4}$的差别就在于是否问询了H3, 但是由于H3问询难度等同于DBDH问题, 因此|Pr[T4]-Pr[T5]|可忽略.因此$ \Pr [{T_5}] = \frac{1}{{2(p + 1)}}$.

基于步骤(1)~步骤(6)的分析, 结合文献[15], 攻击者$ \mathcal{A}$获胜的概率可以忽略, 说定理成立.证毕.

其次, 方案具备了抵抗密码分析和合谋攻击的能力.数据创建者A将重加密密钥对应的参量进行划分, 其中, β中包含了创建者A和共享用户B的公钥信息以及$pk_A^{s{k_A}}$, RKG通过与共享用户B合谋, 基于$pk_A^{s{k_A}}$获取A的私钥$s{k_A} = {\log _{p{k_A}}}pk_A^{s{k_A}}$属于计算离散对数问题, 因此无法获取A的私钥.

4.2 性能分析

为了描述算法的性能, 此处假设te, tl分别表示指数和线性对运算的时间开销.本文中主要函数时间开销见表 2.

Table 2 Time complexity of main functions for PAUA 表 2 PAUA主要函数时间复杂度

下面分析空间复杂度, 本方案中的空间复杂度主要在于用户端密钥存储的开销, 该机制中, 用户无需提供私钥之外的数据存储, 因此, 空间复杂度为O(1).

4.3 属性分析

PAUA方案中综合了代理重加密技术和权限的确定性更新, 通过可信第三方服务器RKM、云端重加密密钥生成服务器RKG、重加密服务器Re-Enc用于系统不背书, 能够在未增加用户计算量和密钥管理量的前提下, 实现用户数据授权变更时, 重加密密钥的确定性更新.下面针对是否支持密文数据访问管理、是否支持授权变更、授权更新是否具有确定性以及加密运算和密钥管理参与方等方面, 将PAUA与研究现状进行对比, 见表 3.本节选择有代表性的5个方案与PAUA进行比较, 其中, ABAC[16]针对权限变更进行了详细的描述, 但是并未论述密文访问控制和管理的方案; EABDS[17]支持密文访问控制能够进行权限的更新, 但是就确定更新的方面缺乏支持, 同时, 用户需要复杂自身数据的加解密运算, 并进行大量密钥管理工作; 文献[7]在密文访问控制和权限确定性更新方面提供了支持, 但是用户的运算量和密钥管理量较大; 文献[14]和ACC-PRE[18]将云服务器引入到密文数据的处理和密钥管理中, 减轻了用户的负担, 但是缺乏对权限确定性更新的论述.

Table 3 Comparison between PAUA and current schemes 表 3 PAUA与现有机制对比分析

通过分析, PAUA具有如下属性.

1) 支持密文数据访问控制.PAUA方案基于代理重加密技术, 对数据进行加密、重加密处理后以密文的形式进行存储、访问和流通.

2) 支持权限的撤销、变更.PAUA中将通过重加密密钥的管理实现对密文数据访问的管理, 当用户需要变更权限时, 通过控制重加密密钥和密文的产生即可实现.

3) 权限的更新具有确定性.重加密密钥的产生参数划分为两部分, 其中, 一部分存储到重加密密钥生成服务器, 由云端进行运维; 另一部分则存储到可信服务器RKM中, 由用户进行管理, 当需要授权更新时, 用户撤销RKM中的密钥参数分量, 与之对应的密文数据将无法解密, 实现确定性权限更新.

4) 适用于个人用户, 对于系统的性能、运算能力和存储能力没有过高的要求.

5 结论

本文提出了一种提出一种基于代理重加密的云端数据权限确定性更新方案(PAUA).首先, 给出了PAUA机制成立的系统假设和前提条件; 其次, 论述了PAUA的系统模型、基本系统流程和算法; 最后, 将PAUA与现有研究成果进行对比, 提出PAUA的优缺点.通过PAUA方案, 一方面, 用户在托管数据前仅进行一次数据初始加密, 其后则交付重加密服务器进行再处理, 减轻了用户的计算和存储负担; 另一方面, 用户创建数据的同时, 进行代理重加密密钥的约束, 将重加密密钥生成的参数进行分割, 一部分交由云端代理重加密服务器管理, 另一部分则为创建者控制, 实现确定性的授权更新.PAUA方案的提出, 将为云端数据访问控制的可信实施奠定基础.

参考文献
[1]
Zhou L, Varadharajan V, Hitchens M. Trust enhanced cryptographic role-based access control for secure cloud data storage. IEEE Trans. on Information Forensics and Security, 2015, 10(11): 2381-2395. [doi:10.1109/TIFS.2015.2455952]
[2]
Zhu Y, Huang D, Hu CJ, Wang X. From RBAC to ABAC: Constructing flexible data access control for cloud storage services. IEEE Trans. on Services Computing, 2015, 8(4): 601-616. [doi:10.1109/TSC.2014.2363474]
[3]
Rezaeibagha FY, Mu Y. Distributed clinical data sharing via dynamic access-control policy transformation. Int'l Journal of Medical Informatics, 2016, 89: 25-31. [doi:10.1016/j.ijmedinf.2016.02.002]
[4]
Wang J, Huang CH, Wang JH. An access control mechanism with dynamic privilege for cloud storage. Journal of Computer Research and Development, 2016, 53(4): 904-920(in Chinese with English abstract). http://d.old.wanfangdata.com.cn/Periodical/jsjyjyfz201604016
[5]
Li J, Yao W, Zhang Y, Qian H, Han J. Flexible and fine-grained attribute-based data storage in cloud computing. IEEE Trans. on Service Computer, 2017, 10(5): 785-796. [doi:10.1109/TSC.2016.2520932]
[6]
Li J, Yao W, Han J, Zhang Y, Shen J. User collusion avoidance CP-ABE with efficient attribute revocation for cloud storage. IEEE Systems Journal, 2017, 12(2): 1767-1777. [doi:10.1109/JSYST.2017.2667679]
[7]
Ye J, Zhang W, Wu S, Gao Y, Qiu J Attribute-based fine-grained access control with user revocation. In: Proc. of the ICT-EurAsia 2014. 586-595.
[8]
Xu P, Jiao T, Wu Q, Wang W, Jin H. Conditional identity-based broadcast proxy re-encryption and its application to cloud email. IEEE Trans. on Computers, 2015, 65(1): 66-79.
[9]
Zhang Y, Li J, Chen X, Li H. Anonymous attribute based proxy re-encryption for access control in cloud computing. Security and Communication Networks, 2016, 9(14): 2397-2411. [doi:10.1002/sec.1509]
[10]
Li J, Zhao X, Zhang Y, Yao W. Provably secure certificate-based conditional proxy re-encryption. Journal of Information Science and Engineering, 2016, 32(4): 813-830. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=f696d3bb2b19f48f48c298fab1decf13
[11]
Yang Y, Lu H, Weng J, Zhang Y, Sakurai K. Fine-grained conditional proxy re-encryption and application. In: Proc. of the ProvSec. 2014. 206-222.
[12]
Su M, Shi GZ, Xie RN, Fu AM. Multi element based on proxy re-encryption scheme for mobile cloud computing. Journal on Communications, 2016, 36(11): 73-79(in Chinese with English abstract). http://d.old.wanfangdata.com.cn/Periodical/txxb201511009
[13]
Tang Q. Type-based proxy re-encryption and its construction. In: Proc. of the INDOCRYPT 2008. Berlin, Heidelberg: Springer- Verlag, 2008. 130-144.
[14]
Yu S, Wang C, Ren K, Lou W. Achieving secure, scalable, and fine-grained data access control in cloud computing. In: Proc. of the IEEE INFOCOM. 2010. 1-9.
[15]
Su M, Cao MY, Xie RN, Fu AM. PRE-TUAN: Proxy re-encryption based trusted update scheme of authorization for nodes on IoT cloud. Journal of Computer Research and Development, 2018, 55(7): 125-133(in Chinese with English abstract). http://d.old.wanfangdata.com.cn/Periodical/jsjyjyfz201807011
[16]
Servos D, Osborn S. Current research and open problems in attribute-based access control. ACM Computing Surveys (CSUR), 2017, 49(4): 65.1-65.45.
[17]
Huang Q, Ma Z, Yang Y, Fu J, Niu X. EABDS: Attribute-based secure data sharing with efficient revocation in cloud computing. Chinese Journal of Electronics, 2015, 24(4): 862-868. [doi:10.1049/cje.2015.10.033]
[18]
Su M, Li F, Shi G, Geng K, Xiong J. A user-centric data secure creation scheme in cloud computing. Chinese Journal of Electronics, 2016, 25(4): 753-760. [doi:10.1049/cje.2016.07.017]
[4]
王晶, 黄传河, 王金海. 一种面向云存储的动态授权访问控制机制. 计算机研究与发展, 2016, 53(4): 904-920. http://d.old.wanfangdata.com.cn/Periodical/jsjyjyfz201604016
[12]
苏铓, 史国振, 谢绒娜, 付安民. 面向移动云计算的多要素代理重加密方案. 通信学报, 2016, 36(11): 73-79. http://d.old.wanfangdata.com.cn/Periodical/txxb201511009
[15]
苏铓, 曹梦元, 谢绒娜, 付安民. 基于代理重加密的物联网云节点授权可信更新机制. 计算机研究与发展, 2018, 55(7): 125-133. http://d.old.wanfangdata.com.cn/Periodical/jsjyjyfz201807011