CN109257165B - 细粒度移动访问的加密、解密方法及加密、解密*** - Google Patents
细粒度移动访问的加密、解密方法及加密、解密*** Download PDFInfo
- Publication number
- CN109257165B CN109257165B CN201710565512.6A CN201710565512A CN109257165B CN 109257165 B CN109257165 B CN 109257165B CN 201710565512 A CN201710565512 A CN 201710565512A CN 109257165 B CN109257165 B CN 109257165B
- Authority
- CN
- China
- Prior art keywords
- ori
- session
- key
- ciphertext
- private key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0471—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出了一种细粒度移动访问的加密方法、解密方法、加密***、解密***、计算机装置及计算机可读存储介质,细粒度移动访问的加密方法包括:根据***安全参数λ,生成公钥参数pp及主密钥msk;获取用户身份属性,根据用户身份属性及主密钥msk生成用户私钥skI;对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict;对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct。解密方法包括:验证用户身份属性,生成会话密钥key;通过公钥参数pp、用户私钥skI、会话密钥key对离线数据的中介密文ict及在线数据的中介密文ct进行解密,在保证加密安全的同时减少了加密及解密过程的计算时间,提高了加密及解密的效率。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种细粒度移动访问的加密方法、解密方法、加密***、解密***、计算机装置及计算机可读存储介质。
背景技术
移动云计算成为多数云辅助网络的基础设施,如移动支付。然而,移动计算的安全风险严重影响了其广泛应用,因数据在云端开源,因此要求数据存储务必安全,只允许已授权用户合法访问。传统加密技术只支持有限的访问控制机制在移动云计算中难以适用。公开索引谓词加密是新兴的非对称加密范式允许对已加密数据的细粒度访问控制,在公开索引谓词加密***中,访问控制策略由为此描述,密文与一个密文属性相关联,私钥被分配给密钥属性,只有嵌在密文中的密文属性与私钥中的密钥属性根据预定义为此相匹配的情况下才可解密。然而将公开索引谓词加密在移动云计算中广泛使用仍然存在许多困难,大多公开索引谓词加密方案需要非常耗费时间的代数运算,解密时间随着密文属性数量增加而增加,这一困难极大限制了其应用。当解密在移动设备上运行时,此困难将增加运算能力有限的用户的延迟,电量消耗增快。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个方面在于提出了一种细粒度移动访问的加密方法。
本发明的另一个方面在于提出了一种细粒度移动访问的解密方法。
本发明的再一个方面在于提出了一种细粒度移动访问的加密***。
本发明的又一个方面在于提出了一种细粒度移动访问的解密***。
本发明的又一个方面在于提出了一种计算机装置。
本发明的又一个方面在于提出了一种计算机可读存储介质。
有鉴于此,根据本发明的一个方面,提出了一种细粒度移动访问的加密方法,包括:根据***安全参数λ,生成公钥参数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,用户私钥
在上述任一技术方案中,优选地,对离线数据加密,得到离线数据的会话密钥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=gs,Sori={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=gs,Sori={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=gs,Sori={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示出了本发明的另一个实施例的细粒度移动访问的解密方法的流程示意图。其中,该方法包括:
步骤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=gs,Sori={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不安全的时候,可能就会提高此参数位数,这是个变化的值,不是个固定值。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种细粒度移动访问的加密方法,其特征在于,包括:
根据***安全参数λ,生成公钥参数pp及主密钥msk;
获取用户身份属性,根据所述用户身份属性及所述主密钥msk生成用户私钥skI;
对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict;
对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct;
其特征在于,所述根据所述***安全参数λ,生成所述公钥参数pp及所述主密钥msk的步骤,具体包括:
通过私钥生成中心输入所述***安全参数λ,获取素数p及双线性群;
确定撤销身份域u及验证域v;
通过所述私钥生成中心选择杂凑函数UCH、辅助参数域R,在所述双线性群中选择随机数g、h及随机指数α、b;
生成所述公钥参数pp及所述主密钥msk;
2.根据权利要求1所述的细粒度移动访问的加密方法,其特征在于,所述通过所述私钥生成中心输入所述***安全参数λ,获取所述素数p及所述双线性群的步骤,具体包括:
通过所述私钥生成中心输入所述***安全参数λ,获取所述素数p;
根据λ选择椭圆曲线,将椭圆曲线上的点构成群G及群GT;
选择函数映射e,将所述群G中的元素映射到所述群GT中,得到所述双线性群。
4.根据权利要求3所述的细粒度移动访问的加密方法,其特征在于,所述对所述离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict的步骤,具体包括:
随机选择第一撤销集合Sori={Iori,1,…,Iori,n},其中第一撤销集合即为要撤销的人的集合;
获取杂凑函数对(chk,td),并选择随机数r',其中chk和td为两个参数;
计算动态验证身份Iv;
选择随机数s及随机指数si、sv;
得到所述离线数据的会话密钥key1和所述离线数据的中介密文ict;
其中,n为撤销用户数,Ii∈u,i∈[n],n=|Sori|,UCHash为变色龙哈希函数,所述动态验证身份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')。
5.根据权利要求4所述的细粒度移动访问的加密方法,其特征在于,所述对在线数据加密,得到所述在线数据的会话密钥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),UColl为碰撞哈希函数,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)。
7.根据权利要求6所述的细粒度移动访问的解密方法,其特征在于,
ict=(key1,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=gs,Sori={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|,UCHash为变色龙哈希函数;
所述在线数据的中介密文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|],UColl为碰撞哈希函数。
8.根据权利要求7所述的细粒度移动访问的解密方法,其特征在于,所述验证所述用户身份属性,生成会话密钥key的步骤,具体包括:
进行所述动态验证身份Iv的验证;
检验第一等式及第二等式是否全部成立;
当所述第一等式及所述第二等式不全部成立时,所述会话密钥为空;
当所述第一等式及所述第二等式全部成立时,输出所述会话密钥key;
9.一种细粒度移动访问的加密***,其特征在于,包括:
初始化模块,用于根据***安全参数λ,生成公钥参数pp及主密钥msk;
私钥生成单元,用于获取用户身份属性,根据所述用户身份属性及所述主密钥msk生成用户私钥skI;
离线数据加密单元,用于对离线数据加密,得到离线数据的会话密钥key1和离线数据的中介密文ict;
在线数据加密单元,用于对在线数据加密,得到在线数据的会话密钥key2和在线数据的中介密文ct;
所述初始化模块,具体用于:
通过私钥生成中心输入所述***安全参数λ,获取素数p及双线性群;
确定撤销身份域u及验证域v;
通过所述私钥生成中心选择杂凑函数UCH、辅助参数域R,在所述双线性群中选择随机数g、h及随机指数α、b;
生成所述公钥参数pp及所述主密钥msk;
10.根据权利要求9所述的细粒度移动访问的加密***,其特征在于,所述初始化模块,具体用于:
通过所述私钥生成中心输入所述***安全参数λ,获取所述素数p;
根据λ选择椭圆曲线,将椭圆曲线上的点构成群G及群GT;
选择函数映射e,将所述群G中的元素映射到所述群GT中,得到所述双线性群。
12.根据权利要求11所述的细粒度移动访问的加密***,其特征在于,所述离线数据加密单元,具体用于:
随机选择第一撤销集合Sori={Iori,1,…,Iori,n};
获取杂凑函数对(chk,td),并通过所述私钥生成中心选择随机数r';
计算动态验证身份Iv;
选择随机数s及随机指数si、sv;
得到所述离线数据的会话密钥key1和所述离线数据的中介密文ict;
其中,n为撤销用户数,Ii∈u,i∈[n],n=|Sori|,UCHash为变色龙哈希函数,所述动态验证身份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')。
13.根据权利要求12所述的细粒度移动访问的加密***,其特征在于,所述在线数据加密单元,具体用于:
获得第二撤销集合S={I1,…,I|S|},计算Imall,i=(Ii-Iori,i)·si;
计算密文r,得到所述在线数据的会话密钥key2和所述在线数据的中介密文ct;
其中,i∈[|S|],所述密文r=UColl(td,Iori,1||...||Iori,|S|,r',X),UColl为碰撞哈希函数,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)。
15.根据权利要求14所述的细粒度移动访问的解密***,其特征在于,
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=gs,Sori={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|,UCHash为变色龙哈希函数;
所述在线数据的中介密文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|],UColl为碰撞哈希函数。
17.一种计算机装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的细粒度移动访问的加密方法的步骤或实现如权利要求6至8中任一项所述的细粒度移动访问的解密方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的细粒度移动访问的加密方法的步骤或实现如权利要求6至8中任一项所述的细粒度移动访问的解密方法的步骤。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710565512.6A CN109257165B (zh) | 2017-07-12 | 2017-07-12 | 细粒度移动访问的加密、解密方法及加密、解密*** |
CN202010647264.1A CN111600711A (zh) | 2017-07-06 | 2018-07-02 | 一种细粒度移动访问的加密、解密***及加密、解密方法 |
AU2018298108A AU2018298108A1 (en) | 2017-07-06 | 2018-07-02 | Systems and methods for data transmission |
PCT/CN2018/093962 WO2019007298A1 (en) | 2017-07-06 | 2018-07-02 | SYSTEMS AND METHODS FOR DATA TRANSMISSION |
EP18827643.0A EP3628114A4 (en) | 2017-07-06 | 2018-07-02 | DATA TRANSMISSION SYSTEMS AND METHODS |
CN201880001876.4A CN109691010B (zh) | 2017-07-06 | 2018-07-02 | 用于数据传输的***和方法 |
US16/726,871 US11444752B2 (en) | 2017-07-06 | 2019-12-25 | Systems and methods for data encryption and decryption in data transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710565512.6A CN109257165B (zh) | 2017-07-12 | 2017-07-12 | 细粒度移动访问的加密、解密方法及加密、解密*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109257165A CN109257165A (zh) | 2019-01-22 |
CN109257165B true CN109257165B (zh) | 2020-08-21 |
Family
ID=65050826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710565512.6A Active CN109257165B (zh) | 2017-07-06 | 2017-07-12 | 细粒度移动访问的加密、解密方法及加密、解密*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109257165B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367169B (zh) * | 2020-11-11 | 2022-11-29 | 平安科技(深圳)有限公司 | 数据加解密方法、装置、设备及存储介质 |
CN113794556B (zh) * | 2021-09-10 | 2023-05-23 | 福建师范大学 | 面向可编校区块链协议的pch可撤销方法及*** |
CN115396150A (zh) * | 2022-07-25 | 2022-11-25 | 支付宝(杭州)信息技术有限公司 | 数据预处理方法、数据加密方法、装置和设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067166B (zh) * | 2011-10-19 | 2017-09-29 | 海尔集团公司 | 一种智能家庭***的分级混合加密方法及装置 |
CN103986574B (zh) * | 2014-05-16 | 2017-10-13 | 北京航空航天大学 | 一种基于身份的分层广播加密方法 |
CN104135473B (zh) * | 2014-07-16 | 2017-06-23 | 北京航空航天大学 | 一种由密文策略的属性基加密实现身份基广播加密的方法 |
CN104168108B (zh) * | 2014-07-28 | 2017-04-05 | 北京航空航天大学 | 一种泄露密钥可追踪的属性基混合加密方法 |
CN105635135B (zh) * | 2015-12-28 | 2019-01-25 | 北京科技大学 | 一种基于属性集及关系谓词的加密***及访问控制方法 |
-
2017
- 2017-07-12 CN CN201710565512.6A patent/CN109257165B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109257165A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108390876B (zh) | 支持撤销外包可验证多授权中心访问控制方法、云服务器 | |
EP3850786B1 (en) | System and method for secure multi-party computation based blockchain transactions | |
CN108292402B (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
US9374373B1 (en) | Encryption techniques for improved sharing and distribution of encrypted content | |
CN112073479A (zh) | 一种基于区块链的去中心数据访问控制方法及*** | |
JP5532048B2 (ja) | 匿名認証署名システム、ユーザ装置、検証装置、署名方法、検証方法およびそれらのプログラム | |
CN114730420A (zh) | 用于生成签名的***和方法 | |
CN110933033B (zh) | 智慧城市环境下多物联网域的跨域访问控制方法 | |
CN109691010B (zh) | 用于数据传输的***和方法 | |
CN104012036B (zh) | 组合式数字证书 | |
CN113704736A (zh) | 基于ibc体系的电力物联网设备轻量级接入认证方法及*** | |
CN109257165B (zh) | 细粒度移动访问的加密、解密方法及加密、解密*** | |
US20140052985A1 (en) | Methods for providing requested data from a storage device to a data consumer and storage devices | |
Li et al. | ABKS-SKGA: Attribute-based keyword search secure against keyword guessing attack | |
US11722312B2 (en) | Privacy-preserving signature | |
Sandhia et al. | Secure sharing of data in cloud using MA-CPABE with elliptic curve cryptography | |
CN108449174B (zh) | 云计算应用中智能终端的可撤销加密方法及装置 | |
CN116707854A (zh) | 一种健壮的基于属性加密的云存储访问控制方法 | |
CN114157424B (zh) | 无密钥托管且支持用户撤销的属性基加密***及方法 | |
CN113792282B (zh) | 身份数据验证方法、装置、计算机设备和存储介质 | |
CN115632770A (zh) | 基于不经意传输的医疗物联网隐私保护数据共享方法 | |
Chen et al. | Public-key quantum signature for classical messages without third-party verification | |
CN115001673A (zh) | 基于统一多域标识的密钥处理方法、装置及*** | |
Shang et al. | Efficient and privacy-preserving enforcement of attribute-based access control | |
Abdalla et al. | Anonymous Pairing-Free and Certificateless Key Exchange Protocol for DRM System. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |