專利名稱:半導(dǎo)體存儲(chǔ)卡及對(duì)其進(jìn)行控制的程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對(duì)所存儲(chǔ)的內(nèi)容確保安全性的半導(dǎo)體存儲(chǔ)卡,并且涉及一種用于擴(kuò)展該存儲(chǔ)卡的存儲(chǔ)容量的技術(shù)。
背景技術(shù):
半導(dǎo)體存儲(chǔ)卡的生產(chǎn)是近年來快速成長(zhǎng)的行業(yè),它已經(jīng)引起了許多領(lǐng)域,例如大眾傳媒、金融機(jī)構(gòu)以及國家和當(dāng)?shù)氐恼畽C(jī)構(gòu)中的實(shí)體的關(guān)注。
保護(hù)存儲(chǔ)卡上存儲(chǔ)的內(nèi)容的功能受到主要關(guān)注。半導(dǎo)體存儲(chǔ)卡的普通實(shí)例包括SD存儲(chǔ)卡和IC卡。SD存儲(chǔ)卡是接觸型半導(dǎo)體存儲(chǔ)卡,它具有非易失性存儲(chǔ)器、邏輯電路和連接器。當(dāng)主機(jī)設(shè)備通過連接器連接到SD存儲(chǔ)卡時(shí),SD存儲(chǔ)卡在通過執(zhí)行挑戰(zhàn)—響應(yīng)的相互認(rèn)證來認(rèn)證該主機(jī)設(shè)備之后,允許該主機(jī)設(shè)備訪問該非易失性存儲(chǔ)器。由于SD存儲(chǔ)卡能夠拒絕來自未被授權(quán)的設(shè)備的訪問,并具有從64MB到1GB的大容量非易失性存儲(chǔ)器,因此理想地是將SD存儲(chǔ)卡用于存儲(chǔ)需要版權(quán)保護(hù)的數(shù)據(jù),例如音頻數(shù)據(jù)和視頻數(shù)據(jù)。
IC卡是將CPU、掩膜ROM和包含EEPROM的IC芯片布置在一個(gè)電路板上,并將螺旋天線埋置在該電路板中。IC卡通過該螺旋天線執(zhí)行與主機(jī)設(shè)備非接觸的數(shù)據(jù)輸入/輸出。IC芯片還被稱作防篡改模塊(TRM),并且能夠抵抗例如拆卸和內(nèi)部分析的逆向工程。
由于這種防篡改,IC卡對(duì)于支付用途來說是理想的,并且許多信用卡公司和銀行公司考慮采用IC卡。IC卡的缺點(diǎn)是生產(chǎn)成本高,并且TRM中的EEPROM的容量?jī)H有大約160KB。
如上所述,SD存儲(chǔ)卡和IC卡每個(gè)都具有優(yōu)缺點(diǎn),并不容易下結(jié)論說哪一個(gè)更好。
在如下的專利文獻(xiàn)1中公開了SD存儲(chǔ)卡的常規(guī)技術(shù)。
<專利文獻(xiàn)1>
日本特開平專利申請(qǐng)?zhí)?001-14441在該主機(jī)設(shè)備是信用卡公司的服務(wù)器這種情況的電子商務(wù)(EC)中,能夠方便地將年度交易計(jì)劃下載并存儲(chǔ)在半導(dǎo)體存儲(chǔ)卡中。然而,用于該年度交易計(jì)劃的數(shù)據(jù)在大小上通常很大,并且IC卡沒有足夠的存儲(chǔ)容量。另一方面,將年度交易計(jì)劃存儲(chǔ)在不包含TRM的SD存儲(chǔ)卡中是沒有安全感的,盡管SD存儲(chǔ)卡具有足夠的存儲(chǔ)容量,這是因?yàn)檫@種年度交易計(jì)劃具有僅次于金錢的保護(hù)價(jià)值。
半導(dǎo)體存儲(chǔ)卡的制造商在冒著增加生產(chǎn)成本的風(fēng)險(xiǎn)大量生產(chǎn)TRM以及不理睬信用卡公司的要求之間正面臨著艱難的選擇。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種能夠在合理的安全級(jí)別上存儲(chǔ)其價(jià)值僅次于金錢的大容量數(shù)據(jù)的半導(dǎo)體存儲(chǔ)卡。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡是一種包含防篡改模塊和非易失性存儲(chǔ)器的半導(dǎo)體存儲(chǔ)卡,其中該防篡改模塊包括內(nèi)部存儲(chǔ)器,其具有由存儲(chǔ)在該防篡改模塊中的程序來使用的使用區(qū)域;以及處理單元,其可用于(i)將非易失性存儲(chǔ)器中的一個(gè)區(qū)域分配給該程序,以及(ii)在防篡改模塊的內(nèi)部存儲(chǔ)器上產(chǎn)生用于所分配的區(qū)域的訪問信息,使用區(qū)域和所分配的區(qū)域由此構(gòu)成該程序使用的全部區(qū)域。由于關(guān)于該程序的使用區(qū)域的訪問信息在防篡改模塊中產(chǎn)生,因此就可以使使用區(qū)域的整個(gè)結(jié)構(gòu)保持保密。
變得難于識(shí)別一個(gè)使用區(qū)域在非易失性存儲(chǔ)器的哪里起始哪里結(jié)束,并且哪個(gè)區(qū)域以及該程序如何訪問被保密。由于難于掌握作為一個(gè)整體的使用區(qū)域的位置,因此就可以防止非法訪問。
根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡還可以是上述半導(dǎo)體存儲(chǔ)卡,其中該處理單元包括分配單元,每當(dāng)產(chǎn)生訪問信息時(shí)該單元可用于對(duì)在該程序訪問所分配的區(qū)域時(shí)所使用的加密密鑰進(jìn)行分配;加密單元,每當(dāng)該程序?qū)?shù)據(jù)寫入所分配的區(qū)域時(shí)該單元可用于加密該數(shù)據(jù);以及解密單元,每當(dāng)該程序從所分配的區(qū)域中讀取數(shù)據(jù)時(shí)該單元可用于解密該數(shù)據(jù)。
該程序只在將唯一的加密密鑰分配給該程序后才能對(duì)該區(qū)域進(jìn)行讀取和寫入。因此,即使多于一個(gè)的程序訪問該半導(dǎo)體存儲(chǔ)卡,并且這些程序其中之一泄漏了分配給它的加密密鑰,其它程序已寫入到該半導(dǎo)體存儲(chǔ)卡中的數(shù)據(jù)也不會(huì)被分配給該程序的加密密鑰來解碼。即使一個(gè)程序的加密密鑰被泄漏了,其余的EC客戶機(jī)應(yīng)用程序也不會(huì)受影響,因此就可以使該程序?qū)懭氲臄?shù)據(jù)保持安全性。
根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡還可以是上述半導(dǎo)體存儲(chǔ)卡,其中該處理單元進(jìn)一步包括接收單元,可用于從該程序接收安全級(jí)別;以及存儲(chǔ)單元,其存儲(chǔ)用于不同安全級(jí)別的值、加密密鑰的位長(zhǎng)以及加密方法,其中該位長(zhǎng)和加密方法一對(duì)一地與上述值相對(duì)應(yīng),由分配單元分配的加密密鑰是基于與所接收的安全級(jí)別相應(yīng)的位長(zhǎng)而產(chǎn)生的,并且基于與所接收的安全級(jí)別相應(yīng)的加密方法來分別執(zhí)行由加密單元和解密單元所進(jìn)行的加密和解密。該程序基于數(shù)據(jù)的重要性以及讀寫數(shù)據(jù)的必要過程來設(shè)置安全級(jí)別,并要求處理單元按照所設(shè)置的安全級(jí)別執(zhí)行數(shù)據(jù)的讀寫。因此,就可以將龐大且較不重要的數(shù)據(jù)的安全級(jí)別設(shè)置為低,從而可在短時(shí)間內(nèi)完成數(shù)據(jù)的寫入。
圖1示出了一種使用SDeX存儲(chǔ)卡的環(huán)境;圖2示出了根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡的內(nèi)部結(jié)構(gòu);圖3示出了TRM 1中的硬件結(jié)構(gòu);圖4示出了與圖3的TRM 1中的掩膜ROM 6和CPU 7相應(yīng)的部分的軟件結(jié)構(gòu);圖5示出了外部閃存2和內(nèi)部EEPROM 3的邏輯格式;圖6示出了擴(kuò)展區(qū)域22、已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24的內(nèi)部結(jié)構(gòu);圖7示出了所有分區(qū)共有的結(jié)構(gòu);圖8A示出了一個(gè)分區(qū)表;圖8B示出了圖7所示的一個(gè)分區(qū)中的分區(qū)引導(dǎo)扇區(qū);圖9示出了來自EC服務(wù)器100和SD便攜設(shè)備300的對(duì)SDeX存儲(chǔ)卡的訪問;圖10示出了SDeX存儲(chǔ)卡、SD便攜設(shè)備300和EC服務(wù)器100之間的命令響應(yīng)序列;圖11示出了根據(jù)第二實(shí)施例的OS 10的內(nèi)部結(jié)構(gòu);圖12A是示出由區(qū)域擴(kuò)展單元11和加密/解密單元14所執(zhí)行的處理的流程圖;圖12B是示出由區(qū)域擴(kuò)展單元11和加密/解密單元14所執(zhí)行的文件寫處理的流程圖;圖12C是示出由區(qū)域擴(kuò)展單元11和加密/解密單元14所執(zhí)行的文件讀處理的流程圖;圖13示出了根據(jù)第四實(shí)施例的閃存2的配置;圖14示出了根據(jù)第四實(shí)施例的TRM內(nèi)部存儲(chǔ)器3的配置;圖15示出了根據(jù)第四實(shí)施例的對(duì)安全閃存區(qū)域的訪問處理;圖16是示出當(dāng)初始化該安全閃存區(qū)域時(shí)由OS 10所執(zhí)行的處理順序的流程圖;圖17是示出當(dāng)產(chǎn)生一個(gè)文件系統(tǒng)時(shí)由OS 10所執(zhí)行的處理順序的流程圖;圖18是示出當(dāng)訪問該文件系統(tǒng)時(shí)由OS 10所執(zhí)行的處理順序的流程圖;
圖19是示出當(dāng)刪除該文件系統(tǒng)時(shí)由OS 10所執(zhí)行的處理順序的流程圖;圖20示出了根據(jù)第五實(shí)施例的存儲(chǔ)器模塊的結(jié)構(gòu);圖21是閃存和FeRAM之間的性能比較表;圖22示出了分配有諸如文件項(xiàng)、FAT和清除處理管理表這樣的頻繁更新的數(shù)據(jù)的FeRAM;圖23示出了根據(jù)第六實(shí)施例的TRM內(nèi)部存儲(chǔ)器3的內(nèi)部結(jié)構(gòu)。
最佳實(shí)施方式第一實(shí)施例下面將解釋根據(jù)本發(fā)明第一實(shí)施例的半導(dǎo)體存儲(chǔ)卡。本實(shí)施例的半導(dǎo)體存儲(chǔ)卡是SDeX存儲(chǔ)卡。SDeX存儲(chǔ)卡用作SD便攜設(shè)備,例如SD存儲(chǔ)卡的介質(zhì),并同時(shí)具有類似于IC卡的內(nèi)置防篡改模塊(TRM)。而且,SDeX存儲(chǔ)卡既能夠執(zhí)行接觸通信又能執(zhí)行非接觸通信,以便與外部設(shè)備進(jìn)行通信。
首先,對(duì)本實(shí)施例的半導(dǎo)體存儲(chǔ)卡(SDeX存儲(chǔ)卡)的實(shí)際使用進(jìn)行說明。SDeX存儲(chǔ)卡連接到諸如蜂窩電話的SD便攜設(shè)備上,并由用戶在圖1所示的這種環(huán)境中來使用。圖1示出了一種使用SDeX存儲(chǔ)卡400的環(huán)境。
圖1所示的環(huán)境中包括EC服務(wù)器100、卡讀/寫器200、基站210以及SD便攜設(shè)備300。
EC服務(wù)器100通過卡讀/寫器200、基站210以及網(wǎng)絡(luò)為IC卡提供EC服務(wù)。多個(gè)EC應(yīng)用程序在該EC服務(wù)器100中工作,并且每一個(gè)EC應(yīng)用程序都為SDeX存儲(chǔ)卡400提供特定的EC服務(wù)。工作在EC服務(wù)器100上的EC應(yīng)用程序是用于不同類型的EC服務(wù)的EC服務(wù)器應(yīng)用程序。在圖1中,用于n種服務(wù)的n種EC服務(wù)器應(yīng)用程序被分別稱為S_APL1,2,3,…,n。通過經(jīng)由網(wǎng)絡(luò)、卡讀/寫器200和基站210將EC命令發(fā)布給SDeX存儲(chǔ)卡400來提供EC服務(wù)器100的EC服務(wù)。
卡讀/寫器200例如是金融設(shè)施上的自動(dòng)柜員機(jī)或者是安裝在現(xiàn)金出納機(jī)上的設(shè)備,它為SDeX存儲(chǔ)卡400提供電能,并與SDeX存儲(chǔ)卡400執(zhí)行非接觸的數(shù)據(jù)輸入/輸出??ㄗx/寫器200連接到網(wǎng)絡(luò)上,并且該SDeX存儲(chǔ)卡400可以通過該卡讀/寫器200接收由EC服務(wù)器100提供的EC服務(wù)。
基站210是安裝在建筑物結(jié)構(gòu)的屋頂和電桿頂部的設(shè)備,并與蜂窩電話型SD便攜設(shè)備300進(jìn)行無線數(shù)據(jù)輸入/輸出?;?10連接到網(wǎng)絡(luò)上,并且SD便攜設(shè)備300可以通過基站210接收EC服務(wù)器100提供的EC服務(wù)。
SD便攜設(shè)備300是連接SDeX存儲(chǔ)卡400的設(shè)備,以便訪問SDeX存儲(chǔ)卡400。在SD便攜設(shè)備300中安裝瀏覽器或類似物,用戶可以通過瀏覽器的用戶界面訪問SDeX存儲(chǔ)卡400中的文件系統(tǒng)(FS)。通過將SD存儲(chǔ)卡中指定的SD命令發(fā)布給SDeX存儲(chǔ)卡400并從SDeX存儲(chǔ)卡400接收對(duì)該SD命令的響應(yīng)就可以訪問該文件系統(tǒng)。當(dāng)利用引導(dǎo)程序從SDeX存儲(chǔ)卡400引導(dǎo)SD便攜設(shè)備300時(shí),該SD便攜設(shè)備300和SDeX存儲(chǔ)卡400就在整體上作為一個(gè)IC卡。螺旋天線埋置在SD便攜設(shè)備300的背面,并且當(dāng)該SD便攜設(shè)備300用作IC卡時(shí),螺旋天線從卡讀/寫器200中為SDeX存儲(chǔ)卡400提供電能。SD便攜設(shè)備300還在與SDeX存儲(chǔ)卡400的命令/響應(yīng)以及與EC服務(wù)器100的命令/響應(yīng)之間執(zhí)行雙向轉(zhuǎn)換。特別地,由該SD便攜設(shè)備300所執(zhí)行的雙向轉(zhuǎn)換是這樣的,即SD便攜設(shè)備300通過對(duì)從EC服務(wù)器100接收的EC命令進(jìn)行封裝來產(chǎn)生擴(kuò)展SD命令,然后將該擴(kuò)展SD命令輸出到SDeX存儲(chǔ)卡400,并從來自SDeX存儲(chǔ)卡400的SD響應(yīng)中取回EC響應(yīng),然后將所取回的EC響應(yīng)輸出到EC服務(wù)器100。其中利用引導(dǎo)程序從SDeX存儲(chǔ)卡400引導(dǎo)SD便攜設(shè)備300并且該SD便攜設(shè)備300用作IC卡的模式被稱作“EC模式”。其中SD便攜設(shè)備300使用SDeX存儲(chǔ)卡400作為記錄介質(zhì)的另一種模式被稱作“SD模式”。
當(dāng)所使用的SDeX存儲(chǔ)卡400處于SD模式時(shí),SDeX存儲(chǔ)卡400用作SD卡。在這種情況下,SDeX存儲(chǔ)卡400的主機(jī)設(shè)備是SD便攜設(shè)備300。SDeX存儲(chǔ)卡400存儲(chǔ)著由SD便攜設(shè)備300從分布服務(wù)器下載的音頻數(shù)據(jù)和視頻數(shù)據(jù)。該主機(jī)設(shè)備可以復(fù)制存儲(chǔ)在SDeX存儲(chǔ)卡400中的音頻數(shù)據(jù)和視頻數(shù)據(jù)。
當(dāng)所使用的SDeX存儲(chǔ)卡400處于EC模式時(shí),SDeX存儲(chǔ)卡400用作IC卡。在這種情況下,SDeX存儲(chǔ)卡400也連接到SD便攜設(shè)備300。然而,SDeX存儲(chǔ)卡400的主機(jī)設(shè)備不是SD便攜設(shè)備300,而是網(wǎng)絡(luò)上的EC服務(wù)器100。SDeX存儲(chǔ)卡400利用連接到SDeX存儲(chǔ)卡400的SD便攜設(shè)備300,連同卡讀/寫器200以及基站210一起,與該EC服務(wù)器100通信。利用這種通信,SDeX存儲(chǔ)卡400能夠執(zhí)行與EC服務(wù)器100的貨幣交易。
本實(shí)施例的SDeX存儲(chǔ)卡400更加方便了用戶,這是因?yàn)樗擞米鞣植嫉囊纛l數(shù)據(jù)和視頻數(shù)據(jù)的存儲(chǔ)器之外,還能夠用作IC卡。
在圖1中,EC模式下的存儲(chǔ)卡400通過卡讀/寫器200訪問EC服務(wù)器100,也可以使便攜設(shè)備300通過基站210訪問EC服務(wù)器100。
接著,將在下面描述根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡的制造。根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡可以基于圖2和3所示的內(nèi)部結(jié)構(gòu)進(jìn)行工業(yè)化地生產(chǎn)。
如圖2所示,在根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡中安裝連接器、防篡改模塊(TRM)1、具有256MB存儲(chǔ)容量的閃存2。
防篡改通常具有如下含義。
(1)即使物理地拆開該芯片,也不能分析內(nèi)部結(jié)構(gòu)。
(2)即使用電磁波照射該芯片,也不能分析內(nèi)部結(jié)構(gòu)。
(3)輸入數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度和處理時(shí)間之間的關(guān)系是非線性的。
(4)當(dāng)由于輸入數(shù)據(jù)而發(fā)生錯(cuò)誤時(shí),不會(huì)使用處理結(jié)果向回計(jì)算輸出數(shù)據(jù)。
由于(1)-(4)所描述的上述特征,TRM 1可以抵抗多種逆向工程。下面描述了TRM 1中的硬件部分。
圖3示出了TRM 1中的硬件結(jié)構(gòu)。如圖3所示,在TRM 1內(nèi)安裝內(nèi)部EEPROM 3、外部存儲(chǔ)器控制單元4、主機(jī)接口模塊(HIM)5、掩膜ROM6以及CPU 7,以形成一個(gè)微計(jì)算機(jī)系統(tǒng)。
內(nèi)部EEPROM 3是可讀可寫的存儲(chǔ)器。裝配為TRM 1的微計(jì)算機(jī)系統(tǒng)在每單位面積上的生產(chǎn)成本很昂貴。內(nèi)部EEPROM 3的容量是32KB。為了方便起見,在本說明書的某些情況下,將EEPROM稱為內(nèi)部存儲(chǔ)器,并將圖2所示的閃存2稱為外部存儲(chǔ)器。
外部存儲(chǔ)器控制單元4是用于訪問閃存2的專用電路。對(duì)閃存2的訪問是基于由SD便攜設(shè)備300所發(fā)布的SD命令來執(zhí)行的。
HIM 5查閱由SD便攜設(shè)備300所發(fā)布的SD命令的命令號(hào),并基于該命令號(hào)對(duì)SD命令分類。SD命令號(hào)包括從1至m的號(hào)碼,以及比m大的擴(kuò)展號(hào)。當(dāng)SD命令的命令號(hào)是1至m時(shí),SD命令就輸出到外部存儲(chǔ)器擴(kuò)展單元4,而當(dāng)該命令號(hào)比m大時(shí),就在從該SD命令獲取封裝的EC命令之后將該SD命令輸出到CPU 6中。
掩膜ROM 6是只讀存儲(chǔ)器,在其中預(yù)先存儲(chǔ)了操作系統(tǒng)(OS)、Java虛擬機(jī)和應(yīng)用程序。SD便攜設(shè)備300通過引導(dǎo)程序從該掩膜ROM 6的固定地址中進(jìn)行引導(dǎo),從而在EC模式下運(yùn)行。
CPU 7執(zhí)行存儲(chǔ)在掩膜ROM 6中的程序。
圖4示出了與圖3的TRM 1中的掩膜ROM 6和CPU 7相對(duì)應(yīng)的部分的軟件結(jié)構(gòu)。以虛線表示為wk 1的部分是與IC卡兼容的模塊(IC卡兼容模塊)。位于TRM 1內(nèi)部但在虛線之外的部分是與SD存儲(chǔ)卡兼容的模塊。
與SD存儲(chǔ)卡兼容的部分包括外部存儲(chǔ)器控制單元4和HIM 5。HIM 5具有SD存儲(chǔ)卡中的常規(guī)功能,并作為IC卡兼容模塊的接口。
IC卡兼容模塊具有分層的結(jié)構(gòu)。在這種分層的結(jié)構(gòu)中,內(nèi)部EEPROM3位于最底層(物理層),OS 10位于內(nèi)部EEPROM 3的上一層中,并且Java虛擬機(jī)9位于OS 10的上一層中。EC客戶機(jī)應(yīng)用程序8位于最頂層。值得注意的是,外部存儲(chǔ)器控制單元4與內(nèi)部EEPROM 3一起位于物理層中。
下面將給出對(duì)圖4所示的軟件結(jié)構(gòu)(EC客戶機(jī)應(yīng)用程序8、Java虛擬機(jī)9以及OS 10)的說明。
EC客戶機(jī)應(yīng)用程序8是一種以Java語言描述的EC應(yīng)用程序,它基于用戶的操作來訪問EC服務(wù)器100。EC服務(wù)器100具有多于一個(gè)的EC服務(wù)器應(yīng)用程序,其每一個(gè)都用于不同種類的EC服務(wù),并且該SDeX存儲(chǔ)卡400也具有多于一個(gè)的EC客戶機(jī)應(yīng)用程序,其每一個(gè)都用于不同種類的EC服務(wù)。圖中的“C_APL1,2,3,…,n”表示SDeX存儲(chǔ)卡400具有分別對(duì)應(yīng)于EC服務(wù)器應(yīng)用程序S_APL1,2,3,…,n的EC客戶機(jī)應(yīng)用程序。通過EC客戶機(jī)應(yīng)用程序8經(jīng)由卡讀/寫器200和基站210在EC服務(wù)器100上的EC服務(wù)器應(yīng)用程序之間發(fā)送和接收命令,用戶就可以接受EC服務(wù)器100上的各種EC服務(wù)。當(dāng)從EC服務(wù)器上的一個(gè)EC服務(wù)器應(yīng)用程序中接收的EC命令是寫數(shù)據(jù)命令時(shí),相應(yīng)的EC客戶機(jī)應(yīng)用程序就將所接收的EC命令通過Java虛擬機(jī)9輸出到OS 10。
EC客戶機(jī)應(yīng)用程序8,除了作為EC客戶機(jī)應(yīng)用程序這個(gè)計(jì)劃中的任務(wù)之外,還可在處于EC模式時(shí)基于用戶的操作來訪問閃存2和內(nèi)部EEPROM 3。EC客戶機(jī)應(yīng)用程序8所執(zhí)行的對(duì)閃存2和內(nèi)部EEPROM 3的訪問包括諸如創(chuàng)建文件以及在文件中讀/寫的文件訪問。
Java虛擬機(jī)9(在圖中以Java卡VMTM來表示)將以Java語言描述的EC客戶機(jī)應(yīng)用程序8轉(zhuǎn)換為CPU 7的本機(jī)代碼,并且使CPU 7執(zhí)行轉(zhuǎn)換后的應(yīng)用程序。
OS 10基于EC客戶機(jī)應(yīng)用程序所發(fā)布的命令對(duì)閃存2和內(nèi)部EEPROM3進(jìn)行讀寫。對(duì)SDeX存儲(chǔ)卡400的軟件結(jié)構(gòu)的說明到這里結(jié)束。
下面,將要解釋閃存2和內(nèi)部EEPROM 3的邏輯格式。圖5示出了外部閃存2和內(nèi)部EEPROM 3的邏輯格式。本發(fā)明的SDeX卡是多應(yīng)用程序的半導(dǎo)體存儲(chǔ)卡,它能夠處理多個(gè)應(yīng)用程序C_APL1,2,3,…,n。因此,本發(fā)明的SDeX卡的邏輯格式包括分別與應(yīng)用程序C_APL1,2,3,…,n相對(duì)應(yīng)的多個(gè)文件系統(tǒng)。
通常,存儲(chǔ)介質(zhì)的文件系統(tǒng)是存儲(chǔ)介質(zhì)中的一個(gè)區(qū)域,并且存儲(chǔ)在該文件系統(tǒng)中的數(shù)據(jù)作為一個(gè)文件或一個(gè)目錄是可識(shí)別的。特別地,訪問該存儲(chǔ)介質(zhì)的程序可以向該文件或目錄寫入數(shù)據(jù)或從中讀取數(shù)據(jù),而不用考慮存儲(chǔ)介質(zhì)中的諸如扇區(qū)和記錄塊的物理單元。用于在存儲(chǔ)介質(zhì)上實(shí)現(xiàn)文件和目錄的信息系統(tǒng)被稱作文件系統(tǒng)結(jié)構(gòu)。上面描述的邏輯格式包括用于每個(gè)EC客戶機(jī)應(yīng)用程序的這種文件系統(tǒng)。
作為閃存2和內(nèi)部EEPROM 3的整個(gè)區(qū)域的空間被劃分為兩個(gè)存儲(chǔ)空間sm 1和sm 2。存儲(chǔ)空間sm 1可由TRM 1中的CPU 7來訪問,并且包括EC客戶機(jī)應(yīng)用程序使用的使用區(qū)域21,以及同樣由EC客戶機(jī)應(yīng)用程序來使用的擴(kuò)展區(qū)域22。存儲(chǔ)空間sm 2不經(jīng)過TRM 1中的CPU 7的路由就可由SD便攜設(shè)備300進(jìn)行訪問,并且存儲(chǔ)空間sm 2包括已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24。已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24是SD存儲(chǔ)卡中的存儲(chǔ)器區(qū)域,它們由SD便攜設(shè)備中的應(yīng)用程序(SD應(yīng)用程序)來使用。參考上面所陳述的專利文獻(xiàn)(日本特開平專利申請(qǐng)?zhí)?001-14441)將有助于理解已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24的一般意義。
圖6示出了擴(kuò)展區(qū)域22、已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24的內(nèi)部結(jié)構(gòu)。擴(kuò)展區(qū)域22、已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24具有遵循ISO/IEC 9293的文件系統(tǒng)結(jié)構(gòu)。ISO/IEC 9293是為了方便起見而選擇的可用的文件系統(tǒng)結(jié)構(gòu)的一個(gè)實(shí)例,但也可以使用諸如通用磁盤格式(UDF)的不同的文件系統(tǒng)結(jié)構(gòu)。已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24在TRM 1之外,因此已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24的安全級(jí)別最低。倘若有3個(gè)級(jí)別(“高”、“中”和“低”),那么已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24的安全級(jí)別是“低”。
由EC客戶機(jī)應(yīng)用程序使用的使用區(qū)域21是一個(gè)提供了多于一個(gè)文件系統(tǒng)的區(qū)域。每個(gè)文件系統(tǒng)都與多個(gè)應(yīng)用程序中的一個(gè)應(yīng)用程序相對(duì)應(yīng)。在圖6中,只示出一個(gè)“主引導(dǎo)記錄”、“分區(qū)表”和“分區(qū)”。然而,多個(gè)應(yīng)用程序中的每一個(gè)在由EC客戶機(jī)應(yīng)用程序使用的使用區(qū)域21中分別具有相應(yīng)的“分區(qū)表”和“分區(qū)”。使用區(qū)域21的整個(gè)部分都包含在TRM 1中,因此使用區(qū)域21的安全級(jí)別是最高的。倘若存在3個(gè)級(jí)別(“高”、“中”和“低”),那么使用區(qū)域21的安全級(jí)別是“高”。
擴(kuò)展區(qū)域22是EC客戶機(jī)應(yīng)用程序使用的使用區(qū)域21的擴(kuò)展,它包括內(nèi)部EEPROM 3中的子區(qū)域22a和閃存2中的安全閃存區(qū)域22b。安全閃存區(qū)域22b包括分區(qū)1,2,3,…,n。分區(qū)1,2,3,…,n是文件系統(tǒng)區(qū)域,其中的每一個(gè)都與TRM中的多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序相對(duì)應(yīng)。為了識(shí)別作為文件系統(tǒng)區(qū)域的分區(qū)1,2,3,…,n,必須具有訪問該文件系統(tǒng)區(qū)域的信息(訪問信息)。在本實(shí)施例中,訪問信息與分區(qū)表1,2,3,…,n相對(duì)應(yīng)。包括在子區(qū)域22a中的分區(qū)表1,2,3,…,n是本實(shí)施例的特征部分。
SD便攜設(shè)備300只在SD模式中識(shí)別已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24。不可以在SD模式中訪問使用區(qū)域21和安全閃存區(qū)域22b,這是因?yàn)橹饕龑?dǎo)記錄和分區(qū)表都在TRM 1中。
只可以從CPU 7訪問安全閃存區(qū)域22b。這意味著對(duì)安全閃存區(qū)域22b的訪問基本上限制為EC客戶機(jī)應(yīng)用程序所進(jìn)行的訪問。安全閃存區(qū)域22b的安全級(jí)別是“中”,這是因?yàn)樵L問信息存儲(chǔ)在TRM 1中。倘若存在3個(gè)級(jí)別(“高”、“中”和“低”),那么使用區(qū)域21的安全級(jí)別是“中”。值得注意的是,運(yùn)行在SD模式下的應(yīng)用程序通過發(fā)布特殊命令,可以在例外的情況下訪問安全閃存區(qū)域22b。
在圖6中,使用區(qū)域21中的文件系統(tǒng)區(qū)域(分區(qū))和訪問信息(分區(qū)表)不同于安全閃存區(qū)域22b中的訪問信息。使用區(qū)域21是與安全閃存區(qū)域22b分離的區(qū)域。因此,即使在閃存2中的文件系統(tǒng)區(qū)域的內(nèi)容被帶惡意企圖的人泄露這種最糟糕的情況下,也幾乎不可能通過安全閃存區(qū)域22b的內(nèi)容而泄漏使用區(qū)域21。通過分別保存兩個(gè)訪問信息,可以為使用區(qū)域21實(shí)現(xiàn)防火墻功能,并且保持使用區(qū)域21的保密性。
安全閃存區(qū)域22b、已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24中的分區(qū)的內(nèi)部結(jié)構(gòu)是相同的。圖7示出了分區(qū)共有的結(jié)構(gòu)。
分區(qū)包括“分區(qū)引導(dǎo)扇區(qū)”、“雙重文件分配表”、“根目錄項(xiàng)”和“用戶區(qū)域”。
“分區(qū)引導(dǎo)扇區(qū)”是描述了用于分區(qū)的信息的表。
“雙重文件分配表(FAT)”是由兩個(gè)遵循ISO/IEC 9293的FAT構(gòu)成的。每個(gè)FAT包括FAT項(xiàng),其每一個(gè)都與一個(gè)不同的簇相對(duì)應(yīng)。每個(gè)FAT項(xiàng)都表示相對(duì)應(yīng)的簇是否正被使用。如果相對(duì)應(yīng)的簇沒有被使用,那么就將文件項(xiàng)設(shè)置為“0”,如果使用了相對(duì)應(yīng)的簇,那么就為該文件項(xiàng)設(shè)置簇號(hào)。簇號(hào)表示簇之間的鏈接,例如在讀取與該簇號(hào)的文件項(xiàng)相對(duì)應(yīng)的簇之后接下來要讀取哪一個(gè)簇。
“根目錄項(xiàng)”包括用于根目錄中的文件的文件項(xiàng)。每個(gè)文件項(xiàng)包括相應(yīng)文件的信息文件名、文件擴(kuò)展名、文件頭簇號(hào)(存儲(chǔ)該文件的頭部的簇的號(hào)碼)、文件屬性、文件記錄時(shí)間、文件記錄數(shù)據(jù)和文件長(zhǎng)度。
“用戶區(qū)域”是其中存儲(chǔ)文件的區(qū)域。屬于該用戶區(qū)域的一組扇區(qū)和記錄塊是該文件的實(shí)質(zhì)部分,該用戶區(qū)域被識(shí)別為一個(gè)文件。對(duì)分區(qū)的說明到這里結(jié)束。接下來要解釋分區(qū)表和分區(qū)引導(dǎo)扇區(qū)。
用于安全閃存區(qū)域22b的分區(qū)表在內(nèi)部EEPROM 3中。另一方面,用于已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24的分區(qū)表在閃存2中。然而,用于安全閃存區(qū)域22b、已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24的分區(qū)表都具有如圖8A所示的相同的內(nèi)部結(jié)構(gòu)。圖8A示出了分區(qū)表,而圖8B示出了圖7中的分區(qū)的分區(qū)引導(dǎo)扇區(qū)。
“分區(qū)表”是表示相應(yīng)的分區(qū)的位置和大小的表格,并且如圖8A中的箭頭ky 2所示,它包括“引導(dǎo)指示符”、用于指定分區(qū)的起始標(biāo)頭的“起始頭部”、用于指定分區(qū)的起始扇區(qū)的“起始扇區(qū)”、表示文件系統(tǒng)區(qū)域的類型的“系統(tǒng)ID”,“結(jié)束頭部”、用于指定分區(qū)的結(jié)束扇區(qū)的“結(jié)束扇區(qū)”、表示在分區(qū)的起始扇區(qū)之前的相關(guān)扇區(qū)數(shù)目的“相關(guān)扇區(qū)”以及表示分區(qū)中的扇區(qū)數(shù)目的“扇區(qū)總數(shù)”。
在分區(qū)引導(dǎo)扇區(qū)中,設(shè)置具有圖8B中所示的信息項(xiàng)目的擴(kuò)展FDC描述符。根據(jù)圖8B,擴(kuò)展FDC描述符包括如下項(xiàng)目跳轉(zhuǎn)命令、創(chuàng)建系統(tǒng)標(biāo)識(shí)符、表示一個(gè)扇區(qū)的大小的扇區(qū)大小、表示每個(gè)簇所具有的扇區(qū)數(shù)目的扇區(qū)每簇、保留的扇區(qū)讀數(shù)、表示包括在雙重FAT中的FAT的數(shù)目的FAT數(shù)目、根目錄項(xiàng)數(shù)目、扇區(qū)總數(shù)、介質(zhì)標(biāo)識(shí)符、表示每個(gè)FAT的扇區(qū)數(shù)目的扇區(qū)每FAT,扇區(qū)每磁道、側(cè)面的數(shù)目、隱藏扇區(qū)的數(shù)目、表示扇區(qū)的總數(shù)目的扇區(qū)總數(shù)、物理磁盤號(hào)、擴(kuò)展引導(dǎo)記錄簽名、卷ID號(hào)、卷標(biāo)、文件系統(tǒng)類型以及簽名字。
對(duì)TRM 1的內(nèi)部結(jié)構(gòu)的說明到這里結(jié)束。接下來,將對(duì)區(qū)域擴(kuò)展單元11和裝配該區(qū)域擴(kuò)展單元11的技術(shù)意義進(jìn)行說明。
在IC卡兼容模塊中,從EC服務(wù)器應(yīng)用程序接收的數(shù)據(jù)被寫入內(nèi)部EEPROM 3中。EC服務(wù)器應(yīng)用程序請(qǐng)求寫入的數(shù)據(jù)涉及金錢,并且大多數(shù)的這種數(shù)據(jù)在尺寸上足夠小,因此可以存儲(chǔ)在內(nèi)部EEPROM 3中。然而,在EC服務(wù)器應(yīng)用程序請(qǐng)求寫入的數(shù)據(jù)涉及年度交易計(jì)劃的情況下,內(nèi)部EEPROM 3沒有足夠的存儲(chǔ)容量,這是因?yàn)槟甓冉灰子?jì)劃在尺寸上太大了。另一方面,將年度交易計(jì)劃存儲(chǔ)在閃存2中沒有安全感,這是因?yàn)檫@種年度交易計(jì)劃所具有的保護(hù)價(jià)值僅次于金錢。
因而,區(qū)域擴(kuò)展單元11將使用區(qū)域從內(nèi)部EEPROM 3擴(kuò)展到閃存2,保持僅次于TRM 1的安全性。
區(qū)域擴(kuò)展單元11基于來自EC客戶機(jī)應(yīng)用程序的擴(kuò)展使用區(qū)域的請(qǐng)求,將閃存2中的一個(gè)文件系統(tǒng)區(qū)域分配給EC客戶機(jī)應(yīng)用程序。分配給EC客戶機(jī)應(yīng)用程序的文件系統(tǒng)區(qū)域被唯一分配給EC客戶機(jī)應(yīng)用程序,并且不允許其它EC客戶機(jī)應(yīng)用程序訪問該文件系統(tǒng)區(qū)域。在作為封閉空間的該文件系統(tǒng)區(qū)域中,EC客戶機(jī)應(yīng)用程序可自由地訪問文件。由區(qū)域擴(kuò)展單元11分配的文件系統(tǒng)區(qū)域是上述安全閃存區(qū)域22b中的一個(gè)分區(qū)。區(qū)域擴(kuò)展單元11的附著操作是基于來自EC客戶機(jī)應(yīng)用程序的打開文件系統(tǒng)的請(qǐng)求而執(zhí)行的。當(dāng)請(qǐng)求打開文件系統(tǒng)時(shí),區(qū)域擴(kuò)展單元11在閃存2中產(chǎn)生一個(gè)分區(qū),并為產(chǎn)生的分區(qū)分配一個(gè)分區(qū)表。然后,區(qū)域擴(kuò)展單元11將用于使用該文件系統(tǒng)區(qū)域的APL-ID賦予EC客戶機(jī)應(yīng)用程序。APL-ID是10位或更多位的隨機(jī)數(shù),并且象密碼一樣來使用。
EC客戶機(jī)應(yīng)用程序通過使用區(qū)域擴(kuò)展單元11所賦予的APL-ID,能夠從所分配的文件系統(tǒng)區(qū)域中讀取數(shù)據(jù)并將數(shù)據(jù)寫入其中。打開文件系統(tǒng)區(qū)域不同于打開文件,為了打開安全閃存區(qū)域22b中的文件,EC客戶機(jī)應(yīng)用程序需要執(zhí)行兩次打開操作;首先打開文件系統(tǒng),然后打開實(shí)際文件。
在EC客戶機(jī)應(yīng)用程序完成讀寫數(shù)據(jù)之后,執(zhí)行文件系統(tǒng)的分離。文件系統(tǒng)的分離是要釋放分配給EC客戶機(jī)應(yīng)用程序的分區(qū)。區(qū)域擴(kuò)展單元11進(jìn)行的分離是基于來自EC客戶機(jī)應(yīng)用程序的關(guān)閉文件系統(tǒng)的請(qǐng)求而執(zhí)行的。當(dāng)請(qǐng)求關(guān)閉文件系統(tǒng)時(shí),區(qū)域擴(kuò)展單元11執(zhí)行該分離操作。關(guān)閉文件系統(tǒng)區(qū)域不同于關(guān)閉文件,EC客戶機(jī)應(yīng)用程序需要執(zhí)行兩次關(guān)閉操作;首先關(guān)閉文件,然后關(guān)閉文件系統(tǒng)。當(dāng)稍后同一EC客戶機(jī)應(yīng)用程序要使用相同的分區(qū)時(shí),在區(qū)域擴(kuò)展單元11執(zhí)行附著操作之前EC客戶機(jī)應(yīng)用程序必須用APL-ID來證明真實(shí)性。
圖9示出了來自EC服務(wù)器100和SD便攜設(shè)備300的對(duì)SDeX存儲(chǔ)卡400的訪問。實(shí)線箭頭jt1、jt2和jt3示意地示出從EC服務(wù)器100對(duì)SDeX存儲(chǔ)卡400的訪問,而虛線箭頭hs1示意地示出從SD便攜設(shè)備300對(duì)SDeX存儲(chǔ)卡400的訪問。如該圖所示,在EC訪問中的EC服務(wù)器100可以訪問內(nèi)部EEPROM 3和閃存2的安全閃存區(qū)域22b中的任一個(gè),EC服務(wù)器100中的EC服務(wù)器應(yīng)用程序可以基于重要性的等級(jí)以及要寫入的數(shù)據(jù)的大小,來選擇要對(duì)哪一個(gè)進(jìn)行寫入。
圖10示出了SDeX存儲(chǔ)卡、SD便攜設(shè)備300和EC服務(wù)器100中的命令響應(yīng)序列。圖中向右的箭頭表示命令,向左的箭頭表示響應(yīng)。
在SD模式中,SD便攜設(shè)備300是主機(jī),并且SD便攜設(shè)備300通過HIM 5與SDeX存儲(chǔ)卡400的外部存儲(chǔ)器控制單元4之間執(zhí)行SD命令和SD響應(yīng)的發(fā)送/接收sc1、sc2、sc3和sc4。
EC模式中的序列使用與SD模式基本相同的序列,并通過HIM 5在SD便攜設(shè)備300和外部存儲(chǔ)器控制單元4之間執(zhí)行命令和響應(yīng)的發(fā)送/接收sc5和sc6。這里的命令和響應(yīng)是分別封裝EC命令和EC響應(yīng)而產(chǎn)生的SD命令和SD響應(yīng)。SD便攜設(shè)備300,除了經(jīng)由HIM 5執(zhí)行命令和響應(yīng)的發(fā)送/接收之外,還通過卡讀/寫器200、基站210和網(wǎng)絡(luò)執(zhí)行與EC服務(wù)器100之間的EC命令和EC響應(yīng)的發(fā)送/接收sc7和sc8。執(zhí)行EC命令和EC響應(yīng)的發(fā)送/接收是與SD模式下的序列的第一個(gè)不同之處。在與EC服務(wù)器100之間的命令和響應(yīng)的發(fā)送和接收中,SD便攜設(shè)備300執(zhí)行EC命令/響應(yīng)和SD命令/響應(yīng)之間的互相轉(zhuǎn)換。
下面將描述與SD模式下的序列的第二個(gè)不同之處。雖然在SD模式下命令/響應(yīng)直接在外部存儲(chǔ)器控制單元4和HIM 5之間傳輸,但EC模式中的命令/響應(yīng)經(jīng)由IC卡兼容模塊中的EC客戶機(jī)應(yīng)用程序8和區(qū)域擴(kuò)展單元11進(jìn)行傳輸。EC模式下的序列包括間接(indirection)uc1、uc2、uc3、uc4、uc5、uc6和uc7,這就是SD模式和EC模式的序列之間的第二處不同。
在這些間接中,在向閃存2寫入之前,EC客戶機(jī)應(yīng)用程序以一定的順序執(zhí)行文件系統(tǒng)的打開和文件的打開。當(dāng)指示執(zhí)行文件系統(tǒng)的打開時(shí),區(qū)域擴(kuò)展單元11執(zhí)行對(duì)文件系統(tǒng)的附著。
另一方面,在閃存2中寫入之后,EC客戶機(jī)應(yīng)用程序執(zhí)行文件的關(guān)閉和文件系統(tǒng)的關(guān)閉。當(dāng)指示執(zhí)行文件的關(guān)閉時(shí),區(qū)域擴(kuò)展單元11執(zhí)行對(duì)文件系統(tǒng)的分離。
如上所述,根據(jù)本實(shí)施例,在將使用區(qū)域從TRM 1的內(nèi)部EEPROM向閃存2擴(kuò)展中,作為擴(kuò)展區(qū)域的一部分的閃存2上的一個(gè)分區(qū)被分配給EC客戶機(jī)應(yīng)用程序,并且在TRM 1中產(chǎn)生分區(qū)表。由于作為擴(kuò)展區(qū)域的實(shí)質(zhì)部分的分區(qū)表在TRM中被保密,因此懷有惡意企圖的人就不能知道擴(kuò)展區(qū)域從哪里起始。這樣,就可以使EC客戶機(jī)應(yīng)用程序?qū)懭氲臄?shù)據(jù)保持保密性。
而且,為每個(gè)EC客戶機(jī)應(yīng)用程序分配一個(gè)分區(qū),并且這些分區(qū)之間的關(guān)系是互斥的。因此,即使多個(gè)EC客戶機(jī)應(yīng)用程序中的一個(gè)被懷有惡意企圖的人操作,分配給其它EC客戶機(jī)應(yīng)用程序的分區(qū)中所存儲(chǔ)的內(nèi)容也不會(huì)泄露給這個(gè)人所操作的EC客戶機(jī)應(yīng)用程序。由于對(duì)一個(gè)EC客戶機(jī)應(yīng)用程序的未授權(quán)訪問不會(huì)擴(kuò)展到其余的EC客戶機(jī)應(yīng)用程序,因此就可以使存儲(chǔ)的內(nèi)容保持保密性。
第二實(shí)施例第二實(shí)施例涉及一種改進(jìn),以便比第一實(shí)施例更緊密地保護(hù)安全閃存區(qū)域22b中所存儲(chǔ)的內(nèi)容。對(duì)SDeX存儲(chǔ)卡400中所存儲(chǔ)的內(nèi)容的保護(hù)通常通過加密該存儲(chǔ)的內(nèi)容來實(shí)現(xiàn)。
然而,在非法EC客戶機(jī)應(yīng)用程序訪問安全閃存區(qū)域22b的情況下,存在著這種可能性,即加密安全閃存區(qū)域22b中存儲(chǔ)的內(nèi)容的加密密鑰可能被操作該非法EC客戶機(jī)應(yīng)用程序的人泄露。在這種情況下,存在著另一種可能性,即訪問安全閃存區(qū)域22b的其他EC客戶機(jī)應(yīng)用程序的存儲(chǔ)內(nèi)容同樣被泄漏,并且損害可能蔓延到訪問安全閃存區(qū)域22b的其他EC客戶機(jī)應(yīng)用程序的EC提供者。
在本實(shí)施例中,為了防止安全閃存區(qū)域22b中所存儲(chǔ)的內(nèi)容被全部泄漏,當(dāng)分區(qū)被分配給每個(gè)EC客戶機(jī)應(yīng)用程序時(shí),OS 10向EC客戶機(jī)應(yīng)用程序分配唯一的加密密鑰。每當(dāng)EC客戶機(jī)應(yīng)用程序訪問所分配的安全閃存區(qū)域中的文件系統(tǒng)時(shí),EC客戶機(jī)應(yīng)用程序就使用分配給該EC客戶機(jī)應(yīng)用程序的唯一的加密密鑰,對(duì)要寫入該文件系統(tǒng)并從中讀出的數(shù)據(jù)進(jìn)行加密及解密。分區(qū)被一一對(duì)應(yīng)地分配給EC客戶機(jī)應(yīng)用程序,并使用分配給每個(gè)EC客戶機(jī)應(yīng)用程序的唯一的加密密鑰來執(zhí)行加密和解密。因此,即使操作一個(gè)EC客戶機(jī)應(yīng)用程序的用戶發(fā)現(xiàn)了分配給該EC客戶機(jī)應(yīng)用程序的加密密鑰,也不會(huì)發(fā)現(xiàn)分配給其他EC客戶機(jī)應(yīng)用程序的加密密鑰。
為了執(zhí)行上述加密和解密,OS 10具有圖11所示出的這種結(jié)構(gòu)。如圖11所示,OS 10除了如第一實(shí)施例中的區(qū)域擴(kuò)展單元11之外,還包括選擇表12、加密表13和加密/解密單元14。
選擇表12是在位長(zhǎng)和加密方法之間建立對(duì)應(yīng)關(guān)系的表。位長(zhǎng)表示當(dāng)產(chǎn)生EC客戶機(jī)應(yīng)用程序唯一的加密密鑰時(shí)該加密密鑰的位長(zhǎng)。加密方法表示使用所產(chǎn)生的加密密鑰來加密的算法。位長(zhǎng)和加密方法與從1至L的安全級(jí)別的值一一對(duì)應(yīng)。較長(zhǎng)的位長(zhǎng)和具有較高難度級(jí)別的算法與較高安全級(jí)別的值相對(duì)應(yīng),而較短的位長(zhǎng)和具有較低難度級(jí)別的算法與較低安全級(jí)別的值相對(duì)應(yīng)。這意味著難度級(jí)別越高并且位長(zhǎng)越長(zhǎng),則存儲(chǔ)在分區(qū)中的內(nèi)容的安全性變得越牢靠。安全級(jí)別的程度與加密的處理時(shí)間成比例關(guān)系。特別地,加密的難度級(jí)別越高并且加密密鑰的位長(zhǎng)越長(zhǎng),則加密和解密所需的處理時(shí)間就變得越長(zhǎng)。另一方面,加密的難度級(jí)別越低并且加密密鑰的位長(zhǎng)越短,則加密和解密所需的處理時(shí)間就變得越短,這樣,存儲(chǔ)在分區(qū)中的內(nèi)容的安全性變得較為不牢固。
加密表13是在APL-ID、加密方法和位長(zhǎng)之間建立對(duì)應(yīng)關(guān)系的表。
加密/解密單元14,在區(qū)域擴(kuò)展單元11將一個(gè)分區(qū)分配給一個(gè)EC客戶機(jī)應(yīng)用程序時(shí),從EC客戶機(jī)應(yīng)用程序8接收一個(gè)安全級(jí)別,在選擇表12中搜索與該安全級(jí)別相應(yīng)的加密方法和位長(zhǎng)(圖中的rf1和rf2),并產(chǎn)生具有搜索到的位長(zhǎng)的長(zhǎng)度的隨機(jī)數(shù)。所產(chǎn)生的隨機(jī)數(shù)被分配給該EC客戶機(jī)應(yīng)用程序以作為唯一的加密密鑰。分配的結(jié)果在加密表13中示出(圖中的“加記錄”)。在這以后,當(dāng)EC客戶機(jī)應(yīng)用程序?qū)憯?shù)據(jù)時(shí),加密/解密單元14使用所分配的加密密鑰,對(duì)從EC客戶機(jī)應(yīng)用程序中接收到的數(shù)據(jù)(圖中的“寫數(shù)據(jù)”)進(jìn)行加密,然后將加密的數(shù)據(jù)輸出到外部存儲(chǔ)器控制單元4(圖中的“寫加密的數(shù)據(jù)”)。當(dāng)EC客戶機(jī)應(yīng)用程序讀數(shù)據(jù)時(shí),加密/解密單元14使用所分配的加密密鑰,對(duì)從外部存儲(chǔ)器控制單元4接收的數(shù)據(jù)(圖中的“讀加密的數(shù)據(jù)”)進(jìn)行解密,然后將解密的數(shù)據(jù)輸出到EC客戶機(jī)應(yīng)用程序8(圖中的“讀數(shù)據(jù)”)。
通過使CPU 7執(zhí)行以計(jì)算機(jī)描述語言寫成的程序來執(zhí)行圖12A-C所示的流程圖中的處理,從而創(chuàng)建根據(jù)第二實(shí)施例的區(qū)域擴(kuò)展單元11和加密/解密單元14。
圖12A是示出由區(qū)域擴(kuò)展單元11和加密/解密單元14所執(zhí)行的處理的流程圖。
圖12A的流程圖中的步驟S1-S4表示由區(qū)域擴(kuò)展單元11執(zhí)行的處理。在步驟S1中,區(qū)域擴(kuò)展單元11將還沒有被分配的分區(qū)號(hào)i分配給已經(jīng)請(qǐng)求擴(kuò)展要使用的區(qū)域的EC客戶機(jī)應(yīng)用程序,然后在步驟S2中,將用于第i個(gè)分區(qū)的分區(qū)表寫入內(nèi)部EEPROM 3,并在閃存2中創(chuàng)建分區(qū)。在步驟S3中,區(qū)域擴(kuò)展單元11產(chǎn)生一個(gè)密碼,并且在步驟S4中,將所產(chǎn)生的密碼作為APL-ID通知給請(qǐng)求的EC應(yīng)用程序。
此外,圖12A的流程圖中的步驟S5-S7表示由加密/解密單元14執(zhí)行的處理。在步驟S5中,加密/解密單元14獲得與在擴(kuò)展請(qǐng)求中已通知的安全級(jí)別相對(duì)應(yīng)的加密方法和位長(zhǎng)。在步驟S6中,加密/解密單元14產(chǎn)生所獲得的位長(zhǎng)的隨機(jī)數(shù),并且在步驟S7中,將包括所獲得的加密方法、位長(zhǎng)以及所產(chǎn)生的隨機(jī)數(shù)的記錄添加到加密表中。
圖12B是示出由區(qū)域擴(kuò)展單元11和加密/解密單元14所執(zhí)行的文件寫處理的流程圖。
在步驟S11中,區(qū)域擴(kuò)展單元11獲得分配給應(yīng)用程序的APL-ID,以執(zhí)行文件寫處理。在步驟S12中,區(qū)域擴(kuò)展單元11通過APL-ID來識(shí)別分區(qū)號(hào)i,并從該應(yīng)用程序中接受用于參數(shù)buf、file和fp的設(shè)置。
在該步驟中接受的參數(shù)如下buf指向要寫入的數(shù)據(jù)的指針file數(shù)據(jù)要寫入的目標(biāo)文件的名稱fp目標(biāo)文件內(nèi)部的指針在步驟S13中,加密/解密單元14基于記錄中的加密方法i使用加密密鑰i對(duì)buf中的數(shù)據(jù)進(jìn)行加密,并在步驟S14中,區(qū)域擴(kuò)展單元11在文件指針?biāo)傅牟糠旨捌浜?,將加密的?shù)據(jù)寫入分區(qū)i的文件中。
圖12C是示出由區(qū)域擴(kuò)展單元11和加密/解密單元14所執(zhí)行的文件讀處理的流程圖。在步驟S21中,區(qū)域擴(kuò)展單元11獲得分配給執(zhí)行文件讀處理的應(yīng)用程序的APL-ID。在步驟S22中,區(qū)域擴(kuò)展單元11通過APL-ID來識(shí)別分區(qū)號(hào)i,并在步驟S23中,從該EC客戶機(jī)應(yīng)用程序接受用于參數(shù)buf、file、fp和size的設(shè)置。
在步驟S23中接受的參數(shù)如下buf指向要讀取的數(shù)據(jù)的指針file要從中讀取數(shù)據(jù)的目標(biāo)文件的名稱fp目標(biāo)文件內(nèi)部的指針size要讀取的數(shù)據(jù)的長(zhǎng)度在步驟S24中,區(qū)域擴(kuò)展單元11在文件指針?biāo)傅牟糠旨捌浜?,讀取分區(qū)i的文件中的加密數(shù)據(jù)的大小。在步驟S25,加密/解密單元14使用加密方法i中的加密密鑰i對(duì)讀取的數(shù)據(jù)進(jìn)行解密,然后將所解密的數(shù)據(jù)存儲(chǔ)在緩存中。
如上所述,根據(jù)本實(shí)施例,EC客戶機(jī)應(yīng)用程序考慮到安全級(jí)別和處理時(shí)間之間的關(guān)系,可以請(qǐng)求OS 10將安全級(jí)別指定為一個(gè)自變量的附著(attach)。如此,就可以通知OS 10,EC客戶機(jī)應(yīng)用程序請(qǐng)求多高的安全級(jí)別。
在本實(shí)施例中,安全級(jí)別是從EC客戶機(jī)應(yīng)用程序接收的。然而,還可以使OS 10自動(dòng)設(shè)置安全級(jí)別。而且,選擇表12中的加密方法和位長(zhǎng)是可以升級(jí)的。如此,就可以提高安全閃存區(qū)域的保密性。
另外,選擇表12和加密表13可以位于OS之外但在TRM 1之內(nèi)的區(qū)域。
第三實(shí)施例當(dāng)多個(gè)EC客戶機(jī)應(yīng)用程序中的一個(gè)EC客戶機(jī)應(yīng)用程序在Java虛擬機(jī)9上運(yùn)行時(shí),OS 10將所述多個(gè)EC客戶機(jī)應(yīng)用程序識(shí)別為一個(gè)任務(wù)。在這種情況下,當(dāng)從第一EC客戶機(jī)應(yīng)用程序切換到第二EC客戶機(jī)應(yīng)用程序時(shí),可能發(fā)生如下情況,即從第一EC客戶機(jī)應(yīng)用程序上的分離可能不執(zhí)行,并且第二EC客戶機(jī)應(yīng)用程序可能訪問第一EC客戶機(jī)應(yīng)用程序的分區(qū)。
如果懷有惡意企圖的人操作該第二EC客戶機(jī)應(yīng)用程序,就存在著在用于第一EC客戶機(jī)應(yīng)用程序的分區(qū)中存儲(chǔ)的內(nèi)容泄漏給這個(gè)人的可能性。在本實(shí)施例中,為了防止泄漏所存儲(chǔ)的內(nèi)容,當(dāng)從第一EC客戶機(jī)應(yīng)用程序向第二EC客戶機(jī)應(yīng)用程序的切換發(fā)生時(shí),Java虛擬機(jī)9通知區(qū)域擴(kuò)展單元11所述切換和用于第二應(yīng)用程序的APL-ID。
當(dāng)Java虛擬機(jī)9通知了EC客戶機(jī)應(yīng)用程序的切換時(shí),區(qū)域擴(kuò)展單元11執(zhí)行文件系統(tǒng)的分離。
如上所述,即使在Java虛擬機(jī)9上運(yùn)行時(shí)將EC客戶機(jī)應(yīng)用程序識(shí)別為一個(gè)任務(wù)的情況下,Java虛擬機(jī)9也會(huì)通知OS 10該EC客戶機(jī)應(yīng)用程序的切換,并執(zhí)行文件系統(tǒng)的分離。因此,就不會(huì)發(fā)生在一個(gè)應(yīng)用程序的分區(qū)中存儲(chǔ)的內(nèi)容被另一個(gè)EC客戶機(jī)應(yīng)用程序泄露這種情況。
第四實(shí)施例在第一至第三實(shí)施例中,在閃存2上分配可識(shí)別為文件系統(tǒng)的區(qū)域,并將用于訪問該文件系統(tǒng)的區(qū)域表存儲(chǔ)在防篡改模塊中。在第四實(shí)施例中,在閃存2上分配可識(shí)別為一個(gè)文件系統(tǒng)的區(qū)域以及該區(qū)域表的組合。
除了在閃存2中分配該組合之外,在TRM中產(chǎn)生用于訪問該文件系統(tǒng)區(qū)域的訪問信息。在本實(shí)施例中,訪問信息是用于訪問區(qū)域表的位置信息,也是解密該區(qū)域表的加密密鑰。
圖13示出了根據(jù)第四實(shí)施例的閃存2的配置。在圖中,在已認(rèn)證區(qū)域23和非認(rèn)證區(qū)域24之后設(shè)置安全閃存區(qū)域。在本實(shí)施例中,對(duì)存儲(chǔ)器的訪問是對(duì)每頁(1頁=512字節(jié))執(zhí)行的,并且安全閃存區(qū)域位于0100h頁(h表示16進(jìn)制數(shù))。
引出線hh1是為了詳細(xì)描述閃存2中的安全閃存區(qū)域的配置。如引出線所示出的,安全閃存區(qū)域包括“SF(安全閃存)區(qū)域表”、“SF區(qū)域表的備份”以及一直到16的“文件系統(tǒng)區(qū)域(1)-(16)”。引出線hh2是為了詳細(xì)描述SF區(qū)域表的內(nèi)部結(jié)構(gòu)。如引出線所示出的,SF區(qū)域表包括“安全閃存區(qū)域大小”以及32個(gè)“FS(文件系統(tǒng))項(xiàng)(1)-(32)”。當(dāng)文件系統(tǒng)區(qū)域的數(shù)量是16時(shí),F(xiàn)S項(xiàng)的數(shù)量就是32,這是因?yàn)槲募到y(tǒng)區(qū)域之間的空白區(qū)域也被計(jì)數(shù)了。
SF區(qū)域表的大小是388字節(jié),因此,SF區(qū)域表及其備份的總大小變?yōu)?76字節(jié)。一頁對(duì)應(yīng)于512字節(jié),所以兩個(gè)SF區(qū)域表就與兩頁一樣大。假設(shè)安全閃存區(qū)域的頭頁是100h,那么文件系統(tǒng)區(qū)域(1)就從102h開始。
引出線hh3是為了詳細(xì)描述文件系統(tǒng)[i]的FS項(xiàng)[i]的內(nèi)部結(jié)構(gòu),作為16個(gè)文件系統(tǒng)的一個(gè)例子。
FS項(xiàng)包括“狀態(tài)標(biāo)記”(1字節(jié)),表示文件系統(tǒng)[i]是無效的(設(shè)置為“0”),有效的(“1”),還是空(“2”),“FSID”(1字節(jié)),用于將從1至16的值設(shè)置為文件系統(tǒng)[i]的識(shí)別號(hào),“扇區(qū)單元”(1字節(jié)),表示包括在文件系統(tǒng)[i]中的扇區(qū)是1KB(當(dāng)設(shè)置為“1”時(shí)),還是4KB(當(dāng)設(shè)置為“2”時(shí)),“項(xiàng)單元”(1字節(jié)),表示FS項(xiàng)[i]是2KB(當(dāng)設(shè)置為“2”時(shí)),還是4KB(當(dāng)設(shè)置為“4”時(shí)),“區(qū)域大小”(4字節(jié)),表示文件系統(tǒng)[i]的區(qū)域大小,以及“頭頁”(4字節(jié)),表示從SF區(qū)域頭頁到文件系統(tǒng)[i]的相對(duì)頁面數(shù)量。通過查閱上面的FS項(xiàng)[i]的“頭頁”,就可以訪問文件系統(tǒng)[i]。
對(duì)安全閃存區(qū)域的配置的說明到這里結(jié)束。接下來,將說明TRM內(nèi)部存儲(chǔ)器3的配置。圖14示出了根據(jù)第四實(shí)施例的TRM內(nèi)部存儲(chǔ)器3的配置。該圖的特征在于,訪問SF區(qū)域表的訪問信息被分配在TRM內(nèi)部存儲(chǔ)器3之內(nèi)。
引出線hh4示出了訪問信息的內(nèi)部結(jié)構(gòu)。如引出線所示出的,訪問信息包括“SF頭頁訪問信息”和“FS項(xiàng)訪問信息(1)-(16)”。引出線hh5示出了SF頭頁訪問信息的內(nèi)部結(jié)構(gòu)。如引出線所示出的,SF頭頁訪問信息包括與SF區(qū)域表相關(guān)的2字節(jié)的“CRC”,表示用于加密該SF區(qū)域表的加密密鑰的位長(zhǎng)及加密方法的2字節(jié)的“加密方法”,用于加密SF區(qū)域表的32字節(jié)的“加密密鑰”,以及表示安全閃存區(qū)域的頭頁的4字節(jié)的“SF區(qū)域頭頁”。在頭頁是FFFF FFFFh的情況下,安全閃存區(qū)域不存在。在頭頁不是FFFF FFFFh的情況下,安全閃存區(qū)域從SF區(qū)域頭頁中所表示的頁開始。引出線hh6表示為SF頭頁訪問信息所設(shè)定的值的一個(gè)實(shí)例。在該實(shí)例中,CRC設(shè)置在56h和12h,加密方法設(shè)置在FEh和3Eh,加密密鑰設(shè)置在01h,02h,03h,04h,…,CCh,DDh,EEh和FFh,而SF區(qū)域頭頁設(shè)置在00h,001h,00h和00h。
接下來,作為16個(gè)FS項(xiàng)訪問信息的例子,將描述FS項(xiàng)訪問信息[i]的內(nèi)部結(jié)構(gòu)。引出線hh7示出了FS項(xiàng)訪問信息的結(jié)構(gòu)。FS項(xiàng)訪問信息[i]包括2字節(jié)“CRC”、2字節(jié)“加密方法”、32字節(jié)“加密密鑰”和4字節(jié)“空數(shù)據(jù)”。引出線hh8示出了FS項(xiàng)訪問信息的一個(gè)特定實(shí)例。在該實(shí)例中,CRC設(shè)置在93h和02h,加密方法設(shè)置在FFh和4Fh,而密鑰設(shè)置在FEh,E4h,ADh,2Ch,…,00h,11h,22h和33h。
圖15示出了根據(jù)第四實(shí)施例對(duì)安全閃存區(qū)域的訪問的過程。SF頭頁訪問信息和FS項(xiàng)訪問信息存儲(chǔ)在TRM內(nèi)部存儲(chǔ)器3中,因此,當(dāng)TRM中的OS訪問安全閃存區(qū)域的任意部分時(shí),OS通過查閱SF頭頁訪問信息中的頭頁來訪問加密SF區(qū)域表(如圖中的kj1),并且基于從SF頭頁訪問信息中所得的加密方法和加密密鑰來對(duì)加密SF區(qū)域表進(jìn)行解密,從而獲得SF區(qū)域表。
通過以上述方式解密SF區(qū)域表,就可以通過查閱包括在SF區(qū)域表中的FS項(xiàng)[i]來訪問文件系統(tǒng)區(qū)域[i]中的頭頁(如圖中的kj2)。而且,用于每個(gè)文件系統(tǒng)區(qū)域的加密密鑰和方法是在TRM內(nèi)部存儲(chǔ)器3的FS項(xiàng)訪問信息中指出,因此使用該加密密鑰和方法,通過對(duì)從任意文件系統(tǒng)區(qū)域中讀出的加密數(shù)據(jù)進(jìn)行解密,就可以獲得在安全閃存區(qū)域中存儲(chǔ)的內(nèi)容。
在圖13和14的配置中,當(dāng)加密分區(qū)表位于安全閃存存儲(chǔ)器中時(shí),SF頭頁訪問信息和FS項(xiàng)訪問信息存儲(chǔ)在TRM中。因此,即使當(dāng)SDeX卡連接到一個(gè)設(shè)備時(shí),該設(shè)備也不能讀取存儲(chǔ)在TRM中的SF頭頁訪問信息和FS項(xiàng)訪問信息,并且加密分區(qū)表的數(shù)據(jù)對(duì)該設(shè)備不具任何意義。這樣,就可以保持安全閃存區(qū)域的保密性。
對(duì)上面解釋的安全閃存區(qū)域的訪問是通過創(chuàng)建其中描述了如圖16-19所示的處理的程序,并且使CPU 7執(zhí)行該程序來實(shí)現(xiàn)的。圖16示出當(dāng)初始化該安全閃存區(qū)域時(shí)由OS 10所執(zhí)行的處理的順序的流程圖。在該流程圖中,OS 10在安全閃存存儲(chǔ)器2上分配安全閃存區(qū)域的頭頁(步驟S31),并獲得EC客戶機(jī)應(yīng)用程序的安全級(jí)別信息。該安全級(jí)別信息包括表示EC客戶機(jī)應(yīng)用程序的安全級(jí)別的加密方法和位長(zhǎng)。這里,如同第二實(shí)施例,加密方法表示將用于EC客戶機(jī)應(yīng)用程序的加密算法,而位長(zhǎng)表示將用于EC客戶機(jī)應(yīng)用程序的加密密鑰的位長(zhǎng)。
然后,OS 10基于所獲得的加密方法和位長(zhǎng)產(chǎn)生加密密鑰(步驟S32),將SF頭頁訪問信息(包括加密密鑰、加密方法和頭頁)寫入TRM內(nèi)部存儲(chǔ)器3(步驟S33),通過生成表示“空”狀態(tài)標(biāo)記的16個(gè)FS項(xiàng)并增加安全閃存區(qū)域大小來獲得SF區(qū)域表(步驟S34),以及在使用產(chǎn)生的加密密鑰并基于該加密方法進(jìn)行加密之后,將所生成的SF區(qū)域表寫入安全閃存2中頭頁及其后的位置(步驟S35)。通過上述處理,完成了安全閃存區(qū)域的初始化。
圖17是示出當(dāng)產(chǎn)生一個(gè)文件系統(tǒng)時(shí)由OS 10所執(zhí)行的處理順序的流程圖。在該流程圖中,OS 10從TRM內(nèi)部存儲(chǔ)器3中讀取SF頭頁訪問信息(步驟S41),并判斷該SF頭頁訪問信息的頭頁是否是FFFFFFFF(步驟S42)。如果判斷的結(jié)果是肯定的,那么不執(zhí)行其他的步驟就結(jié)束該流程。如果結(jié)果表示一個(gè)有效值,OS 10就使用加密密鑰并基于用于該SF頭頁訪問信息的加密方法來讀取并解密該加密SF區(qū)域表(步驟S43),并判斷FS項(xiàng)是否具有空位(blank slot)(步驟S44)。如果沒有空位,那么不執(zhí)行其他的步驟就結(jié)束該流程。
如果存在著任何的空位,OS 10就將空文件系統(tǒng)區(qū)域作為文件系統(tǒng)區(qū)域[i](步驟S45),獲得EC客戶機(jī)應(yīng)用程序的安全級(jí)別信息,并基于所獲得的安全級(jí)別信息中包括的加密方法和位長(zhǎng)生成用于該文件系統(tǒng)區(qū)域[i]的加密密鑰(步驟S46),在使用基于該加密方法的加密密鑰進(jìn)行加密之后,將分區(qū)引導(dǎo)扇區(qū)、FAT和用于該文件系統(tǒng)區(qū)域[i]的目錄項(xiàng)寫入文件系統(tǒng)區(qū)域[i]中(步驟S47)。如此,在安全閃存2中產(chǎn)生一個(gè)文件系統(tǒng)區(qū)域。
圖18是示出當(dāng)訪問該文件系統(tǒng)時(shí)由OS 10所執(zhí)行的處理順序的流程圖。在該流程圖中,OS 10從TRM內(nèi)部存儲(chǔ)器3中讀取SF頭頁訪問信息(步驟S51),并判斷SF頭頁訪問信息的頭頁是否是FFFFFFFF(步驟S52)。如果判斷的結(jié)果是肯定的,那么不執(zhí)行其他的步驟就結(jié)束該流程。如果結(jié)果表示一個(gè)有效值,OS 10就使用加密密鑰并基于用于該SF頭頁訪問信息的加密方法來讀取并解密該加密SF區(qū)域表(步驟S53)。OS 10從解密的SF區(qū)域表中讀取文件系統(tǒng)[j]的頭頁(步驟S54),并從安全閃存區(qū)域的頭頁和文件系統(tǒng)[j]的頭頁的全體中讀取加密的分區(qū)引導(dǎo)扇區(qū)、FAT和用于該文件系統(tǒng)區(qū)域[j]的目錄項(xiàng)(步驟S55)。然后,OS 10基于加密方法和FS項(xiàng)訪問信息中的加密密鑰對(duì)從文件系統(tǒng)[j]中讀取的數(shù)據(jù)進(jìn)行解密(步驟S56),基于解密的結(jié)果識(shí)別文件系統(tǒng)區(qū)域[j]中的目錄和文件(步驟S57),并基于加密方法和文件系統(tǒng)區(qū)域[j]中的加密密鑰在文件系統(tǒng)[j]中執(zhí)行文件訪問(步驟S58)。
圖19是示出當(dāng)刪除該文件系統(tǒng)時(shí)由OS 10所執(zhí)行的處理順序的流程圖。在該流程圖中,OS 10首先從TRM內(nèi)部存儲(chǔ)器3中讀取SF頭頁訪問信息(步驟S61),并判斷SF頭頁訪問信息的頭頁是否是FFFFFFFF(步驟S62)。如果判斷的結(jié)果是肯定的,那么不執(zhí)行其他的步驟就結(jié)束該流程。如果結(jié)果表示一個(gè)有效值,OS 10就使用加密密鑰并基于用于SF頭頁訪問信息的加密方法,從安全閃存區(qū)域的頭頁中讀取并解密加密的SF區(qū)域表(步驟S63)。OS 10然后從解密的SF區(qū)域表中讀取文件系統(tǒng)[j]的頭頁(步驟S64),并從安全閃存區(qū)域的頭頁和文件系統(tǒng)[j]的頭頁的全體中執(zhí)行文件系統(tǒng)區(qū)域[j]的大小的清除處理(步驟S65)。然后,OS 10將SF區(qū)域表中用于文件系統(tǒng)區(qū)域[j]的狀態(tài)標(biāo)記更新為空狀態(tài)(步驟S66),并且在使用加密密鑰并基于SF頭頁訪問信息中的加密方法對(duì)更新的SF區(qū)域表進(jìn)行加密后,將更新的SF區(qū)域表重新寫入安全閃存區(qū)域中(步驟S67)。通過以上步驟,完成了文件系統(tǒng)[j]的清除。
如上所述,根據(jù)本實(shí)施例,加密SF區(qū)域表位于安全閃存中,它具有SF頭頁訪問信息,該信息包括表示SF區(qū)域表的位置的信息、加密密鑰和在TRM中分配的加密方法。因此,只有TRM中的OS能夠識(shí)別安全閃存中的文件系統(tǒng)區(qū)域。通過在安全閃存區(qū)域中提供只能由TRM的OS訪問的文件系統(tǒng)區(qū)域,就可以擴(kuò)展EC客戶機(jī)應(yīng)用程序使用的使用區(qū)域,并且保持存儲(chǔ)內(nèi)容的保密性。
第五實(shí)施例在第一至第四實(shí)施例中,TRM內(nèi)部存儲(chǔ)器3和外部存儲(chǔ)器2分別是EEPROM和閃存。在第五實(shí)施例中,TRM內(nèi)部存儲(chǔ)器3和外部存儲(chǔ)器2中的每一個(gè)都包括兩個(gè)存儲(chǔ)模塊。圖20示出了根據(jù)第五實(shí)施例的存儲(chǔ)模塊的結(jié)構(gòu)。在圖中,EEPROM 3a和閃存2a是主存儲(chǔ)模塊,它們與第一至第四實(shí)施例中所描述的存儲(chǔ)器相同。在第五實(shí)施例中,將次級(jí)存儲(chǔ)模塊2b和3b分別提供給外部存儲(chǔ)器2和內(nèi)部存儲(chǔ)器3。次級(jí)存儲(chǔ)模塊2b和3b由鐵電隨機(jī)存取存儲(chǔ)器(FeRAM)構(gòu)成,并且FeRAM的性能大大不同于閃存。圖21是閃存和FeRAM之間的性能比較表。該表顯示了閃存成本低,并且適合于具有較大容量的存儲(chǔ)器(表中的○),但僅僅能夠以塊來寫入(※1)。一個(gè)塊的大小隨著閃存的容量變大而變大,因此當(dāng)向閃存中寫入較小尺寸的數(shù)據(jù)時(shí)丟失就會(huì)更多。而且,寫時(shí)間長(zhǎng)(10000ns),并且重寫的次數(shù)少(1,000,000次)。而且,因?yàn)樵谶M(jìn)行寫時(shí),已經(jīng)存儲(chǔ)的數(shù)據(jù)被一次刪除然后被重新寫入,所以寫性能不穩(wěn)定。
另一方面,F(xiàn)eRAM較昂貴且不適合于具有較大容量的存儲(chǔ)器(表中的△),但能夠以字節(jié)寫入,并具有較高速度(30-100ns)。而且,可以提高重寫的次數(shù)。
由于上述性能上的不同,就可以通過使用FeRAM的次級(jí)存儲(chǔ)模塊來彌補(bǔ)閃存的寫性能,并將頻繁更新的數(shù)據(jù),例如文件項(xiàng)和FAT存儲(chǔ)在次級(jí)存儲(chǔ)模塊中。圖22示出了分配有諸如文件項(xiàng)、FAT和清除處理管理表這樣頻繁更新的數(shù)據(jù)的FeRAM。
如上所述,尺寸小小且頻繁更新的數(shù)據(jù),例如文件項(xiàng)和FAT存儲(chǔ)在由FeRAM制成的次級(jí)存儲(chǔ)模塊中,就可以實(shí)現(xiàn)對(duì)諸如文件項(xiàng)和FAT這樣的數(shù)據(jù)的高速重寫。
FeRAM的另一特征是存儲(chǔ)在FeRAM中的數(shù)據(jù)只能讀取一次。這意味著存儲(chǔ)在FeRAM中的數(shù)據(jù)在讀取之后會(huì)被破壞(※4)。這種特征在保密方面是理想的,但結(jié)果會(huì)增加重寫的次數(shù),這是因?yàn)楫?dāng)讀取數(shù)據(jù)時(shí)必須再次寫入該數(shù)據(jù)。為了彌補(bǔ)破壞性讀取的特征,理想的是采用磁阻隨機(jī)存取存儲(chǔ)器(MRAM)。
第六實(shí)施例在第五實(shí)施例中,內(nèi)部存儲(chǔ)器3中的次級(jí)存儲(chǔ)模塊由FeRAM構(gòu)成。然而,在第六實(shí)施例中,防篡改模塊中的內(nèi)部存儲(chǔ)器3由FeRAM構(gòu)成。圖23示出了根據(jù)第六實(shí)施例的TRM內(nèi)部存儲(chǔ)器3的內(nèi)部結(jié)構(gòu)。TRM內(nèi)部存儲(chǔ)器3尺寸較小,因此不會(huì)過多地增加生產(chǎn)成本。值得注意的是,盡管第六實(shí)施例的TRM內(nèi)部存儲(chǔ)器3是由FeRAM構(gòu)成的,但同樣理想的是TRM內(nèi)部存儲(chǔ)器3只由MRAM構(gòu)成。
第七實(shí)施例在第一實(shí)施例中,EC客戶機(jī)應(yīng)用程序預(yù)先存儲(chǔ)在掩膜ROM 6中。然而,第七實(shí)施例涉及一種改進(jìn),其中EC客戶機(jī)應(yīng)用程序可以從EC服務(wù)器100下載并記錄在SDeX卡中。
根據(jù)第七實(shí)施例的TRM內(nèi)部存儲(chǔ)器3具有用于下載的EC客戶機(jī)應(yīng)用程序的區(qū)域。當(dāng)SD便攜設(shè)備從EC服務(wù)器100下載新的EC客戶機(jī)應(yīng)用程序時(shí),新的EC客戶機(jī)應(yīng)用程序就存儲(chǔ)在用于下載的EC客戶機(jī)應(yīng)用程序的區(qū)域中。
已預(yù)先保護(hù)的使用區(qū)域之一被分配給新下載的EC客戶機(jī)應(yīng)用程序。當(dāng)在下載后添加新的EC客戶機(jī)應(yīng)用程序時(shí),區(qū)域擴(kuò)展單元11將閃存2中的文件系統(tǒng)之一分配給下載的EC客戶機(jī)應(yīng)用程序。分配給下載的EC客戶機(jī)應(yīng)用程序的文件系統(tǒng)對(duì)于下載的EC客戶機(jī)應(yīng)用程序是唯一的,并且其它EC客戶機(jī)應(yīng)用程序不能訪問該文件系統(tǒng)。EC客戶機(jī)應(yīng)用程序可以在作為閉空間的文件系統(tǒng)中自由地執(zhí)行文件訪問。
如上所述,根據(jù)本實(shí)施例,當(dāng)將新的EC客戶機(jī)應(yīng)用程序添加到SDeX卡時(shí),區(qū)域擴(kuò)展單元11將文件系統(tǒng)分配給下載的EC客戶機(jī)應(yīng)用程序。因此,下載的EC客戶機(jī)應(yīng)用程序能夠使用SDeX卡上剛好夠用的區(qū)域。
為了將唯一的文件系統(tǒng)分配給下載的EC客戶機(jī)應(yīng)用程序,理想的是為將來要下載的EC客戶機(jī)應(yīng)用程序事先保留使用區(qū)域。
對(duì)第一至第七實(shí)施例的補(bǔ)充說明(A)盡管將EC應(yīng)用程序作為應(yīng)用程序的一個(gè)實(shí)例來進(jìn)行說明,但EC應(yīng)用程序也可以是其它種類的應(yīng)用程序。EC應(yīng)用程序可以是由諸如鐵路、航空、公交和高速公路的運(yùn)輸公司操作的服務(wù)器上的服務(wù)器應(yīng)用程序,以及與服務(wù)器應(yīng)用程序相對(duì)應(yīng)的客戶機(jī)應(yīng)用程序。由此,就可以將SDeX存儲(chǔ)卡400用于例如檢票和登機(jī)過程。
而且,EC應(yīng)用程序也可以是由國家和當(dāng)?shù)氐恼畽C(jī)構(gòu)操作的服務(wù)器上的服務(wù)器應(yīng)用程序。由此,就可以將SDeX存儲(chǔ)卡400用于例如居留權(quán)的各種證件的登記和發(fā)放。
(B)如圖12A-12C所示的數(shù)據(jù)處理是通過使用諸如CPU和EEPROM的硬件資源來實(shí)現(xiàn)的。特別地,在第一至第七實(shí)施例中描述的SDeX存儲(chǔ)卡是由程序和硬件結(jié)合來構(gòu)成的,其中根據(jù)想要的用途來執(zhí)行數(shù)據(jù)處理。
因?yàn)槌绦蛩鶊?zhí)行的數(shù)據(jù)處理實(shí)際上是使用硬件資源來實(shí)現(xiàn)的,已在流程圖中示出其進(jìn)程的程序被認(rèn)為是技術(shù)思想利用自然規(guī)則的產(chǎn)物,并因此作為單獨(dú)的程序被認(rèn)為是一項(xiàng)發(fā)明。圖12A-12C所示出的進(jìn)程公開了根據(jù)本發(fā)明的程序的實(shí)際工作的實(shí)例。
在第一至第七實(shí)施例中,以安裝在SDeX存儲(chǔ)卡400中的程序來描述該程序的實(shí)例。然而,也可以與SDeX存儲(chǔ)卡400分離來單獨(dú)實(shí)現(xiàn)該程序。單獨(dú)使用程序的實(shí)例包括(i)編制程序,(ii)傳輸程序而不考慮是否接收到補(bǔ)償,(iii)出借該程序,(iv)輸入程序,(v)通過雙向電子通信線路提供程序,而不考慮是否接收到補(bǔ)償,(vi)通過店面展示、目錄請(qǐng)柬、分發(fā)小冊(cè)子等等向一般用戶提供將程序的傳輸或出借。
關(guān)于通過雙向電子通信線路提供程序的實(shí)際使用的例子(v)包括(a)提供者將程序發(fā)送給用戶并讓用戶使用(程序下載服務(wù)),以及(b)通過電子通信線路僅將程序的功能提供給用戶而程序本身保留在提供者這邊(功能提供ASP服務(wù))。
(C)在圖12A-12C的流程圖中按時(shí)間順序執(zhí)行的步驟中的“時(shí)間”元素被認(rèn)為是基本的。因此,可更清晰地了解到流程圖中的進(jìn)程揭示了控制方法的實(shí)際使用。流程圖所示的進(jìn)程是根據(jù)本發(fā)明的控制方法的實(shí)際使用的實(shí)施例。因?yàn)楸景l(fā)明的預(yù)期目的是通過按年代順序執(zhí)行每個(gè)步驟來實(shí)現(xiàn)的,因此可更清晰地了解到流程圖中所示的進(jìn)程被認(rèn)為是根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡的控制方法的實(shí)際使用。
(D)在第一至第七實(shí)施例中,以EEPROM來說明防篡改存儲(chǔ)器之內(nèi)和之外的非易失性存儲(chǔ)器。但也可以使用諸如FeRAM的其它非易失性存儲(chǔ)器。
(E)盡管將蜂窩電話作為SD便攜設(shè)備300的一個(gè)實(shí)例來進(jìn)行說明,但SD便攜設(shè)備300可以是商業(yè)用途的便攜音頻設(shè)備、機(jī)頂盒(STB)或移動(dòng)電話。
(F)盡管將年度交易計(jì)劃作為具有僅次于金錢的價(jià)值的安全數(shù)據(jù)的一個(gè)實(shí)例,但也可以使用需要保密的其它類型的數(shù)據(jù),例如關(guān)于飛機(jī)???、購物券和商業(yè)秘密的信息。
(G)盡管區(qū)域擴(kuò)展單元11將分區(qū)作為EC客戶機(jī)應(yīng)用程序特有的文件系統(tǒng)進(jìn)行分配,但也可以使用其它類型的邏輯區(qū)域作為EC客戶機(jī)應(yīng)用程序特有的文件系統(tǒng)區(qū)域。例如,一個(gè)目錄可以作為用于一個(gè)EC客戶機(jī)應(yīng)用程序的文件系統(tǒng)區(qū)域。
工業(yè)實(shí)用性根據(jù)本發(fā)明的半導(dǎo)體存儲(chǔ)卡由于其可以擴(kuò)展安全區(qū)域因而適合于存儲(chǔ)需要保密性的各種數(shù)據(jù),并在例如消費(fèi)行業(yè)的各種領(lǐng)域具有更廣的實(shí)用性。
權(quán)利要求
1.一種包括防篡改模塊和非易失性存儲(chǔ)器的半導(dǎo)體存儲(chǔ)卡,其中該防篡改模塊包括內(nèi)部存儲(chǔ)器,其具有由存儲(chǔ)在所述防篡改模塊中的程序使用的使用區(qū)域;以及處理單元,其可用于(i)將該非易失性存儲(chǔ)器中的區(qū)域分配給該程序,以及(ii)在所述防篡改模塊的所述內(nèi)部存儲(chǔ)器上產(chǎn)生用于所述分配的區(qū)域的訪問信息,所述使用區(qū)域和所述分配的區(qū)域由此構(gòu)成該程序使用的全部區(qū)域。
2.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)卡,其中該內(nèi)部存儲(chǔ)器存儲(chǔ)著表示該使用區(qū)域的位置和大小的第一區(qū)域表,以及表示所述分配的區(qū)域的位置和大小的第二區(qū)域表,并且該訪問信息是該第二區(qū)域表。
3.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)卡,其中該處理單元包括分配單元,每當(dāng)產(chǎn)生所述訪問信息時(shí),該分配單元可用于分配該程序在訪問所述分配的區(qū)域時(shí)所使用的加密密鑰;加密單元,每當(dāng)該程序?qū)?shù)據(jù)寫入所述分配的區(qū)域時(shí),該加密單元可用于加密該數(shù)據(jù);以及解密單元,每當(dāng)該程序從所述分配的區(qū)域中讀取數(shù)據(jù)時(shí),該解密單元可用于解密該數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的半導(dǎo)體存儲(chǔ)卡,其中該處理單元進(jìn)一步包括接收單元,可用于從該程序接收安全級(jí)別;以及存儲(chǔ)單元,存儲(chǔ)用于不同安全級(jí)別的值、加密密鑰的位長(zhǎng)以及加密方法,該位長(zhǎng)和加密方法與所述值一一對(duì)應(yīng),由所述分配單元分配的所述加密密鑰是基于與所接收的安全級(jí)別相對(duì)應(yīng)的位長(zhǎng)而產(chǎn)生的,并且分別由所述加密單元和解密單元所進(jìn)行的所述加密和解密是基于與所接收的安全級(jí)別相對(duì)應(yīng)的加密方法來執(zhí)行的。
5.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)卡,其中該內(nèi)部存儲(chǔ)器存儲(chǔ)表示該使用區(qū)域的位置和大小的第一區(qū)域表,該非易失性存儲(chǔ)器存儲(chǔ)表示所述分配的區(qū)域的位置和大小的第二區(qū)域表,使用預(yù)定的加密密鑰來加密該第二區(qū)域表,以及該訪問信息是一組所述預(yù)定的加密密鑰和表示該第二區(qū)域表的位置的信息。
6.根據(jù)權(quán)利要求5所述的半導(dǎo)體存儲(chǔ)卡,其中該非易失性存儲(chǔ)器包括第一存儲(chǔ)模塊和第二存儲(chǔ)模塊,該第二存儲(chǔ)模塊中的寫單元比該第一存儲(chǔ)模塊中的寫單元小,并且該第二存儲(chǔ)模塊存儲(chǔ)文件管理數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的半導(dǎo)體存儲(chǔ)卡,其中該第二存儲(chǔ)模塊是鐵電隨機(jī)存取存儲(chǔ)器和磁阻隨機(jī)存取存儲(chǔ)器中的一種。
8.根據(jù)權(quán)利要求5所述的半導(dǎo)體存儲(chǔ)卡,其中所述防篡改模塊的所述內(nèi)部存儲(chǔ)器包括第一存儲(chǔ)模塊和第二存儲(chǔ)模塊,該第二存儲(chǔ)模塊中的寫單元比該第一存儲(chǔ)模塊中的寫單元小,并且該第二存儲(chǔ)模塊存儲(chǔ)文件管理數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的半導(dǎo)體存儲(chǔ)卡,其中該第二存儲(chǔ)模塊是鐵電隨機(jī)存取存儲(chǔ)器和磁阻隨機(jī)存取存儲(chǔ)器中的一種。
10.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)卡,它作為一種多應(yīng)用程序存儲(chǔ)卡,其中該程序是與該存儲(chǔ)卡兼容的一種應(yīng)用程序,以及該內(nèi)部存儲(chǔ)器具有與該應(yīng)用程序一一對(duì)應(yīng)的多個(gè)使用區(qū)域。
11.根據(jù)權(quán)利要求10所述的半導(dǎo)體存儲(chǔ)卡,其中每次向該存儲(chǔ)卡中添加應(yīng)用程序時(shí),該處理單元都分配一個(gè)將由該添加的應(yīng)用程序使用的區(qū)域。
12.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)卡,其中所述分配的區(qū)域是其中存儲(chǔ)文件的一個(gè)文件系統(tǒng)。
13.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)卡,其中該防篡改模塊包括執(zhí)行所述程序的CPU。
14.根據(jù)權(quán)利要求1所述的半導(dǎo)體存儲(chǔ)卡,其包括作為與連接到該存儲(chǔ)卡上的設(shè)備的接口的主機(jī)接口,其中該主機(jī)接口判斷來自該設(shè)備的命令是否是擴(kuò)展命令,以及如果判斷該命令為擴(kuò)展命令,則啟動(dòng)該程序。
15.一種半導(dǎo)體存儲(chǔ)卡,其包括防篡改模塊和非易失性存儲(chǔ)器,并包括多個(gè)文件系統(tǒng),所述文件系統(tǒng)中的每一個(gè)的安全級(jí)別為高、中和低之一,其中安全級(jí)別為高的第一文件系統(tǒng)存儲(chǔ)在所述防篡改模塊中,安全級(jí)別為低的第二文件系統(tǒng)存儲(chǔ)在所述非易失性存儲(chǔ)器中,以及安全級(jí)別為中的第三文件系統(tǒng)存儲(chǔ)在該非易失性存儲(chǔ)器中,而用于訪問該第三文件系統(tǒng)的訪問信息存儲(chǔ)在所述防篡改模塊中。
16.一種半導(dǎo)體存儲(chǔ)卡中的控制程序,該半導(dǎo)體存儲(chǔ)卡包括防篡改模塊和非易失性存儲(chǔ)器,并且該控制程序由所述防篡改模塊中的CPU來執(zhí)行,其中該防篡改模塊包括內(nèi)部存儲(chǔ)器,其具有由存儲(chǔ)在該防篡改模塊中的應(yīng)用程序使用的使用區(qū)域,以及該控制程序可用于(i)將該非易失性存儲(chǔ)器中的區(qū)域分配給該應(yīng)用程序,以及(ii)在所述防篡改模塊的所述內(nèi)部存儲(chǔ)器上產(chǎn)生用于所述分配的區(qū)域的訪問信息,該使用區(qū)域和所述分配的區(qū)域由此構(gòu)成由該應(yīng)用程序使用的全部區(qū)域。
全文摘要
本發(fā)明提供一種半導(dǎo)體存儲(chǔ)卡,當(dāng)電子商務(wù)(EC)應(yīng)用程序?qū)?shù)據(jù)寫入存儲(chǔ)器時(shí)該半導(dǎo)體存儲(chǔ)卡具有足夠的存儲(chǔ)容量。擴(kuò)展了用于防篡改模塊(TRM)1的EEPROM 3中的EC應(yīng)用程序的使用區(qū)域。這種擴(kuò)展是,將位于TRM 1之外的閃存2中所產(chǎn)生的分區(qū)分配給EC應(yīng)用程序,而在內(nèi)部EEPROM 3中分配分區(qū)表。由于該分區(qū)表在TRM 1中,因此只有TRM 1中的CPU 7可以訪問產(chǎn)生的分區(qū)表。由于對(duì)所擴(kuò)展的區(qū)域的訪問局限于TRM 1中的CPU 7,因此提高了所存儲(chǔ)的內(nèi)容的保密性。
文檔編號(hào)G06F9/445GK1745400SQ200480003318
公開日2006年3月8日 申請(qǐng)日期2004年1月30日 優(yōu)先權(quán)日2003年1月31日
發(fā)明者江原裕美, 川野真二, 中部太志 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社