APP下载

可高效撤销的属性基加密方案

2019-07-11李学俊张丹李晖

通信学报 2019年6期
关键词:私钥密文密钥

李学俊,张丹,李晖

(西安电子科技大学网络与信息安全学院,陕西 西安 710071)

1 引言

随着社会与科技的发展,人们越来越多地希望能跨平台、跨地理位置地访问或修改数据,对外部数据云存储的需求前所未有的高涨。然而,将具有不同敏感级别的数据,存储在外部云存储服务器上,为人们带来便利好处的同时,也带来了安全问题[1]。

首先,大量数据托管存储在第三方营运的大型云端数据中心,而云端服务器并不完全可信,且数据的敏感程度不同,因此需要使用属性基加密ABE(attribute-based encryption)方案加密数据,实现高效的细粒度访问控制[2]。其次,对敏感数据的访问并非一成不变,比如接入云端存储服务器的各类设备数量众多,计算能力弱,且往往因随机动态变化引起属性频繁的变化,因此需要实现高效的属性撤销机制,并尽可能减少终端的计算量。

2011年,Waters[3]首次提出基于线性秘密共享方案(LSSS, linear secret sharing scheme)型访问结构的CP-ABE方案(ciphertext-policy ABE)。相较于树型访问结构,LSSS型访问结构更灵活,且解密效率更高。但该方案只有一个可信中央机构CA(central authority),由其管理所有用户的属性和密钥分发工作,工作量巨大,影响系统效率。

在属性基加密方案中,用户和属性往往是一对多或多对一的关系,复杂度较高,这增加了属性撤销机制的研究难度。为了实现属性撤销,一些可撤销的ABE方案被提出[4],但这些方案均未能实现属性的即时撤销。Luan等[5]引入属性撤销列表和在线第三方,第一次实现了属性的即时撤销。现有的基于第三方的属性撤销都能实现即时撤销,主要方法有以下几种:基于版本号和代理重加密[6-10]、基于属性群和KEK(key encryption key)树[11-12]、基于中国剩余定理[13]等。Wu等[7]通过版本号和代理重加密技术实现属性撤销,利用版本号记录系统主密钥的演化过程,并将此版本号和系统密钥、用户密钥和重加密密文进行关联,撤销操作发生后,授权机构将系统版本号加 1,可信第三方需更新所有与版本号相关的密钥和密文。Li等[12]通过改进Hur[11]的方案,基于属性群和 KEK树及半可信第三方为每个属性生成相应的属性群密钥,对密文进行重加密,并生成头部信息发送给用户,撤销用户由于不能恢复属性群密钥,不能正确解密。但该方案中KEK树的总节点会随着用户数量的增多而增多,高度的增长也会导致用户路径密钥的增长。同时该方案仍需更新撤销属性的属性群密钥,需要重加密密文。强衡畅等[13]引入中国剩余定理求解同余式方程组的方法,替换了求解 KEK 树上包含属性群所有用户的最小子树,使得密KEK的时间复杂度降到常数阶。但该方案仍需更新属性群密钥,重加密密文。

综上所述,基于可信或半可信第三方实现CP-ABE方案的撤销机制,大多数工作集中在密钥更新和撤销信息通过重加密嵌入到密文中。面对海量数据如何降低计算量,有学者[14-15]通过引入多项式秘密共享和广播撤销技术实现撤销。由于多项式的阶是固定的,限制了每个属性的撤销用户上限,同时秘密值的求解时间也与多项式的选取有关。

本文将构造一种基于半可信第三方、可高效撤销的属性基加密方案(以下简称本文方案),该方案不需要用户更新密钥和重加密密文,能够实现用户属性撤销及用户撤销。本文主要工作与创新点如下:1) 构造了一种基于半可信第三方的多机构CP-ABE方案,方案中使用云存储服务器兼任半可信第三方,可降低系统通信开销;2)引入RSA密钥管理机制实现属性认证,为每个属性分配一对RSA密钥。用户在撤销某个属性或撤销用户时,只需要更新 RSA属性认证密钥即可,不需要更新密文,且密钥更新的计算量很少,极大地降低了撤销引起的计算量;3) 在实现撤销机制的同时,保证了与文献[3]同样的安全程度,并基于判定性q阶双线DH指数(q-BDHE, decisional q-parallel Bilinear Diffie Hellman exponent)假设证明了安全性,同时保证了抗串谋攻击和前后向安全性。

2 相关知识

2.1 线性秘密共享方案

假设有共享方案∏,包含P个实体用户,若方案∏满足下列条件,则称其是线性秘密共享方案[16]。

1) 域ZP中的向量可以表示每个实体所拥有的秘密份额。

