亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

檢查數(shù)字簽名的方法和系統(tǒng)及帶有使用該方法的微電路的卡的制作方法

文檔序號(hào):7861817閱讀:317來源:國(guó)知局
專利名稱:檢查數(shù)字簽名的方法和系統(tǒng)及帶有使用該方法的微電路的卡的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于檢查數(shù)字簽名的方法和系統(tǒng),以及一種使用所述方法的智能卡。
更為特別地是,本發(fā)明適用于那些為了許可特定處理而實(shí)施的信息鑒別和數(shù)字簽名驗(yàn)證。特別地,這種處理包括在諸如電子車票、電子錢包或簡(jiǎn)化憑證分發(fā)應(yīng)用之類的帶有微電路的卡中記錄權(quán)利。
背景技術(shù)
帶有電子微電路的卡也稱為智能卡,它們通常用作支持多種應(yīng)用的移動(dòng)計(jì)算機(jī),這其中的大多數(shù)應(yīng)用都是需要很高安全級(jí)別的,而銀行交易、安全支付、建筑物或保密區(qū)域入口以及遠(yuǎn)程通信則更是如此。
舉個(gè)例子,在需要對(duì)智能卡中的敏感數(shù)據(jù)進(jìn)行更新的時(shí)候,例如在為電子錢包應(yīng)用重新充入金額的時(shí)候,所述卡必須能對(duì)接收到的更新命令的來源進(jìn)行檢查。這個(gè)處理是通過將更新命令與數(shù)字簽名相關(guān)聯(lián)來實(shí)現(xiàn)的,其中簽名方的身份是由一個(gè)同樣與更新命令相關(guān)聯(lián)的證書來保證的。
一般來說,添加到消息中的數(shù)字簽名是如下獲取的通過將散列函數(shù)應(yīng)用于消息來獲取一個(gè)摘要,然后使用一個(gè)只有簽名方知道的私鑰來加密這個(gè)摘要。因此,要想對(duì)簽名進(jìn)行檢查,則只需要具有一個(gè)與所用私鑰相對(duì)應(yīng)的公鑰以及所述散列函數(shù),以便將這個(gè)散列函數(shù)應(yīng)用于消息,此外還使用公鑰來對(duì)簽名進(jìn)行解密,并且對(duì)使用散列函數(shù)獲取的結(jié)果以及通過解密所得到的結(jié)果進(jìn)行比較。如果這兩個(gè)結(jié)果相同,則簽名是正確的。
舉例來說,符合X509或PKCS#6標(biāo)準(zhǔn)的公共密鑰證書是由個(gè)人所用公鑰、這個(gè)人的標(biāo)識(shí)信息以及有效周期定義組合而成的,這種信息組合不能由認(rèn)證機(jī)構(gòu)添加的數(shù)字簽名偽造,其中所述簽名使用的是認(rèn)證機(jī)構(gòu)的私鑰。要想對(duì)這個(gè)證書進(jìn)行檢查,有必要具有與所用私鑰相對(duì)應(yīng)的認(rèn)證機(jī)構(gòu)公鑰,并且通過使用這個(gè)公鑰來檢查認(rèn)證機(jī)構(gòu)實(shí)際發(fā)布的數(shù)字簽名。由此可以確定,公鑰與所確定人員的身份是對(duì)應(yīng)的。然而,這個(gè)準(zhǔn)則并不保證這個(gè)使用了與公鑰相對(duì)應(yīng)的私鑰的人員即為證書中標(biāo)識(shí)的個(gè)人。并且認(rèn)證機(jī)構(gòu)通常并沒有保證這種一致性。
為了保證這種一致性,目前提出的是建立一個(gè)基于“證書鏈”概念的鏈形或金字塔形的體系結(jié)構(gòu),在這個(gè)“證書鏈”中,每個(gè)人的數(shù)字簽名是由另一個(gè)實(shí)體先前證實(shí)的實(shí)體簽名確認(rèn)的,依此類推,直到延伸至金字塔頂端的基準(zhǔn)機(jī)構(gòu)。在這個(gè)體系結(jié)構(gòu)中,簽名以全部公鑰的全部證書為基礎(chǔ),由此可以沿著認(rèn)證鏈上至基準(zhǔn)機(jī)構(gòu)以及使用所述機(jī)構(gòu)。這樣一來,要對(duì)某個(gè)簽名進(jìn)行檢查,則必須對(duì)全部證書都進(jìn)行檢查,直至到達(dá)一個(gè)由認(rèn)證鏈中的已知實(shí)體發(fā)布的證書。此外還需要對(duì)這個(gè)已知實(shí)體的公鑰進(jìn)行妥善的存儲(chǔ),使之不被偽造。
在PC類型的個(gè)人計(jì)算機(jī)上是很容易安裝用以管理這種組織結(jié)構(gòu)的技術(shù)的,尤其是在那些使用了將這其中的所有或一些功能與SSL(安全套接字層)以及HTTPS(整合SSL的超文本傳送協(xié)議)相結(jié)合的因特網(wǎng)瀏覽軟件的個(gè)人計(jì)算機(jī)上。然而,在計(jì)算能力和存儲(chǔ)容量明顯有限的智能卡中,要想使用這些技術(shù),那將是非常困難的。與智能卡的常規(guī)特性相比,所處理的證書鏈顯得過長(zhǎng)。因此,符合X509標(biāo)準(zhǔn)的證書有可能會(huì)長(zhǎng)達(dá)好幾千比特,如果證書鏈很長(zhǎng),那么所述卡必須能夠處理和存儲(chǔ)更多信息,這些信息要多于所述卡基于其能力所能處理和存儲(chǔ)的信息。
在這方面,應(yīng)該著重強(qiáng)調(diào)的是,在不影響安全性的情況下,與卡相連的終端不能執(zhí)行這種處理,終端存儲(chǔ)器也不能用于這種處理,這是因?yàn)樗隹ê苋菀资艿狡垓_,尤其可以通過用一個(gè)公鑰替換另一個(gè)公鑰來欺騙所述卡。
目前提議的是將認(rèn)證鏈中的所有認(rèn)證機(jī)構(gòu)公鑰全都導(dǎo)入智能卡存儲(chǔ)器中。然而這種解決方案需要很大的存儲(chǔ)容量,因?yàn)楣€往往會(huì)占用一千比特以上的存儲(chǔ)空間。此外還需要將這些公鑰存入一個(gè)安全的存儲(chǔ)區(qū)域,以免出現(xiàn)欺詐風(fēng)險(xiǎn),這其中包括將未經(jīng)許可的密鑰引入這個(gè)公鑰列表。此時(shí),安裝在智能卡上的微電路并不具有足夠的安全存儲(chǔ)容量。

發(fā)明內(nèi)容
本發(fā)明的目的是通過提出一種介于智能卡與終端之間的數(shù)據(jù)和處理結(jié)構(gòu)而將應(yīng)用于卡的必要存儲(chǔ)和處理量方面的限制減至最小,但卻不對(duì)使用它們的系統(tǒng)的安全性產(chǎn)生影響,由此消除上述缺陷。這個(gè)目標(biāo)是通過提供一種用于驗(yàn)證數(shù)字簽名的處理實(shí)現(xiàn)的,其中包括一個(gè)能與數(shù)據(jù)處理系統(tǒng)相連的微電路,這個(gè)微電路被設(shè)計(jì)成從數(shù)據(jù)處理系統(tǒng)接收那些要求檢查數(shù)字簽名的請(qǐng)求,以及對(duì)這些請(qǐng)求進(jìn)行處理,其中數(shù)字簽名是用只為簽名實(shí)體所知的私鑰生成的,并且與一個(gè)公鑰相關(guān)聯(lián)。
依照本發(fā)明,這個(gè)處理包含了在微電路存儲(chǔ)器中存儲(chǔ)一個(gè)證書表的步驟,其中所述證書表包含了至少一個(gè)公鑰的一種摘要形式,此外所述處理還包括一個(gè)檢查數(shù)字簽名的階段,其中包括以下步驟-微電路接收所要檢查的數(shù)字簽名以及一個(gè)處于密鑰對(duì)中的公鑰,其中所述密鑰對(duì)包含一個(gè)用于產(chǎn)生所要檢查的數(shù)字簽名的私鑰,-對(duì)接收到的公鑰的摘要形式進(jìn)行計(jì)算,并且在證書表中搜索計(jì)算得到的公鑰摘要形式,以及-如果計(jì)算得到的公鑰摘要形式位于證書表中,則使用接收到的公鑰來解密數(shù)字簽名。
依照本發(fā)明的一個(gè)特有特征,該處理還包括一個(gè)在證書表中插入公鑰的階段,包括以下步驟-微電路接收一個(gè)將要插入證書表的公鑰證書以及一個(gè)來自生成證書的認(rèn)證實(shí)體的公鑰,所述證書包含了將要添加到證書表中的公鑰以及認(rèn)證實(shí)體的數(shù)字簽名,并且所述簽名是使用一個(gè)屬于一個(gè)包含認(rèn)證實(shí)體公鑰的密鑰對(duì)的私鑰產(chǎn)生的,-微電路對(duì)從認(rèn)證實(shí)體接收的公鑰的摘要形式進(jìn)行計(jì)算,并且在證書表中搜索計(jì)算得到的公鑰摘要形式,-如果計(jì)算得到的公鑰摘要形式位于證書表中,則使用從認(rèn)證實(shí)體接收的公鑰來解密數(shù)字簽名,-如果經(jīng)過解密的數(shù)字簽名是正確的,則從證書中提取將被插入的公鑰,-對(duì)從證書中提取的公鑰摘要進(jìn)行計(jì)算,并且將計(jì)算得到的摘要插入證書表中。
非常有利地是,這個(gè)在證書表中插入公鑰的階段包括插入一個(gè)指針,其中所述指針指示的是發(fā)布要插入的公鑰證書的認(rèn)證實(shí)體的公鑰摘要,由此定義了一個(gè)與所插入的公鑰摘要相結(jié)合的認(rèn)證樹。
依照本發(fā)明的另一個(gè)特征,該處理還包括一個(gè)從證書表中刪除公鑰摘要的階段,包括從證書表中刪除所要清除的公鑰的摘要,以及從證書表中刪除所有那些與指示所清除的公鑰的指針相關(guān)聯(lián)的公鑰摘要。
優(yōu)選地,輸入到證書表中的每一個(gè)公鑰摘要都與一個(gè)最后有效日期相關(guān)聯(lián),并且這個(gè)將公鑰插入到證書表中的階段還包括以下步驟對(duì)將要插入所接收的證書的公鑰的最后有效日期進(jìn)行讀取,如果所插入公鑰的最后有效日期早于在證書表中讀取的認(rèn)證實(shí)體公鑰的最后有效日期,則將該日期連同所要插入的公鑰摘要一起輸入到證書表中。
此外,非常優(yōu)選的是,對(duì)輸入到證書表中的公鑰而言,它的各個(gè)摘要都與一個(gè)使用率計(jì)數(shù)器相關(guān)聯(lián),在每次使用公鑰來對(duì)數(shù)字簽名進(jìn)行檢查的時(shí)候,這個(gè)計(jì)數(shù)器都會(huì)遞增,并且所述處理包括當(dāng)使用率計(jì)數(shù)器為零并且證書表中的空位置數(shù)目小于某個(gè)預(yù)定閾值的時(shí)候,從證書表中刪除公鑰摘要。
此外,非常優(yōu)選的是,輸入到證書表中的各個(gè)公鑰摘要都與一個(gè)使用率計(jì)數(shù)器相關(guān)聯(lián),在每次使用公鑰來對(duì)數(shù)字簽名進(jìn)行檢查的時(shí)候,這個(gè)計(jì)數(shù)器都會(huì)遞增,其中該檢查是在一個(gè)最后使用日期進(jìn)行的,該日期會(huì)在每次遞增相關(guān)聯(lián)的使用率計(jì)數(shù)器的時(shí)候更新,以及當(dāng)證書表中的空位置數(shù)目小于一個(gè)預(yù)定閾值時(shí),該方法還包括根據(jù)使用率計(jì)數(shù)器的相應(yīng)關(guān)聯(lián)值以及最后使用日期的函數(shù)來選擇一個(gè)將要?jiǎng)h除的公鑰的步驟。
非常有利的是,微電路是使用一個(gè)預(yù)定散列函數(shù)來計(jì)算公鑰的摘要形式的。
依照本發(fā)明的另一個(gè)特有特征,該處理還包括一個(gè)在證書表中插入根公鑰的階段,這個(gè)插入階段是由一個(gè)受控于MAC的寫處理執(zhí)行的,其中所述MAC是在微電路中使用專用密鑰計(jì)算得到的,并且這個(gè)MAC僅為微電路中的傳送實(shí)體所知。
非常有利的是,保存在證書表中的公鑰摘要是通過計(jì)算關(guān)聯(lián)于其他信息的公鑰摘要而被獲取的,舉例來說,這些信息可以是公鑰的最后有效日期、身份信息以及序列號(hào),并且這些信息是在每次使用公鑰檢查簽名的時(shí)候傳送到微電路的。
非常有利的是,保存在證書表中的公鑰摘要是在將公鑰插入證書表的時(shí)候,通過對(duì)微電路接收的證書摘要進(jìn)行計(jì)算而被獲取的,并且這個(gè)證書是在每次使用公鑰檢查簽名的時(shí)候傳送給微電路的。
優(yōu)選地,證書表保存在微電路的一個(gè)安全存儲(chǔ)區(qū)域中。
本發(fā)明還涉及一種使用了上述處理的微電路卡。
本發(fā)明還涉及一種用于檢查數(shù)字簽名的系統(tǒng),其中包括一個(gè)能與數(shù)據(jù)處理系統(tǒng)相連的微電路,用于實(shí)施如上定義的處理。


