可证明安全的用户云数据访问控制协议

2022-06-23 11:10王杰昌常琳林赵新辉
计算机工程与设计 2022年6期
关键词:敌手加密算法解密

王杰昌,张 平,常琳林,赵新辉

(1.郑州大学体育学院 计算机教研室,河南 郑州 450044;2.河南科技大学 数学与统计学院,河南 洛阳 471023)

0 引 言

云存储有很多优点,但也面临安全、性能、质量等[1-5]问题和挑战。对于用户来说,云存储服务器是半可信的,所以Ali等[6]提出云环境数据安全系统(DaSCE),通过引入半可信第三方(密钥管理器)对数据加密后再上传至云存储服务器;Akhila等[7]也提出了云环境下基于半可信第三方的数据安全系统协议。虽然他们均认为密钥管理器是半可信的并做出防范,但密钥管理器仍可截获并解密用户数据,且方案缺少对数据消费者的访问控制。

Xia等[8]、SHIRAISHI等[9]、刘鹏等[10]均提出各自的均视权威机构为完全可信的ABE方案,过于理想化。雷丽楠等[11]及杨小东等[12]提出多授权中心ABE方案,李龙等[13]提出去中心化ABE机制,虽视权威机构(授权中心)为半可信的,但却无法防止多数或全部权威机构的串谋攻击。

本文在现有云存储应用基础上,借鉴文献[6],引入半可信权威机构——密钥生成中心(可由网络运营商提供)对数据进行加密上传,同时完全摒除来自密钥生成中心方的安全威胁,提出可证明安全的用户云数据访问控制协议(user cloud data access control,UCDAC),实现了用户文件加密上传、好友下载请求、用户授权好友下载等完备的访问控制功能。

1 预备知识

1.1 半可信

一个参与者称为半可信的,它可以正确地遵守协议的指令,但在协议执行期间能得到中间结果,并企图根据中间结果得到额外信息。

1.2 GDH群(Gap Diffie-Hellman Groups)[14]

如果α=β, 则称四元组 (g1,g2,u1,u2) 为DH四元组。

利用G上的双线性映射e可容易解决DDH问题:已知 (g1,g2,u1,u2)∈G4, 则

α=β⟺e(g1,u2)=e(g2,u1)

CDH问题:已知 (g,ga,h)∈G3, 计算ha。

如果G上的DDH问题是容易的,但CDH是困难的,G称为GDH群。

1.3 大整数分解问题

大整数分解问题(IF问题)[15]:奇合数N,至少有两个素因子,求素数q满足q|N。

2 UCDAC模型定义

2.1 系统模型

如图1所示,UCDAC模型使用四元组 表示,包含4个实体,其中:

(1)Us表示用户(数据拥有者),将其数据文件通过密钥生成中心加密后存储在云端。

(2)KGC表示密钥生成中心(权威机构),生成部分密钥,为用户提供部分加密和解密服务。功能与前述文献中的密钥管理器或加密服务器类似,但使用方法又有所不同。

(3)Cloud表示云,存储Us加密的文件及相关数据。

(4)Fr表示好友(数据消费者),需要用户的云数据,向用户申请文件下载授权。

图1 UCDAC模型

2.2 安全模型

本文中的UCDAC系统将面临3种类型的敌手攻击,将这3种敌手分别简写为A1、A2、A3这3类。

A1:此类敌手掌握部分密钥,辅助用户进行加密解密数据文件,但是仍可能会攻击系统中其它实体间的通信,截获并尝试解密用户数据文件;A1为具有半可信KGC能力的敌手。

A2:此类敌手存储用户的加密数据文件,但是仍可能会攻击系统中其它实体间的通信,并尝试解密其存储的用户数据文件;A2为掌握半可信Cloud资源的敌手。

A3:此类敌手向用户发出文件下载授权请求,但仍可能会伪造用户文件授权,不经用户同意直接下载并解密用户数据文件;A3类敌手为半可信的Fr。

下面通过敌手A1、A2与挑战者之间的交互游戏来定义协议中加密算法的IND-CCA安全:

(1)初始化。挑战者产生系统UCDAC,敌手A获得UCDAC的公开钥。

(2)询问。敌手A向挑战者做解密询问,挑战者解密后,将明文给敌手A。

(3)挑战。敌手A输出两个长度相同的消息F0和F1, 再从挑战者接受密文Fβ, 其中随机值β←{0,1}。