2) 对于每个共享方案∏,都存在一个l行n列的共享生成矩阵M。ρ(i)表示将矩阵的第i行映射为某一实体随机选取共享,构造向量那么实体用户拥有的秘密定义为

上述定义的线性秘密共享方案满足线性重构性质,设有一种LSSS方案∏,S为合法的授权集。定义且即表示M中与属性有关的行。假设{λi}能有效分享s,那么最终一定能够找到常数集合{wi}满足

2.2 密钥管理

令ZN为模N=pq的等价类,其中p和q是大素数,且p≠q。对任意非零元素成立,当且仅当a存在一个乘法逆元b,即

首先为系统属性集中的每个属性xi选择安全的素数并且满足然后计算qi使假设是公开参数,是私有参数。

选择随机数h满足2<h<N-1,并且gcd(h,N)=1。计算与用户的属性集A相关,计算与访问结构中的属性集P相关。其中当xi∈A时;当xi∉A时ai=0。同样,当x∈P时,bi=1;当xi∉P时

属性集A包含访问结构中的属性集P,当且仅当是一个整数[17],其中且有

3 方案描述

3.1 方案背景与系统框架

本文将物联网技术与车辆维修管理相结合,构造了一个车辆维修管理系统[18]。传统维修过程中,车辆在维修时,由于维修本身所具有的私密性,无法保证车主对维修人员的相关行为实施监督,因此营运车辆维修质量得不到充分的保障。本文构造的车辆维修管理系统首先记录车辆的车牌号、车主等基本信息及维修类别和接车员。车辆进入维修区域后,系统使用无线射频技术收集维修数据,记录现场维修人员和负责人的信息及维修工作。维修完成后进行车辆性能检测,记录检测信息,形成车辆电子维修档案。因此车主、交通运输管理部门、维修企业、检测机构均可共享车辆维修信息,车主还可在线监督维修过程,维修人员可提供远程维修指导等,极大地方便了生活。

实现上述系统必须解决以下问题[19]:1) 系统中的电子维修档案存储在云端服务器,但云服务器一般是不可信的,且数据的敏感程度不同,因此需要使用ABE加密数据;2)物联网具有实时性、动态性等特点,终端节点会频繁动态地变化,且用户共享属性。如果一个用户撤销了某个属性,其他用户对撤销属性的使用也会受到影响, 因此必须实现高效的属性撤销机制。

如图1所示,车辆维修管理系统共有6个实体,分别如下。

1) 可信中央授权机构CA,负责为系统中的用户发布唯一的身份标识 uid,为 AA(attribute authority)发布唯一的身份标识aid;生成系统公共参数,完全可信。

2)k个属性授权机构AA,负责生成用户的属性私钥,部分AA可能被腐化。

3) 云存储服务器CSS(cloud storage server),负责存储TU(terminal user)上传的数据密文。CSS是半可信的,它有可能会窥探用户数据,但是会严格执行CA分发的工作。

4) 半可信第三方SM(semi-trusted mediator),负责用户的属性认证。用户访问密文时,SM 首先认证用户是否拥有访问结构中的全部属性,方案中使用CSS兼任半可信第三方。

5) 终端用户TU,表示系统接入设备,其加密消息会上传至CSS。

6) 数据用户DU(data user),当且仅当在SM处认证通过并满足访问结构的用户才能得到预解密密钥。

图1 车辆维修管理系统框架

3.2 方案概述

设G和GT为阶为素数p的双线性群,e为双线性映射,g为生成元,为安全的散列函数。用户集用表示,系统属性集用表示,每个用户的属性空间为。设共有k个属性管理中心,属性集合中的属性分k个不相交的集合。

1) 系统建立阶段

CASetup(λ)→{Pk,MK,uid,aid}。CA给每个授权机构分发唯一的身份标识 aid,给每个用户唯一的身份标识 uid。CA 选择素数p且p≠q,计算N=pq,为每个属性选择随机数pi使,计算qi满足。选择随机数h使 2<h<N-1,且满足再随机选择作为主密钥,生成系统公私钥对,如式(1)和式(2)所示。

2) 用户身份私钥生成阶段

IDKeyGen(MK,uid)→SKuid。CA为每个用户选择随机数,根据每个用户拥有的属性计算CA根据系统属性计算输出用户身份私钥

3) 用户属性私钥生成阶段

CA 通过安全通道将S0发给每个用户,将S1、S2、DA和每个用户的Duid发给云存储服务器,每个AA将SKaid,uid也发给云存储服务器用于部分解密。

Encrypt(PK,(M,ρ) ,m)→CT 。终端对明文m随机选取一对对称密钥km,用km和安全的对称加密算法加密m得到

4) 加密明文