在下文中將參考附圖來對(duì)作為非限制性實(shí)例的本發(fā)明的優(yōu)選實(shí)施例進(jìn)行描述,其中圖1用圖解方式顯示了一個(gè)可以使用依照本發(fā)明的方法的系統(tǒng);圖2顯示的是一個(gè)證書樹;圖3顯示的是在智能卡中保存的依照本發(fā)明的證書樹;圖4~6以流程圖的形式顯示了依照本發(fā)明的智能卡所執(zhí)行的不同處理;圖7顯示的是依照本發(fā)明的圖3所示的證書表的一個(gè)變體。
具體實(shí)施例方式
圖1顯示的系統(tǒng)包括多個(gè)與數(shù)字?jǐn)?shù)據(jù)傳輸網(wǎng)絡(luò)50相連的終端51。這些終端被用于提供那些必須防范欺詐行為的不同服務(wù),例如電子錢包再充值、權(quán)利分派(例如車票)或安全數(shù)據(jù)交換。
系統(tǒng)用戶同樣擁有一個(gè)帶有微處理器53的身份卡,其中更多的是將其稱為智能卡,每個(gè)終端51都具有智能卡讀取器之類的通信裝置52,以便與卡53的微處理器進(jìn)行通信。
在用戶可以使用上述服務(wù)之前,該用戶首先必須擁有一個(gè)智能卡53,在卡的存儲(chǔ)器中具有指定給服務(wù)的公鑰。這個(gè)公鑰允許用戶使用一個(gè)認(rèn)證系統(tǒng)而對(duì)不同終端的簽名進(jìn)行檢查和驗(yàn)證。
圖2顯示的是包含了若干認(rèn)證系統(tǒng)的公鑰證書樹。在這個(gè)樹中顯示,實(shí)體A1和A2的相應(yīng)公鑰是由實(shí)體A認(rèn)證的,實(shí)體A和實(shí)體B的公鑰是由一個(gè)實(shí)體R認(rèn)證的,由于處于樹的根部并由兩個(gè)密鑰的鏈路相連,因此在這里將所述實(shí)體R稱為“根”。
舉個(gè)例子,如果需要由一個(gè)只知道認(rèn)證機(jī)構(gòu)R的個(gè)人來檢查實(shí)體A2發(fā)布并與個(gè)人X的公鑰相關(guān)聯(lián)的證書,則必須將包含認(rèn)證機(jī)構(gòu)R所發(fā)布的證書在內(nèi)的整個(gè)證書鏈傳送給這個(gè)人。如果我們把處理實(shí)體A1公鑰的實(shí)體A所發(fā)布的證書表示為<A,A1>,那么這個(gè)認(rèn)證鏈?zhǔn)怯上铝凶C書構(gòu)成的<A2,X><A,A2><R,A>
每一個(gè)證書都包含了依附在所認(rèn)證的公鑰上的認(rèn)證機(jī)構(gòu)簽名,并且與所認(rèn)證公鑰的持有者以及認(rèn)證機(jī)構(gòu)的標(biāo)識(shí)信息相關(guān)聯(lián),此外還可以帶有生效開始日期和有效截止日期。由此我們可以得到<R,A>=(SigR(Ap,A的身份,有效性開始和截止日期),R的身份),其中Ap表示實(shí)體A的公鑰。
在先前實(shí)例中,如果需要由一個(gè)知道認(rèn)證機(jī)構(gòu)R的人來檢查由個(gè)人X發(fā)布并涉及消息M的簽名SigX(M),那么上述證書必須與以下簽名相關(guān)聯(lián)SigX(M)<A,2,X><A,A2><R,A>
這樣一來,如果公鑰Rp是已知的,那么證書<R,A>提供實(shí)體A的公鑰Ap。證書<A,A2>則提供實(shí)體A2的公鑰A2p,并且證書<A2,X>提供的是用于檢查簽名SigX(M)的公鑰Xp。
在需要檢查簽名并由此確保公鑰有效的時(shí)候,該處理將會(huì)涉及到大量信息的傳送以及大量的處理,這些約束與智能卡的存儲(chǔ)和處理能力是不相宜的。
為了解決這個(gè)問題,本發(fā)明建議將經(jīng)過驗(yàn)證的認(rèn)證機(jī)構(gòu)的公鑰摘要存入智能卡存儲(chǔ)器,而不是存儲(chǔ)公鑰本身,其中舉例來說,這個(gè)公鑰摘要可以是一個(gè)使用所謂的散列函數(shù)得到的摘要,例如MD4或5(消息摘要)、SHA(安全散列算法)或HMAC(散列消息認(rèn)證碼)。
這些摘要密鑰是以與圖3所示的證書表5相類似的形式保存的。在該圖顯示的證書表中,公鑰的每一個(gè)Hash(Xp)摘要6都與相應(yīng)證書的有效截止日期7相關(guān)聯(lián),其中舉例來說,這個(gè)有效截止日期可以用<月份>/<兩位數(shù)字記年>的形式定義,此外所述摘要還與一個(gè)指針8相關(guān)聯(lián),這個(gè)指針指示的是表中與認(rèn)證鏈上游的公鑰相對(duì)應(yīng)的行。
因此,舉例來說,以摘要形式保存在表中第四行的密鑰A2p與一個(gè)有效截止日期2002年12月相關(guān)聯(lián),它依附于表中的第2行,也就是涉及公鑰Ap的信息所在的位置。因此,通常可以使用出現(xiàn)在表5中的指針列8的指針來重組圖2所示的認(rèn)證樹。
由于認(rèn)證樹的根密鑰Rp不依附于任何其他密鑰,因此它與證書表中的一個(gè)空指針相關(guān)聯(lián)。
很明顯,依照本發(fā)明的認(rèn)證表可以包含幾個(gè)獨(dú)立的證書樹,由此可以包含若干個(gè)根密鑰。
除了減少必要存儲(chǔ)資源之外,本發(fā)明還簡(jiǎn)化了存儲(chǔ)器的管理,其中該存儲(chǔ)器知道密鑰大小可變(根密鑰的密鑰大小通常大于其他密鑰的密鑰大小),并且還知道長(zhǎng)度恒定的二進(jìn)制序列是在沒有考慮施加于一個(gè)散列函數(shù)輸入端的二進(jìn)制序列的情況下由所述散列函數(shù)提供的。
依照本發(fā)明,這個(gè)證書表5與一個(gè)插入新密鑰的過程相關(guān)聯(lián),其中這個(gè)新密鑰是由表中出現(xiàn)的密鑰認(rèn)證的,此外證書表5還與一個(gè)從表中刪除密鑰的過程相關(guān)聯(lián),并且與一個(gè)對(duì)使用了表中密鑰的簽名進(jìn)行檢查的過程相關(guān)聯(lián),這些過程全都保存在智能卡53的程序存儲(chǔ)器中,并且可以在與卡相連的終端51的控制下由卡的處理單元來執(zhí)行。
新密鑰是使用圖4中圖示的過程1而被插入證書表5的。
在步驟10,該程序接收將要插入到表5中的公鑰證書,其中在所示實(shí)例中,這個(gè)公鑰證書是<R,B>,它與發(fā)布證書的認(rèn)證機(jī)構(gòu)的公鑰Rp相關(guān)聯(lián)。在接下來的步驟11,該過程使用先前定義的散列函數(shù)來計(jì)算接收到的公鑰Rp的摘要Hash(Rp),然后在證書表中搜索這個(gè)密鑰摘要(步驟12)。如果證書表5中沒有這個(gè)密鑰摘要Hash(Rp),那么作為響應(yīng),該過程返回一個(gè)出錯(cuò)消息(步驟13)。然而,如果存在密鑰摘要,則嘗試使用公鑰Rp來對(duì)其進(jìn)行解密,進(jìn)而對(duì)證書進(jìn)行檢查(步驟14)。如果證書無效,換言之,如果不能使用公鑰Rp對(duì)其解密(步驟15),那么作為響應(yīng),該過程返回一個(gè)出錯(cuò)消息(步驟16)。如果證書有效,則從證書<R,B>中提取將要插入證書表的公鑰Bp(步驟17),然后使用同一個(gè)散列函數(shù)來計(jì)算這個(gè)公鑰的摘要Hash(Bp)(步驟18),并且將所獲取的公鑰摘要插入證書表(步驟19)。在步驟19,該過程還將證書<R,B>提供的有效截止日期插入到表5中,并且在證書表<R,B>的指針列8中插入與作為過程輸入并由證書<R,B>提供的公鑰Rp相對(duì)應(yīng)的地址或行號(hào),其中舉例來說,這個(gè)地址或行號(hào)可以是在步驟12中存儲(chǔ)的行號(hào)或地址。
在向表中插入新密鑰Bp的步驟中,可以預(yù)先檢查新密鑰的有效截止日期是否早于其通過證書而依附的密鑰Rp的有效截止日期。這個(gè)測(cè)定旨在滿足這樣一個(gè)原則,即一個(gè)機(jī)構(gòu)不能分配比它所處理的權(quán)利還要大的權(quán)利。如果這個(gè)日期晚于其依附的密鑰的有效截止日期,則可以將這兩個(gè)日期中最早的一個(gè)日期輸入到表中。作為一種變體,出于安全考慮,也可以判定不在表中輸入新的密鑰并向終端發(fā)布一個(gè)出錯(cuò)消息。
由此,上述過程1可被用于將一個(gè)密鑰插入到一個(gè)表中,這個(gè)密鑰是通過一個(gè)證書依附于另一個(gè)密鑰的,而所述另一個(gè)密鑰的摘要?jiǎng)t已經(jīng)處于證書表5中。因此,對(duì)證書表使用的認(rèn)證系統(tǒng)和用于在表中插入新密鑰的過程而言,其整體安全性是以一個(gè)用于在表中插入根密鑰的過程為基礎(chǔ)的。這就是為什么必須使用一個(gè)提供了充分保護(hù)的過程來插入根密鑰的原因。因此,舉例來說,該過程可以包括一個(gè)受控于MAC(消息認(rèn)證碼)的常規(guī)寫處理,其中MAC是用一個(gè)特定于所述卡的密鑰計(jì)算的,并且只為所述卡的發(fā)行方所知。
圖5則圖示了一個(gè)檢查簽名的過程2,其中簽名是用Sig(Ap,M)表示的,由此表明它依附于消息M并且是用一個(gè)與公鑰Ap相對(duì)應(yīng)的私鑰生成的。
在步驟21,該過程接收將要檢查的簽名并以此作為輸入,其中舉例來說,所述輸入可以是Sig(A1p,M)以及與用于產(chǎn)生簽名的私鑰相對(duì)應(yīng)的公鑰A1p。
在步驟22,該過程對(duì)接收到的密鑰A1p的Hash(A1p)摘要進(jìn)行計(jì)算,在步驟23,該過程將會(huì)執(zhí)行搜索,以便了解這個(gè)密鑰摘要是否處于證書表5中。如果不是的話,則所述卡無法驗(yàn)證簽名并且返回一個(gè)出錯(cuò)消息。如果是的話,則嘗試使用公鑰A1p來解密消息M的摘要,以便對(duì)簽名進(jìn)行驗(yàn)證(步驟25)。在接下來的步驟26、27、28中,該過程將會(huì)返回一個(gè)給出了驗(yàn)證結(jié)果的消息。
圖6以圖解方式顯示了用于從證書表5中撤銷密鑰的過程3。在步驟31,該過程接收將要?jiǎng)h除的密鑰Bp并以此作為輸入。在步驟32和33,該過程計(jì)算密鑰Bp的Hash(Bp)摘要,并且在表5中搜索這個(gè)密鑰的摘要。如果在表中沒有發(fā)現(xiàn)所要?jiǎng)h除的密鑰,則過程返回一個(gè)出錯(cuò)消息(步驟34)。如果發(fā)現(xiàn)密鑰,則刪除處于表5的被發(fā)現(xiàn)的行中的所有信息。在接下來的步驟36,該過程還進(jìn)行搜索,以便了解是否需要因?yàn)槠渌荑€依附于所刪除密鑰而從表5中刪除這些密鑰,也就是了解表中是否包含了指示所刪除的行的指針。如果需要從表中刪除其他密鑰(步驟37),則過程轉(zhuǎn)到步驟38,從而為所發(fā)現(xiàn)的每一個(gè)密鑰執(zhí)行從步驟35開始的過程3。這樣一來,如果從表中刪除A,則會(huì)自動(dòng)去除所有那些依附于A的密鑰,也就是刪除圖2中的密鑰A1和A2以及所有那些依附于A1和A2的密鑰。
應(yīng)該指出的是,卡的處理單元可以有規(guī)則地調(diào)用過程3,例如在接收到當(dāng)前日期的時(shí)候調(diào)用過程3,以便從表5中刪除所有過期密鑰,也就是所有那些有效截止日期早于當(dāng)前日期的密鑰。
此外,在刪除處理末端,可以通過將表5中所有非空行朝著表的開端偏移而對(duì)該表進(jìn)行重組,從而消除兩個(gè)非空行之間的所有空行。
應(yīng)該指出的是,上述過程1、2和3可以用一種非連接模式執(zhí)行,也就是說,如果終端具有這些過程所需要的證書、簽名和公鑰,則所述過程不需要由智能卡53及其連接的終端51之外的其他實(shí)體來實(shí)施操作。
此外,證書表5′還可以包括一個(gè)用于接收與表中各個(gè)密鑰相關(guān)聯(lián)的使用率計(jì)數(shù)器的附加列41(圖7)。
在每次執(zhí)行過程2而對(duì)使用了表中密鑰的簽名進(jìn)行檢查的時(shí)候,初始化為零的相應(yīng)計(jì)數(shù)器會(huì)在將密鑰插入表中的時(shí)候加1,此外,對(duì)所有那些與上游密鑰相關(guān)聯(lián)的計(jì)數(shù)器,也就是那些處在對(duì)應(yīng)于被檢查簽名的密鑰以及證書鏈中的根密鑰之間的屬于同一認(rèn)證鏈的計(jì)數(shù)器而言,它們同樣也會(huì)加1。舉例來說,如果調(diào)用程序2來檢查一個(gè)使用了密鑰A1p的簽名,那么與A1p、Ap以及Rp這些密鑰相關(guān)聯(lián)的計(jì)數(shù)器將會(huì)遞增。
這個(gè)測(cè)定意味著,通過提供關(guān)于證書表中各個(gè)密鑰的使用情況的信息,可以對(duì)智能卡53的有限存儲(chǔ)器進(jìn)行更有效的管理,由此可以從證書表中清除那些從未使用的密鑰。這種清除操作可以由終端51觸發(fā)。在這種情況下,過程1包含了一個(gè)當(dāng)表5中的空行數(shù)目小于預(yù)定數(shù)目的時(shí)候?qū)⒁粋€(gè)“內(nèi)存不足”的消息發(fā)送到終端的步驟。程序1還可以通過在步驟19中調(diào)用過程3來觸發(fā)這個(gè)刪除操作。
此外,如果表5′中的所有計(jì)數(shù)器均不為零并且如果表是滿的,則可以刪除與最小計(jì)數(shù)器值相關(guān)聯(lián)的密鑰。如果在表5′中有幾個(gè)密鑰都滿足這個(gè)判據(jù),則可以選擇刪除其中一個(gè)離根密鑰最遠(yuǎn)的密鑰。
此外,所述表還可以包括一個(gè)附加列42,其中包含了各個(gè)計(jì)數(shù)器的更新日期或密鑰的最后使用日期。這樣一來,可以將關(guān)于使用次數(shù)的判據(jù)與最后使用日期的判據(jù)相結(jié)合,也可以應(yīng)用這兩個(gè)判據(jù)中的任何一個(gè)判據(jù),以便選擇將要從證書表5′中刪除的密鑰。依照應(yīng)用,也可以從表中刪除與最早的最后使用日期相關(guān)聯(lián)的密鑰。
依照本發(fā)明的證書表還可以存儲(chǔ)其他那些采用了摘要形式的信息,例如身份、序列號(hào)、有效截止日期信息等等。在這種情況下,這些信息必須在調(diào)用過程1、2、3的時(shí)候傳送到所述卡。
依照本發(fā)明的一個(gè)變體,所述表保存的是由認(rèn)證機(jī)構(gòu)發(fā)布并構(gòu)成了證書樹的證書摘要,而不是認(rèn)證機(jī)構(gòu)的公鑰摘要。然后,這些證書必須在調(diào)用過程1、2、3的時(shí)候傳送到所述卡。
權(quán)利要求
1.一種用于檢查數(shù)字簽名的方法,包括一個(gè)能與數(shù)據(jù)處理系統(tǒng)(51)相連的微電路(53),所述微電路被設(shè)計(jì)成從數(shù)據(jù)處理系統(tǒng)接收要求檢查數(shù)字簽名的請(qǐng)求并且對(duì)這些請(qǐng)求進(jìn)行處理,其中數(shù)字簽名是用只為簽名實(shí)體所知的私鑰生成的,并且與一個(gè)公鑰相關(guān)聯(lián),其特征在于,所述方法包括在微電路(53)的存儲(chǔ)器中保存一個(gè)證書表(5,5′)的步驟,其中所述證書表包含至少一個(gè)公鑰的摘要形式,此外所述方法還包括一個(gè)檢查數(shù)字簽名的階段(2),其中包括以下步驟-微電路接收(21)所要檢查的數(shù)字簽名(Sig(Aip,M))以及一個(gè)處于密鑰對(duì)中的公鑰(A1p),其中所述密鑰對(duì)包含一個(gè)用于產(chǎn)生所要檢查的數(shù)字簽名的私鑰,-對(duì)接收到的公鑰的摘要形式(Hash(A1p))進(jìn)行計(jì)算(22),并且在證書表(5,5′)中搜索(23)計(jì)算得到的公鑰摘要形式,以及-如果計(jì)算得到的公鑰摘要形式位于證書表中,則使用接收到的公鑰來解密(25)數(shù)字簽名。
2.根據(jù)權(quán)利要求1的方法,其特征在于,所述方法還包括一個(gè)在證書表(5,5′)中插入公鑰(Bp)的階段(1),其中包括以下步驟-微電路(53)接收(10)將要插入證書表的公鑰(Bp)的證書(<R,B>)以及一個(gè)來自生成該證書的認(rèn)證實(shí)體的公鑰(Rp),其中所述證書包含將要添加到證書表中的公鑰以及認(rèn)證實(shí)體的數(shù)字簽名,并且所述簽名是使用一個(gè)屬于包含認(rèn)證實(shí)體公鑰的密鑰對(duì)的私鑰產(chǎn)生的,-微電路對(duì)從認(rèn)證實(shí)體接收的公鑰(Rp)的摘要形式(Hash(Rp))進(jìn)行計(jì)算(11),并且在證書表中搜索(12)計(jì)算得到的公鑰摘要形式,-如果計(jì)算得到的公鑰摘要形式位于表中,則使用從認(rèn)證實(shí)體接收的公鑰來解密(14)數(shù)字簽名,-如果經(jīng)過解密的數(shù)字簽名是正確的,則從證書中提取(17)將要插入的公鑰(Bp),對(duì)從證書中提取的公鑰(Bp)的摘要(Hash(Bp))進(jìn)行計(jì)算(18),并且將計(jì)算得到的摘要插入(19)證書表中。
3.根據(jù)權(quán)利要求2的方法,其特征在于所述在證書表(5,5′)中插入公鑰(Bp)的階段(1)包括在證書表中插入一個(gè)指針(8),其中所述指針指示的是發(fā)布所插入的公鑰的證書(<R,B>)的認(rèn)證實(shí)體的公鑰(Rp)摘要,由此定義了一個(gè)與所插入的公鑰摘要相結(jié)合的認(rèn)證樹。
4.根據(jù)權(quán)利要求3的方法,其特征在于還包括一個(gè)從證書表(5,5′)中刪除公鑰(Bp)的摘要(Hash(Bp))的階段(3),其中包括從證書表中刪除所要清除的公鑰的摘要,以及從證書表中刪除所有那些與指示要清除的公鑰(Bp)的指針(8)相關(guān)聯(lián)的公鑰摘要。
5.根據(jù)權(quán)利要求2~4中一個(gè)權(quán)利要求的方法,其特征在于輸入到證書表(5,5′)中的每一個(gè)公鑰摘要都與一個(gè)有效截止日期(7)相關(guān)聯(lián),并且所述將公鑰(Bp)插入到證書表中的階段(1)還包括以下步驟對(duì)將要插入所接收的證書(<R,B>)的公鑰的有效截止日期進(jìn)行讀取,如果插入公鑰(Bp)的有效截止日期早于在證書表中讀取的認(rèn)證實(shí)體的公鑰(Rp)的有效截止日期,則將該日期連同要插入的公鑰的摘要一起輸入到證書表中。
6.根據(jù)權(quán)利要求2~5中一個(gè)權(quán)利要求的方法,其特征在于輸入到證書表(5,5′)中的公鑰的各個(gè)摘要都與一個(gè)使用率計(jì)數(shù)器(41)相關(guān)聯(lián),在每次使用公鑰來對(duì)數(shù)字簽名進(jìn)行檢查的時(shí)候,所述計(jì)數(shù)器都會(huì)遞增,此外其特征還在于所述方法包括當(dāng)使用率計(jì)數(shù)器為零并且證書表中的空位置數(shù)目小于一個(gè)預(yù)定閾值時(shí),從證書表中刪除公鑰摘要。
7.根據(jù)權(quán)利要求2~6中一個(gè)權(quán)利要求的方法,其特征在于輸入到證書表(5,5′)中的各個(gè)公鑰摘要都與一個(gè)使用率計(jì)數(shù)器(41)相關(guān)聯(lián),在每次使用公鑰來對(duì)數(shù)字簽名進(jìn)行檢查的時(shí)候,這個(gè)計(jì)數(shù)器都會(huì)遞增,其中該檢查是在一個(gè)最后使用日期(42)進(jìn)行的,該日期會(huì)在每次遞增相關(guān)聯(lián)的使用率計(jì)數(shù)器的時(shí)候更新,其特征還在于當(dāng)證書表中的空位置數(shù)目小于一個(gè)預(yù)定閾值時(shí),該方法還包括一個(gè)根據(jù)使用率計(jì)數(shù)器的相應(yīng)關(guān)聯(lián)值以及最后使用日期的函數(shù)來選擇將要?jiǎng)h除的公鑰摘要的步驟。
8.根據(jù)權(quán)利要求1~7中一個(gè)權(quán)利要求的方法,其特征在于微電路(53)使用一個(gè)預(yù)定散列函數(shù)來計(jì)算公鑰的摘要形式。
9.根據(jù)權(quán)利要求1~8中一個(gè)權(quán)利要求的方法,其特征在于還包括一個(gè)在證書表(5,5′)中插入根公鑰(Rp)的階段,這個(gè)插入階段是由一個(gè)受控于MAC的寫處理執(zhí)行的,其中所述MAC是在微電路(53)中使用專用密鑰計(jì)算得到的,并且這個(gè)MAC僅為微電路(53)中的傳送實(shí)體所知。
10.根據(jù)權(quán)利要求1~9中一個(gè)權(quán)利要求的方法,其特征在于保存在證書表(5,5′)中的公鑰摘要是通過計(jì)算關(guān)聯(lián)于其他信息的公鑰摘要而被獲取的,這些信息可以是公鑰的有效截止日期、身份信息以及序列號(hào),并且這些信息是在每次使用公鑰檢查簽名的時(shí)候傳送到微電路(53)的。
11.根據(jù)權(quán)利要求1~10中一個(gè)權(quán)利要求的方法,其特征在于保存在證書表(5,5′)中的公鑰摘要是在將公鑰插入證書表的時(shí)候,通過對(duì)微電路(53)接收的證書摘要進(jìn)行計(jì)算而被獲取的,并且這個(gè)證書是在每次使用公鑰檢查簽名的時(shí)候傳送給微電路的。
12.根據(jù)權(quán)利要求1~11中一個(gè)權(quán)利要求的方法,其特征在于證書表(5,5′)保存在微電路(53)的一個(gè)安全存儲(chǔ)區(qū)域中。
13.一種具有微電路(53)的卡,其特征在于所述卡使用根據(jù)權(quán)利要求1~12中的一個(gè)權(quán)利要求的方法。
14.一種用于檢查數(shù)字簽名的系統(tǒng),包括一個(gè)能與數(shù)字處理系統(tǒng)(51)相連的微電路(53),其特征在于,所述系統(tǒng)包含使用根據(jù)權(quán)利要求1~12中的一個(gè)權(quán)利要求的方法的裝置。
全文摘要
在這里公開了一種借助于微電路卡來驗(yàn)證電子簽名的方法,所述微電路卡接收并處理電子簽名驗(yàn)證請(qǐng)求。本發(fā)明的方法包括一個(gè)在微電路存儲(chǔ)器中保存證書表的階段,其中所述證書表包含已授權(quán)公鑰的壓縮形式,此外所述方法還包括一個(gè)電子簽名驗(yàn)證階段(2),其中包括微電路接收(21)所要驗(yàn)證的數(shù)字簽名(Sig(Ai
文檔編號(hào)H04L9/10GK1669266SQ03816582
公開日2005年9月14日 申請(qǐng)日期2003年5月21日 優(yōu)先權(quán)日2002年6月5日
發(fā)明者讓-克洛德·帕耶, 溫森特·布特魯 申請(qǐng)人:法國(guó)電信公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1