(4)猜测。敌手输出β′, 如果β′=β, 则敌手A攻击成功。

通过敌手A3与挑战者之间的交互游戏来定义协议中的数字签名(即授权)在适应性选择消息攻击下具有存在性不可伪造性:

(1)挑战者运行系统得到公私钥,选择一个随机函数H。敌手A3得到公开钥。

(2)敌手A3可以向挑战者询问H(·)和对消息的授权。

(3)A3输出一个消息及其签名,其中A3没有向挑战者请求过该消息的签名。如果签名(授权)通过验证,则敌手攻击成功。

定义2 如果任何多项式有界时间的攻击者A3攻破上述安全模型的优势Adv=|Pr[Exp=1]| 是可忽略的,那么我们就说本文协议中的授权在适应性选择消息攻击下具有存在性不可伪造性(EUF-CMA安全)。

3 UCDAC协议

引入密钥生成中心KGC,用户利用其将文件加密后再上传至Cloud,可防止Cloud泄露用户数据,比普通的云盘应用更安全;同时,KGC辅助用户加密解密数据,分担了用户的计算压力。

实际应用中,KGC可由网络运营商(如电信、联通、移动等)提供,文献[16]将其视为可信的,但网络运营商同样也会出于商业目的解密并泄露用户数据,所以将KGC视为半可信的更具实用性。本节使用的相关符号及含义见表1。

表1 符号及含义

3.1 用户文件上传阶段

3.2 好友下载文件阶段

图2 UCDAC协议架构

(2)用户Us收到好友Fr的请求后,若不同意则拒绝;若同意其下载文件,则用户Us随机选择xKGC,xcl, 计算yKGC=gxKGC,ycl=gxcl

sigKGC=H(RKGC)sk+xKGC

(1)

sigcl=H(Rcl)sk+xcl

(2)

然后

,

这里EPK(·) 及DSK(·) 为IND-CCA安全的公钥密码算法。

(6)KGC判断 (g,H(RKGC),yKGCpk,sigKGC) 是否为DH四元组。若不是,则拒绝请求。若是,授权验证通过,则KGC利用私钥di解密 (siri)ei, KGC将siri返回给Fr。Fr利用ri分解出si, 最终 {{Fi}si}si=Fi。

4 协议分析

4.1 正确性分析

云端Cloud根据从用户Us处得到的ycl,Rcl,pk,H(·), 以及从Fr处获得sigcl, 计算

(g,H(Rcl),yclpk,sigcl)= (g,H(Rcl),gxclgsk,H(Rcl)sk+xcl)= (g,H(Rcl),gsk+xcl,H(Rcl)sk+xcl)

(3)

所以 (g,H(Rcl),yclpk,sigcl) 为DH四元组,授权sigcl为真。

密钥生成中心KGC根据从用户Us处得到的yKGC,RKGC,pk,H(·), 以及从Fr处获得sigKGC计算

(g,H(RKGC),yKGCpk,sigKGC)= (g,H(RKGC),gxKGCgsk,H(RKGC)sk+xKGC)= (g,H(RKGC),gsk+xKGC,H(RKGC)sk+xKGC)

(4)

所以 (g,H(RKGC),yKGCpk,sigKGC) 为DH四元组,授权sigKGC为真。

4.2 安全性证明

定理1 在IF假设成立的条件下,对于A1类敌手的攻击,本协议的文件加密算法是IND-CCA安全的。

证明:

A1类敌手即半可信的KGC,可能会通过攻击Fr和Cloud之间的通信截获Pi,(siri)ei,{Fi}si, 并尝试解密得到用户文件Fi; 也可能会通过攻击Fr和Us之间的通信截获EPK(ri), 并尝试解密得到用户的盲化因子ri。 下面将分别对这两种可能的情形进行证明。

情形1:A1攻击Fr和Cloud之间的通信

采用反证法,假设一个IND-CCA敌手A1(KGC)以不可忽略的优势ε攻破UCDAC协议中的加密算法,那么一定存在一个模拟器B1至少以不可忽略的优势2ε解决IF问题。

令C=(C1,C2)=((siri)ei,{Fi}si)

(ni,ei,di) 是已知的, (si,ri) 是未知的;

A1→(Fi0,Fi1);

β←{0,1},C*=((siri)ei,{Fiβ}si);

β′←A1(ni,ei,di,C*);

如果β′=β则返回1,否则返回0。

(5)

