JP4279699B2 - 半導体メモリカード、制御プログラム。 - Google Patents
半導体メモリカード、制御プログラム。 Download PDFInfo
- Publication number
- JP4279699B2 JP4279699B2 JP2004023798A JP2004023798A JP4279699B2 JP 4279699 B2 JP4279699 B2 JP 4279699B2 JP 2004023798 A JP2004023798 A JP 2004023798A JP 2004023798 A JP2004023798 A JP 2004023798A JP 4279699 B2 JP4279699 B2 JP 4279699B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory
- memory card
- module
- 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 - Fee Related
Links
- 239000004065 semiconductor Substances 0.000 title claims description 47
- 230000015654 memory Effects 0.000 claims description 157
- 238000000034 method Methods 0.000 claims description 75
- 238000012545 processing Methods 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 description 68
- 230000004044 response Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 14
- 101100261339 Caenorhabditis elegans trm-1 gene Proteins 0.000 description 13
- 108010086600 N(2),N(2)-dimethylguanosine-26-methyltransferase Proteins 0.000 description 11
- 102100034541 tRNA (guanine(26)-N(2))-dimethyltransferase Human genes 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 101100074836 Caenorhabditis elegans lin-22 gene Proteins 0.000 description 6
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000011989 factory acceptance test Methods 0.000 description 3
- 238000012949 factory acceptance testing Methods 0.000 description 3
- 239000003925 fat Substances 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101100326202 Caenorhabditis elegans him-6 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Description
これらの分野から注目を集めているのは、格納内容の保護機能である。格納内容の保護機能をもった半導体メモリカードの代表格は、SDメモリカード、ICカードである。SDメモリカードは、接触型の半導体メモリカードであり、不揮発メモリと、ロジック回路と、コネクタとを備える、コネクタを介してホスト装置が接続した場合、SDメモリカードはチャレンジ・レスポンス型の相互認証を行い、互いの正当性を認識した上で、ホスト装置による不揮発メモリのアクセスを許可する。不正な機器によるアクセスを排斥することができ、また内蔵している不揮発メモリの規模は、64Mバイト〜1Gバイトという大規模なものなので、SDメモリカードは、著作権保護が必要なオーディオデータ、ビデオデータの格納に向いている。
この耐性があるため、ICカードは金銭決済用途に向いており、多くのクレジット会社や金融機関がこのICカードの採用を検討している。その反面、耐タンパモジュールは、単位面積当たりの製造コストが高く、耐タンパモジュール内のEEPROMの規模は160Kバイト程度である。
尚、SDメモリカードについての先行技術には、以下の特許文献1に開示されたものがある。
本発明の目的は、金銭に準ずるデータであってサイズが膨大なものを、相応のセキュリティレベルで格納しておくことができる半導体メモリカードを提供することである。
不揮発メモリのうち、何処から何処までが1つの利用領域であるか、どこからどこまでが別の利用領域であるかという領域のロケーション解読が困難であり、プログラムがどの領域をどのようにアクセスしているかが秘匿される。利用領域ロケーションの全体像の把握が困難であり、不正行為の糸口を与えない。
図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バイトもの容量をもつフラッシュメモリ2が実装されている。
1)チップを物理的に開梱しても、内部構成は判読不可能である。
2)電磁波を照射しても内部構成は判読不可能である。
3)入力データのデータ長と、処理時間との関係がノンリニアである。
4)入力データによりエラーが発生した際の処理結果により、出力データが逆算されない。
図3は、TRM1内のハードウェア構成を示す図である。図3に示すようにTRM1には、内部EEPROM3、外部メモリ制御部4、HIM5、マスクROM6、CPU7が実装されており、マイコンシステムを形成している。
外部メモリ制御部4は、フラッシュメモリ2のアクセスのために設けられた専用回路である。フラッシュメモリ2のアクセスは、SDポータブルデバイス300が発するSDコマンドに基づき行われる。
CPU7は、マスクROM6に格納されているプログラムを実行する。
SDメモリカードとの互換部分は、外部メモリ制御部4と、HIM5とからなる。この中でHIM5は、SDメモリカードにおける機能を踏襲しつつも、ICカード互換モジュールとの窓口としての機能を果たす。
ECクライアントアプリ8は、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クライアントアプリは、そのECコマンドをJava(登録商標)仮想マシンを介してOS10に出力する。
Java(登録商標)仮想マシン9(図中のJava(登録商標)Card VM)は、Java(登録商標)言語で記述されたECクライアントアプリ8を、CPU7のネィティブコードに変換して、CPU7に実行させる。
続いてフラッシュメモリ2及び内部EEPROM3における論理フォーマットについて説明する。図5は、フラッシュメモリ2及び内部EEPROM3の論理フォーマットを示す図である。本SDeXカードは、複数のアプリケーションC_APL1,2,3・・・・nに対応した半導体メモリカード、つまりマルチアプリケーション対応型の半導体メモリカードであり、本SDeXカードにおける論理フォーマットは、マルチアプリケーションにおけるアプリケーションのそれぞれに対応した複数のファイルシステムを備えている。
CPU7によるセキュアフラッシュ領域22bのアクセスは、CPU7からのアクセスでないとなし得ない。このことからセキュアフラッシュ領域22bのアクセスは、原則としてECクライアントアプリによるアクセス時に限られることがわかる。セキュアフラッシュ領域22bは、アクセス情報がTRM1内に収まっているので、セキュアレベルは中程度といえる。セキュアレベルを高・中・低の3段階に分ければ、中のセキュアレベルにあたる。尚、SDモード時に動作するアプリケーションが、特殊なコマンドを発行することにより、例外的にセキュアフラッシュ領域22bをアクセスしてもよい。
パーティションは、パーティションブートセクタ、『二重化ファイルアロケーションテーブル』、『ルートディレクトリエントリ』、『ユーザ領域』からなる。
『二重化ファイルアロケーションテーブル(File Allocation Table(FAT))』は、ISO/IEC 9293に準拠した2つのFATからなる。各FATは、各クラスタに対応づけられた複数のFATエントリーからなる。各FATエントリーは、対応するクラスタが使用中であるか、未使用であるかを示すものであり、対応するクラスタが未使用であれば、そのファイルエントリーには、"0"が設定され、対応するクラスタが使用中であれば、クラスタ番号が設定される。このクラスタ番号は、対応するクラスタが読み出された場合、次にどのクラスタを読み出せばよいかといったクラスタ間のリンク関係を示す。
セキュアフラッシュ領域22bのパーティションテーブルは、内部EEPROM3に存在する。一方認証領域23、非認証領域24についてのパーティションテーブルは、フラッシュメモリ2に存在する点に違いがある。しかし、セキュアフラッシュ領域22b、認証領域23、非認証領域24のパーティションテーブルは何れも図8(a)の内部を有する。図8(a)は、パーティションテーブルを示す図であり、図8(b)は、図7のパーティション内のパーティションブートセクタを示す図である。
ICカード互換モジュールにおいて、ECサーバアプリから受信したデータは、内部EEPROM3に書き込まれる。ECサーバアプリから書き込みが要求されるデータは、金銭に係るものであり、大半がサイズが小さく内部EEPROM3でも充分収まる。ところが年間の取り引き明細に関するデータ書き込みがECサーバアプリから要求された場合、サイズが余りにも大きく内部EEPROM3の容量では不足が生ずる。だからといってかかるデータをフラッシュメモリ2にそのまま書き込むのは、セキュリティ上好ましくない。何故なら、かかる年間の取引明細は、金銭に至らないまでも、それに準ずる保護価値があるからである。
領域拡張部11は、ECクライアントアプリが使用領域の拡張を求めた際、ECクライアントアプリにフラッシュメモリ2内の1つのファイルシステム領域を割り当てる。ECクライアントアプリに割り当てられたファイルシステム領域は、そのECクライアントアプリ固有のものであり、他のECクライアントアプリはこのファイルシステム領域をアクセスすることはできない。1つのファイルシステム領域内部という閉じた空間にて、ECクライアントアプリは自由にファイルアクセスを行うことができる。領域拡張部11により割り当てられるファイルシステム領域とは、上述したセキュアフラッシュ領域22b内のパーティションである。領域拡張部11によるアタッチは、ECクライアントアプリがファイルシステムOPENを要求した際になされる。ファイルシステムOPENが要求された際、領域拡張部11はフラッシュメモリ2内に1つのパーティションを生成し、そのパーティションについてのパーティションテーブルを配置する。そしてECクライアントアプリには、ファイルシステム領域を利用するためのAPL-IDを付与する。このAPL-IDは、10桁以上のランダムな数値からなり、パスワードのように用いられる。
SDモードでは、SDポータブルデバイス300がホスト装置であり、SDポータブルデバイス300はHIM5を介してSDeXメモリカード400の外部メモリ制御部4と、SDコマンド、SDレスポンスの送受信sc1,2,3,4を行う。
一方フラッシュメモリ2の書き込み後、ECクライアントアプリは、ファイルのCLOSE、ファイルシステムのCLOSEを行う。ファイルのCLOSEが命じられれば領域拡張部11は、ファイルシステムのデタッチを行う。
第2実施形態は、第1実施形態より強固に、セキュアフラッシュ領域22bの格納内容を保護する改良に関する。SDeXメモリカード400の格納内容の保護は、一般に格納内容を暗号化することで実現される。
しかし不正なECクライアントアプリによりセキュアフラッシュ領域22bがアクセスされる場合、セキュアフラッシュ領域22bの格納内容を暗号化する暗号鍵が、そのECクライアントアプリを操作する者により暴露される恐れがある。そうした場合、セキュアフラッシュ領域22bをアクセスする他のECクライアントアプリの格納内容までも、暴露される恐れがあり、セキュアフラッシュ領域22bをアクセスする他のECクライアントアプリのECプロバイダに損害が波及する。
選択テーブル12は、複数のビット長と、複数の暗号方式とを対応付けたテーブルである。ビット長は、ECクライアントアプリに固有の暗号鍵を生成する際、暗号鍵をどれだけのビット長にするかを示す。暗号方式は、その暗号鍵をもって、どのような暗号化アルゴリズムで暗号化するかを示す。これら複数の暗号方式、ビット長は、1〜Lのレベル値があり、高いレベル値には、難易度が高いアルゴリズムの暗号方式と、長いビット長とが対応づけられている。低いレベル値には、難易度が低いアルゴリズムの暗号方式と、短いビット長とが対応づけられている。暗号方式の難易度が高い程、暗号鍵のビット長が長い程、パーティションの格納内容のセキュリティは高くなることを意味する。セキュリティレベルの高低は、暗号化の処理時間と比例関係になる。つまり暗号方式の難易度が高い程、暗号鍵のビット長が長い程、暗号化、復号化に費やされる時間は長くなる。逆に暗号方式の難易度が低い程、暗号鍵のビット長が短い程、パーティションの格納内容のセキュリティは甘くなり、暗号化、復号化に費やされる時間は短くなる。
暗復号化部14は、領域拡張部11がパーティションをECクライアントアプリに割り当てる際、ECクライアントアプリ8からセキュリティレベルを受け取って、そのセキュリティレベルに対応する暗号方式と、ビット長とを選択テーブル12から検索して(図中のrf1,rf2)、検索したビット長の乱数を発生する。そうして発生した乱数を基に、検索した暗号方式に従って暗号鍵を生成し、それを固有の暗号鍵としてECクライアントアプリに割り当てる。この割り当て結果は、暗号化テーブル13に示される(図中のレコード追加)。以降このECクライアントアプリがデータを書き込む際、そのECクライアントアプリから受け取ったデータを(図中のWrite data)、割り当てられた暗号鍵を用いてデータを暗号化した上で外部メモリ制御部4に出力する(図中の暗号化Write data)。またECクライアントアプリがデータを読み出す際、暗復号化部14は外部メモリ制御部4から受け取ったデータを(図中の暗号化Read data)そのECクライアントアプリに割り当てられた暗号鍵を用いてデータを復号化した上で、ECクライアントアプリ8に引き渡す(Read data)。
図12(a)は、領域拡張部11及び暗復号化部14の処理手順を示すフローチャートである。
ステップS11において、領域拡張部11は書込を行うアプリに割り当てられたAPL-IDを取得し、ステップS12では、APL-IDからパーティション番号iを特定し、アプリから、パラメータbuf,file,fpの設定を受け付ける。
buf:書き込むべきデータへのポインタ
file:書込先ファイルのファイル名
fp:書込先ファイル内部におけるポインタ
ステップS13において暗復号化部14、buf内のデータを、レコードにおける暗号鍵iを用いて暗号方式iで暗号化し、ステップS14において領域拡張部11はパーティションiのファイルにおいてファイルポインタ以降に、暗号化データを書き込む。
buf:読み出すべきデータへのポインタ
file:読出先ファイルのファイル名
fp:読出先ファイル内部におけるポインタ
size:読出データ長
ステップS24において領域拡張部11はパーティションiのファイルにおいてファイルポインタ以降の暗号化データをsizeだけ読み出し、ステップS25において暗復号化部14は、暗号鍵iを用いて読み出されたデータを、暗号方式iで復号化して、バッファに格納する。
尚、セキュリティレベルはECクライアントアプリから受け付けるとしたが、OS10側で自動的に設定するものとしてもよい。また、選択テーブル12における暗号方式やビット長は、バージョンアップできるようにしてもよい。これにより、セキュアフラッシュ領域の守秘性を高めることができる。
(第3実施形態)
Java(登録商標)仮想マシン9上で、複数ECクライアントアプリに対応するECクライアントアプリが動作している場合、OS10はこれら複数ECクライアントアプリを、1つのタスクとして認識してしまう。これでは、あるECクライアントアプリから他のECクライアントアプリへの切り換わり時に、そのECクライアントアプリについてのデタッチを行うことができず、その切換先ECクライアントアプリが、切換元ECクライアントアプリのパーティションをアクセスすることも有り得る。
以上のように本実施形態によれば、Java(登録商標)仮想マシン9を介することにより複数タスクが1つのタスクとして認識される場合であっても、ECクライアントアプリの切り換えをJava(登録商標)仮想マシンがOS10に通知するので、ECクライアントアプリのデタッチを行うことができ、あるECクライアントアプリのパーティションの内容を、他のECクライアントアプリに漏洩することはない。
第1〜第3実施形態では、ファイルシステムとして認識可能な領域をフラッシュメモリ2上に配置し、ファイルシステムをアクセスするための領域テーブルを耐タンパモジュールに配置していた。これに対し本実施形態は、ファイルシステムとして認識可能な領域と、領域テーブルとの組みをフラッシュメモリ2上に配置することを特徴としている。
図13は、第4実施形態におけるフラッシュメモリ2のアロケーションを示す図である。本図においてセキュアフラッシュ領域は、認証領域23、非認証領域24の後に設けられている。本実施形態においてメモリアクセスは、ページ単位(1ページ=512バイト)でなされ、セキュアフラッシュ領域は、0100hページ(hは16進数表示を示す)に配置されている。
引き出し線hh3は、16個のファイルシステムのうち、任意の1つであるファイルシステム[i]についてのFSエントリー[i]の内部構成をクローズアップして示す。
ファイルシステム[i]の識別番号として1〜16の値の設定が可能である1バイト長の『FSID』、
ファイルシステム[i]を構成するセクタが1Kバイトであるか(「1」の設定時)、4Kバイトであるか(「4」の設定時)を示す1バイト長の『セクタ単位』、
FSエントリー[i]のサイズが2バイトであるか(「2」の設定時)、4バイトであるか(「4」の設定時)を示す1バイト長の『エントリ単位』、
ファイルシステム[i]の領域サイズを示す4バイト長の『領域サイズ』、
SF領域先頭ページからファイルシステム[i]までの相対ページ数を示す4バイト長の『先頭ページ』からなる。かかるFSエントリー[i]内の『先頭ページ』を参照することにより、ファイルシステム領域[i]のアクセスは可能になる。
引き出し線hh4は、アクセス情報の内部構成を示す。この引き出し線に示すように本アクセス情報は、『SF先頭ページアクセス情報』、『FSエントリーアクセス情報(1)〜(16)』からなる。図中の引き出し線hh5はSF先頭ページアクセス情報の構成をクローズアップしている。この引き出し線に示すようにSF先頭ページアクセス情報は、SF領域テーブルについての2バイト長の『CRC』と、SF領域テーブルがどのような暗号化方式で暗号化され、何ビットの暗号鍵で暗号化されているかを示す2バイト長の『暗号方式』と、SF領域テーブルの暗号化に用いた32バイト長の『暗号鍵』と、セキュアフラッシュ領域の先頭ページを示す4バイト長の『SF領域先頭ページ』とからなる。SF領域先頭ページがFFFF FFFFhであるなら、セキュアフラッシュ領域は存在せず、これ以外の値なら、この値に示されるページからセキュアフラッシュ領域は存在することを示す。引き出し線hh6は、SF先頭ページアクセス情報の具体的な設定値を示す。この具体例では、CRCは93h,02h,暗号方式はFEh,3Eh、暗号鍵は01h,02h,03h,04h〜CCh,DDh,EEh,FFh、SF領域先頭ページは00h,01h,00h,00hにそれぞれ設定されていることがわかる。
第1実施形態〜第4実施形態において耐タンパモジュールの内部メモリ3及び外部メモリ2は、それぞれEEPROM及びフラッシュメモリで構成していた。これに対し第5実施形態では、耐タンパモジュールの内部メモリ3及び外部メモリ2を、2つのメモリモジュールで構成する。図20は、第5実施形態に係るメモリモジュールの構成を示す図である。本図において、EEPROM3a、フラッシュメモリ2aは、主たるメモリモジュールであり、第1実施形態〜第4実施形態に示したものと同じである。第5実施形態では、このメモリモジュールに加え、予備のメモリモジュール2b,3bが内部メモリ3及び外部メモリ2に追加されている。この予備のメモリモジュール2b,3bは強誘電体メモリ(Ferro Electric Random Access Memory(FeRAM))で構成されており、その性能はフラッシュメモリと大きく異なる。図21は、フラッシュメモリ、FeRAMの性能比較を示す図である。本図を参照すると、フラッシュメモリは価格面では低廉であり、大容量化には向いているが(図中の○)、ブロック単位の書き込みしか行えない(※1)。このブロックのサイズは、フラッシュメモリが大容量になればそれにつれ大きくなるので、小サイズのデータを書き込む場合、ロスが大きくなる。また書き込み時間は長く(10000ns)、書き込み回数も少ない(1,000,000回)。そして書込時には、既に格納されているデータを一旦消去して書き込みを行うため、書き込み性能は不安定となる(※2)。
かかる性能差があることから、予備のメモリモジュールをFeRAMで構成し、ファイルエントリーやFAT等、更新頻度が高いデータをメモリモジュールに配せば、フラッシュメモリにおける書込性能を補うことができる。図22は、ファイルエントリーやFAT、クリア処理管理テーブルというような、更新頻度が高いデータが配されたFeRAMを示す図である。
FeRAMには、他にワンスタイムリードという特性がある。これは、格納されているデータを一度読み出せば、その格納内容は破壊されるという特性である(図の※4)。これは守秘性を徹底する意味では好ましいが、データの読み出し時には、再度データを書き込む必要があり、結局書込回数が増えてしまう。この読出時のデータ破壊という特性を補うなら、磁気共鳴メモリ(Magnetoresitive RAM(MRAM))を採用することが望ましい。
第5実施形態では予備のメモリモジュールをFeRAMで構成していたが、第6実施形態は耐タンパモジュールの内部メモリ3をFeRAMで構成するという態様に関する。図23は、第6実施形態に係るTRM内メモリ3の内部構成を示す図である。耐タンパモジュールの内部メモリ3は小サイズなので、FeRAMで構成しても、大きなコストアップにならない。尚、第6実施形態ではTRM内メモリ3をFeRAMのみで構成するとしたが、MRAMのみで構成してもよい。
第7実施形態に係るTRM内メモリ3には、ECアプリダウンロード用領域が新たに追加される。SDポータブルデバイス300がECサーバ100から新たなECクライアントアプリをダウンロードする際、このECアプリダウンロード用領域が、ダウンロード先になる。
尚、ダウンロードされたECクライアントアプリに、専用のファイルシステムを割り当てるには、将来ダウンロードされるであろうECクライアントアプリのための領域を、予めECクライアントアプリの使用領域に確保しておくのが望ましい。
(A)尚、ECアプリをアプリケーションプログラムの一例として説明したが、他のアプリケーションプログラムでもよい。鉄道、航空、バス、高速道路等の交通機関が運営するサーバ装置上のサーバアプリケーション、これに対応するクライアントアプリであってもよい。これにより、改札業務や搭乗手続きといった用途でもSDeXメモリカード400を利用することができる。
(B)図12に示したプログラムによる情報処理は、CPU、EEPROMといったハードウェア資源を用いて具体的に実現されている。つまり、プログラムと、ハードウェアとが協働した具体的手段が、使用目的に応じた情報処理を行うことにより、第1実施形態〜第7実施形態に示したSDeXメモリカード400は構築される。
尚、第1実施形態〜第7実施形態は、SDeXメモリカード400に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、SDeXメモリカード400から分離して、第1実施形態〜第7実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
(C)図12のフロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、制御方法の使用形態を開示していることがわかる。これらのフロ−チャ−トこそ、本発明に係る制御方法の使用行為についての実施形態である。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る半導体メモリカードの制御方法の実施行為に該当することはいうまでもない。
(E)SDポータブルデバイス300は、携帯電話タイプのものを一例にして説明したが、民生用の携帯オーディオ機器やSTB(Set Top Box)や携帯電話であってもよい。
(F)金銭に準ずるセキュアな情報として、年間の取引明細を一例にしたが、機密性が求められる情報であれば、マイレージ、クーポン、個人情報、企業秘密情報等の他の情報であってもよい。
2 フラッシュメモリ
3 内部EEPROM
4 外部メモリアクセス部
5 HIM
6 マスクROM
7 CPU
8 ECクライアントアプリ
9 仮想マシン
10 OS
11 領域拡張部
12 選択テーブル
13 暗号化テーブル
14 暗号化部及び復号化部
21 ECクライアントアプリの使用領域
22 セキュアフラッシュ領域
23 認証領域
24 非認証領域
100 ECサーバ
200 カードリーダライタ
210 無線基地局
300 SDポータブルデバイス
Claims (14)
- 耐タンパモジュールと、不揮発メモリとを備える半導体メモリカードであって、
耐タンパモジュールは、内部メモリと、処理部とを含み、
耐タンパモジュールの内部メモリには、耐タンパモジュール内に格納される一のプログラムにより利用される利用領域があり、
前記処理部は、
前記プログラムに不揮発メモリ上の領域に割り当て、当該割当領域についてのアクセス情報を耐タンパモジュールの内部メモリ上に生成することにより、利用領域と、割当領域とを合わせた領域全体を、前記プログラムの利用に供し、
前記耐タンパモジュールの内部メモリは、第1の領域テーブルを格納しており、
第1の領域テーブルは、耐タンパモジュールにおける内部メモリ上の利用領域の所在及び大きさを示す領域テーブルであり、
前記不揮発メモリは、第2の領域テーブルを格納しており、
第2の領域テーブルは、不揮発メモリ上の割当領域の所在及び大きさを示す領域テーブルであって、所定の暗号鍵を用いて暗号化されたテーブルであり、
前記耐タンパモジュール内に配置されるアクセス情報とは、第2の領域テーブルの所在を示す所在情報を、所定の暗号鍵と対応づけた情報である
ことを特徴とする半導体メモリカード。 - 前記処理部は、
前記割当領域についてのアクセス情報を生成する際、割当領域をアクセスするにあたって、プログラムが用いる暗号鍵を割り当てる割当部と、
プログラムが前記不揮発メモリ上の割当領域にデータを書き込もうとする際、当該データを暗号化する暗号化部と、
プログラムが前記不揮発メモリ上の割当領域からデータを読み出そうとする際、当該データを復号化する復号化部と
を備えることを特徴とする請求項1記載の半導体メモリカード。 - 前記処理部は、前記プログラムからセキュリティレベルを受け付ける受付部と、
セキュリティレベルがとり得る複数の値と、それらの値に対応する暗号鍵のビット長、暗号方式を記憶する記憶部とを備え、
前記割当部により割り当てられる暗号鍵は、
受付部が受け付けたセキュリティレベルに対応するビット長に基づき生成され、
前記暗号化部及び復号化部による暗号化及び復号化は、
受付部が受け付けたセキュリティレベルに対応する暗号方式に基づきなされる
ことを特徴とする請求項2記載の半導体メモリカード。 - 前記不揮発メモリは、第1のメモリモジュールと、第2のメモリモジュールとからなり、
第2メモリモジュールは、書き込み単位が第1メモリモジュールより小さく、 第2メモリモジュールには、ファイルの管理情報が記録されている
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記第2メモリモジュールは、Ferro Electric Random Access Memory又はMagnetoresitiveRandom Access Memoryである
ことを特徴とする請求項4記載の半導体メモリカード。 - 耐タンパモジュールの内部メモリは、第1のメモリモジュールと、第2のメモリモジュールとからなり、
第2メモリモジュールは、書き込み単位が第1メモリモジュールより小さく、 第2メモリモジュールには、ファイルの管理情報が記録されている
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記第2メモリモジュールは、強誘電体メモリ(Ferro Electric Random Access Memory)又は磁気共鳴メモリ(MagnetoresitiveRandom Access Memory)である
ことを特徴とする請求項6記載の半導体メモリカード。 - 前記半導体メモリカードは、マルチアプリケーションプログラム対応型の半導体メモリカードであり、
前記プログラムとは、半導体メモリカードが対応しているマルチアプリケーションプログラムのうち、1つのアプリケーションプログラムであり、
前記利用領域は複数であり、個々の利用領域は、マルチアプリケーションプログラムにおける個々のアプリケーションプログラムと1対1に対応している
ことを特徴とする請求項1記載の半導体メモリカード。 - 半導体メモリカードに、1つのアプリケーションプログラムが追加された際、前記処理部は、このアプリケーションプログラムに対する領域割り当てを行う
ことを特徴とする請求項8記載の半導体メモリカード。 - 前記不揮発メモリ上の割り当て領域は、ファイルシステムであり、ファイルが記録されている
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記耐タンパモジュールはCPUを内蔵しており、前記一のプログラムは、当該CPUにより実行される
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記半導体メモリカードは、接続された機器とのインターフェイスであるホストインターフェイスを備え、
ホストインターフェイスは、機器から発せられるコマンドが、拡張コマンドか否かの判定を行い、前記一のプログラムは、ホストインターフェイスが拡張コマンドであると判定した場合に起動される
ことを特徴とする請求項1記載の半導体メモリカード。 - 前記半導体メモリカードは、高・中・低の3つのセキュアレベルを有する複数ファイルシステムを備えており、
セキュアレベルが高の第1ファイルシステムは、耐タンパモジュール内に存在し、
セキュアレベルが低の第2ファイルシステムは、タンパ非耐性メモリ上に存在し、
前記耐タンパモジュール内の利用領域と、タンパ非耐性メモリ内の割当領域とを合わせた領域全体は、セキュアレベルが中の第3ファイルシステムを構成する
ことを特徴とする請求項1記載の半導体メモリカード。 - 耐タンパモジュールと、不揮発メモリとを備える半導体メモリカードにおいて、耐タンパモジュール内のCPUにより実行される制御プログラムであって、
耐タンパモジュールは、内部メモリを含み、
耐タンパモジュールの内部メモリには、一のアプリケーションプログラムにより利用される領域があり、
制御プログラムは、
前記アプリケーションプログラムに不揮発メモリ上の領域に割り当て、当該割当領域についてのアクセス情報を耐タンパモジュールの内部メモリ上に生成することにより、利用領域と、割当領域とを合わせた領域全体を、前記アプリケーションプログラムの利用に供し、
前記耐タンパモジュールの内部メモリは、第1の領域テーブルを格納しており、
第1の領域テーブルは、耐タンパモジュールにおける内部メモリ上の利用領域の所在及び大きさを示す領域テーブルであり、
前記不揮発メモリは、第2の領域テーブルを格納しており、
第2の領域テーブルは、不揮発メモリ上の割当領域の所在及び大きさを示す領域テーブルであって、所定の暗号鍵を用いて暗号化されたテーブルであり、
前記耐タンパモジュール内に配置されるアクセス情報とは、第2の領域テーブルの所在を示す所在情報を、所定の暗号鍵と対応づけた情報である
ことを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004023798A JP4279699B2 (ja) | 2003-01-31 | 2004-01-30 | 半導体メモリカード、制御プログラム。 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003024167 | 2003-01-31 | ||
JP2004023798A JP4279699B2 (ja) | 2003-01-31 | 2004-01-30 | 半導体メモリカード、制御プログラム。 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009015298A Division JP4469405B2 (ja) | 2003-01-31 | 2009-01-27 | 半導体メモリカード、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004252968A JP2004252968A (ja) | 2004-09-09 |
JP4279699B2 true JP4279699B2 (ja) | 2009-06-17 |
Family
ID=33032280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004023798A Expired - Fee Related JP4279699B2 (ja) | 2003-01-31 | 2004-01-30 | 半導体メモリカード、制御プログラム。 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4279699B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR0315624A (pt) | 2002-10-22 | 2005-08-23 | Jason A Sullivan | Sistema de processamento em computador personalizável robusto |
KR101259706B1 (ko) | 2002-10-22 | 2013-05-06 | 제이슨 에이. 설리반 | 향상된 방열 특성을 갖는 비주변 처리 제어 모듈 |
CA2503791A1 (en) | 2002-10-22 | 2004-05-06 | Jason A. Sullivan | Non-peripherals processing control module having improved heat dissipating properties |
US7657754B2 (en) * | 2005-12-08 | 2010-02-02 | Agere Systems Inc | Methods and apparatus for the secure handling of data in a microcontroller |
JP2008102774A (ja) * | 2006-10-19 | 2008-05-01 | Sony Corp | データ記憶装置及びデータ制御方法 |
EP1998270A1 (en) * | 2007-05-31 | 2008-12-03 | NTT DoCoMo, Inc. | External storage device |
JP2009026296A (ja) * | 2007-06-21 | 2009-02-05 | Toshiba Corp | 電子デバイス、メモリデバイス、ホスト装置 |
US20110302357A1 (en) * | 2010-06-07 | 2011-12-08 | Sullivan Jason A | Systems and methods for dynamic multi-link compilation partitioning |
JP5398761B2 (ja) | 2011-02-28 | 2014-01-29 | 株式会社東芝 | メモリシステム |
-
2004
- 2004-01-30 JP JP2004023798A patent/JP4279699B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004252968A (ja) | 2004-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4469405B2 (ja) | 半導体メモリカード、プログラム | |
JP5462420B2 (ja) | セキュアなアプリケーションディレクトリ | |
CN103430222B (zh) | 用于非接触式智能卡的本地可信服务管理器 | |
CA1293325C (en) | System for a portable data carrier | |
CN100442393C (zh) | 半导体存储卡的访问装置、初始化方法和半导体存储卡 | |
WO2004055680A1 (ja) | メモリデバイスとそれを使用する電子機器 | |
CN103415874A (zh) | 将应用数据写入到安全元件 | |
JPWO2005124560A1 (ja) | 情報管理装置及び情報管理方法 | |
JPS63503335A (ja) | ポータブル データ キャリヤのための保安ファイル システム | |
JP2004272400A (ja) | メモリカード | |
JP4055393B2 (ja) | データ処理装置およびその方法とプログラム | |
JP2661930B2 (ja) | 複数のアプリケーションファイルをもつポータブルデータキャリヤのための装置 | |
JP4279699B2 (ja) | 半導体メモリカード、制御プログラム。 | |
EP1493157B1 (en) | Semiconductor memory card and computer readable program | |
JP4486828B2 (ja) | 半導体メモリカード、コンピュータ読取可能なプログラム | |
US7147167B2 (en) | Update management for encoded data in memory | |
JP2005134953A (ja) | 未設定icカード、icカード発行システム及びicカードアプリケーションの発行方法 | |
JPH025158A (ja) | 拡張icカード及びそのアクセス法 | |
JP4881742B2 (ja) | 識別メディアへデータ及びアプリケーションを書き込む方法 | |
JP2008102943A (ja) | データ処理装置およびその方法とプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090127 |
|
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: 20090217 |
|
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: 20090312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4279699 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |