细粒度移动访问的加密、解密方法及加密、解密系统与流程

文档序号:16692229发布日期:2019-01-22 18:59阅读:236来源:国知局
细粒度移动访问的加密、解密方法及加密、解密系统与流程

本发明涉及数据处理技术领域,具体而言,涉及一种细粒度移动访问的加密方法、解密方法、加密系统、解密系统、计算机装置及计算机可读存储介质。



背景技术:

移动云计算成为多数云辅助网络的基础设施,如移动支付。然而,移动计算的安全风险严重影响了其广泛应用,因数据在云端开源,因此要求数据存储务必安全,只允许已授权用户合法访问。传统加密技术只支持有限的访问控制机制在移动云计算中难以适用。公开索引谓词加密是新兴的非对称加密范式允许对已加密数据的细粒度访问控制,在公开索引谓词加密系统中,访问控制策略由为此描述,密文与一个密文属性相关联,私钥被分配给密钥属性,只有嵌在密文中的密文属性与私钥中的密钥属性根据预定义为此相匹配的情况下才可解密。然而将公开索引谓词加密在移动云计算中广泛使用仍然存在许多困难,大多公开索引谓词加密方案需要非常耗费时间的代数运算,解密时间随着密文属性数量增加而增加,这一困难极大限制了其应用。当解密在移动设备上运行时,此困难将增加运算能力有限的用户的延迟,电量消耗增快。



技术实现要素:

本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,本发明的一个方面在于提出了一种细粒度移动访问的加密方法。

本发明的另一个方面在于提出了一种细粒度移动访问的解密方法。

本发明的再一个方面在于提出了一种细粒度移动访问的加密系统。

本发明的又一个方面在于提出了一种细粒度移动访问的解密系统。

本发明的又一个方面在于提出了一种计算机装置。

本发明的又一个方面在于提出了一种计算机可读存储介质。

有鉴于此,根据本发明的一个方面,提出了一种细粒度移动访问的加密方法,包括:根据系统安全参数λ,生成公钥参数pp及主密钥msk;获取用户身份属性,根据用户身份属性及主密钥msk生成用户私钥ski;对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict;对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct。

本发明提供的细粒度移动访问的加密方法,首先进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后获取用户身份属性生成用户私钥ski,之后分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct,在保证加密安全的同时减少了加密过程的计算时间,提高了加密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

根据本发明的上述细粒度移动访问的加密方法,还可以具有以下技术特征:

在上述技术方案中,优选地,根据系统安全参数λ,生成公钥参数pp及主密钥msk的步骤,具体包括:通过私钥生成中心输入系统安全参数λ,获取素数p及双线性群;确定撤销身份域u及验证域v;通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b;生成公钥参数pp及主密钥msk;其中,撤销身份域验证域α、b∈zp,公钥参数主密钥msk=(α,b)。

在该技术方案中,通过私钥生成中心输入系统安全参数λ,获取素数p及双线性群,确定撤销身份域u及验证域v,通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b,生成公钥参数pp及主密钥msk,公钥参数pp可以对外公开,主密钥msk由私钥生成中心保管。u的作用是规定了这个范围内的用户拥有撤销某人的权利的身份,其中,的含义是输入一定位数的由0或者1组成的值,uch的输出是v。选择随机数g、h及随机指数α、b的过程为选择合适的椭圆曲线:y2=x3+a×x+b,其中a和b是系数,随机选择自变量x的一个值x1,计算对应因变量y的值y1;若点(x1,y1)在想要映射的群中,则成功生成了随机元素,若点(x1,y1)不在群中,则继续选择x的值,直到找到出现在群中的点。下文中的选择随机数或随机指数的原理相同。杂凑函数uch,即哈希函数,任意一种哈希函数即可。

在上述任一技术方案中,优选地,通过私钥生成中心输入系统安全参数λ,获取素数p及双线性群的步骤,具体包括:通过私钥生成中心输入系统安全参数λ,获取素数p;根据λ选择椭圆曲线,将椭圆曲线上的点构成群g及群gt;选择函数映射e,将群g中的元素映射到群gt中,得到双线性群。

在该技术方案中,通过私钥生成中心获取素数p,素数p是一个随机的大素数。私钥生成中心根据输入的安全参数λ的大小,根据所选椭圆曲线上的点构成群g及群gt,选择一种函数映射e,将群g中的元素映射到群gt中去,安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。

在上述任一技术方案中,优选地,获取用户身份属性,根据用户身份属性及主密钥msk生成用户私钥ski的步骤,具体包括:通过私钥生成中心选择随机指数t;获取用户身份属性;根据随机指数t、用户身份属性及主密钥msk,生成用户私钥ski;其中,随机指数t∈zp,用户身份属性为i,用户私钥

在该技术方案中,通过私钥生成中心选择随机指数t,获取用户身份属性i,根据随机指数t、用户身份属性i及主密钥msk,生成用户私钥ski,用户私钥ski通过公式完成多项式次乘法和求幂运算后得到。

在上述任一技术方案中,优选地,对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict的步骤,具体包括:随机选择第一撤销集合sori={iori,1,…,iori,n};获取杂凑函数对(chk,td),并选择随机数r';计算动态验证身份iv;选择随机数s及随机指数si、sv;计算密文c0=gs得到离线数据的会话密钥key1和离线数据的中介密文ict;其中,n为撤销用户数,ii∈u,i∈[n],n=|sori|,动态验证身份iv=uchash(chk,iori,1||…||iori,n,r'),s∈zp,sv∈zp,离线数据的会话密钥key1=e(g,g)αs,离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')。

在该技术方案中,随机选择第一撤销集合sori={iori,1,…,iori,n},第一撤销集合即为要撤销的人的集合,获取杂凑函数对(chk,td),其中chk与td为两个参数,并选择随机数r',计算动态验证身份iv,选择随机数s及随机指数si、sv,进而计算密文c0=gs通过公式key1=e(g,g)αs计算离线数据的会话密钥key1,以及通过公式ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')计算离线数据的中介密文ict,其中uchash为变色龙哈希函数。

在上述任一技术方案中,优选地,对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct的步骤,具体包括:获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si;计算密文r,得到在线数据的会话密钥key2和在线数据的中介密文ct;其中,i∈[|s|],密文r=ucoll(td,iori,1||...||iori,|s|,r',x),x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|],在线数据的会话密钥key2=e(g,g)αs,在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)。

在该技术方案中,获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si,通过公式r=ucoll(td,iori,1||...||iori,|s|,r',x),计算密文r,根据公式key2=e(g,g)αs计算在线数据的会话密钥key2,以及根据公式ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)计算在线数据的中介密文ct,其中,i∈[|s|],ucoll为碰撞哈希函数,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。

根据本发明的另一个目的,提出了一种细粒度移动访问的解密方法,包括:验证用户身份属性,生成会话密钥key;通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密。

本发明提供的细粒度移动访问的解密方法,验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证解密安全的同时减少了解密过程的计算时间,提高了解密的效率。

根据本发明的上述细粒度移动访问的解密方法,还可以具有以下技术特征:

在上述技术方案中,优选地,公钥参数g、h为随机数,α、b为随机指数,e为函数映射,uch为杂凑函数、r为辅助参数域;用户私钥i为用户身份属性,t为随机指数;所述离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r'),key1=e(g,g)αs,c0=gssori={iori,1,…,iori,n}为第一撤销集合,iv=uchash(chk,iori,1||…||iori,n,r')为动态验证身份,s∈zp,sv∈zp,(chk,td)为杂凑函数对,r'为随机数,v为验证域,n为撤销用户数,ii∈u,i∈[n],n=|sori|;在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r),s={i1,…,i|s|}为第二撤销集合,密文r=ucoll(td,iori,1||...||iori,|s|,r',x),imall,i=(ii-iori,i)·si,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。在上述任一技术方案中,优选地,验证用户身份属性,生成会话密钥key的步骤,具体包括:进行动态验证身份iv的验证;令并选择随机数τi;检验第一等式及第二等式是否全部成立;当第一等式及第二等式不全部成立时,会话密钥为空;当第一等式及第二等式全部成立时,输出会话密钥key;其中,第一等式为第二等式为动态验证身份iv=uchash(chk,x,r),i∈[|s|],x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2{imall,i}i∈[|s|],τi∈[0,2τ],会话密钥

在该技术方案中,进行动态验证身份iv的验证,令并选择随机数τi,检验第一等式及第二等式是否全部成立,当第一等式及第二等式不全部成立时,会话密钥为空,即会话密钥不存在,不能进行解密;当第一等式及第二等式全部成立时,输出会话密钥key,进而根据会话密钥key、公钥参数pp、用户私钥ski、进行解密,提高解密安全性,并且缩短解密时间。

根据本发明的再一个目的,提出了一种细粒度移动访问的加密系统,包括:初始化模块,用于根据系统安全参数λ,生成公钥参数pp及主密钥msk;私钥生成单元,用于获取用户身份属性,根据用户身份属性及主密钥msk生成用户私钥ski;离线数据加密单元,用于对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict;在线数据加密单元,用于对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct。

本发明提供的细粒度移动访问的加密系统,首先通过初始化模块进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后私钥生成单元获取用户身份属性生成用户私钥ski,之后离线数据加密单元及在线数据加密单元分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct,在保证加密安全的同时减少了加密过程的计算时间,提高了加密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

根据本发明的上述细粒度移动访问的加密系统,还可以具有以下技术特征:

在上述技术方案中,优选地,初始化模块,具体用于:通过私钥生成中心输入系统安全参数λ,获取素数p及双线性群;确定撤销身份域u及验证域v;通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b;生成公钥参数pp及所述主密钥msk;其中,撤销身份域验证域α、b∈zp,公钥参数主密钥msk=(α,b)。

在该技术方案中,初始化模块通过私钥生成中心输入系统安全参数λ,获取素数p及双线性群,确定撤销身份域u及验证域v,通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b,生成公钥参数pp及主密钥msk,公钥参数pp可以对外公开,主密钥msk由私钥生成中心保管。u的作用是规定了这个范围内的用户拥有撤销某人的权利的身份,其中,含义是输入一定位数的由0或者1组成的值,uch的输出是v。选择随机数g、h及随机指数α、b的过程为选择合适的椭圆曲线:y2=x3+a×x+b,其中a和b是系数,随机选择自变量x的一个值x1,计算对应因变量y的值y1;若点(x1,y1)在想要映射的群中,则成功生成了随机元素,若点(x1,y1)不在群中,则继续选择x的值,直到找到出现在群中的点。下文中的选择随机数或随机指数的原理相同。杂凑函数uch,即哈希函数,任意一种哈希函数即可。

在上述任一技术方案中,优选地,初始化模块,具体用于:通过私钥生成中心输入系统安全参数λ,获取素数p;根据λ选择椭圆曲线,将椭圆曲线上的点构成群g及群gt;选择函数映射e,将群g中的元素映射到群gt中,得到双线性群。

在该技术方案中,初始化模块通过私钥生成中心获取素数p,素数p是一个随机的大素数。私钥生成中心根据输入的安全参数λ的大小,根据所选椭圆曲线上的点构成群g及群gt,选择一种函数映射e,将群g中的元素映射到群gt中去,安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。

在上述任一技术方案中,优选地,私钥生成单元,具体用于:通过私钥生成中心选择随机指数t;获取用户身份属性;根据随机指数t、用户身份属性及主密钥msk,生成用户私钥ski;其中,随机指数t∈zp,用户身份属性为i,用户私钥

在该技术方案中,私钥生成单元通过私钥生成中心选择随机指数t,获取用户身份属性i,根据随机指数t、用户身份属性i及主密钥msk,生成用户私钥ski,用户私钥ski通过公式完成多项式次乘法和求幂运算后得到。

在上述任一技术方案中,优选地,离线数据加密单元,具体用于:随机选择第一撤销集合sori={iori,1,…,iori,n};获取杂凑函数对(chk,td),并选择随机数r';计算动态验证身份iv;选择随机数s及随机指数si、sv;计算密文c0=gs得到离线数据的会话密钥key1和离线数据的中介密文ict;其中,n为撤销用户数,ii∈u,i∈[n],n=|sori|,动态验证身份iv=uchash(chk,iori,1||…||iori,n,r'),s∈zp,sv∈zp,离线数据的会话密钥key1=e(g,g)αs,离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')。

在该技术方案中,离线数据加密单元通过随机选择第一撤销集合sori={iori,1,…,iori,n},第一撤销集合即为要撤销的人的集合,获取杂凑函数对(chk,td),其中chk与td为两个参数,并选择随机数r',计算动态验证身份iv,选择随机数s及随机指数si、sv,进而计算密文c0=gs通过公式key1=e(g,g)αs计算离线数据的会话密钥key1,以及通过公式ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')计算离线数据的中介密文ict,其中uchash为变色龙哈希函数。

在上述任一技术方案中,优选地,在线数据加密单元,具体用于:获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si;计算密文r,得到在线数据的会话密钥key2和在线数据的中介密文ct;其中i∈[|s|],密文r=ucoll(td,iori,1||...||iori,|s|,r',x),x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|],在线数据的会话密钥key2=e(g,g)αs,在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)。

在该技术方案中,在线数据加密单元获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si,通过公式r=ucoll(td,iori,1||...||iori,|s|,r',x),计算密文r,根据公式key2=e(g,g)αs计算在线数据的会话密钥key2,以及根据公式ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)计算在线数据的中介密文其中,i∈[|s|],ucoll为碰撞哈希函数,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。

根据本发明的又一个目的,提出了一种细粒度移动访问的解密系统,包括:解密单元,用于验证用户身份属性,生成会话密钥key;以及通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密。

本发明提供的细粒度移动访问的解密系统,解密单元验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证解密安全的同时减少了解密过程的计算时间,提高了解密的效率。

根据本发明的上述细粒度移动访问的解密系统,还可以具有以下技术特征:

在上述技术方案中,优选地,公钥参数g、h为随机数,α、b为随机指数,e为函数映射,uch为杂凑函数、r为辅助参数域;用户私钥i为用户身份属性,t为随机指数;所述离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r'),key1=e(g,g)αs,c0=gssori={iori,1,…,iori,n}为第一撤销集合,iv=uchash(chk,iori,1||…||iori,n,r')为动态验证身份,s∈zp,sv∈zp,(chk,td)为杂凑函数对,r'为随机数,v为验证域,n为撤销用户数,ii∈u,i∈[n],n=|sori|;在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r),s={i1,…,i|s|}为第二撤销集合,密文r=ucoll(td,iori,1||...||iori,|s|,r',x),imall,i=(ii-iori,i)·si,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。

在上述任一技术方案中,优选地,解密单元,具体用于:进行动态验证身份iv的验证;令并选择随机数τi;检验第一等式及第二等式是否全部成立;当第一等式及第二等式不全部成立时,会话密钥为空;当第一等式及第二等式全部成立时,输出会话密钥key;其中,第一等式为第二等式为动态验证身份iv=uchash(chk,x,r),i∈[|s|],x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2{imall,i}i∈[|s|],τi∈[0,2τ],会话密钥

在该技术方案中,解密单元进行动态验证身份iv的验证,令并选择随机数τi,检验第一等式及第二等式是否全部成立,当第一等式及第二等式不全部成立时,会话密钥为空,即会话密钥不存在,不能进行解密;当第一等式及第二等式全部成立时,输出会话密钥key,进而根据会话密钥key、公钥参数pp、用户私钥ski、进行解密,提高解密安全性,并且缩短解密时间。

根据本发明的又一个目的,提出了一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一项的细粒度移动访问的加密方法或如上述任一项的细粒度移动访问的解密方法的步骤。

本发明提供的计算机装置,处理器执行计算机程序时实现首先进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后获取用户身份属性生成用户私钥ski,之后分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct。或进行解密,即验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证加密安全的同时减少了加密及解密过程的计算时间,提高了加密及解密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

根据本发明的又一个目的,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项的细粒度移动访问的加密方法或如上述任一项的细粒度移动访问的解密方法的步骤。

本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现首先进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后获取用户身份属性生成用户私钥ski,之后分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct。或进行解密,即验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证加密安全的同时减少了加密及解密过程的计算时间,提高了加密及解密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1示出了本发明的一个实施例的细粒度移动访问的加密方法的流程示意图;

图2示出了本发明的另一个实施例的细粒度移动访问的加密方法的流程示意图;

图3示出了本发明的一个实施例的细粒度移动访问的解密方法的流程示意图;

图4示出了本发明的另一个实施例的细粒度移动访问的解密方法的流程示意图;

图5示出了本发明的一个实施例的细粒度移动访问的加密系统的示意框图;

图6示出了本发明的一个实施例的计算机装置的示意框图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。

本发明第一方面的实施例,提出一种细粒度移动访问的加密方法,图1示出了本发明的一个实施例的细粒度移动访问的加密方法的流程示意图。其中,该方法包括:

步骤102,根据系统安全参数λ,生成公钥参数pp及主密钥msk;

步骤104,获取用户身份属性,根据用户身份属性及主密钥msk生成用户私钥ski;

步骤106,对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict;

步骤108,对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct。

本发明提供的细粒度移动访问的加密方法,首先进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后获取用户身份属性,根据用户身份属性及主密钥msk生成用户私钥ski,之后分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct,在保证加密安全的同时减少了加密过程的计算时间,提高了加密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

图2示出了本发明的另一个实施例的细粒度移动访问的加密方法的流程示意图。其中,该方法包括:

步骤202,通过私钥生成中心输入系统安全参数λ,获取素数p;根据λ选择椭圆曲线,将椭圆曲线上的点构成群g及群gt;选择函数映射e,将群g中的元素映射到群gt中,得到双线性群;

步骤204,确定撤销身份域u及验证域v;通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b;生成公钥参数pp及主密钥msk;

步骤206,通过私钥生成中心选择随机指数t;获取用户身份属性;根据随机指数t、用户身份属性及主密钥msk,生成用户私钥ski;

步骤208,随机选择第一撤销集合sori={iori,1,…,iori,n};获取杂凑函数对(chk,td),并选择随机数r';计算动态验证身份iv;选择随机数s及随机指数si、sv;计算密文c0=gs得到离线数据的会话密钥key1和离线数据的中介密文ict;

步骤210,获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si;计算密文r,得到在线数据的会话密钥key2和在线数据的中介密文ct。

在该实施例中,撤销身份域验证域α、b∈zp,公钥参数主密钥msk=(α,b)。通过私钥生成中心获取素数p,素数p是一个随机的大素数。私钥生成中心根据输入的安全参数λ的大小,根据所选椭圆曲线上的点构成群g及群gt,选择一种函数映射e,将群g中的元素映射到群gt中去,安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。确定撤销身份域u及验证域v,通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b,生成公钥参数pp及主密钥msk,公钥参数pp可以对外公开,主密钥msk由私钥生成中心保管。u的作用是规定了这个范围内的用户拥有撤销某人的权利的身份,其中,含义是输入一定位数的由0或者1组成的值,uch的输出是v。选择随机数g、h及随机指数α、b的过程为选择合适的椭圆曲线:y2=x3+a×x+b,其中a和b是系数,随机选择自变量x的一个值x1,计算对应因变量y的值y1;若点(x1,y1)在想要映射的群中,则成功生成了随机元素,若点(x1,y1)不在群中,则继续选择x的值,直到找到出现在群中的点。下文中的选择随机数或随机指数的原理相同。杂凑函数uch,即哈希函数,任意一种哈希函数即可。

在该实施例中,随机指数t∈zp,用户身份属性为i,用户私钥通过私钥生成中心选择随机指数t,获取用户身份属性i,根据随机指数t、用户身份属性i及主密钥msk,生成用户私钥ski,用户私钥ski通过公式完成多项式次乘法和求幂运算后得到。

在该实施例中,n为撤销用户数,ii∈u,i∈[n],n=|sori|,动态验证身份iv=uchash(chk,iori,1||…||iori,n,r'),s∈zp,sv∈zp,离线数据的会话密钥key1=e(g,g)αs,离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')。随机选择第一撤销集合sori={iori,1,…,iori,n},第一撤销集合即为要撤销的人的集合,获取杂凑函数对(chk,td),其中chk与td为两个参数,并选择随机数r',计算动态验证身份iv,选择随机数s及随机指数si、sv,进而计算密文c0=gs通过公式key1=e(g,g)αs计算离线数据的会话密钥key1,以及通过公式ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')计算离线数据的中介密文ict,其中uchash为变色龙哈希函数。

在该实施例中,i∈[|s|],密文r=ucoll(td,iori,1||...||iori,|s|,r',x),x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|],在线数据的会话密钥key2=e(g,g)αs,在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)。获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si,通过公式r=ucoll(td,iori,1||...iori,|s|,r',x),计算密文r,根据公式key2=e(g,g)αs计算在线数据的会话密钥key2,以及根据公式ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)计算在线数据的中介密文ct,其中,i∈[|s|],ucoll为碰撞哈希函数,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。

本发明第二方面的实施例,提出了一种细粒度移动访问的解密方法,图3示出了本发明的一个实施例的细粒度移动访问的解密方法的流程示意图。其中,该方法包括:

步骤302,验证用户身份属性,生成会话密钥key;

步骤304,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密。

本发明提供的细粒度移动访问的解密方法,验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证解密安全的同时减少了解密过程的计算时间,提高了解密的效率。

在上述实施例中,优选地,公钥参数g、h为随机数,α、b为随机指数,e为函数映射,uch为杂凑函数、r为辅助参数域;用户私钥i为用户身份属性,t为随机指数;所述离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r'),key1=e(g,g)αs,c0=gssori={iori,1,…,iori,n}为第一撤销集合,iv=uchash(chk,iori,1||…||iori,n,r')为动态验证身份,s∈zp,sv∈zp,(chk,td)为杂凑函数对,r'为随机数,v为验证域,n为撤销用户数,ii∈u,i∈[n],n=|sori|;在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r),s={i1,…,i|s|}为第二撤销集合,密文r=ucoll(td,iori,1||...||iori,|s|,r',x),imall,i=(ii-iori,i)·si,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。

图4示出了本发明的另一个实施例的细粒度移动访问的解密方法的流程示意图。其中,该方法包括:

步骤402,进行动态验证身份iv的验证;令并选择随机数τi;

步骤404,检验第一等式及第二等式是否全部成立;

步骤406,当第一等式及第二等式不全部成立时,会话密钥为空;

步骤408,当第一等式及第二等式全部成立时,输出会话密钥key。

在该实施例中,第一等式为第二等式为动态验证身份iv=uchash(chk,x,r),i∈[|s|],x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2{imall,i}i∈[|s|],τi∈[0,2τ],会话密钥进行动态验证身份iv的验证,令并选择随机数τi,检验第一等式及第二等式是否全部成立,当第一等式及第二等式不全部成立时,会话密钥为空,即会话密钥不存在,不能进行解密;当第一等式及第二等式全部成立时,输出会话密钥key,进而根据会话密钥key、公钥参数pp、用户私钥ski、进行解密,提高解密安全性,并且缩短解密时间。

本发明第三方面的实施例,提出一种细粒度移动访问的加密系统,图5示出了本发明的一个实施例的细粒度移动访问的加密系统500的示意框图。其中,该系统500包括:

初始化模块502,用于根据系统安全参数λ,生成公钥参数pp及主密钥msk;

私钥生成单元504,用于获取用户身份属性,根据用户身份属性及主密钥msk生成用户私钥ski;

离线数据加密单元506,用于对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict;

在线数据加密单元508,用于对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct。

本发明提供的细粒度移动访问的加密系统500,首先通过初始化模块502进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后私钥生成单元504获取用户身份属性生成用户私钥ski,之后离线数据加密单元506及在线数据加密单元508分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct,在保证加密安全的同时减少了加密过程的计算时间,提高了加密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

根据本发明的上述细粒度移动访问的加密系统500,还可以具有以下技术特征:

