前向安全的无证书多代理签密方法

文档序号:7780630阅读:102来源:国知局
前向安全的无证书多代理签密方法
【专利摘要】本发明属于无线网络中通信数据认证和保密领域,提供一种前向安全的无证书多代理签密方法,原始签密人私钥在动态更新阶段不断更新,代理密钥也不断更新,而签密的公钥在整个过程中不变,进一步采用密钥更新算法更新私钥,其是单向函数,加入了无证书密码体制使其在安全性更高的条件下减少了系统开销,满足了以往的多代理签密体制的保密性、强可识别性、公开验证性、强不可否认性、抗滥用性的要求,并且,还满足了更高要求的前向安全性和强不可为造性。
【专利说明】前向安全的无证书多代理签密方法
【技术领域】
[0001]本发明属于无线网络中通信数据认证和保密领域,具体涉及前向安全的无证书多代理签密方法。
【背景技术】
[0002]在计算机通讯及电子商务的应用中,保密和认证是最重要的问题之一。1997年,Zheng提出了签密的概念,签密系统集签名和加密的功能于一体,实现了在一个步骤内完成加密和签名的功能;1999年Gamage等人首次提出代理签密方案,即一个原始签名人能够指定一个代理签密人作为其代理人,代理签密人代表原始签密人对授权的消息生成有效的代理签密过程。然而,在实际生活中,常常会需要原始签密人实现消息保密性和认证性的同时把权利授予给多个人,且只有当代理签密组的所有成员一起合作才能够代表原始签密人产生有效的代理签密,这种签密体制称作多代理签密体制。近年来,无证书密码体制也得到快速发展,其主要优点是有效地解决了传统密码体制和基于身份密码体制中的密钥托管和证书管理问题,简化了密钥管理,提高了系统的运行效率,其优越性非常明显。
[0003]目前现存的多代理方案都是基于证书或者身份的,而且大多没有考虑到当原始签密人的私钥、代理签密组员组的私钥和代理密钥丢失的情况,甚至当前阶段的回话秘钥丢失的情况下方案的安全性,即强前向安全性无法得到保证。因此利用无证书密码体制的优越性设计出一种安全性更高的多代理签密体制非常必要。

【发明内容】

[0004]为解决以上问题,本发明提供一种前向安全的无证书多代理签密方法。
[0005]本发明的前向安全的无证书多代理签密方法,包括:
[0006]初始化阶段,包括:
[0007]101、密钥生成中心设置系统参数,公开系统参数;
[0008]102、原始签密人、代理签密组员和密文接收人根据系统参数生成各自公钥,并分别发送给密钥生成中心,密钥生成中心分别利用各自公钥分别生成原始签密人私钥、代理签密组员私钥和密文接收人私钥,将原始签密人私钥发送给原始签密人,将代理签密组员私钥发送给该代理签密组员和原始签密人,将密文接收人私钥发送给密文接收人;
[0009]动态更新阶段,包括:
[0010]103、原始签密人更新原始签密人私钥获得更新后的原始签密人私钥;
[0011]104、原始签密人利用更新后的原始签密人私钥和授权许可证生成原始签密人签密并发送给代理签密组员,代理签密组员根据原始签密人的签密和代理签密组员私钥生成代理密钥发送给代理签密组员代表,所述授权许可证由原始签密人A预先签发给该代理签密组员;
[0012]105、代理签密组员代表根据所述代理密钥生成最终密文并发送给密文接收人;
[0013]106、密文接收人根据所述密文接收人私钥对所述最终密文进行验证,确定所述最终密文的有效性
[0014]优选地,所述原始签密人更新原始签密人私钥获得更新后的原始签密人私钥Sm
为:SAi=a AiDA,其中,a Ai为当前阶段的秘密值,aAi=a](iA)mo&n,α κα_1}为原始签密人上一阶
段随机选择的秘密值,Da为原始签密人验证码,Da=sQa, s为由密钥生成中心的系统主密钥,Qa为原始签密人公钥,根据原始签密人身份通过hash函数运算生成。
[0015]优选地,所述代理签密组员代表根据代理密钥生成最终签密密文为包括:首先,代理签密组员代表根据各代理签密组员的参数和密文接收人的公开身份信息及密文接收人的公钥,把消息明文转化成密文;然后,代理签密组员分别产生签密并且发送给代理签密组员代表,最后由代理签密组员代表合并各个代理签密组员产生的签密生成最终签密密文。
[0016]与现有技术相比,本发明提供了一种新的多代理签密方式,加入了无证书密码体制使其在安全性更高的条件下减少了系统开销,进一步采用密钥更新算法Sa,=O^qyDi,mod η更新私钥,其是单向函数,满足了以往的多代理签密体制的保密
性、强可识别性、公开验证性、强不可否认性、抗滥用性的要求,并且,还满足了更高要求的前向安全性和强不可为造性。
【专利附图】

【附图说明】
[0017]图1是本发明 前向安全的无证书多代理签密方法实施例流程图。
【具体实施方式】
[0018]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明做进一步详细说明。
[0019]为了便于理解,对本发明有关参数或表示符号作出说明:
[0020]m、c分别指明文消息和密文;H,H1, H2, H3, H4分别是指五个不同的安全的单项函数;Ht (a,b),I≤t≤4表示:此单项的函数运算包含元素a,b ;Ht (a □ b),I≤t≤4表示:此
单项hash函数运算包含由元素a,b连接运算后的结果。<指Zq中所有对模乘可逆元构成
的集合,Zq指剩余类环,q为任意素数;{O, 1广指所有由O和I组成的长度为η比特的字符
串的集合;{0,1}指所有由O和I组成的字符串的集合表示α随机、均匀的取自集
合< ;A、G2分别为阶为q的加法群和乘法群,P为G1的生成元;
[0021]e =G1XG2 — G2是满足如下条件的双线性映射对:①双线性,e (aP, bQ) =e (P, Q)ab,对
②非退化性,3八0eG1,满足e (P,Q)幸I ;③可计算性,e (P, Q)可以被有效计算出来;双线性映射为本领域公知技术,不做详细介绍。
[0022]a十指a和异或运算;a □ b指a和b的连接;〈a,b>表示元素a与b形成的集合;(a, b,…,c)表不运算里面包含兀素a、b、…、C。
[0023]本发明提出的前向安全的无证书多代理签密方法,如图1所示,包括:
[0024]初始化阶段(i=0),包括:
[0025]步骤301:密钥生成中心(KGC)设置系统参数,公开系统参数
[0026]步骤302:原始签密人、代理签密组员和密文接收人根据系统参数生成各自公钥,并分别发送给密钥生成中心,密钥生成中心分别利用各自公钥分别生成原始签密人私钥、代理签密组员私钥和密文接收人私钥,将原始签密人私钥发送给原始签密人,将代理签密组员私钥发送给该代理签密组员和原始签密人,将密文接收人私钥发送给密文接收人
[0027]动态更新阶段(I≤i≤T),包括:
[0028]步骤303:原始签密人更新原始签密人私钥获得更新后的原始签密人私钥SAi
[0029]步骤304:原始签密人利用更新后的原始签密人私钥和授权许可证生成中间密文并发送给代理签密组员,代理签密组员根据中间密文和代理签密组员私钥生成代理密钥,所述授权许可证由原始签密人预先签发给代理签密组员
[0030]步骤305:代理签密组员代表根据各代理签密组员发送的代理密钥生成最终签密密文并发送给密文接收人R。
[0031]步骤306:密文接收人R根据最终密文恢复明文消息,并对最终密文进行验证,确定最终密文的有效性。
[0032]下面对各个步骤的实施方式进行详细说明。
[0033]所述步骤301:密钥生成中心(KGC)设置系统参数,公开系统参数[0034]具体设置过程如下:
[0035]首先,密钥生成中心选取密码学上的四个安全的hash函数:H1: {O, IjiXG1 — G1,H2:{0,?y xG ^Zl,H3 = G2X {O, I}*- {O, 1}η,丑4: ?Ο,?Κ XG1 xG2 ;其中 H1 表示输入任意长度的字符经双线性映射到循环群G1的hash函数;H2表示输入任意长度的字符经双线性映射到集合< 的hash函数;H3表示输入任意长度的字符经双线性映射到长度为η比特的字
符串的hash函数;H4表示输入任意长度的字符经双线性映射到到集合< 的hash函数。
[0036]然后,密钥生成中心选择& eR <作为系统主密钥,对其保密持有,并计算Ppub=SsP,公开系统参数集{G1; G2, q, e, P, n, H1, H2, H3, H4, PpuJ
[0037]所述步骤302:原始签密人、代理签密组员和密文接收人根据系统参数生成各自公钥,并分别发送给密钥生成中心,密钥生成中心分别利用各自公钥分别生成原始签密人私钥、代理签密组员私钥和密文接收人私钥,将原始签密人私钥发送给原始签密人,将代理签密组员私钥发送给该代理签密组员和原始签密人,将密文接收人私钥发送给密文接收人
[0038]具体包括以下步骤:
[0039]302-1、原始签密人A随机选择秘密值Clii z*q保密持有,代理签密组员Nj (j=l,2,…,η)随机选取秘密值^ <保密持有。
[0040]I)原始签密人A计算其参数集PAi=〈XAi,YAi>,并将其公开,其中XAi= a AiP,YAi=a AiPpub,原始签密人A使用其合法身份IDa向密钥生成中心KGC提出申请,密钥生成中心KGC若验证到原始签密人A的身份合法,则计算原始签密人公钥Qa,所述原始签密人公钥根据原始签密人A身份IDa通过hash函数H1运算生成,即Qa=H1 (IDa),并通过安全信道发送计算的原始签密人验证码Da给原始签密人A,其中Da=SsQa ;
[0041]2)同样,代理签密组员Nj生成其参数集&:<? >并公开,其中=a"'r.’代理签密组员%使用其合法身份向密钥生成中心KGC提出申
请,密钥生成中心KGC若验证代理签密组员Nj的身份合法,则计算代理签密组员公钥并通过安全信道分别发送计算的代理签密组员验证码Av给代理签密组员Nj,其中
=吸,,2是根据代理签密组员N j身份〃\及其公开参数Yj,由hash函数H1生成的
代理签密组员的公钥,即P [0042]3)同理,密文接收人R计算其参数PK=〈XK,ΥΕ>,并将其公开,其中Xk= a EP, Ye= a EPpub密文接收者R使用期合法身份向密钥生成中心KGC提出申请,密钥生成中心KGC密文接收者R的身份合法,则计算密文接收者R的公钥QK,并通过安全信道发送密文接收者验证码Dk给密文接收者R,其中DK=ssQK,Qe是根据消息接收人R的身份IDk及其公开参数由hash函数H1生成的消息接收人R的公钥,即Qk=H1 (IDe □ Ye)。
[0043]302-2、原始签密人A首先验证:e (DA,P) =e (QA,Ppub)是否成立,若成立,则接收原始签密人发送的Da并计算私钥Saci=XaciDa,将(xACI,Sao)作为自己初始阶段私钥保密保存。
[0044]同上面xA(l、SA(^取方法,代理签密组员%生成自己的私钥:(~,' ),密文接收人R生成自己私钥(xR, Sk)。
[0045]同时,原始签密人A签发一个授权许可证mw给代理签密组员N」,mw中明确说明原始签密人A和代理签密组员Nj的身份信息及授权关系,同时也说明该授权关系的使用限制等内容。
[0046]动态更新阶段(I≤i≤T),包括:
[0047]步骤303:原始签密人更新原始签密人私钥获得更新后的原始签密人私钥SAi。
[0048]优选地,所述原始签S人更新原始签S人私钥为SAi= a AiDA,原始签乾'人运用二次取模运算采用上一阶段的秘密值αΑ(Η)(见上述302-1)更新当前阶段的秘密值aAi,利用
当前阶段的原始签密人a Ai更新原始签密人私钥SAi,即,由于原始签密人私
钥更新算法Sm= a AiDA是单向函数,若想求出第k (O ^k^i)阶段的私钥,则需要计算的是基于求模的η方根问题,在先验信息不完备的情况下,计算上是不可行的。所以就算是当前阶段是会话密钥丢失,也无法计算出之前的会话密钥,具有前向安全性。
[0049]步骤304:原始签密人利用更新后的原始签密人私钥和授权许可证生成中间密文并发送给代理签密组员,代理签密组员根据中间密文和代理签密组员私钥生成代理密钥,所述授权许可证由原始签密人预先签发给代理签密组员;
[0050]304-1、原始签密人 A 选择Z*,计算 Vi= (r+g) SAi, g=H2 (mw, U), U=rQA ;然后将代理签密分别发送给代理签密组员N」。
[0051]304-2、代理签密组员Nj首先验证等式:e(XAi,Ppub) =e (YAi, P)是否成立,若不成立,则要求A重发,若成立,则计算g=H2 (mw, U);再验证:e (P, Vi) =e (YAi, gQA+U)(具体运算过程:e (P, Vi) =e (P, (r+g) SAi) =e (p, (r+g) a AisQA) =e (YAi, gQA+U))是否成立,若不成立,则拒绝接收代理签密(mw,U, V),若成立,则接收消息(mw,U, V),代理签密组员Nj采用密钥更新算法计算
第i阶段的代理密钥Z =ν.+ S' ;。[0052]步骤305:代理签密组员代表根据各代理签密组员发送的代理密钥生成最终签密密文并发送给密文接收人R,具体包括以下步骤:
[0053]所述代理签密组员代表根据各代理签密组员发送的代理密钥生成最终签密密文为:首先,代理签密组员代表根据各代理签密组员的参数和密文接收人的公开身份信息及接收者的公钥,把消息明文转化成密文;然后,代理签密组员分别产生签密并且发送给代理签密组员代表,最后由代理签密组员代表合并各个代理签密组员产生的签密生成最终签密密文
[0054]优选实施例步骤,具体包括:
[0055]305-1、代理签密组员N」(j=l,2,…,η)选取
【权利要求】
1.前向安全的无证书多代理签密方法,其特征在于:包括: 初始化阶段,包括: 101、密钥生成中心设置系统参数,公开系统参数; 102、原始签密人、代理签密组员和密文接收人根据系统参数生成各自公钥,并分别发送给密钥生成中心,密钥生成中心分别利用各自公钥分别生成原始签密人私钥、代理签密组员私钥和密文接收人私钥,将原始签密人私钥发送给原始签密人,将代理签密组员私钥发送给该代理签密组员和原始签密人,将密文接收人私钥发送给密文接收人; 动态更新阶段,包括: 103、原始签密人更新原始签密人私钥获得更新后的原始签密人私钥; 104、原始签密人利用更新后的原始签密人私钥和授权许可证生成原始签密人签密并发送给代理签密组员,代理签密组员根据原始签密人的签密和代理签密组员私钥生成代理密钥发送给代理签密组员代表,所述授权许可证由原始签密人A预先签发给该代理签密组员; 105、代理签密组员代表根据所述代理密钥生成最终密文并发送给密文接收人; 106、密文接收人根据所述密文接收人私钥对所述最终密文进行验证,确定所述最终密文的有效性。
2.根据权利要求1所述前向安全的无证书多代理签密方法,其特征在于:所述原始签密人更新原始签密人私钥获得 更新后的原始签密人私钥SAi为:SAi=a AiDA,其中,aAi为当前阶段的秘密值,mod?,a A(i_D为原始签密人上一阶段随机选择的秘密值,DA为原始签密人验证码,Da=sQa, s为由密钥生成中心的系统主密钥,Qa为原始签密人公钥,根据原始签密人身份通过hash函数运算生成。
3.根据权利要求1所述前向安全的无证书多代理签密方法,其特征在于:所述代理签密组员代表根据代理密钥生成最终签密密文为包括:首先,代理签密组员代表根据各代理签密组员的参数和密文接收人的公开身份信息及密文接收人的公钥,把消息明文转化成密文;然后,代理签密组员分别产生签密并且发送给代理签密组员代表,最后由代理签密组员代表合并各个代理签密组员产生的签密生成最终签密密文。
【文档编号】H04W12/02GK103634788SQ201310687746
【公开日】2014年3月12日 申请日期:2013年12月16日 优先权日:2013年12月16日
【发明者】李方伟, 余航, 朱江, 冯德俊, 李立, 马安君 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1