目前,隨著信息技術的不斷發展和研究的深入,電子商務受到了極大的推動.
然而,簡便快速的信息傳送的控制難度較大,信息來源認證不清楚等問題的出現,也讓電子商務的安全性開始受到了更多人的重視和關注.PKI作為電子商務與信息系統的一個基礎設施,其安全性在通信系統上起到了不可或缺的作用.在技術上,其基礎為加密,核心則為證書服務,證書服務主要由證書授權認證中心\\(CA\\)完成.
用戶通過將自身的數字證書以及系統加密技術實現安全通信.另外,為了對犯罪行為進行監督和控制,密鑰托管開始得到應用,密鑰托管作為PKI的一個部分,其與證書授權認證中心聯系密切,能夠保障通信的安全性以及社會安全性[1].
1、電子商務安全性問題
在現代社會中,電子商務是一種經營活動,其主要是指以信息技術為基礎而經營的商業活動.隨著網絡技術以及信息技術的不斷發展,電子商務的安全問題越來越受到更多人的關注和重視.在計算機網絡安全方面,可以采用主機安全、防火墻、系統漏洞檢測、病毒檢測以及黑客跟蹤等技術.
然而在商務交易信息的安全性上,則需要以計算機網絡安全為基礎,并在保證商務環境可靠以及便捷的情況下保障信息的安全性.PKI在網絡環境的數據交換過程中是一種保障信息安全的基礎設施.
2、密鑰托管的概念
密鑰托管又叫做密鑰恢復,主要應用在緊急情況下對解密信息的獲取.其能夠保存用戶的私鑰備份,在一定情況下也能夠有利于國家以及相關部門對原始明文信息的獲取,還能夠在密鑰受損以及用戶丟失的情況下對明文進行恢復.所謂密鑰托管,就是指用戶在向證書授權認證中心進行數據申請以及加密證書前,將自身的密鑰分為t份交由t個托管人進行保管.每一個托管人都無法利用自身的部分密鑰進行用戶密碼恢復.只有將t個人的密鑰進行組合,才能夠獲取完整的密鑰.密鑰托管的功能包括了政府監聽、密鑰恢復以及防抵賴等.
3 、PKI的證書授權認證中心以及密鑰托管代理
加密的主要目的有兩個,第一是為保證網絡數據傳送的安全性,保證網絡信息不被泄露以及破壞,維持其完整性;第二則是保證數據的真實性,即信息發送方的身份認證.對于傳統的密鑰加密系統而言,因雙方通信中密鑰共享,因此密鑰的分配安全性相對較低,無法有效保證數據的確切性.公開密鑰密碼體制作為PKI的一個基礎,其能夠有效解決上述的漏洞,保證網絡通信的安全性.PKI的重要組成部分包括了CA以及密鑰托管代理,其能夠對用戶的公鑰以及私鑰分別進行操作.在國際電信聯盟\\(ITU\\)中,CA被視作是一個具有信任度的三方機構,用于對數字證書的制造以及發放.PKI中,用戶的網絡身份也需要利用自身的數字證書進行認證和再確定.數字證書由CA簽署,并經計算機生成,其主要包括了經CA驗證的用戶信息以及公鑰.
公鑰加密需要對公鑰的持有者身份進行認證和確定.在信息發送過程中,信息發送方需要對加密信息的公鑰進行驗證,確定是合法接收者的公鑰,從而保證信息傳輸安全.而對信息接收方而言,其需要對信息的來源進行確定,防止非法用戶冒名進行假信息發送.數字證書的應用,能夠有效證明公鑰以及公鑰持有者的關系,是進行公鑰加密的一個基礎.
密鑰托管代理主要用于實現密鑰托管的功能,而密鑰托管則主要用于保存用戶的私鑰備份.密鑰托管的一個重要功能就是能夠在用戶私鑰受損以及破壞的情況下對密文進行恢復.從職責上看,CA以及密鑰托管代理在PKI中的角色定位并不同,CA主要負責對數字證書進行發放,通信過程同時進行鑒別以及驗證,但對通信內容不具影響.而對于密鑰托管代理而言,其能夠對用戶公鑰進行操作,不干涉用戶的通信[2].
4 、PKI用戶數字證書與密鑰托管
4.1、簽名密鑰對
簽名密鑰主要是對發送信息進行數字簽名,主要經用戶產生,簽名密鑰對產生后,則向CA申請簽名證書.簽名證書能夠證明簽名公鑰與公鑰持有者的關系,相當于現實生活中的身份證.
4.2、加密密鑰對
加密密鑰對則是用于對傳送信息進行加密,其又稱為接收密鑰對,其私鑰的對應方為密鑰托管的對象,能夠防止用戶脫離托管.為了防止密鑰托管代理的權限的濫用以及托管密鑰的泄漏,私鑰被分成若干個部分,并由不同的密鑰托管代理進行保管,只有所有托管代理持有的密鑰部分聯合在一起,才能夠恢復密鑰.
另外,托管代理持有的部分私鑰的有效性需要得到保障.本文主要以離散對數為基礎,設計了一種密鑰托管方案.對于CA以及密鑰托管代理而言,共同分享大質數p以及生成元g,以用戶A為例:
\\(1\\)A選取n個自然數,分別設為Y1,Y2,…Yn,其中Yi∈[1,p-1].
因此可得A的私鑰為:
Y=\\(Y1+Y2+…+Yn\\)mod p其對應的公鑰則為:
X=gvmod p另外:
Xi=gvimod p i=1,2,… ,n\\(1\\)因此可驗證:
X=\\(X1×X2×…×Xn\\)mod p\\(2\\)\\(2\\)A選取個密鑰托管代理\\(KEA\\),并將其交給每一個代理一對\\(Xi,Yi\\),密鑰托管代理在接收到\\(Xi,Yi\\)后,對式子\\(1\\)進行驗證,如果\\(1\\)成立,則相應的托管證書將形成.
托管證書包括了用戶的特定標示符UID、KEAi的標示符、托管證書書號以及托管私鑰Yi對應的公鑰Xi.KEAi通過自身簽名私鑰在上述內容中形成數字簽名,并與托管證書附在一起.
\\(3\\)用戶A接收到托管證書后,將托管證書以及完整的公鑰X交由CA保管,并申請加密證書.CA一開始需要對各個托管證書的真實性進行確定,并對式子\\(2\\)進行驗證,式子\\(2\\)如果成立,則表明公鑰X對應的私鑰Y經過了托管.CA了解每個托管代理的有效托管分離,并且可以通過它們對用戶的私鑰進行恢復.
但是,CA以及單個KEA都無法單獨對私鑰進行恢復,從而保證用戶密文不會被托管代理破譯,也保證了用戶私鑰的安全.
綜上所述,可以看出加密證書的獲取以及簽名證書獲取是有所區別的,為了防止用戶脫離托管,用戶需要與托管代理進行聯系實施密鑰托管,取得托管證書,之后才能夠進行加密證書的申請.
加密證書與簽名證書在內容上存在差異性,加密證書能夠證明公鑰持有者的身份,同時還能夠對托管私鑰進行恢復.
5、密鑰托管的信息傳送安全加密方案
5.1、信息發送
為了保護DRF不被用戶刪除和破壞,需要將DRF與密文捆綁在一起,從而讓 接 收 方 從DRF獲取會話的密鑰.
將A設為通信方,B設為接收方,M設為信息明文,KS則為會話密鑰,T為傳送信息的時間戳,Xa以及Xb則為A和B的公開加密密鑰,Ya以及Yb則為A以及B的秘密加密密鑰.
其中:
KAB=f\\(Ya,Xb,T\\),KBA=f\\(Yb,Xa,T\\)p為A和B的共享質數,g為生成元,其中:
Xa=gYamod p Ya∈[1,p-1]
Xb=gYbmod p Yb∈[1,p-1]
可得:
K′AB=\\(Xb\\)Yamod p=\\(gYbmod p\\)Yamod p= gYbYamod pK′BA=\\(Xa\\)Ybmod p=\\(gYamod p\\)Ybmodp= gYaYbmod pK′AB= K′BAf\\(Ya,Xb,T\\)=DAB\\(T\\)f\\(Yb,Xa,T\\)=DBA\\(T\\)其中:
DAB\\(\\)以及DBA\\(\\)為K′AB、K′BA做密鑰的DES解密變換,因K′AB= K′BA,可得:
f\\(Ya,Xb,T\\)=f\\(Yb,Xa,T\\)即KAB=KBA,從而保證通信過程中,雙方均可以使用自身的私鑰和對方公鑰進行共享密鑰的計算,而第三方則無法獲取該共享密鑰.
A產生KS,數據傳送將KS作為密鑰,并使用對稱加密算法進行加密,設為\\(M\\)KS,KS使用KAB進行再次加密,得到\\(KS\\)KAB.DRF主要包括時間戳T、\\(KS\\)KAB以及A,傳送信息格式如圖1所示:
5.2、信息接收以及解密
B在接收信息后,對A的簽名證書以及加密證書進行驗證,從而對A的身份進行驗證,在確定A的身份后,對信息進行解密,即:\\(1\\)KBA的生成.KBA=f\\(Yb,Xa,T\\)=KAB;\\(2\\)KS的恢復.KBA作為密鑰,對\\(KS\\)KAB進行解密得到KS;\\(3\\)明文獲取.采用KS對\\(M\\)KS進行解密,從而得到信息明文M;\\(4\\)數字簽名的驗證.B通過A的簽名證書提供的簽名公鑰,并將T和M結合,從而對A的數字簽名進行驗證.如果結果認證正確,則表明B的信息是真實有效的.
KS采用KA B進行加密,KAB則是作為A和B的共享密鑰,而從而有效保障信息的私密性,數字簽名的驗證也讓信息的真實性得到了保證.
5.3、職能部門的強制性訪問
在信息的傳送過程中,DRF主要包括了T、\\(KS\\)KAB以及發送方的加密證書.接收方需要利用這些信息才能夠對會話密鑰KS進行獲取,并通過KS對M進行恢復.
因此,傳送的信息中,需要包括DRF,從而實現了數據與DRF的綁定,防止用戶對DRF進行惡意操作.相關職能部門在獲得授權證書后,需要對A和B之間的信息進行強制訪問,這種情況下需要使用DRF,并在托管代理下對原文進行恢復.
一開始職能部門需要對可疑信息進行獲取,并通過DRF中用戶的加密證書對用戶持有的托管代理標示符以及對應托管證書號進行獲取,之后向托管代理提供自身的授權證書以及托管證書號,托管代理在對授權證書進行驗證后,提供自身的部分私鑰,通過這樣,獲取所有的私鑰部分,從而恢 復 用 戶 的 私 鑰.
這 樣 便 可 以 通 過A的 私 鑰Ya、B的公鑰Xb以及DRF時間戳T對KA B進行恢復,即:
KAB=f\\(Ya,Xb,T\\)從而實現對\\(M\\)KS的破譯.
6、性能分析
本文設計的方案中,密鑰的托管以及信息加密的安全性主要依靠GF\\(p\\)的離散對數算法.對于X和Y而言,公鑰X要推算出對應的私鑰Y,則需要對以下式子進行計算:
Y=loggX在目前,在GF\\(p\\)中進行算法計算,在最快的速度下需要對T=exp\\(sqrt\\(In\\(p\\)In\\(In\\(p\\)\\)\\)\\)進行計算,如果P為200,則可得:
T=2.7×1011次計算速度假設為1μs一次計算,那么1天則可以進行1011次運算,則僅需要兩天到三天的時間即可完成整個運算,如果p為664為二進制數,則:
T=1.2×1023次這樣需要經過1012天才可以完成計算.
相關研究也指出,如果p-1的質數因數較小,則需要使用O\\(log2p\\)的時間對Y進行求解,因此就算p很大,性能也不夠理想.因此安全質數需要選擇p=2p′+1\\(p′為大質數\\).
綜上所述,采用較大的安全質數,那么用戶通過公鑰計算出對應私鑰是無法實現的,因此給予離散對數的密鑰托管以及信息加密方案可行性較高,具有較高的安全性.
[參考文獻]
[1]朱周華.電子政務網絡與信息安全保障體系設計[J].微計算機信息,2009,1\\(03\\).
[2]馬映紅,趙卓.一種安全的電子公文流轉系統的研究與設計[J].計算機應用與軟件,2011,3\\(04\\).