專利名稱:輔助運(yùn)算用協(xié)處理器內(nèi)置型ic卡及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及內(nèi)置了密碼處理等輔助運(yùn)算用協(xié)處理器的IC卡,更詳細(xì)地說,涉及用于改善IC卡與外部裝置間的通信協(xié)議的效率的也能夠在非接觸型、接觸型及組合型的任何一種IC卡中應(yīng)用的技術(shù)。
背景技術(shù):
由于在塑料制的卡上安裝了非易失性存儲器、CPU、密碼用協(xié)處理器等的IC芯片(半導(dǎo)體集成電路器件)的IC卡與現(xiàn)在廣泛使用的磁卡相比,能夠處理更大量的數(shù)據(jù)、安全性優(yōu)越,故開始在各種各樣的用途中普及。IC卡具有通過將在其表面上設(shè)置了金屬制端子的IC卡插入外部讀寫裝置,通過該端子進(jìn)行供電和數(shù)據(jù)授受的接觸型IC卡;使用電磁感應(yīng)技術(shù),通過使天線線圈進(jìn)入讀寫裝置所發(fā)生的磁場中,用讀寫裝置和電波(例如,數(shù)MHz~數(shù)十MHz程度的載波頻率)進(jìn)行供電和數(shù)據(jù)授受的非接觸型IC卡;以及具備了接觸型和非接觸型兩者的接口的組合型IC卡等。近年來,非接觸型IC卡由于其操作的便利性而開始得到普及。
(非接觸型IC卡在供電上存在的問題)但是,在非接觸型IC卡或者組合型IC卡的非接觸通信中,為了通過電磁感應(yīng)從讀寫裝置進(jìn)行饋電,對IC卡不能以大容量的電力驅(qū)動,而應(yīng)成為小容量的電源。因此,非接觸型IC卡需要竭力抑制電流消耗。在現(xiàn)在的IC卡中,由于非易失性存儲器的讀出、寫入、擦除以及在上述密碼運(yùn)算用的協(xié)處理器中消耗的電流大,在非接觸中的供電方面存在問題。
(非接觸IC卡在通信方面存在的問題)接近型非接觸型IC卡的通信方式例如是用ISO14443型B規(guī)格(ASK10%)進(jìn)行規(guī)格化的、低深度調(diào)制方式。這里,所謂低深度調(diào)制是指,將從在通信中使用的信號的最大振幅Amax和最小振幅Amin以下述式(1)定義的比率稱為調(diào)制率,將10%那樣低的調(diào)制率的通信稱為低深度調(diào)制。
調(diào)制率=(Amax-Amin)/(Amax+Amin)(1)在低深度調(diào)制中,很微小的電壓變動對通信品質(zhì)產(chǎn)生影響。因此,在通信中,必須抑制消耗電流,迄今在通信中進(jìn)行運(yùn)算用協(xié)處理器的工作、非易失性存儲器的寫入、擦除、讀出等工作是困難的。
(幀等待時間設(shè)定方面存在的問題)在非接觸型IC卡與讀寫裝置間的通信中,初始響應(yīng)通過ISO14443-3進(jìn)行規(guī)格化。該非接觸型IC卡的處理流程圖示于圖1。
另外,在初始響應(yīng)后的非接觸型IC卡與讀寫裝置之間的通信中的協(xié)議通過ISO14443-4進(jìn)行規(guī)格化。
當(dāng)電源處于關(guān)斷狀態(tài)的非接觸型IC卡從讀寫裝置中接受能量時,電源上升,通過從讀寫裝置向IC卡發(fā)送REQB指令,開始初始響應(yīng)。REQB指令是非接觸型IC卡的準(zhǔn)備要求指令,在該指令內(nèi)包含用途領(lǐng)域標(biāo)識符(AFI)、屬性信息參數(shù)(PARM)、循環(huán)冗余檢驗(yàn)符(CRC)等信息。
接收了準(zhǔn)備要求REQB指令的非接觸型IC卡經(jīng)過REQB指令中的用途領(lǐng)域標(biāo)識符(AFI)的一致檢測、從屬性信息(PARM)判斷非接觸型IC卡的枚數(shù)的上限值(在實(shí)施例中,N=1枚),使ATQB響應(yīng)返回到讀寫裝置中。ATQB響應(yīng)是對REQB指令的請求響應(yīng)信號,包含偽固有標(biāo)識符(PUPI)、應(yīng)用信息(Application data)、協(xié)議信息(Protocolinformation)、循環(huán)冗余檢驗(yàn)符(CRC)等信息。通過讀寫裝置接收ATQB響應(yīng),讀寫裝置得到上述信息。
非接觸型IC卡返回ATQB響應(yīng),進(jìn)而,當(dāng)進(jìn)行ATTRIB指令的接收和ATTRIB的響應(yīng)時,初始響應(yīng)結(jié)束,非接觸型IC卡轉(zhuǎn)移到激活狀態(tài)。
然后,非接觸型IC卡與讀寫裝置按ISO14443-4規(guī)格化了的協(xié)議實(shí)施通信。
通常,讀寫裝置與非接觸型IC卡使用上述協(xié)議從讀寫裝置向非接觸型IC卡發(fā)送指令,非接觸型IC卡執(zhí)行與接收的指令相應(yīng)的處理,將指令的執(zhí)行結(jié)果發(fā)送到讀寫裝置。當(dāng)非接觸型IC卡從讀寫裝置接收S塊的DESELECT指令時,非接觸型IC卡轉(zhuǎn)移到停止?fàn)顟B(tài)(HALT)。當(dāng)非接觸型IC卡處于停止?fàn)顟B(tài)時,僅僅能夠接收來自讀寫裝置的WUPB指令。通過WUPB指令,非接觸型IC卡再次從初始響應(yīng)工作中的AFI的一致檢測進(jìn)行工作。
在包含在對初始響應(yīng)時的REQB指令的ATQB響應(yīng)內(nèi)的協(xié)議信息(Protocol information)中,作為非接觸型IC卡通信中所需的參數(shù),包含位傳輸速度、最大幀尺寸等,其中有用于讀寫裝置設(shè)定幀等待時間的參數(shù)FWI。讀寫裝置接收FWI后,進(jìn)行下式(2)所示的計算,設(shè)定幀等待時間FWT。
FWT=(256×16/fc)×2FWI(2)在上述式(2)中,fc是讀寫裝置所發(fā)生的載波頻率,在規(guī)格中為13.56MHz。在規(guī)格中,將0~14的值(與約302μs~約4949ms的FWT對應(yīng))分配給FWI。在FWI中采用哪個值,由非接觸型IC卡側(cè)決定,非接觸型IC卡需要在與向讀寫裝置發(fā)送的FWI對應(yīng)的時間內(nèi),結(jié)束非接觸型IC卡內(nèi)的處理。當(dāng)在該時間內(nèi)沒有結(jié)束IC卡內(nèi)的處理的情況下,讀寫裝置也可以作為超時錯誤處理。在ISO14443-4的協(xié)議通信應(yīng)用中,在讀寫裝置的幀等待時間內(nèi)沒有結(jié)束非接觸型IC卡側(cè)的處理的情況下,需要非接觸型IC卡向讀寫裝置進(jìn)行延長幀等待時間的要求,以延長讀寫裝置側(cè)的超時錯誤判斷時間。用于幀等待時間延長的讀寫裝置與非接觸型IC卡的通信指令用ISO14443-4的協(xié)議規(guī)格規(guī)定?,F(xiàn)在,需要在非接觸型IC卡內(nèi)進(jìn)行長時間處理的處理有用于進(jìn)行協(xié)處理器運(yùn)算所需的各種加密/解密的算術(shù)運(yùn)算等。
在初始響應(yīng)中,例如在將FWI設(shè)定在FWI=14那樣大的值的情況下,在讀寫裝置側(cè),總是將超時錯誤判定的時間設(shè)定得很長。因此,在沒有必要延長時間的其他的指令中,在非接觸型IC卡內(nèi)的處理和通信中發(fā)生異常,在讀寫裝置不能正確地接收對來自讀寫裝置的指令的非接觸型IC卡的響應(yīng)的情況下,存在讀寫裝置對超時錯誤的異常判定要花必要以上的時間、性能降低的問題。在初始響應(yīng)中的FWI設(shè)定希望設(shè)定為考慮了IC卡系統(tǒng)整體性能的盡可能小的值。
但是,考慮到IC卡系統(tǒng)的性能,例如當(dāng)將FWI設(shè)定為FWI=4那樣小的值時,在一部分的協(xié)處理器運(yùn)算中,往往需要超過了讀寫裝置的幀等待時間的運(yùn)算時間。
為了解決這種幀等待時間設(shè)定方面的問題,也考慮過在協(xié)處理器運(yùn)算中利用時間中斷功能,進(jìn)行用于延長幀等待時間的讀寫裝置與非接觸型IC卡之間的通信的方法,在協(xié)處理器運(yùn)算中進(jìn)行幀等待時間延長要求(通信)的情況由于通信處理被加在原來運(yùn)算處理上,在與功耗的增大相聯(lián)系、非接觸型IC卡的通信中,會造成通信距離縮短或者通信的穩(wěn)定性降低等,使利用該方法提高效率變得困難。
另外,在協(xié)處理器運(yùn)算中,處理時間隨運(yùn)算用協(xié)處理器所實(shí)施的運(yùn)算種類及給予運(yùn)算用協(xié)處理器的參數(shù)不同而不同?,F(xiàn)在,即使在多個密碼處理、或者一個密碼處理內(nèi),也需要處理多個參數(shù),難以事前將處理時間圖表化,預(yù)測是否需要延長幀等待時間。因此,在現(xiàn)狀的非接觸型IC卡中,在實(shí)施所有的協(xié)處理器運(yùn)算前,進(jìn)行用于幀等待時間延長的通信,對讀寫裝置進(jìn)行幀等待時間的延長設(shè)定的處理。對讀寫裝置的幀等待時間延長是暫時的處理,在非接觸型IC卡的一次的指令處理結(jié)束(將對指令的響應(yīng)發(fā)送到讀寫裝置)后,讀寫裝置的幀等待時間返回到初始值。
其次,圖2表示與現(xiàn)有的幀等待時間的設(shè)定相關(guān)的實(shí)施例。根據(jù)圖2所示的現(xiàn)有的實(shí)施例,讀寫裝置與非接觸型IC卡根據(jù)ISO14443-4協(xié)議,進(jìn)行下述工作。此外,圖2中的R/W表示讀寫裝置,ICC表示非接觸型IC卡。
(1)讀寫裝置通過I塊向非接觸型IC卡發(fā)送指令。非接觸型IC卡接收該指令,判定指令的類別。
(2)如果在(1)中接收的指令是伴隨運(yùn)算用協(xié)處理器工作的指令,則非接觸型IC卡在協(xié)處理器運(yùn)算開始前,向讀寫裝置發(fā)送幀等待時間延長要求(S塊的WTX要求)。
(3)讀寫裝置按照S塊的WTX要求,延長幀等待時間。讀寫裝置向非接觸型IC卡發(fā)送幀等待時間延長響應(yīng)(S塊的WTX響應(yīng))。
(4)非接觸型IC卡進(jìn)行指令的執(zhí)行處理(協(xié)處理器運(yùn)算處理)。
(5)當(dāng)指令的執(zhí)行處理結(jié)束時,非接觸型IC卡通過I塊向讀寫裝置發(fā)送對向讀寫裝置的指令的執(zhí)行結(jié)果。
但是,上述現(xiàn)有例中的幀等待時間設(shè)定方式至少存在以下2個課題。即,第1,即使在不需要幀等待時間延長(處理時間短)的協(xié)處理器運(yùn)算中,由于進(jìn)行用于幀等待時間延長的通信,發(fā)生用于該發(fā)送接收的時間的浪費(fèi),使讀寫裝置與非接觸型IC卡的通信效率降低。第2,由于在協(xié)處理器運(yùn)算處理前進(jìn)行用于幀等待時間延長的通信,將該通信作為引發(fā)劑,對攻擊者告知加密運(yùn)算和解密運(yùn)算的關(guān)鍵信息等的解析點(diǎn),有可能成為安全性方面的問題。
發(fā)明內(nèi)容
因此,本發(fā)明是鑒于上述問題而進(jìn)行的,其目的在于主要解決在非接觸型IC卡中存在的供電方面的問題、通信方面的問題以及幀等待時間設(shè)定方面的問題,提供能夠以低功耗進(jìn)行高效通信的IC卡及其控制方法。
用于達(dá)到上述目的的本發(fā)明的IC卡是在主運(yùn)算處理裝置以外內(nèi)置了輔助運(yùn)算用的協(xié)處理器的IC卡,其第1特征在于,配備在經(jīng)過比幀等待時間短的設(shè)定時間后,輸出中斷要求信號的間隔定時器;以及根據(jù)上述中斷要求信號的輸出,停止向上述協(xié)處理器供給工作時鐘,根據(jù)來自外部裝置的規(guī)定的響應(yīng)輸入,恢復(fù)上述工作時鐘的供給,控制上述協(xié)處理器工作的協(xié)處理器控制裝置。
根據(jù)上述第1特征的本發(fā)明的IC卡,在協(xié)處理器的運(yùn)算處理超過比幀等待時間更短的設(shè)定時間的情況下,中斷協(xié)處理器的運(yùn)算處理,例如對讀寫裝置等外部裝置,能夠通過發(fā)送變更通信條件的要求(例如,幀等待時間延長要求),變更外部裝置的通信條件,等待該變更確認(rèn)響應(yīng)輸入的接收,恢復(fù)中斷了的協(xié)處理器的運(yùn)算處理。其結(jié)果是,能夠避免由于協(xié)處理器的運(yùn)算處理與外部裝置間的通信同時進(jìn)行引起的非接觸型IC卡中的供電方面的問題及通信方面的問題,避免在協(xié)處理器的運(yùn)算處理中,因?qū)ν獠垦b置進(jìn)行幀等待時間延長要求而發(fā)生沒有準(zhǔn)備的超時錯誤。另外,在協(xié)處理器的運(yùn)算處理在經(jīng)過上述設(shè)定時間之前結(jié)束的情況下,可節(jié)省對外部裝置進(jìn)行通信條件的變更要求的浪費(fèi),謀求提高通信效率及處理效率。另外,由于對外部裝置通信條件的變更要求是在協(xié)處理器的運(yùn)算處理開始后經(jīng)過上述設(shè)定時間后進(jìn)行的,可提高對將該通信作為引發(fā)劑的攻擊者的安全性。
另外,理想的情況是,本發(fā)明的第2特征在于,配備在上述第1特征的本發(fā)明的IC卡中,當(dāng)接收來自上述外部裝置的指令時,判定上述指令的內(nèi)容,將比上述幀等待時間短的設(shè)定時間設(shè)定在上述間隔定時器中,啟動上述間隔定時器的間隔定時器設(shè)定裝置。這里,上述間隔定時器設(shè)定裝置的處理最好是通過上述運(yùn)算處理裝置執(zhí)行。根據(jù)該第2特征,由于能夠根據(jù)來自外部裝置的接收指令的內(nèi)容來調(diào)整設(shè)定時間,能夠謀求更有效地提高通信效率和處理效率。
更理想的情況是,本發(fā)明的第3特征在于,在上述任一特征的本發(fā)明的IC卡中,上述協(xié)處理器控制裝置配備用于控制停止及恢復(fù)向上述協(xié)處理器的工作時鐘的供給的控制標(biāo)記;根據(jù)上述控制標(biāo)記的狀態(tài),控制向上述協(xié)處理器的工作時鐘供給的停止及恢復(fù)的工作時鐘控制裝置;接受上述中斷要求信號的輸出,將上述控制標(biāo)記的狀態(tài)設(shè)定在工作停止?fàn)顟B(tài),接受上述響應(yīng)輸入,將上述控制標(biāo)記的狀態(tài)設(shè)定在工作恢復(fù)狀態(tài)的控制標(biāo)記設(shè)定裝置。這里,上述控制標(biāo)記設(shè)定裝置的處理最好通過上述運(yùn)算處理裝置執(zhí)行。根據(jù)該第3特征,上述協(xié)處理器控制裝置能夠具體地得到實(shí)現(xiàn),起到上述第1或者第2特征IC卡的作用效果。
更理想的情況是,本發(fā)明的第4特征在于,在上述第3特征的本發(fā)明的IC卡中,當(dāng)上述運(yùn)算處理裝置停止向上述協(xié)處理器供給工作時鐘時,向上述外部裝置輸出幀等待時間延長要求,當(dāng)從上述外部裝置接受該響應(yīng)輸入時,將上述控制標(biāo)記的狀態(tài)設(shè)定在工作恢復(fù)狀態(tài)。這里,上述控制標(biāo)記設(shè)定裝置的處理通過上述運(yùn)算處理裝置執(zhí)行。根據(jù)該第4特征,由于在上述協(xié)處理器的運(yùn)算處理中斷中,執(zhí)行用于幀等待時間延長要求的與外部裝置的通信,能夠避免成為供電不足的情況,使幀等待時間延長成為可能,起到上述第1或者第2特征的IC卡的作用效果。
更理想的情況是,本發(fā)明的第5特征在于,在上述任一特征的本發(fā)明的IC卡中,配備存儲通常處理用的程序的非易失性存儲器和比上述非易失性存儲器工作功耗低的第2存儲器,至少在上述協(xié)處理器工作時,上述協(xié)處理器所處理的程序存儲在上述第2存儲器中。進(jìn)而,在上述協(xié)處理器工作時,最好禁止對上述非易失性存儲器進(jìn)行存取。根據(jù)該第5特征,可謀求降低上述協(xié)處理器的運(yùn)算處理時的功耗,特別是更有效地謀求解決非接觸型IC卡中的供電方面的問題。
更理想的情況是,本發(fā)明的特征在于在上述任一特征的本發(fā)明的IC卡中,在與上述外部裝置的通信應(yīng)用中,配備非接觸接口及接觸接口的至少某一方。也就是說,不管通信接口是非接觸、接觸中的某一方,能夠起到上述各特征的IC卡的作用效果。
用于達(dá)到上述目的的本發(fā)明的IC卡的控制方法是在主運(yùn)算處理裝置以外,內(nèi)置輔助運(yùn)算用協(xié)處理器的IC卡的控制方法,其特征在于進(jìn)行中斷許可的設(shè)定,使得在經(jīng)過比幀等待時間短的設(shè)定時間后輸出中斷要求信號;在上述中斷許可設(shè)定后,開始上述協(xié)處理器的運(yùn)算處理;在上述協(xié)處理器的運(yùn)算處理中,當(dāng)輸出上述中斷要求信號時,分支到中斷處理,在上述中斷處理中,停止向上述協(xié)處理器的工作時鐘供給,當(dāng)接受來自外部裝置的規(guī)定的響應(yīng)輸入時,恢復(fù)上述工作時鐘的供給。
另外,在上述特征的本發(fā)明的IC卡控制方法中,最好是當(dāng)接收來自上述外部裝置的指令時,判定上述指令是否是上述協(xié)處理器的執(zhí)行指令,在是上述協(xié)處理器的執(zhí)行指令的情況下,進(jìn)行上述中斷許可的設(shè)定。進(jìn)而,在上述中斷處理中,最好是在停止向上述協(xié)處理器的工作時鐘供給后,向上述外部裝置輸出幀等待時間延長要求,當(dāng)從上述外部裝置接受該響應(yīng)輸入時,恢復(fù)上述工作時鐘的供給。
圖1是表示被ISO14443規(guī)定的非接觸型IC卡或者組合型IC卡的非接觸工作時的初始響應(yīng)例的流程圖。
圖2是表示在現(xiàn)有的LC卡中在協(xié)處理器運(yùn)算前進(jìn)行幀等待時間延長處理的情況下的處理順序的說明圖。
圖3是表示本發(fā)明的IC卡的硬件結(jié)構(gòu)的一例的系統(tǒng)結(jié)構(gòu)圖。
圖4是表示在本發(fā)明的LC卡中發(fā)生幀等待時間延長用中斷、進(jìn)行幀等待時間延長處理的情況下的處理順序的說明圖。
圖5是表示在本發(fā)明的IC卡中不發(fā)生幀等待時間延長用中斷、不進(jìn)行幀等待時間延長處理的情況下的處理順序的說明圖。
圖6是表示本發(fā)明的IC卡的控制處理順序的一例的流程圖。
圖7是表示圖6所示的流程圖的初始化處理(步驟S2)的子程序的流程圖。
圖8是表示圖6所示的流程圖的協(xié)處理器運(yùn)算處理(步驟S8)的子程序的流程圖。
圖9是表示圖6所示的流程圖的步驟S8內(nèi)的中斷處理的子程序的流程圖。
圖10是表示圖9所示的流程圖的S-WTX要求發(fā)送接收處理(步驟SInt3)的子程序的流程圖。
圖11是表示被ISO7816-3規(guī)定的接觸型IC卡的接觸工作時的初始響應(yīng)例的流程圖。
具體實(shí)施例方式
現(xiàn)參照
本發(fā)明的IC卡的一個實(shí)施例。
(第1實(shí)施例)首先,參照圖3的系統(tǒng)結(jié)構(gòu)圖說明本發(fā)明的IC卡的硬件結(jié)構(gòu)。在本第1實(shí)施例中,假想是非接觸型IC卡并進(jìn)行說明。
本發(fā)明的非接觸型IC卡17是內(nèi)置了作為主運(yùn)算處理裝置的CPU5和CPU5以外的密碼處理等輔助運(yùn)算用的協(xié)處理器3的IC卡,配備進(jìn)行向協(xié)處理器3供給協(xié)處理器工作時鐘的供給停止及供給恢復(fù)的工作時鐘控制標(biāo)記1;控制協(xié)處理器3的工作時鐘的供給停止及供給恢復(fù)的工作時鐘控制電路2;以及間隔定時器4。另外,還配備用于發(fā)送/接收從作為外部裝置的讀寫裝置14發(fā)生的信號的天線15;連接在天線15上的RF電路13;連接在RF電路13上的通信接口9;以及連接在RF電路13上的工作時鐘生成電路10。進(jìn)而,為了存儲用于通過CPU5的處理而執(zhí)行對本結(jié)構(gòu)的IC卡的控制的控制用程序,還配備閃速存儲器等非易失性存儲器12及靜態(tài)RAM等RAM11。
RF電路13解調(diào)從讀寫裝置14接收到的信號,將數(shù)據(jù)傳送給通信接口9。另外,通過天線15將從通信接口9傳送來的數(shù)據(jù)發(fā)送到讀寫裝置14。進(jìn)而,從讀寫裝置14接收到的信號中抽出時鐘,將時鐘供給工作時鐘生成電路10。
在工作時鐘生成電路10中,為了使非接觸型IC卡17內(nèi)的各種電路工作,生成工作時鐘16,將工作時鐘16供給工作時鐘控制電路2、CPU5、間隔定時器4、通信接口9等。
工作時鐘控制標(biāo)記1、協(xié)處理器3、間隔定時器4、CPU5、通信接口9、非易失性存儲器12及RAM11用數(shù)據(jù)總線6相互連接構(gòu)成,同時,從CPU5輸出的控制信號組7被輸入到工作時鐘控制標(biāo)記1、協(xié)處理器3、間隔定時器4、通信接口9、非易失性存儲器12及RAM11中。該控制信號組7例如用地址信號、讀出信號、寫入信號等構(gòu)成。另外,從間隔定時器4輸出的中斷要求信號8被輸入到CPU5中。
CPU5使用數(shù)據(jù)總線6和控制信號組7,通過執(zhí)行上述控制用程序,能夠控制工作時鐘控制標(biāo)記1、協(xié)處理器3、間隔定時器4、通信接口9、非易失性存儲器12及RAM11的工作。例如,CPU5能夠通過數(shù)據(jù)總線6,用由任意的地址信號和寫入信號構(gòu)成的控制信號組7,對間隔定時器4寫入任意的數(shù)據(jù),使之進(jìn)行任意的計數(shù)工作。通過CPU5,啟動了的間隔定時器4經(jīng)過所指定的設(shè)定時間后,能夠向CPU5輸出中斷要求信號8,CPU5通過接收該中斷要求信號8,進(jìn)行中斷處理,識別幀等待時間經(jīng)過的情況。中斷處理用的程序被存儲在非易失性存儲器12或者RAM11內(nèi),在該處理中,能夠使用通信接口9,在與讀寫裝置14之間執(zhí)行用于幀等待時間延長的發(fā)送接收處理。
另外,能夠用由任意的地址信號和寫入信號構(gòu)成的控制信號組7,通過數(shù)據(jù)總線6,對工作時鐘控制標(biāo)記1寫入數(shù)據(jù)“0”或者數(shù)據(jù)“1”,也能夠用由任意的地址信號和讀出信號構(gòu)成的控制信號組7,通過數(shù)據(jù)總線6讀出工作時鐘控制標(biāo)記1的內(nèi)容。
另外,CPU5能夠用由任意的地址信號和寫入信號構(gòu)成的控制信號組7,通過數(shù)據(jù)總線6,對協(xié)處理器3進(jìn)行任意數(shù)據(jù)的寫入,進(jìn)行任意的運(yùn)算。協(xié)處理器3僅僅在從工作時鐘生成電路10供給工作時鐘16時才能夠工作,當(dāng)不從工作時鐘生成電路10供給工作時鐘時,停止運(yùn)算處理。
控制協(xié)處理器3的工作時鐘的停止及恢復(fù)的工作時鐘控制電路2輸入在工作時鐘生成電路10中所生成的工作時鐘16和工作時鐘控制標(biāo)記1的狀態(tài)。工作時鐘控制電路2例如用“或”電路構(gòu)成,控制是否對協(xié)處理器3供給工作時鐘。在這種情況下,在工作時鐘控制標(biāo)記1的內(nèi)容為數(shù)據(jù)“0”的情況下,工作時鐘控制電路2對協(xié)處理器3供給從工作時鐘生成電路10所供給的工作時鐘16。在工作時鐘控制電路1的內(nèi)容為數(shù)據(jù)“1”的情況下,工作時鐘控制電路2不對協(xié)處理器3供給從工作時鐘生成電路10所供給的工作時鐘16。
在上述硬件結(jié)構(gòu)中,通過用工作時鐘控制標(biāo)記1、工作時鐘控制電路2及CPU5對工作時鐘控制標(biāo)記1設(shè)定數(shù)據(jù)“0”或者“1”的方法,提供根據(jù)來自間隔定時器4的中斷要求信號8的輸出,停止向協(xié)處理器3的工作時鐘的供給,根據(jù)來自外部裝置的規(guī)定的響應(yīng)輸入,恢復(fù)工作時鐘的供給,控制協(xié)處理器的工作的協(xié)處理器控制方法。
根據(jù)上述硬件結(jié)構(gòu),CPU5通過控制工作時鐘控制標(biāo)記1,能夠控制協(xié)處理器3的工作的中斷、恢復(fù)。
接著,利用上述硬件結(jié)構(gòu),參照圖3、圖4及圖5,說明非接觸型IC卡17與讀寫裝置14之間的幀等待時間延長的一系列控制順序。此外,非接觸型IC卡17與讀寫裝置14之間的通信協(xié)議遵照ISO14443-3及ISO14443-4。
上述幀等待時間延長的控制方法作為CPU5所執(zhí)行的控制用程序,被存儲在非易失性存儲器12中。上述控制順序由CPU5利用上述外圍硬件用軟件進(jìn)行處理。
圖4是在非接觸型IC卡17的指令執(zhí)行中(協(xié)處理器3的運(yùn)算處理執(zhí)行中),由于作為幀等待時間延長用定時器而利用的間隔定時器4溢出,發(fā)生S-WTX要求發(fā)送接收情況的工作實(shí)例?,F(xiàn)實(shí)施以下(1)~(9)的處理。
圖5是在非接觸型IC卡17的指令執(zhí)行中(協(xié)處理器3的運(yùn)算處理執(zhí)行中),作為幀等待時間延長用定時器而利用的間隔定時器4不溢出,不發(fā)生S-WTX要求發(fā)送接收情況的工作實(shí)例。在這種情況下,實(shí)施以下(1)~(3)及(9)的處理。
在本實(shí)施例中,被構(gòu)成為使得協(xié)處理器3的工作和讀寫裝置14與非接觸型IC卡17的通信不同時進(jìn)行。
處理(1)讀寫裝置14通過I塊向IC卡發(fā)送任意的指令。在非接觸型IC卡17中內(nèi)置的CPU5接收該指令,判定指令的內(nèi)容。而且,在間隔定時器4中設(shè)定幀等待時間經(jīng)過前發(fā)生定時器中斷的計數(shù)值后,允許定時器中斷,啟動幀等待時間延長用的間隔定時器4。
處理(2)CPU5進(jìn)行指令的執(zhí)行處理(協(xié)處理器運(yùn)算處理)。
處理(3)CPU5監(jiān)視協(xié)處理器3的運(yùn)算處理結(jié)束,如果檢測出運(yùn)算處理結(jié)束,執(zhí)行下述的處理(9)。
處理(4)在上述處理(3)中,在檢測出運(yùn)算處理結(jié)束之前,幀等待時間延長用的間隔定時器4溢出的情況下,通過發(fā)生中斷要求信號8,向非接觸型IC卡17的中斷啟動程序分支,執(zhí)行處理(5)~(8)。
處理(5)CPU5將數(shù)據(jù)“1”設(shè)置在工作時鐘控制標(biāo)記1上,通過工作時鐘控制電路2停止向協(xié)處理器3供給工作時鐘16。據(jù)此,協(xié)處理器3的工作成為暫時停止(Suspend)狀態(tài)。
處理(6)CPU5調(diào)用S-WTX要求發(fā)送接收處理。在該處理中,CPU5向讀寫裝置14發(fā)送幀等待時間延長要求(S-WTX要求)。此外,S-WTX要求是根據(jù)S塊(ISO14443-4協(xié)議的管理塊)的指令的幀等待時間延長要求。
處理(7)讀寫裝置14根據(jù)S-WTX要求,使超時時間延長。讀寫裝置14將幀等待時間延長響應(yīng)(S-WTX響應(yīng))發(fā)送到非接觸型IC卡17。此外,S-WTX響應(yīng)是根據(jù)對S-WTX要求的S塊指令的讀寫裝置14的響應(yīng)。
處理(8)CPU5將數(shù)據(jù)“0”設(shè)置到工作時鐘控制標(biāo)記1上,通過工作時鐘控制電路2恢復(fù)向協(xié)處理器3供給工作時鐘16。據(jù)此,協(xié)處理器3的工作成為恢復(fù)(Resume)狀態(tài)。非接觸型IC卡17進(jìn)行中斷返回,返回到處理(3)。
處理(9)當(dāng)指令的執(zhí)行處理結(jié)束時,CPU5通過I塊(ISO14443-4協(xié)議的信息塊)將指令執(zhí)行結(jié)果發(fā)送到讀寫裝置14。
通過上述控制順序,在協(xié)處理器3的運(yùn)算處理執(zhí)行中,僅僅在通過間隔定時器4發(fā)生中斷要求信號8時,啟動通過CPU5的中斷處理,暫時停止協(xié)處理器3的工作(運(yùn)算處理),由于能夠在延長了幀等待時間的基礎(chǔ)上對讀寫裝置14恢復(fù)協(xié)處理器3的工作,能夠不將幀等待時間的發(fā)送接收作為引發(fā)劑對攻擊者告知解析點(diǎn)而付諸實(shí)施,在安全性方面有利。另外,在通過間隔定時器4發(fā)生中斷要求前,協(xié)處理器3的運(yùn)算結(jié)束的情況下,由于能夠不發(fā)生用于幀等待時間延長的通信,結(jié)束指令處理,從而能夠改善通信的效率。
(第2實(shí)施例)在上述第1實(shí)施例中,表示了協(xié)處理器3在工作中,構(gòu)成為讀寫裝置14與非接觸型IC卡17的通信不同時進(jìn)行的實(shí)例。這里,協(xié)處理器3所處理的程序例示了存儲在非易失性存儲器12內(nèi)的情況。但是,協(xié)處理器3的工作與其執(zhí)行存儲在非易失性存儲器12內(nèi)的程序,不如在RAM11等功率消耗較少的存儲器上執(zhí)行,中斷發(fā)生時的處理直到協(xié)處理器3的工作暫時停止為止,也在RAM11上執(zhí)行,禁止向非易失性存儲器12的存取,反倒更能降低在協(xié)處理器3的工作時的功耗。
另外,在幀等待時間延長時所發(fā)生的讀寫裝置14與非接觸型IC卡17的通信處理程序同樣也是配置在RAM11上的一方能夠謀求降低功耗。
以下,參照圖3的硬件結(jié)構(gòu)圖及圖6~圖10的流程圖,說明在RAM11上執(zhí)行協(xié)處理器處理程序及在幀等待時間延長時所發(fā)生的讀寫裝置14與非接觸型IC之間的通信處理程序,在協(xié)處理器處理程序執(zhí)行中禁止向非易失性存儲器12存取的第2實(shí)施例。此外,假想非接觸型IC卡17的硬件結(jié)構(gòu)與第1實(shí)施例相同。另外,非接觸型IC卡17的控制方法作為CPU5所執(zhí)行的控制用程序存儲在非易失性存儲器12中。
首先,如圖6所示,當(dāng)從讀寫裝置14通過電波開始向非接觸型IC卡供給電力時,非接觸型IC卡17開始工作(步驟S1)。
接著,非接觸型IC卡17執(zhí)行初始化處理(步驟S2)。步驟S2的初始化處理例如如圖7所示,作為初始化處理的子程序構(gòu)成,在該處理中,將數(shù)據(jù)發(fā)送/接收處理(步驟S21)、中斷處理(步驟S22)、協(xié)處理器運(yùn)算處理(步驟S23)的各程序從非易失性存儲器12傳送到RAM11。
接著,在步驟S3中,在非接觸型IC卡17與讀寫裝置14之間進(jìn)行圖1所示的初始響應(yīng)工作,在ISO14443-4協(xié)議中,非接觸型IC卡17成為能夠通信的狀態(tài)(激活狀態(tài))。
在步驟S4中,非接觸型IC卡17分支到在步驟S2中傳送到RAM11上的數(shù)據(jù)接收處理,等待從讀寫裝置14發(fā)送來的指令(I塊指令)。
當(dāng)在步驟S4中,非接觸型IC卡17接收了來自讀寫裝置14的指令(I塊指令)時,轉(zhuǎn)移到步驟S5,判定指令是否是包含協(xié)處理器3的執(zhí)行的指令。當(dāng)判定為接收的指令是包含協(xié)處理器3的執(zhí)行的指令時,轉(zhuǎn)移到步驟S6,在間隔定時器4中設(shè)定在幀等待時間經(jīng)過前發(fā)生定時器中斷的計數(shù)值后,允許定時器中斷,啟動間隔定時器4。當(dāng)判定為接收指令是不包含協(xié)處理器的執(zhí)行的指令的情況下,轉(zhuǎn)移到步驟S7,執(zhí)行其他的處理。
在步驟S6中,間隔定時器4啟動后,非接觸型IC卡17分支到在步驟S2中存儲在RAM11上的協(xié)處理器運(yùn)算處理(步驟S8)。
當(dāng)分支到步驟S8時,如圖8所示,非接觸型IC卡17從RAM11內(nèi)開始進(jìn)行協(xié)處理器運(yùn)算(步驟S81),在步驟S82中等待協(xié)處理器3的運(yùn)算處理結(jié)束。如果在步驟S82中間隔定時器4溢出時,發(fā)生中斷要求信號8,啟動中斷處理。當(dāng)中斷處理啟動時,非接觸型IC卡分支到在步驟S2中存儲到RAM11上的步驟S8內(nèi)的中斷處理。在步驟S82中間隔定時器4不是溢出,協(xié)處理器3的運(yùn)算處理結(jié)束的情況下,非接觸型IC卡17結(jié)束步驟S8的協(xié)處理器運(yùn)算處理。
如圖9所示,步驟S8內(nèi)的中斷處理在步驟SInt1中非接觸型IC卡17停止間隔定時器4的工作。接著,在步驟SInt2中,將數(shù)據(jù)“1”設(shè)置在工作時鐘控制標(biāo)記1上,通過工作時鐘控制電路2停止向協(xié)處理器3供給工作時鐘16。據(jù)此,協(xié)處理器3的工作成為暫時停止(Suspend)狀態(tài)。接著,如圖10所示,在步驟SInt3中,為了對讀寫裝置14延長幀等待時間,非接觸型IC卡17在步驟SInt31中向讀寫裝置14發(fā)送S-WTX要求。而且,在步驟SInt32中等待從讀寫裝置14發(fā)送S-WTX響應(yīng)。這時,讀寫裝置14延長幀等待的超時時間。當(dāng)非接觸型IC卡17從讀寫裝置接收S-WYX響應(yīng)時,轉(zhuǎn)移到步驟SInt4。
如圖9所示,在步驟SInt4中,非接觸型IC卡17將數(shù)據(jù)“0”設(shè)置在工作時鐘控制標(biāo)記1上,通過工作時鐘控制電路2恢復(fù)向協(xié)處理器3供給工作時鐘16。據(jù)此,協(xié)處理器3的工作成為恢復(fù)(Resume)狀態(tài)。接著,在步驟SInt5中,恢復(fù)間隔定時器4的工作,結(jié)束中斷處理。
中斷處理結(jié)束后,非接觸型IC卡17再次返回到步驟S82(參照圖8),等待協(xié)處理器3的運(yùn)算處理的結(jié)束。當(dāng)協(xié)處理器運(yùn)算結(jié)束時,步驟S8的運(yùn)算處理結(jié)束,在步驟S9中,非接觸型IC卡17禁止停止間隔定時器4的工作和定時器中斷。
當(dāng)包含協(xié)處理器3的運(yùn)算處理的指令的處理全部結(jié)束時,在步驟S10中,非接觸型IC卡17通過I塊將指令執(zhí)行結(jié)果發(fā)送到讀寫裝置14。在步驟S10中,這分支到在步驟S2中傳送到RAM11上的數(shù)據(jù)發(fā)送處理上,并被執(zhí)行。
通過上述控制順序,不同時執(zhí)行協(xié)處理器3的工作和讀寫裝置14與非接觸型IC卡17的通信,在RAM11上執(zhí)行協(xié)處理器處理程序,執(zhí)行禁止向非易失性存儲器12存取的非接觸型IC卡的控制。
(其他實(shí)施例)在上述各實(shí)施例中,就配備了非接觸接口的非接觸型IC卡的情況進(jìn)行了說明,本發(fā)明的控制順序及其裝置也能夠應(yīng)用于配備了接觸接口的接觸型IC卡。
在這種情況下,IC卡用圖6所示的流程圖的步驟S3的初始響應(yīng)程序,按照圖11所示的接觸型IC卡的初始響應(yīng)處理而工作。從電源關(guān)斷狀態(tài)(步驟S100)通過讀寫裝置的IC卡激活工作,接觸型IC卡進(jìn)行電源接通、時鐘供給、復(fù)位(步驟S101)。接著,接觸型IC卡向讀寫裝置發(fā)送復(fù)位響應(yīng)(步驟S102)。然后,進(jìn)行用帶外部端子的IC卡的電信號及傳輸協(xié)議規(guī)格ISO7816-3所規(guī)定的,例如用T=1協(xié)議進(jìn)行讀寫裝置與接觸型IC卡的通信(步驟S103)。
在圖6所示的流程圖中,步驟S3以下的工作與配備了非接觸接口的非接觸型IC卡相同。
雖然已通過優(yōu)選實(shí)施例對本發(fā)明進(jìn)行了描述,但顯然可知,在不背離本發(fā)明的宗旨與范圍的情況下,可以由專業(yè)技術(shù)人員作各種修改和變更。因此,本發(fā)明僅僅用所附權(quán)利要求來量度。
權(quán)利要求
1.一種IC卡,它是在主運(yùn)算處理裝置以外內(nèi)置輔助運(yùn)算用協(xié)處理器的IC卡,其特征在于配備在經(jīng)過比幀等待時間短的設(shè)定時間后,輸出中斷要求信號的間隔定時器;以及根據(jù)上述中斷要求信號的輸出,停止向上述協(xié)處理器供給工作時鐘,根據(jù)來自外部裝置的規(guī)定的響應(yīng)輸入恢復(fù)上述工作時鐘的供給,控制上述協(xié)處理器的工作的協(xié)處理器控制裝置。
2.如權(quán)利要求1所述的IC卡,其特征在于配備當(dāng)接收來自上述外部裝置的指令時,判定上述指令的內(nèi)容,將比上述幀等待時間短的設(shè)定時間設(shè)定在上述間隔定時器中,啟動上述間隔定時器的間隔定時器設(shè)定裝置。
3.如權(quán)利要求2所述的IC卡,其特征在于上述間隔定時器設(shè)定裝置的處理通過上述運(yùn)算處理裝置執(zhí)行。
4.如權(quán)利要求1所述的IC卡,其特征在于上述協(xié)處理器控制裝置配備用于控制停止及恢復(fù)向上述協(xié)處理器供給工作時鐘的控制標(biāo)記;根據(jù)上述控制標(biāo)記的狀態(tài),控制停止及恢復(fù)向上述協(xié)處理器供給工作時鐘的工作時鐘控制裝置;以及接收上述中斷要求信號的輸出,將上述控制標(biāo)記的狀態(tài)設(shè)定在工作停止?fàn)顟B(tài),接受上述響應(yīng)輸入,將上述控制標(biāo)記的狀態(tài)設(shè)定在工作恢復(fù)狀態(tài)的控制標(biāo)記設(shè)定裝置。
5.如權(quán)利要求4所述的IC卡,其特征在于上述控制標(biāo)記設(shè)定裝置的處理通過上述運(yùn)算處理裝置執(zhí)行。
6.如權(quán)利要求5所述的IC卡,其特征在于當(dāng)停止向上述協(xié)處理器供給工作時鐘時,上述運(yùn)算處理裝置向上述外部裝置輸出幀等待時間延長要求,當(dāng)從上述外部裝置接受該響應(yīng)輸入時,將上述控制標(biāo)記的狀態(tài)設(shè)定在工作恢復(fù)狀態(tài)。
7.如權(quán)利要求1所述的IC卡,其特征在于配備存儲通常處理用的程序的非易失性存儲器和比上述非易失性存儲器工作功耗更低的第2存儲器,至少在上述協(xié)處理器工作時,上述協(xié)處理器所處理的程序存儲在上述第2存儲器中。
8.如權(quán)利要求7所述的IC卡,其特征在于在上述協(xié)處理器工作時,禁止對上述非易失性存儲器進(jìn)行存取。
9.如權(quán)利要求1所述的IC卡,其特征在于在與上述外部裝置的通信應(yīng)用中,配備非接觸接口及接觸接口的至少某一方。
10.一種IC卡的控制方法,上述IC卡在主運(yùn)算處理裝置以外內(nèi)置輔助運(yùn)算用協(xié)處理器,其特征在于上述控制方法包含下述事項進(jìn)行中斷許可的設(shè)定,使得在經(jīng)過比幀等待時間短的設(shè)定時間后,輸出中斷要求信號;在上述中斷許可的設(shè)定后,開始上述協(xié)處理器的運(yùn)算處理;在上述協(xié)處理器的運(yùn)算處理中,當(dāng)輸出上述中斷要求信號時,分支到中斷處理;以及在上述中斷處理中,停止向上述協(xié)處理器供給工作時鐘,當(dāng)接受來自外部裝置的規(guī)定的響應(yīng)輸入時,恢復(fù)上述工作時鐘的供給。
11.如權(quán)利要求10所述的IC卡控制方法,其特征在于當(dāng)接收來自上述外部裝置的指令時,判定上述指令是否是上述協(xié)處理器的執(zhí)行指令,在是上述協(xié)處理器的執(zhí)行指令的情況下,進(jìn)行上述中斷許可的設(shè)定。
12.如權(quán)利要求10所述的IC卡控制方法,其特征在于包含下述事項在上述中斷處理中,在停止向上述協(xié)處理器供給工作時鐘后,向上述外部裝置輸出幀等待時間延長要求,當(dāng)從上述外部裝置接受該響應(yīng)輸入時,恢復(fù)上述工作時鐘的供給。
全文摘要
本發(fā)明的課題是一種IC卡(17),在主運(yùn)算處理裝置(5)以外內(nèi)置輔助運(yùn)算用協(xié)處理器(3),配備在經(jīng)過比幀等待時間短的設(shè)定時間后,輸出中斷要求信號(8)的間隔定時器(4);以及根據(jù)中斷要求信號(8)的輸出,停止向協(xié)處理器(3)供給工作時鐘(16),根據(jù)來自外部裝置(14)的規(guī)定的響應(yīng)輸入,恢復(fù)工作時鐘(16)的供給,控制協(xié)處理器(3)的工作的協(xié)處理器控制裝置(1、2、5)。當(dāng)接收來自外部裝置(14)的指令時,判定指令的內(nèi)容,將比幀等待時間短的設(shè)定時間設(shè)定在間隔定時器(4)中,啟動間隔定時器(4)。
文檔編號B42D15/10GK1652152SQ2005100079
公開日2005年8月10日 申請日期2005年2月4日 優(yōu)先權(quán)日2004年2月4日
發(fā)明者小川龍一, 若林正樹 申請人:夏普株式會社