一个具有前向安全的门限数字签名方法与系统技术方案

技术编号:3542182 阅读:212 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于信息安全技术领域,涉及对数字信息进行签名问题,更确切地说是涉及一种能够增加敌手窃取签名密钥难度并且能够减轻签名密钥泄露影响的数字签名方法与系统。该签名方法通过应用Shamir秘密共享技术以及多方安全计算技术为一个经典的基础数字签名方法添加了门限机制与子秘密更新机制。门限机制增强了签名密钥的安全性,并可以起到权利分散的作用;子秘密更新机制实现了签名密钥的前向安全,即:即使敌手获得当前时间段的签名密钥,敌手也不能够通过该密钥伪造出一个属于前一时间段的合法签名,保护了以前的签名的有效性,降低了密钥泄露的损失。另外,该签名方法还包括一个成员加入机制,加强了方案的安全性和适用范围。

【技术实现步骤摘要】

本专利技术属于信息安全
,涉及对数字信息进行签名问题,更确切地说是涉及一种 能够增加敌手窃取签名密钥难度并且能够减轻签名密钥泄露影响的数字签名方法与系统。
技术介绍
前向安全签名的概念在1997年由Anderson引入,解决了通常数字签名的一些缺陷一 旦秘密密钥丢失(或被窃取),以前由这个密钥生成的所有签名都变得无效。为了减少这样的 损失,Anderson提出把密钥的有效期分成时段,在每个时段的最后,签名者以一个单向的模 式从当前时段的秘密密钥得到一个新的下一个时段秘密密钥,并且安全的删除不再使用的秘 密密钥。而在整个密钥的生命周期里公钥不变,这个方法确保了泄露密钥的时段以前的所有 签名的有效性。在最近这些年,具备前向安全的数字签名方案得到研究和发展。Bellare和 Miiie通过对通常签名方案安全定义的扩展,给出了前向安全正式的定义,同时提出了两个方 案 一个是在普通签名基础上使用树型结构的证书链构造的方案另一个是修改通常的签名 方案(Fiat-Sham签名方案)。2001年,Abdalla和Miner给出一个前向安全的门限数字签名, 但是该方案的签名密钥和验证密钥都比较长。我们这里要研究的前向安全的门限签名方案应用门限机制对消息进行签名,即将签名密 钥分割成多份,分别有多人保管,须由一定数目的签名子密钥拥有者联合才能够产生一个有 效的签名,该签名等同于由签名密钥直接产生并可使用对应的公开密钥验证其有效性。方案 还采用密钥进化机制,把整个周期(一般是声明的公钥有效期)分成更小的一个个时段,在 整个周期内,公钥是固定不变的,而私钥是随时段不断进化。一个标准的数字签名包括密钥生成协议、签名协议和签名验证算法,而在前向安全的数 字签名方案中,还包括一个密钥进化协议,这个协议是用来说明在整个周期中,密钥是怎样 进化的。另外, 一个不可忽视的问题是在门限签名系统中,成员签名子密钥会出现损坏或丢 失,当子密钥损失数目超过一定值后,整个系统将不可用,另外针对某具体应用,可能会有 向系统中加入新成员的应用需求,因此一个完善的前向安全的门限签名方案还应该包括一个 成员加入协议。一个4(/,^^^, )前向安全的门限数字签名是指该方案最多可以在/个参与者被攻陷后,仍能保证其签名密钥的安全性,^:的工作过程如下在密钥生成阶段,分发者生成公、私钥并将私钥分割后^'发给《个参与者。在每一个时间段的开始时刻,由《个参与者中的/^个没被攻陷的参与者执行密钥进化 协议,协议执行后,这个时段的私钥将改变,并且每一个参与者,无论是否参与密钥进化协 议,都会得到这个时段属于自己的新的子密钥。要对一个消息m进行签名,需&个参与者共同执行签名协议,进而生成一个使用当前 时段签名密钥签署的消息签名。这个签名中将包括本时段的序号并可以由公钥验证通过。当有新成员要加入系统时,需要&个参与者共同执行成员加入协议,为新加入成员生成 一个这一时段属于他的签名子密钥。该过程不泄露任何原有成员的秘密信息,并且新成员加 入后,与原有成员拥有相同的地位。验证过程同普通数字签名验证过程相同。任何持有公钥的一方都可以执行该过程,验证 结果将是接受或拒绝,以告知验证者被验证的签名是否有效。我们假设前向安全的门 限数字签名方案产生的签名形式是-,tog、其中_/为产生该签名的时段序号,对于一个前向 安全的门限签名方案,李时段/,即使敌手攻陷Z个以上参与者,他也不能成功伪造一个签名 </《塔>满足1^^/^附,<_/, 昭>)=1并且_/</。这里,venj50是签名验证算法,也就是说,敌手即 使在第/时段获得签名密钥,他也不能伪造出/时段之前的有效签名。前向安全的方案都要求 使用者删除前一时段使用的密钥,并将这一步骤作为密钥进化协议的一部分,这很关键,否 则,敌手攻陷系统后将根据以前时段的子秘密信息获得以前时段的签名密钥来生成以前时段 的有效签名。在我们的专利技术中,应用了下面的数论知识设&和/是两个安全参数,A^p2^3(mod4)是两个大素数。^=^; 2是一个A:位的整数(即 W是一个Blum整数)。为了简化计算,我们可以合理地假设A^2^1,并且I ZN* I ^卞2+l 》21。记2是模W的二次剩余集合。由数论中的定理可知I 2 I》2k—3,并且对于集合2中 任意元素义,x的四个平方根中有且仅有一个属于g,因此,平方在0上是一个置换。从现在 起,当我们说:c的平方根时,我们是指属于Q的那个平方根。令^/eg,定义i^(Z)-z2modW, F, = (7Z2 mod W 。对于/位二进制串cr =…cr,,定义f; :g — 2为巧(z) = (…(/^(、(z)))…)=z2'〃ff modw。(注意这里的tr并非通常意义上的C/的o次幂,o在这里是一个二进制串,而非代表一个整数)因为平方是在Q 上的置换,而f/e0,故&在Q上也是一个置换。在知道u和n的前提下,i^(z)可以快速计算,同时,如果知道a和a,则对于给定 的Y,可以快速计算出Z二i^—'(y)。(通过计算5 = ^2, modAr, Z = y2—' S^modAT可得。这些计算可以先分别计算mod^和modA的结果,然后用中国剩余定理合并。)然而,如果 不知道U的平方根,那么F。'是难于计算的。下面我们给出证明引理给定yeg和两个不同的等长的串tr和T, Z1= iV、y), Z2= i^1(7),能够计算出Fe^ 且 一三f/modW证明如果|<7|=|7:|=1,(无损于一般性地),令<7=0, r=l,则Fo(Zi)-^(Z2)-;r,则&2三C/Z22 mod见于是得到r= & /Z2 mod AT。在归纳证明中,令ff和f为两个长w+l位的串,<7,和r,为其对应的前加位。如果F。,(Z,)^i^(Z2),则归纳假设完成,否则(t和t最后一位应该是不同 的,于是(不失一般性),假设ff最后一位为O, T最后一位为l,则FF。d)h^^,(Z2)), 同上可以得证。根据上面提到的单向函数可以构造下面的数字签名方案。本文提出的前向安全的门限签 名方案就是以该方案为基础,加入门限机制和前向安全机制得到的。签名者生成大模数W和一个随机数SEg, S作为签名密钥,需安全保管。计算u-(^v1 并公开(AT,i;)作为公钥。H()为一个输出位数为/的哈希函数。要对消息M签名时,首先生成随机数/ eg,计算p^, o-风igw), Z^^/(7)^f modAf。输出(Z, o)作为消息M的签名。验证者验证签名时,首先验证Z^OmodW,而后计算y=F。(Z)=Z2't/CTmodW,最后检 验0=//(/州是否成立,成立则证明该签名是A/的合法签名。' 该数字签名算法是一个经典算法,其正确性和安全性已经由许多前辈学者证明过并经历 了长时间的实践检验。
技术实现思路
本专利技术的目的是设计一种数字签名方法与签名系统,该签名方法具有门限机制与子秘密 更新机制。门限机制增强了签名密钥的安全性,并可以起到权利分散的作用;子秘密更新机 制实现了签名密钥的前向安全,即即使敌手获得当前时间段本文档来自技高网
...

