專利名稱:證書撤銷列表的分布管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及安全數(shù)字網(wǎng)絡(luò)。
背景技術(shù):
表示內(nèi)容的數(shù)字?jǐn)?shù)據(jù)通過通信網(wǎng)絡(luò)進(jìn)行傳輸所引起的問題是需要對(duì)所交換的數(shù)據(jù)進(jìn)行保護(hù)和對(duì)數(shù)據(jù)拷貝的許可或禁止進(jìn)行管理。
為了解決這些問題,多媒體硬件制造商已經(jīng)提出的解決方案有,以數(shù)字形式傳輸內(nèi)容而禁止這些內(nèi)容的非法拷貝。這些解決方案通常包括使用密碼系統(tǒng),其中通過受托方、例如通過鑒定機(jī)構(gòu)產(chǎn)生一個(gè)或多個(gè)密鑰,以及使用所謂的適應(yīng)性設(shè)備或模塊。每一密鑰與證書相關(guān)聯(lián)。該證書加密地與該密鑰捆綁起來驗(yàn)證其所有者的身份。
可能會(huì)出現(xiàn)這樣的情況,即密鑰或包含秘密的適應(yīng)性設(shè)備或模塊被盜用。在前一種情況下,“盜竊者”成功地得到了該密鑰。在后一種情況下,“盜竊者”得到了該秘密。
安全數(shù)字網(wǎng)絡(luò)的一個(gè)范例是用于安全數(shù)字內(nèi)容廣播的系統(tǒng)。
已知在用于安全數(shù)字內(nèi)容廣播的系統(tǒng)中,需要管理包含密鑰、設(shè)備或模塊的標(biāo)識(shí)符的撤銷列表,其不再被受托第三方認(rèn)為是適應(yīng)性的,因?yàn)槭芡蟹揭呀?jīng)知道了它們被盜用的事實(shí)。
該撤銷列表必須傳輸給該系統(tǒng)中的所有參與方,使得不再適用的密鑰、設(shè)備或模塊可以被標(biāo)識(shí),并不再被使用。例如,該系統(tǒng)的適應(yīng)設(shè)備會(huì)拒絕與非適應(yīng)設(shè)備通信,或與傳輸非適應(yīng)密鑰的設(shè)備通信。
為了使得這樣更有效,需要讓該適應(yīng)設(shè)備總是能夠訪問該撤銷列表。
更具體地,該撤銷列表可以包含不再被信任的證書列表。這種列表也就是熟知的證書撤銷列表(CRL)。
CRL典型地包括項(xiàng)列表。為了進(jìn)行唯一地標(biāo)識(shí),通過CRL發(fā)行者,例如通過受托第三方簽發(fā)該CRL及其有效日。每一CRL項(xiàng)可以包括所要撤銷的證書的序列號(hào)和撤銷日期。
在該安全數(shù)字網(wǎng)絡(luò)中使用的設(shè)備可以在其硬件規(guī)范上有所限制。這種設(shè)備可能不具備足夠的存儲(chǔ)和/或處理能力來在其存儲(chǔ)器中存儲(chǔ)全部CRL和處理存儲(chǔ)在其存儲(chǔ)器中的CRL,以檢查密鑰即與該密鑰相關(guān)聯(lián)的證書是否出現(xiàn)在該CRL中。這種設(shè)備的范例就是廣泛使用的智能卡,其帶有包括存儲(chǔ)器和處理單元的電子電路。智能卡頻繁地被用來對(duì)數(shù)據(jù)進(jìn)行加密或解密。
圖1所述的范例為根據(jù)現(xiàn)有技術(shù)的智能卡。該智能卡11包括塑料卡12和內(nèi)置的微芯片13,其能夠安全地存儲(chǔ)加密信息。該微芯片13包括能夠與外部設(shè)備通信的引腳14。該微芯片13具有相對(duì)較小尺寸的存儲(chǔ)器該智能卡可能不能夠存儲(chǔ)全部的CRL。
然而,有可能使用智能卡對(duì)于存在的所確定的證書逐步地檢查所簽發(fā)的CRL。這樣就避免將全部的CRL存儲(chǔ)在該智能卡的存儲(chǔ)器中。
圖2A所述的范例為根據(jù)現(xiàn)有技術(shù)使用智能卡檢查CRL的第一種方法。CRL21以連續(xù)的小數(shù)據(jù)塊傳輸給智能卡22。典型地,CRL21包括CRL標(biāo)識(shí)符NCRL、CRL簽字SCRL和多個(gè)項(xiàng)(241、242、...24MAX),每一項(xiàng)包含關(guān)聯(lián)的所撤銷的證書的序列號(hào)(SN1、SN2、...SNMAX)。所傳輸?shù)拿恳恍?shù)據(jù)塊可以包括一個(gè)項(xiàng)或多個(gè)項(xiàng),每一項(xiàng)包含單個(gè)所撤銷證書的序列號(hào)SNi。智能卡22處理每一小數(shù)據(jù)塊,以檢查是否存在對(duì)應(yīng)于所確定證書的項(xiàng)典型地,智能卡22的處理裝置23將所確定證書的序列號(hào)SN0與所傳輸?shù)某蜂N證書的序列號(hào)SNi進(jìn)行比較。
為了檢查該CRL簽字SCRL,該智能卡計(jì)算連續(xù)接收的小數(shù)據(jù)塊的散列值。設(shè)計(jì)在產(chǎn)生該CRL簽字SCRL中所使用的散列函數(shù),使得可以逐塊地計(jì)算散列值。在已經(jīng)接收了所有的小數(shù)據(jù)塊、即全部CRL,并獲得總的散列值之后,將驗(yàn)證函數(shù)應(yīng)用于該散列值、產(chǎn)生簽字的受托第三方的公用密鑰以及該CRL簽字SCRL,從而可以檢查該CRL的完整性。對(duì)于該智能卡所要檢查的每個(gè)新證書,需要重復(fù)CRL的該完整性檢查。
圖2B所述的范例為根據(jù)現(xiàn)有技術(shù),使用CRL用于對(duì)所確定的證書的有效性進(jìn)行檢查的第二種方法。CRL21存儲(chǔ)在主機(jī)設(shè)備26中,該主機(jī)設(shè)備不同于智能卡22。將所確定證書的證書標(biāo)識(shí)符SN0從該智能卡22傳輸?shù)皆撝鳈C(jī)設(shè)備26。
第二設(shè)備26的處理裝置25在存儲(chǔ)在該主機(jī)設(shè)備26內(nèi)的CRL21的撤銷證書標(biāo)識(shí)符(SN1、SN2、...SNMAX)中查找該證書標(biāo)識(shí)符SN0。
該主機(jī)設(shè)備26接下來將查找的結(jié)果傳送給智能卡22,以指示所確定的證書是否有效。
例如,如果在CRL21內(nèi)查找到相關(guān)的撤銷證書標(biāo)識(shí)符等于所傳輸?shù)淖C書標(biāo)識(shí)符SN0,該主機(jī)設(shè)備26將第一值分配給布爾變量BV,例如將布爾變量BV復(fù)位。如果處理裝置25在CRL21內(nèi)沒有找到等于所傳輸?shù)淖C書標(biāo)識(shí)符SN0的任何相關(guān)的撤銷證書標(biāo)識(shí)符,該主機(jī)設(shè)備26將第二值分配給該布爾變量BV,例如置位該布爾變量BV。
該主機(jī)設(shè)備26將該布爾變量BV傳輸給該智能卡22。該布爾變量BV的值向該智能卡22指示,該CRL21是否包括等于將檢查的該證書標(biāo)識(shí)符SN0的相關(guān)撤銷證書標(biāo)識(shí)符。只有當(dāng)所傳輸?shù)牟紶栕兞緽V被置位時(shí),所確定的該證書才被評(píng)估為有效。如果所傳輸?shù)牟紶栕兞緽V被復(fù)位時(shí),所確定的該證書被評(píng)估為無效。
該CRL21典型地包括CRL標(biāo)識(shí)符NCRL和CRL簽字SCRL。
該智能卡22也可以存儲(chǔ)CRL標(biāo)識(shí)符NCRL;當(dāng)需要檢查所確定的證書時(shí),該智能卡22傳輸所存儲(chǔ)的CRL標(biāo)識(shí)符NCRL的值,從而能夠檢查存儲(chǔ)在該主機(jī)設(shè)備26內(nèi)的CRL21是當(dāng)前有效的CRL。
該CRL簽字SCRL使得能夠檢查CRL21的整體性。
發(fā)明內(nèi)容
在第一方面,本發(fā)明提供一種用于管理證書撤銷列表(CRL)的方法。在第一設(shè)備接收該CRL。該CRL包括至少一個(gè)所撤銷的證書標(biāo)識(shí)符。使用保密數(shù)據(jù)計(jì)算與該CRL的項(xiàng)相關(guān)聯(lián)的完整性字段,其中項(xiàng)包括該CRL的至少一個(gè)所撤銷的證書標(biāo)識(shí)符。將該項(xiàng)以及所計(jì)算的其相關(guān)聯(lián)的完整性字段傳輸?shù)讲煌谠摰谝辉O(shè)備的第二設(shè)備。該方法進(jìn)一步包括將所傳輸?shù)脑擁?xiàng)和該相關(guān)的完整性字段存儲(chǔ)到該第二設(shè)備中。
在第一優(yōu)選實(shí)施例中,在第一設(shè)備中執(zhí)行將該證書撤銷列表(CRL)劃分到各項(xiàng)中。
在第二優(yōu)選實(shí)施例中,該完整性字段是消息鑒別碼。將與所接收到的CRL相關(guān)聯(lián)的證書撤銷列表(CRL)密鑰選擇作為該保密數(shù)據(jù)并將其存儲(chǔ)在該第一設(shè)備中。
在第三優(yōu)選實(shí)施例中,該方法進(jìn)一步包括對(duì)中間數(shù)據(jù)應(yīng)用散列函數(shù),以計(jì)算該消息鑒別碼??梢詮陌辽僖粋€(gè)撤銷證書標(biāo)識(shí)符的項(xiàng)以及從該CRL密鑰得到該中間數(shù)據(jù)。
在第四優(yōu)選實(shí)施例中,在該第二設(shè)備中存儲(chǔ)多個(gè)所撤銷的證書標(biāo)識(shí)符。將所存儲(chǔ)的撤銷證書標(biāo)識(shí)符組織成為至少一個(gè)安全項(xiàng)集的列表。每一安全項(xiàng)集包括至少一個(gè)撤銷證書標(biāo)識(shí)符、至少一個(gè)相關(guān)聯(lián)的完整性字段以及該CRL的CRL標(biāo)識(shí)符。對(duì)于每一安全項(xiàng)集,產(chǎn)生列表順序字段。該列表順序字段所具有的內(nèi)容能夠在存儲(chǔ)于該第二設(shè)備中的該安全項(xiàng)集列表內(nèi)確定安全項(xiàng)集的順序。
在第五優(yōu)選實(shí)施例中,將該CRL的CRL標(biāo)識(shí)符存儲(chǔ)到該第一設(shè)備中。
在第六優(yōu)選實(shí)施例中,該方法進(jìn)一步包括使用包含在該CRL內(nèi)并通過發(fā)行該CRL的受托第三方所產(chǎn)生的證書撤銷列表(CRL)簽字來檢查所接收到的CRL的完整性。
在第七優(yōu)選實(shí)施例中,所接收到的CRL的完整性檢查包括計(jì)算所接收到的CRL的散列值,并對(duì)所計(jì)算的散列值、受托第三方的公用密鑰以及該簽字應(yīng)用驗(yàn)證函數(shù),以評(píng)估該CRL的完整性。
在第八優(yōu)選實(shí)施例中,在該第一設(shè)備接收CRL的小數(shù)據(jù)塊。該CRL的小數(shù)據(jù)塊包括至少一個(gè)所撤銷的證書標(biāo)識(shí)符。將包含至少一個(gè)所撤銷的證書標(biāo)識(shí)符以及相關(guān)聯(lián)的完整性字段的至少一個(gè)項(xiàng)傳輸給該第二設(shè)備。在任何接收CRL的其它小數(shù)據(jù)塊之前刪除所接收到的該CRL的小數(shù)據(jù)塊。
優(yōu)選地該第一設(shè)備是智能卡,而該CRL標(biāo)識(shí)符是CRL的CRL序列號(hào)。
在第九優(yōu)選實(shí)施例中,該方法進(jìn)一步包括檢查證書的有效性。將證書的證書標(biāo)識(shí)符從該第一設(shè)備傳輸?shù)降诙O(shè)備。檢查存儲(chǔ)在該第二設(shè)備中的項(xiàng)的列表,以估計(jì)該列表是否包括所具有的值對(duì)應(yīng)于所傳輸?shù)淖C書標(biāo)識(shí)符的值的相關(guān)撤銷證書標(biāo)識(shí)符。根據(jù)所檢查的結(jié)果將至少一個(gè)所撤銷的證書標(biāo)識(shí)符以及相關(guān)聯(lián)的完整性字段傳輸?shù)皆摰谝辉O(shè)備。該方法進(jìn)一步包括在該第一設(shè)備通過使用所傳輸?shù)脑撓嚓P(guān)完整性字段來驗(yàn)證該至少一個(gè)所傳輸?shù)某蜂N證書標(biāo)識(shí)符的完整性,以及在該第一設(shè)備通過使用該至少一個(gè)所傳輸?shù)某蜂N證書標(biāo)識(shí)符來評(píng)估該證書的有效性。
在第十優(yōu)選實(shí)施例中,使用該CRL密鑰來驗(yàn)證所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符的完整性。
在第十一優(yōu)選實(shí)施例中,存儲(chǔ)在第二設(shè)備中的列表的每一安全項(xiàng)集包括單個(gè)所撤銷的證書標(biāo)識(shí)符。將相關(guān)安全項(xiàng)集的至少一部分傳輸?shù)皆摰谝辉O(shè)備。該相關(guān)的安全項(xiàng)集包含該相關(guān)的撤銷證書標(biāo)識(shí)符。
在第十二優(yōu)選實(shí)施例中,該方法進(jìn)一步包括在該第一設(shè)備,將包含在所傳輸?shù)陌踩?xiàng)集中的所傳輸?shù)淖C書撤銷列表(CRL)標(biāo)識(shí)符與所確定的CRL的標(biāo)識(shí)符進(jìn)行比較。所傳輸?shù)脑揅RL標(biāo)識(shí)符能夠確保存儲(chǔ)在該第二設(shè)備中的列表對(duì)應(yīng)于所確定的該CRL。該方法進(jìn)一步包括在該第一設(shè)備,檢查相關(guān)的該撤銷證書標(biāo)識(shí)符實(shí)際上等于該證書標(biāo)識(shí)符。
在第十三優(yōu)選實(shí)施例中,存儲(chǔ)在第二設(shè)備中的列表的每一安全項(xiàng)集包括單個(gè)所撤銷的證書標(biāo)識(shí)符。該方法進(jìn)一步包括將第一安全項(xiàng)集的至少一部分以及第二安全項(xiàng)集的至少一部分傳輸給該第一設(shè)備。該第一安全項(xiàng)集和該第二安全項(xiàng)集分別包含具有在所傳輸?shù)淖C書標(biāo)識(shí)符的期望順序之前和之后緊接的順序的撤銷證書標(biāo)識(shí)符。
在第十四優(yōu)選實(shí)施例中,在該第一設(shè)備將包含在所傳輸?shù)陌踩?xiàng)集中的所傳輸?shù)淖C書撤銷列表(CRL)標(biāo)識(shí)符與所確定的CRL的標(biāo)識(shí)符進(jìn)行比較。所傳輸?shù)脑揅RL標(biāo)識(shí)符能夠確保存儲(chǔ)在該第二設(shè)備中的列表對(duì)應(yīng)于所確定的該CRL。該方法進(jìn)一步包括在該第一設(shè)備,檢查該第一安全項(xiàng)集和該第二安全項(xiàng)集在存儲(chǔ)于該第二設(shè)備中的列表內(nèi)是連續(xù)的。該方法進(jìn)一步包括在該第一設(shè)備,檢查該第一安全項(xiàng)集和該第二安全項(xiàng)集分別包含具有在所傳輸?shù)淖C書標(biāo)識(shí)符的期望順序之前和之后緊接的順序的撤銷證書標(biāo)識(shí)符。
在第十五優(yōu)選實(shí)施例中,該列表的每一安全項(xiàng)集包括多個(gè)撤銷證書標(biāo)識(shí)符。該多個(gè)撤銷的證書標(biāo)識(shí)符在該安全項(xiàng)集內(nèi)排序。
在第十六優(yōu)選實(shí)施例中,將相關(guān)安全項(xiàng)集的至少一部分傳輸?shù)皆摰谝辉O(shè)備。該相關(guān)的安全項(xiàng)集包含該相關(guān)的撤銷證書標(biāo)識(shí)符。
在第十七優(yōu)選實(shí)施例中,該方法進(jìn)一步包括在該第二設(shè)備中,查找包括第一撤銷證書標(biāo)識(shí)符和第二撤銷證書標(biāo)識(shí)符的替換安全項(xiàng)集。該第一撤銷證書標(biāo)識(shí)符和第二撤銷證書標(biāo)識(shí)符分別具有在該相關(guān)證書標(biāo)識(shí)符的期望順序之前和之后緊接的順序。將該替換安全項(xiàng)集傳輸?shù)皆摰谝辉O(shè)備。
在第十八優(yōu)選實(shí)施例中,將第一替換安全項(xiàng)集和第二替換安全項(xiàng)集傳輸?shù)皆摰谝辉O(shè)備。該第一替換安全項(xiàng)集和該第二替換安全項(xiàng)集分別包含該第一撤銷證書標(biāo)識(shí)符和該第二撤銷證書標(biāo)識(shí)符。
在第十九優(yōu)選實(shí)施例中,在該第一設(shè)備將包含在所傳輸?shù)陌踩?xiàng)集中的所傳輸?shù)淖C書撤銷列表(CRL)標(biāo)識(shí)符與所確定的CRL的標(biāo)識(shí)符進(jìn)行比較。所傳輸?shù)脑揅RL標(biāo)識(shí)符能夠確保存儲(chǔ)在該第二設(shè)備(62)中的列表對(duì)應(yīng)于所確定的該CRL。
在第二十優(yōu)選實(shí)施例中,該列表順序字段的內(nèi)容是索引,該索引對(duì)應(yīng)于該列表內(nèi)的安全項(xiàng)集的順序。該第一設(shè)備存儲(chǔ)最大索引,該最大索引對(duì)應(yīng)于該列表的最后一個(gè)安全項(xiàng)集的索引。
在第二十一優(yōu)選實(shí)施例中,該列表順序字段的內(nèi)容是關(guān)于該列表內(nèi)前一安全項(xiàng)集的信息。該第一設(shè)備存儲(chǔ)該列表的第一個(gè)安全項(xiàng)集和最后一個(gè)安全項(xiàng)集。
優(yōu)選地,該證書標(biāo)識(shí)符是證書序列號(hào)。
在第三方面,本發(fā)明提供一種用于管理證書撤銷列表(CRL)的設(shè)備,所述設(shè)備包括用于接收CRL的裝置,該CRL包括至少一個(gè)所撤銷的證書標(biāo)識(shí)符;用于使用保密數(shù)據(jù)計(jì)算與該CRL的項(xiàng)相關(guān)聯(lián)的完整性字段的裝置,其中項(xiàng)包括該CRL的至少一個(gè)所撤銷的證書標(biāo)識(shí)符;和用于將該項(xiàng)以及所計(jì)算的其相關(guān)的完整性字段傳輸?shù)讲煌谒鲈O(shè)備的第二設(shè)備的裝置。
在第二十二優(yōu)選實(shí)施例中,該設(shè)備進(jìn)一步包括用于將所要檢查的證書的證書標(biāo)識(shí)符傳輸?shù)皆摰诙O(shè)備的裝置;用于從該第二設(shè)備接收包含至少一個(gè)撤銷證書標(biāo)識(shí)符和至少一個(gè)相關(guān)聯(lián)的完整性字段的至少一個(gè)項(xiàng)的裝置;用于通過使用所傳輸?shù)脑撓嚓P(guān)聯(lián)的完整性字段來驗(yàn)證該至少一個(gè)所傳輸?shù)某蜂N證書標(biāo)識(shí)符的完整性的裝置;和用于使用至少一個(gè)所傳輸?shù)某蜂N證書標(biāo)識(shí)符評(píng)估該證書的有效性的裝置。
在第四方面,本發(fā)明提供一種用于存儲(chǔ)證書撤銷列表(CRL)的設(shè)備,所述設(shè)備包括用于從第一設(shè)備接收包含該CRL的至少一個(gè)撤銷證書標(biāo)識(shí)符的至少一個(gè)項(xiàng)以及與該項(xiàng)相關(guān)聯(lián)的完整性字段的裝置;存儲(chǔ)器,用于存儲(chǔ)多個(gè)撤銷證書標(biāo)識(shí)符,所存儲(chǔ)的撤銷證書標(biāo)識(shí)符被組織成為至少一個(gè)安全項(xiàng)集的列表,每一安全項(xiàng)集包括至少一個(gè)撤銷證書標(biāo)識(shí)符、至少一個(gè)相關(guān)聯(lián)的完整性字段以及該CRL的CRL標(biāo)識(shí)符;其中每一安全項(xiàng)集包括列表順序字段,該列表順序字段具有能夠在存儲(chǔ)于所述設(shè)備中的該安全項(xiàng)集的列表內(nèi)確定安全項(xiàng)集的順序的內(nèi)容。
在第二十三優(yōu)選實(shí)施例中,該設(shè)備進(jìn)一步包括
用于從第一設(shè)備接收證書標(biāo)識(shí)符的裝置;處理裝置,用于檢查存儲(chǔ)在該存儲(chǔ)器中的項(xiàng)的列表,從而估計(jì)該列表是否包括所具有的值對(duì)應(yīng)于所傳輸?shù)淖C書標(biāo)識(shí)符的值的相關(guān)撤銷證書標(biāo)識(shí)符;和用于根據(jù)所檢查的結(jié)果將至少一個(gè)撤銷證書標(biāo)識(shí)符以及該相關(guān)聯(lián)的完整性字段傳輸?shù)皆摰谝辉O(shè)備的裝置。
從下面的描述和所附的權(quán)利要求書可以清楚本發(fā)明的其它方面和優(yōu)點(diǎn)。
圖1所述的范例為根據(jù)現(xiàn)有技術(shù)的智能卡。
圖2A所述的范例為根據(jù)現(xiàn)有技術(shù),使用智能卡檢查CRL的方法。
圖2B所述的范例為根據(jù)現(xiàn)有技術(shù),使用CRL用于對(duì)所確定的證書的有效性進(jìn)行檢查的第二種方法。
圖3A和3B所述的范例為本發(fā)明的系統(tǒng)。
圖4所述為在根據(jù)本發(fā)明第一優(yōu)選實(shí)施例的系統(tǒng)中,通過主機(jī)設(shè)備所執(zhí)行的范例算法。
圖5所述為在根據(jù)本發(fā)明第一優(yōu)選實(shí)施例的系統(tǒng)中,通過智能卡所執(zhí)行的范例算法。
圖6所述的范例為根據(jù)本發(fā)明第二優(yōu)選實(shí)施例的系統(tǒng)。
具體實(shí)施例方式
一般通過將所要檢查的證書的標(biāo)識(shí)符與證書撤銷列表(CRL)的撤銷證書的標(biāo)識(shí)符進(jìn)行比較來檢查證書的有效性。
單個(gè)設(shè)備可以包括用于存儲(chǔ)該CRL的存儲(chǔ)器和用于執(zhí)行該比較的處理裝置。
可替換地,該設(shè)備可以是受限的存儲(chǔ)器例如,能夠保護(hù)所要檢查的證書和其它安全數(shù)據(jù),但是不能將全部CRL存儲(chǔ)在其存儲(chǔ)器中的智能卡。
在根據(jù)現(xiàn)有技術(shù)的第一種方法中,每次需要檢查證書時(shí),逐個(gè)小數(shù)據(jù)塊地將該CRL下載到該設(shè)備中。在該設(shè)備中處理所下載的每一小數(shù)據(jù)塊,并在下載其它小數(shù)據(jù)塊之前將其刪除。可以證明這樣是相對(duì)比較耗時(shí)的。
在根據(jù)現(xiàn)有技術(shù)的第二種方法中,主機(jī)設(shè)備存儲(chǔ)該CRL,并在該CRL中進(jìn)行查找證書標(biāo)識(shí)符。將所查找的結(jié)果,例如表示該證書是否被檢查為有效的布爾變量傳輸給該設(shè)備,例如智能卡。
然而,黑客可以向該智能卡傳輸假的查找結(jié)果。將該查找的結(jié)果改變,使得該證書被評(píng)估為有效。例如,該智能卡接收假的布爾變量,其具有表示該證書有效的值。
因此需要一種系統(tǒng)和方法,能夠使用存儲(chǔ)器受限的設(shè)備更加安全地檢查證書的有效性。
圖3A和3B所述的范例為根據(jù)本發(fā)明的系統(tǒng)。
該系統(tǒng)包括第一設(shè)備31以及不同于該第一設(shè)備31的第二設(shè)備32。如圖3A中所述,該第一設(shè)備31初始接收CRL33,處理所接收到的CRL33,并將所處理的CRL傳輸?shù)皆摰诙O(shè)備32。該第二設(shè)備32包括能夠存儲(chǔ)所處理的CRL的第二存儲(chǔ)器34。
在該第一設(shè)備31所接收到的該CRL33包括至少一個(gè)撤銷證書標(biāo)識(shí)符(SN1,...,SNP)。
所接收到的CRL33在該第一設(shè)備31中進(jìn)行處理,以將其劃分成多個(gè)項(xiàng)(371,...,37P),每一項(xiàng)包括至少一個(gè)撤銷證書標(biāo)識(shí)符,并然后為該CRL的每一項(xiàng)計(jì)算完整性字段(MACi)。該計(jì)算包括保密數(shù)據(jù),例如保密函數(shù)或者密鑰。
將所計(jì)算的完整性字段(MACi)以及相關(guān)聯(lián)的包括至少一個(gè)撤銷證書標(biāo)識(shí)符的項(xiàng)(SNi)傳輸?shù)皆摰诙O(shè)備(32),并存儲(chǔ)在其中。
如果需要評(píng)估具有證書標(biāo)識(shí)符SN0的證書,將該證書標(biāo)識(shí)符SN0傳輸?shù)皆摰诙O(shè)備32,如圖3B中所示。該第二設(shè)備的處理裝置35能夠檢查存儲(chǔ)在該第二存儲(chǔ)器34中的所處理的CRL,從而估計(jì)該處理的CRL是否包括所具有的值等于該證書標(biāo)識(shí)符SN0的值的相關(guān)撤銷證書標(biāo)識(shí)符。
可替換地,該處理裝置是第三設(shè)備的一部分,該第三設(shè)備不同于該第一設(shè)備和該第二設(shè)備。
該第二設(shè)備32根據(jù)該檢查的結(jié)果,將結(jié)果數(shù)據(jù)輸出到該第一設(shè)備31。該結(jié)果數(shù)據(jù)包括該列表的至少一個(gè)撤銷證書標(biāo)識(shí)符SNi0以及相關(guān)聯(lián)的完整性字段MACi0。
所傳輸?shù)脑撏暾宰侄蜯ACi0能夠檢查相關(guān)聯(lián)的該撤銷證書標(biāo)識(shí)符SNi0的完整性。
接下來使用所傳輸?shù)某蜂N證書標(biāo)識(shí)符SNi0來評(píng)估該證書SN0的有效性。
本發(fā)明的系統(tǒng)能夠快速地評(píng)估存儲(chǔ)在具有相對(duì)較小存儲(chǔ)器的第一設(shè)備中的證書的有效性。該第一設(shè)備必須在初始步驟僅一次處理CRL,如圖3A中所述。將所處理的CRL存儲(chǔ)在第二設(shè)備中,其能夠在該第二設(shè)備查找該證書的證書標(biāo)識(shí)符。
根據(jù)現(xiàn)有技術(shù)的第一種方法包括將該CRL逐個(gè)小數(shù)據(jù)塊地下載到該第一設(shè)備,其比本發(fā)明的方法要更加耗時(shí)。
而且,本發(fā)明的方法包括驗(yàn)證所傳輸?shù)慕Y(jié)果數(shù)據(jù)的完整性,其能夠檢查所傳輸?shù)某蜂N證書標(biāo)識(shí)符SNi0的內(nèi)容中的任何改變。本發(fā)明的方法因此比根據(jù)現(xiàn)有技術(shù)的第二種方法能夠?qū)ψC書的有效性進(jìn)行更加安全的檢查。
再次參照?qǐng)D3A,典型地在該第一設(shè)備31逐個(gè)小數(shù)據(jù)塊的接收該CRL33。處理每一小數(shù)據(jù)塊,并在第一設(shè)備31刪除其之前將其傳輸?shù)降诙O(shè)備32。
在圖3A中所述的范例中,每一小數(shù)據(jù)塊可以包括一個(gè)或多個(gè)撤銷證書標(biāo)識(shí)符(SN1,...,SNP)。
對(duì)在該第一設(shè)備31所接收到的CRL33的小數(shù)據(jù)塊進(jìn)行的處理包括將該小數(shù)據(jù)塊劃分成一個(gè)或幾個(gè)項(xiàng)37i(每一項(xiàng)包括單個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)撤銷證書標(biāo)識(shí)符),以及為每一項(xiàng)37i產(chǎn)生安全項(xiàng)集SESi。將每一安全項(xiàng)集SESi傳輸?shù)皆摰诙O(shè)備32并將其存儲(chǔ)在該第二存儲(chǔ)器34中。
從相關(guān)聯(lián)的項(xiàng)37i產(chǎn)生每一安全項(xiàng)集SESi。除了索引i之外,安全項(xiàng)集SESI還包括至少一個(gè)相關(guān)聯(lián)的項(xiàng)37i的撤銷證書標(biāo)識(shí)符SNi、為該項(xiàng)37i計(jì)算的完整性字段MACi以及CRL33的CRL標(biāo)識(shí)符NCRL。
將該CRL的CRL標(biāo)識(shí)符NCRL保持在第一設(shè)備31的第一存儲(chǔ)器36中。
該完整性字段優(yōu)選地是消息鑒別碼MACi。在該第一設(shè)備31,根據(jù)該相關(guān)聯(lián)的項(xiàng)37i的一個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)標(biāo)識(shí)符SNi以及根據(jù)在該第一設(shè)備31中所選擇的CRL密鑰KCRL計(jì)算該消息鑒別碼MACi。
該CRL密鑰KCRL可以附屬到所確定的CRL,并且因此當(dāng)在第一設(shè)備31接收到新的CRL時(shí)將其替換。可替換地,將該CRL密鑰KCRL附屬到該第一設(shè)備31并保持相同的值。
典型地,該第一設(shè)備31包括拾取裝置39,以隨機(jī)地拾取CRL密鑰KCRL。對(duì)中間數(shù)據(jù)應(yīng)用散列函數(shù)以計(jì)算該消息鑒別碼MACi。根據(jù)該相關(guān)聯(lián)的項(xiàng)37i的一個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)標(biāo)識(shí)符SNi以及根據(jù)CRL密鑰KCRL得到該中間數(shù)據(jù)。
例如,該中間數(shù)據(jù)以二進(jìn)制的形式存儲(chǔ),并包括對(duì)應(yīng)于該相關(guān)聯(lián)的項(xiàng)37i的一個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)標(biāo)識(shí)符SNi的標(biāo)識(shí)符比特,隨后是對(duì)應(yīng)于CRL密鑰KCRL的密鑰比特。所計(jì)算的消息鑒別碼MACi具有取決于該一個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)標(biāo)識(shí)符SNi以及該CRL密鑰KCRL的值。
可替換地,在應(yīng)用散列函數(shù)之前或之后使用CRL密鑰KCRL對(duì)該項(xiàng)的一個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)標(biāo)識(shí)符SNi進(jìn)行加密。
也可以通過對(duì)該項(xiàng)的一個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)標(biāo)識(shí)符SNi應(yīng)用保密函數(shù)來計(jì)算該完整性字段。該加密函數(shù)可以保持在該第一設(shè)備中。
更一般地,該完整性字段可以是能夠驗(yàn)證該項(xiàng)的一個(gè)撤銷證書標(biāo)識(shí)符或多個(gè)標(biāo)識(shí)符SNi的完整性的任何其它數(shù)據(jù)。
該消息鑒別碼MACi的計(jì)算也可以包括安全項(xiàng)集SESi的其它字段,例如表示在存儲(chǔ)于該第二設(shè)備32中的列表中的該安全項(xiàng)集SESi的順序的列表順序字段。該消息鑒別碼MACi因此能夠驗(yàn)證該安全項(xiàng)集SESi的完整性。
當(dāng)在該第一設(shè)備31和該第二設(shè)備32之間進(jìn)行傳輸時(shí),如果黑客成功地修改了撤銷證書序列號(hào)SNi,則該完整性字段MACi能夠檢查該修改。
該第一設(shè)備31通過包含在該CRL33內(nèi)的CRL簽字SCRL,也能夠檢查所接收的CRL33自身的完整性,該簽字SCRL通過發(fā)行該CRL的受托第三方產(chǎn)生。該第一設(shè)備31的加密裝置38能夠計(jì)算所接收到的CRL33的散列值。設(shè)計(jì)在產(chǎn)生該CRL簽字SCRL中所使用的散列函數(shù),使得可以逐塊地計(jì)算散列值。然后將驗(yàn)證函數(shù)應(yīng)用于所計(jì)算的該散列值、受托第三方的公用密鑰以及簽字SCRL,以評(píng)估該CRL33的完整性。
在根據(jù)現(xiàn)有技術(shù)的方法中需要為每一個(gè)所要檢查的新證書重復(fù)該CRL的完整性檢查,與其不同的是,本發(fā)明的方法只需要在初始步驟,當(dāng)下載了新CRL時(shí)執(zhí)行該檢查。
圖3A中所示的系統(tǒng)能夠從該第一設(shè)備31訪問該CRL的撤銷證書標(biāo)識(shí)符。當(dāng)需要評(píng)估證書時(shí),將該證書標(biāo)識(shí)符SN0傳輸?shù)皆摰诙O(shè)備32,如圖3B中所示。
證書標(biāo)識(shí)符SN0可以在所存儲(chǔ)的安全項(xiàng)集(SES1,...,SESi,...,SESp)的列表之中查找。該第二設(shè)備32根據(jù)該查找的結(jié)果將至少一個(gè)安全項(xiàng)集SESi0的至少一部分傳輸?shù)皆摰谝辉O(shè)備31。所傳輸?shù)牟糠种辽侔ㄔ摪踩?xiàng)集SESi0的撤銷證書標(biāo)識(shí)符SNi0以及完整性字段MACi0。
該第一設(shè)備31的驗(yàn)證裝置311能夠驗(yàn)證所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符SNi0的完整性。
接下來在該第一設(shè)備31的評(píng)估裝置310中至少使用所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符SNi0來評(píng)估該證書的有效性。該評(píng)估典型地包括將所傳輸?shù)某蜂N證書標(biāo)識(shí)符SNi0與所要檢查的證書的標(biāo)識(shí)符SN0進(jìn)行比較。
如果所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符SNi0與該證書標(biāo)識(shí)符SN0具有相同值,該證書被評(píng)估為無效。
如果所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符SNi0與該證書標(biāo)識(shí)符SN0具有不同值,該證書被評(píng)估為有效。
然而,該第一設(shè)備可以執(zhí)行附加測(cè)試來檢測(cè)黑客所進(jìn)行的攻擊。
該攻擊例如可以包括非法修改在該第二設(shè)備中所實(shí)施的算法。例如,黑客修改該主機(jī)設(shè)備,使得該主機(jī)設(shè)備總是輸出舊的撤銷證書標(biāo)識(shí)符以及相關(guān)聯(lián)的消息鑒別碼在這種情況下,該證書標(biāo)識(shí)符SN0與舊的撤銷證書標(biāo)識(shí)符相等的機(jī)會(huì)非常小。
在將證書標(biāo)識(shí)符傳輸?shù)皆撝鳈C(jī)設(shè)備期間,黑客也可以成功地修改所要檢查的撤銷證書的證書標(biāo)識(shí)符的值。該主機(jī)設(shè)備然后就不能找到該相關(guān)撤銷證書標(biāo)識(shí)符。
該第一設(shè)備因此典型地執(zhí)行附加測(cè)試,以檢測(cè)可能的攻擊,諸如修改主機(jī)設(shè)備所執(zhí)行的算法、或修改傳輸?shù)皆撝鳈C(jī)設(shè)備的證書標(biāo)識(shí)符的值。
例如,如果所傳輸?shù)某蜂N證書標(biāo)識(shí)符SNi0與該證書標(biāo)識(shí)符SN0之間的差值超出了預(yù)定的閾值,則該第一設(shè)備可以懷疑受到黑客攻擊。
該第一設(shè)備也可以存儲(chǔ)在檢查不同證書時(shí)從主機(jī)設(shè)備接收到的先前的撤銷證書標(biāo)識(shí)符如果所傳輸?shù)某蜂N證書標(biāo)識(shí)符SNi0與所存儲(chǔ)的先前的撤銷證書標(biāo)識(shí)符具有相同的值,則該證書可以被評(píng)估為無效。
在本說明書進(jìn)一步的段落中描述了一種優(yōu)選的方法,其能夠檢測(cè)可能出現(xiàn)的對(duì)主機(jī)設(shè)備執(zhí)行的算法所進(jìn)行的修改,或者對(duì)所傳輸?shù)淖C書標(biāo)識(shí)符進(jìn)行的修改。
該第一設(shè)備31優(yōu)選地為智能卡。所要檢查的該證書可以附屬到該智能卡上例如,在制造智能卡的時(shí)候?qū)⒃撟C書下載到該智能卡??商鎿Q地,可以有規(guī)律地替換該證書。
該CRL標(biāo)識(shí)符NCRL優(yōu)選地是該CRL的CRL序列號(hào)。
可替換地,該CRL標(biāo)識(shí)符NCRL是該CRL的發(fā)行日期。
優(yōu)選地,每一證書標(biāo)識(shí)符是撤銷證書的序列號(hào)或該序列號(hào)的一部分。
可替換地,該證書標(biāo)識(shí)符可以是證書本身。
該證書標(biāo)識(shí)符可以是能夠標(biāo)示該對(duì)應(yīng)證書的任何數(shù)據(jù)。
如圖3A和3B中所示,該拾取裝置39、加密裝置38、評(píng)估裝置310以及驗(yàn)證裝置311可以是該第一設(shè)備31的四個(gè)不同元件。然而,該拾取裝置、加密裝置、評(píng)估裝置以及驗(yàn)證裝置優(yōu)選地是單個(gè)處理單元,例如該智能卡的微處理器的一部分。
該拾取裝置39、加密裝置38、評(píng)估裝置310以及驗(yàn)證裝置311與該第一存儲(chǔ)器36、例如與智能卡存儲(chǔ)器通信。
本發(fā)明的第一優(yōu)選實(shí)施例圖4所述為在根據(jù)本發(fā)明第一優(yōu)選實(shí)施例的系統(tǒng)中,通過主機(jī)設(shè)備所執(zhí)行的范例算法。該第二設(shè)備是與第一設(shè)備,例如與智能卡通信的主機(jī)設(shè)備。
在初始步驟期間,該智能卡將安全項(xiàng)集(SES1,...,SESj,...,SESjMAX)的列表傳輸給該主機(jī)設(shè)備。每一安全項(xiàng)集包括單個(gè)撤銷證書序列號(hào)(SN1,...,SNj,...,SNjMAX)以及相關(guān)聯(lián)的消息鑒別碼。
每一安全項(xiàng)集(SES1,...,SESj,...,SESjMAX)進(jìn)一步包括列表順序字段。該列表順序字段包括關(guān)于該列表內(nèi)前一個(gè)安全項(xiàng)集的信息。該列表內(nèi)的第一個(gè)安全項(xiàng)集SES1包括包含預(yù)定值的列表順序字段。該智能卡存儲(chǔ)第一個(gè)安全項(xiàng)集SES1以及最后一個(gè)安全項(xiàng)集SESjMAX。該列表順序字段的內(nèi)容因此能夠在該列表內(nèi)將該列表的安全項(xiàng)集(SES1,...,SESj,...,SESjMAX)進(jìn)行排序。
可替換地,該列表順序字段包含關(guān)于該列表內(nèi)下一個(gè)安全項(xiàng)集的信息,具有填充了預(yù)定值的列表順序字段的最后一個(gè)安全項(xiàng)集SESjMAX。
可替換地,該列表順序字段包括對(duì)應(yīng)于該列表內(nèi)的安全項(xiàng)集的順序的索引。
更一般地,該列表順序字段具有能夠確定該列表內(nèi)的安全項(xiàng)集的順序的內(nèi)容。
該主機(jī)設(shè)備包括能夠存儲(chǔ)該列表的第二存儲(chǔ)器。在本發(fā)明的第一個(gè)優(yōu)選實(shí)施例中,該安全項(xiàng)集以關(guān)于撤銷證書序列號(hào)(SN1,...,SNj,...,SNjMAX)的升序存儲(chǔ)在該列表中。
當(dāng)證書需要被檢查時(shí),該智能卡將該證書的證書序列號(hào)SN0傳輸給主機(jī)設(shè)備。
該主機(jī)設(shè)備檢查該列表,以估計(jì)該列表是否包括所具有的值等于所傳輸?shù)淖C書序列號(hào)SN0的值的相關(guān)撤銷證書序列號(hào)。
首先,將所傳輸?shù)淖C書序列號(hào)SN0與該列表的第一個(gè)撤銷證書序列號(hào)SN1進(jìn)行比較(方框51)。
如果所傳輸?shù)淖C書序列號(hào)SN0小于該第一個(gè)撤銷證書序列號(hào)SN1,該主機(jī)設(shè)備將該第一安全項(xiàng)集SES1傳輸給該智能卡(方框52)。
如果所傳輸?shù)淖C書序列號(hào)SN0大于該第一個(gè)撤銷證書序列號(hào)SN1,進(jìn)行第二檢測(cè)將所傳輸?shù)淖C書序列號(hào)SN0與該列表的最后一個(gè)撤銷證書序列號(hào)SNjMAX進(jìn)行比較(方框53)。
如果所傳輸?shù)淖C書序列號(hào)SN0大于該最后一個(gè)撤銷證書序列號(hào)SNjMAX,該主機(jī)設(shè)備將該最后一個(gè)安全項(xiàng)集SESjMAX傳輸給該智能卡(方框54)。
如果所傳輸?shù)淖C書序列號(hào)SN0大于該第一個(gè)撤銷證書序列號(hào)SN1并小于該最后一個(gè)撤銷證書序列號(hào)SNjMAX,該主機(jī)設(shè)備將索引變量i復(fù)位(方框55)。該索引變量接下來開始遞增(方框56)。
進(jìn)一步檢查所傳輸?shù)淖C書序列號(hào)SN0是否等于對(duì)應(yīng)于當(dāng)前索引變量i的當(dāng)前撤銷證書序列號(hào)SNi(方框57)。
如果所傳輸?shù)淖C書序列號(hào)SN0等于當(dāng)前的撤銷證書序列號(hào)SNi,即該列表包括等于所傳輸?shù)脑撟C書序列號(hào)SN0的相關(guān)撤銷證書序列號(hào),該主機(jī)設(shè)備傳輸該相關(guān)安全項(xiàng)集SESi作為一個(gè)結(jié)果數(shù)據(jù)(方框58)。
否則,將當(dāng)前的撤銷證書序列號(hào)SNi與所傳輸?shù)脑撟C書序列號(hào)SN0進(jìn)行比較(方框59),如果SNi小于SN0,該索引變量i遞增(方框56)。
相反,如果SNi大于SN0,這就意味著SN0包括在SNi-1與SNi之間,該主機(jī)設(shè)備將對(duì)應(yīng)于分跨在所傳輸?shù)淖C書序列號(hào)SN0兩邊的兩個(gè)撤銷證書序列號(hào)的兩個(gè)安全項(xiàng)集SESi-1和SESi作為結(jié)果數(shù)據(jù)傳輸給該智能卡(方框510)。
圖4中所示的在該列表中查找所傳輸?shù)淖C書序列號(hào)SN0的算法只是范例??梢允褂酶鞣N算法實(shí)施該查找。
圖5所述為在根據(jù)本發(fā)明第一優(yōu)選實(shí)施例的系統(tǒng)中,通過智能卡所執(zhí)行的范例算法。
該智能卡與主機(jī)設(shè)備通信,其執(zhí)行證書序列號(hào)SN0的查找,并且傳輸結(jié)果數(shù)據(jù)RD,如圖4中所示。該智能卡接收結(jié)果數(shù)據(jù)RD(方框512),即存儲(chǔ)在該主機(jī)設(shè)備中的列表的一個(gè)或兩個(gè)安全項(xiàng)集。
該智能卡檢查該結(jié)果數(shù)據(jù)RD是否包括一個(gè)或兩個(gè)安全項(xiàng)集(方框513)。
如果接收單個(gè)安全項(xiàng)集SESi0作為結(jié)果數(shù)據(jù),那么認(rèn)為存儲(chǔ)在該主機(jī)設(shè)備中的列表包括等于該證書序列號(hào)SN0的相關(guān)撤銷證書序列號(hào)SNi0,或者認(rèn)為滿足“限制”條件之一(SESi0=SES1或者SESi0=SESjMAX)。然后在將該證書評(píng)估為無效(方框517)之前執(zhí)行多個(gè)檢查(方框514、515和516)。
第一個(gè)檢查包括驗(yàn)證包含在所接收的安全項(xiàng)集SESi0內(nèi)的所傳輸?shù)腃RL標(biāo)識(shí)符NCRL(i0)等于在初始步驟中存儲(chǔ)在該智能卡中的CRL標(biāo)識(shí)符NCRL。該第一個(gè)檢查能夠確保存儲(chǔ)在該主機(jī)設(shè)備中的該列表對(duì)應(yīng)于所確定的實(shí)際生效的該證書撤銷列表(CRL)。
第二個(gè)檢查(方框515)包括根據(jù)包含在所傳輸?shù)陌踩?xiàng)集SESi0中的消息鑒別碼MACi0以及根據(jù)存儲(chǔ)在智能卡中的CRL密鑰KCRL,驗(yàn)證所傳輸?shù)陌踩?xiàng)集SESi0的完整性。例如,該智能卡對(duì)從該相關(guān)撤銷證書序列號(hào)SNi0以及從存儲(chǔ)在該智能卡中的CRL密鑰KCRL得到的中間數(shù)據(jù)應(yīng)用散列函數(shù),從而獲得該相關(guān)撤銷證書序列號(hào)SNi0的驗(yàn)證碼。將該相關(guān)撤銷證書序列號(hào)SNi0的驗(yàn)證碼與包含在所傳輸?shù)陌踩?xiàng)集SESi0中的消息鑒別碼MACi0進(jìn)行比較如果不同,則認(rèn)為所傳輸?shù)陌踩?xiàng)集SESi0的內(nèi)容發(fā)生了變化。
第三個(gè)檢查包括驗(yàn)證該相關(guān)撤銷證書序列號(hào)SNi0實(shí)際等于證書序列號(hào)SN0(方框516)。
如果成功地執(zhí)行了這三個(gè)檢查(方框514、515和516),那么該證書被評(píng)估為無效(方框517)。
如果在第三個(gè)檢查中,發(fā)現(xiàn)SNi0不同于該證書序列號(hào)SN0,那么執(zhí)行第四個(gè)檢查,其包括驗(yàn)證SN0是否小于SNi0(方框524),僅當(dāng)SESi0=SES1時(shí)才出現(xiàn)這種情況。如果該第四個(gè)檢查成功,那么就認(rèn)為具有序列號(hào)SN0的該證書有效(方框522)。相反,執(zhí)行第五個(gè)檢查,以驗(yàn)證SN0是否大于SNi0(方框525),僅當(dāng)SESi0=SESjMAX時(shí)才出現(xiàn)這種情況。如果該第五個(gè)檢查成功,該證書就被評(píng)估為有效(方框522)。
否則,如果在方框514、515或525中所執(zhí)行的任何一個(gè)檢查為否,那么就認(rèn)為該主機(jī)響應(yīng)錯(cuò)誤(方框523)。在這種情況下,根據(jù)所選擇的實(shí)施方式,該證書可以被評(píng)估為無效或者重新啟動(dòng)全部過程該智能卡31再次將所要檢查的該證書的序列號(hào)SN0傳輸給該主機(jī)32,并等待另一個(gè)結(jié)果數(shù)據(jù)??梢灾貜?fù)從該主機(jī)對(duì)結(jié)果數(shù)據(jù)的請(qǐng)求,直至達(dá)到最大次數(shù)(例如兩次或三次)。
再次返回方框513,在對(duì)該結(jié)果數(shù)據(jù)的檢查之后,如果估計(jì)該結(jié)果數(shù)據(jù)包括一組兩個(gè)所傳輸?shù)陌踩?xiàng)集,則在能夠?qū)υ撟C書的有效性進(jìn)行任何評(píng)估(方框522)之前執(zhí)行多個(gè)檢查(方框518、519、520和521)。
將分別包含在第一個(gè)所接收到的安全項(xiàng)集SESj0以及在第二個(gè)所接收到的安全項(xiàng)集SESk0中的所傳輸?shù)腃RL標(biāo)識(shí)符NCRL(j0)和NCRL(k0)與存儲(chǔ)在該智能卡中的CRL標(biāo)識(shí)符NCRL進(jìn)行比較(方框518)。這種第六檢查(方框518)能夠確保存儲(chǔ)在該主機(jī)設(shè)備中的列表對(duì)應(yīng)于所確定的實(shí)際有效的證書撤銷列表(CRL)。如果任何一個(gè)所傳輸?shù)腃RL標(biāo)識(shí)符NCRL(j0)和NCRL(k0)不同于存儲(chǔ)在該智能卡中的CRL標(biāo)識(shí)符NCRL,就可以認(rèn)為該智能卡或者該主機(jī)設(shè)備已經(jīng)被欺詐性地替換了。接下來可以認(rèn)為該證書是無效的。
根據(jù)包含在該第一個(gè)所傳輸?shù)陌踩?xiàng)集SESj0中的消息鑒別碼MACj0和根據(jù)存儲(chǔ)在該智能卡中的CRL密鑰KCRL驗(yàn)證第一個(gè)所傳輸?shù)陌踩?xiàng)集SESj0的完整性(方框519)??梢酝ㄟ^散列函數(shù)執(zhí)行這種第七檢查如在第二檢查(方框515)中的那樣,例如可以將該散列函數(shù)應(yīng)用于從所傳輸?shù)牡谝怀蜂N證書序列號(hào)SNj0和從該CRL密鑰KCRL得到的中間數(shù)據(jù)。如果該第七檢查(方框519)導(dǎo)致認(rèn)為第一個(gè)所傳輸?shù)陌踩?xiàng)集SESj0的內(nèi)容發(fā)生了改變,可以將該證書評(píng)估為無效。
類似地,根據(jù)包含在該第二個(gè)所傳輸?shù)陌踩?xiàng)集SESk0中的消息鑒別碼MACk0和根據(jù)存儲(chǔ)在該智能卡中的CRL密鑰KCRL驗(yàn)證第二個(gè)所傳輸?shù)陌踩?xiàng)集SESk0的完整性(方框519)。
接下來的檢查是該第一個(gè)所傳輸?shù)陌踩?xiàng)集SESj0和該第二個(gè)所傳輸?shù)陌踩?xiàng)集SESk0在存儲(chǔ)于該第二設(shè)備中的列表內(nèi)實(shí)際上是連續(xù)的(方框520)。典型地通過使用所傳輸?shù)陌踩?xiàng)集SESj0和SESk0的列表順序字段來執(zhí)行這種第八檢查(方框520)。
如在第一優(yōu)選實(shí)施例中所述,如果該列表的給定安全項(xiàng)集的每一列表順序字段包括關(guān)于前一安全項(xiàng)集的信息,則該第八檢查可以包括驗(yàn)證包含在該第二個(gè)安全項(xiàng)集SESk0的列表順序字段內(nèi)的信息實(shí)際上對(duì)應(yīng)于該第一個(gè)安全項(xiàng)集SESj0。
可替換地,該列表的給定安全項(xiàng)集的每一列表順序字段包括給定安全項(xiàng)集的索引在這種情況下,該檢查可以簡(jiǎn)單地包括驗(yàn)證與該第一個(gè)安全項(xiàng)集SESj0以及該第二個(gè)安全項(xiàng)集SESk0相關(guān)聯(lián)的索引實(shí)際上是連續(xù)的。
最后,該智能卡檢查該第一個(gè)安全項(xiàng)集SESj0和該第二個(gè)安全項(xiàng)集SESk0分別位于緊接在存儲(chǔ)于該主機(jī)設(shè)備的列表內(nèi)的相關(guān)安全項(xiàng)集之前和之后(方框521)。
在本發(fā)明的第一優(yōu)選實(shí)施例中,其中該列表的安全項(xiàng)集以關(guān)于該撤銷證書序列號(hào)(SN1,...,SNj,...,SNjMAX)的升序排列,該第九檢查(方框521)包括驗(yàn)證該證書序列號(hào)SN0具有介于分別包含在該第一個(gè)安全項(xiàng)集SESj0和該第二個(gè)安全項(xiàng)集SESk0中的第一個(gè)撤銷證書序列號(hào)SNj0的值與第二個(gè)撤銷證書序列號(hào)SNk0的值之間的值。
該第六檢查(方框518)、第七檢查(方框519)、第八檢查(方框520)和第九檢查(方框521)能夠提供更加完善安全的系統(tǒng)。實(shí)際上,該主機(jī)設(shè)備典型地是無保護(hù)的設(shè)備黑客不僅可以改變?cè)谠撝悄芸ㄅc該主機(jī)設(shè)備之間傳輸?shù)臄?shù)據(jù),而且可以訪問該主機(jī)設(shè)備的處理裝置以及修改所實(shí)施的算法。
例如,使用現(xiàn)有技術(shù)的第二種方法,黑客可以修改該處理裝置,使得傳輸?shù)皆撝悄芸ǖ牟紶栕兞靠偸蔷哂邢嗤闹?,即所要檢查的任何證書都被評(píng)估為有效的。
使用根據(jù)本發(fā)明的系統(tǒng),黑客可以修改所實(shí)施的算法,使得對(duì)于所傳輸?shù)淖C書標(biāo)識(shí)符SN0的任何值,總是向該智能卡傳輸相同配合的撤銷證書標(biāo)識(shí)符和相關(guān)聯(lián)的消息鑒別碼。典型地,該配合包括舊的撤銷證書標(biāo)識(shí)符,從而確保任何相對(duì)新的證書被評(píng)估為有效。然而,根據(jù)本發(fā)明第一實(shí)優(yōu)選施例的該方法能夠檢測(cè)主機(jī)設(shè)備的這種算法的故障具體而言,第九檢查(方框521)可以實(shí)現(xiàn)使得撤銷證書標(biāo)識(shí)符的該配合實(shí)際上并不分跨在該列表內(nèi)的所傳輸?shù)臉?biāo)識(shí)符的兩邊。接著,就可以將該證書標(biāo)識(shí)符評(píng)估為無效。也可以阻止或禁止該智能卡與該主機(jī)設(shè)備通信。
如果該第六檢查(方框518)、第七檢查(方框519)、第八檢查(方框520)和第九檢查(方框521)成功地執(zhí)行,該證書就被評(píng)估為有效(方框522)。
否則,如果在方框518、519、520或521中所執(zhí)行的任何一個(gè)檢查為否,那么就認(rèn)為該主機(jī)響應(yīng)錯(cuò)誤(方框523),這就意味著或者該證書被評(píng)估為無效,或者再次啟動(dòng)該處理,如前所述。
圖5所示只是在該智能卡中實(shí)施的范例算法??梢园凑詹煌捻樞驁?zhí)行檢查(方框514、515、516、518、519、520和521)。例如,可以在檢查該結(jié)果數(shù)據(jù)是否包括一個(gè)或兩個(gè)安全數(shù)據(jù)項(xiàng)集之前,檢查所傳輸?shù)腃RL標(biāo)識(shí)符和所傳輸?shù)陌踩?xiàng)集的完整性該智能卡檢查一個(gè)所傳輸?shù)腃RL標(biāo)識(shí)符和單個(gè)所傳輸?shù)陌踩?xiàng)集的完整性,該結(jié)果數(shù)據(jù)是否包括一個(gè)或兩個(gè)安全項(xiàng)集。
本發(fā)明的第二優(yōu)選實(shí)施例圖6所示的范例為根據(jù)本發(fā)明第二優(yōu)選實(shí)施例的系統(tǒng)。該系統(tǒng)包括第一設(shè)備,例如具有存儲(chǔ)器66的智能卡61,以及與該第一設(shè)備61通信的第二設(shè)備,例如具有存儲(chǔ)器64和處理裝置65的主機(jī)設(shè)備62。首先在該智能卡61中處理通過附圖標(biāo)記67表示的證書撤銷列表(CRL),以產(chǎn)生安全項(xiàng)集SESi,然后將其存儲(chǔ)在該主機(jī)存儲(chǔ)器64中。
在本發(fā)明的第二優(yōu)選實(shí)施例中,從該CRL的多個(gè)所撤銷的證書序列號(hào)(SN1,...SNjMAX)中產(chǎn)生每一安全項(xiàng)集SESi。每一安全項(xiàng)集SESi可以包括預(yù)定數(shù)目的撤銷證書序列號(hào)(例如四個(gè)),或者每一安全項(xiàng)集的撤銷證書序列號(hào)的數(shù)目是可變的。
每一安全項(xiàng)集SESi包括CRL標(biāo)識(shí)符NCRL,其是該CRL67的特征,可以從其產(chǎn)生該安全項(xiàng)集。
該安全項(xiàng)集也包括定義該安全項(xiàng)集(SES1,...,SESi,...,SESiMAX)之間的順序的列表順序字段(631,...,63i,...,63iMAX),例如索引,如圖6中所示。
每一單個(gè)安全項(xiàng)集SESi的撤銷證書序列號(hào)(SNfi,...SN1i)也在該安全項(xiàng)集內(nèi)排序,例如從第一個(gè)撤銷證書序列號(hào)SNfi至最后一個(gè)撤銷證書序列號(hào)SN1i按照升序排列,如圖6中所示。
根據(jù)安全項(xiàng)集SESi的多個(gè)撤銷證書序列號(hào)(SNfi,...SN1i)以及根據(jù)該CRL密鑰KCRL進(jìn)一步計(jì)算每一安全項(xiàng)集SESi的消息鑒別碼(MAC1,...,MACi,...,MACiMAX)??商鎿Q地,也可以使用安全項(xiàng)集SESi的其它字段來計(jì)算該MACi值。
該安全項(xiàng)集進(jìn)一步可以包括附加字段,例如具有該智能卡的智能卡標(biāo)識(shí)符的字段,假設(shè)該主機(jī)設(shè)備能夠支持其工作。
該智能卡存儲(chǔ)能夠進(jìn)一步檢查從該主機(jī)設(shè)備接收到的結(jié)果數(shù)據(jù)的多個(gè)參數(shù)。典型地,該智能卡存儲(chǔ)CRL標(biāo)識(shí)符NCRL,其是所確定的當(dāng)前有效的CRL的特征,在計(jì)算消息鑒別碼(MAC1,...,MAC16)中所使用的CRL密鑰KCRL。根據(jù)所選擇的實(shí)施方式,也可以在該智能卡中存儲(chǔ)對(duì)應(yīng)于該列表的最后一個(gè)安全項(xiàng)集SESiMAX的最大索引iMAX和/或每個(gè)安全項(xiàng)集的預(yù)定數(shù)目的撤銷證書序列號(hào)。
當(dāng)該智能卡61需要檢查具有證書序列號(hào)SN0的證書的有效性,該智能卡將證書序列號(hào)SN0傳輸給該主機(jī)設(shè)備62,并且該主機(jī)設(shè)備在安全項(xiàng)集(SES1,...,SESi,...,SESiMAX)的列表中查找該證書序列號(hào)SN0。
如果該主機(jī)設(shè)備的處理裝置65發(fā)現(xiàn)該列表包括了相關(guān)安全項(xiàng)集SESi0,其所包含的相關(guān)撤銷序列號(hào)SNi0等于該證書序列號(hào)SN0,則將該相關(guān)安全項(xiàng)集傳輸給該智能卡作為結(jié)果數(shù)據(jù)。
相反,如果該主機(jī)設(shè)備的處理裝置65沒有找到所包含的相關(guān)撤銷序列號(hào)SNi0等于該證書序列號(hào)SN0的任何相關(guān)安全項(xiàng)集,則該主機(jī)設(shè)備按照如下所述返回結(jié)果數(shù)據(jù)。
在第一替換形式中,我們假設(shè)該CRL67的撤銷證書序列號(hào)(SN1,...SNiMAX)沒有任何冗余地存儲(chǔ)在該安全項(xiàng)集(SES1,...,SESi,...,SESiMAX)中。在這種替換形式中或者該主機(jī)的處理裝置65可以找到相關(guān)的安全項(xiàng)集SESi0,其包含兩個(gè)撤銷證書序列號(hào)SNj和SNj+1,使得SNj<SN0<SNj+1,在這種情況下,該主機(jī)62將該相關(guān)的安全項(xiàng)集SESi0作為結(jié)果數(shù)據(jù)發(fā)送給該智能卡61;或者該主機(jī)的處理裝置65發(fā)現(xiàn)相關(guān)證書序列號(hào)SN0包括在安全項(xiàng)集SESi0的最后一個(gè)撤銷證書序列號(hào)SN1i0與下一個(gè)安全項(xiàng)集SESi0+1的第一個(gè)撤銷證書序列號(hào)SNfi0+1之間,在這種情況下,該主機(jī)62將該連續(xù)的安全項(xiàng)集SESi0和SESi0+1作為結(jié)果數(shù)據(jù)發(fā)送給該智能卡61。
在第二替換形式中,我們假設(shè)該CRL67的撤銷證書序列號(hào)(SN1,...SNiMAX)存儲(chǔ)在該安全項(xiàng)集(SES1,...,SESi,...,SESiMAX)中,使得給定安全項(xiàng)集SESi的每一最后一個(gè)撤銷證書序列號(hào)SN1i(除了最后一個(gè)安全項(xiàng)集SESiMAX)也被存儲(chǔ)作為接續(xù)的安全項(xiàng)集SESi+1的第一個(gè)撤銷證書序列號(hào)SNfi+1,即SN1i=SNfi+1。在該第二替換形式中,該主機(jī)的處理裝置65應(yīng)該總是能夠找到包含兩個(gè)撤銷證書序列號(hào)SNj和SNj+1的相關(guān)安全項(xiàng)集SESi0,使得SNj<SN0<SNj+1,在這種情況下,該主機(jī)62將該相關(guān)的安全項(xiàng)集SESi0作為結(jié)果數(shù)據(jù)發(fā)送給該智能卡61。
然而在上述兩個(gè)替換形式中,我們可以具有的“限制”條件是該證書序列號(hào)SN0小于該列表的第一個(gè)安全項(xiàng)集SES1的第一個(gè)撤銷證書序列號(hào)SNf1=SN1,在這種情況下,該主機(jī)62向該智能卡61傳輸?shù)谝粋€(gè)安全項(xiàng)集SES1。
類似地,如果該證書序列號(hào)SN0大于該列表的最后一個(gè)安全項(xiàng)集SESiMAX的最后一個(gè)撤銷證書序列號(hào)SN1iMAX=SNjMAX,在上述兩種替換形式中可以滿足另一“限制”條件,在這種情況下,該主機(jī)設(shè)備62向該智能卡61傳輸最后一個(gè)安全項(xiàng)集SESiMAX。
如在本發(fā)明的第一優(yōu)選實(shí)施例中所述,該智能卡61根據(jù)所接收到的結(jié)果數(shù)據(jù)執(zhí)行多個(gè)檢查。
在第二優(yōu)選實(shí)施例中,該結(jié)果數(shù)據(jù)包括該列表的至少一個(gè)安全項(xiàng)集SESi0。該智能卡61檢查包含在所傳輸?shù)陌踩?xiàng)集中的所傳輸?shù)腃RL標(biāo)識(shí)符NCRL實(shí)際上等于存儲(chǔ)在該智能卡61中的CRL標(biāo)識(shí)符,于是能夠確保存儲(chǔ)在該主機(jī)設(shè)備中的列表對(duì)應(yīng)于有效的CRL。
也可以根據(jù)相關(guān)聯(lián)的消息鑒別碼MACi0和根據(jù)存儲(chǔ)在該智能卡61中的CRL密鑰KCRL驗(yàn)證至少一個(gè)所傳輸?shù)陌踩?xiàng)集SESi0的完整性。
如果該結(jié)果數(shù)據(jù)包括單個(gè)安全項(xiàng)集,所傳輸?shù)脑摪踩?xiàng)集可以包含等于該證書序列號(hào)SN0的相關(guān)撤銷證書序列號(hào),其可以包含使得SNj<SN0<SNj+1的兩個(gè)撤銷證書序列號(hào)SNj和SNj+1,或者如果滿足上述“限制”條件的其中一個(gè),則所傳輸?shù)脑摪踩?xiàng)集可以等于SES1或SESiMAX。該智能卡因此確定該單個(gè)安全項(xiàng)集SESi0是否包括該相關(guān)的證書序列號(hào)SN0。
在前一種情況下,估計(jì)該證書序列號(hào)SN0包含在當(dāng)前證書撤銷列表中,并且對(duì)應(yīng)的證書是無效的。
在后一種情況下,該智能卡檢查所接收的SESi0的單個(gè)安全項(xiàng)集實(shí)際上包括使得SNj<SN0<SNj+1的兩個(gè)撤銷證書序列號(hào)SNj和SNj+1,或者該證書序列號(hào)SN0小于該安全項(xiàng)集SESi0的第一個(gè)撤銷證書序列號(hào)SNfi0(如果SESi0=SES1),或者SN0大于該安全項(xiàng)集SESi0的最后一個(gè)撤銷證書序列號(hào)SN1i0(如果SESi0=SESiMAX)。
如果該智能卡所接收到的結(jié)果數(shù)據(jù)包括兩個(gè)安全項(xiàng)集SESi0和SESi0+1,則該智能卡61在兩個(gè)安全項(xiàng)集的撤銷證書序列號(hào)中查找使得SNj<SN0<SNj+1的兩個(gè)撤銷證書序列號(hào)SNj和SNj+1。
當(dāng)已經(jīng)在該結(jié)果數(shù)據(jù)中識(shí)別兩個(gè)撤銷證書序列號(hào)SNj和SNj+1時(shí),不管該結(jié)果數(shù)據(jù)是否包括一個(gè)或兩個(gè)安全項(xiàng)集,該智能卡檢查這兩個(gè)撤銷證書序列號(hào)SNj和SNj+1實(shí)際上在該列表中是連續(xù)的。接下來將該證書評(píng)估為有效。
當(dāng)滿足“限制”條件之一時(shí),即當(dāng)該證書序列號(hào)SN0小于所接收到的安全項(xiàng)集SESi0的第一個(gè)撤銷證書序列號(hào)SNfi0(如果SESi0=SES1),或者當(dāng)SN0大于該安全項(xiàng)集SESi0的最后一個(gè)撤銷證書序列號(hào)SN1i0(如果SESi0=SESiMAX)時(shí),具有序列號(hào)SN0的證書也可以估計(jì)為有效。
雖然已經(jīng)描述了本發(fā)明有限數(shù)目的實(shí)施例,但是本領(lǐng)域的技術(shù)人員在本說明書的基礎(chǔ)上可以理解的是,不脫離此處所描述的本發(fā)明的范圍可以得到其它的實(shí)施例。相應(yīng)地,應(yīng)該只通過所附的權(quán)利要求書來限制本發(fā)明的范圍。
權(quán)利要求
1.一種用于管理證書撤銷列表(CRL)的方法,該方法包括在第一設(shè)備(31,61)接收該CRL(33,67),該CRL包括至少一個(gè)所撤銷的證書標(biāo)識(shí)符(SNi);在第一設(shè)備(31,61)使用保密數(shù)據(jù)(KCRL)計(jì)算與該CRL的項(xiàng)(371,...,37p)相關(guān)聯(lián)的完整性字段(MACi),其中項(xiàng)包括該CRL的至少一個(gè)撤銷證書標(biāo)識(shí)符;將該項(xiàng)以及所計(jì)算的其相關(guān)聯(lián)的完整性字段傳輸?shù)讲煌谠摰谝辉O(shè)備的第二設(shè)備(32,62);和將所傳輸?shù)脑擁?xiàng)與該相關(guān)的完整性字段存儲(chǔ)到該第二設(shè)備中。
2.根據(jù)權(quán)利要求1的方法,其中在該第一設(shè)備(31,61)中執(zhí)行將該證書撤銷列表(CRL)劃分到各項(xiàng)中。
3.根據(jù)權(quán)利要求1的方法,其中該完整性字段是消息鑒別碼(MACi);該方法進(jìn)一步包括將與所接收到的CRL(33,67)相關(guān)聯(lián)的證書撤銷列表(CRL)密鑰(KCRL)選擇作為該保密數(shù)據(jù)將所選擇的CRL密鑰(KCRL)存儲(chǔ)在該第一設(shè)備(31,36)中。
4.根據(jù)權(quán)利要求3的方法,進(jìn)一步包括對(duì)中間數(shù)據(jù)應(yīng)用散列函數(shù),以計(jì)算該消息鑒別碼(MACi);從包含至少一個(gè)撤銷證書標(biāo)識(shí)符(SNi)的項(xiàng)以及從該CRL密鑰(KCRL)得到該中間數(shù)據(jù)。
5.根據(jù)權(quán)利要求1至4的任一權(quán)利要求的方法,進(jìn)一步包括在該第二設(shè)備(32,62)中存儲(chǔ)多個(gè)撤銷證書標(biāo)識(shí)符(SNi),將所存儲(chǔ)的撤銷證書標(biāo)識(shí)符組織成為至少一個(gè)安全項(xiàng)集(SESi)的列表;每一安全項(xiàng)集包括至少一個(gè)撤銷證書標(biāo)識(shí)符、至少一個(gè)相關(guān)聯(lián)的完整性字段(MACi)以及該CRL(33)的CRL標(biāo)識(shí)符(NCRL);產(chǎn)生每一安全項(xiàng)集的列表順序字段(63i),該列表順序字段具有能夠在存儲(chǔ)于該第二設(shè)備中的該安全項(xiàng)集的列表內(nèi)確定安全項(xiàng)集的順序的內(nèi)容(i)。
6.根據(jù)權(quán)利要求5的方法,進(jìn)一步包括將該CRL(33)的CRL標(biāo)識(shí)符(NCRL)存儲(chǔ)到該第一設(shè)備(31)中。
7.根據(jù)權(quán)利要求1或6的方法,進(jìn)一步包括在該第一設(shè)備(31),使用包含在該CRL內(nèi)并通過發(fā)行該CRL的受托第三方所產(chǎn)生的證書撤銷列表(CRL)簽字(SCRL)檢查所接收到的CRL(33,67)的完整性。
8.根據(jù)權(quán)利要求7的方法,其中所接收到的CRL的完整性檢查包括計(jì)算所接收到的CRL(33,67)的散列值;對(duì)所計(jì)算的散列值、受托第三方的公用密鑰和該簽字(SCRL)應(yīng)用驗(yàn)證函數(shù),以評(píng)估該CRL(33,67)的完整性。
9.根據(jù)權(quán)利要求1至8的任一權(quán)利要求的方法,進(jìn)一步包括在該第一設(shè)備(31,61)接收CRL(33,67)的小數(shù)據(jù)塊,該CRL的小數(shù)據(jù)塊包括至少一個(gè)撤銷證書標(biāo)識(shí)符(SNi);和將包含至少一個(gè)撤銷證書標(biāo)識(shí)符以及相關(guān)聯(lián)的完整性字段的至少一個(gè)項(xiàng)傳輸給該第二設(shè)備(32,62);在任何接收CRL的其它小數(shù)據(jù)塊之前刪除所接收到的該CRL的小數(shù)據(jù)塊。
10.根據(jù)權(quán)利要求5至9的任一權(quán)利要求的方法,其中該第一設(shè)備(31,61)是智能卡;該CRL標(biāo)識(shí)符(NCRL)是CRL(33,37)的CRL序列號(hào);該至少一個(gè)撤銷證書標(biāo)識(shí)符(SNi)是撤銷證書的序列號(hào)。
11.根據(jù)權(quán)利要求1至10的任一權(quán)利要求的方法,進(jìn)一步包括檢查證書的有效性,其中檢查該證書的有效性包括將該證書的證書標(biāo)識(shí)符(SN0)從該第一設(shè)備(31,61)傳輸?shù)降诙O(shè)備(32,62);在該第二設(shè)備,檢查存儲(chǔ)在該第二設(shè)備中的項(xiàng)的列表,從而估計(jì)該列表是否包括所具有的值對(duì)應(yīng)于所傳輸?shù)淖C書標(biāo)識(shí)符(SN0)的值的相關(guān)撤銷證書標(biāo)識(shí)符;根據(jù)所檢查的結(jié)果將至少一個(gè)撤銷證書標(biāo)識(shí)符以及相關(guān)聯(lián)的完整性字段傳輸?shù)皆摰谝辉O(shè)備;在該第一設(shè)備,通過使用所傳輸?shù)脑撓嚓P(guān)聯(lián)的完整性字段來驗(yàn)證至少一個(gè)所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符的完整性;以及在該第一設(shè)備,通過使用至少一個(gè)所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符來評(píng)估該證書的有效性。
12.根據(jù)權(quán)利要求11的方法,根據(jù)權(quán)利要求3,其中該方法進(jìn)一步包括使用該CRL密鑰來驗(yàn)證所傳輸?shù)脑摮蜂N證書標(biāo)識(shí)符的完整性(方框515至519)。
13.根據(jù)權(quán)利要求11的方法,根據(jù)權(quán)利要求5,其中存儲(chǔ)在第二設(shè)備中的列表的每一安全項(xiàng)集包括單個(gè)撤銷證書標(biāo)識(shí)符;該方法進(jìn)一步包括將相關(guān)的安全項(xiàng)集(SESi)的至少一部分傳輸?shù)皆摰谝辉O(shè)備,該相關(guān)的安全項(xiàng)集包含該相關(guān)的撤銷證書標(biāo)識(shí)符(方框58)。
14.根據(jù)權(quán)利要求13的方法,該方法還包括在該第一設(shè)備將包含在所傳輸?shù)陌踩?xiàng)集(SESi0)中的所傳輸?shù)淖C書撤銷列表(CRL)標(biāo)識(shí)符(NCRL(i0))與所確定的CRL的標(biāo)識(shí)符(NCRL)進(jìn)行比較,所傳輸?shù)脑揅RL標(biāo)識(shí)符能夠確保存儲(chǔ)在第二設(shè)備中的列表對(duì)應(yīng)于所確定的該CRL(方框514);在該第一設(shè)備檢查相關(guān)的該撤銷證書標(biāo)識(shí)符實(shí)際上等于該證書標(biāo)識(shí)符(方框516)。
15.根據(jù)權(quán)利要求11的方法,根據(jù)權(quán)利要求5,其中存儲(chǔ)在第二設(shè)備中的列表的每一安全項(xiàng)集包括單個(gè)撤銷證書標(biāo)識(shí)符;該方法進(jìn)一步包括將第一安全項(xiàng)集(SESi-1)的至少一部分以及第二安全項(xiàng)集(SESi)的至少一部分傳輸給該第一設(shè)備(方框510),該第一安全項(xiàng)集和該第二安全項(xiàng)集分別包含具有在所傳輸?shù)淖C書標(biāo)識(shí)符(SN0)的期望順序之前和之后緊接的順序的撤銷證書標(biāo)識(shí)符。
16.根據(jù)權(quán)利要求15的方法,該方法進(jìn)一步包括在該第一設(shè)備執(zhí)行下列步驟將包含在所傳輸?shù)陌踩?xiàng)集(SESj0,SESk0)中的所傳輸?shù)淖C書撤銷列表(CRL)標(biāo)識(shí)符(NCRL(k0),NCRL(j0))與所確定的CRL的標(biāo)識(shí)符(NCRL)進(jìn)行比較(方框518),所傳輸?shù)脑揅RL標(biāo)識(shí)符能夠確保存儲(chǔ)在該第二設(shè)備中的列表對(duì)應(yīng)于所確定的該CRL;檢查該第一安全項(xiàng)集(SESk0)和該第二安全項(xiàng)集(SESj0)在存儲(chǔ)于該第二設(shè)備中的列表內(nèi)是連續(xù)的(方框520);以及檢查該第一安全項(xiàng)集(SESk0)和該第二安全項(xiàng)集(SESj0)分別包含具有在所傳輸?shù)淖C書標(biāo)識(shí)符(SN0)的期望順序之前和之后緊接的順序的撤銷證書標(biāo)識(shí)符(SNj0;SNk0)(方框521)。
17.根據(jù)權(quán)利要求11的方法,根據(jù)權(quán)利要求5,其中該列表的每一安全項(xiàng)集(SESi)包括多個(gè)撤銷證書標(biāo)識(shí)符(SNfi,...,SNli),該多個(gè)撤銷的證書標(biāo)識(shí)符在該安全項(xiàng)集內(nèi)排序。
18.根據(jù)權(quán)利要求17的方法,進(jìn)一步包括將相關(guān)的安全項(xiàng)集的至少一部分傳輸?shù)皆摰谝辉O(shè)備(61),該相關(guān)的安全項(xiàng)集包含該相關(guān)的撤銷證書標(biāo)識(shí)符(SN0)。
19.根據(jù)權(quán)利要求17的方法,進(jìn)一步包括在該第二設(shè)備(62)中查找包括第一撤銷證書標(biāo)識(shí)符(SNj)和第二撤銷證書標(biāo)識(shí)符(SNj+1)的替換安全項(xiàng)集(SESi0),該第一撤銷證書標(biāo)識(shí)符和該第二撤銷證書標(biāo)識(shí)符分別具有在該相關(guān)的證書標(biāo)識(shí)符(SN0)的期望順序之前和之后緊接的順序;以及將該替換安全項(xiàng)集(SESi0)傳輸?shù)皆摰谝辉O(shè)備(61)。
20.根據(jù)權(quán)利要求19的方法,進(jìn)一步包括將第一替換安全項(xiàng)集(SESi0)和第二替換安全項(xiàng)集(SESi0+1)傳輸?shù)皆摰谝辉O(shè)備(61),該第一替換安全項(xiàng)集和該第二替換安全項(xiàng)集分別包含該第一撤銷證書標(biāo)識(shí)符和該第二撤銷證書標(biāo)識(shí)符。
21.根據(jù)權(quán)利要求18、19或20的方法,進(jìn)一步包括在該第一設(shè)備(61)將包含在所傳輸?shù)陌踩?xiàng)集(SESi0;SESi0+1)中的所傳輸?shù)淖C書撤銷列表(CRL)標(biāo)識(shí)符與所確定的CRL的標(biāo)識(shí)符(NCRL)進(jìn)行比較,所傳輸?shù)脑揅RL標(biāo)識(shí)符能夠確保存儲(chǔ)在該第二設(shè)備(62)中的列表對(duì)應(yīng)于所確定的該CRL。
22.根據(jù)權(quán)利要求5或13至21的任一權(quán)利要求的方法,其中該列表順序字段(63i)的內(nèi)容是索引,該索引對(duì)應(yīng)于該列表內(nèi)的安全項(xiàng)集(SESi)的順序;該第一設(shè)備存儲(chǔ)最大索引(iMAX),該最大索引對(duì)應(yīng)于該列表的最后一個(gè)安全項(xiàng)集的索引。
23.根據(jù)權(quán)利要求5或13至21的任一權(quán)利要求的方法,其中該列表順序字段的內(nèi)容是關(guān)于該列表內(nèi)的前一安全項(xiàng)集的信息;該第一設(shè)備存儲(chǔ)該列表的第一個(gè)安全項(xiàng)集和最后一個(gè)安全項(xiàng)集。
24.一種用于管理證書撤銷列表(CRL)的設(shè)備,所述設(shè)備(31,61)包括用于接收CRL(33,67)的裝置,該CRL包括至少一個(gè)撤銷證書標(biāo)識(shí)符(SNi);用于使用保密數(shù)據(jù)(KCRL)計(jì)算與該CRL的項(xiàng)(371,...,37p)相關(guān)聯(lián)的完整性字段(MACi)的裝置(36,38,39),其中項(xiàng)包括該CRL的至少一個(gè)撤銷證書標(biāo)識(shí)符;和用于將該項(xiàng)以及所計(jì)算的其相關(guān)的完整性字段傳輸?shù)讲煌谒鲈O(shè)備的第二設(shè)備(32,62)的裝置。
25.根據(jù)權(quán)利要求24的設(shè)備,進(jìn)一步包括用于將所要檢查的證書的證書標(biāo)識(shí)符(SN0)傳輸?shù)剿龅诙O(shè)備(32,62)的裝置;用于從所述第二設(shè)備接收包含至少一個(gè)撤銷證書標(biāo)識(shí)符和至少一個(gè)相關(guān)聯(lián)的完整性字段的至少一個(gè)項(xiàng)的裝置;用于通過使用所傳輸?shù)脑撓嚓P(guān)聯(lián)的完整性字段來驗(yàn)證該至少一個(gè)所傳輸?shù)某蜂N證書標(biāo)識(shí)符的完整性的裝置(311);和用于使用至少一個(gè)所傳輸?shù)某蜂N證書標(biāo)識(shí)符評(píng)估該證書的有效性的裝置(310)。
26.一種用于存儲(chǔ)證書撤銷列表(CRL)的設(shè)備,所述設(shè)備(32,62)包括用于從第一設(shè)備(31,61)接收包含該CRL的至少一個(gè)撤銷證書標(biāo)識(shí)符(SNi)的至少一個(gè)項(xiàng)以及與該項(xiàng)相關(guān)聯(lián)的完整性字段(MACi)的裝置;存儲(chǔ)器(34,64),用于存儲(chǔ)多個(gè)撤銷證書標(biāo)識(shí)符(SNi),所存儲(chǔ)的撤銷證書標(biāo)識(shí)符被組織成為至少一個(gè)安全項(xiàng)集(SESi)的列表,每一安全項(xiàng)集包括至少一個(gè)撤銷證書標(biāo)識(shí)符、至少一個(gè)相關(guān)聯(lián)的完整性字段(MACi)以及該CRL(33)的CRL標(biāo)識(shí)符(NCRL);其中每一安全項(xiàng)集(SESi)包括列表順序字段(63i),該列表順序字段具有能夠在存儲(chǔ)于所述設(shè)備中的該安全項(xiàng)集的列表內(nèi)確定安全項(xiàng)集的順序的內(nèi)容(i)。
27.根據(jù)權(quán)利要求26的設(shè)備,進(jìn)一步包括用于從第一設(shè)備(31,61)接收證書標(biāo)識(shí)符(SN0)的裝置;處理裝置(35,65),用于檢查存儲(chǔ)在該存儲(chǔ)器(34,64)中的項(xiàng)的列表,從而估計(jì)該列表是否包括所具有的值對(duì)應(yīng)于所傳輸?shù)淖C書標(biāo)識(shí)符(SN0)的值的相關(guān)撤銷證書標(biāo)識(shí)符;和用于根據(jù)所檢查的結(jié)果將至少一個(gè)撤銷證書標(biāo)識(shí)符以及該相關(guān)聯(lián)的完整性字段傳輸?shù)皆摰谝辉O(shè)備的裝置。
全文摘要
在用于管理證書撤銷列表(CRL)的方法中,第一設(shè)備(31,61)接收包括至少一個(gè)撤銷證書標(biāo)識(shí)符(SN
文檔編號(hào)G06K17/00GK1707999SQ20051006677
公開日2005年12月14日 申請(qǐng)日期2005年4月30日 優(yōu)先權(quán)日2004年5月3日
發(fā)明者A·杜蘭德 申請(qǐng)人:湯姆森許可公司