專利名稱:智能卡讀取器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及安全智能卡組件領(lǐng)域,或者集成電路卡領(lǐng)域。
背景技術(shù):
當(dāng)智能卡插入智能卡讀取器時(shí),讀取器向智能卡供應(yīng)功率信號(hào)。目前,智能卡可以執(zhí)行讀取器向其發(fā)送的命令。標(biāo)準(zhǔn)ISO 7816將智能卡讀取器與智能卡之間的通信標(biāo)準(zhǔn)化。本文引用例如日期為2005-09-07的參考文獻(xiàn)IS0/IEC JTC I/FC 17 N2837的標(biāo)準(zhǔn)ISO7816-3 第 10.2 節(jié)。具體地,這個(gè)協(xié)議規(guī)定,當(dāng)讀取器向卡發(fā)送命令時(shí),讀取器觸發(fā)隨時(shí)間遞增的計(jì)數(shù)器。如果在沒(méi)有從卡接收到響應(yīng)的情況下從發(fā)送命令開始計(jì)數(shù)器達(dá)到與稱作等待時(shí)間(WT)的持續(xù)時(shí)間的期滿相對(duì)應(yīng)的值時(shí),應(yīng)認(rèn)為卡將不再作出響應(yīng)。讀取器切斷卡的功率以重新初始化卡。根據(jù)標(biāo)準(zhǔn)ISO 7816,在每次重新初始化智能卡組件時(shí),尤其是根據(jù)讀取器應(yīng)用的(讀取器與卡之間的)通信接口 ISO 7816的時(shí)鐘頻率和在初始化期間協(xié)商的通信接口 ISO7816的通信速度來(lái)計(jì)算持續(xù)時(shí)間WT。例如,對(duì)于5MHz的頻率和默認(rèn)通信速度(即,根據(jù)此默認(rèn)通信速度,比特在通信接口 ISO 7816上的持續(xù)時(shí)間等于372個(gè)鐘敲(clock strikes))而言,持續(xù)時(shí)間WT等于714ms。在需要多于持續(xù)時(shí)間WT的命令的執(zhí)行期間,卡可以周期性地發(fā)送稱作協(xié)議字節(jié)的預(yù)定消息以從讀取器請(qǐng)求更多時(shí)間。根據(jù)標(biāo)準(zhǔn)ISO 7816,這個(gè)預(yù)定消息是字節(jié)0x60。響應(yīng)于接收到協(xié)議字節(jié),讀取器重新初始化計(jì)數(shù)器。這種機(jī)制提出在卡的“正?!笔褂闷陂g針對(duì)卡障礙的有效響應(yīng)。然而,對(duì)于正在遭受攻擊的卡而言,這種機(jī)制可能會(huì)產(chǎn)生問(wèn)題。已知的是,為了保護(hù)諸如微控制器之類的智能卡組件的操作,制造商使用植入到組件代碼中的安全鎖。故障注入(fault injection)攻擊包括,擾亂組件以使組件偏離其正常行為并嘗試使組件“跳過(guò)”其安全鎖。這種故障注入攻擊例如通過(guò)在與確定的指令的執(zhí)行相對(duì)應(yīng)的時(shí)刻向智能卡發(fā)送光脈沖來(lái)完成。為了測(cè)試智能卡針對(duì)這種攻擊的的安全性,可以鼓勵(lì)智能卡制造商自己進(jìn)行攻擊,或者讓諸如認(rèn)證組織之類的第三方進(jìn)行攻擊。在故障注入攻擊期間,注入的錯(cuò)誤使組件完全偏離,并且可以促使組件執(zhí)行與應(yīng)用程序的開發(fā)者所提供的代碼不相同的代碼。經(jīng)常發(fā)生的情況是,卡由于注入的故障而執(zhí)行永不終止執(zhí)行的代碼循環(huán):這稱作無(wú)限循環(huán)。例如,如果注入的故障修改了循環(huán)的輸出條件,則可能發(fā)生無(wú)限循環(huán)。如果在代碼中不再能夠獲取輸出條件,則卡將保持循環(huán)。與這種代碼循環(huán)的持續(xù)執(zhí)行并行地,卡自動(dòng)發(fā)送協(xié)議字節(jié)(字節(jié)0x60)以請(qǐng)求時(shí)間延長(zhǎng)。這種重復(fù)阻止讀取器接管。因此,讀取器保持等待狀態(tài)。標(biāo)準(zhǔn)ISO 7816并沒(méi)有提出用于在卡執(zhí)行這種無(wú)限循環(huán)時(shí)作出反應(yīng)的機(jī)制。然而,這種情況在嘗試驗(yàn)證針對(duì)故障注入攻擊實(shí)施的抵抗時(shí)頻繁發(fā)生。在這種情況下,評(píng)估者(evaluator)繼續(xù)分析的唯一解決方案是手動(dòng)地從讀取器取卡并將卡重新插入。這在評(píng)估者進(jìn)行手動(dòng)攻擊時(shí)浪費(fèi)大量時(shí)間(原因在于,讀取器和卡位于包括激光器的保護(hù)盒中,移除卡并將卡重新插入的這個(gè)事實(shí)需要評(píng)估者遵守嚴(yán)格的程序,因?yàn)楸┞对诩す馐路浅NkU(xiǎn))。當(dāng)發(fā)起自動(dòng)攻擊時(shí)(例如,在整個(gè)黑暗狀態(tài)中),這甚至更成問(wèn)題,原因在于,當(dāng)擾亂產(chǎn)生無(wú)限循環(huán)時(shí),攻擊停止,因此評(píng)估者浪費(fèi)大量時(shí)間。這在故障注入攻擊期間頻繁發(fā)生,并且仍然是主要問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明提出一種智能卡讀取器,能夠根據(jù)標(biāo)準(zhǔn)ISO 7816來(lái)確定稱作等待時(shí)間的持續(xù)時(shí)間WT以及向智能卡發(fā)送命令,讀取器包括檢測(cè)器,檢測(cè)器用于檢測(cè)智能卡的非正常工作條件并且被配置為在符合非正常工作條件時(shí)命令重新初始化智能卡。該讀取器的特別之處在于,所述非正常工作條件不同于計(jì)數(shù)器達(dá)到與從發(fā)送命令開始的持續(xù)時(shí)間WT相對(duì)應(yīng)的值,并且不同于響應(yīng)于接收到智能卡的協(xié)議消息而重新初始化計(jì)數(shù)器,其中,計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增。相關(guān)地,本發(fā)明提出一種智能卡讀取器使用的功率方法,所述讀取器能夠根據(jù)標(biāo)準(zhǔn)ISO 7816來(lái)確定稱作等待時(shí)間的持續(xù)時(shí)間WT以及向智能卡發(fā)送命令,所述功率方法包括以下步驟:-檢測(cè)所述智能卡的非正常工作條件,以及-當(dāng)符合非正常工作條件時(shí),命令重新初始化智能卡。該功率方法的特別之處在于,所述非正常工作條件不同于計(jì)數(shù)器達(dá)到與從發(fā)送命令開始的持續(xù)時(shí)間WT相對(duì)應(yīng)的值,并且不同于響應(yīng)于接收到智能卡的協(xié)議消息而重新初始化計(jì)數(shù)器,其中,計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增。因?yàn)檫@些特性,讀取器可以按照與標(biāo)準(zhǔn)IS07816中提供的方式不同的方式來(lái)檢測(cè)卡的功能異常。因此,讀取器能夠檢測(cè)功能異常并在卡執(zhí)行無(wú)限循環(huán)時(shí)通過(guò)切斷功率信號(hào)來(lái)重新初始化卡。因此,當(dāng)可以引起無(wú)限循環(huán)的故障注入攻擊進(jìn)行時(shí),沒(méi)有必要通過(guò)從讀取器移除卡然后將卡重新插入來(lái)重新初始化卡。讀取器能夠例如向智能卡發(fā)送功率信號(hào),通過(guò)切斷功率信號(hào)來(lái)命令重新初始化智倉(cāng)泛一|e。若干狀態(tài)可以檢測(cè)到這種功能異常。因此,在第一實(shí)施例中,讀取器包括計(jì)數(shù)器,計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增,其中,所述非正常工作條件是,在沒(méi)有從智能卡接收到響應(yīng)的情況下,所述計(jì)數(shù)器達(dá)到與比從發(fā)送命令開始的持續(xù)時(shí)間WT小的時(shí)間段相對(duì)應(yīng)的值。在第二實(shí)施例中,非正常工作條件是,從智能卡接收到預(yù)定數(shù)目的協(xié)議消息。在第三實(shí)施例中,讀取器包括第一計(jì)數(shù)器和第二計(jì)數(shù)器,第一計(jì)數(shù)器和第二計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增,其中,所述非正常工作條件包括,在沒(méi)有從智能卡接收到響應(yīng)的情況下,第一計(jì)數(shù)器達(dá)到與從發(fā)送命令開始的持續(xù)時(shí)間WT相對(duì)應(yīng)的值,或者響應(yīng)于從智能卡接收到協(xié)議消息而重新初始化計(jì)數(shù)器,所述非正常工作條件還包括,在沒(méi)有接收到智能卡的響應(yīng)的情況下,第二計(jì)數(shù)器達(dá)到對(duì)應(yīng)于與從發(fā)送命令開始的持續(xù)時(shí)間WT不同的時(shí)間段的值。
非正常工作條件可以包括,接收到產(chǎn)生于無(wú)限循環(huán)檢測(cè)裝置的切斷消息。本發(fā)明還提出一種包括根據(jù)本發(fā)明的智能卡讀取器和無(wú)限循環(huán)檢測(cè)裝置的系統(tǒng),所述無(wú)限循環(huán)檢測(cè)裝置能夠向智能卡讀取器發(fā)送切斷消息。因此,在可以認(rèn)為是上述第三實(shí)施例的變型的實(shí)施例中,第二計(jì)數(shù)器位于外部裝置中,循環(huán)檢測(cè)裝置包括計(jì)數(shù)器,所述計(jì)數(shù)器被配置為,從向智能卡發(fā)送讀取器的命令開始隨時(shí)間遞增,無(wú)限循環(huán)檢測(cè)裝置被配置為,當(dāng)所述計(jì)數(shù)器達(dá)到對(duì)應(yīng)于與從發(fā)送命令開始的持續(xù)時(shí)間WT不同的時(shí)間段的值時(shí)發(fā)送所述切斷消息。在第四實(shí)施例中,無(wú)限循環(huán)檢測(cè)裝置被配置為,根據(jù)產(chǎn)生于智能卡的分析信號(hào)來(lái)檢測(cè)智能卡的無(wú)限循環(huán)的執(zhí)行,響應(yīng)于所述檢測(cè)而發(fā)送切斷消息。所述系統(tǒng)還可以包括智能卡,所述智能卡被配置為,在需要比持續(xù)時(shí)間WT更多的時(shí)間的命令的執(zhí)行期間有規(guī)律地發(fā)送標(biāo)準(zhǔn)ISO 7816的協(xié)議字節(jié)0x60。
根據(jù)參照附圖的以下描述,本發(fā)明的其他特點(diǎn)和優(yōu)勢(shì)將顯現(xiàn)出來(lái),其中,附圖示出了沒(méi)有任何限制特征的示例性實(shí)施例。在附圖中:-圖1示出了根據(jù)本發(fā)明的智能卡讀取器和智能卡,-圖2示出了表明根據(jù)本發(fā)明第一實(shí)施例的圖1的讀取器的操作的兩個(gè)時(shí)間線,-圖3示出了表明根據(jù)本發(fā)明第二實(shí)施例的圖1的讀取器的操作的兩個(gè)時(shí)間線,-圖4示出了表明根據(jù)本發(fā)明第三實(shí)施例的圖1的讀取器的操作的兩個(gè)時(shí)間線,-圖5示出了根據(jù)本發(fā)明的智能卡讀取器、智能卡和無(wú)限循環(huán)檢測(cè)裝置,-圖6更詳細(xì)地示出了圖5的無(wú)限循環(huán)檢測(cè)裝置的示例性實(shí)施例,以及-圖7和8是示出了圖6的無(wú)限循環(huán)檢測(cè)裝置的操作的曲線圖。
具體實(shí)施例方式圖1示出了智能卡讀取器I和與讀取器相連的智能卡2。在這種情況下,讀取器I向智能卡2提供功率信號(hào),并且可以向智能卡2發(fā)送命令。智能卡2被設(shè)計(jì)成根據(jù)標(biāo)準(zhǔn)ISO 7816與讀取器I進(jìn)行通信。因此,在智能卡2的初始化期間,讀取器I根據(jù)標(biāo)準(zhǔn)ISO 7816確定持續(xù)時(shí)間WT (等待時(shí)間),當(dāng)智能卡2從讀取器I接收到其執(zhí)行需要的持續(xù)時(shí)間大于持續(xù)時(shí)間WT的命令時(shí),智能卡2隨著命令的執(zhí)行以比持續(xù)時(shí)間WT稍小的時(shí)間段定期向讀取器2發(fā)送協(xié)議字節(jié)(字節(jié)0x60)。讀取器I呈現(xiàn)出實(shí)質(zhì)性的計(jì)算機(jī)體系結(jié)構(gòu),具體包括微處理器3、非易失性存儲(chǔ)器
4、易失性存儲(chǔ)器5、與智能卡2的通信接口 6和與其他設(shè)備(例如,個(gè)人計(jì)算機(jī))的通信接Π 7。以下,將在詳述讀取器I的操作中描述讀取器I的若干實(shí)施例。應(yīng)該理解,所描述的每個(gè)操作可以與微處理器3執(zhí)行通過(guò)使用易失性存儲(chǔ)器4在非易失性存儲(chǔ)器4中存儲(chǔ)的計(jì)算機(jī)程序相對(duì)應(yīng)。在圖2中示出了其操作的第一實(shí)施例中,讀取器I包括計(jì)數(shù)器,計(jì)數(shù)器被配置為隨時(shí)間遞增。讀取器I在向智能卡2發(fā)送命令期間觸發(fā)計(jì)數(shù)器,并且響應(yīng)于接收到智能卡I的協(xié)議字節(jié)M而重新初始化計(jì)數(shù)器。在沒(méi)有從智能卡2接收到響應(yīng)或協(xié)議字節(jié)M的情況下,當(dāng)計(jì)數(shù)器達(dá)到預(yù)定值時(shí),讀取器I切斷智能卡I的功率信號(hào)。因此,這個(gè)實(shí)施例的讀取器I的操作與開始時(shí)引用的現(xiàn)有技術(shù)的讀取器的操作相類似。然而,在本實(shí)施例中,讀取器I將在其之后切斷功率信號(hào)的預(yù)定持續(xù)時(shí)間T’小于在智能卡2的初始化期間確定的持續(xù)時(shí)間WT。例如,持續(xù)時(shí)間T,等于200ms,確定的持續(xù)時(shí)間WT等于714ms。圖2示出了讀取器I的操作。圖2中上方的時(shí)間線與在沒(méi)有攻擊的情況下卡I的操作相對(duì)應(yīng)。讀取器I在時(shí)刻t0發(fā)送命令CMD并觸發(fā)其計(jì)數(shù)器。命令CMD需要的執(zhí)行時(shí)間遠(yuǎn)小于持續(xù)時(shí)間WT。例如,這是執(zhí)行算法RSA的命令,需要約100ms。智能卡I執(zhí)行接收的命令CMD,并以響應(yīng)R作出響應(yīng)。因此,響應(yīng)R在命令CMD結(jié)束之后的約IOOms的時(shí)刻h被讀取器接收。因?yàn)樵跁r(shí)刻t1;持續(xù)時(shí)間T’還未期滿,所以讀取器I不切斷智能卡2的功率信號(hào)。下方的時(shí)間線與智能卡2受到攻擊的情況相對(duì)應(yīng),其中,這種攻擊的效果是使智能卡2執(zhí)行無(wú)限循環(huán)。讀取器I也在時(shí)刻h發(fā)送命令CMD并觸發(fā)其計(jì)數(shù)器。然后,在時(shí)刻t2,智能卡2受到攻擊并進(jìn)入無(wú)限循環(huán)。因此,智能卡2沒(méi)有全部執(zhí)行接收的命令CMD,并且在時(shí)刻h沒(méi)有以響應(yīng)R作出響應(yīng)。在沒(méi)有從智能卡I接收到響應(yīng)R或協(xié)議字節(jié)M的情況下,讀取器I在時(shí)刻t3注意到持續(xù)時(shí)間T’的期滿。實(shí)際上,因?yàn)橹悄芸?被設(shè)計(jì)成根據(jù)標(biāo)準(zhǔn)ISO 7816來(lái)進(jìn)行通信,所以智能卡I發(fā)送的任何協(xié)議字節(jié)M將恰好在持續(xù)時(shí)間WT的期滿之前發(fā)送,因而在時(shí)刻&之后。因此,在時(shí)刻&,讀取器I切斷智能卡2的功率以重新初始化智能卡2。因此,無(wú)限循環(huán)被中斷。因此,在這個(gè)實(shí)施例中,讀取器I對(duì)智能卡I實(shí)施攻擊,同時(shí)防止卡進(jìn)入不間斷的無(wú)限循環(huán),其中,智能卡I被要求執(zhí)行其執(zhí)行持續(xù)時(shí)間小于持續(xù)時(shí)間WT的命令。在圖3中示出了其操作的第二實(shí)施例中,讀取器I包括計(jì)數(shù)器,計(jì)數(shù)器被配置為對(duì)產(chǎn)生于智能卡2的協(xié)議字節(jié)M的接收的次數(shù)進(jìn)行計(jì)數(shù)。讀取器I在向智能卡2發(fā)送命令期間初始化計(jì)數(shù)器并且在接收到響應(yīng)R時(shí)重新初始化計(jì)數(shù)器。當(dāng)在沒(méi)有從智能卡2接收到響應(yīng)R的情況下計(jì)數(shù)器達(dá)到預(yù)定閾值,則讀取器I切斷智能卡2的功率信號(hào)。因此,這個(gè)實(shí)施例的讀取器I的操作不同于圖2的實(shí)施例,原因在于讀取器不對(duì)時(shí)間通道進(jìn)行計(jì)數(shù),而是對(duì)接收的協(xié)議字節(jié)M的數(shù)目進(jìn)行計(jì)數(shù)。在圖3中示出了根據(jù)第二實(shí)施例的讀取器I的操作,在這個(gè)實(shí)施例中,讀取器I在兩個(gè)協(xié)議字節(jié)M之后或者當(dāng)持續(xù)時(shí)間WT等于714ms時(shí)切斷卡的功率。圖3中的上方的時(shí)間線與卡I在沒(méi)有攻擊的情況下的操作相對(duì)應(yīng)。讀取器I在時(shí)刻h發(fā)送命令CMD并初始化其計(jì)數(shù)器。命令CMD需要的執(zhí)行時(shí)間在一倍至兩倍的持續(xù)時(shí)間WTffffT之間。智能卡2開始執(zhí)行接收的命令CMD。在時(shí)刻h,在持續(xù)時(shí)間WT期滿之前不久,智能卡2還未完成執(zhí)行命令CMD,因此發(fā)送協(xié)議字節(jié)M以向讀取器I要求更多時(shí)間。接下來(lái),在時(shí)刻t2,命令CMD的執(zhí)行終止,智能卡2以響應(yīng)R作出響應(yīng)。因此,在時(shí)刻&,在接收到第二協(xié)議字節(jié)M之前,讀取器I接收到響應(yīng)R。因此,讀取器I不切斷智能卡2的功率信號(hào)。圖3中的下方的時(shí)間線與智能卡2受到攻擊的情況相對(duì)應(yīng),其中,這種攻擊的效果是使智能卡2執(zhí)行無(wú)限循環(huán)。讀取器I也在時(shí)刻h發(fā)送命令CMD并初始化其計(jì)數(shù)器。然后,在時(shí)刻t3,智能卡2受到攻擊A并進(jìn)入無(wú)限循環(huán)。
在時(shí)刻h,與上方的時(shí)間線一樣,智能卡2發(fā)送協(xié)議字節(jié)M。然而,在這種情況下,智能卡2由于攻擊A而沒(méi)有全部執(zhí)行命令CMD,因此在時(shí)刻t2沒(méi)有以響應(yīng)R作出響應(yīng)。因?yàn)橹悄芸?被設(shè)計(jì)成根據(jù)標(biāo)準(zhǔn)ISO 7816進(jìn)行通信,所以在時(shí)刻t4,向讀取器I發(fā)送新協(xié)議字節(jié)M。然后,在時(shí)刻t4,讀取器I證實(shí)在沒(méi)有接收到響應(yīng)R的情況下已接收到兩個(gè)協(xié)議字節(jié)M,因而切斷智能卡2的功率以重新初始化智能卡2。因此,無(wú)限循環(huán)被中斷。因此,在這個(gè)實(shí)施例中,讀取器2對(duì)智能卡I實(shí)施攻擊,同時(shí)防止卡進(jìn)入不間斷的無(wú)限循環(huán),其中,智能卡I被要求執(zhí)行其執(zhí)行持續(xù)時(shí)間在一倍至兩倍的持續(xù)時(shí)間WT之間的命令。通過(guò)改變?cè)谇袛嗫üβ手坝?jì)數(shù)的協(xié)議字節(jié)M的數(shù)目,讀取器2可以用于其執(zhí)行需要任何持續(xù)時(shí)間的命令。在圖4中示出了其操作的第三實(shí)施例中,讀取器I包括第一計(jì)數(shù)器和第二計(jì)數(shù)器,第一計(jì)數(shù)器和第二計(jì)數(shù)器被配置為隨時(shí)間遞增。讀取器I在向智能卡2發(fā)送命令期間觸發(fā)兩個(gè)計(jì)數(shù)器。第一計(jì)數(shù)器是其操作遵循標(biāo)準(zhǔn)ISO 7816的計(jì)數(shù)器。也即,響應(yīng)于接收到智能卡2的協(xié)議字節(jié)M,重新初始化第一計(jì)數(shù)器,以及當(dāng)在沒(méi)有從智能卡2接收到響應(yīng)R或協(xié)議字節(jié)M的情況下,第一計(jì)數(shù)器達(dá)到與持續(xù)時(shí)間WT的期滿相對(duì)應(yīng)的預(yù)定值時(shí),讀取器I切斷智能卡I的功率信號(hào)。第二計(jì)數(shù)器是一種旨在測(cè)量從發(fā)送命令CMD開始的不同于WT的持續(xù)時(shí)間T’。當(dāng)在沒(méi)有從智能卡2接收到響應(yīng)R的情況下,第二計(jì)數(shù)器達(dá)到與持續(xù)時(shí)間T’的期滿相對(duì)應(yīng)的預(yù)定值時(shí),讀取器I與協(xié)議字節(jié)M的接收無(wú)關(guān)地切斷智能卡I的功率信號(hào)。在圖4中示出了根據(jù)第三實(shí)施例的讀取器I的操作,其中持續(xù)時(shí)間T’ = 1.5秒,持續(xù)時(shí)間WT等于I秒。圖4中的上方的時(shí)間線與卡I在沒(méi)有攻擊的情況下的操作相對(duì)應(yīng)。讀取器I在時(shí)刻h發(fā)送命令CMD并初始化其兩個(gè)計(jì)數(shù)器。命令CMD需要的執(zhí)行時(shí)間在持續(xù)時(shí)間WT與
1.5秒的持續(xù)時(shí)間T’之間。智能卡2開始執(zhí)行接收的命令CMD。在時(shí)刻h,在持續(xù)時(shí)間WT期滿之前不久,智能卡2還未完成執(zhí)行命令CMD,因此發(fā)送協(xié)議字節(jié)M以向讀取器I要求更多時(shí)間。接下來(lái),在時(shí)Mt2,命令CMD的執(zhí)行終止,智能卡2以響應(yīng)R作出響應(yīng)。因此,在時(shí)刻七2,在持續(xù)時(shí)間T’ = 1.5期滿之前,讀取器I接收到響應(yīng)R。因此,讀取器I不切斷智能卡2的功率信號(hào)。圖4中的下方的時(shí)間線與智能卡2受到攻擊A的情況相對(duì)應(yīng),其中,這種攻擊的效果是使智能卡2執(zhí)行無(wú)限循環(huán)。讀取器I也在時(shí)刻h發(fā)送命令CMD并初始化其計(jì)數(shù)器。然后,在時(shí)刻t3,智能卡2受到攻擊A并進(jìn)入無(wú)限循環(huán)。在時(shí)刻h,與上方的時(shí)間線一樣,智能卡2發(fā)送協(xié)議字節(jié)M。然而,在這種情況下,智能卡I由于攻擊A而沒(méi)有全部執(zhí)行命令CMD,因此在時(shí)刻t2沒(méi)有以響應(yīng)R作出響應(yīng)。在沒(méi)有接收到響應(yīng)R的情況下,在時(shí)刻t4,讀取器I注意到持續(xù)時(shí)間T’期滿。因此,在時(shí)刻t4,讀取器I切斷智能卡2的功率以重新初始化智能卡2。因此,無(wú)限循環(huán)被中斷。因此,在本實(shí)施例中,讀取器I也對(duì)智能卡I實(shí)施攻擊,同時(shí)防止卡進(jìn)入不間斷的無(wú)限循環(huán)。圖5示出了圖1的變型,其中,讀取器I還附加至無(wú)限循環(huán)檢測(cè)裝置8上。在這個(gè)變型中,讀取器I被配置為,響應(yīng)于接收到無(wú)限循環(huán)檢測(cè)裝置8的切斷消息,切斷智能卡2的功率。參照?qǐng)D4的上述第三實(shí)施例的變型包括,將第二計(jì)數(shù)器置于讀取器I外部的無(wú)限循環(huán)檢測(cè)裝置中8。在這種情況下,在時(shí)刻h,或者響應(yīng)于發(fā)信號(hào)通知命令的發(fā)送的讀取器I的消息,或者由于觀察到讀取器I與智能卡2之間的鏈接并證實(shí)了命令CMD的發(fā)送,無(wú)限循環(huán)檢測(cè)裝置8觸發(fā)第二計(jì)數(shù)器。在時(shí)刻t4,無(wú)限循環(huán)檢測(cè)裝置8向讀取器I發(fā)送切斷消息。如果沒(méi)有接收到響應(yīng)R(時(shí)刻t2),則讀取器I響應(yīng)于接收到切斷消息而切斷卡I的功率信號(hào)。在第四實(shí)施例中,無(wú)限循環(huán)檢測(cè)裝置8是一種模式檢測(cè)器(patterndetector),被配置為對(duì)產(chǎn)生于智能卡2的分析信號(hào)AS進(jìn)行分析。已知如下事實(shí):諸如智能卡的微控制器模塊之類的板載電子模塊與其外部環(huán)境的物理交互取決于模塊執(zhí)行的操作和這些操作所處理的變量的值。這些交互的示例是,模塊的電流消耗(信號(hào)PA)、電磁輻射(信號(hào)EMA)或允許饋送給非接觸式卡和與非接觸式卡通信的射頻信號(hào)(信號(hào)RFA)。因此,在更詳細(xì)地示出了無(wú)限循環(huán)檢測(cè)裝置8的圖6中,示出了 SA,SA是被測(cè)量來(lái)分析智能卡2所執(zhí)行的操作的分析信號(hào)。分析信號(hào)AS可以例如是智能卡2的電流消耗、電磁輻射或射頻信號(hào)。信號(hào)SA被提供給無(wú)限循環(huán)檢測(cè)裝置8。圖6的無(wú)限循環(huán)檢測(cè)裝置8是一種模式檢測(cè)器,包括濾波器31、模/數(shù)轉(zhuǎn)換器32和分析電路33。濾波器31對(duì)分析信號(hào)AS進(jìn)行模擬處理,典型地,進(jìn)行低通濾波。模/數(shù)轉(zhuǎn)換器32將濾波的信號(hào)數(shù)字化為η比特。分析電路33包括緩沖存儲(chǔ)器34、其他存儲(chǔ)器35、比較單元和計(jì)數(shù)器38。在所示實(shí)施例中,比較單元包括用于執(zhí)行互相關(guān)算法的互相關(guān)單元36和用于測(cè)量?jī)汕€之間的相似點(diǎn)的閾值檢測(cè)器37。緩沖存儲(chǔ)器34基于“先進(jìn)先出”原理在運(yùn)行中存儲(chǔ)產(chǎn)生于模/數(shù)轉(zhuǎn)換器32的η比特的m個(gè)采樣。因此,緩沖存儲(chǔ)器34的內(nèi)容以η比特的m個(gè)采樣的形式示出了分析信號(hào)AS的最近部分。存儲(chǔ)器35存儲(chǔ)與必須要對(duì)分析信號(hào)AS進(jìn)行檢測(cè)的事件相對(duì)應(yīng)的η比特的m個(gè)值的模式?;ハ嚓P(guān)單元36使用互相關(guān)算法來(lái)確定在緩沖存儲(chǔ)器34中存儲(chǔ)的曲線與在其他存儲(chǔ)器35中存儲(chǔ)的曲線之間的相似度。接下來(lái),在閾值檢測(cè)單元37中,將相似度與預(yù)定閾值S相比較。如果相似度小于閾值S,則認(rèn)為分析信號(hào)AS不同于存儲(chǔ)器35中存儲(chǔ)的模式,不遞增計(jì)數(shù)器38。與此相反,如果相似度大于閾值S,則認(rèn)為分析信號(hào)AS與存儲(chǔ)器35中存儲(chǔ)的模式相對(duì)應(yīng),并遞增計(jì)數(shù)器38。優(yōu)選地,分析電路33包括變換單元39,變換單元39位于模/數(shù)轉(zhuǎn)換器32的出口與存儲(chǔ)器34和35的輸入之間。變換單元39執(zhí)行FFT類型的傅立葉變換。已知在頻域中使用互相關(guān)算法比在時(shí)域中使用互相關(guān)算法更容易,這也使得比較單元的工作更容易。例如,利用FPGA類型的可編程邏輯電路來(lái)創(chuàng)建分析電路33。作為變型,分析電路是一種數(shù)字信號(hào)處理器(DSP),被配置為使用緩沖存儲(chǔ)器34、其他存儲(chǔ)器35和比較單元的功能。當(dāng)計(jì)數(shù)器38達(dá)到預(yù)定值時(shí),無(wú)限循環(huán)檢測(cè)裝置8向讀取器I發(fā)送切斷消息CM。在工作時(shí),無(wú)限循環(huán)檢測(cè)裝置8在兩種工作模式之間交替:-在第一工作模式下,在存儲(chǔ)器35中存儲(chǔ)要檢測(cè)的模式。-在第二工作模式下,如前所述,搜索存儲(chǔ)器35中存儲(chǔ)的模式,以與緩沖存儲(chǔ)器34中存儲(chǔ)的信號(hào)部分進(jìn)行比較。從一個(gè)工作模式至另一個(gè)工作模式的轉(zhuǎn)換例如由讀取器I控制。圖7和8示出了根據(jù)第四實(shí)施例的讀取器I和無(wú)限循環(huán)檢測(cè)裝置8的操作。圖7與沒(méi)有攻擊情況下的操作相對(duì)應(yīng)。讀取器I在時(shí)刻h發(fā)送命令CMD,智能卡2在這個(gè)命令的執(zhí)行期間的活動(dòng)由分析信號(hào)AS來(lái)揭示。與發(fā)送命令CMD并行地,讀取器I要求無(wú)限循環(huán)檢測(cè)裝置8在第一工作模式下在其存儲(chǔ)器35中記錄模式,記為Ml。接下來(lái),讀取器I要求無(wú)限循環(huán)檢測(cè)裝置8在第二操作模式運(yùn)行,記為M2,在第二操作模式中,無(wú)限循環(huán)檢測(cè)裝置8將存儲(chǔ)的模式與分析信號(hào)AS相比較。因?yàn)橹悄芸?執(zhí)行命令CMD而沒(méi)有無(wú)限循環(huán),所以在分析信號(hào)AS中檢測(cè)不到存儲(chǔ)的模式的重復(fù)。因此,不遞增計(jì)數(shù)器38,并且不發(fā)送切斷消息CM。因此,讀取器I不切斷智能卡2的功率。圖8與攻擊事件中的操作相對(duì)應(yīng)。因此,讀取器I在時(shí)刻h發(fā)送命令CMD,智能卡在時(shí)刻h受到攻擊,這造成了無(wú)限循環(huán)的運(yùn)行。智能卡2在這個(gè)無(wú)限循環(huán)的執(zhí)行期間的活動(dòng)由分析信號(hào)AS來(lái)揭示。
與圖7的情況一樣,無(wú)限循環(huán)檢測(cè)裝置8首先工作在第一工作模式下,記為M1,并在其存儲(chǔ)器35中記錄模式。接下來(lái),在記為M2的第二工作模式下,無(wú)限循環(huán)檢測(cè)裝置8將存儲(chǔ)的模式與分析信號(hào)AS相比較。隨著智能卡2執(zhí)行無(wú)限循環(huán),在時(shí)刻t2、t3、…,在分析信號(hào)AS中檢測(cè)到存儲(chǔ)的模式的重復(fù)。因此,遞增計(jì)數(shù)器38。當(dāng)計(jì)數(shù)器達(dá)到預(yù)定值時(shí),發(fā)送切斷消息CM。在所示示例中,在時(shí)刻t3,在檢測(cè)到存儲(chǔ)的模式兩次之后,發(fā)送切斷消息CM。因此,讀取器I在此刻切斷智能卡2的功率。在前述實(shí)施例中,在符合表示智能卡2執(zhí)行無(wú)限循環(huán)的條件時(shí),切斷智能卡2的功率。在圖5至8的實(shí)施例中,無(wú)限循環(huán)檢測(cè)裝置由于對(duì)智能卡的活動(dòng)的分析而有效地檢測(cè)到循環(huán)的重復(fù)。如果這種循環(huán)被重復(fù)了預(yù)定次數(shù),則認(rèn)為這是無(wú)限循環(huán)并切斷智能卡2的功率信號(hào)。因此,本實(shí)施例更快速而可靠地檢測(cè)到無(wú)限循環(huán)。在上述不同實(shí)施例中,讀取器I響應(yīng)于檢測(cè)到智能卡的不正常工作而切斷智能卡2的功率。在圖2的實(shí)施例中,非正常工作條件是在沒(méi)有從智能卡2接收到響應(yīng)R的情況下,持續(xù)時(shí)間T’的期滿比根據(jù)標(biāo)準(zhǔn)IS07816確定的持續(xù)時(shí)間WT小,例如,200ms。在圖3的實(shí)施例中,非正常工作條件是在沒(méi)有從智能卡2接收到響應(yīng)R的情況下接收到預(yù)定數(shù)目的預(yù)定消息,例如協(xié)議字節(jié)M。在圖4的實(shí)施例中,非正常工作條件是在沒(méi)有從智能卡2接收到響應(yīng)R的情況下持續(xù)時(shí)間T’期滿,該持續(xù)時(shí)間T’可以小于或大于持續(xù)時(shí)間WT,但是另一計(jì)數(shù)器可以如標(biāo)準(zhǔn)ISO 7816所述一樣切斷功率。最后,在圖5的實(shí)施例中,非正常工作條件是接收到無(wú)限循環(huán)檢測(cè)裝置8的切斷消息。無(wú)限循環(huán)檢測(cè)裝置8可以與圖4的實(shí)施例相類似,在預(yù)定持續(xù)時(shí)間T’期滿之后發(fā)送切斷消息,或者可以響應(yīng)于通過(guò)分析智能卡的活動(dòng)檢測(cè)到無(wú)限循環(huán)而發(fā)送切斷消息。
讀取器I和無(wú)限循環(huán)檢測(cè)裝置8可以是例如經(jīng)由電纜相連的兩個(gè)不同設(shè)備。作為變型,同一設(shè)備可以包括讀取器I和無(wú)限循環(huán)檢測(cè)裝置8。在前述實(shí)施例中,通過(guò)讀取器切斷卡功率來(lái)重新初始化卡(或者,卡的電子組件)。通常,當(dāng)讀取器重新向卡供電時(shí),讀卡器也向卡發(fā)送重新初始化信號(hào)。這僅是讀取器重新初始化(或者,初始化)卡的實(shí)施例的一個(gè)示例。所以,作為變型,這種重新初始化可以通過(guò)讀取器向卡發(fā)送重新初始化信號(hào)來(lái)完成,而不用切斷卡的功率。
權(quán)利要求
1.一種智能卡讀取器,能夠根據(jù)標(biāo)準(zhǔn)iso 7816來(lái)確定稱作等待時(shí)間的持續(xù)時(shí)間WT以及向智能卡發(fā)送命令,讀取器包括檢測(cè)器,檢測(cè)器用于檢測(cè)智能卡的非正常工作條件并且被配置為在符合非正常工作條件時(shí)命令重新初始化卡, 其特征在于,所述非正常工作條件不同于計(jì)數(shù)器達(dá)到與從發(fā)送命令開始的持續(xù)時(shí)間WT相對(duì)應(yīng)的值,并且不同于響應(yīng)于接收到智能卡的協(xié)議消息而重新初始化計(jì)數(shù)器,其中,計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增。
2.如權(quán)利要求1所述的讀取器,包括計(jì)數(shù)器,計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增,其中,所述非正常工作條件是,在沒(méi)有接收到智能卡的響應(yīng)的情況下,所述計(jì)數(shù)器達(dá)到與比從發(fā)送命令開始的持續(xù)時(shí)間WT小的時(shí)間段相對(duì)應(yīng)的值。
3.如權(quán)利要求1所述的讀取器,其中,所述非正常工作條件是,接收到智能卡的預(yù)定數(shù)目的協(xié)議消息。
4.如權(quán)利要求1所述的讀取器,包括第一計(jì)數(shù)器和第二計(jì)數(shù)器,第一計(jì)數(shù)器和第二計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增, 其中,所述非正常工作條件包括,在沒(méi)有接收到智能卡的響應(yīng)的情況下,所述第一計(jì)數(shù)器達(dá)到與從發(fā)送命令開始的持續(xù)時(shí)間WT相對(duì)應(yīng)的值或者響應(yīng)于接收到智能卡的協(xié)議消息而重新初始化第一計(jì)數(shù)器, 所述非正常工作條件還包括,在沒(méi)有接收到智能卡的響應(yīng)的情況下,所述第二計(jì)數(shù)器達(dá)到對(duì)應(yīng)于與從發(fā)送命令開始的持續(xù)時(shí)間WT不同的時(shí)間段的值。
5.如權(quán)利要求1所述的讀取器,其中,所述非正常工作條件包括,接收到產(chǎn)生于無(wú)限循環(huán)檢測(cè)裝置的切斷消息。
6.一種系統(tǒng),包括如權(quán)利要求5所述的智能卡讀取器和無(wú)限循環(huán)檢測(cè)裝置,所述無(wú)限循環(huán)檢測(cè)裝置能夠向智能卡讀取器發(fā)送切斷消息。
7.如權(quán)利要求6所述的系統(tǒng),其中,所述無(wú)限循環(huán)檢測(cè)裝置包括計(jì)數(shù)器,所述計(jì)數(shù)器被配置為從向智能卡發(fā)送讀取器的命令開始隨時(shí)間遞增,所述無(wú)限循環(huán)檢測(cè)裝置被配置為當(dāng)所述計(jì)數(shù)器達(dá)到對(duì)應(yīng)于與從發(fā)送命令開始的持續(xù)時(shí)間WT不同的時(shí)間段的值時(shí)發(fā)送所述切斷消息。
8.如權(quán)利要求6所述的系統(tǒng),其中,無(wú)限循環(huán)檢測(cè)裝置被配置為根據(jù)產(chǎn)生于智能卡的分析信號(hào)來(lái)檢測(cè)智能卡的無(wú)限循環(huán)的執(zhí)行,響應(yīng)于所述檢測(cè)而發(fā)送切斷消息。
9.如權(quán)利要求6所述的系統(tǒng),還包括智能卡,所述智能卡被配置為,在需要比持續(xù)時(shí)間WT更多的時(shí)間的命令的執(zhí)行期間有規(guī)律地發(fā)送標(biāo)準(zhǔn)ISO 7816的協(xié)議字節(jié)0x60。
10.一種智能卡讀取器使用的功率方法,所述讀取器能夠根據(jù)標(biāo)準(zhǔn)ISO 7816來(lái)確定稱作等待時(shí)間的持續(xù)時(shí)間WT以及向智能卡發(fā)送命令,所述功率方法包括以下步驟: 檢測(cè)所述智能卡的非正常工作條件, 當(dāng)符合非正常工作條件時(shí),命令重新初始化智能卡, 其特征在于,所述非正常工作條件不同于計(jì)數(shù)器達(dá)到與從發(fā)送命令開始的持續(xù)時(shí)間WT相對(duì)應(yīng)的值,并且不同于響應(yīng)于接收到智能卡的協(xié)議消息而重新初始化計(jì)數(shù)器,其中,計(jì)數(shù)器被配置為從向智能卡發(fā)送命令開始隨時(shí)間遞增。
全文摘要
一種智能卡讀取器(1),能夠向智能卡(2)發(fā)送功率信號(hào)以根據(jù)標(biāo)準(zhǔn)ISO 7816來(lái)確定稱作等待時(shí)間的持續(xù)時(shí)間WT,以及向所述智能卡(2)發(fā)送命令,讀取器(1)包括檢測(cè)器,檢測(cè)器用于檢測(cè)智能卡(2)的非正常工作條件并且被配置為在符合非正常工作條件時(shí)切斷所述功率信號(hào)。該讀取器的特別之處在于,所述非正常工作條件不同于計(jì)數(shù)器達(dá)到與從發(fā)送命令開始的持續(xù)時(shí)間WT相對(duì)應(yīng)的值,并且不同于響應(yīng)于接收到智能卡(2)的協(xié)議消息而重新初始化計(jì)數(shù)器,其中,計(jì)數(shù)器被配置為從向智能卡(2)發(fā)送命令開始隨時(shí)間遞增。
文檔編號(hào)G06K7/00GK103164679SQ20121053628
公開日2013年6月19日 申請(qǐng)日期2012年12月12日 優(yōu)先權(quán)日2011年12月12日
發(fā)明者尼古拉斯·莫林, 克里斯托夫·吉洛 申請(qǐng)人:歐貝特科技公司