【技术保护点】
一种数字签名方法与签名系统,该签名方法具有门限机制、子秘密更新机制以及成员加入机制。其特征是,以Shamir-SS协议、Mult-SS协议、Joint-Shamir-RSS协议为基础模块,设计出的前向安全的门限签名方案(FST-SIG签名方案)。整个数字签名方案包括五个部分;密钥生成协议、密钥进化协议、签名协议、签名验证算法、新成员加入协议。方案中涉及到的协议及算法的核心内容如下: Protocol FST-SIG.keygen(k,T)//密钥生成协议 (1) .分发者挑选两个随机的大素数p和q,并且满足p≡q≡3(mod4),p,q需要保密; (2).分发者计算N,使N=pq; (3).分发者在Z↓[N]↑[*]中随机选取S↓[0]并计算U,U=(S↓[0]↑[2↑[l(T+1)]] ↑[-1]; (4).分发者利用Shamir-SS,在Z↓[n]上计算S↓[0]的子秘密:S↓[0]↑[(1)],S↓[0]↑[(2)],…,S↓[0]↑[(n)]; (5).令SK↓[0]↑[(ρ)]=(N,T,0,S↓[0] ↑[(ρ)])(ρ=1,2,…,n),PK=(N,T,U); (6).分发者通过保密的信道将SK↓[0]↑[(ρ)]发送给第ρ个参与者并发布签名验证密钥PK。 Protocol FST-SIG.sign(m,j)//签名协议   (1).参与者利用Joint-Shamir-RSS共同生成随机数R(R∈Z↓[N]),每个参与者拥有R的子秘密R↑[(ρ)]; (2).参与者根据R↑[(ρ)]利用Mult-SS计算Y,使Y=R↑[2↑[l(T+1-j)]];   (3).每一个参与者ρ计算σ=H(j,Y,m); (4).利用Mult-SS参与者联合计算Z=RS↓[j]↑[σ]; (5).公布消息m的签名〈j,(Z,σ)〉。 Algorithm FST-SIG.verify( m,PK,sign)//签名验证算法 假设:PK是(N,U,T);sign是〈j,(Z,σ)〉; ifZ≡0(mod N) return(0); else Y′=Z↑[2↑[l(T+1-j)]]U↑[σ]mod   N; if σ==H(j,Y′,m) then return(1); else return(0); Protocal FS...

