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