專利名稱:基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)中的身份識別技術(shù),尤其涉及一種用于基于標(biāo)識的公鑰密碼體制的私鑰托管技術(shù)。
背景技術(shù):
基于標(biāo)識的公鑰密碼體制使用用戶的標(biāo)識,如姓名、IP地址、電子郵件地址等作為公鑰,私鑰通過私鑰生成器PKG(Private Key Generator)這一可信任的第三方進(jìn)行計(jì)算得到,但私鑰生成器除了生成私鑰外,并不直接參與加密和簽名的過程。
在公鑰加密系統(tǒng)中,用戶私鑰是保證用戶身份合法性,正確實(shí)施解密和數(shù)字簽名的唯一憑證,用戶私鑰如果泄露,需要為該用戶重新生成新的公私鑰對,并通知所有用戶,該用戶原有私鑰作廢,這種方式一方面在管理上增加了系統(tǒng)的負(fù)擔(dān),另一方面,由于用戶私鑰泄露后,用戶以前的加密文檔將會(huì)面臨著被解密的危險(xiǎn),因此即使重新生成了私鑰,原有私鑰泄露還是隱含著嚴(yán)重的安全問題。
對于基于標(biāo)識的公鑰加密系統(tǒng)而言,身份標(biāo)識和用戶私鑰是一一對應(yīng)的,在用戶標(biāo)識不變的情況下,給用戶重新生成的私鑰和原來的一樣,在這類系統(tǒng)中,私鑰的泄露對系統(tǒng)的安全影響更大。
為了保護(hù)私鑰的安全性,目前較常用的做法是將用戶私鑰保存在USBKey中,并通過口令進(jìn)行保護(hù),這種做法在實(shí)際應(yīng)用中有一定的安全性,但是嚴(yán)格來講,由于USB Key口令通常較簡單,可以通過窮舉的方法獲得,而且口令在計(jì)算機(jī)系統(tǒng)中也是容易被跟蹤獲取到的,因此USB Key存在被靜態(tài)分析破解的可能。
本發(fā)明實(shí)現(xiàn)一種防篡改身份認(rèn)證協(xié)議和密碼裝置,保證用戶私鑰在傳輸和使用過程中都處在加密保護(hù)狀態(tài),私鑰不靜態(tài)存儲(chǔ)在任何物理設(shè)備中,可有效防止各種動(dòng)態(tài)和靜態(tài)分析方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),動(dòng)態(tài)生成用戶私鑰,私鑰在傳輸和使用的過程中受加密保護(hù),增加了攻擊者破譯私鑰的難度,提高了安全性。
基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),包括客戶端密碼系統(tǒng)1和私鑰生成器2; 客戶端密碼系統(tǒng)1用于向私鑰生成器2傳送用戶信息請求認(rèn)證,暫存私鑰生成器2認(rèn)證通過后生成的用戶私鑰;為應(yīng)用程序提供密碼操作接口,實(shí)現(xiàn)密碼操作; 私鑰生成器2用于對用戶進(jìn)行認(rèn)證,認(rèn)證通過后生成用戶私鑰并傳送給客戶端密碼系統(tǒng)1。
所述客戶端密碼系統(tǒng)1包括 密碼應(yīng)用接口11,用于輸入用戶信息,并分別傳遞給安全通信客戶端模塊12和客戶端密碼裝置13,用戶信息包括用戶ID和認(rèn)證口令; 安全通信客戶端模塊12,用于將來自密碼應(yīng)用接口11的用戶信息、來自客戶端密碼裝置13的主密鑰和認(rèn)證碼傳送給安全通信服務(wù)端模塊22;接收私鑰生成器2生成的用戶私鑰并傳送給客戶端密碼裝置13; 客戶端密碼裝置13,用于接收來密碼應(yīng)用接口11的用戶信息,隨機(jī)生成主密鑰,并生成包含主密鑰、認(rèn)證口令和用戶ID信息的認(rèn)證碼,將主密鑰和認(rèn)證碼傳送給安全通信客戶端模塊12,并暫存來自安全通信客戶端模塊12的用戶私鑰;提供外部密碼操作接口,實(shí)現(xiàn)用戶密碼操作; 所述私鑰生成器2包括 私鑰管理模塊21,用于注冊用戶信息,存儲(chǔ)私鑰生成器密碼裝置23為注冊用戶生成的認(rèn)證口令; 安全通信服務(wù)端模塊22,用于將來自安全通信客戶端模塊12的用戶信息、主密鑰和認(rèn)證碼傳送給私鑰生成器密碼裝置23,將私鑰生成器密碼裝置23生成的用戶私鑰傳送給安全通信客戶端模塊12; 私鑰生成器密碼裝置23,用于為私鑰管理模塊21注冊的用戶生成認(rèn)證口令;接收來自安全通信服務(wù)模塊22的用戶信息、主密鑰和認(rèn)證碼,判斷用戶身份的合法性,如果合法,生成用戶私鑰,使用主密鑰對私鑰加密,將加密后的私鑰傳送給安全通信服務(wù)模塊22。
作為本發(fā)明的改進(jìn),所述私鑰生成器密碼裝置23按照以下方式為注冊用戶生成認(rèn)證口令(1)生成兩個(gè)隨機(jī)種子s0,t0,計(jì)算si=MD(si-1),1≤i≤N,ti=MD(ti-1),1≤i≤N,其中MD( )為一個(gè)單向函數(shù),N為單個(gè)用戶的認(rèn)證口令的個(gè)數(shù);(2)認(rèn)證口令pi=sN-i,1≤i≤N,qi=tN-i,1≤i≤N。
作為本發(fā)明的進(jìn)一步改進(jìn),所述私鑰生成器密碼裝置23按照如下方式判斷用戶身份的合法性從用戶信息中獲取用戶輸入的認(rèn)證口令pi和qi以及用戶ID,計(jì)算MD(qi//m),其中m為主密鑰和用戶ID,符號“//”表示將兩個(gè)二進(jìn)制串首尾拼接,判斷pi-1=MD(pi)和qi-1=MD(qi)是否成立,以及計(jì)算得到的MD(qi//m)與來自客戶端密碼系統(tǒng)1的認(rèn)證碼是否相等,若均成立,身份合法,pi-1=pi,qi-1=qi,否則不合法。
作為本發(fā)明的另一改進(jìn),所述客戶端密碼裝置13包括 密碼操作接口用于提供對外的密碼操作接口; 密碼操作實(shí)現(xiàn)模塊用于通過密鑰存儲(chǔ)區(qū)存儲(chǔ)的主密鑰和用戶私鑰調(diào)用密碼算法庫,實(shí)現(xiàn)密碼操作,并將密碼操作實(shí)現(xiàn)過程中出現(xiàn)的明、密文和密鑰傳送給工作存儲(chǔ)區(qū); 密碼算法庫用于提供各種密碼操作的具體實(shí)現(xiàn)程序; 工作存儲(chǔ)區(qū)用于存儲(chǔ)暫存密碼操作實(shí)現(xiàn)過程中出現(xiàn)的明、密文和密鑰; 密鑰存儲(chǔ)區(qū)用于存儲(chǔ)主密鑰和用戶私鑰。
本發(fā)明的技術(shù)效果體現(xiàn)在 基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng)在用戶登錄的時(shí)候動(dòng)態(tài)從私鑰生成器處獲得私鑰,防篡改身份認(rèn)證協(xié)議和密碼裝置技術(shù)可以保證用戶獲取私鑰過程的安全性,由于用戶既不將私鑰靜態(tài)存儲(chǔ),也不動(dòng)態(tài)暴露在密碼裝置之外,因此增加了攻擊者的攻擊難度,可有效抵抗各種動(dòng)態(tài)和靜態(tài)分析方法。
圖1為本發(fā)明原理示意圖; 圖2為本發(fā)明具體模塊示意圖; 圖3為本發(fā)明實(shí)施例示意圖; 圖4為密碼裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式 本系統(tǒng)部署在Windows操作系統(tǒng)上,實(shí)施本發(fā)明設(shè)計(jì)的系統(tǒng),首先需要建立私鑰生成器PKG,PKG中由于保存了用戶的認(rèn)證信息,所以應(yīng)該存放在安全的環(huán)境中,并采取各種安全防護(hù)措施,避免遭受到攻擊。
每個(gè)客戶端需要安裝密碼裝置,并為用戶發(fā)放用于認(rèn)證的口令,口令可以采用口令生成器或者通過打印的方式交給用戶。
一次口令認(rèn)證也可以改成生物特征認(rèn)證等其他支持星型結(jié)構(gòu)的安全認(rèn)證方式。
系統(tǒng)實(shí)施包含三部分內(nèi)容。一是防篡改身份認(rèn)證協(xié)議,二是密碼裝置設(shè)計(jì),三是私鑰獲取過程。
1.防篡改身份認(rèn)證協(xié)議 一次口令認(rèn)證技術(shù),目前已經(jīng)被用在某些操作系統(tǒng)(例如,Linux,F(xiàn)reeBSD等操作系統(tǒng))上,其安全性是基于安全單向函數(shù)的不可逆性。在一次口令認(rèn)證的基礎(chǔ)上,發(fā)明一種新的防篡改身份認(rèn)證協(xié)議,使得用戶在完成認(rèn)證的同時(shí),將一段信息和此次認(rèn)證綁定在一起,傳遞給服務(wù)器,而任何第三方的攻擊都不可能篡改此信息段。
假設(shè)MD是一個(gè)安全的單向函數(shù),N是一個(gè)正整數(shù),表示每次為用戶生成的一次口令的個(gè)數(shù),m是欲和本次認(rèn)證綁定的一段消息,認(rèn)證服務(wù)器在本發(fā)明中為私鑰生成服務(wù)器,符號“//”表示將兩個(gè)二進(jìn)制串首尾拼接,新的認(rèn)證系統(tǒng)分為如下6步 (1)初始化密鑰。在認(rèn)證服務(wù)器上為每個(gè)用戶生成兩個(gè)隨機(jī)種子(長度與MD函數(shù)的輸出長度相等)s0,t0,然后,依次計(jì)算si=MD(si-1),1≤i≤N,ti=MD(ti-1),1≤i≤N,將sN,tN保存在認(rèn)證服務(wù)器上。
(2)令pi=sN-i,1≤i≤N,qi=tN-i,1≤i≤N,將這2N個(gè)值安全傳送給用戶。
(3)用戶第一次輸入口令p1和q1,并傳送p1//MD(q1//m)//m給服務(wù)器,服務(wù)器通過判斷sN=MD(p1)是否成立,來判斷用戶的身份是否正確,如果正確,則返回應(yīng)答信息給用戶。
(4)用戶獲得應(yīng)答信息之后,將q1傳遞給服務(wù)器,服務(wù)器比較tN=MD(q1)是否成立,計(jì)算MD(q1//m),判斷其與步驟(3)中所述客戶端密碼系統(tǒng)1傳送的MD(q1//m)是否相等,如果成立則用p1替換sN,用q1替換tN,保存在認(rèn)證服務(wù)器上。
(5)一般地,用戶第i次輸入口令pi和qi,并傳送pi//MD(qi//m)//m給服務(wù)器,服務(wù)器通過判斷pi-1=MD(pi)是否成立,來判斷用戶的身份是否正確,如果正確,則返回應(yīng)答信息給用戶。
(6)用戶獲得應(yīng)答信息之后,將qi傳遞給服務(wù)器,服務(wù)器比較qi-1=MD(qi)和MD(qi//m)的正確性,如果正確則用pi替換pi-1,用qi替換qi-1,保存在認(rèn)證服務(wù)器上,直到i=N。
在認(rèn)證效率上,防篡改身份認(rèn)證協(xié)議所需的時(shí)間大約是一次口令認(rèn)證的兩倍,但由于認(rèn)證過程中僅涉及散列函數(shù)而不涉及加、解密運(yùn)算,所以效率很高。防篡改身份認(rèn)證協(xié)議和一次口令認(rèn)證協(xié)議具有同樣的安全性。
2.密碼裝置設(shè)計(jì) 密碼裝置是一個(gè)物理的或者邏輯的密碼設(shè)備,它提供密碼服務(wù)所需要的必要密碼接口,而隱藏密碼實(shí)現(xiàn)的內(nèi)部過程,從而達(dá)到保護(hù)密鑰的目的。密碼裝置由一組密碼操作和內(nèi)部實(shí)現(xiàn)過程組成,密碼操作一般包括密鑰管理和數(shù)據(jù)加解密兩類,密碼操作一般來說應(yīng)該滿足兩條基本原則 a)密碼操作是一些必不可少的基本的操作,這些操作可以組合起來完成系統(tǒng)所需要的復(fù)雜的密碼服務(wù); b)密碼操作之間在邏輯上不能相互推導(dǎo),也不可能通過密碼操作的組合破壞密碼裝置的保護(hù)目標(biāo)。
具體而言,對于公鑰密碼系統(tǒng)來說,密碼裝置的保護(hù)目標(biāo)就是私鑰,我們要求密碼裝置滿足以下基本的目標(biāo) a)提供密鑰分發(fā)、恢復(fù)功能; b)提供數(shù)據(jù)加、解密功能; c)提供數(shù)字簽名功能; d)所有的私鑰不能直接或者間接地以明的方式出現(xiàn)在密碼裝置之外。
其中,所有的私鑰不能直接或者間接地以明的方式出現(xiàn)在密碼裝置之外是非常重要的,無論是硬件還是軟件實(shí)現(xiàn)方法,私鑰直接暴露在密碼裝置之外都極易被攻擊者獲取。
密碼裝置結(jié)構(gòu)如圖4所示 密碼操作接口提供對外的調(diào)用接口,供密碼應(yīng)用接口調(diào)用。
密碼操作實(shí)現(xiàn)模塊將密碼操作接口需要的功能分解,在密碼裝置內(nèi)分步實(shí)現(xiàn)。
基本密碼算法庫包括基本的隨機(jī)數(shù)生成算法、對稱加密算法和公鑰加密算法。
工作存儲(chǔ)區(qū)存儲(chǔ)臨時(shí)的明、密文和密鑰。
密鑰存儲(chǔ)區(qū)存儲(chǔ)主密鑰和用戶私鑰。
操作流程說明 ①密碼操作接口接收外部調(diào)用指令,在密碼裝置內(nèi)部實(shí)現(xiàn)密碼操作。
②調(diào)用基本的密碼算法庫實(shí)現(xiàn)密碼操作。
③密碼操作實(shí)現(xiàn)過程中臨時(shí)存取明、密文和密鑰,這些密鑰和明文在使用完成后自動(dòng)清除,并且不提供外部直接訪問的接口。
④存取主密鑰和用戶私鑰。
密鑰分類 系統(tǒng)的密鑰主要分為三類主密鑰,公鑰加密公私鑰對和密鑰傳輸公私鑰對。其中主密鑰用于加密保護(hù)用戶私鑰,是一個(gè)分組密碼的密鑰,是密碼裝置中的一個(gè)秘密參數(shù);公鑰加密公私鑰對中,公鑰就是用戶的ID,私鑰SK保存在密碼裝置中,可用作解密和簽名;密鑰傳輸公私鑰對用于用戶向私鑰生成器申請私鑰的時(shí)候加密用戶私鑰SK,以保證SK的安全性,其公鑰是一個(gè)系統(tǒng)缺省的、固定的ID號ID0,私鑰在私鑰生成器初始化的時(shí)候生成,但該私鑰僅在密碼裝置內(nèi)部使用,不能通過外部調(diào)用的方式來進(jìn)行解密或者簽名。
系統(tǒng)的這三種密鑰是最基本的,如果系統(tǒng)還有其他的需求(例如分組加密),可以增加密鑰的數(shù)量,但是必須保證不能破壞密碼裝置的安全性。
系統(tǒng)密鑰表如表1所示 表1 系統(tǒng)密鑰分類表 客戶端密碼裝置的密碼操作設(shè)計(jì) 1)置主密鑰操作 功能設(shè)置系統(tǒng)主密鑰KM 輸入設(shè)置主密鑰口令 輸出無 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程判斷口令的正確性,然后產(chǎn)生隨機(jī)數(shù)作為系統(tǒng)主密鑰KM。
注意此操作無逆過程,也就是說,系統(tǒng)產(chǎn)生主密鑰之后,不可能通過任何操作將它從密碼裝置中恢復(fù)出來。
2)初始化操作 功能初始化密碼裝置 輸入無 輸出無 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程載入主密鑰,用戶公、私鑰對,密鑰生成器的公鑰和用于密鑰傳輸?shù)墓€。
3)主密鑰加密操作 功能用密鑰傳輸公私鑰對中的公鑰ID0加密客戶端的主密鑰KM。
輸入無 輸出EID0(KM),表示用ID0加密KM 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程用系統(tǒng)申請私鑰的標(biāo)識ID0作為公鑰加密密碼裝置中的主密鑰。
4)置用戶私鑰操作 功能在客戶端置入用戶私鑰SK 輸入EKM(SK),表示用客戶端的主密鑰加密的用戶私鑰 輸出無 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程在密碼裝置內(nèi)部,利用主密鑰KM解密EKM(SK),得到SK,保存在密鑰存儲(chǔ)區(qū)。
5)加解密、簽名密碼操作 功能在客戶端提供加解密和簽名的密碼功能 輸入待加解密或者簽名的數(shù)據(jù),數(shù)據(jù)長度,密鑰,操作類型(加密、解密、簽名、驗(yàn)證簽名) 輸出密碼操作結(jié)果(根據(jù)操作類型決定) 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程在密碼裝置內(nèi)部,調(diào)用用戶公、私鑰對,執(zhí)行加解密算法。
6)單向函數(shù)密碼操作 功能提供單向函數(shù)調(diào)用 輸入待散列的數(shù)據(jù) 輸出散列結(jié)果 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程在密碼裝置內(nèi)部,執(zhí)行單向函數(shù)算法。
私鑰生成器密碼裝置的密碼操作設(shè)計(jì) 1)置主密鑰操作 功能設(shè)置系統(tǒng)主密鑰KM 輸入設(shè)置主密鑰口令 輸出無 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程判斷口令的正確性,然后產(chǎn)生隨機(jī)數(shù)作為系統(tǒng)主密鑰KM。
注意此操作無逆過程,也就是說,系統(tǒng)產(chǎn)生主密鑰之后,不可能通過任何操作將它從密碼裝置中恢復(fù)出來。
2)初始化操作 功能初始化密碼裝置 輸入無 輸出無 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程生成私鑰生成器公、私鑰對和用于密鑰傳輸?shù)墓⑺借€對。
3)生成私鑰操作 功能私鑰生成器為用戶生成私鑰 輸入EID0(KM),ID 輸出EKM(SK),表示用KM加密SK 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程在密碼裝置內(nèi)部,利用ID0的私鑰解密EID0(KM),用KM加密(分組加密)用戶ID的私鑰SK,得到EKM(SK)輸出。
4)加解密、簽名密碼操作 功能在私鑰生成器提供加解密和簽名的密碼功能 輸入待加解密或者簽名的數(shù)據(jù),數(shù)據(jù)長度,密鑰,操作類型(加密、解密、簽名、驗(yàn)證簽名) 輸出密碼操作結(jié)果(根據(jù)操作類型決定) 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程在密碼裝置內(nèi)部,調(diào)用用戶公、私鑰對,執(zhí)行加解密算法。
5)單向函數(shù)密碼操作 功能提供單向函數(shù)調(diào)用 輸入待散列的數(shù)據(jù) 輸出散列結(jié)果 返回0表示成功,其他表示錯(cuò)誤標(biāo)示碼 執(zhí)行過程在密碼裝置內(nèi)部,執(zhí)行單向函數(shù)算法。
3.私鑰獲取過程 利用防篡改身份認(rèn)證協(xié)議和上述密碼操作就可以設(shè)計(jì)出安全的動(dòng)態(tài)密鑰獲取過程。假設(shè)用戶Alice要向PKG獲取私鑰,在獲取私鑰之前假設(shè)Alice已經(jīng)啟動(dòng)了密碼裝置,并且已經(jīng)調(diào)用設(shè)置了主密鑰KM。如圖3所示,獲取私鑰的過程可以描述如下 (1)Alice向私鑰生成器發(fā)出認(rèn)證請求,私鑰生成器返回系統(tǒng)公開參數(shù)給Alice,這些包括參數(shù)包括選用的加密算法、私鑰生成器的公鑰和用于密鑰傳輸?shù)墓借€對的公鑰,這些參數(shù)可以在網(wǎng)上明文傳輸。
(2)Alice防篡改身份認(rèn)證協(xié)議向私鑰生成器表明自己的身份,同時(shí)在協(xié)議中綁定消息EID0(KM)//ID,其中EID0(KM)通過加密主密鑰密碼操作獲得。
(3)私鑰生成器調(diào)用生成私鑰密碼操作生成EKM(SK),并將該消息返回給Alice。
(4)Alice調(diào)用置用戶私鑰操作,將EKM(SK)置入密碼裝置內(nèi)。
在私鑰托管方案中,私鑰生成器雖然參與了用戶的認(rèn)證,但是,僅在用戶登錄獲取私鑰的時(shí)候才參與,用戶一旦獲取了私鑰之后,就可以重復(fù)利用該私鑰。
權(quán)利要求
1、基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),其特征在于,包括客戶端密碼系統(tǒng)(1)和私鑰生成器(2);
客戶端密碼系統(tǒng)(1)用于向私鑰生成器(2)傳送用戶信息請求認(rèn)證,暫存私鑰生成器(2)認(rèn)證通過后生成的用戶私鑰;為應(yīng)用程序提供密碼操作接口,實(shí)現(xiàn)密碼操作;
私鑰生成器(2)用于對用戶進(jìn)行認(rèn)證,認(rèn)證通過后生成用戶私鑰并傳送給客戶端密碼系統(tǒng)(1)。
2、根據(jù)權(quán)利要求1所述的基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),其特征在于,所述客戶端密碼系統(tǒng)(1)包括
密碼應(yīng)用接口(11),用于輸入用戶信息,并分別傳遞給安全通信客戶端模塊(12)和客戶端密碼裝置(13),用戶信息包括用戶(ID)和認(rèn)證口令;
安全通信客戶端模塊(12),用于將來自密碼應(yīng)用接口(11)的用戶信息、來自客戶端密碼裝置(13)的主密鑰和認(rèn)證碼傳送給安全通信服務(wù)端模塊(22);接收私鑰生成器(2)生成的用戶私鑰并傳送給客戶端密碼裝置(13);
客戶端密碼裝置(13),用于接收來密碼應(yīng)用接口(11)的用戶信息,隨機(jī)生成主密鑰,并生成包含主密鑰、認(rèn)證口令和用戶ID信息的認(rèn)證碼,將主密鑰和認(rèn)證碼傳送給安全通信客戶端模塊(12),并暫存來自安全通信客戶端模塊(12)的用戶私鑰;提供外部密碼操作接口,實(shí)現(xiàn)用戶密碼操作;
所述私鑰生成器(2)包括
私鑰管理模塊(21),用于注冊用戶信息,存儲(chǔ)私鑰生成器密碼裝置(23)為注冊用戶生成的認(rèn)證口令;
安全通信服務(wù)端模塊(22),用于將來自安全通信客戶端模塊(12)的用戶信息、主密鑰和認(rèn)證碼傳送給私鑰生成器密碼裝置(23),將私鑰生成器密碼裝置(23)生成的用戶私鑰傳送給安全通信客戶端模塊(12);
私鑰生成器密碼裝置(23),用于為私鑰管理模塊(21)注冊的用戶生成認(rèn)證口令;接收來自安全通信服務(wù)模塊(22)的用戶信息、主密鑰和認(rèn)證碼,判斷用戶身份的合法性,如果合法,生成用戶私鑰,使用主密鑰對私鑰加密,將加密后的私鑰傳送給安全通信服務(wù)模塊(22)。
3、根據(jù)權(quán)利要求2所述的基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),其特征在于,所述私鑰生成器密碼裝置(23)按照以下方式為注冊用戶生成認(rèn)證口令(1)生成兩個(gè)隨機(jī)種子s0,t0,計(jì)算si=MD(si-1),1≤i≤N,ti=MD(ti-1),1≤i≤N,其中MD()為一個(gè)單向函數(shù),N為單個(gè)用戶的認(rèn)證口令的個(gè)數(shù);(2)認(rèn)證口令pi=sN-i,1≤i≤N,qi=tN-i,1≤i≤N。
4、根據(jù)權(quán)利要求3所述的基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),其特征在于,所述私鑰生成器密碼裝置(23)按照如下方式判斷用戶身份的合法性從用戶信息中獲取用戶輸入的認(rèn)證口令pi和qi以及用戶ID,計(jì)算MD(qi//m),其中m為主密鑰和用戶ID,符號“//”表示將兩個(gè)二進(jìn)制串首尾拼接,判斷pi-1=MD(pi)和qi-1=MD(qi)是否成立,以及計(jì)算得到的MD(qi//m)與來自客戶端密碼系統(tǒng)(1)的認(rèn)證碼是否相等,若均成立,身份合法,pi-1=pi,qi-1=qi,否則不合法。
5、根據(jù)權(quán)利要求2所述的基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),其特征在于,所述客戶端密碼裝置(13)包括
密碼操作接口用于提供對外的密碼操作接口;
密碼操作實(shí)現(xiàn)模塊用于通過密鑰存儲(chǔ)區(qū)存儲(chǔ)的主密鑰和用戶私鑰調(diào)用密碼算法庫,實(shí)現(xiàn)密碼操作,并將密碼操作實(shí)現(xiàn)過程中出現(xiàn)的明、密文和密鑰傳送給工作存儲(chǔ)區(qū);
密碼算法庫用于提供各種密碼操作的具體實(shí)現(xiàn)程序;
工作存儲(chǔ)區(qū)用于存儲(chǔ)暫存密碼操作實(shí)現(xiàn)過程中出現(xiàn)的明、密文和密鑰;
密鑰存儲(chǔ)區(qū)用于存儲(chǔ)主密鑰和用戶私鑰。
全文摘要
基于標(biāo)識的公鑰密碼體制私鑰托管系統(tǒng),客戶端密碼系統(tǒng)向私鑰生成器傳送用戶信息請求認(rèn)證,私鑰生成器認(rèn)證通過后生成用戶私鑰并暫于客戶端密碼系統(tǒng),客戶端密碼系統(tǒng)為應(yīng)用程序提供密碼操作接口,在內(nèi)部實(shí)現(xiàn)密碼操作。本發(fā)明在用戶登錄的時(shí)候動(dòng)態(tài)從私鑰生成器處獲得私鑰,防篡改身份認(rèn)證協(xié)議和密碼裝置技術(shù)可以保證用戶獲取私鑰過程的安全性,由于用戶既不將私鑰靜態(tài)存儲(chǔ),也不動(dòng)態(tài)暴露在密碼裝置之外,因此增加了攻擊者的攻擊難度,可有效抵抗各種動(dòng)態(tài)和靜態(tài)分析方法。
文檔編號H04L9/32GK101359991SQ20081019693
公開日2009年2月4日 申請日期2008年9月12日 優(yōu)先權(quán)日2008年9月12日
發(fā)明者楊復(fù)蓀, 波 金, 張小牧, 湯學(xué)明, 崔永泉, 濤 龍, 才 付 申請人:湖北電力信息通信中心, 華中科技大學(xué)