一種基于可驗(yàn)證秘密分享的密鑰管理方案
引言
隨著計(jì)算機(jī)網(wǎng)絡(luò)與因特網(wǎng)技術(shù)的發(fā)展與普及,電子商務(wù)的應(yīng)用已經(jīng)越來(lái)越廣泛,它正悄悄改變?nèi)藗兊馁?gòu)物、消費(fèi)方式及生活觀念,更加方便人們的日常生活。目前,影響電子商務(wù)發(fā)展的最大障礙之一就是消費(fèi)者擔(dān)心他們的信用卡信息會(huì)泄露。利用公鑰密碼體制實(shí)現(xiàn)的數(shù)字簽名技術(shù),為電子交易的順利開(kāi)展提供了保障。而簽名的信息主要由用戶的私鑰決定?,F(xiàn)在網(wǎng)絡(luò)中信息的交換通常采用公鑰基礎(chǔ)體系(PKI)來(lái)保證數(shù)據(jù)的安全性。而PKI系統(tǒng)的關(guān)鍵是密鑰管理問(wèn)題,用戶的公鑰由數(shù)字證書(shū)保存,而私鑰由用戶自己保存,一旦泄露或丟失,會(huì)給用戶造成無(wú)法估量的損失,雖然用戶可以通過(guò)認(rèn)證中心(CA)聲明停止使用該證書(shū)及相應(yīng)的公鑰,但以前利用該證書(shū)加密的信息將無(wú)法讀取。CA負(fù)責(zé)證書(shū)的管理工作,其證書(shū)庫(kù)里面保存了用戶私鑰的備份,但顯然這種賦予CA極大的權(quán)利行為并不利于信息安全。正是鑒于此,國(guó)家規(guī)定必須建立密鑰管理中心(KMC)獨(dú)立于CA由國(guó)密委監(jiān)督管理,負(fù)責(zé)在電子商務(wù)活動(dòng)中為用戶提供加密密鑰和進(jìn)行國(guó)家政策規(guī)定的密碼技術(shù)和產(chǎn)品服務(wù)。
而秘密分享技術(shù)的興起為用戶私鑰的管理帶來(lái)極大的便利,它可以將一些重要的信息分割成多個(gè)子秘密(秘密份額),然后分發(fā)給多個(gè)參與者,只有通過(guò)一些授權(quán)的參與者一起合作才能恢復(fù)出秘密,而其他參與者則得不到任何關(guān)于秘密的信息。秘密分享方案在防止重要信息丟失、被破壞、落入敵手等方面都可起到重要的作用。
這里提出的密鑰管理方案是基于門(mén)限密碼學(xué)中的秘密分享方案,它將用戶的私鑰分割成多個(gè)子秘密,然后動(dòng)態(tài)分發(fā)給用戶、CA及KMC。這樣可以設(shè)定只有當(dāng)其中的兩方或者三方共享自己的子秘密才能恢復(fù)出用戶的私鑰,這樣從技術(shù)上保證了任何一方不能獨(dú)自恢復(fù)私鑰。
2 理論準(zhǔn)備
2.1 Shamir(t,n)秘密分享方案
Shamir(t,n)秘密門(mén)限方案是第一個(gè)(t,n)門(mén)限方案,該方案的基本結(jié)構(gòu)是秘密分發(fā)者D根據(jù)初始秘密計(jì)算出n個(gè)秘密份額,然后D把它們通過(guò)安全信道發(fā)送給秘密分享的參與者。利用這個(gè)方案,這些參與者中的t人或更多的人可以通過(guò)秘密份額容易恢復(fù)出初始秘密,而任何少于(t-1)或更少的人卻得不到任何關(guān)于秘密的信息。
基本參數(shù):n是參與者的數(shù)目,t是門(mén)限值,P是一個(gè)大素?cái)?shù),并且P>n≥t,同時(shí)應(yīng)滿足P大于秘密可能的最大取值。秘密空間與份額空間相同,均為有限域GF(p)。x1,x2,…,xn為GF(p)中的n個(gè)互不相同的元素。以上參數(shù)都是公開(kāi)的。
(1)份額的分配算法 分發(fā)者D首先隨機(jī)選取GF(p)上的一個(gè)t-1次多項(xiàng)式:h(x)=a0+a1x+a2x2+…+at-1xt-1,使得a0=h(O)=s為要在n個(gè)分享者中分享的秘密。D對(duì)h(x)保密。然后D計(jì)算Sj=h(xj)mod p,j=1,2,…,n,其中,Sj是D要發(fā)送給第j個(gè)分享者Pj的秘密份額。
(2)恢復(fù)算法 由任何t個(gè)點(diǎn)(xj1,Sj1),(xj2,Sj2),…,(xjt,Sjt)可根據(jù)LaGrange(拉格朗日)多項(xiàng)式插值法恢復(fù)出h(x),并計(jì)算出秘密s=h(0)。
2.2 可驗(yàn)證秘密分享方案
通常的秘密分享方案都有兩個(gè)不切實(shí)際的假設(shè):一是秘密信息的分發(fā)者總是誠(chéng)實(shí)的,它總是提供參與者正確的秘密份額;二是n個(gè)份額的分享者在恢復(fù)秘密時(shí)都會(huì)提供自己真實(shí)的秘密份額。為解決分發(fā)者欺騙的問(wèn)題,Chor等人于1985年提出了可驗(yàn)證的秘密分享(VSS)概念。后來(lái),文獻(xiàn)[3-6]對(duì)可驗(yàn)證秘密分享方案做出了更進(jìn)一步研究,也提m一些安全高效的門(mén)限可驗(yàn)證的秘密分享方案。可驗(yàn)證秘密分享是在秘密分享的基礎(chǔ)上增加了一個(gè)驗(yàn)證算法而形成。在很多方面都有廣泛應(yīng)用,如安全多方計(jì)算、電子商務(wù)等。
3 基于可驗(yàn)證秘密分享的密鑰管理方案
PKI系統(tǒng)中通常包含有認(rèn)證中心CA、注冊(cè)機(jī)構(gòu)RA、數(shù)字證書(shū)庫(kù)、密鑰備份及恢復(fù)系統(tǒng)、證書(shū)撤銷(xiāo)系統(tǒng)等基本部分構(gòu)成。該方案要結(jié)合KMC和PKI中的一些部分并且借助可驗(yàn)證秘密分享方法來(lái)實(shí)現(xiàn)。
3.1 系統(tǒng)初始化
假設(shè)系統(tǒng)是由KMC、CA、用戶三方來(lái)共同完成該秘密分享機(jī)制,KMC是用戶私鑰的分發(fā)者,待分發(fā)的子秘密數(shù)為n,t為門(mén)限值,而每個(gè)參與方分到的子秘密個(gè)數(shù)分別為n1,n2,n3。滿足:n1+n2+n3=n;且n1<t;n2<t;n3<t(主要是保證不能使一個(gè)參與方獨(dú)自恢復(fù)私鑰)。
設(shè)P是一個(gè)大素?cái)?shù),g是GF(p)上階為P-1的元素,假設(shè)產(chǎn)生n個(gè)子秘密,給每個(gè)子秘密提供標(biāo)示碼分別是ID,∈Z*P-1(i=1,2,…,n)。
3.2 秘密分發(fā)階段
(1)分發(fā)者KMC選擇t個(gè)隨機(jī)數(shù)a0,a1…,at-1(ai∈Z*P-1)建立一個(gè)t-1階的多項(xiàng)式f(x)=a0+a1x+a2x2+…+at-1xt-1(mod p-1),其中a0=k,并且計(jì)算f(IDi)。
(2)KMC將f(IDi)(i=1,2,…,n1)分發(fā)給CA,f(IDi)(i=n1+1,…,n1+n2)分發(fā)給用戶,f(IDi)(i=n1+n2+1,…,n)分給自己。
(3)同時(shí)分發(fā)者KMC對(duì)每一個(gè)子秘密f(IDi)(i=0,1,…,n)任選兩個(gè)整數(shù)Xij,Yij,而Xij,Yij稱(chēng)作IDj對(duì)子秘密f(IDi)的檢查參數(shù)。
(4)分發(fā)者KMC為每個(gè)IDi計(jì)算出對(duì)應(yīng)的檢查參數(shù)Zij,然后給擁有子秘密f(IDi)的參與方,Zij滿足f(IDi)=Xij+Yij×Zij;這樣每個(gè)子秘密f(IDi)擁有(n-1)個(gè)檢查參數(shù)磊Zij(j=1,2,…,n,j≠i),該檢查參數(shù)是在日后與他人合作恢復(fù)秘密時(shí)用來(lái)證明自己提出的子秘密的真實(shí)性,另外也擁有(n-1)對(duì)的檢查參數(shù)(Xji,Yji)(j=1,2,…,n,j≠i)。
(5)待KMC將所有的子秘密及對(duì)應(yīng)的檢查參數(shù)分發(fā)給CA和用戶后,KMC將用戶的私鑰及分發(fā)給CA及用戶的檢查參數(shù)及子秘密全部銷(xiāo)毀。
3.3 驗(yàn)證階段
當(dāng)恢復(fù)私鑰時(shí),參與者除提供子秘密f(IDi)外,還必須對(duì)每個(gè)其他的子秘密f(IDi)提出不同檢查參數(shù)Zij用來(lái)證明本身子秘密的真實(shí)性,即是否滿足等式f(IDi)=Xij+Yij×Zij。若成立,說(shuō)明分享者無(wú)欺騙行為;否則,令其重新發(fā)送自己手中的子秘密。
3.4 秘密備份階段
秘密分發(fā)完成及驗(yàn)證后,各方將分發(fā)到自身的私鑰的秘密份額及檢查參數(shù)備份到各自數(shù)據(jù)庫(kù)的備份表中,即:KMC、CA的秘密數(shù)據(jù)庫(kù)的密鑰份額備份表及用戶手中。系統(tǒng)根據(jù)門(mén)限值t的不同,以及分發(fā)給KMC、CA及用戶保存的秘密份額的份數(shù)n1,n2,n3的不同,可以很容易實(shí)現(xiàn)是各方單方面恢復(fù)私鑰還是雙方、三方合作完成私鑰的恢復(fù)。通常,為了安全,盡量避免單方面恢復(fù)情況出現(xiàn)。
3.5 秘密恢復(fù)階段
(1)不失一般性,每個(gè)參與成員將各自f(IDi)發(fā)送給合成者KMC。
(2)KMC首先驗(yàn)證CA及用戶提交的秘密份額f(IDi)及Zij(i=1,2,…,t,j≠i),驗(yàn)證f(IDi)=Xij+Yij×Zij(i=1,2,…,t,j≠i)是否滿足。若滿足隨后由拉格朗日插值公式求出a0=f(0)=k,并將k公布給參與秘密恢復(fù)的分享者,否則要求重發(fā)。
4 安全性分析
方案中密鑰是在KMC中產(chǎn)生的,KMC由國(guó)密委控制獨(dú)立于CA,具有權(quán)威性。方案采用可驗(yàn)證的秘密分享機(jī)制,可用來(lái)檢驗(yàn)分發(fā)及恢復(fù)過(guò)程中的欺騙問(wèn)題。KMC在分發(fā)完私鑰后,立即銷(xiāo)毀產(chǎn)生的私鑰及產(chǎn)生私鑰的相關(guān)痕跡。另外,利用分發(fā)給每個(gè)參與者份額的數(shù)目來(lái)控制各參與方的權(quán)限,這樣能夠很好約束參與方的行為。
5 結(jié)語(yǔ)
可驗(yàn)證秘密分享在保證密鑰的安全性上有很好的優(yōu)越性,能夠利用秘密分享機(jī)制很好地將私鑰分發(fā)成多個(gè)份額,降低風(fēng)險(xiǎn)。下一步工作是研究如何利用秘密分享來(lái)保障電子商務(wù)中交易的公平性以及密鑰托管問(wèn)題。