摘 要 本文提出一种验证功能完善、安全性更高的门限RSA签名方案。该门限签名方案利用有理数域上的插值公式,Shamir秘密共享方案以及改进的门限RSA签名方案等理论,解决了在 中对元素求逆和代数结构扩张的问题以及共享服务器合谋的问题。
关键词 门限密码体制,门限签名,RSA算法,门限RSA签名方案
1 引言
门限签名是门限密码学的主要 研究内容之一,最初由Desmedt和Frankel等人引进的,并基于ElGamal密码方案建立了第一个( t, n)门限密码体制。在( t, n)门限签名方案中, n个成员共享群体的签名密钥,使得任何不少于 t个成员的子集可以代表群体产生签名,而任何少于 t个成员的子集则不能产生签名。门限签名方案的基本假设是:在系统生命周期中,至少有( t-1)个非诚实成员。由于RSA算法满足构成门限密码体制的同态性要求,并且在CA中被广泛使用,所以这里选择基于RSA的门限签名方案。
但是对于RSA密码系统,情况要复杂一些。首先剩余环  不是域,其中的元素未必都可逆,于是不能利用一般的秘密共享 方法共享签名密钥 d;其次,为了保护RSA模数 N的因子分解,不能让参与签名的成员知道  ,因此给在  上建立秘密共享方案和建立门限签名方案都带来了困难。另外一个需要解决的问题是由于采用Shamir秘密共享方案共享签名私钥,任意 t个或更多个成员共享的密钥就是签名私钥,所以他们合谋可以恢复出秘密密钥,从而假冒系统生成有效的群签名。这些问题都是我们在设计门限签名方案时应该考虑的。
本文以基于有理数域上插值公式的Shamir的秘密共享方案为基础,将改进的门限RSA签名体制、两方共享与( t, n)门限方案相结合,提出了一个需要可信任中心的安全性增强的基于门限RSA签名方案。利用由hash函数建立的特殊形式的RSA签名体制,很好解决了在  中对元素求逆和代数结构扩张的问题,为实现带来了方便。同时在签名过程中对分发的子密钥、部分签名以及签名都进行了验证,保证子密钥和签名的正确性;保证在签名过程中不会被敌人入侵和欺诈,同时也防止了共享服务器合谋的危险。因此是一个安全性更高的门限签名方案。
2 门限秘密共享方案分析
通过前面的分析我们知道门限秘密共享方案是构成门限签名方案的基础。现有的许多门限签名方案采用的是ITTC项目中的方案,采用随机和的拆分方法,也就是将秘密密钥d按多种(t,t)共享方案分割,每种分割称为一种联合,每种联合含有t份子密钥,这t份子密钥分别存储在n个服务器中的t个不同共享服务器上,不同的子密钥联合对应不同的t个共享服务器组合。这种方案具有方法简单,运算效率高的特点,但是它的子密钥分发和管理都比较困难。它需要客户机或是组合者指定共享服务器而不具有任意性,对于客户机的要求很高,实现起来比较困难。
本文采用有理数域上的插值公式和经典的Shamir(t,n)秘密共享方案作为构造门限签名方案的理论基础。这是因为Shamir门限体制具有以下特点:
(1)增加新的子密钥不用改变已有的子密钥。在参与者P1, P2, …, Pn中成员总数不超过q的条件下可以增加新的成员而不用重新撤销以前分发的子密钥。当系统需要增加共享服务器时,我们只需要对新增加的服务器分发新的子密钥,而不需要将已经分发的子密钥一起替换掉,这样可以减少系统的工作,提高系统效率。
(2)可以通过选用常数项不变的另一(t-1)次新的多项式,将某个成员的子密钥作废。当某个共享服务器被攻破时,需要作废它的子密钥,我们可以采用这种方法。
(3)组合者可以任意选择共享服务器的子密钥进行密钥恢复而不需要指定它们。这是我们选择Shamir(t,n)秘密共享方案的一个重要原因。当共享服务器完成部分签名后组合者Combiner可以在n个服务器中任意选择t个进行最后的组合,而不需要去指定由某些服务器的部分签名构成最后的签名。
这里我们给出这样一个假设:任意 t个共享组件所构成的信息与 n个共享组件所构成的信息应该是完全等价的。在此基础上给出本文的基于RSA门限签名方案。
3 基于RSA门限签名方案设计
3.1 密钥初始化
定义5-1可信任中心A(Administrator)指将签名私钥分给n个秘密共享者的组件。可信任暗含了A一定能确保秘密信息不会被泄漏,并且在执行完密钥的分发后将签名私钥和其它信息一起销毁。
(1)假设可信任中心A选择好RSA模数N,公钥 e和私钥 d以及  ,使得  。其中,模数N为两个安全大素数 p, q的乘积。
(2)取定一个固定的正整数 k及值域包含于  (指  中最高两个比特为0的数构成的集合)的适当的hash函数 h(如MD5),H由  得到,由于对N的分解是困难的,所以H(m)是强无碰撞的、单向的函数。
(3) d1为随机数,  ,现在可信任中心A欲将 d2分发给 n个共享服务器Share Server i  ,将 d1发给密钥服务器K。这里签名私钥 d由 d1和 d2组成,各共享服务器共享私钥 d2。
3.2 子密钥的生成与验证
可信任中心A按如下步骤将签名密钥d2分发给n个共享服务器Share Serveri 。
(1)A随机选取多项式  使 f(0)= a0= d2, 计算下式:

[1] [2] [3] [4] 下一页
|