CN104144056B - 一种自主授权的cp‑abe系统和方法 - Google Patents
一种自主授权的cp‑abe系统和方法 Download PDFInfo
- Publication number
- CN104144056B CN104144056B CN201410328154.3A CN201410328154A CN104144056B CN 104144056 B CN104144056 B CN 104144056B CN 201410328154 A CN201410328154 A CN 201410328154A CN 104144056 B CN104144056 B CN 104144056B
- Authority
- CN
- China
- Prior art keywords
- participant
- key
- decruption key
- ciphertext
- decruption
- 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.)
- Expired - Fee Related
Links
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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种自主授权的CP‑ABE系统和方法。本方法为:1)任一参与者i用使用CP‑ABE方法加密消息M,加密过程中使用自己的公钥,得到密文CT并发布;每一参与者端都包含建立模块、加密模块、解密密钥生成模块和解密模块;2)当一与参与者i具有朋友关系的参与者j向参与者i申请获取解密密钥时,参与者i对参与者j进行授权,并根据该参与者j相对于参与者i的属性,为其生成解密密钥并发送给该参与者j;3)该参与者j用收到的该解密密钥来解密密文CT,得到该消息M。在本发明中,每个参与者自己管理控制自己的朋友关系和解密密钥生成和发放,能够支持参与者之间形成复杂灵活的关系的应用,并避免了参与者隐私的泄露。
Description
技术领域
本发明涉及一种自主授权的CP-ABE系统和方法,属于信息安全技术领域。
背景技术
现有的基于属性的加密(Attribute Based Encryption,ABE)系统有四种基本角色:
(1)内容拥有者
内容可包含任何数字信息。内容拥有者加密和发布自己的内容。加密过程分为两阶段:第一阶段,内容拥有者使用对称加密算法加密自己的数字内容。第二阶段,内容拥有者用ABE算法加密包含该加密内容对应的对称密钥和属性集相关的访问控制结构信息的消息。
(2)内容申请者
内容申请者可申请内容,获取该内容,用自己的解密密钥来解密该消息。
将内容拥有者和内容申请者统称为用户。ABE系统,用户一般同时承担内容拥有者和内容申请者两种角色。
(3)授权者
授权者可对内容申请者进行授权,根据内容申请者的属性生成内容申请者的解密密钥,把解密密钥发送给内容申请者。
(4)第三方
第三方为可选的角色。第三方可提供辅助功能。如第三方可执行解密过程中的部分计算,并产生中间结果,来减轻内容申请者的解密计算开销。此中间结果不是最终解密的明文内容。
所有ABE算法分为四个基本算法组成:
1.建立
在建立算法中,产生公共系统参数,授权者的公共和秘密参数。
2.消息加密
在消息加密算法中,内容拥有者使用ABE算法加密包含内容元数据和加密内容对应的对称密钥信息的消息。
3.解密密钥生成
在解密密钥生成算法中,授权者根据内容申请者的属性生成内容申请者的解密密钥,把解密密钥传送给内容申请者。
4.消息解密
在消息解密算法中,内容申请者用自己的解密密钥来解密该内容。
相应的,一个ABE系统中,包含建立、消息加密、解密密钥生成和消息解密四个基本的ABE功能模块。
从策略角度,ABE算法分为密钥策略的ABE(Key Policy Attribute BasedEncryption,KP-ABE)算法和密文策略的ABE(Ciphertext Policy Attribute BasedEncryption,CP-ABE)算法。对于KP-ABE算法,密文与一组属性相关联,并且用户的解密密钥与访问控制结构相关联。只有与密文关联的属性满足相应访问控制结构,用户才能使用解密密钥对密文解密。对于CP-ABE算法,密文基于访问控制结构加密,而相应的解密密钥基于一组属性创建。只有用户的解密密钥相关的一组属性满足给定的密文的访问控制结构,用户才能使用解密密钥对密文解密。
根据授权模式,现有的CP-ABE的算法及相应系统分为两类:
(1)集中式授权的CP-ABE算法
在集中式授权的CP-ABE系统中,只有一个集中的授权者。
(2)分布式授权的CP-ABE算法
在分布式授权的CP-ABE系统中,存在若干个授权者,每个授权者负责某一项或多项属性的授权。
现有的CP-ABE系统,不管是集中式授权的CP-ABE系统还是分布式授权的CP-ABE系统,内容拥有者与授权者不是同一对象。内容参与者与授权者也不是同一对象。相应的,现有的CP-ABE系统结构中,内容拥有者端没有解密密钥生成模块;只有授权者端包含解密密钥生成模块,授权者端根据内容申请者的属性生成内容申请者的解密密钥。集中式授权或分布式授权的CP-ABE系统具有以下缺点:
1.只有单个授权者的集中式授权CP-ABE系统,或者具有若干个授权者的分布式授权CP-ABE系统,只适用于用户具有比较固定属性的应用。在用户具有比较固定属性的应用中,如单个企业或单位的内部应用,用户在单位或企业内部的属性相对固定,单个授权者(或若干授权者)能识别用户的属性,并产生和发放用户的解密密钥。
而对用户之间形成复杂灵活的关系的应用,如社交网络应用中,一个用户对其它多个用户可能具有不同的属性,且属性的动态变化性强。对这类应用,集中式授权或分布式授权的CP-ABE系统不适用,因为这类应用中,用户之间的复杂灵活的关系是用户之间自发形成的,单个授权者(或若干授权者)不适于建立用户之间这种复杂灵活的关系及不适于对用户进行授权。
2.集中式授权或分布式授权的CP-ABE系统带来很大的隐私泄露的风险。具体表现在:
(1)授权者可将授权属性对应的解密密钥提供给自己或非法用户,解密内容拥有者的内容并利用,达到自己的目的,损害内容拥有者的权益。
(2)内容申请者的属性信息泄露给授权者。授权者可将这些信息提供给自己或非法用户并利用,达到自己的目的,损害内容申请者的权益。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种自主授权的CP-ABE系统和方法。
本发明提出一种自主授权的CP-ABE(Ciphertext Policy Attribute BasedEncryption with Discretionary Authorization,DA-CP-ABE)系统和方法。该系统及方法能够支持用户之间形成复杂灵活的关系的应用,并避免集中式或分布式授权CP-ABE系统中用户信息泄露给授权者导致的隐私风险。
本发明的技术方案为:
一种自主授权的CP-ABE方法,其步骤为:
1)任意一个参与者i使用CP-ABE方法加密消息M,加密过程中使用自己的公钥,得到密文CT并发布;其中,每一参与者端都包含建立模块、加密模块、解密密钥生成模块和解密模块;
2)当一与参与者i具有朋友关系的参与者j,向该参与者i申请获取解密密钥时,该参与者i对该参与者j进行授权,并根据该参与者j相对于参与者i的属性,为其生成解密密钥并发送给该参与者j;
3)该参与者j用收到的该解密密钥和自己的私钥来解密密文CT,得到该消息M。
进一步的,所述步骤2)中,该参与者i根据该参与者j相对于参与者i的属性为参与者j生成解密密钥,在解密密钥生成过程中,将该参与者j的公钥信息嵌入到该解密密钥中,然后该参与者i将该解密密钥发送给该参与者j。
进一步的,首先建立一基于椭圆曲线的乘法循环群其阶为p,生成元为g;每一参与者从椭圆曲线上随机选取的一个随机密钥对作为自己的公私钥对;其中,每一个参与者i选择一个随机的作为自己的私钥,对应的公钥为
进一步的,生成解密密钥过程中,将参与者j的公钥信息嵌入到该解密密钥中,具体的方法为:如果消息加密算法采用基于线性秘密共享方案的访问控制结构,则生成的表达式中所有以g为底数的部分,αj必表现为g的指数的一个乘数,即以g为底数的部分为Z表示指数的其余部分;生成的计算过程为:以为底数,Z为指数进行运算,
进一步的,生成解密密钥过程中,将参与者j的公钥信息嵌入到该解密密钥中,具体的方法为:如果消息加密算法采用基于树的访问控制结构,则以以为底数,(α+r)·Y为指数运算,生成表达式结果为其中,αi为参与者i的秘密参数,Y表示指数的其余部分,r为针对该解密秘钥生成而产生的随机秘密数。或者以为底数,Z为指数进行运算,Z表示指数的其余部分,同时Z中包含r。
进一步的,如果该参与者j向多个具有朋友关系的参与者申请并获取解密密钥,则参与者j保存多个解密密钥,并保存每个解密密钥与朋友的对应关系。
进一步的,所述对该密文CT进行解密的方法为:该参与者j从保存的解密密钥中查找到生成密文CT的参与者i生成的的解密密钥,并先用该解密密钥对该密文CT进行解密,得到ElGamal形式的中间结果,然后利用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,,对该中间结果进行解密,得到该消息M。
进一步的,所述对该密文CT进行解密的方法为:该参与者j从保存的解密密钥中查找到生成密文CT的参与者i生成的的解密密钥,并将该解密密钥发送给第三方。第三方对密文CT进行解密计算,生成ElGamal形式的中间结果,并把该中间结果发送给该参与者j;该参与者j根据此中间结果,使用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,计算生成该消息M。
进一步的,所述步骤2)中,该密文CT为CP-ABE算法生成的密文;所述步骤4)中,该参与者j对该密文CT进行解密的方法为:如果密文CT的表达式中,除Me(g,g)XY外,第i项属性还存在有的表达式,且Ci中不包含M,则将所有Ci修改为C′i:其中如果Yi为空,则该内容申请者将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数即如果Yi不为空,则该内容申请者将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数,并将αj增加为所有底数Yi的指数的一个乘数,即然后,该内容申请者使用自己的对应密文CT的解密密钥和私钥αj对上述结果进行计算生成该消息M;其中,M为消息,e(g,g)为双线性映射函数,X,Y为表达式的其余部分,Xi,Yi分别为第i项属性的密文表达式的其余部分。
一种自主授权的CP-ABE系统,其特征在于包括多个参与者,每个参与者端都包含密钥生成模块、加密模块、解密密钥生成模块和解密模块;其中,每一参与者与其它多个参与者建立朋友关系,并保存每一具有朋友关系的参与者的一组属性;每个参与者i用自己的公钥使用CP-ABE方法加密消息M,得到密文CT并发布,以及对申请自己发布内容的具有朋友关系的参与者j进行授权、根据相对于自己的参与者j的属性生成解密密钥并发送给该参与者j进行解密,得到该消息M。
进一步的,该参与者i根据该参与者j的属性为其生成解密密钥,在生成解密密钥的过程中,并将该参与者j的公钥信息嵌入到解密密钥中,然后该参与者i将该解密密钥发送给该参与者j。
进一步的,首先建立一基于椭圆曲线的乘法循环群其阶为p,生成元为g;每一参与者i从椭圆曲线上随机选取的一个随机密钥对作为自己的公私钥对;其中,任意一个参与者i选择一个随机的作为自己的私钥,对应的公钥为该参与者i为参与者j生成解密密钥时,将该参与者j的公钥嵌入到该解密密钥中的方法为:
如果消息加密算法采用基于线性秘密共享方案的访问控制结构,则生成的表达式中所有以g为底数的部分,αj必表现为g的指数的一个乘数,即以g为底数的部分为Z表示指数的其余部分;生成的计算过程为:以为底数,Z为指数进行运算,如果消息加密算法采用基于树的访问控制结构,则以以为底数,(α+r)·Y为指数运算,生成表达式结果为其中,αi为参与者i的秘密参数,Y表示指数的其余部分,r为针对该解密秘钥生成而产生的随机秘密数。或者以为底数,Z为指数进行运算,Z表示指数的其余部分,同时Z中包含r。
进一步的,还包括一第三方,该参与者j从保存的解密密钥中查找到生成密文CT的参与者i生成的的解密密钥,并将该解密密钥发送给该第三方。第三方对密文CT进行解密计算,生成ElGamal形式的中间结果,并把该中间结果发送给该参与者j;该参与者j根据此中间结果,使用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,计算生成该消息M。
进一步的,所述密文CT为CP-ABE算法生成的密文;该参与者j对该密文CT进行解密时,如果密文CT的表达式中,除Me(g,g)XY外,第i项属性还存在有的表达式,且Ci中不包含M,则将所有Ci修改为C′i:其中如果Yi为空,则该内容申请者将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数即如果Yi不为空,则该内容申请者将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数,并将αj增加为所有底数Yi的指数的一个乘数,即然后,该内容申请者使用自己的对应密文CT的解密密钥和私钥αj对上述结果进行计算生成该消息M;其中,M为消息,e(g,g)为双线性映射函数,X,Y为表达式的其余部分,Xi,Yi分别为第i项属性的密文表达式的其余部分。
在DA-CP-ABE系统中定义两种角色:
1.参与者
参与者实现以下功能:
(1)参与者用自己的公钥等公共参数,使用CP-ABE方法加密和发布自己的内容。
(2)参与者可申请其它参与者的内容,获取该内容并向其它参与者申请获取解密密钥,并用获取的解密密钥来解密该内容。
(3)参与者可对申请自己内容的其它参与者进行授权,根据其它参与者的属性生成其它参与者的解密密钥,把解密密钥发送给其它参与者。
2.第三方
第三方为可选的角色。第三方可提供辅助功能。如第三方可执行解密过程中的部分计算,并产生中间结果,来减轻参与者的解密计算开销。此中间结果不是最终解密的明文内容。
参与者之间的关系统称为朋友关系。在DA-CP-ABE系统中,每个参与者管理和控制自己的朋友关系和内容授权,生成朋友的解密密钥并发送给朋友,因此每个参与者的朋友关系信息及生成的解密密钥没有泄露渠道,从而避免出现在集中式授权或分布式授权CP-ABE系统中用户信息泄露给授权者导致的隐私风险。
在现有集中式授权或分布式授权的CP-ABE系统中,用户的属性比较固定,因此一个用户一般只有一组属性,相应的,一个用户一般只有一个解密密钥。而本发明的系统中,任意一个参与者对每个其它的具有朋友关系的参与者的都有一组属性,因此一个参与者可以拥有多组不同的属性。本发明的DA-CP-ABE系统中,当一个与参与i具有朋友关系的参与者j向一参与者i申请解密密钥,参与者i根据参与者j相对于参与者i的的一组属性,生成对应解密密钥。任一与参与者j具有朋友关系的参与者可以给参与者j生成解密密钥。如果一个参与者与多个其它参与者形成朋友关系,则该参与者保存多个解密密钥,并保存每个解密密钥与朋友的对应关系。从而本发明的DA-CP-ABE系统适应并支持新型的用户之间形成复杂灵活的关系的应用,比如社交网络应用等。
相应的,与现有CP-ABE系统结构不同的是,在DA-CP-ABE系统结构中,每个参与者端都包含解密密钥生成模块,每个参与者对申请自己内容的具有朋友关系的其它参与者进行授权,生成其它参与者的解密密钥。附图为本发明的DA-CP-ABE系统结构,每个参与者端都包含建立模块、加密模块、解密密钥生成模块和解密模块四个基本ABE模块。每个参与者可与任意一个或多个其他参与者形成朋友关系。每个参与者对自己的朋友授权,生成朋友的解密密钥并发送给朋友。DA-CP-ABE系统的授权过程是一种由参与者管理控制的自主授权机制。
本发明提出一种方法来支持DA-CP-ABE系统。在DA-CP-ABE系统,使用该方法。
DA-CP-ABE方法在CP-ABE的不同基本算法中体现如下:
1.建立
输入:安全参数λ
输出:系统的全局公共参数,参与者的公私钥及其它公共/秘密参数
建立算法中,首先系统建立一个基于椭圆曲线的乘法循环群其阶为p,生成元为g。系统可建立一些其它全部公共/秘密参数。
每个参与者选择椭圆曲线上的一个随机密钥对作为自己的公私钥对。每个参与者i选择一个随机的作为自己的私钥,对应的公钥为参与者还可以选择其它的公共/秘密参数。
2.消息加密
输入:消息M,系统的公共参数,参与者的公共/秘密参数
输出:密文CT
在消息加密算法中,参与者选择一定的访问控制结构,使用系统全局公共参数以及自己的公共参数(包含自己的公钥),并使用基于配对的加密方式(paring basedencryption)来加密该消息。
3.生成解密密钥
输入:系统的公共参数,参与者i的公共/秘密参数,参与者j公钥及属性。
输出:解密密钥
在解密密钥生成算法中,当一个参与者i为另一个参与者j生成解密密钥的过程中,该参与者i根据该参与者j相对于参与者i的属性,为其生成解密密钥。在解密密钥生成过程中,参与者i将参与者j的公钥信息嵌入到参与者j的解密密钥中。
具体嵌入过程为:
设参与者j的公钥为
(1)如果消息加密算法采用基于线性秘密共享方案的访问控制结构,则生成的表达式中所有以g为底数的部分,αj必表现为g的指数的一个乘数,即以g为底数的部分为Z表示指数的其余部分;生成的计算过程为:以为底数,Z为指数进行运算,
该参与者的属性组成集合S′(属性个数为n),令Tx为小于x的自然数的集合,该内容申请者的解密密钥形式为:
这里,k,m,n,l∈N,k≥0,l≥0,m≥1,n≥1,
展开为:
X1,Y1,...,Xk,Yk,X11,Y11,...,X1n,Y1n,...,Xm1,Ym1,...,Xmn,Ymn,Z11,...,Z1n,...,Zl1,...,Zln都不包含g,表示解密密钥的表达式的其余部分,可为单个参数,或多个参数组合运算成的表示式。
(2)如果消息加密算法采用基于树的访问控制结构,则以以为底数,(α+r)·Y为指数运算,生成表达式结果为其中,αi为参与者i的秘密参数,Y表示指数的其余部分,r为针对该解密秘钥生成而产生的随机秘密数。或者以为底数,Z为指数进行运算,Z表示指数的其余部分,同时Z中包含r。
该解密密钥可以在网络上明文传输,攻击者截获该密钥也不能用于解密消息,因此是安全解密密钥。
如果参与者j向多个具有朋友关系的参与者申请并获取解密密钥,则参与者j保存多个解密密钥,并保存每个解密密钥与朋友的对应关系。
为了保存每个解密密钥与朋友的对应关系,参与者j建立每个作为朋友的参与者的数据结构,该数据结构包含以下信息项:
(1)朋友的名字;
(2)朋友的公钥;
(3)朋友给参与者j生成的解密密钥;
(4)其它信息。
参与者j将获取的解密密钥信息填入第(3)信息项并保存。
4.消息解密
输入:密文CT,系统的公共参数,授权者的公共参数,参与者j的解密密钥DKij,参与者j的私钥αj;
输出:消息M
在消息解密算法中,当参与者j解密参与者i生成的密文CT时,解密过程分为两个阶段。在第1阶段,不使用参与者j的私钥,使用解密密钥生成ElGamal形式的中间结果。在第2阶段,参与者j使用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,计算生成该消息M。
参与者j可选择是否将第1阶段的计算外包给第三方。
如果参与者j选择将第1阶段的解密计算外包给第三方,则第三方通过网络获取密文CT。参与者j从保存的解密密钥中查找到生成密文CT的参与者i生成的的解密密钥,并将该解密密钥发送给第三方。第三方用该解密密钥进行第1阶段的解密计算,生成ElGamal形式的中间结果,并把中间结果发送给参与者j。
如果参与者j不选择将第1阶段的计算外包给第三方,则参与者j通过网络获取密文CT,从保存的解密密钥中查找到并使用参与者i生成的的解密密钥,完成第1阶段的计算。
在第2阶段,根据此中间结果,参与者j使用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,计算生成最终的解密消息M。
该方法可对集中式授权的CP-ABE算法进行改造,改造后的算法能支持自主授权机制。该方法也可用于设计新的CP-ABE算法。
对集中式授权的CP-ABE算法的改造描述:
此CP-ABE算法中没有外包解密的描述。
改造描述:
对CP-ABE算法改造的描述如下(只描述修改或增加的部分,其余未修改部分保留不变):
1.建立
原CP-ABE算法中,全局参数中,是一个基于椭圆曲线的乘法循环群,其阶为p,生成元为g。
每个参与者i都选择一个秘密随机数作为自己私钥,对应的公钥为然后,每个参与者选择CP-ABE算法中授权者同样类型的其它随机公共/秘密参数,作为自己的公共/秘密参数。
2.消息加密
改造如下:
在消息加密算法中,参与者选择一定的访问控制结构,使用系统全局公共参数以及自己的公共参数(包含自己的公钥),并使用基于配对的加密方式(paring basedencryption)来加密该消息,加密计算过程与原CP-ABE算法φ一致。
3.解密密钥生成
改造如下:当一个参与者j向另一参与者i申请解密密钥,参与者i根据参与者j相对于i的属性,生成对应解密密钥。
CP-ABE算法φ中,对于参与者j(公钥为),生成的参与者j的解秘密钥如下:
(1)如果消息加密算法采用基于线性秘密共享方案的访问控制结构,CP-ABE算法φ生成的参与者j的解秘密钥形式如下:
这里,k,m,n,l∈N,k≥0,l≥0,m≥1,n≥1,
X1,Y1,...,Xk,Yk,X11,Y11,...,X1n,Y1n,...,Xm1,Ym1,...,Xmn,Ymn,Z11,...,Z1n,...,Zl1,...,Zln都不包含g,表示解秘密钥的表达式的其余部分。
改造后的算法生成参与者j的解秘密钥的方法为:对于原算法的解密密钥表达式中所有以g为底数的部分,用替代g到原算法中的解密密钥表达式进行计算,结果表现为将αj增加为g的指数的一个乘数,形式如下:
(2)如果消息加密算法采用基于树的访问控制结构,对于该解密密钥表达式中具有以下特点之一的表达式,对于该表达式中所有以g为底数的部分,用替代g到原解密密钥表达式中进行计算,结果表现为αj被增加为g的指数的一个乘数:
(Ⅰ)该表达式为其中,αi为参与者i的秘密参数,Y为表达式其余部分,r为针对该解密秘钥生成而产生的随机秘密数。
(Ⅱ)对于其它所有包含(Ⅰ)描述的随机数r的表达式。
4.消息解密
改造后的消息解密算法:
改造后的消息解密算法包含准备阶段,解密过程包含两个阶段。准备阶段:如果密文的表达式中,除Me(g,g)XY(M为消息,X,Y为表达式的其余部分,Y可能有空),对于每项属性还存在有的表达式(Xi,Yi为表达式的其余部分,Yi可能为空),则将所有Ci修改为C′i:
(1)如果Yi为空,则参与者j(私钥为αj)将αj增加为所有Ci中底数e(g,g)的指数的一个乘数,形式为:
(2)如果Yi不为空,参与者j(私钥为αj)将αj增加为所有Ci中底数e(g,g)的指数的一个乘数,并将αj增加为所有底数Yi的指数的一个乘数,形式为:
在消息解密算法中,当参与者j解密CT时,解密过程分为两个阶段。在第1阶段,不使用参与者j的私钥。在第2阶段,参与者j的私钥被用于产生最终解密的消息M。参与者j可选择是否将第1阶段的计算外包给第三方。如果参与者j选择将第1阶段的解密计算外包给第三方,则第三方通过网络获取密文CT。参与者j从保存的解密密钥中查找并将生成密文CT的参与者i生成的的解密密钥发送给第三方。第三方用参与者j的解密密钥进行第1阶段的解密计算,生成ElGamal形式的中间结果,并把中间结果发送给参与者j。如果参与者j不选择将第1阶段的计算外包给第三方,则参与者j通过网络获取密文CT,从保存的解密密钥中查找到并使用参与者i生成的解密密钥,完成第1阶段的计算。
除以上改造外,CP-ABE算法的其它过程不变。
与现有技术相比,本发明的积极效果为:
(1)在本发明中,参与者对于多个朋友可具有不同的属性,并申请获取多个不同的解密密钥,从而支持用户之间形成复杂灵活的关系的应用,如社交网络应用。
(2)在本发明中,每个参与者自己管理控制自己的朋友关系和解密密钥生成和发放,避免集中式或分布式授权CP-ABE系统中用户关系和解密密钥信息泄露给授权者导致的隐私风险。
附图说明
附图为DA-CP-ABE系统结构图。
具体实施方式
下面结合具体实施对本发明进行进一步详细描述。
改造例子:
1.对文献“John Bethencourt,Amit Sahai,and Brent Waters.Cipheretxt-Policy Attribute-Based Encryption.In IEEE Symposium on Security and Privacy,may2007,pp.321-334”算法的改造。
改造后的算法如下:
(1)建立:
输入:安全参数λ
输出:系统的公共参数,参与者的公私钥及其它公共/秘密参数。
算法描述:
建立系统全局公共参数:建立算法根据安全参数λ,产生(q,G,GT,e),这里q是一个λ位的素数阶,G和GT是阶为q的两个乘法循环群,g为上的一个生成元,e为上的一个双线性映射,下一步选择哈希函数H:{0,1}*→G。
每个参与者i选择一个在整数集上的一个随机的指数αi作为自己的私钥,相应的公钥为参与者i选择一个整数集上的随机的指数βi作为秘密参数。参与者的公共参数为:
(1)消息加密:
输入:消息M,访问控制结构数系统公共参数,参与者公共参数。
输出:密文。
算法描述:CT
参与者i用一个基于树的访问控制结构加密文件M。
算法首先对树中的每个节点(包括叶子节点)选择一个多项式参数qx。多项式选择从根节点开始,以一种自顶向下的顺序进行。对于每个树中的每个节点x,多项式的阶dx为该节点的阀值kx减1,即dx=kx-1。
从根节点R选择一个随机的设置qr(0)=s。然后,随机选择多项式qR上的dR个其它节点。对任意节点x,设置qx(0)=qparent(x)(index(x)),然后选择dx个随机节点来完全定义qx。令Y为树T上的叶子节点集合。
当参与者i加密消息M,参与者构造访问控制结构树使用自己的公共参数来加密消息:
(2)解密密钥生成:
输入:系统公用参数,参与者j的公钥,参与者j相对参与者i具有的属性集S中的一组属性,参与者i的公共/秘密参数
输出:参与者j对于参与者i的解密密钥DKij
算法描述:
密钥产生:参与者j相对参与者i具有属性集S中的一组属性,向参与者i申请解密密钥,参与者i生成参与者j的解密密钥过程如下:
当加密时采用基于树的访问控制结构时,对于原算法中的解密密钥表达式中具有以下特点之一的表达式,对于该表达式中所有以g为底数的部分,用替代g到原解密密钥表达式中进行计算,结果表现为αj被增加为g的指数的一个乘数:
(Ⅰ)该表达式为其中,αi为参与者i的秘密参数,Y为表达式其余部分,r为针对该解密秘钥生成而产生的随机秘密数。
(Ⅱ)对于其它所有包含(Ⅰ)描述的随机数r的表达式。
具体的,算法选择一个随机数然后计算解密密钥DKij为:
参与者j建立包含该解密密钥的数据结构,该数据结构包含以下信息项:
(1)参与者i的名字;
(2)参与者i的公钥;
(3)参与者i给参与者j生成的解密密钥DKij;
(4)其它信息。
参与者j将获取的解密密钥信息填入第(3)信息项并保存。
参与者j可以向多个具有朋友关系的其它参与者申请解密密钥,并保存对应的多个解密密钥。
(3)消息解密
输入:密文CT,参与者j的解密密钥DKij,系统公共参数,参与者i的公共参数。
输出:消息M。
算法描述:
此消息解密算法没有准备阶段,因此分为第1阶段和第2阶段。
第1阶段:
参与者j可选择是否将第1阶段的计算外包给第三方。如果参与者j选择将第1阶段的解密计算外包给第三方,则第三方通过网络获取密文CT。参与者j从保存的解密密钥中查找并将生成密文CT的参与者i生成的的解密密钥发送给第三方。第三方用参与者j的解密密钥进行第1阶段的解密计算,生成ElGamal形式的中间结果,并把中间结果发送给参与者j。如果参与者j不选择将第1阶段的计算外包给第三方,则参与者j通过网络获取密文CT,从保存的解密密钥中查找到并使用参与者i生成的解密密钥,完成第1阶段的计算。
具体的计算过程为:
首先定义递归的过程DecryptNode(CT,DKij,x),该过程以输入密文CT,解密密钥DKij,
如果节点x是一个叶子节点,我们让k=att(x),如果k∈S,则
如果x是一个非叶节点,则采用一个递归过程DecryptNode(CT,DKij,x):
对x的所有叶子节点,调用DecryptNode(CT,DKij,z),结果为Fz。令Sx为任意有kx个孩子节点z的集合,对每个z,Fz≠⊥。如果没有这样的集合存在,则功能返回⊥。
否则,计算如下:
如上,已定义节点的解密功能。解密算法调用根节点的解密功能。如果S符合访问结构树,则可得到
第2阶段:
参与者j使用自己的私钥和部分解密密钥解密密钥解密
2.对文献“Allison Lewko,Tatsuaki Okamoto,Amit Sahai,KatsuyukiTakashima,Brent Waters.fully secure functional encryption attribute basedencryption and(hierarchical)inner product encryption,Advances in Cryptology–EUROCRYPT2010,Lecture Notes in Computer Science Volume6110,2010,pp62-91”算法的改造。
改造后的算法如下:
(1)建立
输入:安全参数λ
输出:系统的公共参数,参与者的公私钥及其它公共/秘密参数。
算法描述:
建立系统全局公共参数:选择一个双线性群G,阶为N=p1p2p3(p1,p2,p3为3个不同的质数)。令表示G的一个阶为pi的子群。g为的一个生成元。系统的公共参数为N,G。
建立参与者参数:每个参与者i选择一个随机指数αi∈ZN作为自己的私钥,相应的公钥为参与者进一步选择βi∈ZN的上的一个生成元X3作为自己的秘密参数。属性集上S为包含所有属性的集合。对于属性集上S的每个属性,选择一个随机的si∈ZN作为秘密参数。参与者i的公共参数为:
(2)消息加密
输入:消息M,访问控制结构数系统公共参数,参与者公共参数
输出:密文
算法描述:CT
消息加密:A是一个l×n的矩阵,ρ为矩阵的每行Ax到属性ρ(x)的一个映射。消息加密算法选择一个上的随机向量v=(s,v2,...,vn)。对于A上的每行Ax,选择一个随机数当参与者i加密消息M,生成密文如下:
(3)解密密钥生成
输入:系统公用参数,参与者j的公钥,参与者j相对参与者i具有的属性集S中的一组属性,参与者i的公共/秘密参数。
输出:参与者j对于参与者i的解密密钥DKij。
算法描述:
当参与者j相对于参与者i具有属性集S中的一组属性,向参与者i申请解密密钥,参与者i生成参与者j的解密密钥。对于原算法的解密密钥表达式中所有以g为底数的部分,用替代g到原解密密钥表达式中进行计算,结果表现为αj被增加为g的指数的一个乘数,具体如下:
解密密钥生成算法选择随机的t∈ZN,和上的随机元素R0,R′,Ri,计算解密密钥为:
参与者j建立包含该解密密钥的数据结构,该数据结构包含以下信息项:
(1)参与者i的名字;
(2)参与者i的公钥;
(3)参与者i给参与者j生成的解密密钥Kij;
(4)其它信息。
参与者j将获取的解密密钥信息填入第(3)信息项并保存。
参与者j可以向多个具有朋友关系的其它参与者申请解密密钥,并保存对应的多个解密密钥。
(4)消息解密
输入:密文CT,参与者j对于参与者i的解密密钥DKij,系统公共参数,参与者i的公共参数
输出:消息M
算法描述:
此消息解密算法没有准备阶段,因此分为第1阶段和第2阶段。
第1阶段:
参与者j可选择是否将第1阶段的计算外包给第三方。如果参与者j选择将第1阶段的解密计算外包给第三方,则第三方通过网络获取密文CT。参与者j从保存的解密密钥中查找并将生成密文CT的参与者i生成的的解密密钥发送给第三方。第三方用参与者j的解密密钥进行第1阶段的解密计算,生成ElGamal形式的中间结果,并把中间结果发送给参与者j。如果参与者j不选择将第1阶段的计算外包给第三方,则参与者j通过网络获取密文CT,从保存的解密密钥中查找到并使用参与者i生成的解密密钥,完成第1阶段的计算。
具体的计算过程为:计算出常量ωx∈ZN使得Σρ(x)∈SωxAx=(1,0,...,0).然后使用解密密钥Kij计算:
第2阶段:
参与者j使用自己的私钥计算出M:
实现DA-CP-ABE系统:
DA-CP-ABE系统的ABE功能模块运行的设备可包含服务器,台式机或智能移动终端,或其它能运行ABE功能模块的任意计算设备;
DA-CP-ABE系统的ABE功能模块可用软件或硬件实现,或混合实现。
DA-CP-ABE系统包含除ABE功能模块外的其它必要的功能模块。
DA-CP-ABE系统可用于各种需要数据加密和访问控制的应用中。
DA-CP-ABE系统可与其它一个或多个信息系统结合,或者作为其它更大信息系统的一部分。
Claims (12)
1.一种自主授权的CP-ABE方法,其步骤为:
1)任意一个参与者i使用CP-ABE方法加密消息M,加密过程中使用自己的公钥,得到密文CT并发布;其中,每一参与者端都包含建立模块、加密模块、解密密钥生成模块和解密模块;
2)当一与参与者i具有朋友关系的参与者j,向该参与者i申请获取解密密钥时,该参与者i对该参与者j进行授权,并根据该参与者j相对于参与者i的属性,为其生成解密密钥并发送给该参与者j;其中,该参与者i根据该参与者j相对于参与者i的属性为参与者j生成解密密钥,在解密密钥生成过程中,将该参与者j的公钥信息嵌入到该解密密钥中,然后该参与者i将该解密密钥发送给该参与者j;
3)该参与者j用收到的该解密密钥和自己的私钥来解密密文CT,得到该消息M。
2.如权利要求1所述的方法,其特征在于首先建立一基于椭圆曲线的乘法循环群其阶为p,生成元为g;每一参与者从椭圆曲线上随机选取的一个随机密钥对作为自己的公私钥对;其中,每一个参与者i选择一个随机的作为自己的私钥,对应的公钥为
3.如权利要求2所述的方法,其特征在于生成解密密钥过程中,将参与者j的公钥信息嵌入到该解密密钥中,具体的方法为:如果消息加密算法采用基于线性秘密共享方案的访问控制结构,则生成的表达式中所有以g为底数的部分,αj必表现为g的指数的一个乘数,即以g为底数的部分为Z表示指数的其余部分;生成的计算过程为:以为底数,Z为指数进行运算,
4.如权利要求2所述的方法,其特征在于生成解密密钥过程中,将参与者j的公钥信息嵌入到该解密密钥中,具体的方法为:如果消息加密算法采用基于树的访问控制结构,则以以为底数,(α+r)·Y为指数运算,生成表达式结果为其中,αi为参与者i的秘密参数,Y表示指数的其余部分,r为针对该解密秘钥生成而产生的随机秘密数;或者以为底数,Z为指数进行运算,Z表示指数的其余部分,同时Z中包含r。
5.如权利要求1所述的方法,其特征在于如果该参与者j向多个具有朋友关系的参与者申请并获取解密密钥,则参与者j保存多个解密密钥,并保存每个解密密钥与朋友的对应关系。
6.如权利要求1或2或3或4或5所述的方法,其特征在于所述对该密文CT进行解密的方法为:该参与者j从保存的解密密钥中查找到生成密文CT的参与者i生成的的解密密钥,并先用该解密密钥对该密文CT进行解密,得到ElGamal形式的中间结果,然后利用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,对该中间结果进行解密,得到该消息M。
7.如权利要求1或2或3或4或5所述的方法,其特征在于所述对该密文CT进行解密的方法为:该参与者j从保存的解密密钥中查找到生成密文CT的参与者i生成的的解密密钥,并将该解密密钥发送给第三方。第三方对密文CT进行解密计算,生成ElGamal形式的中间结果,并把该中间结果发送给该参与者j;该参与者j根据此中间结果,使用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,计算生成该消息M。
8.如权利要求1或2或3或4或5所述的方法,其特征在于所述步骤2)中,该密文CT为CP-ABE算法生成的密文;所述步骤4)中,该参与者j对该密文CT进行解密的方法为:如果密文CT的表达式中,除Me(g,g)XY外,第i项属性还存在有的表达式,且Ci中不包含M,则将所有Ci修改为其中如果Yi为空,则该参与者j将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数即如果Yi不为空,则该参与者j将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数,并将αj增加为所有底数Yi的指数的一个乘数,即然后,该参与者j使用自己的对应密文CT的解密密钥和私钥αj对上述结果进行计算生成该消息M;其中,M为消息,e(g,g)为双线性映射函数,X,Y为表达式的其余部分,Xi,Yi分别为第i项属性的密文表达式的其余部分。
9.一种自主授权的CP-ABE系统,其特征在于包括多个参与者,每个参与者端都包含密钥生成模块、加密模块、解密密钥生成模块和解密模块;其中,每一参与者与其它多个参与者建立朋友关系,并保存每一具有朋友关系的参与者的一组属性;每个参与者i用自己的公钥使用CP-ABE方法加密消息M,得到密文CT并发布,以及对申请自己发布内容的具有朋友关系的参与者j进行授权、根据相对于自己的参与者j的属性生成解密密钥并发送给该参与者j进行解密,得到该消息M;其中,该参与者i根据该参与者j的属性为其生成解密密钥,在生成解密密钥的过程中,并将该参与者j的公钥信息嵌入到解密密钥中,然后该参与者i将该解密密钥发送给该参与者j。
10.如权利要求9所述的CP-ABE系统,其特征在于首先建立一基于椭圆曲线的乘法循环群其阶为p,生成元为g;每一参与者i从椭圆曲线上随机选取的一个随机密钥对作为自己的公私钥对;其中,任意一个参与者i选择一个随机的作为自己的私钥,对应的公钥为该参与者i为参与者j生成解密密钥时,将该参与者j的公钥嵌入到该解密密钥中的方法为:
如果消息加密算法采用基于线性秘密共享方案的访问控制结构,则生成的表达式中所有以g为底数的部分,αj必表现为g的指数的一个乘数,即以g为底数的部分为Z表示指数的其余部分;生成的计算过程为:以为底数,Z为指数进行运算,如果消息加密算法采用基于树的访问控制结构,则以以为底数,(α+r)·Y为指数运算,生成表达式结果为其中,αi为参与者i的秘密参数,Y表示指数的其余部分,r为针对该解密秘钥生成而产生的随机秘密数;或者以为底数,Z为指数进行运算,Z表示指数的其余部分,同时Z中包含r。
11.如权利要求9或10所述的CP-ABE系统,其特征在于还包括一第三方,该参与者j从保存的解密密钥中查找到生成密文CT的参与者i生成的的解密密钥,并将该解密密钥发送给该第三方。第三方对密文CT进行解密计算,生成ElGamal形式的中间结果,并把该中间结果发送给该参与者j;该参与者j根据此中间结果,使用自己的私钥,并根据计算需要使用解密密钥的一部分或不使用解密密钥,计算生成该消息M。
12.如权利要求9或10所述的CP-ABE系统,其特征在于所述密文CT为CP-ABE算法生成的密文;该参与者j对该密文CT进行解密时,如果密文CT的表达式中,除Me(g,g)XY外,第i项属性还存在有的表达式,且Ci中不包含M,则将所有Ci修改为C′i:其中如果Yi为空,则该参与者j将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数即如果Yi不为空,则该参与者j将其私钥αj增加为所有Ci中底数e(g,g)的指数的一个乘数,并将αj增加为所有底数Yi的指数的一个乘数,即然后,该参与者j使用自己的对应密文CT的解密密钥和私钥αj对上述结果进行计算生成该消息M;其中,M为消息,e(g,g)为双线性映射函数,X,Y为表达式的其余部分,Xi,Yi分别为第i项属性的密文表达式的其余部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410328154.3A CN104144056B (zh) | 2014-07-10 | 2014-07-10 | 一种自主授权的cp‑abe系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410328154.3A CN104144056B (zh) | 2014-07-10 | 2014-07-10 | 一种自主授权的cp‑abe系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104144056A CN104144056A (zh) | 2014-11-12 |
CN104144056B true CN104144056B (zh) | 2017-05-17 |
Family
ID=51853128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410328154.3A Expired - Fee Related CN104144056B (zh) | 2014-07-10 | 2014-07-10 | 一种自主授权的cp‑abe系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104144056B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780179B (zh) * | 2015-05-07 | 2017-10-24 | 浙江工商大学 | 一种隐藏属性的密钥策略属性加密方法 |
CN112671535B (zh) * | 2020-12-28 | 2022-11-01 | 华南农业大学 | 多中心可撤销密钥策略属性基加密方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102916954A (zh) * | 2012-10-15 | 2013-02-06 | 南京邮电大学 | 一种基于属性加密的云计算安全访问控制方法 |
CN103152322A (zh) * | 2013-01-28 | 2013-06-12 | 中兴通讯股份有限公司 | 数据加密保护方法及系统 |
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN103618728A (zh) * | 2013-12-04 | 2014-03-05 | 南京邮电大学 | 一种多机构中心的属性加密方法 |
-
2014
- 2014-07-10 CN CN201410328154.3A patent/CN104144056B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102916954A (zh) * | 2012-10-15 | 2013-02-06 | 南京邮电大学 | 一种基于属性加密的云计算安全访问控制方法 |
CN103152322A (zh) * | 2013-01-28 | 2013-06-12 | 中兴通讯股份有限公司 | 数据加密保护方法及系统 |
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN103618728A (zh) * | 2013-12-04 | 2014-03-05 | 南京邮电大学 | 一种多机构中心的属性加密方法 |
Non-Patent Citations (3)
Title |
---|
"Cipheretxt-Policy Attribute-Based Encryption";John Bethencourt,Amit Sahai,and Brent Waters.;《IEEE Symposium on Security and Privacy》;20070531;全文 * |
A.Lewko,B.Waters."Decentralizing Attribute-Based Encryption".《Advances in Cryptology-EUROCRPT 2011》.2011,pp568-588. * |
党正芹."属性基加密方案研究".《中国优秀硕士学位论文全文数据库信息科技辑》.2013,I136-311. * |
Also Published As
Publication number | Publication date |
---|---|
CN104144056A (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037460B (zh) | 基于同态加密和秘密共享的联邦学习隐私保护方法 | |
CN109684855B (zh) | 一种基于隐私保护技术的联合深度学习训练方法 | |
CN109657489B (zh) | 一种隐私保护的集合交集两方安全计算方法及系统 | |
CN109951443B (zh) | 一种云环境下隐私保护的集合交集计算方法及系统 | |
CN105406967B (zh) | 一种分层属性加密方案 | |
Dong et al. | Achieving an effective, scalable and privacy-preserving data sharing service in cloud computing | |
CN101807991B (zh) | 密文政策属性基加密系统和方法 | |
CN104113408B (zh) | 一种实现及时用户属性撤销的基于密文策略属性加密方法 | |
Bigdeli et al. | A novel image encryption/decryption scheme based on chaotic neural networks | |
CN110414981B (zh) | 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 | |
CN106059763B (zh) | 云环境下属性基多机构层次化密文策略权重加密方法 | |
CN105763528B (zh) | 一种混合机制下多重接收者匿名的加密装置 | |
Oktaviana et al. | Three-pass protocol implementation in caesar cipher classic cryptography | |
Hao et al. | Efficient attribute-based access control with authorized search in cloud storage | |
CN111917721A (zh) | 基于区块链的属性加密方法 | |
CN105978689A (zh) | 一种抗密钥泄漏的云数据安全共享方法 | |
CN103763100B (zh) | 保护任意用户群数据隐私安全的和与积计算方法 | |
CN117118617A (zh) | 一种基于模分量同态的分布式门限加解密方法 | |
CN116011014A (zh) | 一种隐私计算方法和隐私计算系统 | |
Sarosh et al. | Fast image encryption framework for medical images | |
Zhang et al. | Balancing privacy and flexibility of cloud-based personal health records sharing system | |
Khuntia et al. | New hidden policy CP-ABE for big data access control with privacy-preserving policy in cloud computing | |
CN104144056B (zh) | 一种自主授权的cp‑abe系统和方法 | |
CN109740383A (zh) | 一种面向雾计算医疗系统的隐私保护控制方法 | |
Shen et al. | Verifiable privacy-preserving federated learning under multiple encrypted keys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170517 Termination date: 20210710 |