APP下载

一个多授权中心的属性基签密方案

2018-10-16聂旭云鲍阳阳孙剑飞秦志光

信息安全学报 2018年5期
关键词:挑战者私钥密文

聂旭云, 鲍阳阳, 孙剑飞, 熊 虎*, 秦志光

1电子科技大学信息与软件工程学院 成都 中国 610054

2网络与数据安全四川省重点实验室(电子科技大学) 成都 中国610054

1 引言

基于属性密码体制是近年来密码学领域的研究热点。与传统的基于身份的密码体制相比, 基于属性密码体制实现了一对多的细粒度的访问权限控制,提升了发送方的效率。属性基密码体制源于2005年Sahai等[1]提出的模糊身份基加密体制, 该方案中,当用户所持有的属性个数与密文相关的属性个数达到预设的门限值时, 才能获取解密权限。基于模糊身份基加密体制及的思想, Goyal等[2]提出了第一个密钥策略属性基加密(KP-ABE)方案, 其中用户私钥关联于访问结构, 而密文关联于属性集合, 只有密文的属性满足密钥的访问结构时, 才能进行解密。相应地, Bethencourt等[3]提出了密文策略属性基加密(CP-ABE)方案, 密文对应于访问结构, 而密钥对应于属性集合, 当且仅当密钥的属性满足于密文的访问结构时才获得访问权限, CP-ABE方法中用户可以决定哪些用户可以访问密文, 因此更适用于云计算环境下的应用。Qin等[4]提出一种支持加解密外包的可撤销存储的密文策略属性基加密方案, 通过定期更新存储在云服务器中的密文, 来实现用户在撤销后无法访问这些密文。Li等[5]基于个人健康档案系统(PHR)提出了一个适用于多个用户场景的属性基加密方案, 相对于此前的其他类似工作, 该方案有着更高的计算性能和安全性。Yan等[6]基于格上带误差学习问题提出一种新的属性基加密方案, 并证明了该方案在标准模型下, 能够抵挡自适应选择明文攻击。

近年来, 与属性基加密一样, 属性基签名(ABS)也得到了快速的发展。属性基签名源于Yang等[7]提出的基于模糊身份签名方案。Maji等[8]第一次提出了属性基签名的原语, 同时构造了一个支持有效隐私保护且抗合谋攻击的属性基签名方案。随后, 国内外的学者关于属性基签名做了大量研究[9-11], 并提出了一些功能扩展和安全性提升方面的属性基签名的应用。Shahandashti[12]提出了一个可用于匿名认证的门限属性基签名方案, 并基于计算Diffie-Hellman假设证明了其不可伪造性。Liu[13]等提出了一个有效实现云计算环境下细粒度访问控制的PHR的密文策略属性基签名方案, 并进一步提出了一个在线/离线属性基签名方案[14], 以较低的本地计算成本实现了数据完整性和签名者身份隐私保护, 更加适用于可携带的健康监测设备。

上述的属性基加密或属性基签名设计, 均只单独提供了对消息的保密性或是不可伪造性的保证。但是在实际应用中, 消息的接收者通常不仅需要对密文解密, 还要确定该密文确实是否由发送者本人发出的。传统的“先签名后加密”方法虽然可以达到这一要求, 但是这种方法使得系统的计算开销和通信成本都会大幅增加。对此, Zheng在文献[15]中第一次提出签密的概念并给出了一个具体的方案, 用于同时保证消息的机密性和存在性不可伪造。随后,Malone等[16]首次利用椭圆曲线上的双线性对设计了一种基于身份的签密方案。Shi等[17]和Chen等[18]分别提出了两种不同的属性基签密方案, 但他们的方案的效率较低。近年来, 国内外学者又对属性基签密进行了大量研究, 在计算效率上有了一定的提升,并扩展了很多新的应用: Yang等[19]提出了一种高效的模糊身份基签密方案, 该方案同时满足可公开验证性和短密文性, 且具有较小的运算量。Gagne等[20]提出了一种标准模型下的阈值属性基签密方案。在该方案中, 发送方可以选择性地公开自己的隐私属性。Emura等[21]第一次提出了一种前向安全的属性基签密方案, 实现了在不需要重新发布用户私钥的前提下, 签密者的访问结构能够动态地更新。Han等[22]提出一个非单调访问结构的属性基签密方案, 具有固定密文长度, 且同时满足可公开验证性。Hu等[23]设计了一种可用于体域网(BAN)的模糊基于属性签密方案, 在保护病人隐私的同时, 支持在紧急情况下急救人员对存储在 BAN中的信息进行灵活访问,具有很强的实用价值。Guo等[24]将环签名的思想引入到属性基签密中, 使用属性环来保护签密用户身份隐私。Rao等[25]于2014年第一次提出了一个固定密文长度的属性基签密方案, 并在随机预言机模型下证明了其具有机密性和不可伪造性。Zhang等[26]提出了一种模糊生物特性签密方案, 当与用户私钥相关的生物特性字符串相比与密文相关的特性字符串的误差小于某个值时, 用户可以使用其私钥进行解密, 从而说明该方案具有容错性。Yu等[27]提出了一个同时支持密钥策略签名和密文策略加密的混合访问结构属性基签密方案(KCP-ABSC), 且实现了签密密文长度固定。Wei等[28]提出一种高效的可追踪属性基签密方案, 其权威机构可以在必要时打破签密的匿名性。Hu等[29]分析了密文策略属性基签密(CP-ABSC)的计算量和安全性, 并将其应用到保护智能电网中的组播通信。Zheng等[30]为了克服传统PKI在证书管理上的缺陷, 设计了一个门限属性基签密方案, 方案具有高效安全的特点, 具有较高的实用价值。Pei等[31]提出了一种云环境下增强安全性的属性基签密方案, 并给出了一个在医疗保健系统下的应用, 通过将用户身份融合到属性基签密中,从而防止患者的隐私遭受合谋攻击。Hong等[32]提出了一个密钥策略的属性基签密方法, 具有授权计算和高效密钥更新的功能。当发生访问权限改变或密钥泄露时, 系统将自动进入下一个时间片, 从而保证前向安全性。Zhao[33]等提出了一种强制定验证者环签密体制, 保证只有指定的验证者才能进行有效验证。Rao等[34]第一次提出了一种基于LSSS的属性基签密方法, 该方案具有固定密文长度, 且具有可公开验证性, 即允许任何第三方检验密文的有效性和完整性。随后, Rao等[35]又提出了一种适用于个人健康管理系统(PHR)的密文策略属性基签密(CP-ABSC)方案, 该方案可同时实现细粒度访问控制、机密性、隐私保护和可公开验证性。

上述方案都是在单个授权中心模式下提出的,在结合如针对安全PHR共享的属性基签密应用实例后, 单一授权中心模式暴露出了两个问题。一是PHR是一个社会公益系统, 用户规模非常庞大, 给授权中心带来了沉重的用户密钥生成和管理负担, 影响了系统的效率。二是当该唯一的授权中心受到攻击时, 所有的用户私钥都有可能泄露, 从而产生极大地安全隐患。我们尝试通过利用多授权中心的方式来有效解决这一问题。多授权中心公钥密码体制于2010年由 Chase[36]提出了, 并同时提出了相应的多授权中心属性基加密方案。随后, Sun等[37]和 Cao等[38]基于 Chase的工作, 分别提出了不同的多授权中心签名方案。

为了解决例如PHR等云计算环境下的应用在数据保密和认证方面的问题, 克服实际应用中单一授权中心系统效率和安全性方面的弊端, 我们在Chase[36]的基础上, 构造一种适合于 PHR应用的多授权中心属性基签密方案, 据我们所知, 截至目前,并没有人做过上述工作。

具体来说, 本文的贡献如下:

1. 我们定义了一个多授权中心属性基签密方法的架构, 架构造由系统建立算法、密钥生成算法、签密算法和解签密算法等四个部分组成;

2. 在上述多授权中心属性基签密方法的架构的基础上, 我们提出了一个具体的构造方案, 并对方案做了安全性分析;

3. 我们讨论了本方案在例如PHR系统等应用实例上的实用性, 并对方案做了性能分析和实验仿真,证明了我们的方案在密钥长度和解签密时间上存在优势。

2 预备知识

2.1 双线性映射

