一种基于线性秘密共享的可验证外包属性基加密方法

文档序号:10572699阅读:289来源:国知局
一种基于线性秘密共享的可验证外包属性基加密方法
【专利摘要】本发明公开了一种基于线性秘密共享的可验证外包属性基加密方法:本发明采用线性秘密共享(LSSS)的访问结构,支持用户的直接撤销,将代理重加密技术和外包解密技术相结合,当用户被撤销后,在保证云服务器得不到关于明文任何消息的前提下,实现了用户离线更新解密密钥、代理服务器自动更新密文、外包解密的可验证性等功能。此外,本发明涉及通信开销较低,便于带宽、资源受限的移动设备的使用。
【专利说明】
一种基于线性秘密共享的可验证外包属性基加密方法
技术领域
[0001] 本发明涉及云计算及网络安全中数据加密技术领域,本发明主要涉及到用户被撤 销后,其他未被撤销的用户通过数据使用者离线更新解密密钥、云存储服务器更新密文来 实现数据的访问共享,此外,采用可验证外包来降低数据使用者的计算开销,同时也保证解 密服务器提供部分解密密文的正确性。本发明不仅能够实现云环境下群组成员数据的安全 共享,还能够抵抗被撤销的用户和合法群组成员的属性合谋攻击。
【背景技术】
[0002] 近年来广泛应用于云计算的属性基加密技术成为当前的研究热点之一。属性基加 密能够提供给用户丰富灵活的访问结构,以访问存储在云端的密文数据。然而,在云环境 下,不得不考虑的问题是:用户解密的计算开销也会随着访问结构复杂性的增加而增加,而 对于带宽、资源受限的移动设备来说,这样就会导致用户的体验变得糟糕。目前,主要是采 用外包解密技术来实现用计算和通信开销的降低。然而外包通常会涉及到两个关键性问 题:如何保证外包解密的是原始明文,以及外包解密后密文的正确性。恶意的解密外包服务 器可能替换原有的密文,即返还给不是数据使用者所想要解密的密文,同时保证数据使用 者没有察觉其恶意行为。普通的外包解密方案只能够保证数据拥有者不察觉解密外包服务 器不了解数据使用者的任何有用信息,并不能保证外包解密服务器正确执行了部分解密计 算,为了解决这个问题,Lai等人提出了可验证的外包计算的属性基加密,该方案使用双倍 的加密开销来保证可验证性,这较大的造成了数据拥有者的计算开销,最近,Ma等人采用密 钥获取技术(KDF1技术)来实现可验证的外包计算,很大程度减少了数据拥有者和使用者的 加解密开销。
[0003] 属性基加密系统中用户撤销也是属性基研究的热点话题,用户撤销意味着权限的 丧失。目前,用户撤销通常采用直接撤销的方法,即数据拥有者维护着一个撤销列表,使得 在撤销列表中的用户则不能访问数据,这样就会出现一个问题:数据拥有者要始终保持在 线以维持撤销列表。
[0004] 在现有的属性基加密系统中,尚没有发明出一一种基于线性秘密共享的可验证外 包属性基加密方法,本发明采用线性秘密共享LSSS的访问结构,在考虑安全高效的前提下, 实现了一种可验证的属性基用户撤销的方法,本发明不仅能够有效的降低云共享系统中用 户的加解密计算开销和通信开销,而且能够提供给用户更高的隐私保护需求。

【发明内容】

[0005] 为了解决用户被撤销后如何实现云数据安全共享的问题,本发明提供了一种基于 线性秘密共享的可验证外包属性基加密方法,首先采用代理重加密技术实现上传密文的自 动更新,然后结合密钥盲化技术、外包计算技术,保证用户被撤销后云数据共享过程中能够 抵抗属性合谋攻击,实现可验证的外包解密服务。
[0006] 本发明所采用的技术方案是数据拥有者采用KDF1技术生成会话密钥和封装密钥, 并将加密共享的数据上传至云存储服务器,当用户被撤销后,云存储服务器扮演代理的角 色,利用重加密密钥对原始密文进行重加密操作,将原始密文转换为数据使用者能够用私 钥解密的新密文,同时数据使用者能够实现离线更新解密密钥。数据拥有者为了减少计算 开销,将解密密钥进行盲化,将盲化后的部分私钥作为转换密钥发送给外包解密服务器,而 保留部分私钥作为恢复密钥。外包解密服务器具有强大的计算能力,将云存储服务器传送 的密文转化成形式更加简单的密文。数据使用者验证解密密文的正确性,恢复明文。因此, 本发明能够提供安全的可验证外包的属性基用户撤销方法。
[0007] 本发明中的云数据安全共享系统涉及四个实体:云存储服务器(CSS)、外包解密服 务器(D-CSP)、数据拥有者、数据使用者。.
[0008] 本方法提出一种基于线性秘密共享的可验证外包属性基加密方法,包括如下10个 步骤:
[0009] (1)、系统参数/群组参数的建立(SystemSetup/GroupSetup):由可信的权威机构 (TA)设定系统的公开参数PK、系统主密钥MK以及根据系统的公开参数,由可信的群管理员 (GM)设定群组的公开参数GPK、群组的主密钥GMK。
[0010] (2)、生成群组成员证书(GertGen):根据系统的公开参数PK、群组成员的身份UID、 当前群组主密钥GMKver,为群组成员生成证书S ver。
[0011] (3)、密钥生成(KeyGen):首先由ΤΑ来验证证书δνθΤ是否合法;若验证通过,ΤΑ根据 系统的公开参数ΡΚ、系统主密钥ΜΚ、群组成员的属性集S、群组成员的身份UID、当前群组的 公开参数GPKver,为群组成员生成解密密钥DSKver = ( ,t2,DSKs,DSKGID )以及元组UPver。
[0012] ⑷、数据加密(Encrypt):数据拥有者根据系统的公开参数PK、当前群组的公开参 数GPKver、访问结构p ),生成密文CTver。
[0013] (5)、群组参数更新及重加密密钥的生成(GroupUpdate):当群组中的任何一个成 员离开,GM根据系统的公开参数PK、当前群组主密钥GMKver,更新生成新的群组主密钥 GMKver+1、新的群组的公开参数GPKver+1,重加密密钥Re-Keyve"v er+1,新的元组UPver+丨以及记录 状态的字典Dicver+1。
[0014] (6)、用户密钥更新(UserUpdate):当前的群组成员根据各自的解密密钥DSKver、元 组UPver+1,更新各自的解密密钥DSKver+1 〇
[0015] (7)、数据重加密(ReEncrypt):数据拥有者将加密后的数据上传至云存储服务器 CSS,当群组成员发生变化时,CSS根据重加密密钥Re-Keyvel^er+1,对密文进行更新操作,产 生新的密文CTve3r+1。
[0016] (8)、转换密钥和恢复密钥的生成(GenTKout):数据使用者根据各自的解密密钥 DSKver+1,将其进行盲化为DSf ver+1,生成转换密钥TKver+1和恢复密钥PKver+1。
[0017] (9)、外包解密(Transformed):外包解密服务器D-CSP根据云存储服务器CSS提供 的密文CT VCT+1,以及数据拥有者发送的转换密钥TKrer+1,生成转换密文cf。
[0018] (10)、解密密文(Decrypt):数据使用者根据D-CSP传递的密文Cf,使用恢复密钥 进行解密,并验证是否是初始密文CT VCT对应的明文消息M。
[0019] 与传统方法相比,本发明显著的效果:能够抵抗撤销用户通过属性合谋以访问共 享数据,能够极大降低数据拥有者加密以及数据使用者解密的计算开销,同时能够保证解 密外包服务器提供的部分解密密文的正确性。
【附图说明】
[0020] 图1本发明所述的一种基于线性秘密共享的可验证外包属性基加密方法的系统流 程图。 具体实施步骤
[0021] 如权利要求1所述的一种基于线性秘密共享的可验证外包属性基加密方法,其特 征在于,具体步骤实施如下:
[0022] SystemSetup(A)/GroupSetup(PK):系统参数生成算法输入安全参数λ,选取素数 阶为Ρ的乘法群U、.以及双线性映射: S C 4 1?,其中g是Ο的生成兀;ΤΑ随机选取 (?.r α:,: /? S %,?Μ:' € C5,计算 g a,g α,g e,g1 / e,e ( g,g ) α ;选取两个抗碰撞的哈希函数 好:{0,1}*4仏以及一个密钥获取函数KDF1,其长度+ 生成 系统的公开参数(免系统的主密钥ΜΚ=(8α,β),且 将g1/e发送给GM执行用户撤销操作。群组参数生成算法输入系统的公开参数PK,GM随机选取 ,〇 G ·计算免i?P,生成群组的主密钥G Μ K Q = γ Q,群组的公开参数 GP:/C = 以及一个记录当前状态ver的字典Dico,初始化为0状态。
[0023] CertGen(PK,UID,GMKver) :GM根据其UID,为群组中成员生成证书 4?- - g^r X- H(uwr^-a:
[0024] KeyGen(PK,MK,S,GPKver,UID』ver) :TA通过二 X 阶) 验证其证书是否合法;若验证通过,则随机选取A% > ,计算 DSKs - |〇?. ^ X Ηφ?Ο)^\ L ^ ?*Ηχ)}χ&} U R DSK(:ud - {/);> - Z). " - gt2r x mGID}!-!^ --- g!^},设 定用户解密密钥DSKver^tht2,DSKs,DSKGID),将UPver= 0^4 = 110^),(12 = 8^)发送给 GM;若证书验证不通过,生成错误信息丄。
[0025] Encrypt(PK,'GPI<卿数据拥有者根据所选的访问结构(M,办随 机选取.? €___ ^,_生成会话密钥s s κ以及封装密钥= e(,拓分..产,.计算 KDFl{k<}y; C) - SSK\\d, Ο - . .^(4, ,, μ - , q -D{ - f ^), …(?-圹~.的明厂'玛:" 输出:::: L切乃名~
[0026] GroupUpdate(PK,,GMKver,Dicver):当群组的任何成员离开了该小组(认为于被撤 销),GM随机选取%^4 € $,更新群组的公开参数.〇、群 组的主密钥GMKver+i= γ ver+i、元组f,匕叫 重加密密钥&+~ 〃,将UPver+i发送每一个群组成员,将Re- Keyvel^er+1发送给云存储服务器CSS。
[0027] UserUpdate(DSKver,UPver + i):群组成员可以离线更新各自的私钥,计算 Kt - h\ X (i^ - X E(UID}^ ^ , P2 ^ I)2 X (f ^ gy^-rxU/β , A厂:认 X 介二 ,更新03? = μν二 出辟.八'丨二 rn/~?取 以及.DS/k;.〇二{级=分知咖句气〇3 =-密密钥为DSKver+1 = (ti,t2DSKs,DSKgid)。
[0028] ReEncrypt(CTver,Re-Keyver^ver + i):云存储服务器 CSS 计算 C:Wi. ? (:U、e.(你尺e.l卜谓、味 L· GW, C, C^j, a, (:^; Qs {(C·,, Β^φφ
[0029] GenTUPLDSKver+O :数据使用者随机选取s € $,对其解密密钥进行盲化V 1 = ti/z,t/2 = t2/z, DSK^ ------ (?ψ ------- D\f\ Κ\ ------ Ku\l/ ------(K^ ------- }C-Z}X^}J>SK^W ^ {if 二 4气Dj" 二 Dp,试〇 二 /?气!' (tS,tS),将转换密钥TKver+1 = (DSK、,DSK\id)发送给外包解密服务器D-CSP。
[0030] Transform 0Ut(CTver,TKver + i):D-CSP 计算 ' y · y. -

将部分 解密的密文ct' = cw.M,^ 发送给数据使用者。
[0031] Decrypt (Cf,RKver + 1):数据使用者使用自己的恢复密钥,计算
幻(对吵V/兑二:每/4 = e(备沒的 密钥細/ = = 6(免,<?广气 出key;最后通过计算M=CTver+i · (key · E? 2)-1恢复消息M,否则验证不通过,输出丄。
【主权项】
1. 一种基于线性秘密共享的可验证外包属性基加密方法,其特征在于: A、 云存储服务器(CSS)用来存储数据拥有者上传的数据且在云环境下能够动态重加密 密文,使得数据拥有者能够离线实现数据的共享; B、 外包解密服务器(D-CSP)用来减少数据使用者的计算开销,将当前的CSS传递的密文 转化更加简单的密文,以帮助用户恢复原始明文; C、 与传统的可验证外包方法相比,本方法采用在数据拥有者在加密数据阶段生成一个 会话密钥,使用密钥获取函数技术KDFl技术生成封装密钥和一个随机数,从而也大大减少 数据拥有者和数据使用者的加解密开销。2. 如权利要求1所述的一种基于线性秘密共享的可验证外包属性基加密方法,包括如 下步骤: (1) 、系统参数/群组参数的建立(378七6111361:卯/61'〇卯361:卯):由可信的权威机构(丁八) 设定系统的公开参数PK、系统主密钥MK以及根据系统的公开参数,由可信的群管理员(GM) 设定群组的公开参数GPK、群组的主密钥GMK; (2) 、生成群组成员证书(CertGen):根据系统的公开参数PK、群组成员的身份UID、当前 群组主密钥GMKver,为群组成员生成证书S ver; (3) 、密钥生成(KeyGen):首先由TA来验证证书Sver是否合法;若验证通过,TA根据系统 的公开参数PK、系统主密钥MK、群组成员的属性集S、群组成员的身份UID、当前群组的公开 参数GPKver,为群组成员生成解密密钥DSKver =( ,t2,DSKs,DSKgid )以及元组UPver; (4) 、数据加密(Encrypt):数据拥有者根据系统的公开参数PK、当前群组的公开参数 GPKver、访问结构(Μ, P),生成密文CTver; (5) 、群组参数更新及重加密密钥的生成(GroupUpdate):当群组中的任何一个成员离 开,GM根据系统的公开参数PK、当前群组主密钥GMK ver,更新生成新的群组主密钥GMKver+1、新 的群组的公开参数GPKver+1,重加密密钥Re-Key ve"ver+1,新的元组UPver+1以及记录状态的字 典DiCver+l; (6) 、用户密钥更新(UserUpdate):当前的群组成员根据各自的解密密钥DSKver、元组 UPver+1,更新各自的解密密钥DSKver+1; (7) 、数据重加密(ReEncrypt):数据拥有者将加密后的数据上传至云存储服务器CSS, 当群组成员发生变化时,CSS根据重加密密钥R e-Keyvepver+1,对密文进行更新操作,产生新 的密文CT ver+i; (8) 、转换密钥和恢复密钥的生成(GenTKciut):数据使用者根据各自的解密密钥DSKrer+1, 将其进行盲化为DSK ' V(3r+1,生成转换密钥TKve3r+1和恢复密钥RKve3r+1; (9) 、外包解密(Transformed):外包解密服务器D-CSP根据云存储服务器CSS提供的密 文CTVCT+1,以及数据拥有者发送的转换密钥TK rer+1,生成转换密文CT' ; (10) 、解密密文(Decrypt):数据使用者根据D-CSP传递的密文Cf,使用恢复密钥进行 解密,并验证是否是初始密文CT ve3r对应的明文消息M。3. 如权利要求1、2所述的一种基于线性秘密共享的可验证外包属性基加密方法,其特 征在于,具体步骤实施如下: 算法I: SystemSetup(A)/GroupSetup(PK):系统参数生成算法输入安全参数λ,选取素 数阶为P的乘法群G、Gr以及双线性映射^ G X G ,其中g是Oi的生成元;TA随机选 取%為泠€巧,K," € G,计算ga,ga,ge,g1/e,e ( g,g)a ;选取两个抗碰撞的哈希函数 H: {(UK 私:G 以及一个密钥获取函数KDFl,其长度£;生成 系统的公开参数P/< 4:(:?,% ^ A 将g1/e发送给GM执行用户撤销操作。群组参数生成算法输入系统的公开参数PK,GM随机选取 % G $,计算.9' e(mP,生成群组的主密钥G M K。= γ。,群组的公开参数 GPA: = 以及一个记录当前状态ver的字典Dic〇,初始化为O状态; 算法2 :CertGen(PK,UID,GMKver) :GM根据其UID,为群组中成员生成证书 4<?· ?: g-'^' X B(liil)}%,ir; 算法3: KeyGe<PK,MK忒GPK嫩,U!D:(U、} =TA通过。(乐爲叹)二 e(# χ:孖代//I?y>.)验 证其证书是否合法;若验证通过,则随机选取S巧,计算定用户解密密钥PSiKwr = 将 UPver=(UIDj1 = IKUID),d2 = g1/e) 发送给GM;若证书验证不通过,生成错误信息丄; 算法4: &κ:?γρ?(ΡΚΧΡΚ_风(Al />))t数据拥有者根据所选的访问结构(Λ1, /)),随机选 取为^ 生成会话密钥SSK以及封装密钥(承,计算算法5:61*〇卯1^(^6(?1(,,611(€,0;[(^1〇:当群组的任何成员离开了该小组(认为于被 撤销),GM随机选取%_5 e %,更新群组的公开参数~')、 群组的主密钥GMKver+1= γ ver+1、元组KiU;.广(X.r?W广:识 成重加密密钥偽- Keyvel^er+1发送给云存储服务器CSS; 算法6 : UserUpdate (DSKver,UPver + i):群组成员可以离线更新各自的私钥,计算算法7 : ReEncrypt (CTver,Re-Keyve"ver+i):云存储服务器CSS计算算法S = GenTKciut(PLDSKverH):数据使用者随机选取2 €巧,对其解密密钥进行盲化存恢复密钥狀胃+1=(64/2),将转换密钥_774^二(/入讯1认9./仏;: ;泼送给外包解密 服务器D-CSP;立,则输出key;最后通过计算M = CTver+i · (key · ESr1恢复消息M,否则验证不通过,输出丄。
【文档编号】H04L29/06GK105933345SQ201610498415
【公开日】2016年9月7日
【申请日】2016年6月28日
【发明人】聂旭云, 孙剑飞, 徐骏, 苑晨, 秦志光, 钟婷
【申请人】电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1