可区分共享者角色的可验证的多秘密共享方案

2011-09-07 01:35
郑州大学学报(工学版) 2011年5期
关键词:公告牌分配器私钥

刘 恒

(玉林师范学院计算机科学与工程学院,广西玉林537000)

0 引言

1979 年,Shamir[1]和 Blakley[2]独立地提出了秘密共享这一思想.此外,还有基于中国剩余定理的Asmuth-Bloom法[3]和使用矩阵乘法的Karnin-Greene-Hellman法[4]等.近 30年来,学者们针对不同的应用问题,提出了各种各样的方案,例如可验证的秘密共享和多秘密共享,具体可参考文献[5-6].

笔者前期研究中提出的可区分秘密分享者角色的防欺诈秘密共享方案[7]已假定秘密分发者诚实可信,在进行秘密共享方案的初始化过程中,一旦秘密分发者作弊,分发出来的是错误的或者虚假的数据,则秘密共享方案失败,该方案是单秘密共享方案,也就是说,秘密份额是一次性的,只能使用一次,这在现实应用中是很难让人满意.为了可以同时共享多个秘密,且达到防止秘密分发者的欺诈和共享者的欺骗,笔者在前期方案[7]的基础上提出了一个可区分共享者角色的可验证的多秘密共享方案.

1 改进后的方案

在下面的描述中,E(M,K)表示用密钥K对报文M加密后得到的密文.为讨论方便,先假设分享秘密的共享者分别为A、B和C共3种角色,若有更多的角色类别可类推.

1.1 参数建立

方案有1个秘密分发者和n个共享者.秘密分发者设为 D,n 个共享者是 P1,P2,…,Pn,担任A、B、C 共3 种角色中的1 种,M1,M2,…,Mm是所要共享的m个秘密.D利用密钥分配器分别向三类共享者分配密钥,密钥分配器是产生密钥和加密所产生密钥的中心源G,事先为G设置一个密钥KG.有一个系统公告牌,每个共享者均可读到公告牌上的内容,但无权向公告牌上写内容,只有D可以在公告牌上修改或写入内容.D事先进行几项工作.

(1)选定一个大素数p和一个生成元g,g为Zp的生成元,这两个数字公布在公告牌上.

(2)选定一个素数q,其中q|p-1.

(3)选h是p的一个素根,即hn≡1 mod p.

(4)D的私钥,即要分割的密钥为S.选择正整数 a、b、c(a+b+c> =p),这 3 个数字保密,满足S=a+b+c mod p,且将S分解为n个{si},将它的公开密钥T=gSmod p公布在公告牌上.

(5)设f(r,s)是一个二元单向函数,具有如下性质:

a) 已知 r、s,容易计算出 f(r,s);

b)已知 s和 f(r,s),不能求出 r;

c)已知 r和 f(r,s),不能求出s;

d) 未知 s,对任意 r,难以计算 f(r,s);

e)已知s,找到不同的r1和r2满足f(r1,s)=f(r2,s)在计算上是不可行的;

f) 已知任意多的(ri,f(ri,s))对,其中 r≠ri,求f(r,s)是不可行的.

随机选择一个整数r将其公布在公告牌上,r∈Zp,计算出 f(r,si)和 σi=gf(r,si)mod p(i=1,…,n).

(6)在[m,p-1]中选取n个随机整数ui(i=1,…,n)分别作为每个共享者Pi的公开身份信息.

(7)根据 n+m 个数值对(0,M1),(1,M2),…,(m-1,Mm)以及(ui,f(r,si)),i=1,…,n,构造n+m-1次多项式:h(x)=a0+a1x+a2x2+…+an+m-1xn+m-1.计算出 εj≡gajmod p(j=0.1,…,n+m-1),并公布在公告牌上.

(8)从集合[m,p-1]/Y{ui}(i=1,…,n)中取出最小的 n+m-t个整数 d1,d2,…,dn+m-t,并计算出 h(dk)和 τk=gh(dk)mod p,其中 k=1,…,n+m-t,并将τk公布在公告牌上.

1.2 秘密分发

密钥分配器对共享者进行身份鉴别后,先向A类用户分配密钥,过程如下:密钥分配器随机产生大量密钥 K1,K2,…,Kt,这些密钥都满足条件Kimod p=a,并用KG加密形成密钥流.设某A类共享者A1获得G发来的一些经过KG加密的密钥后,选择其中一个,如 E(KA1,KG).这时,A1在电脑终端输入一个密码,用来加密所选择的密钥,形成 E(E(KA1,KG)),并将这个经过两次加密的密钥回送给G解密这一密钥,使之只处在保护下,即 E(EA1),并将其发送给A1,A1用对之解密,则得到自己挑选的密钥KA1,同时它在域中产生随机数aA1,将aA1KA1作为自己的私钥,然后将之代入到下面的式子中:PA1=gKaA1mod p.求出PA1作为自己的公钥,并将PA1发送给G.

接下来密钥分配器向B类共享者分配密钥,流程与前面所述的A类共享者相似,唯一改变的是,密钥分配器随机产生的大量密钥都满足条件:Kimod p=b;而对于C类共享者,密钥分配器随机产生的大量密钥都满足条件:Kimod p=c.

分配结束后,每个共享者都得到了个人的私钥,而密钥分配器G上则有每个共享者的公钥.D可以把这些公钥整理成共享者的公钥表公布在公告牌上,以后可以用于验证共享者的数字签名.

在新方案中,a、b、c是秘密片段,是共享秘密的影子,而每个共享者的私钥可以认为是a、b、c的影子,正因为有这种影子的扩展,每种角色的人员都可以有无数个.密钥分配器可以同时分配多个密钥,达到多秘密共享,则有:

1.3 密钥使用

当需要获得共享的秘密时,只要每种角色中各有一人合作即可恢复.但有时并不需要恢复秘密,而只需要确认某3个人分别持有3个角色的秘密片段,且他们都认可某个消息.假设一个消息M要求必须经过上述3种角色中各一人的认可才能生效,设A角色中某个Ai看过消息M后认可此消息,则他需要用到他的私钥进行以下操作:

①求出a=KAimod p;②计算T1=gamod p;③用私钥对消息M与T1进行签名,并发送给验证者.

同时,如果B角色中的某个Bi看过消息M后也认可此消息,则他也进行类似的计算并签名.在经过最后一个人签名后,验证者可利用D的公钥验证:T=(T1×T2×T3)mod p.如果该式成立,则可确认:

(1)这3个人分别是A、B、C共3个角色的成员;(2)这3个人都认可消息 M,则 T1、T2、T3是这3个人的认证片段.

如果该式不成立,则可以对T1、T2、T3分别验证 T1=gamod p,T2=gbmod p,T3=gcmod p,哪个式子不成立则说明哪个人是非法的共享者.

更进一步,如果要区分某种角色中不同人员的权限,则先要对该角色的秘密片段进行进一步的切割,比如,对A角色中的高级共享者,向其分配秘密片段a;对A角色的普通共享者,向其分配的秘密片段为,这样,两个普通共享者认可消息M就相当于一个高级共享者认可消息M,从而区别其权限.对各角色的秘密片段做更精细的切割,可以实现更精细的权限管理.

2 安全性论证

(1)识别秘密分发者的欺诈.根据公告牌上的相关参数,每一个共享者都可以通过

(2)识别共享者的欺骗.当需要恢复共享的秘密信息M时,n个共享者中可能存在内部欺骗者或外部欺骗者,其中,内部欺骗者出示假的片段以阻止共享的秘密信息的正确恢复,外部欺骗者则设法参与共享的秘密信息的恢复以获得M.

检测内部或外部欺骗者,一是可以根据对T1、T2、T3分别验证 T1=gamod p,T2=gbmod p,T3=gcmod p识别;二是即使欺骗者窃取了秘密片段a或b或c,并由此得出了合法的认证片段,但是由于合法的共享者的私钥是由a或b或c随机生成的,欺骗者很难由其得到某个合法共享者的私钥,这样秘密分发者在利用公钥表验证共享者的签名时就可识别出欺骗者,因为欺骗者的签名是用假私钥冒充某个合法共享者签的.

3 结论

笔者在前题研究的基础上提出了一个可区分共享者角色的可验证的多秘密共享方案,除了保留原方案的优良特性外,还能有效地防止恶意的秘密分发者分发伪信息.同时,根据二元单向函数的特性,在秘密恢复过程中,使用子秘密si的伪份额为f(r,si),可知任何参与者的子秘密都不会被泄露,因为尽管秘密恢复了,但是子秘密仍然是安全的,可以在下次秘密共享中继续使用,只要重新选择一个随机数r即可,从而达到了多秘密共享.数字签名可继续沿用原方案[7]中的签名算法,共享者完成签名后,别人无论何时要验证其签名,只要从秘密分发者原来制作的公钥列表上读取其公钥,对其运用DSS数字签名的验证算法即可.该方案具有广阔的应用前景,如何产生f(r,s)的表达式和增强密钥使用的安全性,将是笔者下一步的研究方向.

[1]SHAMIR A.How to share a secret[J].Comm of ACM,1979,22(1):612-613.

[2]BLAKLEY G R.Safeguarding cryptographic keys[C]∥Proc NCC,AFIPS Press,Montvale,1979,48:313-317.

[3]ASMUTH C,BLOOM J.A Modular approach to key safegrarding[J].IEEE Transactions On Information Theory,1983,29(2):208-210.

[4]KARNIN E D,GREEN J W,HELLMAN M E.On sharing secret systems[J].IEEE Transactions On Information Theory,1983,29(1):35-41.

[5]庞辽军,李慧贤,李志洁,等.一个可验证的门限多秘密共享方案[J].哈尔滨工业大学学报,2008,40(9):1462-1465.

[6]周洪伟,郭渊博,李沁.门限多重秘密共享方案[J]. 计算机工程与设计,2008,29(8):1946-1951.

[7]LIU Heng,WU Hua-jian.A cheating-proof secret-sharing scheme capable of differentiating the roles of the secret sharers[J].Journal of zhengzhou:Natural science,2006,38(3):35-38.

猜你喜欢
公告牌分配器私钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
ETC推出ArcSystem Navis、F-Drive及Response DMX分配器
一种基于虚拟私钥的OpenSSL与CSP交互方案
悬臂分配器
一种新颖的宽带大功率分配器
最狠公告牌
公告牌
公告牌