首页 > 范文大全 > 正文

基于ELGamal密码体制的安全密钥托管方案

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于ELGamal密码体制的安全密钥托管方案范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:为寻求用户间秘密安全通信和监听机构合法监听之间的平衡,论文采用ELGamal密码体制和基于状态树的(k,n)门限秘密共享算法,设计了一种高安全性的门限密钥托管方案。经验证,方案在防止用户、托管、监听机构欺诈的同时,提出并解决了防止密钥管理中心欺诈的问题。

关键词:门限方案;elgamal密码体制;密钥托管;KMC

中图分类号:TP309.2 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.06.006

美国政府于1993年4月提出议案,倡导联邦政府和工业界使用新的具有密钥托管功能的联邦加密标准[1],这是最早的密钥托管方案,它是通过防串扰的芯片(clipper芯片)来实现的。在保密通信领域,存在两种相互矛盾的需要——通信用户对自身隐私的保密性需要与政府为抵制犯罪而进行搭线窃听的需要。而如何在这两种需要中寻求平衡是密钥托管的重要研究内容。

为解决这种矛盾,国内外诸多部门和专家进行了研究[2-4]。但是,目前提出的密钥托管方案大都是建立在有某一完全可信赖的部门基础上的,如密钥管理中心KMC,但是在现实生活中,很难找到完全可信任的部门。况且,掌握了大部分重要信息的KMC一旦被攻破,通信用户则无隐私可言。针对这种情况,本方案中,在防止用户、托管、监听机构欺诈的同时,将KMC的权力进行了限制,使其无法得到用户的私钥信息,也防止了KMC的欺诈。另外,方案还具有高效性和高安全性。这里采用基于状态树的(k,n)秘密共享算法[5]构造方案,它的运算开销远远低于基于Lagrange多项式插值[6]来构造的秘密共享方案。同时,出于安全性考虑,系统利用基于难解对数问题的ELGamal密码体制[7,8]来实现。

假设该密钥托管系统包括以下5个主要成员:其中密钥管理中心(KMC),负责为所有用户颁发证书;进行通信的用户A、B,其中要进行密钥托管的用户设为A,其私钥为dA;由P1,P2,…,Pn组成的托管,被授权进行用户密钥的托管工作;E是政府的法律执行机构,负责对通信用户进行监听;法律授权机构,负责为监听机构进行法律授权。该系统的会话密钥设为sk,它由通信用户双方事先协商决定,sk在信道传送时使用ELGamal公钥密码体制进行加解密。系统在用户和托管机构之间,监听机构与托管机构之间分别建有安全信道。

d’∈Zp作为自己的私钥并保存,再计算gd’(modp)将其赋值给Y,最后只将得到的Y传递给密钥管理中心KMC。

(3)密钥管理中心收到Y后,再随机选取两个值t和d’’(其中d’’∈Zp),通过公式Xgd"Y≠1(modp),y1gt(modp), y2(d’’Yt)gt(modp),计算得到X、y1和y2。将得到的X公开,并把(y1,y2)回传给用户A。

(4)用户A的私钥由KMC和用户共同决定。用户利用KMC传递的(y1,y2),通过公式d’’=(y2(y1d’)-1)(modp)计算得到KMC选取的私钥碎片d’’。然后,用户计算dA(d’+d’’)(mod(p-1)),若dA为0,那么需重新注册,否则将所得dA作为自己的私钥,并且将公钥PAgdA(modp)公开。

(5)用户A将自己的私钥拆分并交由n个托管进行托管。方法为:用户A通过公式dA=d1+d2+…+dn将私钥拆分成n份,再将这些碎片通过秘密信道分发给n个托管。将密钥碎片di(i=1,2,…,n)作为托管Pi的私钥,用户A计算得它们的公钥Qi,将(di,Qi)发给托管,最后用户A公开自己的签名信息。这里采用基于状态树的(k,n)秘密共享方案实现。

(6)托管Pi收到用户发送的(di,Qi)后,首先,通过公式Qigdi验证收到的私钥和公钥是否正确。若公式成立,则认为托管的内容是有效的,否则是无效信息,可以要求重新发送。其次,验证用户A的签名信息是否有效。若两项都符合,那么托管生成托管证书。(其中托管证书应包括用户A的特定标示符UID、托管的标示符、托管的公钥和托管证书号。)最后,托管用自己的签名私钥对此信息签名后发给KMC,否则不签名。

(7)密钥管理中心KMC在接收到各托管的信息后,都要先验证其托管证书的真实性,并且在收到全部的信息后,通过公式(1)验证其托管内容的完整性。

)