一种由密文策略的属性基加密实现身份基广播加密的方法

文档序号:7809024阅读:538来源:国知局
一种由密文策略的属性基加密实现身份基广播加密的方法
【专利摘要】一种由密文策略的属性基加密实现身份基广播加密的方法,其步骤如下:步骤1:PKG输入系统安全系数,输出初始化参数;步骤2:PKG运行随机数生成算法,为系统选择所需的随机数;步骤3:PKG经过运算,得到公钥和主密钥;步骤4:加密方选取随机数并完成运算,输出部分密文;步骤5:加密方根据解密用户身份集合计算得出剩余部分密文;步骤6:PKG运行随机数生成算法,得到随机参数;步骤7:PKG根据主密钥及用户身份,计算得到私钥SKID;步骤8:对于符合要求的解密方,可根据私钥和密文计算得到K;步骤:9:解密用户根据K,通过计算可输出正确的明文。本发明大大减小了开发周期和系统负担,可抵抗选择密文攻击,确保了方案的安全性和有效性。
【专利说明】—种由密文策略的属性基加密实现身份基广播加密的方法
(—)【技术领域】:
[0001]本发明提供一种由密文策略的属性基加密实现身份基广播加密的方法,即简称为一种由CP-ABE实现IBBE的方法,它可用于数据驱动网络中的保密通信,属于信息安全中密码学领域。
(二)技术背景:
[0002]近年来人们提出并设计了许多新型的数据驱动网络,例如社交网络、无线传感网络、电子健康网络等,这种网络为数据的收集提供了一种更加灵活的方式。它允许数据由分布式的终端收集起来,以供个人或团体分享。例如,在电子健康网络中,数据中心收集并储存病人的个人病历,以便病人去就诊时供医生查询。一些研究人员、权威机构等也有可能会用到这些数据。数字文件的存储、处理和使用简单方便,这使得这些网络相较于传统的纸质文件的管理系统有着明显的优势。
[0003]在这些新兴的网络中,数据的隐私保护是一个极为重要的问题。例如,存储在社交网络中的用户私人信息有可能被供应商滥用,甚至可能泄露给犯罪分子。一旦犯罪分子获得了用户的住址、电话等信息,可能导致非常严重的后果。又譬如,在电子健康网络中,病人的病历信息是非常私密的,只有被授权的个人或者权威机构可以访问得到。病历泄露事件不仅仅是有关个人隐私的道德问题,更有可能对病人的精神和经济上造成严重伤害。
[0004]为了找到既能保护用户隐私,又能使数据得到合理利用的方法,人们提出了许多适用于数据驱动网络的加密体制,特别是公钥加密体制。在这种网络体系中广泛应用的公钥加密体制包括广播加密(Broadcast Encrypt1n, BE)、身份基加密(Identity-BasedEncrypt1n, IBE)、身份基广播加密(Identity-Based Encrypt1n, IBBE)和属性基加密(Attribute-Based Encrypt1n, ABE)等。
[0005]在公钥密码体制中,加密和解密分别使用不同的密钥:其中加密密钥(即公钥)是可以公开的,而解密密钥(即私钥)只有解密人自己知道。加密密钥的公开使用,使得密钥的分配和管理比对称密码体制更简单。广播加密(Broadcast Encrypt1n, BE)是一种在不安全信道上给一组用户传输加密信息的密码体制,在这种体制中,系统为用户分配用户索引(User Index),然后它可使发送者选取任意用户索引集合进行广播加密,只有授权用户才能够解密密文。身份基加密(Identity-Based Encrypt1n, IBE)的概念是由Shamir创造性提出的,在这种公钥加密机制中,用户的身份ID信息(如身份证号码、电话号码和邮件地址等)直接作为用户的公钥,无需通过数字证书进行绑定。身份基广播加密(Identity-Based Encrypt1n, IBBE)是广播加密与身份基加密的一种结合,它可以使用用户的身份ID信息对消息加密,并广播给一组用户,用户使用与其ID对应的私钥即可解密。属性基加密(Attribute-Based Encrypt1n, ABE)是IBE的一种扩展,它用属性代替身份作为最小单位,包括密钥策略的属性基加密(Key-Policy Attribute-BasedEncrypt1n, KP-ABE)和密文策略的属性基加密(Ciphertext-Policy Attribute-BasedEncrypt1n, CP-ABE),KP-ABE是指,由访问结构(Access Structure)来构造密钥而由属性集合构造密文,当属性集合中的属性能够满足此访问结构才能够解密;CP-ABE是指,由访问结构来构造密文而由属性集合来构造密钥,当属性集合中的属性能够满足此访问结构时才能解密。图1给出了一种电子健康网络中的访问控制树型结构,其中的访问控制策略为:
[0006]
【权利要求】
1.一种由密文策略的属性基加密实现广播加密的方法,其特征在于:它包括四个模块,分别为初始化模块、加密模块、私钥生成模块和解密模块,各模块按照“初始化模块”一“加密模块”一“私钥生成模块”一“解密模块”顺序执行,其实施步骤如下: 模块一:初始化模块 私钥生成中心即PKG在这一模块中将系统安全参数λ作为输入,输出公钥PK和主密钥MSK ;公钥PK对外公开,主密钥MSK则由PKG保管;该模块功能的具体实现分为三步:步骤1:PKG首先输入系统安全参数λ,然后运行算法g (Iλ),输出两个阶数为素数P的群Gfl、Gjp—个双线性映射运算e: G0 X G0 ^ G1 ; 步骤2 =PKG运行随机数生成算法,随机选择阶数为P1的60群中的一个生成元g,选择一个哈希函数Η:.(θ,if 以及Ζρ:{0,1,...,ρ-1}域中的两个元素α,β作为随机指数; 步骤3 =PKG进行如下运算:
PK作为公钥对外公开,MSK作为主密钥由PKG保管; 模块二:加密模块 加密方在这一模块中以公钥PK和待加密的消息M以及待接收用户身份集合S作为输入,加密后得到输出的密文CT ;该模块功能的实现分为两步: 步骤4:加密方随机选择Zp: {O,1,...,p-1}域中的一个元素t作为指数,完成如下运算:
C0 = M.e(g, g) at
C1 = h'
C2 = gt ; 步骤5:对于WD ES,计算: Cid = HdDr 最终密文输出为:
模块三:私钥生成模块 在这一模块中,PKG以主密钥MSK和用户身份ID作为输入,对应用户身份ID的私钥SKid为输出,得到的私钥SKid将以安全方式发送给用户;具体实现如下: 步骤6:PKG运行随机数生成算法,随机生成Zp: {O,1,域中的两个元素Y,Y‘作为指数; 步骤7 =PKG根据模块一中生成的MSK及上步所得指数,做如下运算:
得到用户ID对应的私钥SKid ;模块四:解密模块 S中的用户作为解密方,能对密文进行解密;该模块以公钥PK,用户ID对应的私钥SKid和密文CT为输入,输出得到消息M,具体步骤如下: 步骤:8:对于S中的解密用户,由自身的私钥SKid首先做如下计算:
步骤9:解密用户根据上步所得的K,通过进行如下运算,计算输出消息M:
.通过上述模块和步骤,我们完成了由CP-ABE实现IBBE的方案,通过使用现有的CP-ABE工具包,能方便地实现身份基广播加密的功能,避免了不必要的开发负担。
2.根据权利要求1所述的一种由密文策略的属性基加密实现广播加密的方法,其特征在于:在步骤I中所述的“运行算法g(lA)”,其做法如下:PKG根据输入的安全参数λ的大小,选择合适的椭圆曲线:Y2 = X3+aX+b,a和b是系数;根据所选椭圆曲线上的点构成群G、Gt,选择一种函数映射e,将群G中的元素映射到群Gr中去;安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大。
3.根据权利要求1所述的一种由密文策略的属性基加密实现广播加密的方法,其特征在于:在步骤2中所述的“随机数生成算法”,其做法如下:根据步骤I中所选的椭圆曲线:I2 = x3+ax+b,随机选择自变量X的一个值X1,计算对应因变量y的值Y1 ;若点(Xpy1)在我们想要映射的群中,则成功生成了随机元素;若点(Xl,yi)不在群中,则继续选择X的值,直到找到出现在群中的点。
4.根据权利要求1所述的一种由密文策略的属性基加密实现广播加密的方法,其特征在于:在步骤2中所述的“哈希函数H:fo, if — G0”表示:将由二进制数O和I组成的字符通过哈希函数H映射到群中。
【文档编号】H04L9/30GK104135473SQ201410340380
【公开日】2014年11月5日 申请日期:2014年7月16日 优先权日:2014年7月16日
【发明者】刘建伟, 王志学, 伍前红, 刘巍然 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1