下面证明UCDAC协议可归约为IF(大整数分解)问题。

(3)解密询问

(6)

(7)

所以

(8)

即Pr[G]≥2ε。

情形2:A1攻击Fr和Us之间的通信

由于EPK(·) 为IND-CCA安全的公钥密码算法,所以A1攻破加密算法的优势也是可忽略的。

综上可得,UCDAC协议中的加密算法是IND-CCA安全的,定理证毕。

定理2 在IF问题困难的情况下,对于A2的攻击,本协议的文件加密算法是IND-CCA安全的。

证明:由定理1可知在IF假设成立的条件下,对于半可信KGC(A1)的攻击,本协议中的加密算法是IND-CCA安全的。

并且A2(即半可信Cloud)并不知道KGC的私钥di, A2破解Fi的难度是大于A1的。

本定理剩余的证明过程与定理1的类似,不再赘述。

证毕。

定理3 设H是一个随机预言机,如果G是一个GDH群,则本协议中的签名(即授权)在适应性选择消息攻击下具有存在性不可伪造性(EUF-CMA安全)。

证明:

本协议中有两个签名sigKGC,sigcl, 但是它们的构造方法是一样的,我们只需证明他们的签名算法在适应性选择消息攻击下具有存在性不可伪造性即可,下面为了表示方便及更具普遍性,我们把协议中的xcl,xKGC,ycl,yKGC,Rcl,RKGC,sigcl,sigKGC去掉下标KGC和cl,将协议中的签名算法按如下方式表示出来:pk=gsk,y=gx, 令h=H(R),sig=hsk+x。

模拟器B3已知 (g,u=ga+b,h), 以A3(攻击签名算法)作为子程序,目标是计算ha+b。

为了简化,且不失一般性,假设:

(1)A3不会对随机预言机发起两次相同的询问;

(2)如果A3请求消息R的一个签名,则它之前已经询问过H(R);

(3)如果A3输出 (R,sig), 则它之前已经询问过H(R)。

B3将u=ga+b看作其公开钥,a+b为秘密钥(B3其实不知道a+b),则ha+b为B3对某一消息的签名,即sig=H(R)=ha+b, 其中 (R,sig) 由A3伪造产生。B3可将h作为某一消息RJ的哈希值,但B3并不知道A3对哪个消息伪造签名,所以要猜测。

B3为了将问题 (g,u=ga+b,h) 隐藏起来,就选择一个随机数v∈Zq, 以u·gv作为公开要发送给A3。

归约过程如下:

(1)B3将群G的生成元g及公开钥u·gv∈G发送给A3,其中u·gv=ga+b+v对应的秘密钥是a+b+v。 此外随机选择J∈{1,…,qH} 作为它的一个猜测值:A3这次的H询问对应着A3最终的伪造结果。

(2)H询问(最多进行qH次)。B3建立一个列表L3,初始为空,元素类型为四元组 (RI,wI,cI,tI)。 当A3发起第I次询问(设询问值为RI)时,B3回答如下:①如果L3中已有RI对应的项 (RI,wI,cI,tI), 则以wI应答;②否则,B3随机选择cI,tI∈Zq

如果I=J,则计算wI=hgcI+tI∈G;

否则,计算wI=gcI+tI∈G。

以wI作为对该询问的应答,并在表中存储 (RI,wI,cI,tI)。

(3)签名询问(最多进行qH次)。当A3请求消息R的一个授权时,设I满足R=RI,RI表示第I次H询问的询问值。B3如下回答该询问:①如果I≠J, 则L3中有一个四元组 (RI,wI,cI,tI), 计算sigI=(ugv)cI+tI应答A3。因为

(9)

所以sigI为以秘密钥a+b+v对RI的签名;②如果I=J,则模拟中断。

(10)

如果B3的猜测是正确的,且A3输出一个伪造,那么B3就在第(4)步解决了CDH问题。

B3成功由以下3个事件决定:①E1:B3在A3的签名询问中不中断;②E2:A3产生一个有效的消息-签名对 (R,sig); ③E3:E2发生且R对应的四元组 (RI,wI,cI,tI) 中下标I=J

(11)

(12)

所以

(13)

4.3 功能特征分析

如表2所示,文献[10-12]、文献[16]和本协议将解密过程中计算量较大的运算外包出去,能有效减少用户终端的计算开销。

表2 访问控制协议功能特征比较

