(57)【要約】【課題】  ECアプリがデータを書き込もうとする際、容量が不足することのない半導体メモリカードを提供する。【解決手段】  TRM１内部のEEPROM３にあるECクライアントアプリの使用領域を拡張する。この拡張は、内部EEPROM３内にパーティションテーブルを配置しつつ、TRM１フラッシュメモリ２にパーティションを生成してECアプリに割り当てるというものである。パーティションテーブルがTRM１内にあるので、生成されたパーティションテーブルは、TRM１内のCPU７からしかアクセスできない。拡張領域に対するアクセスが、TRM１内のCPU７に限られるので、格納内容の守秘性が高まる。【選択図】  図６
2004252968.tif 000002
【特許請求の範囲】
【請求項１】
耐タンパモジュールと、不揮発メモリとを備える半導体メモリカードであって、
耐タンパモジュールは、内部メモリと、処理部とを含み、
耐タンパモジュールの内部メモリには、耐タンパモジュール内に格納される一のプログラムにより利用される利用領域があり、
前記処理部は、
前記プログラムに不揮発メモリ上の領域に割り当て、当該割当領域についてのアクセス情報を耐タンパモジュールの内部メモリ上に生成することにより、利用領域と、割当領域とを合わせた領域全体を、前記プログラムの利用に供する
ことを特徴とする半導体メモリカード。
【請求項２】
前記耐タンパモジュールの内部メモリには、第１の領域テーブルと、第２の領域テーブルとが格納されており、
第１の領域テーブルは、耐タンパモジュールにおける内部メモリ上の利用領域の所在及び大きさを示す領域テーブルであり、
第２の領域テーブルは、不揮発メモリ上の割当領域の所在及び大きさを示す領域テーブルであり、
前記アクセス情報とは、第２の領域テーブルである
ことを特徴とする請求項１記載の半導体メモリカード。
【請求項３】
前記処理部は、
前記割当領域についてのアクセス情報を生成する際、割当領域をアクセスするにあたって、プログラムが用いる暗号鍵を割り当てる割当部と、
プログラムが前記不揮発メモリ上の割当領域にデータを書き込もうとする際、当該データを暗号化する暗号化部と、
プログラムが前記不揮発メモリ上の割当領域からデータを読み出そうとする際、当該データを復号化する復号化部と
を備えることを特徴とする請求項１記載の半導体メモリカード。
【請求項４】
前記処理部は、前記プログラムからセキュリティレベルを受け付ける受付部と、
セキュリティレベルがとり得る複数の値と、それらの値に対応する暗号鍵のビット長、暗号方式を記憶する記憶部とを備え、
前記割当部により割り当てられる暗号鍵は、
受付部が受け付けたセキュリティレベルに対応するビット長に基づき生成され、
前記暗号化部及び復号化部による暗号化及び復号化は、
受付部が受け付けたセキュリティレベルに対応する暗号方式に基づきなされる
ことを特徴とする請求項３記載の半導体メモリカード。
【請求項５】
前記耐タンパモジュールの内部メモリは、第１の領域テーブルを格納しており、
第１の領域テーブルは、耐タンパモジュールにおける内部メモリ上の利用領域の所在及び大きさを示す領域テーブルであり、
前記不揮発メモリは、第２の領域テーブルを格納しており、
第２の領域テーブルは、不揮発メモリ上の割当領域の所在及び大きさを示す領域テーブルであって、所定の暗号鍵を用いて暗号化されたテーブルであり、
前記耐タンパモジュール内に配置されるアクセス情報とは、第２の領域テーブルの所在を示す所在情報を、所定の暗号鍵と対応づけた情報である
ことを特徴とする請求項１記載の半導体メモリカード。
【請求項６】
前記不揮発メモリは、第１のメモリモジュールと、第２のメモリモジュールとからなり、
第２メモリモジュールは、書き込み単位が第１メモリモジュールより小さく、  第２メモリモジュールには、ファイルの管理情報が記録されている
ことを特徴とする請求項５記載の半導体メモリカード。
【請求項７】
前記第２メモリモジュールは、Ferro Electric Random Access Memory又はMagnetoresitive Random Access Memoryである
ことを特徴とする請求項６記載の半導体メモリカード。
【請求項８】
耐タンパモジュールの内部メモリは、第１のメモリモジュールと、第２のメモリモジュールとからなり、
第２メモリモジュールは、書き込み単位が第１メモリモジュールより小さく、  第２メモリモジュールには、ファイルの管理情報が記録されている
ことを特徴とする請求項５記載の半導体メモリカード。
【請求項９】
前記第２メモリモジュールは、強誘電体メモリ(Ferro Electric Random Access Memory)又は磁気共鳴メモリ(Magnetoresitive Random Access Memory)である
ことを特徴とする請求項８記載の半導体メモリカード。
【請求項１０】
前記半導体メモリカードは、マルチアプリケーションプログラム対応型の半導体メモリカードであり、
前記プログラムとは、半導体メモリカードが対応しているマルチアプリケーションプログラムのうち、1つのアプリケーションプログラムであり、
前記利用領域は複数であり、個々の利用領域は、マルチアプリケーションプログラムにおける個々のアプリケーションプログラムと1対1に対応している
ことを特徴とする請求項１記載の半導体メモリカード。
【請求項１１】
半導体メモリカードに、1つのアプリケーションプログラムが追加された際、前記処理部は、このアプリケーションプログラムに対する領域割り当てを行う
ことを特徴とする請求項１０記載の半導体メモリカード。
【請求項１２】
前記不揮発メモリ上の割り当て領域は、ファイルシステムであり、ファイルが記録されている
ことを特徴とする請求項１記載の半導体メモリカード。
【請求項１３】
前記耐タンパモジュールはＣＰＵを内蔵しており、前記一のプログラムは、当該ＣＰＵにより実行される
ことを特徴とする請求項１記載の半導体メモリカード。
【請求項１４】
前記半導体メモリカードは、接続された機器とのインターフェイスであるホストインターフェイスを備え、
ホストインターフェイスは、機器から発せられるコマンドが、拡張コマンドか否かの判定を行い、
前記一のプログラムは、ホストインターフェイスが拡張コマンドであると判定した場合に起動される
ことを特徴とする請求項１記載の半導体メモリカード。
【請求項１５】
高・中・低の3つのセキュアレベルを有する複数ファイルシステムを備える半導体メモリカードであって、
耐タンパモジュールと、不揮発メモリとを備え
セキュアレベルが高の第１ファイルシステムは、耐タンパモジュール内に存在し、
セキュアレベルが低の第２ファイルシステムは、不揮発メモリ上に存在し、
セキュアレベルが中の第３ファイルシステムは、不揮発メモリ上に存在し、このファイルシステムをアクセスするためのアクセス情報が耐タンパモジュール内に存在する
ことを特徴とする半導体メモリカード。
【請求項１６】
耐タンパモジュールと、不揮発メモリとを備える半導体メモリカードにおいて、耐タンパモジュール内のＣＰＵにより実行される制御プログラムであって、
耐タンパモジュールは、内部メモリを含み、
耐タンパモジュールの内部メモリには、一のアプリケーションプログラムにより利用される領域があり、
制御プログラムは、
前記アプリケーションプログラムに不揮発メモリ上の領域に割り当て、当該割当領域についてのアクセス情報を耐タンパモジュールの内部メモリ上に生成することにより、利用領域と、割当領域とを合わせた領域全体を、前記アプリケーションプログラムの利用に供する
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、格納内容のセキュリティを保証した半導体メモリカードに関し、その記憶容量を拡張する技術に関する。
【背景技術】
【０００２】
半導体メモリカードの生産業は、放送・出版等のマスメディアから金融機関、国、自治体まで、様々な分野からの注目を浴びる近年の急成長産業である。
これらの分野から注目を集めているのは、格納内容の保護機能である。格納内容の保護機能をもった半導体メモリカードの代表格は、SDメモリカード、ICカードである。SDメモリカードは、接触型の半導体メモリカードであり、不揮発メモリと、ロジック回路と、コネクタとを備える、コネクタを介してホスト装置が接続した場合、SDメモリカードはチャレンジ・レスポンス型の相互認証を行い、互いの正当性を認識した上で、ホスト装置による不揮発メモリのアクセスを許可する。不正な機器によるアクセスを排斥することができ、また内蔵している不揮発メモリの規模は、64Mバイト〜1Gバイトという大規模なものなので、SDメモリカードは、著作権保護が必要なオーディオデータ、ビデオデータの格納に向いている。
【０００３】
ICカードは、CPU、マスクROM、EEPROMを内蔵したICチップを板体に配してなる。板体には螺旋アンテナが埋設されており、ICカードがこの螺旋アンテナを介して、ホスト装置と非接触型のデータ入出力を行う。またこのICチップは耐タンパモジュールと呼ばれ、分解や解析等のリバース行為に耐性をもつ。
この耐性があるため、ICカードは金銭決済用途に向いており、多くのクレジット会社や金融機関がこのICカードの採用を検討している。その反面、耐タンパモジュールは、単位面積当たりの製造コストが高く、耐タンパモジュール内のEEPROMの規模は160Kバイト程度である。
【０００４】
このようにSDメモリカード、ICカードには一長一短があり、どちらが優れているがは簡単には結論付けることはできない。
尚、SDメモリカードについての先行技術には、以下の特許文献1に開示されたものがある。
【特許文献１】特許3389186号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、クレジット会社のサーバ装置をホスト装置とした電子商取引(EC(Electronic Commerce))では、年間の取引明細をダウンロードして、ICカードに格納しておきたいことがある。年間の取引明細となると、データサイズが大きく、ICカードのメモリでは容量に不足が生じる。容量が不足するとはいえ、SDメモリカードのような耐タンパモジュールの無い半導体メモリカードに取引明細を格納しようというのは、クレジット会社にとって不安が残る。何故なら、かかる年間の取引明細は、金銭に至らないまでも、それに準ずる保護価値があるからである。
【０００６】
半導体メモリカードを製造する生産業のメーカは、製造コストの高騰を承知で耐タンパモジュールを大規模化するか、或は、クレジット会社の要求を黙殺するかを選択せざるを得ない。現状では、半導体メモリカードのメーカは苦渋の決断を迫られているといえる。
本発明の目的は、金銭に準ずるデータであってサイズが膨大なものを、相応のセキュリティレベルで格納しておくことができる半導体メモリカードを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するため本発明に係る半導体メモリカードは、耐タンパモジュールと、不揮発メモリとを備えていて、耐タンパモジュールは、内部メモリと、処理部とを含み、耐タンパモジュールの内部メモリには、耐タンパモジュール内に格納される一のプログラムにより利用される利用領域があり、前記処理部は、前記プログラムに不揮発メモリ上の領域に割り当て、当該割当領域についてのアクセス情報を耐タンパモジュールの内部メモリ上に生成することにより、利用領域と、割当領域とを合わせた領域全体を、前記プログラムの利用に供することを特徴としている。
【発明の効果】
【０００８】
以上に説明したように、本発明に係る半導体メモリカードによれば、上述した構成を有しているので、プログラムの利用領域についてのアクセス情報を耐タンパモジュールに配置することにより、利用領域の全体構造がどうなっているかを秘匿することができる。
不揮発メモリのうち、何処から何処までが1つの利用領域であるか、どこからどこまでが別の利用領域であるかという領域のロケーション解読が困難であり、プログラムがどの領域をどのようにアクセスしているかが秘匿される。利用領域ロケーションの全体像の把握が困難であり、不正行為の糸口を与えない。
【０００９】
ここで前記処理部は、前記割当領域についてのアクセス情報を生成する際、割当領域をアクセスするにあたって、プログラムが用いる暗号鍵を割り当てる割当部と、プログラムが前記不揮発メモリ上の割当領域にデータを書き込もうとする際、当該データを暗号化する暗号化部と、プログラムが前記不揮発メモリ上の割当領域からデータを読み出そうとする際、当該データを復号化する復号化部とを備えていてもよい。
【００１０】
プログラムに固有の暗号鍵を割り当てた上で、領域の読み書きを行わせる。半導体メモリカードが複数プログラムによりアクセスされ、そのうち1つのプログラムが自身に割り当てられた暗号鍵を暴露したとしても、他のプログラムが半導体メモリカードに書き込んだデータは、その暗号鍵では復号化しえない。1つのプログラムにおける暗号鍵暴露の影響を、他のプログラムに波及させないので、プログラムが半導体メモリカードに書き込んだデータの守秘性を高めることができる。
【００１１】
ここで前記処理部は、前記プログラムからセキュリティレベルを受け付ける受付部と、セキュリティレベルがとり得る複数の値と、それらの値に対応する暗号鍵のビット長、暗号方式を記憶する記憶部とを備え、前記割当部により割り当てられる暗号鍵は、受付部が受け付けたセキュリティレベルに対応するビット長に基づき生成され、前記暗号化部及び復号化部による暗号化及び復号化は、受付部が受け付けたセキュリティレベルに対応する暗号方式に基づきなされてもよい。
【００１２】
プログラムはデータの読み書きにあたって、データの重要性と、そのデータの読み書きに費やする処理とからセキュリティレベルを設定して、そのセキュリティレベルに基づく、データ読み書きを半導体メモリカードの処理部に求めることができる。そのためデータサイズが大きく、重要度が低いデータは、セキュリティレベルを低く設定してデータ書き込みが短期間に終了するよう、ユーザに配慮することができる。
【発明を実施するための最良の形態】
【００１３】
以降、本発明に係る半導体メモリカードの実施形態について説明する。本実施形態に係る半導体メモリカードは、ICカードの耐タンパモジュールを内蔵したSDeXメモリカードである。SDeXメモリカードは、SDメモリカード同様、SDポータブルデバイスの記録媒体に用いられながらも、ICカードの耐タンパモジュールを内蔵している。そしてSDeXメモリカードは、外部機器との通信方式として、接触型の通信方式と、非接触型の通信方式の両方式を備えている。
【００１４】
先ず始めに、本発明に係る半導体メモリカード(SDeXメモリカード)の実施行為のうち、使用行為について説明する。SDeXメモリカードは、携帯電話などのSDポータブルデバイスと接続され、図１に示すような環境で、ユーザの利用に供される。図１は、SDeXメモリカード４００の使用環境を示す図である。
図１における使用環境は、ECサーバ１００、カードリーダライタ２００、無線基地局２１０、SDポータブルデバイス３００から構成される。
【００１５】
ECサーバ１００は、カードリーダライタ２００及び無線基地局２１０、ネットワークを介して、ICカードにECサービスを提供する。ECサーバ１００には複数のECアプリケーションプログラムが動作しており、これらのそれぞれは、固有のECサービスをSDeXメモリカード４００に提供する。ECサーバ１００上で動作するECアプリケーションは、ECサーバアプリケーションであり、ECサービスの種類毎にそれぞれ違うものが存在する。図１では、n種のECサービス毎のECアプリをS_APL1,2,3・・・・nと略記している。これらは、n種のECサーバアプリケーションである。ECサーバ１００によるECサービス提供は、ネットワーク、カードリーダライタ２００及び無線基地局２１０を介してECコマンドをSDeXメモリカード４００に発行することによりなされる。
【００１６】
カードリーダライタ２００は、クレジット会社・金融機関のキャッシュデスペンサー、店舗のレジ機に備え付けの機器であり、SDeXメモリカード４００への電力供給、SDeXメモリカード４００との非接触型の入出力を行う。カードリーダライタ２００は、ネットワークと接続されており、このカードリーダライタ２００を介することで、SDeXメモリカード４００はECサーバ１００のECサービスを受けることができる。
【００１７】
無線基地局２１０は、建造物や電柱の屋上に備え付けの機器であり、携帯電話型のSDポータブルデバイス３００と無線によるデータの入出力を行う。無線基地局２１０は、ネットワークと接続されており、この無線基地局２１０を介することでも、SDポータブルデバイス３００はECサーバ１００のECサービスを受けることができる。
SDポータブルデバイス３００は、SDeXメモリカード４００を接続して、SDeXメモリカード４００をアクセスする機器である。SDポータブルデバイス３００には、ブラウザソフト等がインストールされており、ユーザはこのブラウザのユーザインターフェイスを介して、SDeXメモリカード４００におけるファイルシステム(File System(以下、FSと略す場合がある))をアクセスすることができる。このファイルシステムアクセスは、SDメモリカードで規定されているSDコマンドをSDeXメモリカード４００に発行し、そのレスポンスをSDeXメモリカード４００から受信することでなされる。また、SDポータブルデバイス３００がSDeXメモリカード４００からブートストラップを行って起動する場合、SDポータブルデバイス３００はSDeXメモリカード４００と一体になってICカードとして機能する。SDポータブルデバイス３００の背面には、螺旋アンテナが埋設されており、ICカードとしての機能時において、この螺旋アンテナが、カードリーダライタ２００から発せられる電力をSDeXメモリカード４００に供給する。またSDポータブルデバイス３００は、SDeXメモリカード４００に対するコマンド・レスポンスと、ECサーバ１００とのコマンド・レスポンスとの相互変換を行う。SDポータブルデバイス３００による相互変換とは、ECサーバ１００からのECコマンドをカプセル化した拡張SDコマンドを生成してSDeXメモリカード４００に出力し、SDeXメモリカード４００からのSDレスポンスよりECレスポンスを取り出して、ECサーバ１００に出力する処理である。SDポータブルデバイス３００がSDeXメモリカード４００にてブートストラップを行い、ICカードとして機能することを『ECモード』という。また、SDポータブルデバイス３００がSDeXメモリカード４００を記録媒体として用いることを『SDモード』という。
【００１８】
SDモードでのSDeXメモリカード４００の利用は、SDメモリカードとしての用途である。この用途においてSDeXメモリカード４００のホスト装置となるのは、SDポータブルデバイス３００であり、ホスト装置であるSDポータブルデバイス３００が配信サーバからダウンロードしたオーディオデータ、ビデオデータの受け皿として、SDeXメモリカード４００は用いられる。こうしてSDeXメモリカード４００に記録されたオーディオデータ、ビデオデータをホスト装置は再生させることができる。
【００１９】
ECモードでのSDeXメモリカード４００の利用は、ICカードとしての用途である。このECモードにおいてもSDeXメモリカード４００はSDポータブルデバイス３００と接続される。しかしSDeXメモリカード４００のホスト装置となるのはこのSDポータブルデバイス３００ではなく、ネットワーク上のECサーバ１００である。SDeXメモリカード４００と接続されたSDポータブルデバイス３００を、カードリーダライタ２００、無線基地局２１０と用いることにより、SDeXメモリカード４００はECサーバ１００と通信を行う。この通信により、ECサーバ１００と金銭決済を行うことができる。
【００２０】
本実施形態のSDeXメモリカード４００は、配信されたオーディオデータ、ビデオデータの受け皿としても用途に加え、ICカードとしても用途が存在するので、ユーザにとっての利便性が増している。
尚図１においてSDeXメモリカード４００は、ECモードにおいてカードリーダライタ２００を介して、ECサーバ１００をアクセスしたが、無線基地局２１０を介してSDポータブルデバイス３００がネットワークを介してECサーバ１００をアクセスしてもよい。
【００２１】
続いて本発明にかかる半導体メモリカードの生産行為の形態について説明する。本発明に係る半導体メモリカードは、図２、図３の内部構成に基づいて工業的に生産することができる。
図２に示すように、本発明にかかる半導体メモリカードの内部には、コネクタ、耐タンパ性を有する耐タンパモジュールチップ(Tamper Resist Module(TRM))１、256Mバイトもの容量をもつフラッシュメモリ２が実装されている。
【００２２】
耐タンパ性には、諸説があるが、概して以下のことを意味するとされている。
1)チップを物理的に開梱しても、内部構成は判読不可能である。
2)電磁波を照射しても内部構成は判読不可能である。
3)入力データのデータ長と、処理時間との関係がノンリニアである。
4)入力データによりエラーが発生した際の処理結果により、出力データが逆算されない。
【００２３】
これら1)〜4)の性質をもつため、TRM１は多くのリバース行為に耐性をもつ。以降、TRM１内のハードウェア要素について説明する。
図３は、TRM１内のハードウェア構成を示す図である。図３に示すようにTRM１には、内部EEPROM３、外部メモリ制御部４、HIM５、マスクROM６、CPU７が実装されており、マイコンシステムを形成している。
【００２４】
内部EEPROM３は、読み出し／書き込みが可能なメモリである。TRM１として実装されたマイコンシステムは、単位面積当たりの製造コストが高く、TRM１内の内部EEPROM３の規模は、32Kバイトになっている。簡略化のため、このEEPROMを内部メモリと呼び、図２に示したフラッシュメモリ２を、以降外部メモリと呼ぶ場合がある。
外部メモリ制御部４は、フラッシュメモリ２のアクセスのために設けられた専用回路である。フラッシュメモリ２のアクセスは、SDポータブルデバイス３００が発するSDコマンドに基づき行われる。
【００２５】
HIM(Host Interface Module)５は、SDポータブルデバイス３００から発行されるSDコマンドのコマンド番号を参照し、そのコマンド番号によりSDコマンドの振り分けを行う。SDコマンドの番号には、1〜mの数値と、m+1以上の拡張番号とがある。番号が1〜mなら外部メモリ制御部４にSDコマンドを出力し、m+1以上ならSDコマンドにカプセル化されたECコマンドを取り出して、CPU７側へと出力する。
【００２６】
マスクROM６は、OS(Operation System)、Java（登録商標）仮想マシン、アプリケーションプログラムが予め格納されている読出専用メモリである。SDポータブルデバイス３００は、このマスクROM６の固定番地からブートストラップを行うことにより、ECモードとして起動する。
CPU７は、マスクROM６に格納されているプログラムを実行する。
【００２７】
図４は、図３のTRM１内のマスクROM６とCPU７とからなる部分を、ソフトウェア構成に置き換えて描いた図である。破線枠wk1内は、ICカードと互換性があるモジュールである。一方TRM１において破線枠外の部分は、SDメモリカードと互換性があるモジュールである。
SDメモリカードとの互換部分は、外部メモリ制御部４と、HIM５とからなる。この中でHIM５は、SDメモリカードにおける機能を踏襲しつつも、ICカード互換モジュールとの窓口としての機能を果たす。
【００２８】
ICカード互換モジュールは、レイヤ構造をもつ。このレイヤ構造では、最下位層(物理層)に内部EEPROM３があり、この内部EEPROM３の上位層にOS１０が、更に上位層にはJava（登録商標）仮想マシン９が、最上位層にはECクライアントアプリ８がある。SDメモリカードとの互換部分である外部メモリ制御部４は、内部EEPROM３と同じく物理層にあることは注意されたい。
【００２９】
以降、図４に示したソフトウェア構成(ECクライアントアプリ８、Java（登録商標）仮想マシン９、OS１０)について説明する。
ECクライアントアプリ８は、ECクライアントアプリ８はJava（登録商標）言語で記述されたECアプリの一種であり、ユーザの操作に基づきECサーバ１００をアクセスする。ECサーバ１００におけるECサーバアプリは、ECサービス毎の複数種類のものが存在するので、SDeXメモリカード４００におけるECクライアントアプリも、ECサービス毎の複数のものが存在する。図中のC_APL1,2,3・・・・nは、ECサーバ１００におけるECサーバアプリS_APL1,2,3・・・・nのそれぞれについて、ECクライアントアプリが存在することを示す。ECクライアントアプリ８がカードリーダライタ２００、無線基地局２１０やネットワークを介して、ECサーバ１００上のECサーバアプリとコマンドの送受信を行うことにより、ECにおける様々なECサービスを享受する。サーバ上のECサーバアプリから受信したECコマンドがデータの書き込みコマンドである場合、ECクライアントアプリは、そのECコマンドをJava（登録商標）仮想マシンを介してOS１０に出力する。
【００３０】
ECクライアントアプリ本来の役割の他に、ECクライアントアプリ８は、ユーザ操作に基づくフラッシュメモリ２及び内部EEPROM３のアクセスをECモードにおいて実行する。このアクセスにはファイルをクリエイトしたり、そのファイルを読み書きしたりするというファイルアクセスが含まれる。
Java（登録商標）仮想マシン９(図中のJava(登録商標)Card VM)は、Java（登録商標）言語で記述されたECクライアントアプリ８を、CPU７のネィティブコードに変換して、CPU７に実行させる。
【００３１】
OS１０は、ECクライアントアプリが発行したコマンドに基づくフラッシュメモリ２及び内部EEPROM３の読み書きを実行する。以上が、SDeXメモリカード４００のソフトウェア構成である。
続いてフラッシュメモリ２及び内部EEPROM３における論理フォーマットについて説明する。図５は、フラッシュメモリ２及び内部EEPROM３の論理フォーマットを示す図である。本SDeXカードは、複数のアプリケーションC_APL1,2,3・・・・nに対応した半導体メモリカード、つまりマルチアプリケーション対応型の半導体メモリカードであり、本SDeXカードにおける論理フォーマットは、マルチアプリケーションにおけるアプリケーションのそれぞれに対応した複数のファイルシステムを備えている。
【００３２】
一般に記録媒体におけるファイルシステムとは、記録媒体上の領域であって、そこに記録されているデータをファイルやディレクトリとして認識可能なものをいう。つまり、記録媒体をアクセスしようとするプログラムは、セクタや記録ブロックという記録媒体上の物理単位を意識することなく、ファイルやディレクトリを対象にして、記録媒体にデータを書き込んだり、読み出したりすることができる。このファイルやディレクトリを記録媒体上で実現するための情報体系をファイルシステム構造という。上述した論理フォーマットでは、かかるファイルシステムがECクライアントアプリ毎に存在している。
【００３３】
フラッシュメモリ２及び内部EEPROM３は、2つのメモリ空間sm1,sm2を構成している。メモリ空間sm1は、TRM１内のCPU７からアクセス可能なメモリ空間であり、ECクライアントアプリの使用領域２１、ECクライアントアプリの拡張領域２２からなる。メモリ空間sm2は、TRM１内CPU７を介することなく、SDポータブルデバイス３００がアクセスすることができるメモリ空間であり、認証領域２３と、非認証領域２４とがある。認証領域２３、非認証領域２４とは、SDメモリカードがもつメモリ領域であり、SDポータブルデバイス上のアプリケーション(SDアプリ)により使用されるSDアプリ使用領域である。これら認証領域２３、非認証領域２４の意味合いについては上述した特許文献1(特許3389186号公報)を参照されたい。
【００３４】
図６は、ECクライアントアプリの拡張領域２２、認証領域２３、非認証領域２４の内部構成を示す図である。ECクライアントアプリの拡張領域２２、認証領域２３、非認証領域２４は、ISO/IEC 9293に準拠したファイルシステム構造を有する。ISO/IEC 9293は、説明の便宜のために選んだファイルシステム構造の一例に過ぎず、UDF(Universal Disk Format)等、他のファイルシステム構造を有していてもよい。認証領域２３、非認証領域２４は、TRM１の外部に存在するので、セキュアレベルは最も低い。セキュアレベルを高・中・低の3段階に分ければ、低のセキュアレベルにあたる。
【００３５】
ECクライアントアプリの使用領域２１は、複数のファイルシステムが配される領域である。個々のファイルシステムは、マルチアプリケーションにおけるそれぞれのアプリケーションに対応している。図６のECクライアントアプリ使用領域２１における『Master Boot Record』,『PartitionTable』,『Partition』は、1つだけ描かれているが、実際『PartitionTable』,『Partition』は、複数アプリケーションのそれぞれに対応するものがECクライアントアプリ使用領域２１上にある。ECクライアントアプリの使用領域２１は、全体がTRM１内に収まっているので、セキュアレベルは最も高い。セキュアレベルを高・中・低の3段階に分ければ、高のセキュアレベルにあたる。
【００３６】
ECクライアントアプリの拡張領域２２は、TRM１内のECクライアントアプリの使用領域を拡張した拡張部分であり、内部EEPROM３上の領域２２aと、フラッシュメモリ２上のセキュアフラッシュ領域２２bとからなる。セキュアフラッシュ領域２２bには、パーティション1,2,3・・・・nが存在する。これらパーティション1,2,3・・・・nは、TRM１が対応しているマルチアプリケーションのそれぞれに対応しているファイルシステム領域である。これらパーティション1,2,3・・・・nを、ファイルシステム領域として認識するには、このファイルシステム領域にアクセスするためのアクセス情報が必要になる。本実施形態においてこのアクセス情報は、パーティションテーブル1,2,3・・・・nにあたる。特徴的なのは、これらパーティションテーブル1,2,3・・・・nが内部EEPROM３内の領域２２a上にある点である。
【００３７】
SDモードにおいてSDポータブルデバイス３００により認識されるのは、認証領域２３、非認証領域２４に限られる。何故なら、ECクライアントアプリの使用領域２１やセキュアフラッシュ領域２２bは、TRM１内部にマスタブートレコードやパーティションテーブルが存在するため、SDモードではアクセスすることはできないからである。
CPU７によるセキュアフラッシュ領域２２bのアクセスは、CPU７からのアクセスでないとなし得ない。このことからセキュアフラッシュ領域２２bのアクセスは、原則としてECクライアントアプリによるアクセス時に限られることがわかる。セキュアフラッシュ領域２２bは、アクセス情報がTRM１内に収まっているので、セキュアレベルは中程度といえる。セキュアレベルを高・中・低の3段階に分ければ、中のセキュアレベルにあたる。尚、SDモード時に動作するアプリケーションが、特殊なコマンドを発行することにより、例外的にセキュアフラッシュ領域２２bをアクセスしてもよい。
【００３８】
図６において、ECクライアントアプリの使用領域２１のファイルシステム領域(パーティション)及びアクセス情報(パーティションテーブル)は、セキュアフラッシュ領域２２bのアクセス情報と別のものになっている。ECクライアントアプリの使用領域２１は、セキュアフラッシュ領域２２bとは別個独立の領域であるため、最悪のケースとして、フラッシュメモリ２上におけるファイルシステム領域の中身が悪意をもった者により暴露されたとしても、このセキュアフラッシュ領域２２bの内容からECクライアントアプリの使用領域２１が暴露されることはまず有り得ない。アクセス情報を別々にすることにより、ECクライアントアプリの使用領域２１についてのファイアオール機能を実現することができ、ECクライアントアプリの使用領域２１の機密性を維持することができる。
【００３９】
セキュアフラッシュ領域２２b内のパーティションや、認証領域２３のパーティション、非認証領域２４のパーティションは、共通の内部構成を有する。図７は、パーティションの共通構成を示す図である。
パーティションは、パーティションブートセクタ、『二重化ファイルアロケーションテーブル』、『ルートディレクトリエントリ』、『ユーザ領域』からなる。
【００４０】
『パーティションブートセクタ』は、パーティションに関する情報が記述されたテーブルである。
『二重化ファイルアロケーションテーブル(File Allocation Table(FAT))』は、ISO/IEC 9293に準拠した2つのFATからなる。各FATは、各クラスタに対応づけられた複数のFATエントリーからなる。各FATエントリーは、対応するクラスタが使用中であるか、未使用であるかを示すものであり、対応するクラスタが未使用であれば、そのファイルエントリーには、"0"が設定され、対応するクラスタが使用中であれば、クラスタ番号が設定される。このクラスタ番号は、対応するクラスタが読み出された場合、次にどのクラスタを読み出せばよいかといったクラスタ間のリンク関係を示す。
【００４１】
『ルートディレクトリエントリ』は、ルートディレクトリに存在する複数ファイルについてのファイルエントリーを複数含む。各ファイルエントリーは、存在するファイルの「ファイル名」と、そのファイルの「ファイル拡張子」と、ファイルの先頭部が格納されているクラスタの番号である「ファイル最初のクラスタ番号」と、そのファイルについての「ファイル属性」と、ファイルが記録された「記録時刻」と、ファイルの「記録日付」と、ファイルのデータ長である「ファイル長」とを含む。
【００４２】
『ユーザ領域』は、ファイルが格納される領域である。このユーザ領域に属するセクタ、記録ブロックの集合であって、1つのファイルとして認識されるものがファイル実体にあたる。以上がパーティションの構成である。続いてパーティションテーブル及びパーティションブートセクタについて説明する。
セキュアフラッシュ領域２２bのパーティションテーブルは、内部EEPROM３に存在する。一方認証領域２３、非認証領域２４についてのパーティションテーブルは、フラッシュメモリ２に存在する点に違いがある。しかし、セキュアフラッシュ領域２２b、認証領域２３、非認証領域２４のパーティションテーブルは何れも図８（ａ）の内部を有する。図８（ａ）は、パーティションテーブルを示す図であり、図８（ｂ）は、図７のパーティション内のパーティションブートセクタを示す図である。
【００４３】
『パーティションテーブル』は、各パーティションの所在及び大きさが示されたテーブルであり、図８（ａ）の矢印ky2に示すように、"Boot Indicator"と、パーティションの開始ヘッダを特定する"Starting Head"と、パーティションの開始セクタを特定する"Starting Sector"と、ファイルシステム領域のタイプを示す"SystemID"と、"Ending Head"と、パーティションの終了セクタを特定する"Ending Sector"と、このパーティションの開始セクタまでの相対セクタ数を示す"Relative Sector"と、パーティションのセクタ数が設定される"Total Sector"とからなる。
【００４４】
パーティションブートセクタは、図８（ｂ）に示すような情報項目を有するExtend FDC記述子が設定される。図８（ｂ）によれば、Extend FDC記述子は、Jump Command,Creating System Identifier,一セクタのサイズ(Sector Size), 一クラスタ当たりのセクタ数(Sector per Cluster),Reserved Sector Count,二重化FATに含まれるFAT数(Numbr of FATs),ルートディレクトリエントリのデータ長(Number of Root-directory Entries),Total Sectors,Medium Identifier,FAT1つ当たりのセクタ数(Sector Per FAT),Sector Per Track,Number of Sides,Number of Hidden Sectors,総セクタ数(Total Sectors),Physical Disk Number,Extended Boot Record Signature,Volume ID Number,ボリュームラベル(Volume Label),File System Type,Signature Word等の項目が設定される。
【００４５】
以上が、TRM１の内部構成である。続いて、領域拡張部１１について説明する。以下、この領域拡張部１１を設けたことの技術的意義を説明する。
ICカード互換モジュールにおいて、ECサーバアプリから受信したデータは、内部EEPROM３に書き込まれる。ECサーバアプリから書き込みが要求されるデータは、金銭に係るものであり、大半がサイズが小さく内部EEPROM３でも充分収まる。ところが年間の取り引き明細に関するデータ書き込みがECサーバアプリから要求された場合、サイズが余りにも大きく内部EEPROM３の容量では不足が生ずる。だからといってかかるデータをフラッシュメモリ２にそのまま書き込むのは、セキュリティ上好ましくない。何故なら、かかる年間の取引明細は、金銭に至らないまでも、それに準ずる保護価値があるからである。
【００４６】
そこで領域拡張部１１は、TRM１に準ずるセキュリティを保証しつつ、ECクライアントアプリの使用領域を、内部EEPROM３からフラッシュメモリ２へと拡張する。
領域拡張部１１は、ECクライアントアプリが使用領域の拡張を求めた際、ECクライアントアプリにフラッシュメモリ２内の1つのファイルシステム領域を割り当てる。ECクライアントアプリに割り当てられたファイルシステム領域は、そのECクライアントアプリ固有のものであり、他のECクライアントアプリはこのファイルシステム領域をアクセスすることはできない。1つのファイルシステム領域内部という閉じた空間にて、ECクライアントアプリは自由にファイルアクセスを行うことができる。領域拡張部１１により割り当てられるファイルシステム領域とは、上述したセキュアフラッシュ領域２２b内のパーティションである。領域拡張部１１によるアタッチは、ECクライアントアプリがファイルシステムOPENを要求した際になされる。ファイルシステムOPENが要求された際、領域拡張部１１はフラッシュメモリ２内に1つのパーティションを生成し、そのパーティションについてのパーティションテーブルを配置する。そしてECクライアントアプリには、ファイルシステム領域を利用するためのAPL-IDを付与する。このAPL-IDは、10桁以上のランダムな数値からなり、パスワードのように用いられる。
【００４７】
領域拡張部１１から付与されたこのAPL-IDを利用することで、ECクライアントアプリは自身に割り当てられたファイルシステム領域にデータを書き込んだり、データを読み出したりすることができる。ファイルシステム領域のOPENは、いわゆるファイルオープンとは異なる。従ってECクライアントアプリがセキュアフラッシュ領域２２bのファイルをオープンするには、前もってファイルシステムをOPENし、その後、ファイルをOPENするという二段階のOPENを行わねばならない。
【００４８】
ECクライアントアプリによるデータ読み書きが終われば、ファイルシステムのデタッチを行う。ファイルシステムのデタッチとは、ECクライアントアプリに割り当てられたパーティションを解放することである。領域拡張部１１によるデタッチは、ECクライアントアプリがファイルシステムCLOSEを要求した際になされる。ファイルシステムCLOSEが要求された際、デタッチは、領域拡張部１１によりなされる。ファイルシステムのCLOSEも、いわゆるファイルCLOSEとは異なる。ECクライアントアプリがセキュアフラッシュ領域２２bのファイルをCLOSEした後に、その後、ファイルが存在するファイルシステムをCLOSEするという二段階のCLOSEを行わねばならない。以降、同じECクライアントアプリが、同じパーティションを利用するには、APL-IDにより自己の正当性を証明した上で、領域拡張部１１にアタッチを行わせねばならない。
【００４９】
図９は、ECサーバ１００によるSDeXメモリカード４００のアクセス、SDポータブルデバイス３００によるSDeXメモリカード４００のアクセスを示す図である。図中の実線の矢印jt1,jt2,jt3は、ECサーバ１００によるSDeXメモリカード４００のアクセスを模式的に示す。図中の破線の矢印hs1は、SDポータブルデバイス３００によるSDeXメモリカード４００のアクセスを模式的に示す。本図に示すように、ECアクセスは、内部EEPROM３、フラッシュメモリ２内のセキュアフラッシュ領域２２bの何れかにアクセス可能であり、ECサーバ１００内のECアプリは、書き込むべきデータの大きさや重要度に応じて、書込先を選ぶことができる。
【００５０】
図１０は、SDeXメモリカード４００、SDポータブルデバイス３００、ECサーバ１００間におけるコマンド・レスポンスのシーケンス図である。本図において右向きの矢印はコマンドを示し、左向きの矢印は、レスポンスを示す。
SDモードでは、SDポータブルデバイス３００がホスト装置であり、SDポータブルデバイス３００はHIM５を介してSDeXメモリカード４００の外部メモリ制御部４と、SDコマンド、SDレスポンスの送受信sc1,2,3,4を行う。
【００５１】
ECモードにおけるシーケンスは、このSDモードにおけるシーケンスを踏襲しつつも、これを応用したものになっている。ECモードにおいても、SDモード同様HIM５を介した外部メモリ制御部４とのコマンド・レスポンスの送受信sc5,6が行われる。これらのコマンド・レスポンスは、ECコマンドをカプセル化したSDコマンド、ECレスポンスをカプセル化したSDレスポンスであり、SDポータブルデバイス３００は、HIM５を介したコマンド・レスポンスの送受信に加え、カードリーダライタ２００、無線基地局２１０、ネットワークを介したECサーバ１００とのECコマンド、ECレスポンスの送受信sc7,8を行う。ECコマンド、ECレスポンスの送受信sc5,6を行う点が、第１の差違点である。ECサーバ１００との送受信において、SDポータブルデバイス３００はその内部で、ECコマンド・ECレスポンスと、SDコマンド、SDレスポンスとの相互変換を行う。
【００５２】
SDモードとの第２の差違は、SDモードにおいてコマンド・レスポンスは外部メモリ制御部４−HIM５をダイレクトに行き来する。これに対し、ECモードではコマンド・レスポンスがICカード互換モジュールのECクライアントアプリ８、領域拡張部１１を経由する点、つまりECクライアントアプリ８、領域拡張部１１を通る。この迂回部分uc1,2,3,4,5,6,7が存在する点が第２の差違点である。
【００５３】
迂回部分において、フラッシュメモリ２への書き込みに先立ち、ECクライアントアプリは、ファイルシステムのOPEN、ファイルOPENを順次行う。ファイルシステムのOPENが命じられれば領域拡張部１１は、ファイルシステムのアタッチを行う。
一方フラッシュメモリ２の書き込み後、ECクライアントアプリは、ファイルのCLOSE、ファイルシステムのCLOSEを行う。ファイルのCLOSEが命じられれば領域拡張部１１は、ファイルシステムのデタッチを行う。
【００５４】
以上のように本実施形態によれば、TRM１の内部EEPROM３からフラッシュメモリ２へとECクライアントアプリの使用領域を拡張するにあたって、ECクライアントアプリの使用領域の拡張部にあたるパーティションをフラッシュメモリ２内に配置しつつも、パーティションテーブルをTRM１内部に置く。拡張部の根幹であるパーティションテーブルをTRM１内に秘匿するので、ECクライアントアプリの使用領域の拡張部がどこから始まるかを悪意をもったものに知られずに済む。これにより、ECクライアントアプリにより書き込まれたデータの守秘性を保つことができる。
【００５５】
また、ECクライアントアプリのそれぞれにパーティションを割り当て、各パーティションの関係を排他的なものにするので、複数ECクライアントアプリのうち1つが、悪意をもったものにより操作されたとしても、他のECクライアントアプリに割り当てられたパーティションの格納内容が、そのECクライアントアプリに知られることはない。1つのECクライアントアプリによる不正アクセスを、他のECクライアントアプリに波及させないので、格納内容の守秘性を保つことができる。
【００５６】
(第２実施形態)
第２実施形態は、第１実施形態より強固に、セキュアフラッシュ領域２２bの格納内容を保護する改良に関する。SDeXメモリカード４００の格納内容の保護は、一般に格納内容を暗号化することで実現される。
しかし不正なECクライアントアプリによりセキュアフラッシュ領域２２bがアクセスされる場合、セキュアフラッシュ領域２２bの格納内容を暗号化する暗号鍵が、そのECクライアントアプリを操作する者により暴露される恐れがある。そうした場合、セキュアフラッシュ領域２２bをアクセスする他のECクライアントアプリの格納内容までも、暴露される恐れがあり、セキュアフラッシュ領域２２bをアクセスする他のECクライアントアプリのECプロバイダに損害が波及する。
【００５７】
セキュアフラッシュ領域２２bの格納内容の全暴露を避けるべく、本実施形態ではパーティションを各ECクライアントアプリに割り当てる際、OS１０は固有の暗号鍵をECクライアントアプリに割り当てる。そして各ECクライアントアプリが、自身のセキュアフラッシュ領域上のファイルシステムをアクセスする際、ファイルシステムに書き込まれるべきデータ、ファイルシステムから読み出されるべきデータを固有の暗号鍵で暗号化・復号化する。各ECクライアントアプリにパーティションを割り当てることに加え、固有の暗号鍵で暗号化・復号化を行うので、たとえ1つのECクライアントアプリを操作するユーザが自身に割り当てられた暗号鍵をつきとめたとしても、他のECクライアントアプリに対応する暗号鍵が暴露されることはない。
【００５８】
以上の暗号化・復号化を行うため、OS１０は、図１１に示す構成をもつ。図１１に示すようにOS１０は、第１実施形態に示した領域拡張部１１に加え、選択テーブル１２、暗号化テーブル１３、暗復号化部１４を有する。
選択テーブル１２は、複数のビット長と、複数の暗号方式とを対応付けたテーブルである。ビット長は、ECクライアントアプリに固有の暗号鍵を生成する際、暗号鍵をどれだけのビット長にするかを示す。暗号方式は、その暗号鍵をもって、どのような暗号化アルゴリズムで暗号化するかを示す。これら複数の暗号方式、ビット長は、１〜Lのレベル値があり、高いレベル値には、難易度が高いアルゴリズムの暗号方式と、長いビット長とが対応づけられている。低いレベル値には、難易度が低いアルゴリズムの暗号方式と、短いビット長とが対応づけられている。暗号方式の難易度が高い程、暗号鍵のビット長が長い程、パーティションの格納内容のセキュリティは高くなることを意味する。セキュリティレベルの高低は、暗号化の処理時間と比例関係になる。つまり暗号方式の難易度が高い程、暗号鍵のビット長が長い程、暗号化、復号化に費やされる時間は長くなる。逆に暗号方式の難易度が低い程、暗号鍵のビット長が短い程、パーティションの格納内容のセキュリティは甘くなり、暗号化、復号化に費やされる時間は短くなる。
【００５９】
暗号化テーブル１３は、APL-ID、暗号方式、ビット長の対応をとるテーブルである。
暗復号化部１４は、領域拡張部１１がパーティションをECクライアントアプリに割り当てる際、ECクライアントアプリ８からセキュリティレベルを受け取って、そのセキュリティレベルに対応する暗号方式と、ビット長とを選択テーブル１２から検索して(図中のrf1,rf2)、検索したビット長の乱数を発生する。そうして発生した乱数を基に、検索した暗号方式に従って暗号鍵を生成し、それを固有の暗号鍵としてECクライアントアプリに割り当てる。この割り当て結果は、暗号化テーブル１３に示される(図中のレコード追加)。以降このECクライアントアプリがデータを書き込む際、そのECクライアントアプリから受け取ったデータを(図中のWrite data)、割り当てられた暗号鍵を用いてデータを暗号化した上で外部メモリ制御部４に出力する(図中の暗号化Write data)。またECクライアントアプリがデータを読み出す際、暗復号化部１４は外部メモリ制御部４から受け取ったデータを(図中の暗号化Read data)そのECクライアントアプリに割り当てられた暗号鍵を用いてデータを復号化した上で、ECクライアントアプリ８に引き渡す(Read data)。
【００６０】
第２実施形態に係る領域拡張部１１及び暗復号化部１４は、図１２（ａ）〜（ｃ）のフローチャートの処理を行うプログラムをコンピュータ記述言語で記述して、CPU７に実行させることにより生産される。
図１２（ａ）は、領域拡張部１１及び暗復号化部１４の処理手順を示すフローチャートである。
【００６１】
図１２（ａ）のフローチャートにおけるステップＳ１〜ステップＳ４は、領域拡張部１１の処理手順を示す。ステップＳ１で、領域拡張の要求元のECクライアントアプリに未割当パーティション番号iをアサインし、ステップＳ２では、i番目パーティションについてのパーティションテーブルを内部EEPROM３に書き込み、フラッシュメモリ２にパーティションを生成する。ステップＳ３において、パスワードを生成し、ステップＳ４では、生成したパスワードをAPL-IDとして要求元アプリに通知する。
【００６２】
また、図１２（ａ）のフローチャートにおけるステップＳ５〜ステップＳ７は、暗復号化部１４の処理手順を示す。ステップＳ５では、拡張要求時のセキュリティレベルに応じた暗号方式、ビット長を選択テーブルから取り出す。ステップＳ６では、取り出されたビット長の乱数を生成し、ステップＳ７では、取り出された暗号方式、ビット長、生成した乱数からなるレコードiを暗号化テーブルに追加する。
【００６３】
図１２（ｂ）は、領域拡張部１１及び暗復号化部１４によるファイル書き込みの処理手順を示すフローチャートである。
ステップＳ１１において、領域拡張部１１は書込を行うアプリに割り当てられたAPL-IDを取得し、ステップＳ１２では、APL-IDからパーティション番号iを特定し、アプリから、パラメータbuf,file,fpの設定を受け付ける。
【００６４】
ここで受け付けられるパラメータには、以下のものがある。
buf:書き込むべきデータへのポインタ
file:書込先ファイルのファイル名  
fp:書込先ファイル内部におけるポインタ
ステップＳ１３において暗復号化部１４、buf内のデータを、レコードにおける暗号鍵iを用いて暗号方式iで暗号化し、ステップＳ１４において領域拡張部１１はパーティションiのファイルにおいてファイルポインタ以降に、暗号化データを書き込む。
【００６５】
図１２（ｃ）は、領域拡張部１１及び暗復号化部１４によるファイル読み出しの処理手順を示すフローチャートである。ステップＳ２１において領域拡張部１１は、読出を行うアプリに割り当てられたAPL-IDを取得し、ステップＳ２２において領域拡張部１１は、APL-IDからパーティション番号iを特定する。そしてステップＳ２３において領域拡張部１１は、ECクライアントアプリから、パラメータbuf,file,fp,sizeの設定を受け付ける。
【００６６】
このステップＳ２３で受け付けられるパラメータには、以下のものがある。
buf:読み出すべきデータへのポインタ
file:読出先ファイルのファイル名  
fp:読出先ファイル内部におけるポインタ
size:読出データ長
ステップＳ２４において領域拡張部１１はパーティションiのファイルにおいてファイルポインタ以降の暗号化データをsizeだけ読み出し、ステップＳ２５において暗復号化部１４は、暗号鍵iを用いて読み出されたデータを、暗号方式iで復号化して、バッファに格納する。
【００６７】
以上のように本実施形態によれば、ECクライアントアプリは、セキュリティレベルと処理時間との関係を考慮して、セキュリティレベルを引数に指定してファイルシステムの拡張をOS１０に要求することができる。これにより、自身がどれだけのセキュリティレベルを要求しているかをOS１０に伝えることができる。
尚、セキュリティレベルはECクライアントアプリから受け付けるとしたが、OS１０側で自動的に設定するものとしてもよい。また、選択テーブル１２における暗号方式やビット長は、バージョンアップできるようにしてもよい。これにより、セキュアフラッシュ領域の守秘性を高めることができる。
【００６８】
また選択テーブル１２、暗号化テーブル１３は、OS外部であるが、TRM１内部の領域にあってもよい。
(第３実施形態)
Java（登録商標）仮想マシン９上で、複数ECクライアントアプリに対応するECクライアントアプリが動作している場合、OS１０はこれら複数ECクライアントアプリを、1つのタスクとして認識してしまう。これでは、あるECクライアントアプリから他のECクライアントアプリへの切り換わり時に、そのECクライアントアプリについてのデタッチを行うことができず、その切換先ECクライアントアプリが、切換元ECクライアントアプリのパーティションをアクセスすることも有り得る。
【００６９】
仮に、切換先ECクライアントアプリが悪意をもった者により操作されている場合、切換元ECクライアントアプリのパーティションの内容がその悪意をもったものに漏洩してしまう恐れがある。本実施形態では、かかる漏洩を避けるため、Java（登録商標）仮想マシン９が、ECクライアントアプリの切り換えがあれば、その切り換えがあった旨と、切換先APL-IDとを領域拡張部１１に通知する。
【００７０】
領域拡張部１１は、Java（登録商標）仮想マシン９からECクライアントアプリの切り換えが通知されれば、ファイルシステムのデタッチを行う。
以上のように本実施形態によれば、Java（登録商標）仮想マシン９を介することにより複数タスクが1つのタスクとして認識される場合であっても、ECクライアントアプリの切り換えをJava（登録商標）仮想マシンがOS１０に通知するので、ECクライアントアプリのデタッチを行うことができ、あるECクライアントアプリのパーティションの内容を、他のECクライアントアプリに漏洩することはない。
【００７１】
(第４実施形態)
第１〜第３実施形態では、ファイルシステムとして認識可能な領域をフラッシュメモリ２上に配置し、ファイルシステムをアクセスするための領域テーブルを耐タンパモジュールに配置していた。これに対し本実施形態は、ファイルシステムとして認識可能な領域と、領域テーブルとの組みをフラッシュメモリ２上に配置することを特徴としている。
【００７２】
かかる組みをフラッシュメモリ２に配置すると共に、ファイルシステム領域をアクセスするためのアクセス情報をTRM内におく。本実施形態では、領域テーブルをアクセスするための位置情報、領域テーブルを復号するための暗号鍵がこのアクセス情報にあたる。
図１３は、第４実施形態におけるフラッシュメモリ２のアロケーションを示す図である。本図においてセキュアフラッシュ領域は、認証領域２３、非認証領域２４の後に設けられている。本実施形態においてメモリアクセスは、ページ単位(1ページ=512バイト)でなされ、セキュアフラッシュ領域は、0100hページ(hは16進数表示を示す)に配置されている。
【００７３】
引き出し線hh1は、フラッシュメモリ２のうちセキュアフラッシュ領域のアロケーションをクローズアップするものである。本引き出し線に示すようにセキュアフラッシュ領域には、領域テーブルたる『SF(Secure Flash)領域テーブル』と、この『SF領域テーブルのバックアップ』と、最大16個の『ファイルシステム領域(1)〜(16)』とからなる。引き出し線hh2は、SF領域テーブルの内部構成をクローズアップして示す。この引き出し線に示すようにSF領域テーブルは、「セキュアフラッシュ領域サイズ」と、32個の「FS(File System)エントリー(1)〜(32)」からなる。ファイルシステム領域の数が16個であるのに対し、FSエントリーの数が32個であるのは、ファイルシステム領域間の空白も、1個の領域としてカウントしているためである。
【００７４】
SF領域テーブルの大きさは388バイトなので、そのバックアップと合わせたサイズは、776バイトになる。1ページは512バイトなので、2個のSF領域テーブルは、2ページ分のサイズを占める。セキュアフラッシュ領域の先頭を100hページとすると、ファイルシステム領域(1)は、102hページから始まることになる。
引き出し線hh3は、16個のファイルシステムのうち、任意の1つであるファイルシステム[i]についてのFSエントリー[i]の内部構成をクローズアップして示す。
【００７５】
FSエントリーは、ファイルシステム[i]が無効であるか(「0」の設定時)、ファイルシステム[i]が存在するか(「1」の設定時)、空きであるか(「2」の設定時)を示す1バイト長の『状態フラグ』、
ファイルシステム[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]のアクセスは可能になる。
【００７６】
以上がセキュアフラッシュ領域のアロケーションである。続いて第４実施形態に係るTRM内メモリ３のアロケーションについて説明する。図１４は、第４実施形態に係るTRM内メモリ３のアロケーションを示す図である。本図の特徴は、SF領域テーブルをアクセスするためのアクセス情報がTRM内メモリ３に存在する点にある。
引き出し線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にそれぞれ設定されていることがわかる。
【００７７】
続いて16個のFSエントリーアクセス情報のうち、任意の1つであるFSエントリーアクセス情報[i]の内部構成を説明する。図中の引き出し線hh7はFSエントリーアクセス情報の構成をクローズアップしている。本FSエントリーアクセス情報[i]は、2バイト長の『CRC』、2バイト長の『暗号方式』、32バイト長の『暗号鍵』、4バイト長の『未使用データ』からなる。引き出し線hh8は、FSエントリーアクセス情報の具体的な内容を示す。この具体例では、CRCは56h,12h、暗号方式はFFh,4Fh,暗号鍵は、FEh,E4h,ADh,2Ch〜00h,11h,22h,33hに設定されていることがわかる。
【００７８】
図１５は、第４実施形態に係るセキュアフラッシュ領域のアクセスの過程を示す図である。以上のSF先頭ページアクセス情報、FSエントリーアクセス情報がTRMのTRM内メモリ３に存在するため、TRM内のOSが、どれかセキュアフラッシュ領域をアクセスする場合は、SF先頭ページアクセス情報における先頭ページを参照することにより暗号化SF領域テーブルをアクセスし(図中のkj1)、またSF先頭ページアクセス情報における暗号方式、暗号鍵を取り出してこれに基づき暗号化SF領域テーブルを復号することにより、SF領域テーブルを得る。
【００７９】
こうしてSF領域テーブルを復号すれば、これに含まれるFSエントリー[i]を参照することにより、ファイルシステム領域[i]の先頭ページにアクセスする(図中のkj2)。更にTRM内メモリ３のFSエントリーアクセス情報には、各ファイルシステム領域についての暗号鍵、暗号方式が示されているので、任意のファイルシステム領域から暗号化データを読み出し、これを暗号方式、暗号鍵を用いて復号することにより、セキュアフラッシュ領域の記録内容を知得することができる。
【００８０】
図１３、図１４のアロケーションにおいて、SF領域テーブルはセキュアフラッシュ領域に置かれるが、SF先頭ページアクセス情報、FSエントリーアクセス情報はTRM内にある。そのためSDeXカードが機器に接続されたとしても、この機器はTRM内のSF先頭ページアクセス情報、FSエントリーアクセス情報を読み取ることができないので、当該機器から見てSF領域テーブルは、無意味なデータにしか写らない。SDeXカードに接続された機器はセキュアフラッシュ領域を認識することができず、セキュアフラッシュ領域の守秘性は保たれる。
【００８１】
以上のように説明したセキュアフラッシュ領域に対するアクセスは、図１６〜図１９の処理手順を記述したプログラムを作成し、これをCPU７に実行することにより実現される。図１６は、セキュアフラッシュ領域初期化時におけるOS１０の処理手順を示すフローチャートである。本フローチャートでは、フラッシュメモリ２上の領域のセキュアフラッシュ領域の先頭ページを割り当てる(ステップＳ３１)。そして、ECクライアントアプリのセキュリティレベル情報を取得する。セキュリティレベル情報とは、暗号方式と、ビット長とを用いてECクライアントアプリのセキュリティレベルを表す情報である。ここで暗号方式とは、第２実施形態同様、ECクライアントアプリについての暗号化にどのような暗号化アルゴリズムを用いるかを示す。またビット長は、第２実施形態同様、ECクライアントアプリについての暗号化に、何ビットの暗号鍵を用いるかを示す。
【００８２】
そうして取得した、暗号方式及びビット長に基づき、暗号鍵を生成する(ステップＳ３２)。生成後、暗号鍵、暗号方式、先頭ページを含んだSF先頭ページアクセス情報をTRM内メモリ３に書き込む(ステップＳ３３)。そして、状態フラグが"空き"を示すFSエントリーを16個生成し、これにセキュアフラッシュ領域サイズを加えてSF領域テーブルを得て(ステップＳ３４)、生成したSF領域テーブルを、生成した暗号鍵を用いて、暗号方式に基づき暗号化して、セキュアフラッシュメモリ２上の先頭ページ以降に書き込む(ステップＳ３５)。これによりセキュアフラッシュ領域の初期化が完了する。
【００８３】
図１７は、ファイルシステム生成時におけるOS１０の処理手順を示すフローチャートである。本フローチャートは、ステップＳ４１においてTRM内メモリ３からSF先頭ページアクセス情報を読み出し、ステップＳ４２の判定を行う。ステップＳ４２は、SF先頭ページアクセス情報の先頭ページがFFFFFFFFであるかを判定するものであり、もしそうなら何の処理も行わずに、本フローチャートを終了する。もし有効なページであるなら、暗号化SF領域テーブルを読み出し、SF先頭ページアクセス情報の暗号鍵を用いて、暗号方式に基づき復号し(ステップＳ４３)、ステップＳ４４の判定を行う。ステップＳ４４は、SF領域テーブルに空きのFSエントリーが存在するかどうかを判定する判定ステップであり、もし空きがなければ何の処理も行わずに、本フローチャートを終了する。
【００８４】
空きがあれば、空きのファイルシステム領域をファイルシステム領域[i]として(ステップＳ４５)、ECクライアントアプリのセキュリティレベル情報を取得し、取得したセキュリティレベル情報に含まれる暗号方式及びビット長に基づき、暗号鍵を生成する(ステップＳ４６)。ファイルシステム領域[i]用のパーティションブートセクタ、FAT、ディレクトリエントリを暗号鍵を用いて、暗号方式に基づき暗号化してファイルシステム領域[i]に書き込む(ステップＳ４７)。これにより1つのファイルシステム領域がセキュアフラッシュメモリ２上に得られることになる。
【００８５】
図１８は、OS１０によるファイルシステムアクセスの処理手順を示すフローチャートである。TRM内メモリ３からSF先頭ページアクセス情報を読み出し(ステップＳ５１)、SF先頭ページアクセス情報の先頭ページがFFFFFFFFであるか否かを判定する(ステップＳ５２)。FFFFFFFFであるなら、何の処理も行わずに本フローチャートを終了する。もし有効な値であるなら、暗号化SF領域テーブルを読み出し、これをSF先頭ページアクセス情報の暗号鍵を用いて、暗号方式に基づき復号する(ステップＳ５３)。復号されたSF領域テーブルから、ファイルシステム[j]の先頭ページを読み出し(ステップＳ５４)、セキュアフラッシュ領域の先頭ページ＋ファイルシステム[j]の先頭ページから、ファイルシステム領域[j]の暗号化パーティションブートセクタ、FAT、ディレクトリエントリを読み出す(ステップＳ５５)。そしてFSエントリーアクセス情報の暗号方式、暗号鍵に基づきファイルシステム[j]から読み出されたデータを復号し(ステップＳ５６)、復号結果に基づき、ファイルシステム領域[j]におけるディレクトリ、ファイルを認識して(ステップＳ５７)、ファイルシステム領域[j]の暗号方式、暗号鍵に基づくファイルシステム[j]内のファイルアクセスを実行する(ステップＳ５８)。
【００８６】
図１９は、OS１０によるファイルシステム削除の処理手順を示すフローチャートである。先ず初めに、TRM内メモリ３からSF先頭ページアクセス情報を読み出し(ステップＳ６１)、SF先頭ページアクセス情報の先頭ページがFFFFFFFFであるか否かを判定する(ステップＳ６２)。FFFFFFFFであるなら、何の処理も行わずに本フローチャートを終了する。もし有効な値であるなら、セキュアフラッシュ領域の先頭ページから暗号化SF領域テーブルを読み出し、SF先頭ページアクセス情報の暗号鍵を用いて、暗号方式に基づき復号する(ステップＳ６３)。そして復号されたSF領域テーブルから、ファイルシステム[j]の先頭ページを読み出し(ステップＳ６４)、セキュアフラッシュ領域の先頭ページ＋ファイルシステム[j]の先頭ページから、ファイルシステム領域[j]のサイズ分だけクリア処理を行う(ステップＳ６５)。その後、SF領域テーブルにおけるファイルシステム領域[j]の状態フラグを空きに更新し(ステップＳ６６)、更新されたSF領域テーブルをSF先頭ページアクセス情報内の暗号鍵を用いて、暗号方式に基づき暗号化した上でセキュアフラッシュ領域に書き戻す(ステップＳ６７)。これによりファイルシステム[j]の削除は完了する。
【００８７】
以上のように本実施形態によれば、SF領域テーブルの所在を示す情報や暗号鍵、暗号方式を含むSF先頭ページアクセス情報をTRM内部に配置した上で暗号化SF領域テーブルをセキュアフラッシュ上に配置するので、セキュアフラッシュ上のファイルシステム領域は、TRM内のOSのみが認識可能となる。TRM内のOSのみがアクセス可能なファイルシステム領域をセキュアフラッシュ領域に設けるので、格納内容の守秘性を保ちながら、ECクライアントアプリの領域拡張を実現することができる。
【００８８】
(第５実施形態)
第１実施形態〜第４実施形態において耐タンパモジュールの内部メモリ３及び外部メモリ２は、それぞれEEPROM及びフラッシュメモリで構成していた。これに対し第５実施形態では、耐タンパモジュールの内部メモリ３及び外部メモリ２を、2つのメモリモジュールで構成する。図２０は、第５実施形態に係るメモリモジュールの構成を示す図である。本図において、EEPROM３a、フラッシュメモリ２aは、主たるメモリモジュールであり、第１実施形態〜第４実施形態に示したものと同じである。第５実施形態では、このメモリモジュールに加え、予備のメモリモジュール２b,３bが内部メモリ３及び外部メモリ２に追加されている。この予備のメモリモジュール２b,３bは強誘電体メモリ(Ferro Electric Random Access Memory(FeRAM))で構成されており、その性能はフラッシュメモリと大きく異なる。図２１は、フラッシュメモリ、FeRAMの性能比較を示す図である。本図を参照すると、フラッシュメモリは価格面では低廉であり、大容量化には向いているが(図中の○)、ブロック単位の書き込みしか行えない(※1)。このブロックのサイズは、フラッシュメモリが大容量になればそれにつれ大きくなるので、小サイズのデータを書き込む場合、ロスが大きくなる。また書き込み時間は長く(10000ns)、書き込み回数も少ない(1,000,000回)。そして書込時には、既に格納されているデータを一旦消去して書き込みを行うため、書き込み性能は不安定となる(※2)。
【００８９】
一方、FeRAMは価格が高く大容量化には不向きであるが(△)、書き込み単位が1バイトであり、また書込時間は高速である(30〜100ns)。また書き換え回数も多い。
かかる性能差があることから、予備のメモリモジュールをFeRAMで構成し、ファイルエントリーやFAT等、更新頻度が高いデータをメモリモジュールに配せば、フラッシュメモリにおける書込性能を補うことができる。図２２は、ファイルエントリーやFAT、クリア処理管理テーブルというような、更新頻度が高いデータが配されたFeRAMを示す図である。
【００９０】
以上のように本実施形態によれば、FeRAMで構成された予備のメモリモジュールにファイルエントリー、FAT等サイズが小さく更新頻度が高いデータを格納するので、ファイルエントリーやFATの高速書き換えを実現することができる。
FeRAMには、他にワンスタイムリードという特性がある。これは、格納されているデータを一度読み出せば、その格納内容は破壊されるという特性である(図の※4)。これは守秘性を徹底する意味では好ましいが、データの読み出し時には、再度データを書き込む必要があり、結局書込回数が増えてしまう。この読出時のデータ破壊という特性を補うなら、磁気共鳴メモリ(Magnetoresitive RAM(MRAM))を採用することが望ましい。
【００９１】
(第６実施形態)
第５実施形態では予備のメモリモジュールをFeRAMで構成していたが、第６実施形態は耐タンパモジュールの内部メモリ３をFeRAMで構成するという態様に関する。図２３は、第６実施形態に係るTRM内メモリ３の内部構成を示す図である。耐タンパモジュールの内部メモリ３は小サイズなので、FeRAMで構成しても、大きなコストアップにならない。尚、第６実施形態ではTRM内メモリ３をFeRAMのみで構成するとしたが、MRAMのみで構成してもよい。
【００９２】
(第７実施形態)  第１実施形態においてECクライアントアプリは、予めマスクROM６に格納されていたが、本実施形態はECサーバ１００からダウンロードされたECクライアントアプリを、SDeXカードに記録する改良に関する。
第７実施形態に係るTRM内メモリ３には、ECアプリダウンロード用領域が新たに追加される。SDポータブルデバイス３００がECサーバ１００から新たなECクライアントアプリをダウンロードする際、このECアプリダウンロード用領域が、ダウンロード先になる。
【００９３】
ダウンロードされた新たなECクライアントアプリには、予めECクライアントアプリの使用領域上に確保された複数領域のうち1つが、割り当てられる。また領域拡張部１１は、ダウンロードによりECクライアントアプリが追加された際、ダウンロードされたECクライアントアプリにフラッシュメモリ２内の1つのファイルシステムを割り当てる。ダウンロードされたECクライアントアプリに割り当てられたファイルシステムは、そのECアプリ固有のものであり、他のECクライアントアプリはこのファイルシステムをアクセスすることはできない。1つのファイルシステム内部という閉じた空間にて、ECクライアントアプリは自由にファイルアクセスを行うことができる。
【００９４】
以上のように本実施形態によれば、SDeXカードにECクライアントアプリが追加された際、領域拡張部１１は、そのECクライアントアプリにファイルシステムを割り当てるので、ダウンロードされたECクライアントアプリは、過不足なく、SDeXカード上の領域を使用することができる。
尚、ダウンロードされたECクライアントアプリに、専用のファイルシステムを割り当てるには、将来ダウンロードされるであろうECクライアントアプリのための領域を、予めECクライアントアプリの使用領域に確保しておくのが望ましい。
【００９５】
(第１実施形態〜第７実施形態の補足事項)
(A)尚、ECアプリをアプリケーションプログラムの一例として説明したが、他のアプリケーションプログラムでもよい。鉄道、航空、バス、高速道路等の交通機関が運営するサーバ装置上のサーバアプリケーション、これに対応するクライアントアプリであってもよい。これにより、改札業務や搭乗手続きといった用途でもSDeXメモリカード４００を利用することができる。
【００９６】
また、官公庁や地方公共団体が運営するサーバ装置上のサーバアプリケーション、これに対応するECクライアントアプリであってもよい。これにより、住民表や各種証明、登記等の用途にSDeXメモリカード４００を利用することができる。
(B)図１２に示したプログラムによる情報処理は、CPU、EEPROMといったハードウェア資源を用いて具体的に実現されている。つまり、プログラムと、ハードウェアとが協働した具体的手段が、使用目的に応じた情報処理を行うことにより、第１実施形態〜第７実施形態に示したSDeXメモリカード４００は構築される。
【００９７】
プログラムによる情報処理が、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、自然法則を利用した技術的思想の創作と捉えることができ、プログラム単体で発明として成立する。図１２に示した処理手順は、本発明に係るプログラムの実施行為の形態を開示するものである。
尚、第１実施形態〜第７実施形態は、SDeXメモリカード４００に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、SDeXメモリカード４００から分離して、第１実施形態〜第７実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
【００９８】
双方向の電子通信回線を介した提供行為(5)の類型には、提供者が、プログラムをユーザに送り、ユーザに使用させる行為や(プログラムダウンロードサービス)、プログラムを提供者の手元に残したまま、そのプログラムの機能のみを電子通信回線を通じて、ユーザに提供する行為(機能提供型ASPサービス)がある。
(C)図１２のフロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、制御方法の使用形態を開示していることがわかる。これらのフロ−チャ−トこそ、本発明に係る制御方法の使用行為についての実施形態である。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る半導体メモリカードの制御方法の実施行為に該当することはいうまでもない。
【００９９】
(D)第１実施形態〜第７実施形態において耐タンパモジュール内外の不揮発メモリをEEPROMとして説明したが、不揮発メモリであればFeRAM等他のものを採用してもよい。
(E)SDポータブルデバイス３００は、携帯電話タイプのものを一例にして説明したが、民生用の携帯オーディオ機器やSTB(Set Top Box)や携帯電話であってもよい。
(F)金銭に準ずるセキュアな情報として、年間の取引明細を一例にしたが、機密性が求められる情報であれば、マイレージ、クーポン、個人情報、企業秘密情報等の他の情報であってもよい。
【０１００】
(G)ECアプリ固有のファイルシステム領域として領域拡張部１１は、パーティションを割り当てたが、他の論理領域をECアプリ固有のファイルシステム領域にしてもよい。例えば1つのディレクトリをECアプリ固有のファイルシステム領域にしてもよい。
【産業上の利用可能性】
【０１０１】
本発明に係る半導体メモリカードは、TRMの規模を増やすことなく、セキュアな領域を拡大することができるので、守秘が求められる様々なデータの格納に最適であり、民生機器業界を初め産業界の様々な分野で利用される可能性を有する。
【図面の簡単な説明】
【０１０２】
【図１】SDeXメモリカードの使用環境を示す図。
【図２】本発明にかかる半導体メモリカードの内部構成を示す図。
【図３】TRM１内のハードウェア構成を示す図。
【図４】図３のTRM１内のマスクROM６とCPU７とからなる部分を、ソフトウェア構成に置き換えて描いた図。
【図５】フラッシュメモリ２及び内部EEPROM３の論理フォーマットを示す図。
【図６】ECクライアントアプリの拡張領域２２、認証領域２３、非認証領域２４の内部構成を示す図。
【図７】パーティションの共通構成を示す図。
【図８】（ａ）パーティションテーブルを示す図。（ｂ）図７のパーティション内のパーティションブートセクタを示す図。
【図９】ECサーバ１００によるSDeXメモリカードのアクセス、SDポータブルデバイス３００によるSDeXメモリカードのアクセスを示す図。
【図１０】SDeXメモリカード、SDポータブルデバイス３００、ECサーバ１００間におけるコマンド・レスポンスのシーケンス図。
【図１１】第２実施形態に係るOS１０の内部構成を示す図。
【図１２】（ａ）領域拡張部１１及び暗復号化部１４の処理手順を示すフローチャート。（ｂ）領域拡張部１１及び暗復号化部１４によるファイル書き込みの処理手順を示すフローチャート。（ｃ）領域拡張部１１及び暗復号化部１４によるファイル読み出しの処理手順を示すフローチャート。
【図１３】第４実施形態におけるフラッシュメモリ２のアロケーションを示す図。
【図１４】第４実施形態に係るTRM内メモリ３のアロケーションを示す図。
【図１５】第４実施形態に係るセキュアフラッシュ領域のアクセスの過程を示す図。
【図１６】セキュアフラッシュ領域初期化時におけるOS１０の処理手順を示すフローチャート。
【図１７】ファイルシステム生成時におけるOS１０の処理手順を示すフローチャート。
【図１８】OS１０によるファイルシステムアクセスの処理手順を示すフローチャート。
【図１９】OS１０によるファイルシステム削除の処理手順を示すフローチャート。
【図２０】第５実施形態に係るメモリモジュールの構成を示す図。
【図２１】フラッシュメモリ、FeRAMの性能比較を示す図。
【図２２】ファイルエントリーやFAT、クリア処理管理テーブルというような、更新頻度が高いデータが配されたFeRAMを示す図。
【図２３】第６実施形態に係るTRM内メモリ３の内部構成を示す図。
【符号の説明】
【０１０３】
１    TRM
２    フラッシュメモリ
３    内部EEPROM
４    外部メモリアクセス部
５    HIM
６    マスクROM
７    CPU
８    ECクライアントアプリ
９    仮想マシン
１０    OS
１１    領域拡張部
１２    選択テーブル
１３    暗号化テーブル
１４    暗号化部及び復号化部
２１    ECクライアントアプリの使用領域
２２    セキュアフラッシュ領域
２３    認証領域
２４    非認証領域
１００    ECサーバ
２００    カードリーダライタ
２１０    無線基地局
３００    SDポータブルデバイス
【図１】
2004252968.tif 000003
【図２】
2004252968.tif 000004
【図３】
2004252968.tif 000005
【図４】
2004252968.tif 000006
【図５】
2004252968.tif 000007
【図６】
2004252968.tif 000008
【図７】
2004252968.tif 000009
【図８】
2004252968.tif 000010
【図９】
2004252968.tif 000011
【図１０】
2004252968.tif 000012
【図１１】
2004252968.tif 000013
【図１２】
2004252968.tif 000014
【図１３】
2004252968.tif 000015
【図１４】
2004252968.tif 000016
【図１５】
2004252968.tif 000017
【図１６】
2004252968.tif 000018
【図１７】
2004252968.tif 000019
【図１８】
2004252968.tif 000020
【図１９】
2004252968.tif 000021
【図２０】
2004252968.tif 000022
【図２１】
2004252968.tif 000023
【図２２】
2004252968.tif 000024
【図２３】
2004252968.tif 000025