在本发明的一个实施例中,优选地,初始化模块502,具体用于:通过私钥生成中心输入系统安全参数λ,获取素数p及双线性群;确定撤销身份域u及验证域v;通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b;生成公钥参数pp及所述主密钥msk;其中,撤销身份域验证域α、b∈zp,公钥参数主密钥msk=(α,b)。

在该实施例中,初始化模块502通过私钥生成中心输入系统安全参数λ,获取素数p及双线性群,确定撤销身份域u及验证域v,通过私钥生成中心选择杂凑函数uch、辅助参数域r,在双线性群中选择随机数g、h及随机指数α、b,生成公钥参数pp及主密钥msk,公钥参数pp可以对外公开,主密钥msk由私钥生成中心保管。u的作用是规定了这个范围内的用户拥有撤销某人的权利的身份,其中,含义是输入一定位数的由0或者1组成的值,uch的输出是v。选择随机数g、h及随机指数α、b的过程为选择合适的椭圆曲线:y2=x3+a×x+b,其中a和b是系数,随机选择自变量x的一个值x1,计算对应因变量y的值y1;若点(x1,y1)在想要映射的群中,则成功生成了随机元素,若点(x1,y1)不在群中,则继续选择x的值,直到找到出现在群中的点。下文中的选择随机数或随机指数的原理相同。杂凑函数uch,即哈希函数,任意一种哈希函数即可。

在本发明的一个实施例中,优选地,初始化模块502,具体用于:通过私钥生成中心输入系统安全参数λ,获取素数p;根据λ选择椭圆曲线,将椭圆曲线上的点构成群g及群gt;选择函数映射e,将群g中的元素映射到群gt中,得到双线性群。

在该实施例中,初始化模块502通过私钥生成中心获取素数p,素数p是一个随机的大素数。私钥生成中心根据输入的安全参数λ的大小,根据所选椭圆曲线上的点构成群g及群gt,选择一种函数映射e,将群g中的元素映射到群gt中去,安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。

在本发明的一个实施例中,优选地,私钥生成单元504,具体用于:通过私钥生成中心选择随机指数t;获取用户身份属性;根据随机指数t、用户身份属性及主密钥msk,生成用户私钥ski;其中,随机指数t∈zp,用户身份属性为i,用户私钥

在该实施例中,私钥生成单元504通过私钥生成中心选择随机指数t,获取用户身份属性i,根据随机指数t、用户身份属性i及主密钥msk,生成用户私钥ski,用户私钥ski通过公式完成多项式次乘法和求幂运算后得到。

在本发明的一个实施例中,优选地,离线数据加密单元506,具体用于:随机选择第一撤销集合sori={iori,1,…,iori,n};获取杂凑函数对(chk,td),并选择随机数r';计算动态验证身份iv;选择随机数s及随机指数si、sv;计算密文c0=gs得到离线数据的会话密钥key1和离线数据的中介密文ict;其中,n为撤销用户数,ii∈u,i∈[n],n=|sori|,动态验证身份iv=uchash(chk,iori,1||…||iori,n,r'),s∈zp,sv∈zp,离线数据的会话密钥key1=e(g,g)αs,离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')。

在该实施例中,离线数据加密单元506随机选择第一撤销集合sori={iori,1,…,iori,n},第一撤销集合即为要撤销的人的集合,获取杂凑函数对(chk,td),其中chk与td为两个参数,并选择随机数r',计算动态验证身份iv,选择随机数s及随机指数si、sv,进而计算密文c0=gs通过公式key1=e(g,g)αs计算离线数据的会话密钥key1,以及通过公式ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r')计算离线数据的中介密文ict,其中uchash为变色龙哈希函数。