G, GT为素数p阶循环群, g为G的生成元,双线性映射e:G×G→GT存在以下性质:

(2)非退化性:存在g1,g2∈G, 使得e(g1,g2)≠1;

(3)可计算性: 对任意的 g1,g2∈G, 都可以计算e(g1,g2)。

2.2 困难性假设

定义1 双线性Diffle-Hellman难题(BDH): 在素数阶p的循环群G中, g是G的生成元, 随机选取a,b,c ∈Zp, 已知(g,ga,gb,gc), 以及一个双线性映射e, 任选 R ∈ Zp, 分辨 e (g,g)abc与e( g ,g )R是困难的。

定义 2 计算性 Diffle-Hellman难题(CDH):随机选择a,b∈Zp, g为G的生成元, 已知(g,ga,gb),计算 gab被认为是困难的。

2.3 拉格朗日插值定理

Shamir[39]提出使用多项式插值来实现秘密分享。其思想是将密钥分为n个部分并分别发放给n个用户, 当持有秘密份额的用户达到一定数量d时就可以恢复密钥,当持有秘密份额的用户数量不足d时, 不能获得关于多项式的任何信息。

3 多授权中心属性基签密结构与安全模型

3.1 多授权中心属性基签密结构

多授权中心属性基签密由以下四个算法构成:

系统建立算法(Setup):输入安全参数λ, 产生系统主公钥MPK, 主私钥MSK, 以及每个属性授权中心的公钥APK和私钥ASK;

密钥生成算法(Extract):用户的私钥由两部分构成, 一部分由属性授权中心生成: 输入属性授权中心的私钥ASK,用户身份以及相关的属性集合,生成用户的部分私钥 Dk,i; 另一部分由中心授权方生成:输入系统主私钥MSK和用户的身份信息, 输出用户另一部分私钥;

签密算法(Signcrypt):签密者输入消息, 签名私钥, 系统公钥, 签密者私钥和一个签密属性集wA, 输出密文;

解签密算法(Unsigncrypt):输入密文, 系统公钥MPK和解签密者私钥, 若解签密者的属性集合wB满足 | wA∩ wB|≥d, 即满足要求的属性达到一定数量, 就进行解密和验证操作。如果验证合法,则说明消息是可信的。

