專利名稱:適用于無(wú)/弱本地存儲(chǔ)客戶端系統(tǒng)的數(shù)字證書(shū)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字證書(shū)系統(tǒng),尤其是一種適用于無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)的數(shù)字證書(shū)系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù):
自從1946年現(xiàn)代電子計(jì)算機(jī)的鼻祖ENIAC在美國(guó)賓夕法尼亞大學(xué)問(wèn)世以來(lái),計(jì)算機(jī)技術(shù)和計(jì)算形式自身都經(jīng)歷了巨大的變革。在經(jīng)歷了計(jì)算機(jī)發(fā)展的數(shù)次浪潮以后,目前計(jì)算機(jī)向綜合的方向發(fā)展,出現(xiàn)了大型主機(jī)(Mainframe)模式、個(gè)人計(jì)算機(jī)(Personal Computer)模式、客戶機(jī)/服務(wù)器(Client/Server)模式、網(wǎng)絡(luò)計(jì)算機(jī)(Network Computer)模式等多種計(jì)算模式并存的情形。在這些眾多的計(jì)算模式中,存在著一類無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng),其中以瘦客戶機(jī)終端、無(wú)盤(pán)工作站終端、網(wǎng)絡(luò)計(jì)算機(jī)終端和透明計(jì)算機(jī)終端等最為典型。它們或者由于體系結(jié)構(gòu)的限制沒(méi)有本地存儲(chǔ)能力,或者由于終端為多用戶共享從而對(duì)單個(gè)用戶而言沒(méi)有安全的本地存儲(chǔ)能力。但是這類計(jì)算技術(shù)由于能有效從服務(wù)器或者網(wǎng)絡(luò)獲取大部分資源,所以能有效減少硬件成本和維護(hù)成本,從而獲得了較大的發(fā)展。在中國(guó)科技部2004年頒發(fā)的文件[“863”計(jì)劃聯(lián)合辦公室.“十五”期間國(guó)家高技術(shù)研究發(fā)展計(jì)劃(“863”計(jì)劃)計(jì)算機(jī)軟硬件技術(shù)主題課題申請(qǐng)指南[EB/OL].]中明確提出了把網(wǎng)絡(luò)計(jì)算機(jī)的研制作為十五期間的重點(diǎn)發(fā)展項(xiàng)目,可以預(yù)見(jiàn)該類技術(shù)的應(yīng)用必將在以后的社會(huì)生活中扮演日益重要的角色,因此如何保證這種無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)的安全是當(dāng)前一個(gè)重要而緊迫的研究課題。
公鑰基礎(chǔ)設(shè)施(public key infrastructure,PKI)是目前業(yè)界比較公認(rèn)的保障大型開(kāi)放式網(wǎng)絡(luò)環(huán)境下網(wǎng)絡(luò)和信息系統(tǒng)安全的可行和有效的措施。它是一個(gè)用公鑰密碼算法原理和技術(shù)實(shí)現(xiàn)并提供安全服務(wù)的具有通用性的安全基礎(chǔ)設(shè)施其基本組件包括證書(shū)機(jī)構(gòu)(certificate authority,CA)、注冊(cè)機(jī)構(gòu)(registration authority,RA)、證書(shū)服務(wù)器、證書(shū)庫(kù)、證書(shū)驗(yàn)證、密鑰恢復(fù)服務(wù)、時(shí)間服務(wù)器和簽名服務(wù)器等等。因此利用PKI技術(shù)這一完整的、標(biāo)準(zhǔn)化的和成熟的工程框架來(lái)解決無(wú)/弱本地存儲(chǔ)客戶端系統(tǒng)的安全問(wèn)題無(wú)疑是個(gè)不錯(cuò)的選擇。在實(shí)施方面,當(dāng)前在無(wú)/弱本地存儲(chǔ)客戶端系統(tǒng)環(huán)境下部署數(shù)字證書(shū)系統(tǒng)的主要困難在于解決終端實(shí)體對(duì)私鑰數(shù)據(jù)的存儲(chǔ)需求和其無(wú)/弱本地存儲(chǔ)特性的矛盾。由于沒(méi)有可靠的本地存儲(chǔ)能力,這類客戶端作為PKI的終端實(shí)體只能通過(guò)訪問(wèn)USB-KEY等外部設(shè)備來(lái)獲取其私鑰信息。這不僅會(huì)增加系統(tǒng)的硬件成本,而且針對(duì)一類封閉終端外設(shè)接口的需求(如出于安全因素的考慮),傳統(tǒng)的數(shù)字證書(shū)系統(tǒng)部署方案便會(huì)出現(xiàn)很大的實(shí)施障礙。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種適用于無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)的數(shù)字證書(shū)系統(tǒng)。本發(fā)明的另一個(gè)目的是提供一種適用于無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)的安全的客戶端證書(shū)申請(qǐng)協(xié)議和客戶端證書(shū)和私鑰數(shù)據(jù)獲取協(xié)議。本發(fā)明的另一個(gè)目的是提供一種用戶的私鑰信息在證書(shū)機(jī)構(gòu)系統(tǒng)加密存儲(chǔ)的數(shù)字證書(shū)系統(tǒng)。本發(fā)明的另一個(gè)目的是提供一種私鑰數(shù)據(jù)的生成、加密和解密操作都是在客戶端完成的數(shù)字證書(shū)系統(tǒng)。
按照本發(fā)明,該數(shù)字證書(shū)系統(tǒng)含有證書(shū)機(jī)構(gòu)系統(tǒng)、注冊(cè)機(jī)構(gòu)系統(tǒng)、證書(shū)管理系統(tǒng)、密鑰管理系統(tǒng)、信息發(fā)布和接口系統(tǒng)和客戶端訪問(wèn)程序等其中的一個(gè)或多個(gè)組件,并且能夠適用于無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)。
按照本發(fā)明,由于無(wú)/弱本地存儲(chǔ)客戶端系統(tǒng)或者沒(méi)有本地存儲(chǔ)能力,或者沒(méi)有可靠的本地存儲(chǔ)能力,考慮到私鑰信息的絕對(duì)隱秘性,所以把用戶的私鑰信息被加密存儲(chǔ)在數(shù)字證書(shū)系統(tǒng)的證書(shū)機(jī)構(gòu)系統(tǒng)中,并且通過(guò)一定的訪問(wèn)控制機(jī)制來(lái)實(shí)現(xiàn)用戶對(duì)私鑰數(shù)據(jù)的合法獲取。
按照本發(fā)明,對(duì)私鑰數(shù)據(jù)的生成、加密和解密操作都是在客戶端完成的,這樣能夠有效減小證書(shū)機(jī)構(gòu)系統(tǒng)的壓力,增加系統(tǒng)的可擴(kuò)展性。
按照本發(fā)明,提供了安全的客戶端證書(shū)申請(qǐng)協(xié)議和客戶端證書(shū)和私鑰數(shù)據(jù)獲取協(xié)議,其中a.安全的客戶端證書(shū)申請(qǐng)協(xié)議,含有以下步驟。
步驟(1).用戶向RA服務(wù)器發(fā)送消息,要求進(jìn)行證書(shū)申請(qǐng);步驟(2).RA服務(wù)器產(chǎn)生一個(gè)新的隨機(jī)數(shù)并發(fā)送給用戶;步驟(3).用戶生成PKCS#10格式的證書(shū)請(qǐng)求信息及其對(duì)應(yīng)的私鑰,并把該請(qǐng)求信息、用戶標(biāo)識(shí)和上一步得到的隨機(jī)數(shù)一起使用RA服務(wù)器公鑰加密后發(fā)送給RA服務(wù)器;步驟(4).RA服務(wù)器將收到的用戶標(biāo)識(shí)和自己數(shù)據(jù)庫(kù)中已有的記錄進(jìn)行比對(duì)。如果RA服務(wù)器沒(méi)有發(fā)現(xiàn)用戶標(biāo)識(shí)重復(fù)的情況,則轉(zhuǎn)到步驟5,否則發(fā)送用戶標(biāo)示檢查失敗的消息給客戶端,請(qǐng)求操作失敗;步驟(5).RA服務(wù)器發(fā)送用戶標(biāo)示檢查成功消息給用戶;步驟(6).用戶用自己的對(duì)稱密鑰(該密鑰遵從PKCS#5規(guī)范[RFC2898.The Public-KeyCryptography Standards-PKCS #5Password-Based Cryptography Specification[S].USARSALaboratories,2000.]由用戶設(shè)置的口令生成)加密其私鑰數(shù)據(jù)并和隨機(jī)數(shù)一起使用RA服務(wù)器公鑰加密后傳送給RA服務(wù)器;步驟(7).RA服務(wù)器把證書(shū)請(qǐng)求信息、用戶標(biāo)識(shí)和加密的私鑰數(shù)據(jù)等信息一起寫(xiě)入待審批的證書(shū)請(qǐng)求列表中。然后發(fā)送證書(shū)請(qǐng)求成功消息到用戶。
b.安全的客戶端私鑰數(shù)據(jù)獲取協(xié)議,含有以下步驟。
步驟(1).用戶向RA服務(wù)器發(fā)送消息,要求進(jìn)行證書(shū)數(shù)據(jù)請(qǐng)求;步驟(2).RA服務(wù)器產(chǎn)生一個(gè)新的隨機(jī)數(shù)并發(fā)送給用戶;步驟(3).用戶利用自己的用戶名和密碼生成用戶標(biāo)識(shí),并將該標(biāo)識(shí)與隨機(jī)數(shù)一起散列,將標(biāo)識(shí)和散列值一起使用RA服務(wù)器公鑰加密后發(fā)送給RA服務(wù)器;步驟(4).RA服務(wù)器將收到的用戶標(biāo)識(shí)和自己數(shù)據(jù)庫(kù)中已有的記錄進(jìn)行比對(duì)。如果RA服務(wù)器的有效證書(shū)列表中存在該用戶標(biāo)識(shí)對(duì)應(yīng)的記錄,則轉(zhuǎn)到步驟5,否則返回相關(guān)的錯(cuò)誤消息給用戶,數(shù)據(jù)請(qǐng)求失敗;步驟(5).RA服務(wù)器發(fā)送該用戶標(biāo)識(shí)對(duì)應(yīng)的證書(shū)數(shù)據(jù)和(加密后的)私鑰數(shù)據(jù)給用戶;步驟(6).用戶發(fā)送接受成功消息給RA服務(wù)器。
上述方案中,所選定的公鑰加密算法為RSA算法。所述選定的對(duì)稱加密算法為AES算法。所述選定的隨機(jī)數(shù)生成算法為組合線性同余發(fā)生器算法。
下面就該客戶端證書(shū)申請(qǐng)/客戶端私鑰數(shù)據(jù)獲取協(xié)議的安全性進(jìn)行剖析,分析常見(jiàn)的攻擊方法對(duì)該協(xié)議的攻擊效果。
1)網(wǎng)絡(luò)偵聽(tīng)用戶密鑰申請(qǐng)和訪問(wèn)過(guò)程中,口令字不在網(wǎng)絡(luò)上傳輸,密鑰的傳播也在加密之后進(jìn)行,所以網(wǎng)絡(luò)偵聽(tīng)攻擊無(wú)效。用戶的申請(qǐng)信息與用戶標(biāo)識(shí)都經(jīng)過(guò)服務(wù)器公鑰加密處理后進(jìn)行傳輸,偵聽(tīng)者無(wú)法從偵聽(tīng)到的報(bào)文中得到有用信息。
2)重放攻擊由于認(rèn)證服務(wù)器每次選取的隨機(jī)數(shù)不同,所以無(wú)法通過(guò)重放前面?zhèn)陕?tīng)到的請(qǐng)求報(bào)文來(lái)完成以后的請(qǐng)求。
3)口令字猜測(cè)攻擊者在知道了申請(qǐng)/訪問(wèn)協(xié)議以及對(duì)應(yīng)的單值散列算法后,可以對(duì)用戶的口令字進(jìn)行猜測(cè),用猜測(cè)到的口令字構(gòu)造用戶標(biāo)識(shí)進(jìn)行用戶私鑰數(shù)據(jù)申請(qǐng),并試圖用該口令字構(gòu)造用戶加密私鑰的密鑰,嘗試對(duì)服務(wù)器返回的信息進(jìn)行解密操作。這種攻擊辦法對(duì)本協(xié)議有一些危險(xiǎn)性,特別是當(dāng)用戶的口令字有缺陷時(shí),比如口令字長(zhǎng)度太短、使用用戶名做口令字、使用一個(gè)英文單詞做口令字等等。為此,系統(tǒng)在密鑰申請(qǐng)客戶端程序中加入對(duì)用戶密鑰的檢查機(jī)制,首先保證口令字必須有足夠的長(zhǎng)度,同時(shí)在用戶申請(qǐng)之時(shí)就要求其對(duì)弱口令進(jìn)行更改。同時(shí),根據(jù)用戶口令字構(gòu)造用戶加密私鑰的算法(Hash2)遵從PKCS#5規(guī)范,其中鹽和多重迭代的使用能極大的增加攻擊的復(fù)雜度。具體來(lái)說(shuō),可把鹽看作是對(duì)從口令字導(dǎo)出的一個(gè)大密鑰集合的索引,盡管攻擊者有可能構(gòu)造一個(gè)口令字表(字典攻擊),但構(gòu)造一個(gè)可能的密鑰表是很困難的,因?yàn)槊總€(gè)口令將有許多可能對(duì)應(yīng)的密鑰,因此攻擊者將不得不為每一個(gè)鹽單獨(dú)搜索口令。同時(shí),密鑰導(dǎo)出過(guò)程中包括一個(gè)迭代輪數(shù)的參數(shù),指示需要迭代多少基本函數(shù)之后才進(jìn)行密鑰的導(dǎo)出操作,由此構(gòu)建了計(jì)算代價(jià)相對(duì)昂貴的密鑰導(dǎo)出技術(shù),用以增加窮舉搜索的代價(jià)。一個(gè)適度的迭代輪數(shù)(如1000輪)對(duì)合法方來(lái)說(shuō)不可能是計(jì)算密鑰時(shí)的負(fù)擔(dān),但對(duì)窮舉攻擊者來(lái)說(shuō)是一個(gè)很大的負(fù)擔(dān)??傊?,在用戶的口令字有足夠的抗攻擊強(qiáng)度條件下,可以認(rèn)為該協(xié)議對(duì)口令字猜測(cè)是安全的。
4)中間人攻擊由于用戶向服務(wù)器發(fā)出的數(shù)據(jù)消息都是經(jīng)過(guò)服務(wù)器公鑰加密后傳輸?shù)模怨粽邿o(wú)法利用會(huì)話劫持獲得比網(wǎng)絡(luò)偵聽(tīng)攻擊方法更多的有效信息,即該協(xié)議對(duì)中間人攻擊是安全的。
綜合以上4點(diǎn),說(shuō)明該協(xié)議可以有效抵御網(wǎng)絡(luò)偵聽(tīng)、重放攻擊、口令字猜測(cè)和中間人攻擊,即在現(xiàn)有的攻擊手段下本協(xié)議是安全的。
本發(fā)明提出了一種適用于無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)的數(shù)字證書(shū)系統(tǒng),與其它方案相比,該方案的主要優(yōu)點(diǎn)是首先,基于RA服務(wù)器加密存儲(chǔ)用戶私鑰的設(shè)計(jì)方案,該方案無(wú)需借助外部密鑰存儲(chǔ)設(shè)備,在保持?jǐn)?shù)字證書(shū)系統(tǒng)安全性的同時(shí)節(jié)省了系統(tǒng)的硬件開(kāi)銷,并降低了實(shí)施復(fù)雜度。
其次,對(duì)私鑰數(shù)據(jù)的生成、加密和解密操作都是在客戶端完成的,這樣能夠有效減小服務(wù)器的壓力,增加系統(tǒng)的可擴(kuò)展性。
最后,對(duì)客戶端證書(shū)申請(qǐng)/客戶端私鑰數(shù)據(jù)獲取協(xié)議的安全性進(jìn)行分析表明,該協(xié)議使用了符合PKCS#5規(guī)范的隨機(jī)數(shù)、鹽和多輪迭代等手段增加了協(xié)議的安全特性,可以有效抵御網(wǎng)絡(luò)偵聽(tīng)、重放攻擊、口令字猜測(cè)和中間人攻擊,在現(xiàn)有的攻擊手段下該協(xié)議是安全的。
圖1說(shuō)明數(shù)字證書(shū)系統(tǒng)的邏輯結(jié)構(gòu)簡(jiǎn)圖;圖2說(shuō)明客戶端證書(shū)申請(qǐng)協(xié)議;圖3說(shuō)明客戶端私鑰數(shù)據(jù)獲取協(xié)議。
具體實(shí)施例方式
圖1描述了包含證書(shū)機(jī)構(gòu)系統(tǒng)、注冊(cè)機(jī)構(gòu)系統(tǒng)、證書(shū)管理系統(tǒng)、密鑰管理系統(tǒng)、信息發(fā)布和接口系統(tǒng)和客戶端訪問(wèn)程序的數(shù)字證書(shū)系統(tǒng)簡(jiǎn)圖。其中客戶端訪問(wèn)程序運(yùn)行在客戶端系統(tǒng)中,而證書(shū)機(jī)構(gòu)系統(tǒng)、注冊(cè)機(jī)構(gòu)系統(tǒng)、證書(shū)管理系統(tǒng)、密鑰管理系統(tǒng)、信息發(fā)布和接口系統(tǒng)共同構(gòu)成了數(shù)字證書(shū)系統(tǒng)的服務(wù)器。證書(shū)管理系統(tǒng)、密鑰管理系統(tǒng)、信息發(fā)布和接口系統(tǒng)可以是注冊(cè)機(jī)構(gòu)系統(tǒng)的一部分,也可以獨(dú)立于注冊(cè)機(jī)構(gòu)系統(tǒng)而存在。
證書(shū)機(jī)構(gòu)系統(tǒng)負(fù)責(zé)創(chuàng)建和發(fā)行X509格式的最終實(shí)體證書(shū),該最終實(shí)體證書(shū)將主體最終實(shí)體的身份表示成正在注冊(cè)的主體名字,并注冊(cè)使用與主體擁有的私鑰相對(duì)應(yīng)的公開(kāi)密鑰。注冊(cè)機(jī)構(gòu)系統(tǒng)負(fù)責(zé)與注冊(cè)最終實(shí)體相關(guān)的管理任務(wù),包括對(duì)用戶證書(shū)請(qǐng)求的審核、查詢和管理等等。注冊(cè)機(jī)構(gòu)系統(tǒng)和證書(shū)機(jī)構(gòu)系統(tǒng)之間通過(guò)安全通道進(jìn)行通信。密鑰管理系統(tǒng)和證書(shū)管理系統(tǒng)在注冊(cè)機(jī)構(gòu)系統(tǒng)的管轄下各自完成相關(guān)的密鑰管理和證書(shū)管理功能。信息發(fā)布和接口系統(tǒng)為用戶提供網(wǎng)上在線注冊(cè)功能和查詢功能,同時(shí)提供數(shù)據(jù)發(fā)布功能和與客戶端訪問(wèn)程序通訊的功能??蛻舳嗽L問(wèn)程序面向最終用戶,接受用戶的申請(qǐng)或者查詢請(qǐng)求,然后把請(qǐng)求遞交給注冊(cè)機(jī)構(gòu)系統(tǒng)而獲得相應(yīng)的應(yīng)答。
圖2描述了客戶端證書(shū)申請(qǐng)協(xié)議,圖中的符號(hào)意義如下Info為證書(shū)請(qǐng)求信息;Name和Pwd分別為用戶對(duì)應(yīng)的用戶名和口令,KS為證書(shū)服務(wù)器公鑰,KU-1為證書(shū)申請(qǐng)者私鑰;Na為證書(shū)服務(wù)器產(chǎn)生的隨機(jī)數(shù);UserIdentity為用戶標(biāo)識(shí),且UserIdentity=Hash1(Name,Pwd);KEU為用戶加密自己私鑰的密鑰,且KEU=Hash2(Pwd)。(Hash1和Hash2為單值散列函數(shù),且后者的設(shè)計(jì)遵從PKCS#5規(guī)范)。m1-3為用于標(biāo)識(shí)特定協(xié)議步驟的消息,分別為m1(“user certificaterequest”)、m2(“identity check success”)、m3(“identity check failed”)和m4(“certificate requestsuccess”)。假設(shè)此時(shí)用戶已經(jīng)從數(shù)字證書(shū)系統(tǒng)信息發(fā)布子系統(tǒng)中獲取到RA服務(wù)器的證書(shū)(公鑰數(shù)據(jù))。
對(duì)以上步驟的詳細(xì)描述如下1)用戶向RA服務(wù)器發(fā)送m1消息,要求進(jìn)行證書(shū)申請(qǐng);2)RA服務(wù)器產(chǎn)生一個(gè)新的隨機(jī)數(shù)并發(fā)送給用戶;3)用戶生成PKCS#10格式的證書(shū)請(qǐng)求信息及其對(duì)應(yīng)的私鑰KU-1,并把該請(qǐng)求信息、用戶標(biāo)識(shí)和上一步得到的隨機(jī)數(shù)一起使用RA服務(wù)器公鑰加密后生成數(shù)據(jù)Data1發(fā)送給RA服務(wù)器Data1={Info,UserIdentity,Na}Ks;4)RA服務(wù)器將收到的用戶標(biāo)識(shí)和自己數(shù)據(jù)庫(kù)中已有的記錄(“待審批的證書(shū)請(qǐng)求列表”,“審批未通過(guò)的證書(shū)請(qǐng)求列表”,“有效證書(shū)列表”和“已撤銷的證書(shū)列表”)進(jìn)行比對(duì)。如果RA服務(wù)器沒(méi)有發(fā)現(xiàn)用戶標(biāo)識(shí)重復(fù)的情況,則轉(zhuǎn)到步驟5,否則發(fā)送m3消息給客戶端,請(qǐng)求操作失??;5)RA服務(wù)器發(fā)送m2消息給用戶;6)用戶用KEU加密其私鑰數(shù)據(jù)并和隨機(jī)數(shù)一起使用RA服務(wù)器公鑰加密后生成數(shù)據(jù)Data2傳送給RA服務(wù)器Data2={{KU-1}KEU,Na}Ks;7)RA服務(wù)器把證書(shū)請(qǐng)求信息、用戶標(biāo)識(shí)和加密的私鑰數(shù)據(jù)等信息一起寫(xiě)入待審批的證書(shū)請(qǐng)求列表中。
8)RA服務(wù)器發(fā)送m4消息到用戶。
如果客戶端證書(shū)請(qǐng)求生成階段順利完成,那么服務(wù)端數(shù)據(jù)庫(kù)“待審批的證書(shū)請(qǐng)求列表”中會(huì)有該用戶的相應(yīng)記錄,其中包括證書(shū)請(qǐng)求信息、用戶標(biāo)識(shí)和加密的私鑰數(shù)據(jù)等數(shù)據(jù)項(xiàng),此時(shí)RA服務(wù)器可以對(duì)該申請(qǐng)進(jìn)行審批。如果審批未通過(guò),則直接把該記錄轉(zhuǎn)入“審批未通過(guò)的證書(shū)請(qǐng)求列表”。如果審批通過(guò),則把該記錄對(duì)應(yīng)的數(shù)據(jù)遞交到CA服務(wù)器,后者利用自己的私鑰和證書(shū)簽發(fā)該證書(shū)請(qǐng)求生成用戶證書(shū),并把證書(shū)數(shù)據(jù)發(fā)回到RA服務(wù)器;然后RA服務(wù)器把證書(shū)數(shù)據(jù)、用戶標(biāo)識(shí)和加密的私鑰數(shù)據(jù)等數(shù)據(jù)項(xiàng)寫(xiě)入到“有效證書(shū)列表”中。
圖3說(shuō)明客戶端私鑰數(shù)據(jù)獲取協(xié)議,圖中的符號(hào)意義如下UserIdentity、KS和KEU意義同前;C為用戶的證書(shū);Na為證書(shū)服務(wù)器產(chǎn)生的隨機(jī)數(shù);Hash3為單值散列函數(shù);m5-9為用于標(biāo)識(shí)特定協(xié)議步驟的消息,分別為m5(“user certificate data request”)、m6(“unapproved request”)、m7(“denied request”)、m8(“related certificate canceled”)和m9(“certificate data request success”)。
假設(shè)此時(shí)用戶已經(jīng)從數(shù)字證書(shū)系統(tǒng)信息發(fā)布子系統(tǒng)中獲取到RA服務(wù)器的證書(shū)(公鑰數(shù)據(jù))。
對(duì)以上步驟的詳細(xì)描述如下1)用戶向RA服務(wù)器發(fā)送m5消息,要求進(jìn)行證書(shū)數(shù)據(jù)請(qǐng)求;2)RA服務(wù)器產(chǎn)生一個(gè)新的隨機(jī)數(shù)并發(fā)送給用戶;3)用戶利用自己的用戶名和密碼生成用戶標(biāo)識(shí),并將該標(biāo)識(shí)與隨機(jī)數(shù)一起散列,將標(biāo)識(shí)和散列值一起使用RA服務(wù)器公鑰加密后生成數(shù)據(jù)Data3發(fā)送給RA服務(wù)器Data3={UserIdentity,Hash3(UserIdentiy,Na)}Ks;4)RA服務(wù)器將收到的用戶標(biāo)識(shí)和自己數(shù)據(jù)庫(kù)中已有的記錄(“待審批的證書(shū)請(qǐng)求列表”,“審批未通過(guò)的證書(shū)請(qǐng)求列表”,“有效證書(shū)列表”和“已撤銷的證書(shū)列表”)進(jìn)行比對(duì)。如果RA服務(wù)器的有效證書(shū)列表中存在該用戶標(biāo)識(shí)對(duì)應(yīng)的記錄,則轉(zhuǎn)到步驟5,否則返回相關(guān)的錯(cuò)誤消息m6、m7或m8給用戶,數(shù)據(jù)請(qǐng)求失?。?)RA服務(wù)器發(fā)送該用戶標(biāo)識(shí)對(duì)應(yīng)的包括證書(shū)數(shù)據(jù)和(加密后的)私鑰數(shù)據(jù)在內(nèi)的數(shù)據(jù)Data4給用戶Data4={C,{KU-1}KEU};6)用戶發(fā)送m9消息給RA服務(wù)器。
以上所述僅僅是說(shuō)明本發(fā)明的原理。本領(lǐng)域的技術(shù)人員可以設(shè)計(jì)各種其它方案,雖然在這里無(wú)法清楚地描述或者表示出這些方案,但是如果這些方案體現(xiàn)本發(fā)明的原理,則這些方案不超出所附權(quán)利要求書(shū)的范圍。
權(quán)利要求
1.一種適用于無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)的數(shù)字證書(shū)系統(tǒng),它包括證書(shū)機(jī)構(gòu)系統(tǒng)、注冊(cè)機(jī)構(gòu)系統(tǒng)、證書(shū)管理系統(tǒng)、密鑰管理系統(tǒng)、信息發(fā)布和接口系統(tǒng)和客戶端訪問(wèn)程序等其中的一個(gè)或多個(gè)組件。
2.一種適用于無(wú)/弱本地存儲(chǔ)能力的客戶端系統(tǒng)的安全的客戶端證書(shū)申請(qǐng)協(xié)議和客戶端證書(shū)和私鑰數(shù)據(jù)獲取協(xié)議。
3.權(quán)利要求1的系統(tǒng),其特征在于其適用的客戶端系統(tǒng)包括具有無(wú)/弱本地存儲(chǔ)能力特性的瘦客戶機(jī)終端、無(wú)盤(pán)工作站終端、網(wǎng)絡(luò)計(jì)算機(jī)終端、透明計(jì)算機(jī)終端或者PC終端等終端系統(tǒng)。
4.權(quán)利要求1的系統(tǒng),其特征在于其適用的客戶端系統(tǒng)包括雖然具備本地存儲(chǔ)能力,但是私鑰數(shù)據(jù)不存儲(chǔ)于本地的瘦客戶機(jī)終端、無(wú)盤(pán)工作站終端、網(wǎng)絡(luò)計(jì)算機(jī)終端、透明計(jì)算機(jī)終端或者PC終端等終端系統(tǒng)。
5.權(quán)利要求1的系統(tǒng),其特征在于用戶的私鑰信息在證書(shū)機(jī)構(gòu)系統(tǒng)加密存儲(chǔ)。
6.權(quán)利要求1的系統(tǒng),其特征在于私鑰數(shù)據(jù)的生成、加密和解密操作都是在客戶端完成。
7.權(quán)利要求1的系統(tǒng),其特征在于該系統(tǒng)具備安全的客戶端證書(shū)申請(qǐng)協(xié)議和客戶端證書(shū)和私鑰數(shù)據(jù)獲取協(xié)議。
8.權(quán)利要求2的客戶端證書(shū)申請(qǐng)協(xié)議,其特征在于,該協(xié)議依次有以下步驟步驟(1).用戶向RA服務(wù)器發(fā)送消息,要求進(jìn)行證書(shū)申請(qǐng);步驟(2).RA服務(wù)器產(chǎn)生一個(gè)新的隨機(jī)數(shù)并發(fā)送給用戶;步驟(3).用戶生成PKCS#10格式的證書(shū)請(qǐng)求信息及其對(duì)應(yīng)的私鑰,并把該請(qǐng)求信息、用戶標(biāo)識(shí)和上一步得到的隨機(jī)數(shù)一起使用RA服務(wù)器公鑰加密后發(fā)送給RA服務(wù)器;步驟(4).RA服務(wù)器將收到的用戶標(biāo)識(shí)和自己數(shù)據(jù)庫(kù)中已有的記錄進(jìn)行比對(duì)。如果RA服務(wù)器沒(méi)有發(fā)現(xiàn)用戶標(biāo)識(shí)重復(fù)的情況,則轉(zhuǎn)到步驟5,否則發(fā)送用戶標(biāo)示檢查失敗的消息給客戶端,請(qǐng)求操作失敗;步驟(5).RA服務(wù)器發(fā)送用戶標(biāo)示檢查成功消息給用戶;步驟(6).用戶用自己的對(duì)稱密鑰(該密鑰遵從PKCS#5規(guī)范由用戶設(shè)置的口令生成)加密其私鑰數(shù)據(jù)并和隨機(jī)數(shù)一起使用RA服務(wù)器公鑰加密后傳送給RA服務(wù)器;步驟(7).RA服務(wù)器把證書(shū)請(qǐng)求信息、用戶標(biāo)識(shí)和加密的私鑰數(shù)據(jù)等信息一起寫(xiě)入待審批的證書(shū)請(qǐng)求列表中。然后發(fā)送證書(shū)請(qǐng)求成功消息到用戶。
9.權(quán)利要求2的客戶端證書(shū)和私鑰數(shù)據(jù)獲取協(xié)議,其特征在于,該協(xié)議依次有以下步驟步驟(1).用戶向RA服務(wù)器發(fā)送消息,要求進(jìn)行證書(shū)數(shù)據(jù)請(qǐng)求;步驟(2).RA服務(wù)器產(chǎn)生一個(gè)新的隨機(jī)數(shù)并發(fā)送給用戶;步驟(3).用戶利用自己的用戶名和密碼生成用戶標(biāo)識(shí),并將該標(biāo)識(shí)與隨機(jī)數(shù)一起散列,將標(biāo)識(shí)和散列值一起使用RA服務(wù)器公鑰加密后發(fā)送給RA服務(wù)器;步驟(4).RA服務(wù)器將收到的用戶標(biāo)識(shí)和自己數(shù)據(jù)庫(kù)中已有的記錄進(jìn)行比對(duì)。如果RA服務(wù)器的有效證書(shū)列表中存在該用戶標(biāo)識(shí)對(duì)應(yīng)的記錄,則轉(zhuǎn)到步驟5,否則返回相關(guān)的錯(cuò)誤消息給用戶,數(shù)據(jù)請(qǐng)求失?。徊襟E(5).RA服務(wù)器發(fā)送該用戶標(biāo)識(shí)對(duì)應(yīng)的證書(shū)數(shù)據(jù)和(加密后的)私鑰數(shù)據(jù)給用戶;步驟(6).用戶發(fā)送接受成功消息給RA服務(wù)器。
10.根據(jù)權(quán)利要求4、8或9所述的方法,其特征在于,所述選定的公鑰加密算法為RSA算法。
11.根據(jù)權(quán)利要求5、6、7、8或9所述的方法,其特征在于,所述選定的對(duì)稱加密算法為AES算法。
12.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述選定的隨機(jī)數(shù)生成算法為組合線性同余發(fā)生器算法。
全文摘要
適用于無(wú)/弱本地存儲(chǔ)客戶端系統(tǒng)的數(shù)字證書(shū)系統(tǒng),屬于數(shù)字證書(shū)系統(tǒng)技術(shù)領(lǐng)域。其特征在于基于公鑰基礎(chǔ)設(shè)施體系架構(gòu),含有證書(shū)機(jī)構(gòu)系統(tǒng)、注冊(cè)機(jī)構(gòu)系統(tǒng)、證書(shū)管理系統(tǒng)、密鑰管理系統(tǒng)、信息發(fā)布和接口系統(tǒng)和客戶端訪問(wèn)程序等其中的一個(gè)或多個(gè)組件,采用了隨機(jī)數(shù)、鹽和多輪迭代等手段保證系統(tǒng)的安全性,并且通過(guò)在客戶端進(jìn)行密鑰生成和加解密操作的方式實(shí)現(xiàn)了系統(tǒng)的可擴(kuò)展性。該系統(tǒng)無(wú)需借助外部密鑰存儲(chǔ)設(shè)備,解決了在網(wǎng)絡(luò)計(jì)算機(jī)系統(tǒng)中部署數(shù)字證書(shū)系統(tǒng)時(shí)存在的終端實(shí)體對(duì)私鑰數(shù)據(jù)的存儲(chǔ)需求和網(wǎng)絡(luò)計(jì)算機(jī)無(wú)本地存儲(chǔ)特性的矛盾。從而在保證安全性和可擴(kuò)展性的同時(shí),數(shù)字證書(shū)系統(tǒng)的實(shí)施復(fù)雜度和成本得到了降低。
文檔編號(hào)H04L9/32GK101035135SQ20071009877
公開(kāi)日2007年9月12日 申請(qǐng)日期2007年4月27日 優(yōu)先權(quán)日2007年4月27日
發(fā)明者戴一奇, 譚智勇, 司天歌, 劉鐸, 鄒嘉, 林劼, 郝建國(guó), 付位剛, 周麒麟 申請(qǐng)人:清華大學(xué)