在本发明的一个实施例中,优选地,在线数据加密单元508,具体用于:获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si;计算密文r,得到在线数据的会话密钥key2和在线数据的中介密文ct;其中i∈[|s|],密文r=ucoll(td,iori,1||...||iori,|s|,r',x),x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|],在线数据的会话密钥key2=e(g,g)αs,在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)。

在该实施例中,在线数据加密单元508获得第二撤销集合s={i1,…,i|s|},计算imall,i=(ii-iori,i)·si,通过公式r=ucoll(td,iori,1||...||iori,|s|,r',x),计算密文r,根据公式key2=e(g,g)αs计算在线数据的会话密钥key2,以及根据公式ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r)计算在线数据的中介密文其中,i∈[|s|],ucoll为碰撞哈希函数,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。

本发明第四方面的实施例,提出了一种细粒度移动访问的解密系统,包括:解密单元,用于验证用户身份属性,生成会话密钥key;以及通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密。

本发明提供的细粒度移动访问的解密系统,解密单元验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证解密安全的同时减少了解密过程的计算时间,提高了解密的效率。

在本发明的一个实施例中,优选地,公钥参数g、h为随机数,α、b为随机指数,e为函数映射,uch为杂凑函数、r为辅助参数域;用户私钥i为用户身份属性,t为随机指数;所述离线数据的中介密文ict=(ket1,c0,(ci,1,ci,2)i∈[n],cv,1,cv,2,sori,iv,(si)i∈[n],sv,s,chk,td,r'),key1=e(g,g)αs,c0=gssori={iori,1,…,iori,n}为第一撤销集合,iv=uchash(chk,iori,1||…||iori,n,r')为动态验证身份,s∈zp,sv∈zp,(chk,td)为杂凑函数对,r'为随机数,v为验证域,n为撤销用户数,ii∈u,i∈[n],n=|sori|;在线数据的中介密文ct=(c0,(ci,1,ci,2)i∈[|s|],cv,1,cv,2,{imall,i}i∈[|s|],chk,r),s={i1,…,i|s|}为第二撤销集合,密文r=ucoll(td,iori,1||...||iori,|s|,r',x),imall,i=(ii-iori,i)·si,x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2||{imall,i}i∈[|s|]。

在本发明的一个实施例中,优选地,解密单元,具体用于:进行动态验证身份iv的验证;令并选择随机数τi;检验第一等式及第二等式是否全部成立;当第一等式及第二等式不全部成立时,会话密钥为空;当第一等式及第二等式全部成立时,输出会话密钥key;其中,第一等式为第二等式为动态验证身份iv=uchash(chk,x,r),i∈[|s|],x=c0||{ci,1||ci,2}i∈[|s|]||cv,1||cv,2{imall,i}i∈[|s|],τi∈[0,2τ],会话密钥

在该实施例中,解密单元进行动态验证身份iv的验证,令并选择随机数τi,检验第一等式及第二等式是否全部成立,当第一等式及第二等式不全部成立时,会话密钥为空,即会话密钥不存在,不能进行解密;当第一等式及第二等式全部成立时,输出会话密钥key,进而根据会话密钥key、公钥参数pp、用户私钥ski、进行解密,提高解密安全性,并且缩短解密时间。

本发明第五方面的实施例,提出一种计算机装置,图6示出了本发明的一个实施例的计算机装置600的示意框图。其中,该计算机装置600包括:

存储器602、处理器604及存储在存储器602上并可在处理器上运行的计算机程序,处理器604执行计算机程序时实现如上述任一项的细粒度移动访问的加密方法或如上述任一项的细粒度移动访问的解密方法的步骤。

本发明提供的计算机装置600,处理器604执行计算机程序时实现首先进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后获取用户身份属性生成用户私钥ski,之后分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct。或进行解密,即验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证加密安全的同时减少了加密及解密过程的计算时间,提高了加密及解密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

本发明第六方面的实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项的细粒度移动访问的加密方法或如上述任一项的细粒度移动访问的解密方法的步骤。

本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现首先进行初始化,根据输入的系统安全参数λ,生成公钥参数pp及主密钥msk,然后获取用户身份属性生成用户私钥ski,之后分别对离线数据及在线数据进行加密,得到离线数据的会话密钥key1、离线数据的中介密文ict以及在线数据的会话密钥key2、在线数据的中介密文ct。或进行解密,即验证用户身份属性生成会话密钥key,通过公钥参数pp、用户私钥ski、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证加密安全的同时减少了加密及解密过程的计算时间,提高了加密及解密的效率。需要说明的是,系统安全参数λ是对安全性的要求来定的,每个时代或者企业的要求可能不一样,比如现在可能是256位,但是等256不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。

在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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