[发明专利]一种泄露密钥可追踪的属性基混合加密方法有效
申请号: | 201410362945.8 | 申请日: | 2014-07-28 |
公开(公告)号: | CN104168108B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 伍前红;邓桦;周云雅;刘建伟;秦波 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/32;H04L29/08;G06F21/32 |
代理公司: | 北京慧泉知识产权代理有限公司11232 | 代理人: | 王顺荣,唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种泄露密钥可追踪的属性基混合加密方法,可信权威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。 | ||
搜索关键词: | 一种 泄露 密钥 追踪 属性 混合 加密 方法 | ||
【主权项】:
一种泄露密钥可追踪的属性基混合加密方法,其特征在于:其作法如下:步骤一:系统初始化步骤:步骤1:可信权威即TA输入系统安全参数λ,运行算法输出两个阶数为素数p的群和一个双线性映射运算e:步骤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,进行级联、哈希函数和指数运算,得到:{Dx,j=H(x||j||ωj)r}∀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:Hdrj,0←Encapsulate(PK,M,(A,ρ),(j,0))Hdrj,1←Encapsulate(PK,M,(A,ρ),(j,1))]]>Encapsulate算法的运行如下:首先,数据持有者选择随机的向量向量中的s为解密时,数据使用者需要恢复的指数;其他元素υ2,…,υn是从Zp域中随机选取的,将矩阵A的每一行作为行向量与向量进行内积运算,得到λ1,λ2,…,λ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,记为:Hdrj,0=(C,C0,{C1,C2,...,Cl})Hdrj,1=(C,C0,{C1′,C2′,...,Cl′})]]>最终M经Encapsulate算法加密后的密文表示为:Hdr=(j,Hdrj,0,Hdrj,1);步骤四:文档访问步骤:定义集合I(I={i|ρ(i)∈S}),表示用户属性集合S中所有属性ρ(i)∈S通过映射ρ(·),对应的访问控制矩阵A的行标i的集合;若用户的属性集合S中的属性满足数据持有者加密M时制定的访问控制策略,则一定能找到常数wi∈Zp,按照下式:有效恢复出指数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(C0,K0)Πρ(i)∈S(e(Ci,K1)·e(C0,Dρ(i),j))wi=e(gs,gα)e(gs,gar)e(ga,gr)Σρ(i)∈Swiλi=e(g,g)αs]]>第j位是1时属性基解密算法按下式运行双线性对和乘、除法计算:M′=e(C0,K0)Πρ(i)∈S(e(Ci′,K1)·e(C0,Dρ(i),j))wi=e(gs,gα)e(gs,gar)e(ga,gr)Σρ(i)∈Swiλi=e(g,g)αs]]>经最后一步除法运算,得到会话密钥M:步骤13:数据使用者使用会话密钥M,对加密文件CT运行AES数据解密算法,即能访问所需的明文文件;步骤五:数字取证步骤:该数字取证步骤只在发生用户私钥泄露的情况时才运行,共分3步执行:步骤14:可信权威首先寻找被盗版解码器即PD用来伪造用户私钥的适应性码字:ω*;对于j从1到L,每次选择群中两个不等的消息分别运行Encapsulate算法得到输出:Hdrj,0←Encapsulate(PK,Mj,(A,ρ),(j,0))Hdrj,1←Encapsulate(PK,Mj′,(A,ρ),(j,1))]]>将得到的结果作为盗版解码器的输入,该盗版解密器是根据泄露的用户私钥构造的,具有伪造用户私钥、解密数据的功能,输出为解密后的消息Mj*,若输出的结果Mj*与Mj相等,则判断适应性码字ω*的第j位为0,即ωj*=0;否则,判断为1;j经1遍历到L后,能得到被盗版解码器即PD用来伪造用户私钥的适应性码字:ω*=ω1*ω2*…ωL*;步骤15:首先,可信权威需要指定追踪算法TraFC的容错概率ε(表示TraFC算法追踪到的最后结果包含某个无辜用户或是追踪无果的概率),下式中的t表示该指纹码可以抗t人合谋攻击,即超过t人的合谋,该算法便失去了有效性;故该算法需在运行追踪算法之前确定泄密用户的总数不多于t;接下来,分别计算k、k'和阈值Z的值:在得到k'的值后,随机选择区间之间的某一随机值并计算pj=sin2rj,j从1遍历到L;步骤16:将上一步得到的适应性码字ω*=ω1*ω2*…ωL*,分别与指纹码集合Γ={ω(1),...,ω(n)}中的所有码字进行对比,按照下式计算每次比较对应码字位的权值:其中,对于每个用户,计算所有位的权值之和:并与阈值Z比较,所有权值之和高于Z的用户,其系统标号记入集合C中,可信权威输出追踪结果
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410362945.8/,转载请声明来源钻瓜专利网。