分层的基于属性的抗持续辅助输入泄漏加密方法及系统与流程

文档序号:12729048阅读:260来源:国知局
分层的基于属性的抗持续辅助输入泄漏加密方法及系统与流程

本发明涉及数据加密领域,特别是一种分层的基于属性的抗持续辅助输入泄漏加密方法及系统。



背景技术:

随着信息技术的发展,用户的隐私和敏感数据的安全受到人们的广泛关注,信息安全技术研究也应运而生。基于身份的加密(IBE)系统具有非常广泛的应用,并受到了越来越多的关注。基于身份的加密是在1984年由Shamir首次提出,是为了解决公钥加密系统(PKE)中存在的证书管理问题。在IBE中,用户之间的交互是一对一的。在云环境下,一个用户在云服务器中存储大量的加密数据,并希望一些满足指定条件的用户能够获取某些类型的数据。传统的PKE和IBE没有考虑这种情况。Sahai和Waters在2005年提出了基于属性公钥加密体制ABE(Attribute-based Encryption),ABE是IBE的一个扩展,用户之间的交互是一对多的,也就是说解密方是一个群体。在ABE中,密文和用户的私钥和属性集合相关,数据的拥有者加密数据,并将密文上传到云服务器,具有数据拥有者指定属性的用户才能够通过私钥解密密文。

此外,ABE方案具有灵活、可扩展和细粒度的访问控制。ABE一般分为两种类型,一种是密钥策略KP-ABE(Key-Policy ABE),另一种是密文策略CP-ABE(Ciphertext-Policy ABE)。KP-ABE是由Goyal等人提出的,其中的私钥和访问控制策略相关,密文和属性集合相关。如果用户想解密密文,他拥有的属性集合必须满足访问控制策略。KP-ABE中的访问策略是嵌入到用户私钥中的,数据拥有者不能指定哪些用户能够访问其拥有的数据而仅能选择某个属性集合描述他产生的密文。这个缺陷阻碍了KP-ABE在现实中的应用。因此,Bethencourt等人提出了CP-ABE,其中私钥和属性集合相关,密文与访问控制策略相关。如果私钥的属性集合满足密文的访问控制策略时,用户才能解密密文。与KP-ABE不同,CP-ABE中的访问策略由加密方指定,数据加密方能通过指定访问策略来指定哪些用户能够访问密文,因此CP-ABE具有更多的优势和更广泛的应用。为了在云计算环境下实现更细粒度的访问控制,Wang等人把一个分层的IBE系统扩展成一个分层的ABE(HABE)系统。接着,为了解决实际应用中访问权限的授权问题,Deng等人提出一个HABE系统,系统中允许具有更高属性级别的用户能够对下级属性用户授权。

一般的HABE系统没有考虑持续辅助输入泄漏情况。但是,在现实环境下,敌手可以通过密钥泄漏攻击获得秘密状态的部分信息。密钥泄漏攻击包括很多种方式:(1)边信道攻击:敌手通过密码学算法在运行中泄漏的信息,如计算时间、功率消耗、声音、热、辐射等获取相关秘密信息;(2)冷启动攻击:敌手可以获得机器内存中的一些不完整的数据来获得信息,甚至机器关机时也可以从内存里获得信息;(3)恶意软件攻击:远程敌手可以通过恶意软件下载攻击目标用户的大量秘密信息。遗憾的是,之前存在的诸多HABE系统假设私钥是保密的,但在现实世界中,私钥可能被泄漏。在理想环境下构造的安全系统,若敌手获得少量的私钥信息,都可能对系统造成毁灭性的攻击。一般来说,泄漏攻击的形式化模型分为以下几种类型:(1)仅计算泄漏模型;(2)相对泄漏模型;(3)有界恢复模型;(4)辅助输入模型;(5)持续泄漏模型;(6)事后泄漏模型。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的不足而提供一种分层的基于属性的抗持续辅助输入泄漏加密方法及系统,本发明考虑了持续泄漏和辅助输入这两种情况,设计了一种分层的基于属性的抗持续辅助输入泄漏加密方法及系统,在敌手通过边信道攻击持续地获得私钥的部分信息的情况下,保证加密数据的安全性,能够抵抗持续辅助输入泄漏攻击。