【技术特征摘要】
1、一种数字签名方法与签名系统,该签名方法具有门限机制、子秘密更新机制以及成员加入机制。其特征是,以Shamir-SS协议、Mult-SS协议、Joint-Shamir-RSS协议为基础模块,设计出的前向安全的门限签名方案(FST-SIG签名方案)。整个数字签名方案包括五个部分密钥生成协议、密钥进化协议、签名协议、签名验证算法、新成员加入协议。方案中涉及到的协议及算法的核心内容如下Protocol FST-SIG.keygen(k,T)//密钥生成协议(1). 分发者挑选两个随机的大素数p和q,并且满足p≡q≡3(mod4),p,q需要保密;(2). 分发者计算N,使N=pq;(3). 分发者在ZN*中随机选取S0并计算U,(4). 分发者利用Shamir-SS,在Zn上计算S0的子秘密(5). 令(ρ=1,2,…,n),PK=(N,T,U);(6). 分发者通过保密的信道将发送给第ρ个参与者并发布签名验证密钥PK。Protocol FST-SIG.sign(m,j)//签名协议(1). 参与者利用Joint-Shamir-RSS共同生成随机数R(R∈ZN),每个参与者拥有R的子秘密R(ρ);(2). 参与者根据R(ρ)利用Mult-SS计算Y,使Y=R2l(T+1-j);(3). 每一个参与者ρ计算σ=H(j,Y,m);(4). 利用Mult-SS参与者联合计算(5). 公布消息m的签名<j,(Z,σ)>。Algorithm FST-SIG.verify(m,PK,sign)//签名验证算法假设PK是(N,U,T);sign是<j,(Z,σ)>;ifZ≡0(modN)return(0);else Y′=Z2l(T+1-j)Uσmod N;if σ==H(j,Y′,m)then return(1);else return(0);Protocal FST-SIG.update(j)//密钥进化协议(1). 如果j=T,则返回空串;否则,执行(2). 参与者根据各自的子秘密...

【专利技术属性】
技术研发人员:许春香张辉
申请(专利权)人:电子科技大学
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1