CN106059768A - 抵抗重加密密钥泄露的属性可撤销加密系统及方法 - Google Patents

抵抗重加密密钥泄露的属性可撤销加密系统及方法 Download PDF

Info

Publication number
CN106059768A
CN106059768A CN201610371034.0A CN201610371034A CN106059768A CN 106059768 A CN106059768 A CN 106059768A CN 201610371034 A CN201610371034 A CN 201610371034A CN 106059768 A CN106059768 A CN 106059768A
Authority
CN
China
Prior art keywords
module
encryption
encryption server
private key
cryptograph files
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.)
Granted
Application number
CN201610371034.0A
Other languages
English (en)
Other versions
CN106059768B (zh
Inventor
傅晓彤
高杨
张宁
谭示崇
陈思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201610371034.0A priority Critical patent/CN106059768B/zh
Publication of CN106059768A publication Critical patent/CN106059768A/zh
Application granted granted Critical
Publication of CN106059768B publication Critical patent/CN106059768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种抵抗重加密密钥泄露的可撤销的属性加密系统及方法,包括:1、设置加密系统的参数;2、生成加密系统的主私钥及公钥;3、生成用户私钥;4、构建重加密密钥树;5、生成密文文件;6、撤销属性;7、进行代理重加密;8、访问密文文件;9、判断密文文件的更新位是否为1;10、解密未更新密文文件;11、更新私钥;12、解密更新密文文件;13、退出密码系统。本发明采用双代理重加密服务器模型,能够抵抗重加密密钥的泄露。在进行属性撤销时采用属性用户群构建重加密密钥树,高效的、即时的、细粒度的间接属性撤销。在加密时,将秘密分散,可抵抗合谋攻击。

Description

抵抗重加密密钥泄露的属性可撤销加密系统及方法
技术领域
本发明属于数据加密技术领域,更进一步涉及数据安全技术领域中的一种抵抗重加密密钥泄露的属性可撤销加密系统及方法。本发明可用于在云存储环境中实现细粒度访问控制和数据保护。
背景技术
属性基加密方法一种支持多对多模式的新型公钥加密方法,即解密对象不再只是某一具体的用户,而是面向符合解密条件的一个群体。这一特性使得属性基加密方法可以用于实现细粒度的访问控制。属性基加密方法主要包括两种类型,分别是密文策略属性基加密方法和密钥策略属性基加密方法。在密文策略属性基加密方法中,访问结构与密文相关,用户私钥则用属性集来标识,访问结构是在加密过程中由加密者来规划,系统公钥由授权机构来生成,仅当解密方的属性集合满足密文中的访问结构时才可以解密得到明文。
随着云计算技术的发展,越来越多的用户选择将敏感数据存放在云服务器中,以达到共享数据的问题。但是第三方提供的云存储服务往往不是完全可信的,将访问控制交给云服务器来处理可能会有很大的安全隐患。将属性基加密方法应用在云存储环境中,既保证了数据的安全性,而且实现了细粒度的访问控制。但是,鉴于用户频繁的离开或加入属性用户群,如何实现高效的用户属性撤销,成为了一个亟待解决的问题。在属性基加密方案中,每个用户拥有多个属性,每个属性可以被多个用户共享。因此,在属性基加密方案中实现实现用户属性撤销尤为困难。按照撤销的粒度,属性基加密方法可分为系统属性撤销、用户撤销和用户属性撤销;按照撤销的方法,属性基加密方法可分为直接撤销和间接撤销。
Xie X等人在其发表的论文“An Efficient Ciphertext-Policy Attribute-Based Access Control towards Revocation in Cloud Computing”(Journal ofUniversal Computer Science,vol.19,no.16(2013),2349-2367.公开日期2013.10.01)中提出了一种高效的可撤销的属性加密系统及方法。该系统包括:(1)数据拥有者、(2)数据管理者、(3)云存储器、(4)认证中心、(5)用户。该方法的主要步骤是:(1)输入安全参数,生成公共参数和主密钥,并将公共参数公开。(2)为每个用户生成属性私钥并分发给用户。(3)输入属性用户群,并生成重加密密钥并分发给用户。(4)输入属性集合、公钥和待加密的消息,并制定访问策略,生成密文。(5)输入密文和属性用户群,生成重加密密文。(6)当数据接收者的属性满足访问结构时,解密成功。该方法存在的不足之处是:在进行代理重加密时,采用了不可信的代理重加密服务器来管理重加密密钥,无法解决代理重加密服务器的密钥泄露问题。
西安理工大学在其申请的专利“基于完全二叉树的可撤销的属性加密方法”(申请号201510407937.5,申请日期2015.07.13)中提出了基于完全二叉树的可撤销的属性加密方法。该方法的主要步骤是:(1)系统参数初始化;(2)密钥生成过程;(3)加密;(4)解密。该方法存在的不足之处是:该方法不能实现细粒度的、及时的属性撤销;将属性撤销列表嵌入到密文中可能会带来安全问题。
河海大学在其申请的专利“一种具有高效用户撤销的密文策略属性基加密方法”(申请号201510375470.0,申请日期2015.06.30)中提出了一种具有高效用户撤销的密文策略属性基加密方法。该方法的主要步骤是:(1)系统建立步骤;(2)用户群建立步骤;(3)用户私钥生成生成步骤;(4)加密步骤;(5)解密步骤;如果本系统中有用户撤销事件发生,还应该包括:(6)用户群升级步骤;(7)用户升级步骤;(8)重加密步骤。该方法存在的不足之处是:虽然可以抵抗多个非法用户之间的合谋攻击,但却无法抵抗非法用户与代理重加密服务器之间的合谋攻击。
发明内容
本发明的目的在于克服上述现有技术在进行代理重加密时,采用了不可信的代理重加密服务器来管理重加密密钥,无法解决代理重加密服务器的密钥泄露问题;不能实现细粒度的、及时的属性撤销;将属性撤销列表嵌入到密文中可能会带来安全问题;虽然可以抵抗多个非法用户之间的合谋攻击,但却无法抵抗非法用户与代理重加密服务器之间的合谋攻击,提供抵抗重加密密钥泄露的属性可撤销加密系统及方法。
实现本发明目的的主要思路是:数据所有者模块将秘密值划分为两个子秘密值,然后用子秘密值对文件分别属性加密,将子秘密共享在两个子密文文件中,并将两个子密文文件组合为密文文件上传至数据存储模块,当数据接收者模块代理重加密模块发起对密文文件的访问时,代理重加密模块的通信模块2将密文文件发送给数据接收者模块。数据接收者模块判断密文是否更新过,若未更新,则直接解密,否则,数据接收者模块判断属性是否被撤销,若属性未被撤销,则更新用户私钥并解密密文文件。本发明的系统在进行代理重加密时采用了重加密服务器DM1和重加密服务器DM2来分别管理重加密密钥,重加密服务器DM1和重加密服务器DM2各自保存持有的秘密并通过安全双方计算方法进行安全的双方通信,只有得到重加密服务器DM1和重加密服务器DM2的重加密密钥才可以正确解密,使得本发明具有能够抵抗重加密密钥泄露的优点;本发明的方法采用属性用户群构建重加密密钥树实现属性的撤销,在进行属性撤销时,只需在重加密密钥树中选择不再覆盖数据接收者模块的重加密密钥来加密随机化参数即可实现撤销,使得采用本发明的方法可以进行高效的、即时的、细粒度的间接属性撤销;在生成密文时,将秘密分成了两部分进行加密并分别由两个重加密服务器进行管理,使得采用本发明的方法可以抵抗不可信服务器与非法用户之间的合谋攻击;
本发明的系统包括授权中心模块、数据所有者模块、数据存储模块、代理重加密模块、数据接收者模块,其特征在于:所述数据所有者模块分别与授权中心模块和数据存储模块相连;数据接收者模块分别与授权中心模块和数据存储模块相连;授权中心模块分别与数据所有者模块、数据接收者模块和代理重加密模块相连;代理重加密模块分别与授权中心模块和数据存储模块相连;其中:
所述的授权中心模块,用于设置加密系统的参数、生成加密系统的主私钥及公钥和生成用户私钥;
所述的数据所有者模块,用于生成密文文件和撤销属性;
所述的数据存储模块,用于存储密文文件;
所述的代理重加密模块包括通信模块1、通信模块2、重加密服务器DM1和重加密服务器DM2;所述的通信模块1与授权中心模块相连,用于接收授权中心模块发送的属性用户群信息,并将属性用户群信息转发到重加密服务器DM1和重加密服务器DM2;所述的通信模块2与数据接收者模块相连,用于发送密文文件;所述的重加密服务器DM1和重加密服务器DM2各自构建重加密密钥树并保存各自持有的秘密数据,通过加法安全双方计算方法交换秘密数据,利用秘密数据进行代理重加密,使得采用本发明的方法可以抵抗不可信服务器与非法用户之间的合谋攻击;
所述的数据接收者模块,用于访问密文文件、更新用户私钥和解密密文文件。
本发明方法的具体实现步骤如下:
(1)设置加密系统的参数:
(1a)授权中心模块任意选择一个素数p,其中,p>2k,k表示由授权中心模块所确定的加密系统安全参数;
(1b)授权中心模块以素数p为阶,构建两个乘法循环群G和G1,乘法循环群G的生成元为g;
(1c)授权中心模块在乘法循环群G到乘法循环群G1的双线性映射中,随机选择一个双线性映射e:G×G→G1
(1d)授权中心模块从乘法循环群G上为加密系统属性集U={θ12,···,θn}中的每一个属性j随机选择一个生成元hj
(1e)授权中心模块将加密系统属性集中的每一个属性j所对应的属性用户群信息Uj发送给代理重加密模块中的通信模块1;
(2)生成加密系统的主私钥及公钥:
(2a)授权中心模块从整数环Ζp *上随机选择一个元素a,从乘法循环群G上随机选择一个生成元gT=gβ;授权中心模块将随机化参数a和生成元gT=gβ作为加密系统的主私钥MSK并保存;其中,Ζp *={1,2,···,p-1},β表示整数环Ζp *上的随机化参数;
(2b)授权中心模块按照下式计算加密系统的公钥:
PK=SetUp(MSK,G,g,e,h1,h2,···,hn)
其中,PK表示加密系统的公钥,SetUp(·)表示初始化操作,MSK表示加密系统的主私钥,G表示乘法循环群,g表示乘法循环群G的生成元,h1,h2,···,hn表示授权中心模块为加密系统属性集U中的每一个属性j选择的乘法循环群G上的生成元;
(2c)授权中心模块将加密系统的公钥发布给数据所有者模块和数据接收者模块;
(3)生成用户私钥:
(3a)持有加密系统的公钥的数据接收者模块向授权中心模块提交属性信息;
(3b)授权中心模块为数据接收者模块从整数环Ζp *上随机选择一个唯一的随机化参数;
(3c)授权中心模块按照下式计算数据接收者模块的用户私钥:
SK=KeyGen(A,t,PK,MSK)
其中,SK表示数据接收者模块的用户私钥,KeyGen(·)表示由授权中心模块所确定的私钥生成函数,A表示数据接收者模块的属性信息,t表示授权中心模块为数据接收者模块选取的唯一随机化参数,PK表示加密系统的公钥,MSK表示加密系统的主私钥;
(3d)授权中心模块将数据接收者模块的用户私钥发送给数据接收者模块;
(4)构建重加密密钥树:
(4a)代理重加密模块中的通信模块1,在收到授权中心模块发送的加密系统属性集中的每一个属性j所对应的属性用户群Uj后,将加密系统属性集的每一个属性j所对应的属性用户群Uj,分别发送给代理重加密模块的重加密服务器DM1和重加密服务器DM2
(4b)重加密服务器DM1和重加密服务器DM2分别构建重加密密钥树,将属性用户群中的每个成员分配在重加密密钥树的叶子节点上,并为每个非叶子节点选择随机化参数;
(4c)重加密服务器DM1和重加密服务器DM2,为叶子节点上的成员生成从根节点到叶子节点的路径密钥,将该路径密钥作为重加密密钥;
(4d)重加密服务器DM1和重加密服务器DM2,分别为数据接收者模块分发重加密密钥;
(5)生成密文文件:
(5a)数据所有者模块从整数环Ζp *上随机选择秘密值s;数据所有者模块选择访问结构(M,ρ);数据所有者模块从整数环Ζp *上选择y1,···,yn-1,构成一个列向量ν=(s,y1,···,yn-1),并计算λi=Mi*ν,i=1,···,l;数据所有者模块从整数环Ζp *上随机选择l个数b1,b2,...,bl;其中,M表示l行n列的共享生成矩阵,Mi表示共享生成矩阵M的第i行,函数ρ将Mi映射到属性i;
(5b)数据所有者模块将数据所有者模块的秘密值s随机划分为两个子秘密值s1、s2
(5c)数据所有者模块按照下式计算子密文文件CT1:
CT1=Enc(F,PK,s1,(M,ρ))
其中,CT1表示文件加密后的子密文文件,Enc(·)表示由数据所有者模块所确定的加密函数,F表示待加密的文件,PK表示加密系统的公钥,s1表示数据所有者模块的子秘密值,(M,ρ)表示数据所有者模块选择的访问结构,M表示l行n列的共享生成矩阵,函数ρ将M的第i行映射到属性i;
(5d)数据所有者模块按照下式计算子密文文件CT2:
CT2=Enc(F,PK,s2,(M,ρ))
其中,CT2表示文件加密后的子密文文件,Enc(·)表示由数据所有者模块所确定的加密函数,F表示待加密的文件,PK表示加密系统的公钥,s2表示数据所有者模块的子秘密值,(M,ρ)表示数据所有者模块选择的访问结构,M表示l行n列的共享生成矩阵,函数ρ将M的第i行映射到属性i;
(5e)数据所有者模块将子密文文件CT1和子密文文件CT2组合为密文文件FCT=(CT1,CT2,Update),其中,CT1、CT2表示数据所有者模块计算的子密文文件,Update表示标识密文文件是否被更新的标志位,当Update以0标识时,表示密文文件未更新,当Update以1标识时,表示密文文件已更新;
(5f)数据所有者模块将密文文件FCT中的标志位Update置0后,将密文文件FCT发送到数据存储模块进行存储;
(6)撤销属性:
数据所有者模块向授权中心模块发起属性撤销请求,请求撤销用户uc的属性j;授权中心模块从属性用户群Uj中删除请求撤销用户uc,将删除请求撤销用户uc后的属性用户群信息发送至代理重加密模块的通信模块1;
(7)进行代理重加密:
(7a)代理重加密模块中的通信模块1在收到授权中心模块发送的属性用户群信息后,将属性用户群信息分别转发给代理重加密模块的重加密服务器DM1和重加密服务器DM2
(7b)重加密服务器DM1和重加密服务器DM2分别从整数环Ζp *上随机选择r1、r2;重加密服务器DM1和重加密服务器DM2,分别为删除请求撤销用户uc后的属性用户群信息重新构建重加密密钥树;重加密服务器DM1和重加密服务器DM2分别从重加密密钥树中选择最小覆盖元密钥KEK1、KEK2
(7c)重加密服务器DM1从整数环Ζp *上随机选择秘密值x,重加密服务器DM2从整数环Ζp *上随机选择秘密值y;重加密服务器DM1和重加密服务器DM2进行加法安全双方计算后,重加密服务器DM1得到u、重加密服务器DM2得到v,u和v满足xy=u+v;重加密服务器DM1计算双线性映射参数e1=e(g,g)βx并将双线性映射参数e1发送给重加密服务器DM2、重加密服务器DM2计算双线性映射参数e2=e(g,g)βy并将双线性映射参数e2发送给重加密服务器DM1;重加密服务器DM1和重加密服务器DM2分别计算双线性映射参数eT=e(g,g)βxy
(7d)重加密服务器DM1按照下式计算更新子密文文件NCT1
NCT1=ReEnc(CT,r1,eT,u,KEK1)
其中,NCT1表示更新后的子密文密文,ReEnc(·)表示由代理重加密模块所确定的重加密函数,FCT表示需进行属性撤销的目标密文,r1表示重加密服务器DM1在收到属性撤销请求后选择的随机化参数,eT表示重加密服务器DM1在安全的双方通信后得到的双线性映射参数,u表示重加密服务器DM1在安全的双方通信后得到的随机化参数,KEK1表示重加密服务器DM1选择的最小覆盖元密钥;
(7e)重加密服务器DM1按照下式计算更新子密文文件NCT2
NCT2=ReEnc(CT,r2,eT,v,KEK2)
其中,NCT2表示更新后的子密文密文,ReEnc(·)表示由代理重加密模块所确定的重加密函数,FCT表示需进行属性撤销的目标密文,r2表示重加密服务器DM2在收到属性撤销请求后选择的随机化参数,eT表示重加密服务器DM2在安全的双方通信后得到的双线性映射参数,v表示重加密服务器DM2在安全的双方通信后得到的随机化参数,KEK2表示重加密服务器DM2选择的最小覆盖元密钥;
(7f)重加密服务器DM1和重加密服务器DM2分别将更新子密文文件NCT1和更新子密文文件NCT2发送到代理重加密模块的通信模块2;通信模块2将更新子密文文件NCT1和更新子密文文件NCT2组合为更新密文文件RCT=(NCT1,NCT2,Update),其中,NCT1、NCT2表示数据所有者模块计算的子密文文件,Update表示标识密文文件是否被更新的标志位,当Update以0标识时,表示密文文件未更新,当Update以1标识时,表示密文文件已更新;
(7g)数据所有者模块将密文文件FCT中的标志位Update置1后,将密文文件RCT发送到数据存储模块进行存储;
(8)访问密文文件:
数据接收者模块向代理重加密模块的通信模块2发起对密文文件的访问请求,代理重加密模块的通信模块2将密文文件发送给发起访问请求的数据接收者模块;
(9)数据接收者模块判断密文文件的更新位Update是否为1,若是,则执行步骤(10),否则,执行步骤(11);
(10)数据接收者模块按照下式,解密密文文件:
M=DecE(FCT,SK)
其中,M表示解密后得到的文件明文,DecE(·)表示由数据接收者模块所确定的解密函数,FCT表示数据接收者模块接收的密文文件,SK表示数据接收者模块持有的用户私钥;
(11)更新用户私钥:
(11a)判断数据接收者模块的属性是否已经被撤销,若是,则执行步骤(13),否则,执行步骤(11b);
(11b)数据接收者模块按照下式,得到解密后的随机化参数r1和r2
r=DKEK(RCT)
其中,r表示解密后得到的随机化参数r1或r2,DKEK(·)表示由数据接收者模块所确定的随机化参数解密函数,KEK表示数据接收者模块持有的重加密密钥,RCT表示数据接收者模块接收的更新密文文件;
(11c)数据接收者模块按照下式,更新用户私钥:
NSK=UpdateKey(SK,r)
其中,NSK表示数据接收者模块持有的更新后的用户私钥,UpdateKey(·)表示由数据接收者模块所确定的用户私钥更新函数,SK表示数据接收者模块持有的用户私钥,r表示数据接收者模块利用所持有的重加密密钥解密得到的随机化参数r1或r2
(12)数据接收者模块按照下式,进行解密:
M=DecU(RCT,NSK)
其中,M表示解密后得到的文件明文,DecU(·)表示由数据接收者模块所确定的解密函数,CT表示数据接收者模块接收的更新密文文件,NSK表示数据接收者模块持有的更新后的用户私钥;
(13)退出加密系统。
本发明与现有技术相比具有如下优点:
第一,由于本发明的系统在进行代理重加密时采用了重加密服务器DM1和重加密服务器DM2来分别管理重加密密钥,重加密服务器DM1和重加密服务器DM2各自保存持有的秘密并通过安全双方计算方法进行安全的双方通信,只有得到重加密服务器DM1和重加密服务器DM2的重加密密钥才可以正确解密,克服了现有技术在进行代理重加密时,采用了不可信的代理重加密服务器来管理重加密密钥,无法解决代理重加密服务器的密钥泄露问题的缺陷,使得本发明具有能够抵抗重加密密钥泄露的优点。
第二,由于本发明的方法采用属性用户群构建重加密密钥树实现属性的撤销,在进行属性撤销时,只需在重加密密钥树中选择不再覆盖数据接收者模块的重加密密钥来加密随机化参数即可实现撤销,克服了现有技术不能实现细粒度的、即时的属性撤销缺陷和将属性撤销列表嵌入到密文中进行直接属性撤销时的安全缺陷,使得采用本发明的方法可以进行高效的、即时的、细粒度的间接属性撤销。
第三,由于本发明的方法在生成密文时,将秘密分成了两部分进行加密并分别由两个重加密服务器进行管理,克服了现有技术虽然可以抵抗多个非法用户之间的合谋攻击,但却无法抵抗非法用户与代理重加密服务器之间的合谋攻击的缺陷,使得采用本发明的方法可以抵抗不可信服务器与非法用户之间的合谋攻击。
附图说明
附图1为本发明系统的结构示意图;
附图2为本发明系统的代理重加密模块结构示意图;
附图3为本发明方法的流程图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,对本发明的系统做进一步的描述。
本发明的系统,包括授权中心模块,数据所有者模块,数据存储模块,代理重加密模块,数据接收者模块。数据所有者模块分别与授权中心模块和数据存储模块相连。数据接收者模块分别与授权中心模块和数据存储模块相连。授权中心模块分别与数据所有者模块、数据接收者模块和代理重加密模块相连。代理重加密模块分别与授权中心模块和数据存储模块相连。其中:
授权中心模块,用于设置加密系统的参数、生成加密系统的主私钥及公钥和生成用户私钥。
数据所有者模块,用于生成密文文件和撤销属性。
数据存储模块,用于存储密文文件。
代理重加密模块包括通信模块1、通信模块2、重加密服务器DM1和重加密服务器DM2。通信模块1与授权中心模块相连,用于接收授权中心模块发送的属性用户群信息,并将属性用户群信息转发到重加密服务器DM1和重加密服务器DM2。通信模块2与重加密服务器DM1、重加密服务器DM2和数据接收者模块相连,用于组合子密文文件和向数据接收者模块发送密文文件;重加密服务器DM1和重加密服务器DM2各自构建重加密密钥树并保存各自持有的秘密数据,通过加法安全双方计算方法交换秘密数据,利用秘密数据进行代理重加密。
数据接收者模块,用于访问密文文件、更新用户私钥和解密密文文件。
下面结合附图2对本发明的系统的代理重加密模块做进一步的描述。
代理重加密模块包括通信模块1、重加密服务器DM1、重加密服务器DM2、通信模块2。通信模块1与授权中心模块相连,用于在接收了授权中心模块发送的属性用户群信息,将属性用户群信息分别转发到重加密服务器DM1和重加密服务器DM2。通信模块2与数据接收者模块相连,在接收到重加密服务器DM1和重加密服务器DM2发送的子密文文件后,组合为密文文件,并将密文文件存储到数据存储模块中和在接收到数据接收模块的访问密文文件请求时,将密文文件从数据存储模块中取出发送给数据接收者模块。重加密服务器DM1和重加密服务器DM2各自构建重加密密钥树并保存各自持有的秘密数据,通过加法安全双方计算方法交换秘密数据,利用秘密数据进行代理重加密。
下面结合附图3对本发明的方法做进一步的描述。
步骤1,设置加密系统参数。
授权中心模块任意选择一个素数p,其中,p>2k,k表示由授权中心模块所确定的加密系统安全参数。授权中心模块以素数p为阶,构建两个乘法循环群G和G1,乘法循环群G的生成元为g。授权中心模块在乘法循环群G上任意选择一个双线性映射e:G×G→G1。授权中心模块从乘法循环群G上为系统属性集U={θ12,···,θn}中的每一个属性j随机选择一个生成元hj。授权中心模块将系统属性集中的每一个属性j所对应的属性用户群信息Uj发送给代理重加密模块的通信模块1。
步骤2,生成加密系统的主私钥及公钥。
授权中心模块从整数环Ζp *上随机选择一个元素a,从乘法循环群G上随机选择一个生成元gT=gβ。授权中心模块将随机化参数a和生成元gT=gβ作为加密系统的主私钥MSK并保存,其中,Ζp *={1,2,···,p-1},β表示整数环Ζp *上的随机化参数。
授权中心模块按照下式计算加密系统的公钥:
PK=SetUp(MSK,G,g,e,h1,h2,···,hn)
其中,PK表示加密系统的公钥,SetUp(·)表示初始化操作,MSK表示加密系统的主私钥,G表示乘法循环群,g表示乘法循环群G的生成元,h1,h2,···,hn表示授权中心模块为加密系统属性集U中的每一个属性j选择的乘法循环群G上的生成元。
初始化操作的计算结果如下:
PK=(G,g,ga,e(g,g)β,h1,h2,···,hn)
授权中心模块将加密系统的公钥PK=(G,g,ga,e(g,g)β,h1,h2,···,hn)发布给数据所有者模块和数据接收者模块。
步骤3,生成用户私钥。
持有公钥的数据接收者模块向授权中心模块提交属性信息授权中心模块为数据接收者模块从整数环Ζp *中随机选择一个唯一的随机化参数t。
授权中心模块按照下式计算数据接收者模块的用户私钥:
SK=KeyGen(A,t,PK,MSK)
其中,SK表示数据接收者模块的用户私钥,KeyGen(·)表示由授权中心模块所确定的私钥生成函数,A表示数据接收者模块的属性信息,t表示授权中心模块为数据接收者模块选取的唯一随机化参数,PK表示加密系统的公钥,MSK表示加密系统的主私钥。
私钥生成函数的计算结果如下:
S K = ( K = g β g a t , L = g t , ∀ i ∈ S , K i = h i t )
授权中心模块将用户私钥发送给数据接收者模块。
步骤4,构建重加密密钥树。
代理重加密模块中的通信模块1在收到授权中心模块发送的系统属性集的每一个属性j所对应的属性用户群Uj后,将系统属性集的每一个属性j所对应的属性用户群Uj分别发送给代理重加密模块的重加密服务器DM1和重加密服务器DM2。重加密服务器DM1和重加密服务器DM2分别构建重加密密钥树,将属性用户群中的每个成员分配在重加密密钥树的叶子节点上,并为每个非叶子节点选择随机化参数。重加密服务器DM1和重加密服务器DM2,为叶子节点上的成员生成从根节点到叶子节点的路径密钥,将该路径密钥作为重加密密钥KEK(Uj)。重加密服务器DM1和重加密服务器DM2分别为数据接收者模块分发重加密密钥KEK(Uj)。
步骤5,生成密文文件。
数据所有者模块从整数环Ζp *上随机选择秘密值s。数据所有者模块选择访问结构(M,ρ)。数据所有者模块从整数环Ζp *上选择y1,···,yn-1,构成一个列向量ν=(s,y1,···,yn-1),并计算λi=Mi*ν,i=1,···,l。数据所有者模块从整数环Ζp *上随机选择l个数b1,b2,...,bl。其中,M表示l行n列的共享生成矩阵,Mi表示共享生成矩阵M的第i行,函数ρ将Mi映射到属性i。
数据所有者模块将数据所有者模块的秘密值s随机划分为两个子秘密值s1、s2
数据所有者模块按照下式计算子密文文件CT1:
CT1=Enc(F,PK,s1,(M,ρ))
其中,CT1表示文件加密后的子密文文件,Enc(·)表示由数据所有者模块所确定的加密函数,F表示待加密的文件,PK表示加密系统的公钥,s1表示数据所有者模块的子秘密值,(M,ρ)表示数据所有者模块选择的访问结构,M表示l行n列的共享生成矩阵,函数ρ将M的第i行映射到属性i。
加密函数的计算结果如下:
CT 1 = C = m e ( g , g ) β s , C ′ = g s 1 , C i = g aλ i h ρ ( i ) h b i ρ ( i ) - s 1 , D i = g - b i , i = 1 , 2 , ... , l
数据所有者模块按照下式计算子密文文件CT2:
CT2=Enc(F,PK,s2,(M,ρ))
其中,CT2表示文件加密后的子密文文件,Enc(·)表示由数据所有者模块所确定的加密函数,F表示待加密的文件,PK表示加密系统的公钥,s2表示数据所有者模块的子秘密值,(M,ρ)表示数据所有者模块选择的访问结构,M表示l行n列的共享生成矩阵,函数ρ将M的第i行映射到属性i。
加密函数的计算结果如下:
CT 2 = C = m e ( g , g ) β s , C ′ = g s 2 , C i = g aλ i h ρ ( i ) b i h ρ ( i ) - s 2 , D i = g - b i , i = 1 , 2 , ... , l
数据所有者模块将子密文文件CT1和子密文文件CT2组合为密文文件FCT=(CT1,CT2,Update),其中,CT1、CT2表示数据所有者模块计算的子密文文件,Update表示标识密文文件是否被更新的标志位,当Update以0标识时,表示密文文件未更新,当Update以1标识时,表示密文文件已更新。
数据所有者模块将密文文件FCT中的标志位Update置0后,将密文文件FCT发送到数据存储模块进行存储。
步骤6,撤销属性。
数据所有者模块向授权中心模块发起属性撤销请求,请求撤销用户uc的属性j。授权中心模块从属性用户群Uj中删除请求撤销用户uc,将删除请求撤销用户uc后的属性用户群信息发送至代理重加密模块的通信模块1。
步骤7,进行代理重加密。
代理重加密模块中的通信模块1在收到授权中心模块发送的属性用户群信息后,将属性用户群信息分别转发给代理重加密模块的重加密服务器DM1和重加密服务器DM2
重加密服务器DM1和重加密服务器DM2分别从整数环Ζp *上随机选择r1、r2。重加密服务器DM1和重加密服务器DM2,分别为删除请求撤销用户uc后的属性用户群信息重新构建重加密密钥树。重加密服务器DM1和重加密服务器DM2分别从重加密密钥树中选择最小覆盖元密钥KEK1、KEK2
重加密服务器DM1从整数环Ζp *上随机选择秘密值x,重加密服务器DM2从整数环Ζp *上随机选择秘密值y。重加密服务器DM1和重加密服务器DM2进行加法安全双方计算后,重加密服务器DM1得到u、重加密服务器DM2得到v,u和v满足xy=u+v。重加密服务器DM1计算双线性映射参数e1=e(g,g)βx并将双线性映射参数e1发送给重加密服务器DM2、重加密服务器DM2计算双线性映射参数e2=e(g,g)βy并将双线性映射参数e2发送给重加密服务器DM1。重加密服务器DM1和重加密服务器DM2分别计算双线性映射参数eT=e(g,g)βxy
加法安全双方计算的步骤如下:
重加密服务器DM1和DM2约定一个整数m,m≥64。
重加密服务器DM1从整数环Ζp *上随机选择m个参数x1,x2,···,xm,满足x=x1+x2+···+xm,其中,参数x表示重加密服务器DM1所持有的秘密值。
对于每一个j=1,2,···,m,重加密服务器DM1生成保密整数k,给重加密服务器DM2发送参数h1、h2,重加密服务器DM2无法判断收到的参数h1、h2中哪一个hk是xj;其中,k=1、2,hk=xj,xj表示重加密服务器DM1的随机参数,余下的hi是重加密服务器DM1从整数环Ζp *上随机选择的参数。
对于每一个j=1,2,···,m,重加密服务器DM2从整数环Ζp *上随机选择的参数dj,对于k=1,2,计算hky-dj并发送给重加密服务器DM1。重加密服务器DM1计算hky-dj=xjy-dj。其中,hk表示重加密服务器DM2从重加密服务器DM1收到的参数h1、h2,xj表示重加密服务器DM1的随机参数,y表示重加密服务器DM2所持有的秘密值。
重加密服务器DM1计算参数u=xy-(d1+···+dm),其中,u表示重加密服务器DM1在加法安全双方计算后得到的随机化参数,d1,···,dm表示重加密服务器DM2的随机化参数。
重加密服务器DM2计算参数v=d1+···+dm,其中,v表示重加密服务器DM2在加法安全双方计算后得到的随机化参数,d1,···,dm表示重加密服务器DM2的随机化参数。
重加密服务器DM1按照下式计算更新子密文文件NCT1
NCT1=ReEnc(CT,r1,eT,u,KEK1)
其中,NCT1表示更新后的子密文密文,ReEnc(·)表示由代理重加密模块所确定的重加密函数,FCT表示需进行属性撤销的目标密文,r1表示重加密服务器DM1在收到属性撤销请求后选择的随机化参数,eT表示重加密服务器DM1在安全的双方通信后得到的双线性映射参数,u表示重加密服务器DM1在安全的双方通信后得到的随机化参数,KEK1表示重加密服务器DM1选择的最小覆盖元密钥
重加密函数的计算结果如下:
NCT 1 = H d r = E k ( r 1 ) k ∈ KEK 1 , C = m e ( g , g ) β ( s + x y ) , C 1 = g u , C 2 = g s + u , C ~ = ( g u ) r 1 , C ~ 1 = ( g a u ) r 1 , C i = ( g aλ i · h ρ ( i ) b i h ρ ( i ) - ( s + u ) ) r 1 , D i = g - b i , i = 1 , 2 , ... , l
重加密服务器DM2按照下式计算更新子密文文件NCT2
NCT2=ReEnc(CT,r2,eT,v,KEK2)
其中,NCT2表示更新后的子密文密文,ReEnc(·)表示由代理重加密模块所确定的重加密函数,FCT表示需进行属性撤销的目标密文,r2表示重加密服务器DM2在收到属性撤销请求后选择的随机化参数,eT表示重加密服务器DM2在安全的双方通信后得到的双线性映射参数,v表示重加密服务器DM2在安全的双方通信后得到的随机化参数,KEK2表示重加密服务器DM2选择的最小覆盖元密钥。
重加密函数的计算结果如下:
NCT 2 = H d r = E k ( r 2 ) k ∈ KEK 2 , C = m e ( g , g ) β ( s + x y ) , C 1 = g v , C 2 = g s + v , C ~ = ( g v ) r 2 , C ~ 1 = ( g a v ) r 2 , C i = ( g aλ i · h ρ ( i ) b i h ρ ( i ) - ( s + v ) ) r 2 , D i = g - b i , i = 1 , 2 , ... , l
重加密服务器DM1和重加密服务器DM2分别将更新子密文文件NCT1和更新子密文文件NCT2发送到代理重加密模块的通信模块2。通信模块2将更新子密文文件NCT1和更新子密文文件NCT2组合为更新密文文件RCT=(NCT1,NCT2,Update),其中,NCT1、NCT2表示数据所有者模块计算的子密文文件,Update表示标识密文文件是否被更新的标志位,当Update以0标识时,表示密文文件未更新,当Update以1标识时,表示密文文件已更新。
数据所有者模块将密文文件FCT中的标志位Update置1后,将密文文件RCT发送到数据存储模块进行存储。
步骤8,访问密文文件。
数据接收者模块向代理重加密模块的通信模块2发起对密文文件的访问请求,代理重加密模块的通信模块2将密文文件发送给发起访问请求的数据接收者模块。
步骤9,判断密文文件的更新位Update是否为1,若是,则执行步骤10,否则,执行步骤11。
步骤10,解密未更新密文文件。
数据接收者模块按照下式,解密密文文件:
M=DecE(FCT,SK)
其中,M表示解密后得到的文件明文,DecE(·)表示由数据接收者模块所确定的解密函数,FCT表示数据接收者模块接收的未更新密文文件,SK表示数据接收者模块持有的用户私钥。
解密函数的计算过程和结果如下:
D e c E ( F C T , S K ) = C ( e ( C 1 , K ) Π i ∈ I ( e ( C i , L ) e ( D i C 1 , K ρ ( i ) ) ) ω i ) CT 1 ( e ( C 1 , K ) Π i ∈ I ( e ( C i , L ) e ( D i C 1 , K ρ ( i ) ) ) ω i ) CT 2 = M e ( g , g ) β s e ( g , g ) βs 1 e ( g , g ) βs 2 = M
步骤11,更新用户私钥。
判断数据接收者模块的属性是否已经被撤销,若是,则执行步骤(13),否则,继续执行。
数据接收者模块按照下式,得到解密后的随机化参数r1和r2
r=DKEK(RCT)
其中,r表示解密后得到的随机化参数r1或r2,DKEK(·)表示由数据接收者模块所确定的随机化参数解密函数,KEK表示数据接收者模块持有的重加密密钥,RCT表示数据接收者模块接收的密文文件。
随机化参数解密函数的计算结果如下:
r = D k - 1 ( H d r ) k ∈ K E K ( U j )
数据接收者模块按照下式,更新用户私钥:
NSK=UpdateKey(SK,r)
其中,NSK表示数据接收者模块的新用户私钥,UpdateKey(·)表示由数据接收者模块所确定的用户私钥更新函数,SK表示数据接收者模块持有的用户私钥,r表示数据接收者模块利用所持有的重加密密钥解密得到的随机化参数r1或r2
用户私钥更新函数的计算结果如下:
N S K = ( K = g β g a t , L = ( g t ) r - I , ∀ i ∈ S , K i = h i t )
步骤12,解密未更新密文文件。
数据接收者模块按照下式,进行解密:
M=DecU(RCT,NSK)
其中,M表示解密后得到的文件明文,DecU(·)表示由数据接收者模块所确定的解密函数,RCT表示数据接收者模块接收的更新后密文文件,NSK表示数据接收者模块持有的更新后的用户私钥。
解密函数的计算过程和结果如下:
D e c E ( R C T , S K ) = C ( e ( C 1 , K ) Π i ∈ I ( e ( C i , L ) e ( D i C 2 , K ρ ( i ) ) ) ω i e ( C ~ , K r 1 - 1 ) e ( C ~ 1 , L ) ) NCT 1 ( e ( C 1 , K ) Π i ∈ I ( e ( C i , L ) e ( D i C 2 , K ρ ( i ) ) ) ω i e ( C ~ , K r 2 - 1 ) e ( C ~ 1 , L ) ) NCT 2 = M e ( g , g ) β ( s + x y ) e ( g , g ) βs 1 e ( g , g ) β u e ( g , g ) βs 2 e ( g , g ) β v = M
步骤13,退出加密系统。

Claims (3)

1.一种抵抗重加密密钥泄露的属性可撤销加密系统,包括授权中心模块、数据所有者模块、数据存储模块、代理重加密模块、数据接收者模块,其特征在于:所述数据所有者模块分别与授权中心模块和数据存储模块相连;数据接收者模块分别与授权中心模块和数据存储模块相连;授权中心模块分别与数据所有者模块、数据接收者模块和代理重加密模块相连;代理重加密模块分别与授权中心模块和数据存储模块相连;其中:
所述的授权中心模块,用于设置加密系统的参数、生成加密系统的主私钥及公钥和生成用户私钥;
所述的数据所有者模块,用于生成密文文件和撤销属性;
所述的数据存储模块,用于存储密文文件;
所述的代理重加密模块包括通信模块1、通信模块2、重加密服务器DM1和重加密服务器DM2;所述的通信模块1与授权中心模块相连,用于接收授权中心模块发送的属性用户群信息,并将属性用户群信息转发到重加密服务器DM1和重加密服务器DM2;所述的通信模块2与数据接收者模块相连,用于发送密文文件;所述的重加密服务器DM1和重加密服务器DM2各自构建重加密密钥树并保存各自持有的秘密数据,通过加法安全双方计算方法交换秘密数据,利用秘密数据进行代理重加密;
所述的数据接收者模块,用于访问密文文件、更新用户私钥和解密密文文件。
2.一种抵抗重加密密钥泄露的属性可撤销加密方法,该方法是基于抵抗重加密密钥泄露的属性可撤销加密系统实现的,具体步骤包括如下:
(1)设置加密系统的参数:
(1a)授权中心模块任意选择一个素数p,其中,p>2k,k表示由授权中心模块所确定的加密系统安全参数;
(1b)授权中心模块以素数p为阶,构建两个乘法循环群G和G1,乘法循环群G的生成元为g;
(1c)授权中心模块在乘法循环群G到乘法循环群G1的双线性映射中,随机选择一个双线性映射e:G×G→G1
(1d)授权中心模块从乘法循环群G上为加密系统属性集U={θ12,…,θn}中的每一个属性j随机选择一个生成元hj
(1e)授权中心模块将加密系统属性集中的每一个属性j所对应的属性用户群信息Uj发送给代理重加密模块中的通信模块1;
(2)生成加密系统的主私钥及公钥:
(2a)授权中心模块从整数环Zp *上随机选择一个元素a,从乘法循环群G上随机选择一个生成元gT=gβ;授权中心模块将随机化参数a和生成元gT=gβ作为加密系统的主私钥MSK并保存;其中,Zp *={1,2,…,p-1},β表示整数环Zp *上的随机化参数;
(2b)授权中心模块按照下式计算加密系统的公钥:
PK=SetUp(MSK,G,g,e,h1,h2,…,hn)
其中,PK表示加密系统的公钥,SetUp(·)表示初始化操作,MSK表示加密系统的主私钥,G表示乘法循环群,g表示乘法循环群G的生成元,h1,h2,…,hn表示授权中心模块为加密系统属性集U中的每一个属性j选择的乘法循环群G上的生成元;
(2c)授权中心模块将加密系统的公钥发布给数据所有者模块和数据接收者模块;
(3)生成用户私钥:
(3a)持有加密系统的公钥的数据接收者模块向授权中心模块提交属性信息;
(3b)授权中心模块为数据接收者模块从整数环Zp *上随机选择一个唯一的随机化参数;
(3c)授权中心模块按照下式计算数据接收者模块的用户私钥:
SK=KeyGen(A,t,PK,MSK)
其中,SK表示数据接收者模块的用户私钥,KeyGen(·)表示由授权中心模块所确定的私钥生成函数,A表示数据接收者模块的属性信息,t表示授权中心模块为数据接收者模块选取的唯一随机化参数,PK表示加密系统的公钥,MSK表示加密系统的主私钥;
(3d)授权中心模块将数据接收者模块的用户私钥发送给数据接收者模块;
(4)构建重加密密钥树:
(4a)代理重加密模块中的通信模块1,在收到授权中心模块发送的加密系统属性集中的每一个属性j所对应的属性用户群Uj后,将加密系统属性集的每一个属性j所对应的属性用户群Uj,分别发送给代理重加密模块的重加密服务器DM1和重加密服务器DM2
(4b)重加密服务器DM1和重加密服务器DM2分别构建重加密密钥树,将属性用户群中的每个成员分配在重加密密钥树的叶子节点上,并为每个非叶子节点选择随机化参数;
(4c)重加密服务器DM1和重加密服务器DM2,为叶子节点上的成员生成从根节点到叶子节点的路径密钥,将该路径密钥作为重加密密钥;
(4d)重加密服务器DM1和重加密服务器DM2,分别为数据接收者模块分发重加密密钥;
(5)生成密文文件:
(5a)数据所有者模块从整数环Zp *上随机选择秘密值s;数据所有者模块选择访问结构(M,ρ);数据所有者模块从整数环Zp *上选择y1,…,yn-1,构成一个列向量ν=(s,y1,…,yn-1),并计算λi=Mi*ν,i=1,…,l;数据所有者模块从整数环Zp *上随机选择l个数b1,b2,...,bl;其中,M表示l行n列的共享生成矩阵,Mi表示共享生成矩阵M的第i行,函数ρ将Mi映射到属性i;
(5b)数据所有者模块将数据所有者模块的秘密值s随机划分为两个子秘密值s1、s2
(5c)数据所有者模块按照下式计算子密文文件CT1:
CT1=Enc(F,PK,s1,(M,ρ))
其中,CT1表示文件加密后的子密文文件,Enc(·)表示由数据所有者模块所确定的加密函数,F表示待加密的文件,PK表示加密系统的公钥,s1表示数据所有者模块的子秘密值,(M,ρ)表示数据所有者模块选择的访问结构,M表示l行n列的共享生成矩阵,函数ρ将M的第i行映射到属性i;
(5d)数据所有者模块按照下式计算子密文文件CT2:
CT2=Enc(F,PK,s2,(M,ρ))
其中,CT2表示文件加密后的子密文文件,Enc(·)表示由数据所有者模块所确定的加密函数,F表示待加密的文件,PK表示加密系统的公钥,s2表示数据所有者模块的子秘密值,(M,ρ)表示数据所有者模块选择的访问结构,M表示l行n列的共享生成矩阵,函数ρ将M的第i行映射到属性i;
(5e)数据所有者模块将子密文文件CT1和子密文文件CT2组合为密文文件FCT=(CT1,CT2,Update),其中,CT1、CT2表示数据所有者模块计算的子密文文件,Update表示标识密文文件是否被更新的标志位,当Update以0标识时,表示密文文件未更新,当Update以1标识时,表示密文文件已更新;
(5f)数据所有者模块将密文文件FCT中的标志位Update置0后,将密文文件FCT发送到数据存储模块进行存储;
(6)撤销属性:
数据所有者模块向授权中心模块发起属性撤销请求,请求撤销用户uc的属性j;授权中心模块从属性用户群Uj中删除请求撤销用户uc,将删除请求撤销用户uc后的属性用户群信息发送至代理重加密模块的通信模块1;
(7)进行代理重加密:
(7a)代理重加密模块中的通信模块1在收到授权中心模块发送的属性用户群信息后,将属性用户群信息分别转发给代理重加密模块的重加密服务器DM1和重加密服务器DM2
(7b)重加密服务器DM1和重加密服务器DM2分别从整数环Zp *上随机选择r1、r2;重加密服务器DM1和重加密服务器DM2,分别为删除请求撤销用户uc后的属性用户群信息重新构建重加密密钥树;重加密服务器DM1和重加密服务器DM2分别从重加密密钥树中选择最小覆盖元密钥KEK1、KEK2
(7c)重加密服务器DM1从整数环Zp *上随机选择秘密值x,重加密服务器DM2从整数环Zp *上随机选择秘密值y;重加密服务器DM1和重加密服务器DM2进行加法安全双方计算后,重加密服务器DM1得到u、重加密服务器DM2得到v,u和v满足xy=u+v;重加密服务器DM1计算双线性映射参数e1=e(g,g)βx并将双线性映射参数e1发送给重加密服务器DM2、重加密服务器DM2计算双线性映射参数e2=e(g,g)βy并将双线性映射参数e2发送给重加密服务器DM1;重加密服务器DM1和重加密服务器DM2分别计算双线性映射参数eT=e(g,g)βxy
(7d)重加密服务器DM1按照下式计算更新子密文文件NCT1
NCT1=Re Enc(CT,r1,eT,u,KEK1)
其中,NCT1表示更新后的子密文密文,Re Enc(·)表示由代理重加密模块所确定的重加密函数,FCT表示需进行属性撤销的目标密文,r1表示重加密服务器DM1在收到属性撤销请求后选择的随机化参数,eT表示重加密服务器DM1在安全的双方通信后得到的双线性映射参数,u表示重加密服务器DM1在安全的双方通信后得到的随机化参数,KEK1表示重加密服务器DM1选择的最小覆盖元密钥;
(7e)重加密服务器DM2按照下式计算更新子密文文件NCT2
NCT2=Re Enc(CT,r2,eT,v,KEK2)
其中,NCT2表示更新后的子密文密文,Re Enc(·)表示由代理重加密模块所确定的重加密函数,FCT表示需进行属性撤销的目标密文,r2表示重加密服务器DM2在收到属性撤销请求后选择的随机化参数,eT表示重加密服务器DM2在安全的双方通信后得到的双线性映射参数,v表示重加密服务器DM2在安全的双方通信后得到的随机化参数,KEK2表示重加密服务器DM2选择的最小覆盖元密钥;
(7f)重加密服务器DM1和重加密服务器DM2分别将更新子密文文件NCT1和更新子密文文件NCT2发送到代理重加密模块的通信模块2;通信模块2将更新子密文文件NCT1和更新子密文文件NCT2组合为更新密文文件RCT=(NCT1,NCT2,Update),其中,NCT1、NCT2表示数据所有者模块计算的子密文文件,Update表示标识密文文件是否被更新的标志位,当Update以0标识时,表示密文文件未更新,当Update以1标识时,表示密文文件已更新;
(7g)数据所有者模块将密文文件FCT中的标志位Update置1后,将密文文件RCT发送到数据存储模块进行存储;
(8)访问密文文件:
数据接收者模块向代理重加密模块的通信模块2发起对密文文件的访问请求,代理重加密模块的通信模块2将密文文件发送给发起访问请求的数据接收者模块;
(9)数据接收者模块判断密文文件的更新位Update是否为1,若是,则执行步骤(10),否则,执行步骤(11);
(10)解密未更新密文文件:
数据接收者模块按照下式,解密密文文件:
M=DecE(FCT,SK)
其中,M表示解密后得到的文件明文,DecE(·)表示由数据接收者模块所确定的解密函数,FCT表示数据接收者模块接收的未更新密文文件,SK表示数据接收者模块持有的用户私钥;
(11)更新用户私钥:
(11a)判断数据接收者模块的属性是否已经被撤销,若是,则执行步骤(13),否则,执行步骤(11b);
(11b)数据接收者模块按照下式,得到解密后的随机化参数r1和r2
r=DKEK(RCT)
其中,r表示解密后得到的随机化参数r1或r2,DKEK(·)表示由数据接收者模块所确定的随机化参数解密函数,KEK表示数据接收者模块持有的重加密密钥,RCT表示数据接收者模块接收的密文文件;
(11c)数据接收者模块按照下式,更新用户私钥:
NSK=UpdateKey(SK,r)
其中,NSK表示数据接收者模块持有的更新后的用户私钥,UpdateKey(·)表示由数据接收者模块所确定的用户私钥更新函数,SK表示数据接收者模块持有的用户私钥,r表示数据接收者模块利用所持有的重加密密钥解密得到的随机化参数r1或r2
(12)解密更新密文文件:
数据接收者模块按照下式,进行解密:
M=DecU(RCT,NSK)
其中,M表示解密后得到的文件明文,DecU(·)表示由数据接收者模块所确定的解密函数,RCT表示数据接收者模块接收的更新后密文文件,NSK表示数据接收者模块持有的更新后的用户私钥;
(13)退出加密系统。
3.根据权利要求2所述的抵抗重加密密钥泄露的属性可撤销加密方法,其特征在于:步骤(7c)中所述的加法安全双方计算的步骤如下:
第1步,重加密服务器DM1和DM2约定一个整数m,m≥64;
第2步,重加密服务器DM1从整数环Zp *上随机选择m个参数x1,x2,…,xm,满足x=x1+x2+…+xm,其中,参数x表示重加密服务器DM1所持有的秘密值;
第3步,对于每一个j=1,2,…,m,重加密服务器DM1生成保密整数k,给重加密服务器DM2发送参数h1、h2,重加密服务器DM2无法判断收到的参数h1、h2中哪一个hk是xj;其中,k=1、2,hk=xj,xj表示重加密服务器DM1的随机参数,余下的hi是重加密服务器DM1从整数环Zp *上随机选择的参数;
第4步,对于每一个j=1,2,…,m,重加密服务器DM2从整数环Zp *上随机选择的参数dj,对于k=1,2,计算hky-dj并发送给重加密服务器DM1;重加密服务器DM1计算hky-dj=xjy-dj;其中,hk表示重加密服务器DM2从重加密服务器DM1收到的参数h1、h2,xj表示重加密服务器DM1的随机参数,y表示重加密服务器DM2所持有的秘密值;
第5步,重加密服务器DM1计算参数u=xy-(d1+…+dm),其中,u表示重加密服务器DM1在加法安全双方计算后得到的随机化参数,d1,…,dm表示重加密服务器DM2的随机化参数;
第6步,重加密服务器DM2计算参数v=d1+…+dm,其中,v表示重加密服务器DM2在加法安全双方计算后得到的随机化参数,d1,…,dm表示重加密服务器DM2的随机化参数。
CN201610371034.0A 2016-05-30 2016-05-30 抵抗重加密密钥泄露的属性可撤销加密系统及方法 Active CN106059768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610371034.0A CN106059768B (zh) 2016-05-30 2016-05-30 抵抗重加密密钥泄露的属性可撤销加密系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610371034.0A CN106059768B (zh) 2016-05-30 2016-05-30 抵抗重加密密钥泄露的属性可撤销加密系统及方法

Publications (2)

Publication Number Publication Date
CN106059768A true CN106059768A (zh) 2016-10-26
CN106059768B CN106059768B (zh) 2019-06-21

Family

ID=57172176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610371034.0A Active CN106059768B (zh) 2016-05-30 2016-05-30 抵抗重加密密钥泄露的属性可撤销加密系统及方法

Country Status (1)

Country Link
CN (1) CN106059768B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357391A (zh) * 2016-10-28 2017-01-25 上海大学 安全信息分散加密算法
CN107426162A (zh) * 2017-05-10 2017-12-01 北京理工大学 一种基于属性基加密实施核心角色访问控制的方法
CN108063756A (zh) * 2017-11-21 2018-05-22 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
CN108200181A (zh) * 2018-01-11 2018-06-22 中国人民解放军战略支援部队信息工程大学 一种面向云存储的可撤销属性基加密系统及方法
CN108600217A (zh) * 2018-04-23 2018-09-28 南京理工大学 一种云端基于代理重加密的数据授权确定性更新方法
CN109344627A (zh) * 2018-08-16 2019-02-15 中国科学院重庆绿色智能技术研究院 一种新型香农完美保密方法
CN109409106A (zh) * 2018-09-25 2019-03-01 中国科学院重庆绿色智能技术研究院 一种新型无穷字母表的香农完美保密方法
CN110635909A (zh) * 2019-10-16 2019-12-31 淮北师范大学 一种基于属性的抗合谋攻击的代理重加密方法
CN113517983A (zh) * 2021-05-20 2021-10-19 支付宝(杭州)信息技术有限公司 生成安全计算密钥、进行安全计算的方法及装置
CN116094845A (zh) * 2023-04-10 2023-05-09 中国人民解放军国防科技大学 一种可高效撤销的条件代理重加密方法及系统
CN116319104A (zh) * 2023-05-22 2023-06-23 云上(江西)安全技术有限公司 一种基于属性重加密的数据安全运营方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546600A (zh) * 2011-12-20 2012-07-04 华为技术有限公司 基于代理的加密、解密方法,网络设备、网络装置及系统
CN102655508A (zh) * 2012-04-19 2012-09-05 华中科技大学 云环境下的用户隐私数据保护方法
WO2014034018A1 (ja) * 2012-08-30 2014-03-06 日本電気株式会社 再暗号化システム、再暗号化方法および再暗号化プログラム
US8837739B1 (en) * 2012-05-13 2014-09-16 Identillect Technologies, Inc. Encryption messaging system
US20150271153A1 (en) * 2012-07-10 2015-09-24 Kurt Ryan Rohloff Information management using proxy re-encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546600A (zh) * 2011-12-20 2012-07-04 华为技术有限公司 基于代理的加密、解密方法,网络设备、网络装置及系统
CN102655508A (zh) * 2012-04-19 2012-09-05 华中科技大学 云环境下的用户隐私数据保护方法
US8837739B1 (en) * 2012-05-13 2014-09-16 Identillect Technologies, Inc. Encryption messaging system
US20150271153A1 (en) * 2012-07-10 2015-09-24 Kurt Ryan Rohloff Information management using proxy re-encryption
WO2014034018A1 (ja) * 2012-08-30 2014-03-06 日本電気株式会社 再暗号化システム、再暗号化方法および再暗号化プログラム

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357391A (zh) * 2016-10-28 2017-01-25 上海大学 安全信息分散加密算法
CN107426162A (zh) * 2017-05-10 2017-12-01 北京理工大学 一种基于属性基加密实施核心角色访问控制的方法
CN107426162B (zh) * 2017-05-10 2018-06-22 北京理工大学 一种基于属性基加密实施核心角色访问控制的方法
CN108063756A (zh) * 2017-11-21 2018-05-22 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
US10931651B2 (en) 2017-11-21 2021-02-23 Advanced New Technologies Co., Ltd. Key management
CN108200181B (zh) * 2018-01-11 2021-03-19 中国人民解放军战略支援部队信息工程大学 一种面向云存储的可撤销属性基加密系统及方法
CN108200181A (zh) * 2018-01-11 2018-06-22 中国人民解放军战略支援部队信息工程大学 一种面向云存储的可撤销属性基加密系统及方法
CN108600217A (zh) * 2018-04-23 2018-09-28 南京理工大学 一种云端基于代理重加密的数据授权确定性更新方法
CN109344627A (zh) * 2018-08-16 2019-02-15 中国科学院重庆绿色智能技术研究院 一种新型香农完美保密方法
CN109344627B (zh) * 2018-08-16 2021-05-28 中国科学院重庆绿色智能技术研究院 一种新型香农完美保密方法
CN109409106B (zh) * 2018-09-25 2021-05-28 中国科学院重庆绿色智能技术研究院 一种新型无穷字母表的香农完美保密方法
CN109409106A (zh) * 2018-09-25 2019-03-01 中国科学院重庆绿色智能技术研究院 一种新型无穷字母表的香农完美保密方法
CN110635909A (zh) * 2019-10-16 2019-12-31 淮北师范大学 一种基于属性的抗合谋攻击的代理重加密方法
CN113517983A (zh) * 2021-05-20 2021-10-19 支付宝(杭州)信息技术有限公司 生成安全计算密钥、进行安全计算的方法及装置
CN113517983B (zh) * 2021-05-20 2023-10-20 支付宝(杭州)信息技术有限公司 生成安全计算密钥、进行安全计算的方法及装置
CN116094845A (zh) * 2023-04-10 2023-05-09 中国人民解放军国防科技大学 一种可高效撤销的条件代理重加密方法及系统
CN116319104A (zh) * 2023-05-22 2023-06-23 云上(江西)安全技术有限公司 一种基于属性重加密的数据安全运营方法
CN116319104B (zh) * 2023-05-22 2023-08-04 云上(江西)安全技术有限公司 一种基于属性重加密的数据安全运营方法

Also Published As

Publication number Publication date
CN106059768B (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
CN106059768A (zh) 抵抗重加密密钥泄露的属性可撤销加密系统及方法
CN105871538B (zh) 量子密钥分发系统、量子密钥分发方法及装置
CN104363215B (zh) 一种基于属性的加密方法和系统
CN103618728B (zh) 一种多机构中心的属性加密方法
CN107359986A (zh) 可撤销用户的外包加解密cp‑abe方法
CN102170357B (zh) 组合密钥动态安全管理系统
CN106375346B (zh) 一种云环境下基于条件广播代理重加密的数据保护方法
CN104320393B (zh) 重加密可控的高效属性基代理重加密方法
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN104901942A (zh) 一种基于属性加密的分布式访问控制方法
Ying et al. Adaptively secure ciphertext-policy attribute-based encryption with dynamic policy updating
CN105933345B (zh) 一种基于线性秘密共享的可验证外包属性基加密方法
CN114219483B (zh) 基于lwe-cpabe的区块链数据共享方法、设备和存储介质
CN105933102A (zh) 利用隐秘矩阵构造的基于身份的全同态加密方法
CN105763528B (zh) 一种混合机制下多重接收者匿名的加密装置
CN107086911A (zh) 一种cca安全的可委托验证的代理重加密方法
CN106059763A (zh) 云环境下属性基多机构层次化密文策略权重加密方法
CN106506155A (zh) 公有云环境下的密文共享方法
CN106487506A (zh) 一种支持预加密和外包解密的多机构kp‑abe方法
CN108847934A (zh) 一种多维量子同态加密方法
CN106022167A (zh) 多层次属性管理中心基于特征加密的社交隐私保护方法
CN106452748A (zh) 基于多用户的外包数据库审计方法
CN110266687A (zh) 一种采用区块链技术的物联网安全代理数据共享模块设计方法
CN106656997A (zh) 一种基于移动社交网络代理重加密跨域交友隐私保护方法
CN106059765A (zh) 一种云环境下基于属性密码的数字虚拟资产访问控制方法

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