设访问结构LSSS矩阵(M,ρ(i)),M是l×n矩阵,其中,l代表属性数量,函数ρ(i)是第i行与相应属性的映射函数。随机选择一个加密的秘密s∈ZP,随机向量其中用来分享秘密s。对于计算,其中Mi是矩阵M的第i行。然后随机选择,输入PK,利用加密km得到密文(设访问结构中用到的属性集记为P),如式(5)所示。

5) 属性认证

IDAuth(uid,Λ)。用户发送自己的身份标识 uid和属性列表即(uid,Λ)给云存储服务器进行属性认证。

服务器用从 CA处得到的用户私钥Duid和密文中的eP及用户发送的属性列表为用户计算Kuid值,即

服务器再用从 CA处得到的DA和密文中的eP及系统所有属性集A进行如下计算。

服务器将2次计算的结果进行比较,若相等说明用户拥有访问结构中的所有属性,则使用uid的属性私钥为用户进行部分解密;若不相等则输出⊥。

6) 预解密

7) 用户解密

8) 用户撤销

9) 属性撤销

4 安全性分析

4.1 选择明文安全性

定理1假定q-BDHE问题是困难的,敌手的挑战访问结构是是**

l×n的矩阵且则不存在多项式时间的敌手能选择明文攻破本方案。

证明采用反证法,假设存在概率多项式时间(PPT, probabilistic polynomial time)的敌手A,能够在安全模型下以不可忽略的优势攻破方案,假设敌手A选择一个行列数都不超过q的矩阵M*,构造一个模拟器B以不可忽略的优势解决q-BDHE问题。

建立模拟器B随机选取α′∈Zp,对每个属性选择一个随机数zx,模拟器B按如下规则设计H。如果;如果

阶段1在该阶段模拟器B响应敌手A的密钥询问。敌手A发送(uid,said)给模拟器 B进行询问,模拟器B选择随机数r∈Zp,计算S2=

挑战敌手A给模拟器模拟器B提供2个等长的消息m0和m1,模拟器 B掷一枚硬币查看结果b∈{0,1},返回对消息mb的加密密文,如式(8)所示。

阶段2重复阶段1。

猜测敌手A提交对b的猜测b′。如果T是有效的元组,那么模拟器B做出了准确模拟,则式(9)所示的等式成立。

如果T是群GT中的一个随机元素,则称消息mb对敌手是隐藏的,并且有故有

即模拟器 B能够以一个不可忽略的优势解决q-BDHE问题,但是这一问题已被证明是困难的,所以假设不成立,从而证明方案达到了选择明文安全性,证毕。

4.2 抗串谋攻击

本文方案中为每个用户分配一个唯一的身份标识 uid,从不同属性管理中心获得的属性私钥通过该uid绑定。当多个用户合谋攻击时,即使属性集满足访问结构,若不同用户的身份标识不同,服务器只寻找认证用户的 uid的私钥进行部分解密,因此多个用户共谋也不能得到预解密密文。

4.3 前向安全性和后向安全性

当撤销/添加用户,或用户撤销/添加某个属性时,方案保证了前向安全性和后向安全性。当某一用户的属性被撤销时,CA为该属性计算新的qj,并为该用户和其他拥有该属性但未撤销的用户更新Duid发给服务器。因此撤销属性的用户在下一次进行属性认证时,服务器用更新后的Duid进行计算,若与DA计算的结果不相等则不能认证成功,从而撤销属性的用户不能解密密文,因此前向安全性得到保证。另一方面,当系统新加入用户或者用户添加某个属性,服务器利用更新的Duid计算的结果能通过身份认证,从而用户可以得到部分解密结果进而解密得到密文,因此后向安全性得到保证。

5 性能分析

方案性能评估从理论分析和实验仿真两方面进行[20]。理论分析方面,将本文方案与经典的撤销方法版本号、KEK树和中国剩余定理进行对比,分析各方案的存储开销、通信开销和计算开销,得到结果列表;实验仿真方面,在相同环境中进行实验仿真,分析密文密钥更新时间随着撤销属性个数增长所需要的时间,得到结果图。

5.1 理论分析

比较各方案的功能、存储开销、通信开销和计算开销时,由于存储开销与用户的私钥长度有关,通信开销与密文长度有关,只需要对比各方案的密文长度和私钥长度;计算开销主要对比因撤销引起的密文密钥更新的计算量。由于用户使用移动终端资源有限,因此方案用户私钥应越短越好,又由于在海量数据环境下,撤销引起的更新计算量也应越小越好。

