CN104168108A - 一种泄露密钥可追踪的属性基混合加密方法 - Google Patents

一种泄露密钥可追踪的属性基混合加密方法 Download PDF

Info

Publication number
CN104168108A
CN104168108A CN201410362945.8A CN201410362945A CN104168108A CN 104168108 A CN104168108 A CN 104168108A CN 201410362945 A CN201410362945 A CN 201410362945A CN 104168108 A CN104168108 A CN 104168108A
Authority
CN
China
Prior art keywords
user
data
algorithm
rho
hdr
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
CN201410362945.8A
Other languages
English (en)
Other versions
CN104168108B (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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN201410362945.8A priority Critical patent/CN104168108B/zh
Publication of CN104168108A publication Critical patent/CN104168108A/zh
Application granted granted Critical
Publication of CN104168108B publication Critical patent/CN104168108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

一种泄露密钥可追踪的属性基混合加密方法,可信权威:1、输入系数λ,输出系统参数;2、运行随机数生成算法;3、选择一种抗碰撞哈希函数,计算哈希值;4、运行指纹码生成算法GenFC;5、计算双线性对、求幂运算;6、为用户分配指纹码,指定属性集合S;7、运行随机数生成算法、乘法和求幂运算;8、在用户私钥中嵌入指纹码。数据持有者:9、进行AES数据加密;10、生成访问控制矩阵;11、运行属性基加密算法Encapsulate,对AES会话密钥加密;12、运行双线性对和乘、除法计算,得到会话密钥;数据使用者:13、运行AES数据解密算法;可信权威:1*、寻找适应性码字;2*、计算pj和Z;3*、计算权值和,输出集合C。

Description

一种泄露密钥可追踪的属性基混合加密方法
(一)技术领域:
本发明涉及一种泄露密钥可追踪的属性基混合加密方法,可实现云存储环境下的用户密钥安全管理,在数据遭到非法访问时利用指纹码技术能有效追踪到泄露密钥的用户身份,属于信息安全中密码学领域。
(二)技术背景:
伴随着云计算概念的提出,越来越多的计算机用户将数据的存储、信息处理等业务交付给现有网络,以按需、易扩展的方式获得所需的资源,如硬件、平台、软件等。云存储就是云计算服务的一种,通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。云存储服务的出现大大减轻了数据持有用户存储数据时的沉重负担(例如手机用户的移动设备往往可用的存储空间很小,无法实现较大数据的存储)。
考虑到云存储服务的优势,各网络服务供应商都相应提出了自己的云计算服务模型,例如亚马逊公司的弹性计算云(EC2,Elastic Compute Cloud)、苹果公司的iCloud和微软的Windows Azure。在云存储环境中,用户可以将大量的数据上传到云存储服务器端,服务器由云服务提供商进行维护;唯有数据持有者和被授权的用户可以实现存储数据的访问,用户无需考虑当地存储硬件及软件的限制便可轻松实现数据的共享;脱离了对存储介质的依赖,用户可以随时随地下载存储在云端的数据,便携性更强。
云存储为我们的生活带来的便利是显而易见的,然而值得引起忧虑的是云存储中的数据安全与隐私保护问题。当我们将重要的数据上传到云端之后便交付出了数据的访问控制权,一旦云端的存储器遭到了恶意的网络攻击或是云服务提供商内部的员工出于商业利益等目的做出了不正等操作,都将对我们的数据安全造成极大的威胁。如何有效地保护云端数据的完整性,制定数据的访问权限成为用户在上传数据到云端之前需优先考虑的问题。
数据加密方法一直以来都作为数据传输、存储过程中保护数据安全性的有效手段。在云存储环境下,数据持有者可以在将数据上传到云端服务器存储之前,利用数据加密手段,对数据加密后再上传。即便发生了数据泄露事件,由于数据是经加密后存储的,只有授权的用户可以对加密后的数据解密,最大程度地保护了用户的隐私安全。
现有的加密体制分为对称加密体制与非对称加密体制,对称加密体制的加、解密密钥相同,而非对称加密体制的加、解密密钥不同。对称加密体制的优势在于加、解密速度快,密钥及密文长度短;劣势在于通信双方需使用相同的会话密钥,这往往需要额外的密钥协商协议,才能达到密钥的安全传输。非对称加密体制的优势在于,加密方加密时使用的密钥是解密方公开的密钥,解密方仅需保管好该公钥对应的解密密钥即可,省去了多余的密钥协商步骤;而非对称加密的劣势在于,加、解密的时间长,密钥及密文长度过长,存储负担过重。为了平衡两种加密机制的优劣,本发明采用混合加密的方法对数据进行加密。所谓混合加密是指,原始数据采用对称加密机制加密后作为一份密文,加密时使用的会话密钥采用非对称加密机制加密后作为第二份密文,将两份密文同时传输给解密方。解密方在得到所有密文后,首先对第二份密文解密,解密得到第一份密文的会话密钥,接着利用会话密钥完成第一份密文的解密,恢复出原始数据。
对称加密机制里主要的加密方法有DES(Data Encryption Standard)和AES(Advanced data Encryption Standard)。DES限制了加密密钥为长度为64比特,由于密钥长度过短,极易遭到字典攻击。考虑到AES的密钥长度可取128、192和256比特,在保证了密钥长度足够长的前提下,更加灵活,可适应不同强度的加密需求,故本发明采用AES的对称数据加密方法。
目前较为新颖的公钥加密方法有身份基加密方法(IBE,Identity-basedEncryption)和属性基广播加密方法(ABE,Attribute-based Encryption)。身份基加密方法的主要特点是加密数据的公钥为解密方的身份,譬如身份证件号码、电话号或是邮箱地址等。加密方在对数据加密时,首先需要知晓对方的身份信息,方可进行接下来的加密工作。而属性基加密则不同,属性基加密的密钥跟用户的属性集合相关,每个用户在系统中均有对应的属性,属性代表用户的特征,例如某医院的医生Alice在系统中的属性即可定为{{XXX医院},{心脑血管科室},{女},{主治医师},{36岁}}。加密方在对数据加密之前需要制定与属性相关的访问控制策略,只有用户的属性满足该访问控制策略的条件时方可对数据解密。比方说病人Mallory希望将自己的病历信息与某些心脑血管方面的医疗专家共享,她可以根据自己的需求制定访问控制策略:“心脑血管科室”AND“主治医师”;这样上个例子里的Alice便可作为满足访问控制策略的用户对文件进行访问。属性基加密方法较之身份基加密方法的优势在于,属性基加密无需清楚地知道对方用户的具体身份,根据用户的属性便可界定出可以访问自己数据的用户集合,这通常更加贴近现实生活中的应用场景。本发明利用了属性基加密方法的优势,根据用户的属性集合为用户生成私钥;同时,将对称加密的会话密钥用属性基加密的方法加密。
单单依靠传统的加密手段保护数据并不是万无一失的,属性基加密方法通过给用户颁发与属性集合相对的用户私钥用来对文件解密,一旦用户的私钥出于某种原因遭到了泄露,该私钥可以解密的数据也就不安全了。这时,我们需要采取紧急的应对措施,追踪到私钥泄露的源头,将数据安全的破坏降到最低。指纹码(Fingerprint code)技术便是很好的叛徒追踪方法。顾名思义,指纹是我们每个人所特有的,指纹码即是为系统中的所有用户分配的独一无二的码字,通过指纹码可以直接找到对应的用户的身份。指纹码通常由两个算法组成:指纹码生成算法GenFC和指纹码追踪算法TraFC;GenFC算法通过输入初始系统参数生成所有用户的指纹码,TraFC算法则根据盗版解码器(PD,Pirate Decoder)伪造的适应性码字追踪到泄密用户的身份。盗版解码器在这里的作用是利用泄密用户的指纹码伪造出适应性的码字,达到访问加密数据的目的。由于非法用户运行盗版解密器的具体步骤在追踪时是不可知的,所以这里我们假定它是以黑盒(Black box)的方式运行,即我们在进行追踪泄密用户的过程中无需考虑它的工作方式,同样可以达到追踪的目的。
在本发明中,我们将TraFC算法为每个用户生成的指纹码嵌入到用户的私钥中,即通过指纹码标记了用户在系统中的身份,一旦发生文件非法访问事件,通过指纹码追踪技术便可找到泄密的用户。由于指纹码追踪算法是概率算法,有可能发生追踪失败(即追踪到零个用户和无辜用户)的情况,故我们采用Koji Nuida等人的改进的指纹码追踪技术,在事先界定了抗合谋用户的数量上限及失败概率后,理论上保证在发生泄密事件后至少能追踪到一个泄密的用户。
(三)发明内容:
1、目的:
本发明的目的是提出一种泄露密钥可追踪的属性基混合加密方法,在云存储环境下,数据持有者利用混合加密的方式将数据加密后再上传到云端存储,保证了数据在云端的安全性;同时本发明结合指纹码技术,将系统为用户生成的独特的指纹码嵌入到用户私钥中,即使发生了私钥泄露事件,运行指纹码追踪算法可以有效追踪到泄露私钥的用户。
该方法平衡了对称加密和非对称加密机制的优势,通过混合加密保证数据安全性的同时提高了系统效率,节省了存储空间;指纹码技术的引入,可以确保在发生私钥泄露的情况时,数据持有者向可信权威(TA,Trusted Authority)发送数字验证请求后,可信权威至少可追踪到1位泄露密钥的用户,数据持有者可根据返回的信息采取相应措施,防止数据再次遭到破坏。
2、技术方案:
本发明包括四个实体:1)数据持有者(Data Owner):能够根据自己的安全需求制定访问控制策略,依据访问控制策略对数据加密,并将加密后的数据上传到云存储服务提供方处存储;2)数据使用者(Data Consumer):能够从云存储服务提供方处下载加密后的密文,并依据自己的私钥对数据解密;3)云存储服务提供方(Cloud Serve Provider):存储来自数据持有者的加密数据;4)可信任权威机构(Trusted Authority):受各实体信任,能可靠执行来自数据持有者的数字取证请求并作出正确回复,负责系统中所有用户的密钥生成与分发任务。
2.1基础知识:
由于本发明所设计的算法中使用了双线性映射、指纹码等方面的数学知识。特在此做出解释说明。
2.1.1双线性对
我们定义一种函数映射e(.,.),将群中的元素映射到群中去,即:其中群是两个阶数为素数p的乘法循环群。
双线性对满足的特性有:
①双线性特性:对于有e(ga,hb)=e(g,h)ab成立;
②非退化性:群中至少存在一个元素g,使得计算后的e(g,g)为群的某个生成元;
③可计算性:存在有效的算法,使得所有的可以有效计算出e(u,v)的值;
其中,Zp表示集合{0,1,2,...,p-1}。
2.1.2指纹码
我们定义一种码ω∈{0,1}L,长度为L比特,可以写作:ω=ω1ω2...ωL,其中ωi表示ω的第i位,ωi∈{0,1}。同时,我们选取一个集合集合中的元素均为长度为L比特的码。
同时我们定义:若某个长度同为L比特的码ω*满足下述条件:对于ω*的任意比特位i,集合中都能找到某一元素ω(j)(j∈{1,2,...,n}),满足ωi *=ωi (j)(即ω(j)与ω*第i位相同),则称码ω*适应该集合例如,假设集合由下述两个码字组成:
(111010,010001)
则所有满足形式为:
( 0 1 1 0 1 0 0 1 0 1 )
的码字均适应集合
最后我们定义集合集合中的元素为所有适应集合的码的全体。
抗t人合谋的指纹码的生成算法定义为GenFC,追踪算法定义为TraFC;生成算法GenFC可以生成集合Γ,由N个长度为L的码元素组成;系统中的N个用户分别被分配到集合中的一个指纹码。假设该系统中有n个用户利用自己的指纹码合谋伪造适应集合的码字ω*(这n个人的指纹码共同构成集合),在满足集合为Γ的子集这一条件的前提下,算法TraFC集合中的某一元素ω*作为输入,至少能输出一个集合中的码字。其中,集合中的元素个数不得超过最大合谋人数t,即
2.1.3访问控制结构
在属性基加密方案中,为了实现对数据使用者细粒度的访问控制,需要在加密数据之前制定访问控制策略,通过访问控制结构表达。本发明方案中使用的访问控制结构为访问控制矩阵A,即l行n列的矩阵。由于属性基加密方案中访问控制策略是与属性相关的,故在生成访问控制矩阵时,我们选择一种一一映射:ρ(i),将矩阵A的每一行的行标i均映射到访问控制策略中涉及到的一个属性上。
2.1.4抗碰撞哈希函数
本发明中使用的哈希函数具备两个基本特性:单向性和抗碰撞性;单向性是指只能从哈希函数的输入推导出输出,而不能从哈希函数的输出计算出输入;抗碰撞性是指不能找到两个不同的哈希函数输入使其哈希后的结果相同。本发明中的哈希算法输入是任意二进制字符串。
2.2技术方案内容
本发明为一种泄露密钥可追踪的属性基加密方法,该方法由系统初始化模块、用户录入模块、文档建立模块、文档访问模块和数字取证模块,五个模块共16个步骤实现其功能。其中系统初始化模块、用户录入模块、文档建立模块、文档访问模块是顺序执行的,数字取证模块的三个步骤只在发生私钥泄露事件,由数据持有者向可信权威发送数字验证请求后,方才由可信权威执行。本发明所设计的泄露密钥可追踪的属性基加密方法的系统架构图如图1所示,现结合图1将本发明所述方法及各模块的功能介绍如下。
本发明一种泄露密钥可追踪的属性基混合加密方法,其作法如下:
模块一:系统初始化模块:
步骤1:可信权威(TA,Trusted Authority)输入系统安全参数λ,运行算法输出两个阶数为素数p的群和一个双线性映射运算
步骤2:可信权威接下来运行随机数生成算法,随机选择群中的某个生成元g,以及Zp域中的两个元素a,α。
步骤3:可信权威选择一种抗碰撞哈希函数H(·),该函数满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素。
步骤4:可信权威运行指纹码生成算法GenFC,输入该整数n和L(整数n表示将要生成的指纹码集合Γ中元素的个数,L表示集合Γ中每个指纹码的长度)。算法GenFC输出指纹码集合Γ={ω(1),...,ω(n)},其中每个码字的长度为L。
步骤5:可信权威经过一次双线性对运算和两次指数运算得到公钥为:
PK=(g,ga,e(g,g)α,H(·))
经过一次指数运算得到主密钥为:
MSK=gα
其中,在步骤1中所述的“算法”,其运行方法如下:可信权威输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b(a和b是系数),再由椭圆曲线上的点构成两个素数p阶的群选择一种函数映射e,将群中的元素映射到群中去;安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。
其中,步骤2中所述的“随机数生成算法”,其做法如下:根据步骤1中所选的椭圆曲线:Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在我们想要映射的群中,则成功生成了随机元素。若点(x1,y1)不在群中,则继续选择X的值,直到找到出现在群中的点。此外,域表示集合{1,2,...,p-1},随机选择域中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行。下文中提到的随机数生成算法皆按上述方法运行。
其中,步骤3中所述的抗碰撞哈希函数H(·)同样可以从Pairing-BasedCryptosystems函数包中调用库函数运行。
其中,步骤4中所述的“指纹码生成算法GenFC”,借用Tardos“OptimalProbabilistic Fingerprint Codes”中所提到的指纹码生成算法步骤生成,在此不做详细赘述。
其中,步骤5中所述的“运行双线性对运算”,其做法如下:自变量的输入为群中的元素g、g,输出为群中的元素:e(g,g)。
模块二:用户录入模块:
步骤6:对于请求加入系统的用户,由可信权威为其分配集合Γ中的某个指纹码ω(ω∈Γ),并根据用户身份条件指定属于该用户的属性集合S。
步骤7:可信权威输入主密钥MSK=gα,运行随机数生成算法,随机选择Zp域中的某个元素r,运行两次指数和一次乘法运算,得到:
K0=gαgar和K1=gr
步骤8:可信权威输入该用户属性集合S和指纹码ω,对属性集合S中的所有属性x,从1到l,进行级联、哈希函数和指数运算,得到:
{ D x , j = H ( x | | j | | ω j ) r } ∀ x ∈ S , j = 1 , . . . , L
用户最终分配到的私钥为:
SK = ( K 0 , K 1 , { D x , j } ∀ x ∈ S , j = 1 , . . . , L )
其中,步骤8中的级联运算“||”表示字符串x,j,ωj首尾相接。
模块三:文档建立模块:
步骤9:数据持有者(Data Owner)首先运行随机数生成算法,随机选择群中的某一元素M作为对称加密的会话密钥。使用会话密钥M对文档进行AES数据加密,加密后的密文CT上传到云端存储器存储。
步骤10:数据持有者根据自己的安全需求,制定相应的访问控制策略,该策略由用户属性表示,例如“(属性1AND属性2)OR属性3”。根据访问控制策略后,生成对应的访问控制矩阵(A,ρ),A表示l行n列的矩阵,ρ表示可以将矩阵A的一行映射到访问控制策略中的某一属性的映射。
步骤11:数据持有者输入公钥PK、访问控制矩阵(A,ρ)和待加密的会话密钥M后,为确保泄露的用户私钥可以被追踪到,数据持有者首先随机选择[1,L]区间的某一整数j,对于0和1分别运行属性基加密算法Encapsulate:
Hdr j , 0 ← Encapsulate ( PK , M , ( A , ρ ) , ( j , 0 ) ) Hdr j , 1 ← Encapsulate ( PK , M , ( A , ρ ) , ( j , 1 ) )
Encapsulate算法的运行如下:
首先,数据持有者选择随机的向量向量中的s为解密时,数据使用者需要恢复的指数;其他元素υ2,…,υn是从Zp域中随机选取的。将矩阵A的每一行作为行向量与向量进行内积运算,得到λ12,…,λl
λ i = A → i · υ → ( i = 1 , . . . , l )
接下来,Encapsulate算法对矩阵A中的每一行i进行ρ(·)映射,得到对应的属性字符串ρ(i)后与j和0、1字符级联;最后分别计算其抗碰撞哈希函数的值:
H ( ρ ( i ) | | j | | 0 ) H ( ρ ( i ) | | j | | 1 )
最后,经过(2+2l)次指数和(1+2l)次乘法运算,得到Encapsulate算法的结果:
C=Me(g,g)αs,C0=gs
C 1 = g aλ 1 H ( ρ ( 1 ) | | j | | 0 ) , C 2 = g aλ 2 H ( ρ ( 2 ) | | j | | 0 ) , . . . , C l = g aλ l H ( ρ ( l ) | | j | | 0 )
C 1 ′ = g aλ 1 H ( ρ ( 1 ) | | j | | 1 ) , C 2 ′ = g aλ 2 H ( ρ ( 2 ) | | j | | 1 ) , . . . , C l ′ = g aλ l H ( ρ ( l ) | | j | | 1 )
记为:
Hdr j , 0 = ( C , C 0 , { C 1 , C 2 , . . . , C l } ) Hdr j , 1 = ( C , C 0 , { C 1 ′ , C 2 ′ , . . . , C l ′ } )
最终M经Encapsulate算法加密后的密文表示为:
Hdr=(j,Hdrj,0,Hdrj,1)
其中,步骤9中所述的“AES数据加密”,通过下载MySQL(关系数据库管理系统)应用软件,可以通过调用函数“SELECT AES_ENCRYPT()”进行加密。
其中,步骤10中所述的“生成对应的访问控制矩阵(A,ρ)”,矩阵A中各元素的选择原则是能够有效恢复出步骤11中提到的“指数s”。
模块四:文档访问模块:
这里我们定义集合I(I={i|ρ(i)∈S}),表示用户属性集合S中所有属性ρ(i)∈S通过映射ρ(·),对应的访问控制矩阵A的行标i的集合。若用户的属性集合S中的属性满足数据持有者加密M时制定的访问控制策略,则一定可以找到常数wi∈Zp,按照下式:
Σ i ∈ I w i λ i = s
有效恢复出指数s。
步骤12:在这一模块中,数据的使用者(Data Consumer)从云端存储器下载需要访问的加密文件CT和Hdr。从步骤11的输出可知,消息Hdr由三部分组成;数据使用用户首先查看自身指纹码的第j位:对于指纹码的第j位是0的情况,属性基解密算法的输入为Hdr的第二部分Hdrj,0和该数据使用者的用户私钥SK;对于第j位是1的情况,属性基解密算法的输入为Hdr的第三部分Hdrj,1和该数据使用者的用户私钥SK。
第j位是0时属性基解密算法按下式运行双线性对和乘、除法计算:
M ′ = e ( C 0 , K 0 ) Π ρ ( i ) ∈ S ( e ( C i , K 1 ) · e ( C 0 , D ρ ( i ) , j ) ) w i = e ( g s , g α ) e ( g s , g ar ) e ( g a , g r ) Σ ρ ( i ) ∈ S w i λ i = e ( g , g ) αs
第j位是1时属性基解密算法按下式运行双线性对和乘、除法计算:
M ′ = e ( C 0 , K 0 ) Π ρ ( i ) ∈ S ( e ( C i ′ , K 1 ) · e ( C 0 , D ρ ( i ) , j ) ) w i = e ( g s , g α ) e ( g s , g ar ) e ( g a , g r ) Σ ρ ( i ) ∈ S w i λ i = e ( g , g ) αs
经最后一步除法运算,得到会话密钥M:
M = C / M ′ = Me ( g , g ) αs e ( g , g ) αs ;
步骤13:数据使用者使用会话密钥M,对加密文件CT运行AES数据解密算法,即可访问所需的明文文件。
其中,步骤13中所述的“运行AES数据解密算法”,通过下载MySQL(关系数据库管理系统)应用软件,可以通过调用函数“SELECT AES_DECRYPT(AES_ENCRYPT()”进行解密。
模块五:数字取证模块:
该数字取证模块只在发生用户私钥泄露的情况时才运行,共分3步执行:
步骤1*:可信权威首先寻找被盗版解码器(PD)用来伪造用户私钥的适应性码字:ω*
对于j从1到L,每次选择群中两个不等的消息分别运行Encapsulate算法得到输出:
Hdr j , 0 ← Encapsulate ( PK , M j , ( A , ρ ) , ( j , 0 ) ) Hdr j , 1 ← Encapsulate ( PK , M j ′ , ( A , ρ ) , ( j , 1 ) )
将得到的结果作为盗版解码器的输入(盗版解密器是根据泄露的用户私钥构造的,具有伪造用户私钥、解密数据的功能,输出为解密后的消息Mj *),若输出的结果Mj *与Mj相等,则判断适应性码字ω*的第j位为0,即ωj *=0;否则,判断为1。
j经1遍历到L后,可以得到被盗版解码器(PD)用来伪造用户私钥的适应性码字:ω*=ω1 *ω2 *…ωL *
步骤2*:首先,可信权威需要指定追踪算法TraFC的容错概率ε(表示TraFC算法追踪到的最后结果包含某个无辜用户或是追踪无果的概率),下式中的t表示该指纹码可以抗t人合谋攻击,即超过t人的合谋,该算法便失去了有效性。故该算法需在运行追踪算法之前确定泄密用户的总数不多于t。
接下来,分别计算k、k′和阈值Z的值:
k=1/300t,
在得到k′的值后,随机选择区间之间的某一随机值并计算pj=sin2rj(j从1遍历到L)。
步骤3*:将上一步得到的适应性码字ω*=ω1 *ω2 *…ωL *,分别与指纹码集合Γ={ω(1),...,ω(n)}中的所有码字进行对比,按照下式计算每次比较对应码字位的权值:
S i j = σ ( p j ) ω j * = 1 , ω j i = 1 - σ ( 1 - p j ) ω j * = 1 , ω j i = 0 - σ ( p j ) ω j * = 0 , ω j i = 0 σ ( 1 - p j ) ω j * = 1 , ω j i = 0 i = 1 , . . . , n ; j = 1 , . . . , L
其中, σ ( p ) = ( 1 - p ) / p .
对于每个用户,计算所有位的权值之和:并与阈值Z比较,所有权值之和高于Z的用户,其系统标号记入集合C中,可信权威输出追踪结果
3、优点及功效:
本发明提供一种泄露密钥可追踪的属性基混合加密方法,在云存储环境下使用该方法对数据加密可保证数据在不完全可信的云存储器存储时的安全性,且一旦发生用户私钥泄露事件,可信权威机构可有效追踪到泄密用户的身份,该方法的优点和功效是:
1)本发明方法首先考虑到数据持有者的明文数据上传到云存储器中存储后,数据持有者便失去了对自身数据的控制权,明文数据的完整性极易遭到来自网络环境中各路不法分子的恶意破坏。出于保护数据外包存储安全性的目的,本发明方法引入密码学中的加密技术,在数据持有者将数据上传到云存储器存储前,先对数据进行加密,仅有数据持有者和授权的数据使用者(即持有解密私钥的用户)方可对加密文件解密。
2)本发明方法综合了对称加密机制和非对称加密机制的优点,采用混合加密的方式,首先将明文数据以对称加密机制中的AES加密方法加密,该方法加密速度快,密文长度短小,便于存储。以非对称加密机制中的属性基加密方法对AES的会话密钥再加密,用户属性满足访问控制结构的解密者方可获得会话密钥,完成AES解密。该方法省去了繁琐的密钥协商步骤,且属性基加密方法更贴近现实生活的应用场景,实用性更强。
3)本发明方法与以往的属性基加密方法相比最大的优势与创新点在于:该方法加入了指纹码追踪技术,将独特的指纹码嵌入到用户的私钥中,发生私钥泄露时可有效追踪到泄露的源头;现有的属性基方法仅具备了加、解密数据的功能,一旦用户的私钥泄露,以该私钥对应的公钥加密的数据就会遭到非法访问,这对数据的安全性保护来说是存在漏洞的。本发明方法结合已有的技术成熟的指纹码技术,在可信权威的协助下,通过与盗版解密器(PD)交互,能有效追踪到泄露密钥的用户的身份,数据持有者在知晓泄密用户之后可采取应急手段,防止数据再次遭到破坏。
(四)附图说明:
图1为本发明所述方法的系统架构图。
图2为本发明所述方法的流程框图。
(五)具体实施方式
本发明为一种泄露密钥可追踪的属性基混合加密方法,该方法由系统初始化模块、用户录入模块、文档建立模块、文档访问模块和数字取证模块这五个模块实现。整个泄露密钥可追踪的属性基混合加密方法运行的系统架构图见图1所示,本发明所述方法的流程框图见图2所示,结合该流程框图,将该方法的具体实现步骤介绍如下:
本发明一种泄露密钥可追踪的属性基混合加密方法,该方法的作法如下:
模块一:系统初始化模块:
步骤1:可信权威(TA,Trusted Authority)输入系统安全参数λ,运行算法输出两个阶数为素数p的群和一个双线性映射运算
步骤2:可信权威接下来运行随机数生成算法,随机选择群中的某个生成元g,以及Zp域中的两个元素a,α。
步骤3:可信权威选择一种抗碰撞哈希函数H(·),该函数满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素。
步骤4:可信权威运行指纹码生成算法GenFC,输入该整数n和L(整数n表示将要生成的指纹码集合Γ中元素的个数,L表示集合Γ中每个指纹码的长度)。算法GenFC输出指纹码集合Γ={ω(1),...,ω(n)},其中每个码字的长度为L。
步骤5:可信权威经过一次双线性对运算和两次指数运算得到公钥为:
PK=(g,ga,e(g,g)α,H(·))
经过一次指数运算得到主密钥为:
MSK=gα
其中,在步骤1中所述的“算法”,其运行方法如下:私钥生成中心(PKG)输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b(a和b是系数),再由椭圆曲线上的点构成两个素数p阶的群选择一种函数映射e,将群中的元素映射到群中去;安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。
其中,步骤2中所述的“随机数生成算法”,其做法如下:根据步骤1中所选的椭圆曲线:Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在我们想要映射的群中,则成功生成了随机元素。若点(x1,y1)不在群中,则继续选择X的值,直到找到出现在群中的点。此外,域表示集合{1,2,...,p-1},随机选择域中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行。下文中提到的随机数生成算法皆按上述方法运行。
其中,步骤3中所述的抗碰撞哈希函数H(·)同样可以从Pairing-BasedCryptosystems函数包中调用库函数运行。
其中,步骤4中所述的“指纹码生成算法GenFC”,借用Tardos“OptimalProbabilistic Fingerprint Codes”中所提到的指纹码生成算法步骤生成,在此不做详细描述。
其中,步骤5中所述的“运行双线性对运算”,其做法如下:自变量的输入为群中的元素g、g,输出为群中的元素:e(g,g)。
模块二:用户录入模块:
步骤6:对于请求加入系统的用户,由可信权威为其分配集合Γ中的某个指纹码ω(ω∈Γ),并根据用户身份条件指定属于该用户的属性集合S。
步骤7:可信权威输入主密钥MSK=gα,运行随机数生成算法,随机选择Zp域中的某个元素r,运行两次指数和一次乘法运算,得到:
K0=gαgar和K1=gr
步骤8:可信权威输入该用户属性集合S和指纹码ω,对属性集合S中的所有属性x,从1到l,进行级联、哈希函数和指数运算,得到:
{ D x , j = H ( x | | j | | ω j ) r } ∀ x ∈ S , j = 1 , . . . , L
用户最终分配到的私钥为:
SK = ( K 0 , K 1 , { D x , j } ∀ x ∈ S , j = 1 , . . . , L )
其中,步骤8中的级联运算“||”表示字符串x,j,ωj首尾相接。
模块三:文档建立模块:
步骤9:数据持有者(Data Owner)首先运行随机数生成算法,随机选择群中的某一元素M作为对称加密的会话密钥。使用会话密钥M对文档进行AES数据加密,加密后的密文CT上传到云端存储器存储。
步骤10:数据持有者根据自己的安全需求,制定相应的访问控制策略,该策略由用户属性表示,例如“(属性1AND属性2)OR属性3”。根据访问控制策略后,生成对应的访问控制矩阵(A,ρ),A表示l行n列的矩阵,ρ表示可以将矩阵A的一行映射到访问控制策略中的某一属性的映射。
步骤11:数据持有者输入公钥PK、访问控制矩阵(A,ρ)和待加密的会话密钥M后,为确保泄露的用户私钥可以被追踪到,数据持有者首先随机选择[1,L]区间的某一整数j,对于0和1分别运行属性基加密算法Encapsulate:
Hdr j , 0 ← Encapsulate ( PK , M , ( A , ρ ) , ( j , 0 ) ) Hdr j , 1 ← Encapsulate ( PK , M , ( A , ρ ) , ( j , 1 ) )
Encapsulate算法的运行如下:
首先,数据持有者选择随机的向量向量中的s为解密时,数据使用者需要恢复的指数;其他元素υ2,…,υn是从Zp域中随机选取的。将矩阵A的每一行作为行向量与向量进行内积运算,得到λ12,…,λl
λ i = A → i · υ → ( i = 1 , . . . , l )
接下来,Encapsulate算法对矩阵A中的每一行i进行ρ(·)映射,得到对应的属性字符串ρ(i)后与j和0、1字符级联;最后分别计算其抗碰撞哈希函数的值:
H ( ρ ( i ) | | j | | 0 ) H ( ρ ( i ) | | j | | 1 )
最后,经过(2+2l)次指数和(1+2l)次乘法运算,得到Encapsulate算法的结果:
C=Me(g,g)αs,C0=gs
C 1 = g aλ 1 H ( ρ ( 1 ) | | j | | 0 ) , C 2 = g aλ 2 H ( ρ ( 2 ) | | j | | 0 ) , . . . , C l = g aλ l H ( ρ ( l ) | | j | | 0 )
C 1 ′ = g aλ 1 H ( ρ ( 1 ) | | j | | 1 ) , C 2 ′ = g aλ 2 H ( ρ ( 2 ) | | j | | 1 ) , . . . , C l ′ = g aλ l H ( ρ ( l ) | | j | | 1 )
记为:
Hdr j , 0 = ( C , C 0 , { C 1 , C 2 , . . . , C l } ) Hdr j , 1 = ( C , C 0 , { C 1 ′ , C 2 ′ , . . . , C l ′ } )
最终M经Encapsulate算法加密后的密文表示为:
Hdr=(j,Hdrj,0,Hdrj,1)
其中,步骤9中所述的“AES数据加密”,通过下载MySQL(关系数据库管理系统)应用软件,可以通过调用函数“SELECT AES_ENCRYPT()”进行加密。
其中,步骤10中所述的“生成对应的访问控制矩阵(A,ρ)”,矩阵A中各元素的选择原则是能够有效恢复出步骤11中提到的“指数s”。
模块四:文档访问模块:
在这一模块中,数据的使用者(Data Consumer)从云端存储器下载需要访问的加密文件CT和Hdr。运行属性基解密算法,若数据使用者的属性集合S中的属性满足数据持有者加密会话密钥M时制定的访问控制策略,通过输入该数据使用用户的私钥SK和待解密的消息Hdr,则可以从Hdr中成功解密出会话密钥M。
这里我们定义集合I(I={i|ρ(i)∈S}),表示用户属性集合S中所有属性ρ(i)∈S通过映射ρ(·),对应的访问控制矩阵A的行标i的集合。若用户的属性集合S中的属性满足数据持有者加密M时制定的访问控制策略,则一定可以找到常数wi∈Zp,按照下式:
Σ i ∈ I w i λ i = s
有效恢复出指数s。
步骤12:从步骤11的输出可知,消息Hdr由三部分组成;数据使用用户首先查看自身指纹码的第j位:对于指纹码的第j位是0的情况,属性基解密算法的输入为Hdr的第二部分Hdrj,0和该数据使用者的用户私钥SK;对于第j位是1的情况,属性基解密算法的输入为Hdr的第三部分Hdrj,1和该数据使用者的用户私钥SK。
第j位是0时属性基解密算法按下式运行双线性对和乘、除法计算:
M ′ = e ( C 0 , K 0 ) Π ρ ( i ) ∈ S ( e ( C i , K 1 ) · e ( C 0 , D ρ ( i ) , j ) ) w i = e ( g s , g α ) e ( g s , g ar ) e ( g a , g r ) Σ ρ ( i ) ∈ S w i λ i = e ( g , g ) αs
第j位是1时属性基解密算法按下式运行双线性对和乘、除法计算:
M ′ = e ( C 0 , K 0 ) Π ρ ( i ) ∈ S ( e ( C i ′ , K 1 ) · e ( C 0 , D ρ ( i ) , j ) ) w i = e ( g s , g α ) e ( g s , g ar ) e ( g a , g r ) Σ ρ ( i ) ∈ S w i λ i = e ( g , g ) αs
经最后一步除法运算,得到会话密钥M:
M = C / M ′ = Me ( g , g ) αs e ( g , g ) αs ;
步骤13:数据使用者使用会话密钥M,对加密文件CT运行AES数据解密算法,即可访问所需的明文文件。
其中,步骤13中所述的“运行AES数据解密算法”,通过下载MySQL(关系数据库管理系统)应用软件,可以通过调用函数“SELECT AES_DECRYPT(AES_ENCRYPT()”进行解密。
模块五:数字取证模块:
当数据持有者发现自己存储在云端的数据被非法访问时,可以向可信权威(TA)发送数字取证请求,由TA寻找出泄露密钥的用户。TA在接到取证请求后,运行指纹码追踪算法TraFC找到叛徒用户集合C,发送给数据持有者,该数字取证模块只在发生用户私钥泄露的情况时才运行,共分3步执行:
步骤1*:可信权威首先寻找被盗版解码器(PD)用来伪造用户私钥的适应性码字:ω*
对于j从1到L,每次选择群中两个不等的消息分别运行Encapsulate算法得到输出:
Hdr j , 0 ← Encapsulate ( PK , M j , ( A , ρ ) , ( j , 0 ) ) Hdr j , 1 ← Encapsulate ( PK , M j ′ , ( A , ρ ) , ( j , 1 ) )
将得到的结果作为盗版解码器的输入(盗版解密器是根据泄露的用户私钥构造的,具有伪造用户私钥、解密数据的功能,输出为解密后的消息Mj *),若输出的结果Mj *与Mj相等,则判断适应性码字ω*的第j位为0,即ωj *=0;否则,判断为1。
j经1遍历到L后,可以得到被盗版解码器(PD)用来伪造用户私钥的适应性码字:ω*=ω1 *ω2 *…ωL *
步骤2*:首先,可信权威需要指定追踪算法TraFC的容错概率ε(表示TraFC算法追踪到的最后结果包含某个无辜用户或是追踪无果的概率),下式中的t表示该指纹码可以抗t人合谋攻击,即超过t人的合谋,该算法便失去了有效性。故该算法需在运行追踪算法之前确定泄密用户的总数不多于t。
接下来,分别计算k、k′和阈值Z的值:
k=1/300t,
在得到k′的值后,随机选择区间之间的某一随机值并计算pj=sin2rj(j从1遍历到L)。
步骤3*:将上一步得到的适应性码字ω*=ω1 *ω2 *…ωL *,分别与指纹码集合Γ={ω(1),...,ω(n)}中的所有码字进行对比,按照下式计算每次比较对应码字位的权值:
S i j = σ ( p j ) ω j * = 1 , ω j i = 1 - σ ( 1 - p j ) ω j * = 1 , ω j i = 0 - σ ( p j ) ω j * = 0 , ω j i = 0 σ ( 1 - p j ) ω j * = 1 , ω j i = 0 i = 1 , . . . , n ; j = 1 , . . . , L
其中, σ ( p ) = ( 1 - p ) / p .
对于每个用户,计算所有位的权值之和:并与阈值Z比较,所有权值之和高于Z的用户,其系统标号记入集合C中,可信权威输出追踪结果

Claims (6)

1.一种泄露密钥可追踪的属性基混合加密方法,其特征在于:其作法如下:
模块一:系统初始化模块:
步骤1:可信权威即TA输入系统安全参数λ,运行算法输出两个阶数为素数p的群和一个双线性映射运算
步骤2:可信权威接下来运行随机数生成算法,随机选择群中的某个生成元g,以及Zp域中的两个元素a,α;
步骤3:可信权威选择一种抗碰撞哈希函数H(·),该函数满足抗碰撞哈希函数的所有特性,输入为任意长度的0、1字符串,输出为映射到群中的某一元素;
步骤4:可信权威运行指纹码生成算法GenFC,输入该整数n和L,该整数n表示将要生成的指纹码集合Γ中元素的个数,L表示集合Γ中每个指纹码的长度;算法GenFC输出指纹码集合Γ={ω(1),...,ω(n)},其中每个码字的长度为L;
步骤5:可信权威经过一次双线性对运算和两次指数运算得到公钥为:
PK=(g,ga,e(g,g)α,H(·))
经过一次指数运算得到主密钥为:
MSK=gα
模块二:用户录入模块:
步骤6:对于请求加入系统的用户,由可信权威为其分配集合Γ中的某个指纹码ω(ω∈Γ),并根据用户身份条件指定属于该用户的属性集合S;
步骤7:可信权威输入主密钥MSK=gα,运行随机数生成算法,随机选择Zp域中的某个元素r,运行两次指数和一次乘法运算,得到:
K0=gαgar和K1=gr
步骤8:可信权威输入该用户属性集合S和指纹码ω,对属性集合S中的所有属性x,从1到l,进行级联、哈希函数和指数运算,得到:
{ D x , j = H ( x | | j | | ω j ) r } ∀ x ∈ S , j = 1 , . . . , L
用户最终分配到的私钥为:
SK = ( K 0 , K 1 , { D x , j } ∀ x ∈ S , j = 1 , . . . , L ) ;
其中,该级联运算“||”表示字符串x,j,ωj首尾相接;
模块三:文档建立模块:
步骤9:数据持有者即Data Owner首先运行随机数生成算法,随机选择群中的某一元素M作为对称加密的会话密钥;使用会话密钥M对文档进行AES数据加密,加密后的密文CT上传到云端存储器存储;
步骤10:数据持有者根据自己的安全需求,制定相应的访问控制策略,该策略由用户属性表示,例如“(属性1AND属性2)OR属性3”,根据访问控制策略后,生成对应的访问控制矩阵(A,ρ),A表示l行n列的矩阵,ρ表示能将矩阵A的一行映射到访问控制策略中的某一属性的映射;
步骤11:数据持有者输入公钥PK、访问控制矩阵(A,ρ)和待加密的会话密钥M后,为确保泄露的用户私钥能被追踪到,数据持有者首先随机选择[1,L]区间的某一整数j,对于0和1分别运行属性基加密算法Encapsulate:
Hdr j , 0 ← Encapsulate ( PK , M , ( A , ρ ) , ( j , 0 ) ) Hdr j , 1 ← Encapsulate ( PK , M , ( A , ρ ) , ( j , 1 ) )
Encapsulate算法的运行如下:
首先,数据持有者选择随机的向量向量中的s为解密时,数据使用者需要恢复的指数;其他元素υ2,…,υn是从Zp域中随机选取的,将矩阵A的每一行作为行向量与向量进行内积运算,得到λ12,…,λl
λ i = A → i · υ → ( i = 1 , . . . , l )
接下来,Encapsulate算法对矩阵A中的每一行i进行ρ(·)映射,得到对应的属性字符串ρ(i)后与j和0、1字符级联;最后分别计算其抗碰撞哈希函数的值:
H ( ρ ( i ) | | j | | 0 ) H ( ρ ( i ) | | j | | 1 )
最后,经过(2+2l)次指数和(1+2l)次乘法运算,得到Encapsulate算法的结果:
C=Me(g,g)αs,C0=gs
C 1 = g aλ 1 H ( ρ ( 1 ) | | j | | 0 ) , C 2 = g aλ 2 H ( ρ ( 2 ) | | j | | 0 ) , . . . , C l = g aλ l H ( ρ ( l ) | | j | | 0 )
C 1 ′ = g aλ 1 H ( ρ ( 1 ) | | j | | 1 ) , C 2 ′ = g aλ 2 H ( ρ ( 2 ) | | j | | 1 ) , . . . , C l ′ = g aλ l H ( ρ ( l ) | | j | | 1 )
记为:
Hdr j , 0 = ( C , C 0 , { C 1 , C 2 , . . . , C l } ) Hdr j , 1 = ( C , C 0 , { C 1 ′ , C 2 ′ , . . . , C l ′ } )
最终M经Encapsulate算法加密后的密文表示为:
Hdr=(j,Hdrj,0,Hdrj,1);
模块四:文档访问模块:
定义集合I(I={i|ρ(i)∈S}),表示用户属性集合S中所有属性ρ(i)∈S通过映射ρ(·),对应的访问控制矩阵A的行标i的集合;若用户的属性集合S中的属性满足数据持有者加密M时制定的访问控制策略,则一定能找到常数wi∈Zp,按照下式:
Σ i ∈ I w i λ i = s
有效恢复出指数s;
步骤12:在这一模块中,数据的使用者即Data Consumer从云端存储器下载需要访问的加密文件CT和Hdr;从步骤11的输出可知,消息Hdr由三部分组成;数据使用用户首先查看自身指纹码的第j位:对于指纹码的第j位是0的情况,属性基解密算法的输入为Hdr的第二部分Hdrj,0和该数据使用者的用户私钥SK;对于第j位是1的情况,属性基解密算法的输入为Hdr的第三部分Hdrj,1和该数据使用者的用户私钥SK;
第j位是0时属性基解密算法按下式运行双线性对和乘、除法计算:
M ′ = e ( C 0 , K 0 ) Π ρ ( i ) ∈ S ( e ( C i , K 1 ) · e ( C 0 , D ρ ( i ) , j ) ) w i = e ( g s , g α ) e ( g s , g ar ) e ( g a , g r ) Σ ρ ( i ) ∈ S w i λ i = e ( g , g ) αs
第j位是1时属性基解密算法按下式运行双线性对和乘、除法计算:
M ′ = e ( C 0 , K 0 ) Π ρ ( i ) ∈ S ( e ( C i ′ , K 1 ) · e ( C 0 , D ρ ( i ) , j ) ) w i = e ( g s , g α ) e ( g s , g ar ) e ( g a , g r ) Σ ρ ( i ) ∈ S w i λ i = e ( g , g ) αs
经最后一步除法运算,得到会话密钥M:
M = C / M ′ = Me ( g , g ) αs e ( g , g ) αs ;
步骤13:数据使用者使用会话密钥M,对加密文件CT运行AES数据解密算法,即能访问所需的明文文件;
模块五:数字取证模块:
该数字取证模块只在发生用户私钥泄露的情况时才运行,共分3步执行:
步骤1*:可信权威首先寻找被盗版解码器即PD用来伪造用户私钥的适应性码字:ω*
对于j从1到L,每次选择群中两个不等的消息分别运行Encapsulate算法得到输出:
Hdr j , 0 ← Encapsulate ( PK , M j , ( A , ρ ) , ( j , 0 ) ) Hdr j , 1 ← Encapsulate ( PK , M j ′ , ( A , ρ ) , ( j , 1 ) )
将得到的结果作为盗版解码器的输入,该盗版解密器是根据泄露的用户私钥构造的,具有伪造用户私钥、解密数据的功能,输出为解密后的消息Mj *,若输出的结果Mj *与Mj相等,则判断适应性码字ω*的第j位为0,即ωj *=0;否则,判断为1;
j经1遍历到L后,能得到被盗版解码器即PD用来伪造用户私钥的适应性码字:ω*=ω1 *ω2 *…ωL *
步骤2*:首先,可信权威需要指定追踪算法TraFC的容错概率ε(表示TraFC算法追踪到的最后结果包含某个无辜用户或是追踪无果的概率),下式中的t表示该指纹码可以抗t人合谋攻击,即超过t人的合谋,该算法便失去了有效性;故该算法需在运行追踪算法之前确定泄密用户的总数不多于t;
接下来,分别计算k、k′和阈值Z的值:
k=1/300t,
在得到k′的值后,随机选择区间之间的某一随机值并计算pj=sin2rj,j从1遍历到L;
步骤3*:将上一步得到的适应性码字ω*=ω1 *ω2 *…ωL *,分别与指纹码集合Γ={ω(1),...,ω(n)}中的所有码字进行对比,按照下式计算每次比较对应码字位的权值:
S i j = σ ( p j ) ω j * = 1 , ω j i = 1 - σ ( 1 - p j ) ω j * = 1 , ω j i = 0 - σ ( p j ) ω j * = 0 , ω j i = 0 σ ( 1 - p j ) ω j * = 1 , ω j i = 0 i = 1 , . . . , n ; j = 1 , . . . , L
其中, σ ( p ) = ( 1 - p ) / p ;
对于每个用户,计算所有位的权值之和:并与阈值Z比较,所有权值之和高于Z的用户,其系统标号记入集合C中,可信权威输出追踪结果
2.根据权利要求1所述的一种泄露密钥可追踪的属性基混合加密方法,其特征在于:在步骤1中所述的“运行算法”,其运行方法如下:可信权威输入系统安全参数λ,根据λ的大小,系统选择相应的椭圆曲线:Y2=X3+aX+b,a和b是系数,再由椭圆曲线上的点构成两个素数p阶的群选择一种函数映射e,将群中的元素映射到群中去;安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。
3.根据权利要求1所述的一种泄露密钥可追踪的属性基混合加密方法,其特征在于:在步骤2中所述的“随机数生成算法”,其做法如下:根据步骤1中所选的椭圆曲线:Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在我们想要映射的群中,则成功生成了随机元素;若点(x1,y1)不在群中,则继续选择X的值,直到找到出现在群中的点;此外,域表示集合{1,2,...,p-1},随机选择域中元素的随机数生成函数能从Pairing-Based Cryptosystems函数包中调用库函数运行。
4.根据权利要求1所述的一种泄露密钥可追踪的属性基混合加密方法,其特征在于:在步骤5中所述的“运行双线性对运算”,其做法如下:自变量的输入为群中的元素g、g,输出为群中的元素:e(g,g)。
5.根据权利要求1所述的一种泄露密钥可追踪的属性基混合加密方法,其特征在于:在步骤9中所述的“AES数据加密”,通过下载MySQL应用软件,能通过调用函数“SELECT AES_ENCRYPT()”进行加密。
6.根据权利要求1所述的一种泄露密钥可追踪的属性基混合加密方法,其特征在于:在步骤13中所述的“运行AES数据解密算法”,通过下载MySQL应用软件,能通过调用函数“SELECT AES_DECRYPT(AES_ENCRYPT()”进行解密。
CN201410362945.8A 2014-07-28 2014-07-28 一种泄露密钥可追踪的属性基混合加密方法 Active CN104168108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410362945.8A CN104168108B (zh) 2014-07-28 2014-07-28 一种泄露密钥可追踪的属性基混合加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410362945.8A CN104168108B (zh) 2014-07-28 2014-07-28 一种泄露密钥可追踪的属性基混合加密方法

Publications (2)

Publication Number Publication Date
CN104168108A true CN104168108A (zh) 2014-11-26
CN104168108B CN104168108B (zh) 2017-04-05

Family

ID=51911760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410362945.8A Active CN104168108B (zh) 2014-07-28 2014-07-28 一种泄露密钥可追踪的属性基混合加密方法

Country Status (1)

Country Link
CN (1) CN104168108B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450650A (zh) * 2015-12-03 2016-03-30 中国人民大学 一种安全移动电子健康记录访问控制系统
CN105530087A (zh) * 2015-12-28 2016-04-27 北京航空航天大学 适应性选择密文安全的属性基加密方法
CN106100844A (zh) * 2016-05-24 2016-11-09 天津大学 基于点盲化方法的优化自动双线性对加密方法及装置
CN106487786A (zh) * 2016-09-30 2017-03-08 陕西师范大学 一种基于生物特征的云数据完整性验证方法及系统
CN108768976A (zh) * 2018-05-16 2018-11-06 东南大学 一种基于ppspc的云存储访问控制方法
CN108826528A (zh) * 2016-03-17 2018-11-16 漳州龙文区汇洋远软件开发有限公司 一种空气净化器的空气净化方法
CN109257165A (zh) * 2017-07-12 2019-01-22 北京嘀嘀无限科技发展有限公司 细粒度移动访问的加密、解密方法及加密、解密系统
CN109325361A (zh) * 2018-09-11 2019-02-12 陕西师范大学 支持内积运算的可搜索公钥加密方法
CN109640299A (zh) * 2019-01-31 2019-04-16 浙江工商大学 一种保证m2m通信完整及故障容错的聚合方法及系统
CN110061837A (zh) * 2019-04-22 2019-07-26 南京工业大学 一种基于外包解密的密文定长的加密传输机制
CN110348246A (zh) * 2018-04-08 2019-10-18 腾讯科技(深圳)有限公司 一种验证信息的生成方法、装置、终端设备和介质
CN111447209A (zh) * 2020-03-24 2020-07-24 西南交通大学 一种黑盒可追踪密文策略属性基加密方法
WO2021026763A1 (en) * 2019-08-13 2021-02-18 Nokia Shanghai Bell Co., Ltd. Data security for network slice management
WO2021190450A1 (zh) * 2020-03-23 2021-09-30 齐鲁工业大学 用于云协助物联网的带追踪的多属性机构属性基加密方法
CN113783898A (zh) * 2021-11-12 2021-12-10 湖南大学 一种可更新混合加密方法
US11444752B2 (en) 2017-07-06 2022-09-13 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for data encryption and decryption in data transmission
US11522868B2 (en) * 2016-07-28 2022-12-06 Koninklijke Philips N.V. Identifying a network node to which data will be replicated

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807991A (zh) * 2009-02-18 2010-08-18 上海交通大学 密文政策属性基加密系统和方法
EP2372948A1 (en) * 2010-03-19 2011-10-05 Huawei Technologies Co., Ltd. Method, device, and system for an identity-based forward-secure digital signature
CN102624522A (zh) * 2012-03-30 2012-08-01 华中科技大学 一种基于文件属性的密钥加密方法
CN103647644A (zh) * 2013-12-26 2014-03-19 北京航空航天大学 一种实现分层认证机构的属性基加密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807991A (zh) * 2009-02-18 2010-08-18 上海交通大学 密文政策属性基加密系统和方法
EP2372948A1 (en) * 2010-03-19 2011-10-05 Huawei Technologies Co., Ltd. Method, device, and system for an identity-based forward-secure digital signature
CN102624522A (zh) * 2012-03-30 2012-08-01 华中科技大学 一种基于文件属性的密钥加密方法
CN103647644A (zh) * 2013-12-26 2014-03-19 北京航空航天大学 一种实现分层认证机构的属性基加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEIRAN LIU, XIAO LIU, QIANHONG WU, BO QIN: ""Experimental performance comparisons between (H)IBE schemes over composite-order and prime-order bilinear groups"", 《PROCEEDINGS OF 2014 11TH INTERNATIONAL BHURBAN CONFERENCE ON APPLIED SCIENCES & TECHNOLOGY (IBCAST)》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450650A (zh) * 2015-12-03 2016-03-30 中国人民大学 一种安全移动电子健康记录访问控制系统
CN105450650B (zh) * 2015-12-03 2019-03-08 中国人民大学 一种安全移动电子健康记录访问控制系统
CN105530087A (zh) * 2015-12-28 2016-04-27 北京航空航天大学 适应性选择密文安全的属性基加密方法
CN105530087B (zh) * 2015-12-28 2019-05-10 北京航空航天大学 适应性选择密文安全的属性基加密方法
CN108826528A (zh) * 2016-03-17 2018-11-16 漳州龙文区汇洋远软件开发有限公司 一种空气净化器的空气净化方法
CN106100844A (zh) * 2016-05-24 2016-11-09 天津大学 基于点盲化方法的优化自动双线性对加密方法及装置
CN106100844B (zh) * 2016-05-24 2020-08-18 天津大学 基于点盲化方法的优化自动双线性对加密方法及装置
US11522868B2 (en) * 2016-07-28 2022-12-06 Koninklijke Philips N.V. Identifying a network node to which data will be replicated
CN106487786A (zh) * 2016-09-30 2017-03-08 陕西师范大学 一种基于生物特征的云数据完整性验证方法及系统
CN106487786B (zh) * 2016-09-30 2020-03-20 陕西师范大学 一种基于生物特征的云数据完整性验证方法及系统
US11444752B2 (en) 2017-07-06 2022-09-13 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for data encryption and decryption in data transmission
CN109257165A (zh) * 2017-07-12 2019-01-22 北京嘀嘀无限科技发展有限公司 细粒度移动访问的加密、解密方法及加密、解密系统
CN110348246A (zh) * 2018-04-08 2019-10-18 腾讯科技(深圳)有限公司 一种验证信息的生成方法、装置、终端设备和介质
CN110348246B (zh) * 2018-04-08 2022-08-30 腾讯科技(深圳)有限公司 一种验证信息的生成方法、装置、终端设备和介质
CN108768976A (zh) * 2018-05-16 2018-11-06 东南大学 一种基于ppspc的云存储访问控制方法
CN109325361A (zh) * 2018-09-11 2019-02-12 陕西师范大学 支持内积运算的可搜索公钥加密方法
CN109325361B (zh) * 2018-09-11 2021-08-03 陕西师范大学 支持内积运算的可搜索公钥加密方法
CN109640299A (zh) * 2019-01-31 2019-04-16 浙江工商大学 一种保证m2m通信完整及故障容错的聚合方法及系统
CN109640299B (zh) * 2019-01-31 2021-09-21 浙江工商大学 一种保证m2m通信完整及故障容错的聚合方法及系统
CN110061837A (zh) * 2019-04-22 2019-07-26 南京工业大学 一种基于外包解密的密文定长的加密传输机制
WO2021026763A1 (en) * 2019-08-13 2021-02-18 Nokia Shanghai Bell Co., Ltd. Data security for network slice management
CN114223233A (zh) * 2019-08-13 2022-03-22 上海诺基亚贝尔股份有限公司 用于网络切片管理的数据安全性
WO2021190450A1 (zh) * 2020-03-23 2021-09-30 齐鲁工业大学 用于云协助物联网的带追踪的多属性机构属性基加密方法
CN111447209B (zh) * 2020-03-24 2021-04-06 西南交通大学 一种黑盒可追踪密文策略属性基加密方法
CN111447209A (zh) * 2020-03-24 2020-07-24 西南交通大学 一种黑盒可追踪密文策略属性基加密方法
CN113783898A (zh) * 2021-11-12 2021-12-10 湖南大学 一种可更新混合加密方法
CN113783898B (zh) * 2021-11-12 2022-06-10 湖南大学 一种可更新混合加密方法

Also Published As

Publication number Publication date
CN104168108B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
CN104168108A (zh) 一种泄露密钥可追踪的属性基混合加密方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
CN104486315B (zh) 一种基于内容属性的可撤销密钥外包解密方法
Ullah et al. Elliptic Curve Cryptography; Applications, challenges, recent advances, and future trends: A comprehensive survey
Pu et al. R²PEDS: a recoverable and revocable privacy-preserving edge data sharing scheme
Saroj et al. Threshold cryptography based data security in cloud computing
CN104320393B (zh) 重加密可控的高效属性基代理重加密方法
CN102546600A (zh) 基于代理的加密、解密方法,网络设备、网络装置及系统
Sasi et al. A general comparison of symmetric and asymmetric cryptosystems for WSNs and an overview of location based encryption technique for improving security
Saranya et al. Cloud based efficient authentication for mobile payments using key distribution method
CN104135473A (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
CN105721146B (zh) 一种面向云存储基于smc的大数据共享方法
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
CN104618332A (zh) 基于符号边值二叉决策图的安全两方计算方法和系统
CN113225302A (zh) 一种基于代理重加密的数据共享系统及方法
CN114598472A (zh) 基于区块链的条件隐藏可搜索代理重加密方法及存储介质
Sandhia et al. Secure sharing of data in cloud using MA-CPABE with elliptic curve cryptography
CN101964039B (zh) 一种版权对象的加密保护方法和系统
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
CN115442134B (zh) 一种基于同态双向代理重加密的多密钥多方安全计算方法
Joseph et al. A Novel Algorithm for secured data sharing in cloud using GWOA-DNA cryptography
Fasila et al. Fast and Efficient Security Scheme for Blockchain-Based IoT Networks.
CN110289948B (zh) 一种基于媒介混淆的多授权方属性基加密方法与系统
EP2680486A1 (en) Key management
Pu et al. An efficient and recoverable data sharing mechanism for edge storage

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