本发明为解决上述技术问题采用以下技术方案:

根据本发明提出的一种分层的基于属性的抗持续辅助输入泄漏加密方法,包括以下步骤:

步骤A、设定系统公开参数params和主私钥msk;

步骤B、根据主公钥mpk、主私钥msk和关于属性向量集合S′,生成一个私钥skS′

步骤C、根据mpk,关于S′的私钥skS′,当且仅当时生成关于S的私钥skS,其中,S′是一个深度为k的属性向量集合,S是一个深度为k+1的属性向量集合,表示S是由S′派生的;

步骤D、根据mpk和msk,生成新的主私钥msk′,其中,|msk′|=|msk|,|*|表示尺寸;

步骤E、根据mpk和skS,生成新的私钥skS′,其中,|sk′S|=|skS|;新的主私钥msk′和新的私钥sk′S用于下一轮解密;

步骤F、根据mpk,一个访问结构A,对消息M进行加密得到对应的密文C;

步骤G、根据mpk,skS和C,解密出M。

作为本发明所述的一种分层的基于属性的抗持续辅助输入泄漏加密方法进一步优化方案,所述步骤A具体包括:

步骤A1、选取两个阶为N=p1p2p3的循环群和其中,p1,p2,p3是三个不同的素数;

步骤A2、选取长度为λ的安全参数1λ,1λ是长度为λ的0,1比特串,令其中,是整数集合,m,n是整数;选取一个双线性映射e:其中,αγ,a是整数,是模p1群中的元素,为中阶为p1的子群,L,D是整数,一个随机的矩阵ai,γ是模p1群中的元素,i∈[1,m]且i为整数,γ∈[1,n]且γ为整数,表示m×n个的笛卡尔积,以及一个随机的列向量

gi是模p1群确认中的元素,表示m个确认的笛卡尔积,设置以及其中,Pi是ai,γ取幂次再求和的值且是群中的元素,是一个列向量,αγ是中的元素,αγ是中的元素,Q是一个列向量,e(gi,Pi)表示gi和Pi求对应的双线性映射的值;

步骤A3、主公钥为其中,e表示双线性映射,表示gi的a次幂,gi是模pi群中的元素,是模p3群中的元素,选取然后计算msk={mski}i∈[1,m];其中,Ti是群中的元素,矩阵V是属性域,为中阶为p3的子群,mski=Pi·Ti

作为本发明所述的一种分层的基于属性的抗持续辅助输入泄漏加密方法进一步优化方案,所述步骤B具体包括:

步骤B1、私钥生成中心随机选取以及来产生S的私钥,其中,R1,i,R2,i是群中的元素S是一个深度为k的属性向量集合,k≤L,L是最大深度,wi是整数,计算其中,是模p1p3群中的元素,是gi的awi次幂且是模p1群中的元素,是gi的wi次幂且是模p1群中的元素;

步骤B2、选取其中,τj是整数,Ri,j,0,Ri,j,1,Ri,j,k+1,Ri,j,k+2,…,Ri,j,L是模p3群中的元素,对于集合S中的任一属性向量是属性域V中深度是k的属性向量,vk表示属性域V中某属性向量的分量,v1与下标(1,x)相关,v1是属性矩阵V的第一行第x个条目,选择hx,选定x后,hx表示从主公钥的h1,h2,…,hD中,选定一个下标为x的群元素并计算最终生成私钥其中,j∈[1,|S'|]以及|S'|是S'的基数,x∈[1,D],D是一个整数,是模p1群中的元素,是模p1群中的元素。

作为本发明所述的一种分层的基于属性的抗持续辅助输入泄漏加密方法进一步优化方案,所述步骤C具体包括:

步骤C1、根据集合S'的私钥选取和其中,是整数,是模p3群中的元素,计算其中,是gi的次幂,是gi的次幂,和是模p1群中的元素,是模p3群中的元素;

步骤C2、选取其中,是整数,都是模p3群中的元素,对于任一属性向量存在一个前缀是属性集合的元素且表示的前缀,计算最后,输出私钥其中vk+1表示属性域V中某属性向量的分量。

作为本发明所述的一种分层的基于属性的抗持续辅助输入泄漏加密方法进一步优化方案,所述步骤D具体包括:

根据msk={mski}i∈[1,m],选取计算新的主私钥msk′={msk′i}i∈[1,m],其中msk′i=mski·Ti′,Ti′是模p3群中的元素。

作为本发明所述的一种分层的基于属性的抗持续辅助输入泄漏加密方法进一步优化方案,所述步骤E具体包括:

根据选取和其中,w′i是整数,R′1,i,R′2,i是模p3群中的元素,计算sk′1,i是模p1p3群中的元素,sk1,i是更新前的私钥,是模p1p3群中的元素,是gi的aw′次幂,是模p1群中的元素,R′1,i是模p3群中的元素;选取其中,τ′j是整数,R′i,j,0,R′i,j,1,R′i,j,k+1,R′i,j,k+2,R′i,j,L均是模p3群中的元素,对集合S中的任意属性向量计算计算新的私钥

作为本发明所述的一种分层的基于属性的抗持续辅助输入泄漏加密方法进一步优化方案,所述步骤F具体包括:

F1:选取一个访问结构选取一个向量其中δγ是整数,并计算份额其中,是m行n列的共享生成矩阵,ρ是一个将的某行映射到某个属性向量上的函数,是的第行并且被ρ映射到一个属性向量上,其中,vk表示属性域V中某属性向量的分量;

F2:如果v1是矩阵V的第一行第x个条目,从mpk中选取hx,随机选择是整数,并计算其中,qi=e(gi,Pi)是双线性映射的值,gi,Pi是模p1群中的元素,是gi的δ次幂,是gi的次幂,是hx的次幂,是gi的次幂,和均是模p1群中的元素,以及其中,是主公钥中的u1,u2,…,uL;表示幂次相乘再求幂次,是模p1群中的元素,密文为

作为本发明所述的一种分层的基于属性的抗持续辅助输入泄漏加密方法进一步优化方案,所述步骤G具体包括:

G1:根据关于的密文和关于S的私钥如果S∈A,计算常量使得其中,是一个满足的整数常量,是属性集合中的一个元素,就是在属性集合S中对应的为下标的值才能参与求和运算;

G2:计算M=C1,i/M′,

其中,e(,)是双线性映射,e(C2,i,sk1,i)表示对C2,i和sk1,i求对应的双线性映射值。

一种分层的基于属性的抗持续辅助输入泄漏加密系统,包括系统参数设置模块、私钥生成模块、授权模块、主私钥更新模块、私钥更新模块、加密模块和解密模块;其中,

系统参数设置模块,用于生成一个主公钥和一个主私钥,主公钥发送给私钥生成模块、授权模块、主私钥更新模块、私钥更新模块、加密模块和解密模块;主私钥发送给私钥生成模块以及主私钥更新模块;

私钥生成模块,使用主公钥、主私钥生成该用户的私钥,并将私钥发送给解密模块以及私钥更新模块;

授权模块,使用主公钥产生下级属性用户的私钥,用于解密;

主私钥更新模块,使用主公钥、主私钥更新主私钥,用于下一次生成私钥;

私钥更新模块,使用主公钥更新用户的私钥,用于下一次的解密;

加密模块,使用主公钥对消息进行加密,并将产生的密文发送给解密模块;

解密模块,使用主公钥根据私钥和密文解密出消息。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明考虑了持续泄漏和辅助输入这两种情况,设计了一种分层的基于属性的抗持续辅助输入泄漏加密方法及系统,在敌手通过边信道攻击持续地获得私钥的部分信息的情况下,保证加密数据的安全性,能够抵抗持续辅助输入泄漏攻击,本发明方法用于解决在边信道攻击情况下存在的密钥泄漏问题。

附图说明

图1为本发明加密系统的工作示意图。

图2为本发明加密方法的流程图。

具体实施方式

下面结合附图,对本发明提出的一种分层的基于属性的抗持续辅助输入泄漏加密系统及方法进行详细说明。

本发明所用的数学理论说明:

1、双线性映射

令和为两个具有相同素数阶p的乘法循环群。g是的生成元。若映射满足下面三个性质,则被为双线性映射:

-双线性性:e(ga,gb)=e(g,g)ab,其中

-非退化性:

-可计算性:e是高效可计算的。

2、强提取器

一个函数Ext:其中如果给定任意值且满足SD((Ext(X,S),S,I),(Uk,S,I))≤εExt,其中εExt∈R+,Uk和S是两个分别在{0,1}m,{0,1}μ上均匀分布的随机变量,则称此函数为平均情况(k,εExt)-强提取器。

3、合数阶双线性群

输入安全参数一个群生成算法产生一个元组其中p1,p2,p3是三个不同的素数,令和为两个阶为N的循环群,e:是一个双线性映射。令是阶分别为p1,p2,p3的的子群。和的正交性:为中单位元,其中i,j∈{1,2,3},i≠j。即:令g是中生成元,由生成,由生成,由生成。对于其中则有

3、合数阶双线性群上的三个困难假设

假设1:令为阶是p1p2的中子群。给定其中算法A区分T0和T1的优势是:

对于任意概率多项式时间(PPT)算法A,若是可忽略的,则称假设1成立。

假设2:令为阶是p1p3的中子群。给定和其中算法A区分T0和T1的优势是:

对于任意PPT算法A,若是可忽略的,则称假设2成立。

假设3:给定以及其中算法A区分T0和T1的优势是:

对于任意PPT算法A,若是可忽略的,则称假设3成立。

一、本发明的实现过程

下面将结合附图说明本发明的具体过程。

如图1所示,本发明提供的分层的基于属性的抗持续辅助输入泄漏加密系统包括如下七个模块:

1、系统参数设置模块Setup(1λ):输入安全参数生成一个主公钥mpk和一个主私钥msk。

2、私钥生成模块KeyGen(mpk,msk,S):输入mpk,msk和关于属性向量的集合S,生成一个私钥skS′

3、授权模块Delegate(mpk,skS′,S):根据mpk,关于S′的私钥skS′,当且仅当时生成关于S的私钥skS,其中,S′是一个深度为k的属性向量集合,S是一个深度为k+1的属性向量集合,表示S是由S′派生的;

4、主私钥更新模块UpdateMSK(mpk,msk):输入mpk和msk,输出更新的主私钥msk′,其中|msk′|=|msk|。

5、私钥更新模块UpdateSK(mpk,skS):输入mpk和skS,输出更新的私钥sk′S,其中|sk′S|=|skS|。

6、加密模块Enc(mpk,A,M):输入mpk,一个访问结构A和一个消息M,输出相应的密文C。

7、解密模块Dec(mpk,skS,C):输入mpk,skS和C,输出M。

下面将结合基于属性的抗持续辅助输入泄漏加密系统及方法的流程图对该加密系统的各个模块进行具体说明。

如图2所示,本发明提供的加密方法执行流程具体如下:

步骤A,系统参数生成:

选取三个循环群阶分别为不同的素数p1,p2,p3,以及阶为N=p1p2p3的两个循环群和g1和g3分别是和的生成元。选取一个安全参数1λ,令0<ε<1,m=O(λ),选取一个双线性映射e:其中γ∈[1,n],其中一个随机的矩阵其中i∈[1,m],γ∈[1,n],以及一个随机的列向量设置以及

主公钥其中矩阵V是属性域。选取然后计算msk={mski}i∈[1,m],其中mski=Pi·Ti

步骤B,根据主公钥mpk、主私钥msk和关于属性向量集合S′,生成一个私钥skS′

步骤B1、私钥生成中心随机选取以及来产生S的私钥,其中,R1,i,R2,i是群中的元素S是一个深度为k的属性向量集合,k≤L,L是最大深度,wi是整数,计算其中,是模p1p3群中的元素,是gi的awi次幂且是模p1群中的元素,是gi的wi次幂且是模p1群中的元素;

步骤B2、选取其中,τj是整数,Ri,j,0,Ri,j,1,Ri,j,k+1,Ri,j,k+2,…,Ri,j,L是模p3群中的元素,对于集合S中的任一属性向量是属性域V中深度是k的属性向量,vk表示属性域V中某属性向量的分量,v1与下标(1,x)相关,v1是属性矩阵V的第一行第x个条目,选择hx,选定x后,hx表示从主公钥的h1,h2,…,hD中,选定一个下标为x的群元素并计算最终生成私钥其中,j∈[1,|S'|]以及|S'|是S'的基数,x∈[1,D],D是一个整数,是模p1群中的元素,是模p1群中的元素。

步骤C,根据mpk,关于S′的私钥skS′,当且仅当时生成关于S的私钥skS,其中,S′是一个深度为k的属性向量集合,S是一个深度为k+1的属性向量集合,表示S是由S′派生的:

步骤C1、根据集合S'的私钥选取和其中,是整数,是模p3群中的元素,计算其中,是gi的次幂,是gi的次幂,和是模p1群中的元素,是模p3群中的元素;

步骤C2、选取其中,是整数,都是模p3群中的元素,对于任一属性向量存在一个前缀是属性集合的元素且表示的前缀,计算最后,输出私钥其中vk+1表示属性域V中某属性向量的分量。

步骤D,根据mpk和msk,生成新的主私钥msk′,其中,|msk′|=|msk|,|*|表示尺寸:

根据msk={mski}i∈[1,m],选取计算新的主私钥msk′={msk′i}i∈[1,m],其中msk′i=mski·Ti′,Ti′是模p3群Gp3中的元素。

步骤E,更新用户的私钥:

根据选取和其中,w′i是整数,R′1,i,R′2,i是模p3群中的元素,计算sk′1,i是模p1p3群中的元素,sk1,i是更新前的私钥,是模p1p3群中的元素,是gi的aw′次幂,是模p1群中的元素,R′1,i是模p3群中的元素;选取其中,τ′j是整数,R′i,j,0,R′i,j,1,R′i,j,k+1,R′i,j,k+2,R′i,j,L均是模p3群中的元素,对集合S中的任意属性向量计算计算新的私钥

步骤F,加密消息M:

F1:选取一个访问结构选取一个向量其中δγ是整数,并计算份额其中,是m行n列的共享生成矩阵,ρ是一个将的某行映射到某个属性向量上的函数,是的第行并且被ρ映射到一个属性向量上,其中,vk表示属性域V中某属性向量的分量;

F2:如果v1是矩阵V的第一行第x个条目,从mpk中选取hx,随机选择是整数,并计算其中,qi=e(gi,Pi)是双线性映射的值,gi,Pi是模p1群中的元素,是gi的δ次幂,是gi的次幂,是hx的次幂,是gi的次幂,和均是模p1群中的元素,以及其中,是主公钥中的u1,u2,…,uL;表示幂次相乘再求幂次,是模p1群中的元素,密文为

步骤G,对密文C进行解密获得消息:

根据关于的密文和关于S的私钥如果S∈A,计算常量使得其中,是一个满足的整数常量,是属性集合中的一个元素,就是在属性集合S中对应的为下标的值才能参与求和运算;以及最后计算M=C1,i/M′。

M可以通过下面等式获得:

有:

下面将对以上所述的分层的基于属性的抗持续辅助输入泄漏加密系统应用于个人健康记录(PHR)中的情形进行说明。

PHR是一种医疗信息记录,包含病人的个人健康记录,如:饮食习惯、家族病史、医生处方等。近年来云应用服务发展迅猛,越来越多地人将PHR存放在云端。本发明可以保证个人在云端存储PHR数据的安全性,保护了用户的隐私。

按照本发明的步骤,授权模块拥有医生或相关工作人员的属性集合,该属性可以包含身份、科室、所在医院等相关信息;私钥生成模块中,可信中心验证用户的身份,验证用户身份合法后将用户私钥发送给该用户;授权模块负责产生下级用户的私钥。病人将其PHR加密后传到云服务器。云服务器则负责接受用户上传或下载请求,并存储PHR数据。当某病人用户将PHR的存取策略定为“XX医院”AND“医生”AND“X科室”时,则XX医院中的X科室的医生可以存取该病人的PHR,其他不满足该存取策略的人则无法存取信息。满足病人指定存取策略的医生可以对其下级医护人员进行授权,对其颁发私钥,医护人员只要满足存取策略,用该私钥也可以对病人数据进行存取。

本领域普通技术人员应该了解,本发明不受上述实例限制,上述实例的描述只是为说明本发明的基本原理与特点,在上述实例的基础上可以很容易的联想到其他的优点和变形。在不背离本发明宗旨的范围内,本领域普通技术人员可以根据上述具体实施例通过各种等同替换所得到的技术方案,但是这些技术方案均应该包含在本发明的权利要求的范围及其等同的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1