多授权中心属性基签密方案的正确性定义,对于任意的 Setup(λ)→( M PK , M SK,APK,ASK),Extract( A SK , u ,AC,MSK)→( Dk,i,Dca,D'ca), Signcrypt( m ,AC,MPK,MSK,APK,Dk,i,Dca,D'ca)→σ,方案的正确性要求Unsigncrypt(σ ,Au, Dk,i,Dca)→(m,e ( g ,gy0'))成立。

3.2 安全性定义

由于涉及同一个逻辑步骤内的签名和加密, 因此多授权中心属性基签密方案的安全性要同时保证机密性和不可伪造性。以下两个游戏反映了该签密方案的安全模型, 游戏双方为攻击者A和挑战者。

3.2.1 游戏 1: 选择明文攻击下不可区分性(IND-CPA)游戏

初始化:攻击者A选择其要攻击的属性集合 'w,并分配到各个相关的属性授权中心;

参数建立:挑战者 C建立系统产生系统, 并将系统公钥和各属性授权中心公钥传递给攻击者A;

阶段1&阶段2:攻击者A向挑战者C询问相关访问结构的私钥, 该私钥不能直接用于解密 'w下签密的密文, 且对于某一个属性授权中心, 不可以重复询问某一用户的密钥;

挑战:攻击者 A 选择两个明文消息10,mm , 再从挑战者C获得消息γm的密文γc, 其中}1,0{∈γ;阶段2: 攻击者A继续向挑战者做密钥询问, 具体同阶段1;

猜测:攻击者A输出'γ, 如果γγ=', 则攻击者成功。攻击者在游戏中的优势为:

定义1不存在多项式有界的攻击者A能以不可忽略的优势赢得游戏, 则可以说多授权中心属性基签密方案对于选择属性集在选择密文攻击下满足机密性。

3.2.2 游戏 2: 选择消息攻击下不可伪造性(EUF-CMA)游戏

初始化:攻击者A公开将要攻击的属性集合 w ',并分配到各个相关的属性授权中心;

参数建立:挑战者C建立系统产生系统, 并将系统公钥和各属性授权中心公钥一并传递给攻击者A;

阶段1&阶段2:攻击者A向挑战者提交明文消息m, 挑战者C返回相应签密密文, 该询问可以做多项式有界次, 且不能直接询问关于 w '的签密密文;

伪造: 攻击者A计算基于属性集合 w '对消息 m '的签密密文σ', 如果σ'可以被正确地解密和验证,且攻击者A没有询问过, 就可以认为赢得了游戏2。攻击者A赢得游戏2的优势为 A dvA= P r[A赢得游戏2。

定义2 不存在多项式有界的攻击者A能以不可忽略的优势赢得游戏2, 则可以认为多授权中心属性基签密方案对于选择属性集在选择消息攻击下满足不可伪造性。

4 多授权中心属性基签密方案的具体构造

本文提出的多授权中心属性基签密方案, 建立在Chase[35]提出的多授权中心模型之上。用户的多个属性由不同的多个属性授权中心管理, 属性授权中心根据用户持有的属性为用户生成部分密钥。中心授权机构负责管理用户身份信息, 生成系统公私钥对, 并根据每个属性授权中心产生的属性私钥为用户产生另一部分密钥。为保证授权中心给用户生成的私钥有随机性, 方案中使用了伪随机函数(PRF)。具体构造如下:

系统建立算法(Setup):选取素数阶群 G ,GT, 双线性映射e:G×G→GT, 生成元g∈G, 随机选择g1∈G , 假设系统中存在n个属性, n个属性的集合为 U = { 1,2,… ,n }, i ∈ U , d为属性门限值。选择一个Hash函数 H :GT→Zp。将属性域分为K个不相邻的的属性集合, 分属K个属性授权中心管理。选择K个属性授权中心的伪随机数种子 s1, s2,…,sK,任取其中中心授权机构生成的系统主公钥:MPK ={g,g,g,G,G,Y=e( g, g )y0}, 系统主私钥T0属性授权中心的公钥和私钥ASK=

密钥生成算法(Extract):属性授权中心首先为用户生成部分密钥, 输入用户身份u和属性集合, 构造d -1次多项式 f( x), 使得 f ( 0 )= yk,u, 其中y = F(u), 计算用户的一部分私钥k,usk另一方面, 输入系统主私钥MSK和身份u, 中心授权机构计算用户的另一部分私钥

签密算法(Signcrypt):签密者选取随机数 r ∈ Zp,r′∈Zp, 输入消息m, 签密者的属性集合AC, 属性公钥APK, 系统公私钥对 M PK,M SK, 以及用户密钥 Dk,i, Dca, Dc′a。随后, 该算法计算消息m的签名为σ={C1,C2,C3,C4,C5,E,{Ek,i}}i∈AC; 其 中,

解签密算法(Unsigncrypt):设解签密者的属性集合为 Au, 进行以下操作:

若存在|Au∩ AC|≥ d , 则进行以下解密过程:计算 e (E ,D)= e (g,g)f(i)r, 通过拉格朗日插值最k,ik,i终得结合以上信息, 计算获取明文消息m。

选取 S ⊆ AC, 且 | S |=d, 验证:

如果上式成立, 说明明文消息有效, 具体的解签密推导过程如下:

解签密者使用其私钥 Dk,i, Dca进行如下解密:

如果消息 没有被修改或伪造, 则有:

5 安全性分析

5.1 机密性

定理 1 如果 BDH问题在群G中是困难的,则本方案在选择属性集ω′和选择密文攻击下满足机密性。

证明: 假设存在一个多项式时间的攻击者 A能以不可忽略的优势ε赢得游戏 1, 那么我们将能利用该攻击者以不可忽略的优势解决群G中的 BDH问题。

首先假设对于每个可信的授权中心k, 即使用普通的随机函数取代伪随机函数 Fsk, 攻击者A仍然能以不变的优势获得成功。设用户持有的属性集为Au, 解密密文所要求的属性集 AC。攻击者A选择要攻击用户属性集合ω′, 并发送给挑战者 C, 属性集AC和被攻破的属性授权中心列表Corr。

初始化: 攻击者A选取并发送给挑战者C一个挑战属性集合 AC和被攻破的属性授权中心列表Corr。

系统建立: 输入参数 A = ga,B=gb,C=gc, 攻击者的目标是区分 Z = e (g,g)abc或者 Z = e (g,g)R,其中R表示从 Zp中任意取的随机数; 挑战者C随机选取v, y ′∈Zp以及一个哈希函数H:G→Zp, 计算g1=gv, g2=gy′Y0=e(A,B)=e(g,g)ab。在这里意味着 y =ab。此外, 对于属性 i ∈A∩Ak, 挑战者

0uC

C随机选取若干个βk,i, 并计算Tk,i= gβk,i; 对于属性i∈Au-AC k, 计算Tk,i=(gb)βk,i=Bβk,i。

输出公钥 M PK = { g ,g1,g2,G,GT,H,Y0=e(A,B)}。输出可信授权中心的公钥:被攻破授权中心的私钥: 任选tk,i∈Zp和伪随机函数种子 sk, 私钥为: { sk, {tk,i}}。

阶段1&阶段2:令 k ( u)为第一个被查询到属性不能满足访问结构的授权中心, 即

对可信属性授权中心 k ≠ k (u)关于用户u的询问: 设 f ( 0 )=Fsk(u)=zk,ub。挑战者C随机选择 zk,u和多项式φ使得 φ (0 )=zk,u, 设f(i)=bφ(i)。因此,所以, 获得私钥

对可信属性授权中心 k = k (u)关于用户u的询问: 对于用户u对应的属性授权中心, 随机选取 rk,u,设f(0)=Fsk(u)=ab+zk,ub。选取 d -1个随机的点vi, 对于其中的 i ∈, 设 f ( i ) =vib。对于这些属根据这些点, 通过插值, 对于任何其他属性i, 定义对 于 这 些 属 性,tk,i=bβk,i, 因此有

对中心授权机构关于用户u的询问:

同理, 挑战者C随机选择 zk′,u, 计算得到:

挑战者C将以上生成的签名私钥和解密私钥一并发送给攻击者A。

挑战阶段: 攻击者A结束询问, 选择两个等长的明文消息 m0,m1发送给挑战者 C, 挑战者选择任意μ∈{0,1}, 对mμ签密, 随机选择 ,计算如下:

{E=grβk,i=Cβk,i}i∈AC。最后, 输出签密密文。

猜测:攻击者 A输出对μ的猜测μ′, 如果μ= μ ′, 则挑战者判定 Z = e (g,g)abc; 若 μ≠ μ ′,则判定 Z = e (g,g)R。

在Z = e (g,g)R的情况下, 攻击者A不能获取任何有关于μ的消息。因此, 当 Z = e (g,g)R时, 判断μ = μ ′的概率为当μ≠ μ ′时, 挑战者C随机猜测 Z ′ = e ( g, g )R的概率

当Z = e (g,g)abc时, 设攻击者A的优势为ε, 可以得到 P [ μ ′=μ|Z =e( g, g)abc]=, 当μ′=μ时,挑战者C随机猜测 Z ′ = e ( g, g)abc的概率为

挑战者C在整个游戏中的优势计算如下:

5.2 不可伪造性

定理 2 如果 BDH问题在群G中是困难的, 则本方案在选择属性集ω′下的自适应选择消息攻击下满足不可伪造性。

证明: 设 ( g , ga,gb), 挑战者 C目标为计算gab。如果攻击者A要伪造签密密文, 必须拥有签密者密钥。签密者密钥为:

由于 y0, y0′为系统主密钥, tk,i为随机选取的值,f ( i)为 d -1阶多项式, 只有通过d次插值才能获得,因此攻击不能获得密钥。如果攻击者A能伪造密钥,说明攻击者A攻破了该方案, 解决了CDH问题。即使攻击者改变签密密文, 解签密者也能用Unsigncrypt过程验证密文是否合法。综上, 该方案具有选择消息攻击下的不可伪造性。

6 性能分析

签密方法相比传统的签名和加密算法, 一定程度上减小了运算量和通信开销。而本文所提出的多授权中心属性基签密方案, 与其他属性基签密[18,19,26,32,35]相比, 不仅完成了在多授权中心体系下新的签密方案的实现, 在某些方面的效率也有了一定程度的提升。

设 ||G表示群G的大小, ||TG 表示群TG的大小, n为属性数量, k为属性授权中心的个数, p表示一次双线性对运算, e表示一次指数运算, m表示一次乘法运算。

6.1 密钥和密文长度分析

如表 1所示, 在本文所提出的多授权中心属性基签密方案中, 用户密钥长度为 ||)1( Gn+ , 密文长度为。与所列举其他方案相比, 本方案拥有最小的用户密钥长度和尚可接受的密文长度。

6.2 计算量分析

如表 2所示, 本方案的签密计算量为 ( 3 n + 3 )e,解签密过程计算量为 (n + 4)p+(n+k+1)e。与所列举的其他属性基签密方案相比, 本方案虽然在签密过程中的表现并不优异, 但在解签密过程中具有很高的效率, 且随着属性个数的增长, 本方案在解签密过程中的高效性将更加突出。

表1 方案效率比较Table 1 Efficiency comparison of relevant schemes

表2 方案计算量比较Table 2 Computation comparison of relevant schemes

6.3 签名属性分析

如表3所示, 本文所提出的多授权中心属性基签密方案在标准模型下满足机密性和不可伪造性,同时具有抵抗合谋攻击的性质。Yang等[16]的方案虽然密钥、密文长度均较短, 且计算量较小, 但却是以牺牲一定的安全性为代价的。与其他方案产生最鲜明对比的是, 本方案引入了多授权中心的结构模型,具有独特的优势。

表3 方案属性比较Table 3 Property comparison of relevant schemes

6.4 仿真实验

本小节对属性基签密方案进行实验仿真, 在一台Intel Core i5-4660 3.20GHZ, 内存为8GB RAM,Win7 64位操作系统的微型计算机上进行操作; 通过Visual Studio 2010和PBC 0.5.14代码库进行实验,实验对象为随机选取的一组字符串文件。

从签密和解签密两方面对多授权中心的属性基签密方案做出分析。图1为本方案与Chen[18]方案、Yang[19]方案、Zhang[26]方案、Hong[32]方案和 Rao[35]方案在签密开销方面对比测试的结果。图 2为本方案与上述方案在解签密开销方面的比较测试结果。从图1中可以得出, 随着属性个数的增长, 我们的方案的签密时间开销成线性增长, 与其上述的其他签密方案对比, 虽然在签密方面的性能上仅优于Hong[32]的方案, 但我们的方案实现了多授权中心的功能。图2反映了解签密的时间开销随属性个数的增长而成线性增长, 我们的方案在解签密方面相比 Chen[18]、Zhang[26]、Hong[32]和 Rao[35]的方案都有着明显的优势。

图1 各方案签密操作开销对比Figure 1 Signcryption cost comparison of relevant schemes

图2 各方案解签密操作开销对比Figure 2 Signcryption cost comparison of relevant schemes

7 结论

文章在文献[36]的基础上提出了一种多授权中心的属性基签密方案, 并给出了相应的安全性分析。相比于传统的属性基签密方案, 我们所提出的多授权中心属性基签密方案将用户的多个属性分别由不同的授权中心管理, 提升了系统的安全性和效率。此外, 该方案实现了在一个的逻辑步骤内同时保证了消息的保密性和签名身份的不可伪造性, 提高了效率, 且具有抗合谋攻击的性质。并证明了其在选择密文攻击下的保密性和在选择消息攻击下的不可伪造性, 具有一定的应用价值。下一步的工作重点在于进一步提高算法的效率和完善安全性证明。

猜你喜欢

挑战者私钥密文
清扫机器人避障系统区块链私钥分片存储方法
“挑战者”最后的绝唱
一种支持动态更新的可排名密文搜索方案
比特币的安全性到底有多高
基于模糊数学的通信网络密文信息差错恢复
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
密钥共享下跨用户密文数据去重挖掘方法*
闪电远击侠“挑战者”2
一种基于虚拟私钥的OpenSSL与CSP交互方案
挑战者 敢闯敢创激发无限可能