JP4486828B2 - 半導体メモリカード、コンピュータ読取可能なプログラム - Google Patents
半導体メモリカード、コンピュータ読取可能なプログラム Download PDFInfo
- Publication number
- JP4486828B2 JP4486828B2 JP2004026852A JP2004026852A JP4486828B2 JP 4486828 B2 JP4486828 B2 JP 4486828B2 JP 2004026852 A JP2004026852 A JP 2004026852A JP 2004026852 A JP2004026852 A JP 2004026852A JP 4486828 B2 JP4486828 B2 JP 4486828B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- deletion
- memory card
- event
- semiconductor memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
FAT、ファイルエントリー等の管理情報を上書きして事足りるとしたのは理由がある。それは上書きに費やする処理時間との問題である。試算によると、512バイトの上書きには2m秒、1Mバイトで4秒が必要であり、10Mバイトの上書きならば40秒もの時間が必要であるといわれる。このことから、ファイル実体部を上書きして、読み取りが完全に不可能な状態にする削除(完全削除)は、時間がかかることがわかる。そしてこの完全削除を行う場合、削除ファイルのフラグメントの所在を示すデータを何処に配置するかが問題になる。フラグメント同様、所在を示すデータを不揮発メモリに配するとすれば、完全削除がなされるまでの間、フラグメントの所在は、第3者に読み取られる恐れがある。それでは、完全削除がなされるまでの間、削除ファイルについての情報は、充分に秘匿されているとはいえない。
所在表を参照したファイル実体部の上書きを、削除イベントが発生した後の処理の空き時間に実行すれば、ファイル実体部を上書きするための処理負荷は、複数の空き時間に分散されることになる。かかる分散により、処理待ち状態への復帰期間を短くすることができるので、処理の遅さをユーザに感じさせることなく、ファイル実体部に対する上書き処理を完遂させることができる。
ここで前記処理部は、半導体メモリカードと接続した機器が発行したコマンドに従って処理を行い、前記処理部は、機器からのコマンド発行を解析し、その解析結果に応じたイベントを発生する解析部を備え、前記削除部には、メイン削除部と、サブ削除部とがあり、メイン削除部は、削除イベントが発生した際、所在表の生成及びファイル管理情報に対する上書きを行い、サブ削除部は、他のイベントが発生した際、前記所在表を参照して、ファイル実体部に対する上書きを行ってもよい(2)。
削除イベントが発生した際、前記暗号鍵を上書きする処理を行い前記メイン削除部による管理情報上書きは、暗号鍵に対する上書きより後に行ってもよい(9)。
暗号鍵に対する上書きを、ファイル実体部に対する上書きよりも優先することにより、ファイルは先ず初めに、復号が不可能になる。ファイルに対する上書きに、かかる優先順位を持たせることで、時間の経過と共に、フラグメントをリバース解析するという行為は一層困難になる。
以降、本発明に係る半導体メモリカードの実施形態について説明する。本実施形態に係る半導体メモリカードは、ICカードの耐タンパモジュールを内蔵したSDeXメモリカードである。SDeXメモリカードは、SDメモリカード同様、SDポータブルデバイスの記録媒体に用いられながらも、ICカードの耐タンパモジュールを内蔵している。また本SDexメモリカード400は、外部機器との通信方式として、接触型通信方式、非接触通信方式の両方を備えている。
図1における使用環境は、ECサーバ100、カードリーダライタ200、無線基地局210、SDポータブルデバイス300から構成される。
SDポータブルデバイス300は、SDeXメモリカード400を接続して、SDeXメモリカード400をアクセスする機器である。SDポータブルデバイス300には、ブラウザソフト等がインストールされており、ユーザはこのブラウザのユーザインターフェイスを介して、SDeXメモリカード400におけるファイルシステム(File System(以下、FSと略す場合がある))をアクセスすることができる。このファイルシステムアクセスは、SDメモリカードで規定されているSDコマンドをSDeXメモリカード400に発行し、そのレスポンスをSDeXメモリカード400から受信することでなされる。また、SDポータブルデバイス300がSDeXメモリカード400からブートストラップを行って起動する場合、SDポータブルデバイス300はSDeXメモリカード400と一体になってICカードとして機能する。SDポータブルデバイス300の背面には、螺旋アンテナが埋設されており、ICカードとしての機能時において、この螺旋アンテナが、カードリーダライタ200から発せられる電力をSDeXメモリカード400に供給する。またSDポータブルデバイス300は、SDeXメモリカード400に対するコマンド・レスポンスと、ECサーバ100とのコマンド・レスポンスとの相互変換を行う。SDポータブルデバイス300による相互変換とは、ECサーバ100からのECコマンドをカプセル化した拡張SDコマンドを生成してSDeXメモリカード400に出力し、SDeXメモリカード400からのSDレスポンスよりECレスポンスを取り出して、ECサーバ100に出力する処理である。SDポータブルデバイス300がSDeXメモリカード400にてブートストラップを行い、ICカードとして機能することを『ECモード』という。また、SDポータブルデバイス300がSDeXメモリカード400を記録媒体として用いることを『SDモード』という。
尚図1においてSDeXメモリカード400は、ECモードにおいてカードリーダライタ200を介して、ECサーバ100をアクセスしたが、無線基地局210を介してSDポータブルデバイス300がネットワークを介してECサーバ100をアクセスしてもよい。
図2に示すように、本発明にかかる半導体メモリカードの内部には、コネクタ、耐タンパ性を有する耐タンパモジュールチップ(Tamper Resist Module(TRM))1、256Mバイトもの容量をもつフラッシュメモリチップが実装されている。
1)チップを物理的に開梱しても、内部構成は判読不可能である。
2)電磁波を照射しても内部構成は判読不可能である。
3)入力データのデータ長と、処理時間との関係がノンリニアである。
4)入力データによりエラーが発生した際の処理結果により、出力データが逆算されない。
図3は、TRM1内のハードウェア構成を示す図である。図3に示すようにTRM1には、内部EEPROM3、外部メモリ制御部4、HIM5、マスクROM6、CPU7が実装されており、マイコンシステムを形成している。
外部メモリ制御部4は、外部フラッシュメモリ2のアクセスのために設けられた専用回路である。外部フラッシュメモリ2のアクセスは、SDポータブルデバイス300が発するSDコマンドに基づき行われる。
CPU7は、マスクROM6に格納されているプログラムを実行する。
図4は、図3のTRM1内のマスクROM6とCPU7とからなる部分を、ソフトウェア構成に置き換えて描いた図である。破線枠wk1内は、ICカードと互換性があるモジュールである。一方TRM1において破線枠外の部分は、SDメモリカードと互換性があるモジュールである。
ICカード互換モジュールは、レイヤ構造をもつ。このレイヤ構造では、最下位層(物理層)に内部EEPROM3があり、この内部EEPROM3の上位層にAPI10が、更に上位層にはJava(登録商標)仮想マシン9が、最上位層にはECクライアントアプリ8がある。SDメモリカードとの互換部分である外部メモリ制御部4は、内部EEPROM3と同じく物理層にあることは注意されたい。
ECクライアントアプリ8は、Java(登録商標)言語で記述されたECアプリの一種であり、ユーザの操作に基づきECサーバ100をアクセスする。ECサーバ100におけるECサーバアプリは、ECサービス毎の複数種類のものが存在するので、SDeXメモリカード400におけるECクライアントアプリも、ECサービス毎の複数のものが存在する。図中のC_APL1,2,3・・・・nは、ECサーバ100におけるECサーバアプリS_APL1,2,3・・・・nのそれぞれについて、ECクライアントアプリが存在することを示す。ECクライアントアプリ8がカードリーダライタ200、無線基地局210やネットワークを介して、ECサーバ100上のECサーバアプリとコマンドの送受信を行うことにより、ECにおける様々なECサービスを享受する。ECサーバアプリから受信したECコマンドがデータの書き込みコマンドである場合、ECクライアントアプリ8は、そのECコマンドをJava(登録商標)仮想マシンを介してAPI10に出力する。
Java(登録商標)仮想マシン9(図中のJava(登録商標)Card VM)は、Java(登録商標)言語で記述されたECクライアントアプリ8を、CPU7のネィティブコードに変換して、CPU7に実行させる。
続いて外部フラッシュメモリ2及び内部EEPROM3における論理フォーマットについて説明する。図5は、外部フラッシュメモリ2及び内部EEPROM3の論理フォーマットを示す図である。外部フラッシュメモリ2及び内部EEPROM3は、2つのメモリ空間sm1,sm2を構成している。メモリ空間sm1は、TRM1内のCPU7からアクセス可能なメモリ空間であり、ECクライアントアプリの使用領域21、ECクライアントアプリの拡張領域22からなる。メモリ空間sm2は、TRM1内CPU7を介することなく、SDポータブルデバイス300がアクセスすることができるメモリ空間であり、認証領域23と、非認証領域24とがある。認証領域23、非認証領域24とは、SDメモリカードがもつメモリ領域であり、その意味合いについては特許3389186号公報を参照されたい。
パーティションは、『パーティションブートセクタ』、『二重化ファイルアロケーションテーブル(FAT)』、『ルートディレクトリエントリ』、『ユーザ領域』からなる。
『二重化ファイルアロケーションテーブル(FAT)』は、ISO/IEC 9293に準拠した2つのFATからなる。各FATは、各クラスタに対応づけられた複数のFATエントリーからなる。各FATエントリーは、対応するクラスタが使用中であるか、未使用であるかを示すものであり、対応するクラスタが未使用であれば、そのファイルエントリーには、"0"が設定され、対応するクラスタが使用中であれば、クラスタ番号が設定される。このクラスタ番号は、対応するクラスタが読み出された場合、次にどのクラスタを読み出せばよいかといったクラスタ間のリンク関係を示す。図8(a)の破線の引き出し線ff1は、FATに含まれる複数のFATエントリー002,003,004,005・・を示す。このFATエントリーに付与された数値『002,003,004,005・・』は、各FATエントリーがどのクラスタに対応づけられているか、つまり、各FATエントリーが対応づけられているクラスタのクラスタ番号を示す。
図10は、EOB001.SE1が複数のクラスタに記録されている場合のディレクトリエントリー及びFATについての設定例を示す図である。本図においてEOB001.SE1の先頭フラグメントがクラスタ003に記録されている場合、ルートディレクトリエントリーにおける『最初のクラスタ番号』には、その先頭フラグメントが格納されているクラスタについてのクラスタ番号003が記載される。以降、EOB001.SE1の後続するフラグメントは、クラスタ004、クラスタ005に格納されていることがわかる。EOB001.SE1の先頭フラグメントを格納しているクラスタ003には、FATエントリー003(004)が対応しているが、このFATエントリーは、EOBファイルの後続するフラグメントを格納しているクラスタ004を示すものである。またこれに後続しているフラグメントを格納しているクラスタ004,005には、FATエントリー004(005),FATエントリー005(00A)が対応しているが、これらのFATエントリーは、後続するフラグメントを格納しているクラスタ005,00Aを示す。
非コマンド実行中ハンドラ12は、API10内の何れかのイベントハンドラがコマンドを実行していない状態(非コマンド実行中)に駆動されるイベントハンドラである。非コマンド実行中ハンドラ12の駆動期間は、ECコマンドを実行する他のイベントハンドラの駆動期間と排他的な関係にあり、何れのイベントハンドラも駆動していない空き期間に、非コマンド実行中ハンドラ12は駆動される。
ファイル書き込みにあたって読み書きハンドラ14は、書込先ファイルのファイル名と、書き込もうとするデータをC_APL1,2,3・・・・nから受け取って(図中の(1)(2))、書込先ファイルに割り当てられた暗号鍵を暗号鍵テーブル15から取り出す(3)。そして、C_APL1,2,3・・・・nから受け取ったデータを暗号鍵テーブル15から取り出された暗号鍵で暗号化した上で(4)、ファイルに書き込む(5)。図12(b)は、読み書きハンドラ14によるファイル読み出しがどのように行われるかを示す図である。
本フローチャートのステップS101〜ステップS103は、イベントスキャンを行うループ処理である。このループ処理は、外部イベントが発生したか(ステップS101)、読み書きハンドラ14、削除ハンドラ16における処理が完了したか(ステップS102)、タイマハンドラ13における処理が完了したか(ステップS103)を監視している。
ステップS104においてイベント解析を行う。この解析より、外部イベントがECコマンドであるか、そのECコマンドはどのような内容であるかが明らかになる。外部イベントがECコマンドであり、そのECコマンドの内容が外部フラッシュメモリ2上のファイル読み書きを命じるものなら、つまりECコマンドが読み書きコマンドであるなら、読み書きイベント及びコマンド開始イベントを発生して(ステップS106)、ステップS101〜ステップS103に戻る。
外部イベントが、これら以外のイベントであるなら、そのイベントに応じた処理を行い(ステップS109)、ステップS101〜ステップS103のループ処理に戻る。
ステップS112は、タイマハンドラ13のタイムアウトが発生した場合に行うべき処理を規定する。この処理とは、停止イベントを発生するというものである(ステップS112)。
ステップS26はクリア処理管理テーブルが存在するかどうかの判定である。存在しなければ、処理を完了するが、存在すれば、ステップS27においてヌルクリア処理を実行する。
ステップS16では、ファイルエントリーのヌルクリアを行い、その後ステップS17で停止イベントが発生したかの判定を行う。もし停止イベントが発生すれば、その時点で削除ハンドラ16の処理を終える。
その後ステップS19で停止イベントが発生したかの判定を行う。もし停止イベントが発生すれば、その時点で削除ハンドラ16の処理を終える。停止イベントの発生がなければ、ステップS20でファイルのフラグメントに対するヌルクリアを行う。
図19は、サブルーチン化されたヌルクリア処理の処理手順を示すフローチャートである。ステップS31では、有効フラグが「1」のレコードであって、最先のものをレコードsに設定する。以降のステップS33〜ステップS40は、クリア済みアドレスから終了アドレスまでのデータ長が、単位長Xより長いか短いかによって場合分けを行う。ステップS32は、この長短の判定であり、クリア済みアドレスに上書き長Xを加算したアドレスがレコードsの終了アドレスより小さいかどうかを判定する。ステップS33〜ステップS35は、クリア済みアドレスから終了アドレスまでのデータ長が単位長Xより短い場合の処理である。つまり、クリア済みアドレスからXバイトだけフラグメント上書きを外部メモリ制御部4に命じる(ステップS33)。外部メモリ制御部4による上書き完了するのを待ち(ステップS34)、完了すれば。クリア済みアドレスをクリア済みアドレス+Xのアドレスに更新する(ステップS35)。
以上のように本実施形態によれば、ECクライアントアプリ8により発行されたECコマンドがファイル削除に関するものなら、削除ハンドラ16はタイマハンドラ13がタイムアウトするまでヌルクリアを行い、タイマハンドラ13のタイムアウトで削除ハンドラ16は自身の処理を完了する。ECクライアントアプリ8によるECコマンド発行から、イベント解析ハンドラ11によるECレスポンス発行までの期間を短く設定できるので、ECクライアントアプリ8における処理待ち時間を短縮化することができる。この短縮化により、ECクライアントアプリ8を操作するユーザを苛立たせることはない。
(第2実施形態)
第1実施形態は、開始アドレスから終了アドレスまで、つまり順方向にフラグメントをヌルコードで上書きするものであった。これに対し第2実施形態は、順方向の上書きに限られず様々な上書き手法を提案する。
項目「クリア方法」には、「順方向」「逆方向」「偶数・奇数」「奇数・偶数」という内容の設定が可能であり、クリア方法が順方向に設定されていると、ヌルコードによる上書きは、第1実施形態同様、クリア済みアドレスから終了アドレスまで順に行われる。一方クリア方法が逆方向に設定されていると、上書きはクリア済みアドレスから開始アドレスに向けて行われる。
クリア方法「奇数・偶数」とは、クリア済みアドレスから終了アドレスまでのうち、奇数アドレスを先にヌルクリアし、その後クリア済みアドレスから終了アドレスまでの偶数アドレスをヌルクリアするというものである。
更にECクライアントアプリ8から何等かのパラメーターを受け取り、このパラメータに応じてクリア方法を決めてもよい。
図23は、第2実施形態に係るヌルクリアサブルーチンの処理手順を示す図である。ステップS31では、有効フラグが「1」のレコードであって、最先のものをレコードsに設定し、ステップS51では、レコードsのクリア方法を参照する。クリア方法が順方向なら、ステップS50でヌルクリアを行う。このヌルクリアの手順は、図19のフローチャートのステップS32〜S40と同様である。
クリア方法が偶数・奇数なら(ステップS54)、クリア済みアドレス以降の偶数アドレスを、ヌルクリアする(ステップS55)。このヌルクリアの手順は、図19のフローチャートのステップS32〜S40と同様である。その後、偶数アドレスのヌルクリアが完了したなら(ステップS56)、クリア済みアドレス以降の奇数アドレスを、ステップS57でヌルクリアする(ステップS57)。このヌルクリアの手順は、図19のフローチャートのステップS32〜S40と同様である。
(第3実施形態)
第3実施形態は、第1実施形態におけるヌルコード上書きに一種の歯止めをかける実施形態である。どのようなケースで歯止めをかけるかというと、半導体メモリカードがカードリーダライタ200から、電力供給を受けている際、上書きは行わないというものである。カードリーダライタ200を介してECサーバ100をアクセスする際、SDeXメモリカード400はSDポータブルデバイス300背面の螺旋アンテナから電力供給を受けることは第1実施形態で示した通りである。電波による電力供給は、不安定かつ小電力であり、余計な処理負荷を発生させない方が望ましい。
SDポータブルデバイス300は、カードリーダライタ200に接近した際、非接触式の電力供給を受けていることを通知する拡張SDコマンドを、SDeXメモリカード400に出力する。一方、カードリーダライタ200から離反した際、非接触式の電力供給が解除された旨を通知する拡張SDコマンドを、SDeXメモリカード400に出力する。カードリーダライタ200への接近・離反は、カードリーダライタ200からのポーリングコマンドを受信したかどうかの判定で検出できる。
以上のように本実施形態によれば、カードリーダライタ200からの電力供給での動作時において、実体部に対するヌルクリアを行わないので、余計な処理負荷を生じさせないで済む。このため、SDeXメモリカード400の安定動作を実現することができる。
第1実施形態〜第3実施形態において耐タンパモジュールの内部メモリ3及び外部メモリ2は、それぞれEEPROM及びフラッシュメモリで構成していた。これに対し第4実施形態では、耐タンパモジュールの内部メモリ3及び外部メモリ2を、2つのメモリモジュールで構成する。図25は、第4実施形態に係るメモリモジュールの構成を示す図である。本図において、EEPROM3a、フラッシュメモリ2aは、主たるメモリモジュールであり、第1実施形態〜第6実施形態に示したものと同じである。第4実施形態では、このメモリモジュールに加え、予備のメモリモジュール2b,3bが内部メモリ3及び外部メモリ2に追加されている。この予備のメモリモジュール2b,3bは強誘電体メモリ(Ferro Electric Random Access Memory(FeRAM))で構成されており、その性能はフラッシュメモリと大きく異なる。図26は、フラッシュメモリ、FeRAMの性能比較を示す図である。本図を参照すると、フラッシュメモリは価格面では低廉であり、大容量化には向いているが(図中の○)、ブロック単位の書き込みしか行えない(※1)。このブロックのサイズは、フラッシュメモリが大容量になればそれにつれ大きくなるので、小サイズのデータを書き込む場合、ロスが大きくなる。また書き込み時間は長く(10000ns)、書き込み回数も少ない(1,000,000回)。そして書込時には、既に格納されているデータを一旦消去して書き込みを行うため、書き込み性能は不安定となる(※2)。
かかる性能差があることから、予備のメモリモジュールをFeRAMで構成し、ファイルエントリーやFAT等、更新頻度が高いデータをメモリモジュールに配せば、フラッシュメモリにおける書込性能を補うことができる。図27は、ファイルエントリーやFAT、クリア処理管理テーブルというような、更新頻度が高いデータが配されたFeRAMを示す図である。
FeRAMには、他にワンスタイムリードという特性がある。これは、格納されているデータを一度読み出せば、その格納内容は破壊されるという特性である(図の※4)。これは守秘性を徹底する意味では好ましいが、データの読み出し時には、再度データを書き込む必要があり、結局書込回数が増えてしまう。この読出時のデータ破壊という特性を補うなら、磁気共鳴メモリ(Magnetoresitive RAM(MRAM))を採用することが望ましい。
第4実施形態では予備のメモリモジュールをFeRAMで構成していたが、第5実施形態は耐タンパモジュールの内部メモリ3をFeRAMで構成するという態様に関する。図28は、第5実施形態に係るTRM内メモリ3の内部を示す図である。耐タンパモジュールの内部メモリ3は小サイズなので、FeRAMで構成しても、大きなコストアップにならない。尚、第5実施形態ではTRM内メモリ3をFeRAMのみで構成するとしたが、MRAMのみで構成してもよい。
本実施形態は、ファイルの管理情報を、ファイル実体部用の暗号鍵とは別の暗号鍵で暗号化しておく実施形態である。TRM1におけるTRM内メモリ3には、この管理情報用の暗号鍵も記録されている。そして、ファイル削除が命じられた際、削除ハンドラ16は、第1実施形態の処理に加え、前記管理情報用の暗号鍵を上書きする処理を行う。この上書きは、実体部用の暗号鍵の上書きより早くなされる。
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。但し、請求項に係る発明に含まれる他の具体例であって、本明細書及び図面、及び、出願時の技術常識をもって当業者が実施できる程度のものは、その記載を省略している。
(B)図15〜図19、図23、図24に示したプログラムによる情報処理は、CPU、EEPROMといったハードウェア資源を用いて具体的に実現されている。つまり、プログラムと、ハードウェアとが協働した具体的手段が、使用目的に応じた情報処理を行うことにより、第1実施形態〜第6実施形態に示したSDeXメモリカード400は構築される。
(C)図15〜図19、図23、図24のフロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、制御方法の使用形態を開示していることがわかる。これらのフロ−チャ−トこそ、本発明に係る制御方法の使用行為についての実施形態である。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る半導体メモリカードの制御方法の実施行為に該当することはいうまでもない。
(E)SDポータブルデバイス300は、携帯電話タイプのものを一例にして説明したが、民生用の携帯オーディオ機器やSTB(Set Top Box)や携帯電話であってもよい。
本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。
(c)ユーザ領域の構成を示す図。
2 外部EEPROM
3 内部EEPROM
4 外部メモリアクセス部
5 HIM
6 マスクROM
7 CPU
8 クライアントアプリ
9 仮想マシン
10 API
11 イベント解析ハンドラ
12 非コマンド実行中ハンドラ
13 タイマハンドラ
14 読み書きハンドラ
15 削除ハンドラ
21 アプリケーションプログラムの使用領域
22 セキュア領域
23 認証領域
24 非認証領域
100 ECサーバ
200 カードリーダライタ
210 無線基地局
300 ポータブルデバイス
Claims (17)
- 半導体メモリカードであって、
ファイルが格納された不揮発メモリと、
処理部と、内部メモリとを含む耐タンパモジュールとを備え、
ファイルは、ファイル実体部と、ファイル管理情報とからなり、
前記処理部は、
ファイルについての削除イベントが発生した際、所在表を耐タンパモジュールの内部メモリ上に生成し、不揮発メモリにおけるファイルの管理情報に対する上書きを行う削除部を備え、
耐タンパモジュール内の所在表とは、ファイル実体部の所在を示すテーブルであり、ファイル実体部の上書きを実行するにあたって、削除部により参照される
ことを特徴とする半導体メモリカード。 - 前記処理部は、半導体メモリカードと接続した機器が発行したコマンドに従って処理を行い、
前記処理部は、機器からのコマンド発行を解析し、その解析結果に応じたイベントを発生する解析部を備え、
前記削除部には、メイン削除部と、サブ削除部とがあり、
メイン削除部は、
削除イベントが発生した際、所在表の生成及びファイル管理情報に対する上書きを行い、
サブ削除部は、
他のイベントが発生した際、前記所在表を参照して、ファイル実体部に対する上書きを行う
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記処理部は、削除イベントが発生した際、計時を開始するタイマを備え、
前記メイン削除部は、当該タイマがタイムアウトするまでの間、ファイル管理情報に対する上書きに加え、ファイル実体部の一部分に対する上書きを行い、
前記サブ削除部による上書きの対象は、メイン削除部により上書きがなされた部分の残りである
ことを特徴とする請求項2記載の半導体メモリカード。 - 前記所在表は、ファイル実体部において上書きが完了した位置を示すクリア済みアドレスと、
複数の上書き手法のうち何れの手法で、実体部に対する上書きを行うかを示す指示情報とを含み、
前記サブ削除部は、
所在表に示される指示情報に従って実体部に対する上書きを行い、その度に、所在表におけるクリア済みアドレスを更新する
ことを特徴とする請求項3記載の半導体メモリカード。 - 前記削除イベントとは、半導体メモリカードと接続した機器が前記ファイルの削除コマンドを発行した際、解析部が発生するイベントであり、
前記他のイベントとは、何等かのコマンドについての処理を、処理部が終了した際、解析部が発生するコマンド終了イベントである
ことを特徴とする請求項2記載の半導体メモリカード。 - 前記処理部は、削除イベントで駆動される削除ハンドラ、コマンド終了イベントで駆動されるコマンド非実行中ハンドラを備え、
前記メイン削除部とは、削除ハンドラであり、
前記サブ削除部とは、コマンド非実行中ハンドラである
ことを特徴とする請求項5記載の半導体メモリカード。 - 前記削除イベントとは、半導体メモリカードと接続した機器が前記ファイルの削除コマンドを発行した際、解析部が発生するイベントであり、
前記他のイベントとは、半導体メモリカード内の別のファイルに対する読出コマンドを機器が発行した際、解析部が発生する読出イベント、又は、
半導体メモリカード内の別のファイルに対する書込コマンドを機器が発行した際、解析部が発生する書込イベントである、
ことを特徴とする請求項2記載の半導体メモリカード。 - 前記処理部は、削除イベントで駆動される削除ハンドラ、読出イベント又は書込イベントで駆動される読み書きハンドラを備え、
前記メイン削除部とは、削除ハンドラであり、
前記サブ削除ハンドラは、読み書きハンドラの一構成要素である
ことを特徴とする請求項7記載の半導体メモリカード。 - 前記内部メモリには、所定の暗号鍵が記録されており、
前記ファイルの実体部は当該暗号鍵を用いて暗号化されており、
前記メイン削除部は更に、
削除イベントが発生した際、前記暗号鍵を上書きする処理を行い
前記メイン削除部による管理情報上書きは、暗号鍵に対する上書きより後に行われる
ことを特徴とする請求項2記載の半導体メモリカード。 - 前記ファイルの管理情報は、前記暗号鍵とは別の暗号鍵で暗号化されており、
前記内部メモリには、前記管理情報用の暗号鍵も記録されており、
前記メイン削除部は更に、
削除イベントが発生した際、前記管理情報用の暗号鍵を上書きする処理を行い
前記メイン削除部によるファイル実体部用暗号鍵の上書きは、管理情報用暗号鍵に対する上書きより後に行われる
ことを特徴とする請求項9記載の半導体メモリカード。 - 前記ファイルの実体部は、フラグメント化されており、
前記所在表は、
実体部を構成する各フラグメントの開始アドレスと、
各フラグメントの上書きが未完である場合、オフに設定され、フラグメントが全て上書きされた場合、オンに設定されるフラグとを含む
ことを特徴とする請求項9記載の半導体メモリカード。 - 前記半導体メモリカードは、機器からの接触式の電力供給又は機器からの非接触式の電力供給により駆動するものであり、
前記処理部による上書きは、
機器からの接触式の電力供給がなされている場合に行われるものであり、
機器からの非接触式の電力供給がなされている場合行われない
ことを特徴とする請求項1記載の半導体メモリカード。 - 不揮発メモリは、第1のメモリモジュールと、第2のメモリモジュールとからなり、
第2メモリモジュールは、書き込み単位が第1メモリモジュールより小さく、 ファイルの管理情報は、第2メモリモジュールに記録されている
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記第2メモリモジュールは、強誘電体メモリ(Ferro Electric Random Access Memory)又は磁気共鳴メモリ(Magnetoresitive Random Access Memory)である
ことを特徴とする請求項13記載の半導体メモリカード。 - 耐タンパモジュールの内部メモリは、第1のメモリモジュールと、第2のメモリモジュールとからなり、
第2メモリモジュールは、書き込み単位が第1メモリモジュールより小さく、 前記所在表は、第2メモリモジュールに記録されている。
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記第2メモリモジュールは、Ferro Electric Random Access Memory又はMagnetoresitive Random Access Memoryである
ことを特徴とする請求項15記載の半導体メモリカード。 - 不揮発メモリと、耐タンパモジュールとを備える半導体メモリカードにおいて、耐タンパモジュール内のCPUにより実行される制御プログラムであって、
不揮発メモリには、ファイルが格納されており、
ファイルは、ファイル実体部と、ファイル管理情報とならなり、
耐タンパモジュールは、内部メモリを含み、
制御プログラムは、
ファイルについての削除イベントが発生した際、所在表を耐タンパモジュールの内部メモリ上に生成し、不揮発メモリにおけるファイルの管理情報に対する上書きを行い、
耐タンパモジュール内の所在表とは、ファイル実体部の所在を示すテーブルであり、ファイル実体部の上書きを実行するにあたって、制御プログラムにより参照される
ことを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004026852A JP4486828B2 (ja) | 2003-02-04 | 2004-02-03 | 半導体メモリカード、コンピュータ読取可能なプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003027683 | 2003-02-04 | ||
JP2004026852A JP4486828B2 (ja) | 2003-02-04 | 2004-02-03 | 半導体メモリカード、コンピュータ読取可能なプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004259265A JP2004259265A (ja) | 2004-09-16 |
JP4486828B2 true JP4486828B2 (ja) | 2010-06-23 |
Family
ID=33133666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004026852A Expired - Lifetime JP4486828B2 (ja) | 2003-02-04 | 2004-02-03 | 半導体メモリカード、コンピュータ読取可能なプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4486828B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338370A (ja) * | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US7725614B2 (en) | 2006-08-08 | 2010-05-25 | Sandisk Corporation | Portable mass storage device with virtual machine activation |
EP2049991A2 (en) * | 2006-08-08 | 2009-04-22 | Sandisk Corporation | Portable mass storage with virtual machine activation |
CN101661438B (zh) * | 2008-08-29 | 2013-08-28 | 鸿富锦精密工业(深圳)有限公司 | 电子装置及中央处理器寻址空间扩展方法 |
JP2010165256A (ja) * | 2009-01-16 | 2010-07-29 | Toshiba Corp | 情報処理装置 |
JP5595965B2 (ja) * | 2011-04-08 | 2014-09-24 | 株式会社東芝 | 記憶装置、保護方法及び電子機器 |
CN103390139A (zh) * | 2012-05-11 | 2013-11-13 | 慧荣科技股份有限公司 | 数据储存装置以及其数据保护方法 |
KR101605156B1 (ko) | 2014-12-11 | 2016-03-21 | 네이버비즈니스플랫폼 주식회사 | 파일 안전 삭제 기능 제공 장치, 방법 및 컴퓨터 프로그램 |
KR101707183B1 (ko) * | 2015-11-12 | 2017-02-15 | 네이버비즈니스플랫폼 주식회사 | 파일 안전 삭제 기능 제공 방법 및 컴퓨터 프로그램 |
-
2004
- 2004-02-03 JP JP2004026852A patent/JP4486828B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004259265A (ja) | 2004-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4469405B2 (ja) | 半導体メモリカード、プログラム | |
CN101427225B (zh) | 数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术 | |
JP2003132305A (ja) | メモリカードを制御するための装置および方法 | |
US20060161749A1 (en) | Delivery of a message to a user of a portable data storage device as a condition of its use | |
US20100070707A1 (en) | Portable electronic device and data processing method in portable electronic device | |
JP3445304B2 (ja) | ファイル管理装置 | |
EP1493157B1 (en) | Semiconductor memory card and computer readable program | |
JP4486828B2 (ja) | 半導体メモリカード、コンピュータ読取可能なプログラム | |
EP1733305A1 (en) | Semiconductor memory | |
JP4681314B2 (ja) | 無線通信システム,リーダ/ライタ装置,鍵管理方法,およびコンピュータプログラム | |
JP4279699B2 (ja) | 半導体メモリカード、制御プログラム。 | |
JP2005134953A (ja) | 未設定icカード、icカード発行システム及びicカードアプリケーションの発行方法 | |
JP2003196613A (ja) | メモリカードを制御するための装置および方法 | |
JP3915514B2 (ja) | Icカード | |
JP2001005928A (ja) | Icカード | |
JP2011060136A (ja) | 携帯可能電子装置、および、携帯可能電子装置におけるデータ管理方法 | |
JP7438432B1 (ja) | 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム | |
JP3775697B2 (ja) | 携帯可能情報記憶媒体 | |
JP3166168B2 (ja) | Icカードを利用したデータの記録方法 | |
JP3054119B2 (ja) | 携帯可能電子装置 | |
CN101436163A (zh) | 非挥发性存储器储存装置及其存取方法 | |
JP2694170B2 (ja) | Icカードシステム | |
JPH09231330A (ja) | Icカード | |
JPS63223995A (ja) | 携帯可能電子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061122 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100302 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100329 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140402 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |