一種基于可驗證秘密分享的密鑰管理方案
引言
隨著計算機網(wǎng)絡(luò)與因特網(wǎng)技術(shù)的發(fā)展與普及,電子商務(wù)的應(yīng)用已經(jīng)越來越廣泛,它正悄悄改變?nèi)藗兊馁徫?、消費方式及生活觀念,更加方便人們的日常生活。目前,影響電子商務(wù)發(fā)展的最大障礙之一就是消費者擔(dān)心他們的信用卡信息會泄露。利用公鑰密碼體制實現(xiàn)的數(shù)字簽名技術(shù),為電子交易的順利開展提供了保障。而簽名的信息主要由用戶的私鑰決定。現(xiàn)在網(wǎng)絡(luò)中信息的交換通常采用公鑰基礎(chǔ)體系(PKI)來保證數(shù)據(jù)的安全性。而PKI系統(tǒng)的關(guān)鍵是密鑰管理問題,用戶的公鑰由數(shù)字證書保存,而私鑰由用戶自己保存,一旦泄露或丟失,會給用戶造成無法估量的損失,雖然用戶可以通過認(rèn)證中心(CA)聲明停止使用該證書及相應(yīng)的公鑰,但以前利用該證書加密的信息將無法讀取。CA負(fù)責(zé)證書的管理工作,其證書庫里面保存了用戶私鑰的備份,但顯然這種賦予CA極大的權(quán)利行為并不利于信息安全。正是鑒于此,國家規(guī)定必須建立密鑰管理中心(KMC)獨立于CA由國密委監(jiān)督管理,負(fù)責(zé)在電子商務(wù)活動中為用戶提供加密密鑰和進行國家政策規(guī)定的密碼技術(shù)和產(chǎn)品服務(wù)。
而秘密分享技術(shù)的興起為用戶私鑰的管理帶來極大的便利,它可以將一些重要的信息分割成多個子秘密(秘密份額),然后分發(fā)給多個參與者,只有通過一些授權(quán)的參與者一起合作才能恢復(fù)出秘密,而其他參與者則得不到任何關(guān)于秘密的信息。秘密分享方案在防止重要信息丟失、被破壞、落入敵手等方面都可起到重要的作用。
這里提出的密鑰管理方案是基于門限密碼學(xué)中的秘密分享方案,它將用戶的私鑰分割成多個子秘密,然后動態(tài)分發(fā)給用戶、CA及KMC。這樣可以設(shè)定只有當(dāng)其中的兩方或者三方共享自己的子秘密才能恢復(fù)出用戶的私鑰,這樣從技術(shù)上保證了任何一方不能獨自恢復(fù)私鑰。
2 理論準(zhǔn)備
2.1 Shamir(t,n)秘密分享方案
Shamir(t,n)秘密門限方案是第一個(t,n)門限方案,該方案的基本結(jié)構(gòu)是秘密分發(fā)者D根據(jù)初始秘密計算出n個秘密份額,然后D把它們通過安全信道發(fā)送給秘密分享的參與者。利用這個方案,這些參與者中的t人或更多的人可以通過秘密份額容易恢復(fù)出初始秘密,而任何少于(t-1)或更少的人卻得不到任何關(guān)于秘密的信息。
基本參數(shù):n是參與者的數(shù)目,t是門限值,P是一個大素數(shù),并且P>n≥t,同時應(yīng)滿足P大于秘密可能的最大取值。秘密空間與份額空間相同,均為有限域GF(p)。x1,x2,…,xn為GF(p)中的n個互不相同的元素。以上參數(shù)都是公開的。
(1)份額的分配算法 分發(fā)者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要發(fā)送給第j個分享者Pj的秘密份額。
(2)恢復(fù)算法 由任何t個點(xj1,Sj1),(xj2,Sj2),…,(xjt,Sjt)可根據(jù)LaGrange(拉格朗日)多項式插值法恢復(fù)出h(x),并計算出秘密s=h(0)。
2.2 可驗證秘密分享方案
通常的秘密分享方案都有兩個不切實際的假設(shè):一是秘密信息的分發(fā)者總是誠實的,它總是提供參與者正確的秘密份額;二是n個份額的分享者在恢復(fù)秘密時都會提供自己真實的秘密份額。為解決分發(fā)者欺騙的問題,Chor等人于1985年提出了可驗證的秘密分享(VSS)概念。后來,文獻(xiàn)[3-6]對可驗證秘密分享方案做出了更進一步研究,也提m一些安全高效的門限可驗證的秘密分享方案。可驗證秘密分享是在秘密分享的基礎(chǔ)上增加了一個驗證算法而形成。在很多方面都有廣泛應(yīng)用,如安全多方計算、電子商務(wù)等。
3 基于可驗證秘密分享的密鑰管理方案
PKI系統(tǒng)中通常包含有認(rèn)證中心CA、注冊機構(gòu)RA、數(shù)字證書庫、密鑰備份及恢復(fù)系統(tǒng)、證書撤銷系統(tǒng)等基本部分構(gòu)成。該方案要結(jié)合KMC和PKI中的一些部分并且借助可驗證秘密分享方法來實現(xiàn)。
3.1 系統(tǒng)初始化
假設(shè)系統(tǒng)是由KMC、CA、用戶三方來共同完成該秘密分享機制,KMC是用戶私鑰的分發(fā)者,待分發(fā)的子秘密數(shù)為n,t為門限值,而每個參與方分到的子秘密個數(shù)分別為n1,n2,n3。滿足:n1+n2+n3=n;且n1t;n2t;n3t(主要是保證不能使一個參與方獨自恢復(fù)私鑰)。
設(shè)P是一個大素數(shù),g是GF(p)上階為P-1的元素,假設(shè)產(chǎn)生n個子秘密,給每個子秘密提供標(biāo)示碼分別是ID,∈Z*P-1(i=1,2,…,n)。
3.2 秘密分發(fā)階段
(1)分發(fā)者KMC選擇t個隨機數(shù)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)分發(fā)給CA,f(IDi)(i=n1+1,…,n1+n2)分發(fā)給用戶,f(IDi)(i=n1+n2+1,…,n)分給自己。
p2p機相關(guān)文章:p2p原理
評論