一种基于可验证秘密分享的密钥管理方案
扫描二维码
随时随地手机看文章
引言
随着计算机网络与因特网技术的发展与普及,电子商务的应用已经越来越广泛,它正悄悄改变人们的购物、消费方式及生活观念,更加方便人们的日常生活。目前,影响电子商务发展的最大障碍之一就是消费者担心他们的信用卡信息会泄露。利用公钥密码体制实现的数字签名技术,为电子交易的顺利开展提供了保障。而签名的信息主要由用户的私钥决定。现在网络中信息的交换通常采用公钥基础体系(PKI)来保证数据的安全性。而PKI系统的关键是密钥管理问题,用户的公钥由数字证书保存,而私钥由用户自己保存,一旦泄露或丢失,会给用户造成无法估量的损失,虽然用户可以通过认证中心(CA)声明停止使用该证书及相应的公钥,但以前利用该证书加密的信息将无法读取。CA负责证书的管理工作,其证书库里面保存了用户私钥的备份,但显然这种赋予CA极大的权利行为并不利于信息安全。正是鉴于此,国家规定必须建立密钥管理中心(KMC)独立于CA由国密委监督管理,负责在电子商务活动中为用户提供加密密钥和进行国家政策规定的密码技术和产品服务。
而秘密分享技术的兴起为用户私钥的管理带来极大的便利,它可以将一些重要的信息分割成多个子秘密(秘密份额),然后分发给多个参与者,只有通过一些授权的参与者一起合作才能恢复出秘密,而其他参与者则得不到任何关于秘密的信息。秘密分享方案在防止重要信息丢失、被破坏、落入敌手等方面都可起到重要的作用。
这里提出的密钥管理方案是基于门限密码学中的秘密分享方案,它将用户的私钥分割成多个子秘密,然后动态分发给用户、CA及KMC。这样可以设定只有当其中的两方或者三方共享自己的子秘密才能恢复出用户的私钥,这样从技术上保证了任何一方不能独自恢复私钥。
2 理论准备
2.1 Shamir(t,n)秘密分享方案
Shamir(t,n)秘密门限方案是第一个(t,n)门限方案,该方案的基本结构是秘密分发者D根据初始秘密计算出n个秘密份额,然后D把它们通过安全信道发送给秘密分享的参与者。利用这个方案,这些参与者中的t人或更多的人可以通过秘密份额容易恢复出初始秘密,而任何少于(t-1)或更少的人却得不到任何关于秘密的信息。
基本参数:n是参与者的数目,t是门限值,P是一个大素数,并且P>n≥t,同时应满足P大于秘密可能的最大取值。秘密空间与份额空间相同,均为有限域GF(p)。x1,x2,…,xn为GF(p)中的n个互不相同的元素。以上参数都是公开的。
(1)份额的分配算法 分发者D首先随机选取GF(p)上的一个t-1次多项式:h(x)=a0+a1x+a2x2+…+at-1xt-1,使得a0=h(O)=s为要在n个分享者中分享的秘密。D对h(x)保密。然后D计算Sj=h(xj)mod p,j=1,2,…,n,其中,Sj是D要发送给第j个分享者Pj的秘密份额。
(2)恢复算法 由任何t个点(xj1,Sj1),(xj2,Sj2),…,(xjt,Sjt)可根据LaGrange(拉格朗日)多项式插值法恢复出h(x),并计算出秘密s=h(0)。
2.2 可验证秘密分享方案
通常的秘密分享方案都有两个不切实际的假设:一是秘密信息的分发者总是诚实的,它总是提供参与者正确的秘密份额;二是n个份额的分享者在恢复秘密时都会提供自己真实的秘密份额。为解决分发者欺骗的问题,Chor等人于1985年提出了可验证的秘密分享(VSS)概念。后来,文献[3-6]对可验证秘密分享方案做出了更进一步研究,也提m一些安全高效的门限可验证的秘密分享方案。可验证秘密分享是在秘密分享的基础上增加了一个验证算法而形成。在很多方面都有广泛应用,如安全多方计算、电子商务等。
3 基于可验证秘密分享的密钥管理方案
PKI系统中通常包含有认证中心CA、注册机构RA、数字证书库、密钥备份及恢复系统、证书撤销系统等基本部分构成。该方案要结合KMC和PKI中的一些部分并且借助可验证秘密分享方法来实现。
3.1 系统初始化
假设系统是由KMC、CA、用户三方来共同完成该秘密分享机制,KMC是用户私钥的分发者,待分发的子秘密数为n,t为门限值,而每个参与方分到的子秘密个数分别为n1,n2,n3。满足:n1+n2+n3=n;且n1<t;n2<t;n3<t(主要是保证不能使一个参与方独自恢复私钥)。
设P是一个大素数,g是GF(p)上阶为P-1的元素,假设产生n个子秘密,给每个子秘密提供标示码分别是ID,∈Z*P-1(i=1,2,…,n)。
3.2 秘密分发阶段
(1)分发者KMC选择t个随机数a0,a1…,at-1(ai∈Z*P-1)建立一个t-1阶的多项式f(x)=a0+a1x+a2x2+…+at-1xt-1(mod p-1),其中a0=k,并且计算f(IDi)。
(2)KMC将f(IDi)(i=1,2,…,n1)分发给CA,f(IDi)(i=n1+1,…,n1+n2)分发给用户,f(IDi)(i=n1+n2+1,…,n)分给自己。
(3)同时分发者KMC对每一个子秘密f(IDi)(i=0,1,…,n)任选两个整数Xij,Yij,而Xij,Yij称作IDj对子秘密f(IDi)的检查参数。
(4)分发者KMC为每个IDi计算出对应的检查参数Zij,然后给拥有子秘密f(IDi)的参与方,Zij满足f(IDi)=Xij+Yij×Zij;这样每个子秘密f(IDi)拥有(n-1)个检查参数磊Zij(j=1,2,…,n,j≠i),该检查参数是在日后与他人合作恢复秘密时用来证明自己提出的子秘密的真实性,另外也拥有(n-1)对的检查参数(Xji,Yji)(j=1,2,…,n,j≠i)。
(5)待KMC将所有的子秘密及对应的检查参数分发给CA和用户后,KMC将用户的私钥及分发给CA及用户的检查参数及子秘密全部销毁。
3.3 验证阶段
当恢复私钥时,参与者除提供子秘密f(IDi)外,还必须对每个其他的子秘密f(IDi)提出不同检查参数Zij用来证明本身子秘密的真实性,即是否满足等式f(IDi)=Xij+Yij×Zij。若成立,说明分享者无欺骗行为;否则,令其重新发送自己手中的子秘密。
3.4 秘密备份阶段
秘密分发完成及验证后,各方将分发到自身的私钥的秘密份额及检查参数备份到各自数据库的备份表中,即:KMC、CA的秘密数据库的密钥份额备份表及用户手中。系统根据门限值t的不同,以及分发给KMC、CA及用户保存的秘密份额的份数n1,n2,n3的不同,可以很容易实现是各方单方面恢复私钥还是双方、三方合作完成私钥的恢复。通常,为了安全,尽量避免单方面恢复情况出现。
3.5 秘密恢复阶段
(1)不失一般性,每个参与成员将各自f(IDi)发送给合成者KMC。
(2)KMC首先验证CA及用户提交的秘密份额f(IDi)及Zij(i=1,2,…,t,j≠i),验证f(IDi)=Xij+Yij×Zij(i=1,2,…,t,j≠i)是否满足。若满足随后由拉格朗日插值公式求出a0=f(0)=k,并将k公布给参与秘密恢复的分享者,否则要求重发。
4 安全性分析
方案中密钥是在KMC中产生的,KMC由国密委控制独立于CA,具有权威性。方案采用可验证的秘密分享机制,可用来检验分发及恢复过程中的欺骗问题。KMC在分发完私钥后,立即销毁产生的私钥及产生私钥的相关痕迹。另外,利用分发给每个参与者份额的数目来控制各参与方的权限,这样能够很好约束参与方的行为。
5 结语
可验证秘密分享在保证密钥的安全性上有很好的优越性,能够利用秘密分享机制很好地将私钥分发成多个份额,降低风险。下一步工作是研究如何利用秘密分享来保障电子商务中交易的公平性以及密钥托管问题。