从表1可以看出,在存储开销方面,上述对比方案的用户私钥长度都与用户属性个数相关。文献[11]方案和文献[12]方案使用KEK树方法实现撤销,因此需要存储额外的 KEK密钥长度。文献[17]方案和文献[19]方案使用版本号实现撤销,文献[13]方案使用中国剩余定理失效撤销由于这些私钥需要在用户本地存储,因此会给用户带来巨大的存储开销,不适合移动终端的使用环境。与上述方案不同,本文方案中引入半可信第三方,通过外包解密将用户的一部分私钥委托给第三方保存并解密,用户本地只需存储一个|P|长度的私钥,极大地减轻了用户存储的负担。在通信开销方面,本文方案在密文长度上比文献[7]方案、文献[12]方案小了nc个G群元素长度,与文献[11]方案、文献[13]方案相比只增加了一个可以忽略不计的整数项便实现了高效的属性撤销,因此本文方案在实现撤销功能的同时并没有增加通信开销。

表1 存储开销和通信开销性能对比

在比较计算开销时,由于群G和GT上模乘运算开销远远小于模指数运算和双线性对运算开销,因此计算开销主要考虑群G和GT上的模指数和双线性对运算。由于方案重点在于实现属性撤销功能,以下主要对比属性撤销后,密钥更新和密文更新这两阶段的计算开销。

由表2可看出,文献[7]方案和文献[9]方案使用版本号实现撤销,当有属性撤销时,AA为该属性选择新的版本号,因此需要更新用版本号标记的所有相关密钥。文献[7]方案密文只需要更新撤销属性的部分密文即可,而文献[9]方案密文更新阶段相当于重新进行一次属性基加密。文献[11]方案和文献[12]方案使用KEK树实现撤销,因此除了更新撤销属性相关的密钥外,还需要寻找能重新覆盖撤销属性所对应的新属性群的所有用户的最小子集,更新所有的密文需要的时间复杂度为O(n)。文献[13]引入中国剩余定理虽然减少了密钥更新时间,但是密文更新阶段相当于进行一次属性基加密,运算量大。本文方案在密文更新时的计算开销为零,在密钥更新时的计算量为撤销属性的模乘运算,即更新RSA部分私钥,其计算量可忽略不计。综上所述,本文方案具有更高的撤销效率。

表2 撤销引起的计算开销性能对比

5.2 效率分析

本节实验仿真对本方案和文献[7]方案和文献[12]方案在属性撤销后密钥和密文的更新时间进行评估。实验环境配置:Intel(R) Core(TM) i5-7400 CPU @3.00GHz,四核,8.00 GB RAM,Windows 10操作系统。仿真程序基于JPBC库,采用Java语言。撤销属性数目选取2、4、6、8、10共5个参考点,并编写时间测量函数测量这些参考点的密钥和密文的更新时间。具体仿真结果如图2和图3所示。

图2 密钥更新时间

图2和图3描述的是属性撤销后,随着撤销属性个数的增长,更新密钥和密文所需要的时间变化情况。由图可看出,本方案的密钥更新时间比文献[7]方案和文献[12]方案的时间大大减少,只需要更新RSA部分私钥即可。文献[12]方案由于引入KEK树密钥,因此比文献[7]方案的版本号密钥需要更多的计算量。在密文更新方面,本文方案不需要更新密文,文献[7]更新撤销属性部分密文,文献[12]方案全部更新,因此从3图可看出文献[12]方案密文更新时间更长。综上所述,本文提出的撤销方案相比较现有的版本号和KEK重加密方案具有更高的效率。

图3 密文更新时间

6 结束语

海量数据托管存储在第三方营运的大型云端数据中心,带来便利的同时,也带来安全问题。针对这个问题,本文构造了一种基于半可信第三方的高效撤销的属性基加密方案,实现了撤销用户和用户属性级别的撤销。所提方案的特点是引入 RSA属性认证,不需要用户更新密钥,也不需要重加密密文,适用于属性变更频繁的海量数据的网络环境。撤销权限由CA控制,属性认证由半可信第三方执行。属性撤销后,CA只需更新RSA属性认证部分密钥即可,极大地减少了撤销带来的计算量,用户不需要参与密钥更新,因此也减少了接入设备的计算量,同时保证了前后向安全性和抗串谋攻击。最后给出了所提方案的理论分析和实验分析,说明了本文提出的撤销方法更适用于海量数据环境。

猜你喜欢

私钥密文密钥
清扫机器人避障系统区块链私钥分片存储方法
一种支持动态更新的可排名密文搜索方案
比特币的安全性到底有多高
幻中邂逅之金色密钥
幻中邂逅之金色密钥
基于模糊数学的通信网络密文信息差错恢复
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
密码系统中密钥的状态与保护*
基于网络报文流量的协议密文分析方法
密钥共享下跨用户密文数据去重挖掘方法*