文献[16]利用HLPN、SMT-Lib及Z3解算器验证了其协议的安全性,文献[8-13]都基于相关困难问题假设,并在安全模型下给出形式化证明,证明所提出的协议是IND-CPA安全的,而本文基于IF问题困难假设,证明协议中的加密算法是IND-CCA安全的,比其它文献的安全性更高。另外,本协议中的签名算法也已证明在适应性选择消息攻击下具有存在性不可伪造性。

文献[16]和ABE类协议[8-10]均假定权威机构KGC是完全可信的,过于理想化,不切实际;虽然多授权中心ABE类协议[11,12]及去中心化ABE类协议[13]假定权威机构是半可信的,但是它们却无法防止多数或全部权威机构的合谋攻击,仍不够安全。

本文不存在上述问题,首先本协议视权威机构KGC为半可信的,更符合实际应用场景;其次,无论是在上传阶段的文件加密,还是在下载阶段的文件解密,均需要用户掌握的盲化因子ri, 未经用户授权,任何实体(包括KGC)均无法获取用户的盲化因子ri, 即使实体间联合发动合谋攻击也不可行,更无法进一步解密用户文件,且本协议的安全性已证明,所以本文更具安全性、实用性和应用前景。

4.4 性能仿真

我们对本协议进行了仿真实验,用两台服务器分别充当云存储和密钥生成中心,部署在某大学里,用两台笔记本电脑分别充当用户和好友,部署在两个不同的家庭里。其中,云服务器的配置为:16核CPU,64 GB内存,8 TB存储,IP地址为59.69.208.201;密钥生成中心服务器性能参数为:32核CPU,128 GB内存,1 TB存储,IP地址为59.69.208.202;这两台笔记本电脑硬件配置均为:英特尔酷睿i3-4030U处理器、4 GB内存、机械硬盘,用户Us和好友Fr的家庭网络带宽均为15 M。本协议分别选用大小为1 KB、3 KB、10 KB、30 KB、100 KB、300 KB、1 MB、3 MB、10 MB的文件进行上传和下载操作,图3和图4是用MATLAB做出的仿真。

图3 用户文件上传阶段各操作时间开销

图4 好友Fr文件下载阶段各操作时间开销

仿真图3和图4中,横轴为文件大小,单位为KB,刻度值为100,101,102,103,104,105; 纵轴为时间开销,单位为s,其中图3的刻度值为10-2,10-1,100,101, 图4的刻度值为10-2,10-1,100,101,102。

从图3可以看出,在用户文件上传阶段,随着文件的增大,文件传输时间在不断增大且逼近10 s,但密钥传输和加密运算时间几乎一直处于0.15 s以下,维持不变或变化较小。从图4可以看出,在好友文件下载阶段,随着文件的增大,文件传输时间在不断增大以致最后超过10 s,但生成授权时间、验证授权时间、密钥传输时间、解密运算时间几乎一直处于0.15 s以下,维持不变或变化较小。

由仿真结果可知,本协议较现有云存储应用增加的运算(如生成授权、验证授权、密钥传输、加/解密运算等)时间开销很小,且随着文件的增大变化较小,本协议主要的时间开销就是文件传输时间(即现有云存储应用运行的时间开销),与现有云存储应用相比较,用户体验相差无几。

UCDAC是在现有云存储应用(例如云盘)基础上引入半可信KGC而提出的改进协议,较现有云存储应用增加了一些密码运算,可以更安全地实现用户对其文件的访问控制,从而提升了协议的安全性。因此,本协议具有很好的理论与应用价值,可为目前流行的云存储应用升级服务提供有意义的参考。

5 结束语

云数据的安全问题影响着云技术应用的发展,合理有效的访问控制方法能够提高用户对云存储服务的信任。本文基于目前流行的云存储技术(例如云盘)提出一种访问控制协议,通过改进盲化因子的用法,有效地阻止了密钥生成中心截获并解密用户数据,并克服了ABE类协议因权威机构权力过大导致的密钥滥用、隐私数据泄露、招致合谋攻击等问题,尤其适合(个人或企业)用户存储比较隐私的数据,具有更强的安全性、实用性和可操作性,可以快速投入实际应用。

猜你喜欢
敌手加密算法解密
与“敌”共舞
基于DES加密算法的改进研究
炫词解密
解密“一包三改”
炫词解密
炫词解密
DES加密算法的实现
基于整数矩阵乘法的图像加密算法
不带着怒气做任何事
基于小波变换和混沌映射的图像加密算法