《一种由密文策略的属性基加密实现身份基广播加密的方法.pdf》由会员分享,可在线阅读,更多相关《一种由密文策略的属性基加密实现身份基广播加密的方法.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104135473A43申请公布日20141105CN104135473A21申请号201410340380322申请日20140716H04L29/06200601H04L9/3020060171申请人北京航空航天大学地址100191北京市海淀区学院路37号72发明人刘建伟王志学伍前红刘巍然74专利代理机构北京慧泉知识产权代理有限公司11232代理人王顺荣唐爱华54发明名称一种由密文策略的属性基加密实现身份基广播加密的方法57摘要一种由密文策略的属性基加密实现身份基广播加密的方法,其步骤如下步骤1PKG输入系统安全系数,输出初始化参数;步骤2PKG运行随机数生成算法,为系统。
2、选择所需的随机数;步骤3PKG经过运算,得到公钥和主密钥;步骤4加密方选取随机数并完成运算,输出部分密文;步骤5加密方根据解密用户身份集合计算得出剩余部分密文;步骤6PKG运行随机数生成算法,得到随机参数;步骤7PKG根据主密钥及用户身份,计算得到私钥SKID;步骤8对于符合要求的解密方,可根据私钥和密文计算得到K;步骤9解密用户根据K,通过计算可输出正确的明文。本发明大大减小了开发周期和系统负担,可抵抗选择密文攻击,确保了方案的安全性和有效性。51INTCL权利要求书2页说明书7页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图3页10申请公布号CN104。
3、135473ACN104135473A1/2页21一种由密文策略的属性基加密实现广播加密的方法,其特征在于它包括四个模块,分别为初始化模块、加密模块、私钥生成模块和解密模块,各模块按照“初始化模块”“加密模块”“私钥生成模块”“解密模块”顺序执行,其实施步骤如下模块一初始化模块私钥生成中心即PKG在这一模块中将系统安全参数作为输入,输出公钥PK和主密钥MSK;公钥PK对外公开,主密钥MSK则由PKG保管;该模块功能的具体实现分为三步步骤1PKG首先输入系统安全参数,然后运行算法G1,输出两个阶数为素数P的群和一个双线性映射运算步骤2PKG运行随机数生成算法,随机选择阶数为P1的群中的一个生成元。
4、G,选择一个哈希函数以及ZP0,1,P1域中的两个元素,作为随机指数;步骤3PKG进行如下运算MSK,GPK作为公钥对外公开,MSK作为主密钥由PKG保管;模块二加密模块加密方在这一模块中以公钥PK和待加密的消息M以及待接收用户身份集合S作为输入,加密后得到输出的密文CT;该模块功能的实现分为两步步骤4加密方随机选择ZP0,1,P1域中的一个元素T作为指数,完成如下运算C0MEG,GTC1HTC2GT;步骤5对于计算CIDHIDT最终密文输出为模块三私钥生成模块在这一模块中,PKG以主密钥MSK和用户身份ID作为输入,对应用户身份ID的私钥SKID为输出,得到的私钥SKID将以安全方式发送给用。
5、户;具体实现如下步骤6PKG运行随机数生成算法,随机生成ZP0,1,P1域中的两个元素,作为指数;步骤7PKG根据模块一中生成的MSK及上步所得指数,做如下运算得到用户ID对应的私钥SKID;权利要求书CN104135473A2/2页3模块四解密模块S中的用户作为解密方,能对密文进行解密;该模块以公钥PK,用户ID对应的私钥SKID和密文CT为输入,输出得到消息M,具体步骤如下步骤8对于S中的解密用户,由自身的私钥SKID首先做如下计算步骤9解密用户根据上步所得的K,通过进行如下运算,计算输出消息M通过上述模块和步骤,我们完成了由CPABE实现IBBE的方案,通过使用现有的CPABE工具包,能。
6、方便地实现身份基广播加密的功能,避免了不必要的开发负担。2根据权利要求1所述的一种由密文策略的属性基加密实现广播加密的方法,其特征在于在步骤1中所述的“运行算法G1”,其做法如下PKG根据输入的安全参数的大小,选择合适的椭圆曲线Y2X3AXB,A和B是系数;根据所选椭圆曲线上的点构成群选择一种函数映射E,将群中的元素映射到群中去;安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。3根据权利要求1所述的一种由密文策略的属性基加密实现广播加密的方法,其特征在于在步骤2中所述的“随机数生成算法”,其做法如下根据步骤1中所选的椭圆曲线Y2X3AXB,随机选择自变量X的一个值X1,计算对应因变量Y。
7、的值Y1;若点X1,Y1在我们想要映射的群中,则成功生成了随机元素;若点X1,Y1不在群中,则继续选择X的值,直到找到出现在群中的点。4根据权利要求1所述的一种由密文策略的属性基加密实现广播加密的方法,其特征在于在步骤2中所述的“哈希函数”表示将由二进制数0和1组成的字符通过哈希函数H映射到群中。权利要求书CN104135473A1/7页4一种由密文策略的属性基加密实现身份基广播加密的方法一技术领域0001本发明提供一种由密文策略的属性基加密实现身份基广播加密的方法,即简称为一种由CPABE实现IBBE的方法,它可用于数据驱动网络中的保密通信,属于信息安全中密码学领域。二技术背景0002近年来。
8、人们提出并设计了许多新型的数据驱动网络,例如社交网络、无线传感网络、电子健康网络等,这种网络为数据的收集提供了一种更加灵活的方式。它允许数据由分布式的终端收集起来,以供个人或团体分享。例如,在电子健康网络中,数据中心收集并储存病人的个人病历,以便病人去就诊时供医生查询。一些研究人员、权威机构等也有可能会用到这些数据。数字文件的存储、处理和使用简单方便,这使得这些网络相较于传统的纸质文件的管理系统有着明显的优势。0003在这些新兴的网络中,数据的隐私保护是一个极为重要的问题。例如,存储在社交网络中的用户私人信息有可能被供应商滥用,甚至可能泄露给犯罪分子。一旦犯罪分子获得了用户的住址、电话等信息,。
9、可能导致非常严重的后果。又譬如,在电子健康网络中,病人的病历信息是非常私密的,只有被授权的个人或者权威机构可以访问得到。病历泄露事件不仅仅是有关个人隐私的道德问题,更有可能对病人的精神和经济上造成严重伤害。0004为了找到既能保护用户隐私,又能使数据得到合理利用的方法,人们提出了许多适用于数据驱动网络的加密体制,特别是公钥加密体制。在这种网络体系中广泛应用的公钥加密体制包括广播加密BROADCASTENCRYPTION,BE、身份基加密IDENTITYBASEDENCRYPTION,IBE、身份基广播加密IDENTITYBASEDENCRYPTION,IBBE和属性基加密ATTRIBUTEBA。
10、SEDENCRYPTION,ABE等。0005在公钥密码体制中,加密和解密分别使用不同的密钥其中加密密钥即公钥是可以公开的,而解密密钥即私钥只有解密人自己知道。加密密钥的公开使用,使得密钥的分配和管理比对称密码体制更简单。广播加密BROADCASTENCRYPTION,BE是一种在不安全信道上给一组用户传输加密信息的密码体制,在这种体制中,系统为用户分配用户索引USERINDEX,然后它可使发送者选取任意用户索引集合进行广播加密,只有授权用户才能够解密密文。身份基加密IDENTITYBASEDENCRYPTION,IBE的概念是由SHAMIR创造性提出的,在这种公钥加密机制中,用户的身份ID信。
11、息如身份证号码、电话号码和邮件地址等直接作为用户的公钥,无需通过数字证书进行绑定。身份基广播加密IDENTITYBASEDENCRYPTION,IBBE是广播加密与身份基加密的一种结合,它可以使用用户的身份ID信息对消息加密,并广播给一组用户,用户使用与其ID对应的私钥即可解密。属性基加密ATTRIBUTEBASEDENCRYPTION,ABE是IBE的一种扩展,它用属性代替身份作为最小单位,包括密钥策略的属性基加密KEYPOLICYATTRIBUTEBASEDENCRYPTION,KPABE和密文策略的属性基加密CIPHERTEXTPOLICYATTRIBUTEBASEDENCRYPTION。
12、,CPABE,KPABE是指,由访问结构ACCESSSTRUCTURE来构造密钥而由属性说明书CN104135473A2/7页5集合构造密文,当属性集合中的属性能够满足此访问结构才能够解密;CPABE是指,由访问结构来构造密文而由属性集合来构造密钥,当属性集合中的属性能够满足此访问结构时才能解密。图1给出了一种电子健康网络中的访问控制树型结构,其中的访问控制策略为00060007其中的医生DOCTOR、护士NURSE和手术SURGERY表示用户的属性,上述访问控制策略具体描述为只有负责手术的医生或者护士可以访问。0008当这些密码系统应用于数据驱动网络中例如电子健康网络实现隐私数据的访问控制时。
13、,出现了一个非常实际的问题尽管许多可证安全的密码体制都有着各种各样的优势如固定长度密文/公钥、高效的加密/解密步骤等,但是几乎所有的体制都是各自独立设计的。由于在一个目标网络中存在着不同的访问控制需求,安全人员不得不同时采用多种密码体制,来适应不同的安全需求。这就导致了重复的开发花销和沉重的系统管理负担。我们来看如下一组电子健康网络中的例子。0009第一个是在电子健康网络中使用IBBE的典型情景病人准备将一个会诊请求广播发送给医生ALICE、医生BOB和医生CAROL。整个过程使用IBBE方案,病人用医生的ID作为公钥,将消息加密并将密文广播到网络中。只有ID为ALICE、BOB或者CAROL。
14、的医生可以对密文进行解密,并知晓病人的会诊需求,然而ID为MALLORY的接收者则不能知悉。0010第二个是在电子健康网络中使用ABE的情景病人想把他的病历发送给负责他手术的医生和护士。病人用ABE方案将病历以访问结构“DOCTORORNURSEANDSURGERY”进行加密,然后直接将密文发送到电子健康网络中,只有属性符合访问结构的接收者才能得到病人的病历。0011我们可以看到,以上两种情况非常相似。然而,由于两种情形用到了不同的密码体制,开发者必须分别实现IBBE和ABE系统,从而增加了开发负担。如何通过简单地调用或者重封装同一个密码函数库来实现不同的密码体制,成为了一个值得考虑的问题。0。
15、012直观来看,由于密文策略的属性基加密CIPHERTEXTPOLICYATTRIBUTEBASEDENCRYPTION,CPABE是IBE的一种扩展,同时也支持广播,所以通过将ABE中的用户属性替换为IBBE中的用户身份好像就可以简单地实现转换。然而几乎所有的CPABE系统都在初始化阶段确定了属性,但在IBBE系统中身份却可以在加密阶段或者密钥生成阶段中确定。这样就使得高效转换成为了一个问题。0013基于以上背景,我们发明了一种通过对现有函数库的调用和重封装,利用CPABE系统实现IBBE系统的方法,并通过大量实验证明了我们方法的高效性和可用性。三发明内容00141、目的0015本发明的目的。
16、是提供一种由密文策略的属性基加密实现身份基广播加密的方法,即由CPABE实现IBBE的方法,可用于数据驱动网络中的保密通信,避免了开发过程中的重复工作,大大减小了开发负担,同时具有高安全性和高效性的优点。00162、技术方案0017主要的数学符号及算法解释说明书CN104135473A3/7页600181双线性映射本发明方案的初始化模块中,通过输入安全系数,运行算法G1,可获得两个阶数为素数P的循环群0019双线性映射满足下述三个特性0020双线性特性对于所有的有EGA,HBEG,HAB成立;0021非退化性群中至少存在一个元素G,使得计算后的EG,G在群中有阶数P;0022可计算性存在有效的。
17、算法,使得所有的可以有效计算出EU,V的值;00232哈希算法本发明中使用的抗碰撞哈希函数具备两个基本特性单向性和抗碰撞性;单向性是指只能从哈希函数输入推导出输出,而不能从哈希函数输出计算出输入;抗碰撞性是指不能同时找到两个不同的输入使其哈希结果完全相同。00243访问控制树在访问控制树中,叶节点表示属性,而非叶节点表示阈值门。每个非叶节点由其子节点数和阈值定义,令NUMX表示X节点的子节点数,KX表示X节点的阈值。当KX1时,阈值门就是或门OR;当KXNUMX时,阈值门就是与门AND。0025本方案包括三个实体,1私钥生成中心PRIVATEKEYGENERATOR,PKG具有验证用户身份,计。
18、算生成、分发用户私钥功能的机构。2数据加密方ENCRYPTINGPARTY具有加密功能的个人或社会机构;3用户USER具有解密功能的个人或社会机构。0026本方案包括四个模块,分别为初始化模块、加密模块、私钥生成模块和解密模块。如图2所示,各模块按照“初始化模块”“加密模块”“私钥生成模块”“解密模块”顺序执行。0027本发明一种由密文策略的属性基加密实现广播加密的方法,即由CPABE实现IBBE的方法,其实施步骤如下0028模块一初始化模块0029私钥生成中心即PKG在这一模块中将系统安全参数作为输入,输出公钥PK和主密钥MSK。公钥PK对外公开,主密钥MSK则由PKG保管。该模块功能的具体。
19、实现分为三步0030步骤1PKG首先输入系统安全参数,然后运行算法G1,输出两个阶数为素数P的群和一个双线性映射运算0031步骤2PKG运行随机数生成算法,随机选择阶数为P1的群中的一个生成元G,选择一个哈希函数以及ZP0,1,P1域中的两个元素,作为随机指数。0032步骤3PKG进行如下运算00330034MSK,G0035PK作为公钥对外公开,MSK作为主密钥由PKG保管。说明书CN104135473A4/7页70036其中,在步骤1中所述的“运行算法G1”,其做法如下PKG根据输入的安全参数的大小,选择合适的椭圆曲线Y2X3AXBA和B是系数。根据所选椭圆曲线上的点构成群选择一种函数映射。
20、E,将群中的元素映射到群中去;安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。0037其中,在步骤2中所述的“随机数生成算法”,其做法如下根据步骤1中所选的椭圆曲线Y2X3AXB,随机选择自变量X的一个值X1,计算对应因变量Y的值Y1;若点X1,Y1在我们想要映射的群中,则成功生成了随机元素。若点X1,Y1不在群中,则继续选择X的值,直到找到出现在群中的点。下文中的随机数生成算法相同。0038其中,在步骤2中所述的“哈希函数”表示将由二进制数0和1组成的字符通过哈希函数H映射到群中。0039模块二加密模块0040加密方在这一模块中以公钥PK和待加密的消息M以及待接收用户身份集合S作为输。
21、入,加密后得到输出的密文CT。该模块功能的实现分为两步0041步骤4加密方随机选择ZP0,1,P1域中的一个元素T作为指数,完成如下运算0042C0MEG,GT0043C1HT0044C2GT0045步骤5对于计算0046CIDHIDT0047最终密文输出为004800490050模块三私钥生成模块0051在这一模块中,PKG以主密钥MSK和用户身份ID作为输入,对应用户身份ID的私钥SKID为输出。得到的私钥SKID将以安全方式发送给用户。具体实现如下0052步骤6PKG运行随机数生成算法,随机生成ZP0,1,P1域中的两个元素,作为指数。0053步骤7PKG根据模块一中生成的MSK及上步所。
22、得指数,做如下运算00540055得到用户ID对应的私钥SKID。0056模块四解密模块0057S中的用户作为解密方,可以对密文进行解密。该模块以公钥PK,用户ID对应的私钥SKID和密文CT为输入,输出得到消息M,具体步骤如下0058步骤8对于S中的解密用户,由自身的私钥SKID首先做如下计算说明书CN104135473A5/7页8005900600061步骤9解密用户根据上步所得的K,通过进行如下运算,可计算输出消息M00620063通过上述模块和步骤,我们完成了由CPABE实现IBBE的方案。通过使用现有的CPABE工具包,可以方便地实现身份基广播加密的功能,避免了不必要的开发负担。00。
23、643、优点及功效0065本发明一种由密文策略的属性基加密实现身份基广播加密的方法,可用于数据驱动网络中用户间的保密通信,其优点和功效是00661本发明利用现有的CPABE加密方案分别实现了IBBE的功能,使得开发人员在面对不同的加密需求时可以使用同一种工具来实现,大大减小了开发周期和系统负担。00672本发明通过了可证安全模型下的安全性分析,可抵抗选择密文攻击,确保了方案的安全性;00683本发明通过使用CPABETOOLKIT完成了方案的实现,证明了方案的有效性。四附图说明0069图1电子健康网络中的一种访问结构实例;0070图2本发明所述方法即由CPABE实现IBBE的流程框图;0071。
24、图3本发明所述方法即由CPABE实现IBBE时所用的访问结构。0072图中符号说明如下0073在图1中,非叶节点用圆圈表示,代表阈值门即图中的OR或者AND;叶节点用方框表示,代表用户属性即图中的DOCTOR、NURSE或者SURGERY。0074在图3中,圆圈OR表示或门,方框中的IDI表示用户身份ID。五具体实施方式0075见图13所示,本方案包括四个模块,分别为初始化模块、加密模块、私钥生成模块和解密模块。如图3所示,各模块按照“初始化模块”“加密模块”“私钥生成模块”“解密模块”顺序执行。0076本发明一种由密文策略的属性基加密实现广播加密的方法,即由CPABE实现IBBE的方法,其实。
25、施步骤如下0077模块一初始化模块0078PKG在这一模块中将系统安全参数作为输入,输出公钥PK和主密钥MSK。公钥PK对外公开,主密钥MSK则由PKG保管。该模块功能的具体实现分为三步0079步骤1PKG首先输入系统安全参数,然后运行算法G1,输出两个阶数为素说明书CN104135473A6/7页9数P的群和一个双线性映射运算0080步骤2PKG运行随机数生成算法,随机选择阶数为P1的群中的一个生成元G,选择一个哈希函数以及ZP0,1,P1域中的两个元素,作为随机指数。0081步骤3PKG进行如下运算00820083MSK,G0084其中,PK作为公钥参数对外公开,MSK作为主密钥由PKG保。
26、管。0085模块二加密模块0086加密方在这一模块中以公钥PK和待加密的消息M以及待接收用户身份集合S作为输入,加密后得到输出的密文CT。该模块功能的实现分为两步0087步骤4加密方随机选择ZP0,1,P1域中的一个元素T作为指数,完成如下运算0088C0MEG,GT0089C1HT0090C2GT0091步骤5对于计算0092CIDHIDT0093最终密文输出为009400950096模块三私钥生成模块0097在这一模块中,PKG以主密钥MSK和用户ID作为输入,输出用户私钥SKID。具体实现如下0098步骤6PKG运行随机数生成算法,随机生成ZP0,1,P1域中的两个元素,作为指数。009。
27、9步骤7PKG根据模块一中生成的MSK及上步所得指数,做如下运算01000101得到用户ID对应的私钥SKID。0102模块四解密模块0103S中的用户作为解密方,可以对密文进行解密。该模块以公钥PK,用户ID对应的私钥SKID和密文CT为输入,输出得到消息M,具体步骤如下0104步骤8对于S中的解密用户,由自身的私钥SKID首先做如下计算说明书CN104135473A7/7页10010501060107步骤9解密用户根据上步所得的K,通过进行如下运算,可计算输出消息M01080109通过上述模块和步骤,我们完成了由CPABE实现IBBE的方案。说明书CN104135473A101/3页11图1说明书附图CN104135473A112/3页12图2说明书附图CN104135473A123/3页13图3说明书附图CN104135473A13。