(57)【特許請求の範囲】
【請求項１】
連続して参照されるアドレスを付与された複数の記録領域を有する記録手段、該記録手段に記録された情報に基づく命令を実行する命令実行手段、及び外部装置と接触又は非接触で通信する通信手段を備えるＩＣカードで、前記記録手段の複数の記録領域を受信バッファとして用い、前記外部装置から受信する情報を前記受信バッファに一時的に記録させる記録方法において、
前記ＩＣカードの前記受信バッファとして用いる複数の記録領域に、前記連続して参照されるアドレスの１つおき又は複数おきに対応して、前記命令実行手段が読み出した場合に実行が不可能な実行不可情報を記録しておき、
前記ＩＣカードは、前記外部装置から前記通信装置により受信する情報を、前記受信バッファにおける実行不可情報が記録されていない複数の記録領域に、分割して記録することを特徴とする記録方法。
【請求項２】
連続して参照されるアドレスを付与された複数の記録領域を有する記録手段及び該記録手段に記録された情報に基づく命令を実行する命令実行手段を備え、前記記録手段の複数の記録領域を受信バッファとして用い、外部の装置から受信する情報を前記受信バッファに一時的に記録する記録装置において、
前記受信バッファとして用いる複数の記録領域に、前記連続して参照されるアドレスの１つおき又は複数おきに対応して、前記命令実行手段が読み出した場合に実行が不可能な実行不可情報を記録しておく手段と、
受信する情報を、前記受信バッファにおける実行不可情報が記録されていない複数の記録領域に、分割して記録する記録処理手段と
を備えることを特徴とする記録装置。
【請求項３】
連続して参照されるアドレスを付与された複数の記録領域を有する記録手段、該記録手段に記録された情報に基づく命令を実行する命令実行手段、及び外部の装置と通信する通信手段を備え、前記記録手段の複数の記録領域を受信バッファとして用い、前記通信手段が受信する情報を前記受信バッファに一時的に記録するＩＣカードにおいて、
前記受信バッファとして用いる複数の記録領域に、前記連続して参照されるアドレスの１つおき又は複数おきに対応して、前記命令実行手段が読み出した場合に実行が不可能な実行不可情報を記録しておく手段と、
通信手段が受信した受信情報を、前記受信バッファにおける実行不可情報が記録されていない複数の記録領域に、分割して記録する記録処理手段と
を備えることを特徴とするＩＣカード。
【請求項４】
予め記録している命令を特定する命令特定情報を記録する命令特定情報記録手段と、
前記記録手段の記録領域に分割して記録した受信情報を、１つおき又は複数おきにアドレスを参照して前記記録手段から読み取る手段と、
該手段により読み取った受信情報と一致する命令特定情報を、前記命令特定情報記録手段から検索する検索手段と
を備え、
前記命令実行手段は、
検索により一致した命令特定情報にて特定される命令を実行する様に構成してあることを特徴とする請求項３に記載のＩＣカード。
【請求項５】
前記検索手段は、
受信情報及び命令特定情報を所定の照合単位ずつ照合することにより検索する様に構成してあることを特徴とする請求項４に記載のＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードに情報を記録させる記録方法、該記録方法を適用した記録装置、及び前記記録方法を適用したＩＣカードに関し、特に外部装置から送信される不正なプログラムの実行を防止することが可能な記録方法、記録装置及びＩＣカードに関する。
【背景技術】
【０００２】
ＲＯＭ、ＲＡＭ等のメモリ及びＣＰＵを搭載したＩＣカードは、磁気カードに比べて大量のデータを記録することが可能であり、また安全性も高いことから今後益々普及していくと考えられている。この様なＩＣカードを接触又は非接触で情報の記録／読取を行う外部装置（リーダライタ）と通信させることにより、外部装置は、ＩＳＯ／ＩＥＣ７８１６−４等の規格にて規定されたコマンドＡＰＤＵ(Application Protocol Data Unit)等の情報をＩＣカードへ送信し、ＩＣカードでは、受信した情報に基づく処理を実行し、その結果を応答として外部装置へ送信する。
【０００３】
ところがＩＣカードに搭載されたメモリには、個人情報を含む重要な情報が記録されているため、ＩＣカードに対して攻撃を行い、格納されている情報の不正な読み出し、改竄等の不正行為が行われる可能性がある。
【０００４】
ＩＣカードに対する不正行為について説明する。外部装置からＩＣカードへコマンドＡＰＤＵとして送信される情報は、本来ＩＣカードで処理されるべきものである。しかし悪意を持った攻撃者が、コマンドＡＰＤＵとして送信する情報に、ＩＣカードで処理されるべき情報ではなく、ＣＰＵにより実行可能な不正行為のための命令（プログラムコード）を外部装置からＩＣカードへ送信させることも可能である。外部装置から不正行為のための命令を含むコマンドＡＰＤＵを受信したＩＣカードでは、受信した命令を、受信バッファ用のＲＡＭとして搭載されているメモリに記録する。ＩＣカードに搭載されたＣＰＵは、次に実行すべき命令のアドレスを示すプログラムカウンタを内蔵しており、プログラムカウンタは、命令を実行する都度変化する。そして攻撃者がＩＣカードに対し特定のノイズの照射等の攻撃を行うことでプログラムカウンタを操作することにより、プログラムカウンタに、受信バッファとして用いられているメモリ上のアドレスが設定された場合、メモリに記録された命令がＣＰＵにより実行され、格納されている情報の不正な読み出し、改竄等の不正行為が行われる。
【０００５】
この様な不正行為に対する対策として、特許文献１では、外部装置から送信されるコマンドＡＰＤＵに組み込まれた命令を実行不可能な状態に変換してメモリに記録することで、不正行為を防止する技術を開示している。そしてメモリに記録した命令を実行する場合には、逆変換を行うことで元の命令を復元し実行する。
【特許文献１】特開２０００−２２２２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した様に従来のＩＣカードでは、コマンドＡＰＤＵ及び外部からの攻撃を組み合わせた不正行為が行われる可能性があるという問題を有している。
【０００７】
また特許文献１により開示された技術では、変換及び逆変換に伴う処理負荷及び処理時間の増大という問題がある。また変換されてメモリに記録されたコマンドＡＰＤＵを実行されることはないが、逆変換されたコマンドＡＰＤＵを実行されることにより不正行為が行われる可能性がある。
【０００８】
本発明は斯かる事情に鑑みて成されたものであり、連続するアドレスを付与された記録領域を有するメモリに、外部装置から受信した受信情報を記録する場合に、不連続なアドレスにて示される記録領域に分割して記録することにより、処理負荷及び処理時間を増大させることなく不正行為を防止することが可能な記録方法、該記録方法を適用した記録装置、及び前記記録方法を適用したＩＣカードの提供を主たる目的とする。
【０００９】
さらに本発明は、記録した受信情報から命令を復元して実行するのではなく、記録した受信情報と一致する命令特定情報を検索し、検索した命令特定情報にて特定される命令を実行することにより、処理負荷及び処理時間を増大させることなく不正行為を防止することが可能なＩＣカード等の提供を他の目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る記録方法は、連続して参照されるアドレスを付与された複数の記録領域を有する記録手段、該記録手段に記録された情報に基づく命令を実行する命令実行手段、及び外部装置と接触又は非接触で通信する通信手段を備えるＩＣカードで、前記記録手段の複数の記録領域を受信バッファとして用い、前記外部装置から受信する情報を前記受信バッファに一時的に記録させる記録方法において、前記ＩＣカードの前記受信バッファとして用いる複数の記録領域に、前記連続して参照されるアドレスの１つおき又は複数おきに対応して、前記命令実行手段が読み出した場合に実行が不可能な実行不可情報を記録しておき、前記ＩＣカードは、前記外部装置から前記通信装置により受信する情報を、前記受信バッファにおける実行不可情報が記録されていない複数の記録領域に、分割して記録することを特徴とする。
【００１１】
本発明に係る記録装置は、連続して参照されるアドレスを付与された複数の記録領域を有する記録手段及び該記録手段に記録された情報に基づく命令を実行する命令実行手段を備え、前記記録手段の複数の記録領域を受信バッファとして用い、外部の装置から受信する情報を前記受信バッファに一時的に記録する記録装置において、前記受信バッファとして用いる複数の記録領域に、前記連続して参照されるアドレスの１つおき又は複数おきに対応して、前記命令実行手段が読み出した場合に実行が不可能な実行不可情報を記録しておく手段と、受信する情報を、前記受信バッファにおける実行不可情報が記録されていない複数の記録領域に、分割して記録する記録処理手段とを備えることを特徴とする。
【００１２】
本発明に係るＩＣカードは、連続して参照されるアドレスを付与された複数の記録領域を有する記録手段、該記録手段に記録された情報に基づく命令を実行する命令実行手段、及び外部の装置と通信する通信手段を備え、前記記録手段の複数の記録領域を受信バッファとして用い、前記通信手段が受信する情報を前記受信バッファに一時的に記録するＩＣカードにおいて、前記受信バッファとして用いる複数の記録領域に、前記連続して参照されるアドレスの１つおき又は複数おきに対応して、前記命令実行手段が読み出した場合に実行が不可能な実行不可情報を記録しておく手段と、通信手段が受信した受信情報を、前記受信バッファにおける実行不可情報が記録されていない複数の記録領域に、分割して記録する記録処理手段とを備えることを特徴とする。
【００１４】
本発明に係るＩＣカードは、予め記録している命令を特定する命令特定情報を記録する命令特定情報記録手段と、前記記録手段の記録領域に分割して記録した受信情報を、１つおき又は複数おきにアドレスを参照して前記記録手段から読み出す手段と、該手段により読み出した受信情報と一致する命令特定情報を、前記命令特定情報記録手段から検索する検索手段とを備え、前記命令実行手段は、検索により一致した命令特定情報にて特定される命令を実行する様に構成してあることを特徴とする。
【００１５】
本発明に係るＩＣカードは、前記検索手段は、受信情報及び命令特定情報を所定の照合単位ずつ照合することにより検索する様に構成してあることを特徴とする。
【００１６】
本発明に係る記録方法、記録装置及びＩＣカードでは、受信する受信情報を一時的に記録する受信バッファとして用いる記録手段の、１つおき又は複数おきのアドレスにて示される記録領域に、実行不可情報を記録しておき、受信する受信情報を、実行不可情報が記録されていない１つおき又は複数おきのアドレスにて示される複数の記録領域に分割して記録することにより、受信バッファには受信情報と実行不可情報とが交互に記録されているから、外部から不正な命令が受信情報として書き込まれたとしても、書き込まれた受信情報に基づく不正な命令を命令実行手段に実行させる不正な操作を受け付けた際に、命令実行手段が実行不可情報を読み取ることで、リセット処理、不正割込処理等の異常対応処理が行われるので、外部から書き込まれた不正な命令の実行を防止することが可能である。
【００１７】
また本発明に係るＩＣカード等では、受信情報及び命令特定情報を所定の照合単位ずつ照合し、照合により一致する命令特定情報にて特定される命令を実行することにより、受信情報を完全に復元しなくとも、命令を特定し、実行するので、命令の復元に要する処理負荷及び処理時間の増大を防止することが可能であり、しかも実行される命令は予め記録してある正当な命令であるので、不正な命令の実行を防止することが可能である。
【発明の効果】
【００１８】
本発明に係る記録方法、記録装置及びＩＣカードは、連続するアドレスを付与された複数の記録領域を有する記録手段、該記録手段に記録された情報に基づく命令を実行する命令実行手段、及び外部装置と通信する通信手段を備え、前記複数の記憶領域を受信バッファとして用い、外部装置から受信した情報を記録手段に記録するＩＣカードに適用され、受信バッファとして用いられる記録手段には、１つおき又は複数おきのアドレスにて示される記録領域に、命令実行手段による実行が不可能な実行不可情報を記録しておく。そして、通信手段が外部装置から受信した受信情報を、実行不可情報が記録されていない記録領域、即ち１つおき又は複数おきの不連続なアドレスにて示される記録領域に分割して記録する。
【００１９】
この構成により、本発明では、外部から受信し記録した受信情報が不正な命令であったとしても、記録した受信情報に基づく不正な命令を命令実行手段に実行させる不正な操作を受け付けた際に、命令実行手段が実行不可情報を読み取ることで、リセット処理、不正割込処理等の異常対応処理が行われるので、外部から書き込まれた不正な命令の実行を防止し、格納されている情報の不正な読み出し、改竄等の不正行為を防止することが可能である等、優れた効果を奏する。
【００２０】
また本発明は、正当な命令を予め記録しておき、さらに記録している正当な命令を特定する命令特定情報を命令特定情報記録手段に記録しておく。そして受信情報に基づく命令の実行処理として、受信情報及び命令特定情報を所定の照合単位ずつ照合し、照合により一致する命令特定情報にて特定される命令を実行する。
【００２１】
この構成により、本発明では、受信情報を完全に復元しなくとも、命令を特定し、実行するので、命令の復元に要する処理負荷及び処理時間の増大を防止することが可能である等、優れた効果を奏する。しかも実行される命令は予め記録してある正当な命令であるので、不正な命令の実行を防止することが可能である等、優れた効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【００２３】
図１は、本発明のＩＣカードを用いた記録方法にて用いられる各種装置の構成例を示すブロック図である。図１中１は、記録装置の一種であるＩＣカードであり、ＩＣカード１は、リーダライタ等の外部装置２と接触又は非接触で通信することが可能であり、ＩＣカード１を外部装置２に近付けることにより、外部装置２は、ＩＳＯ／ＩＥＣ７８１６−４等の規格にて規定されたコマンドＡＰＤＵ(Application Protocol Data Unit)等の情報をＩＣカード１へ送信し、ＩＣカード１では、受信した情報が示す命令に基づく処理を実行し、その結果を応答として外部装置２へ送信する。ＩＣカード１は、ユーザに発行する前の製造及び発行工程において、各種命令、個人情報等の情報が書き込まれ、ユーザに発行後の運用工程において、書き込まれた情報に基づく外部装置２との通信、認証等の処理を実行する。
【００２４】
ＩＣカード１は、内部の処理を制御する制御部１０及び該制御部１０の制御に基づき実行されるプログラムを格納するプログラム格納部１１を備えている。
【００２５】
制御部１０は、各種命令を実行する命令実行手段としての機能を有するＣＰＵ(Central Processing Unit) 等の制御回路１０１、外部装置２と通信する通信回路１０２、個人情報、各種命令等の製造及び発行工程で書き込まれる情報を記録する不揮発性メモリ１０３、及び発行後の運用工程で一時的に情報を記録する揮発性メモリ１０４を備えている。
【００２６】
不揮発性メモリ１０３の記録領域の一部は、制御回路１０１による実行が可能な命令等のファイルを記録するファイル格納領域１０３ａ、及びファイル格納領域１０３ａに記録されているファイルを管理するファイル管理テーブル１０３ｂとして用いられている。揮発性メモリ１０４の記録領域の一部は、外部装置２から受信した情報を一時的に記録する受信バッファ１０４ａとして用いられている。
【００２７】
プログラム格納部１１は、受信した情報の記録等のシステムに関するプログラムであるシステムプログラム１１０と、ファイル格納領域１０３ａにファイルとして記録された命令に関するプログラムであるアプリケーションプログラム１１１とを格納している。
【００２８】
図２は、本発明のＩＣカード１が有するファイル格納領域１０３ａの記録内容の一例を示す概念図である。ファイル格納領域１０３ａは、図中「ＦＩＬＥ１」、「ＦＩＬＥ２」、「ＦＩＬＥ３」として示すファイルを格納する複数の領域を有し、ファイルを格納する各領域には、「0x000000」、「0x001000」、「0x002500」等のアドレスが付与されている。
【００２９】
図３は、本発明のＩＣカード１が有するファイル管理テーブル１０３ｂの記録内容の一例を示す概念図である。ファイル管理テーブル１０３ｂでは、ファイル格納領域１０３ａに格納されている各ファイルをレコード単位で管理しており、各レコードには、レコードを特定するレコードアドレス、ファイルに関する属性情報、ファイルアドレス、命令特定情報等の項目毎にデータが記録されている。レコードアドレスとしては「Ｐ１」、「Ｐ２」、「Ｐ３」等のアドレスが記録される。ファイルアドレスは、ファイルが記録されているファイル格納領域１０３ａのアドレスを示しており、図２に例示した「0x000000」、「0x001000」、「0x002500」等のアドレスに対応している。命令特定情報とは、ファイルＩＤ等の命令を特定するファイル名等の情報であり、図３では、「ＦＩＬＥ１  0x00」、「ＦＩＬＥ２  0x00」、「ＦＩＬＥ３  0x00」等の情報として示している。図３では、図２に示したファイルと同様の名称に、ファイルの終わりを示す符号列「0x00」を末尾に付加した名称として示している。
【００３０】
図４は、本発明のＩＣカード１が有する受信バッファ１０４ａの記録内容の一例を示す概念図である。受信バッファ１０４ａは、「0xffff01」、「0xffff02」、「0xffff03」、「0xffff04」、「0xffff05」等の連続したアドレスが付与された複数の記録領域を有しており、複数の記録領域には、一つおきに、例えばアドレス末尾の数字が偶数であるアドレスに制御回路１０１による実行が不可能な実行不可情報である不正命令コードが後述する初期化処理により記録される。そして外部装置２から情報を受信した場合、受信した情報は、不正命令コードが記録されていない記録領域、例えばアドレス末尾の数字が奇数であるアドレスが示す記録領域に分割して記録される。なおここでいう連続したアドレスとは、制御回路１０１が、内蔵しているプログラムカウンタ基づき連続して参照するアドレスを意味し、必ずしも数字が連続している必要はない。
【００３１】
次に本発明のＩＣカード１の処理について説明する。図５は、本発明のＩＣカード１の受信情報記録処理の一例を示すフローチャートである。ＩＣカード１及び外部装置２が、互いに通信することが可能な程度にまで接近或いは接触した場合に、又は通信線にて接続した場合に、外部装置２からＩＣカード１へ情報が送信される。外部装置２からＩＣカード１へ送信される情報とは、例えばＩＣカード１に予め記録されている情報を送信させる命令を実行させるための情報であり、ＩＣカード１に記録されている情報を読み取るための情報である。
【００３２】
ＩＣカード１は、システムプログラム１１０を実行する制御回路１０１の制御により、受信バッファ１０４ａのアドレスが奇数である記録領域を記録可能な状態とし、アドレスが偶数である記録領域に実行が不可能な実行不可情報である不正命令コードを記録する初期化処理を行い（Ｓ１０１）、受信情報を記録する記録領域のアドレスを示すデータポインタに、受信バッファ１０４ａの最初の奇数アドレスを初期値として設定する（Ｓ１０２）。なおデータポインタは、例えば制御回路１０１が内蔵しているメモリ上に格納される。
【００３３】
そしてＩＣカード１は、通信回路１０２により、外部装置２から送信された情報を受信情報として１バイト等の記録単位分受信し（Ｓ１０３）、受信した記録単位分の受信情報を、データポインタが示す奇数アドレスが付与された記録領域に記録し（Ｓ１０４）、データポインタの値に２を加算し（Ｓ１０５）、受信データの受信が完了したか否かを判定する（Ｓ１０６）。ステップＳ１０５にてデータポインタの値に２を加算することにより、データポインタは、受信情報を記録した記録領域を示す奇数アドレスの次の奇数アドレスを示す様になる。ステップＳ１０６における受信データの受信が完了したか否かの判定は、例えば記録した受信情報を、データ長分受信したか否かを判定することにより行われる。
【００３４】
ステップＳ１０６において、受信データの受信が完了していないと判定した場合（Ｓ１０６：ＮＯ）、ステップＳ１０３に戻り、次の記録単位分の受信情報を受信し、以降の処理を繰り返す。
【００３５】
ステップＳ１０６において、受信データの受信が完了していると判定した場合（Ｓ１０６：ＹＥＳ）、受信情報記録処理を終了する。
【００３６】
ステップＳ１０３〜Ｓ１０６にて示す処理により、ＩＣカード１は、外部装置２から送信された受信情報を、受信バッファ１０４ａの不連続なアドレス、ここでは奇数アドレスにて示される記録領域に分割して記録する。
【００３７】
図６は、本発明のＩＣカード１が受信する受信情報の内容の一例を示す概念図である。外部装置２から送信されＩＣカード１が受信する受信情報は、ＩＳＯ／ＩＥＣ７８１６−４等の規格にて規定されたコマンドＡＰＤＵであり、４バイトのコマンドヘッダ及びコマンド本体を含んでいる。コマンドヘッダは、コマンドクラスを示すＣＬＡ(Class byte)、コマンドコードを示すＩＮＳ(Instruction byte)、コマンドパラメータを示すＰ１(Parameter1)及びＰ２(Parameter2)等の情報が含まれている。コマンド本体には、コマンドＡＰＤＵのデータフィールド長を含むＬｃ(length of command data)フィールド、データフィールド、及びレスポンスＡＰＤＵのデータフィールド長を含むＬｅ(length of expected data)フィールドが設けられており、受信バッファ１０４ａに記録される受信情報は、データフィールドに含まれている。
【００３８】
図７は、本発明のＩＣカード１が有する受信バッファ１０４ａに受信情報が記録された状態の一例を示す概念図である。図７は、図５に示すＩＣカード１において、受信情報として「ＦＩＬＥ２  0x00」を受信し、受信バッファ１０４ａに記録した状態を示している。図７に示す様にＩＣカード１は、受信した受信情報を、不正命令コードが記録されていない不連続な領域、ここではアドレス末尾の数字が奇数である奇数アドレスが示す記録領域に分割して記録する。この様に受信情報を分割して記録することにより、記録した受信情報が不正操作のための命令（プログラムコード）であり、しかも攻撃者がＩＣカード１に対し特定のノイズの照射等の攻撃を行い、制御回路１０１のプログラムカウンタを操作して、プログラムカウンタに、受信バッファ１０４ａのアドレスが設定されたとしても、受信情報の読み取りの際に実行不可情報をも読み取ってしまうため、リセット処理、不正割込処理等の異常対応処理が行われるので、不正操作のための命令の実行を防止することが可能である。
【００３９】
図８は、本発明のＩＣカード１の受信情報読取処理の一例を示すフローチャートであり、図９は、本発明のＩＣカード１の受信情報読取処理に用いられる変数の値の変化の一例を示す図表である。なお以降の説明において、ＩＣカード１は、受信情報として図７に例示した「ＦＩＬＥ２  0x00」を受信し、図７に示す状態で記録しているものとする。ＩＣカード１では、受信バッファ１０４ａに分割して記録した受信情報に基づく命令を実行する場合に、受信バッファ１０４ａに記録されている照合単位、ここでは１バイトに分割された受信情報を格納する変数Ｘ、ファイル管理テーブル１０３ｂに記録されている照合単位の命令特定情報を格納する変数Ｙ、及びファイル管理テーブル１０３ｂのレコードアドレスを示すテーブルポインタを格納する変数Ｐを用いる。変数Ｘ、変数Ｙ及び変数Ｐは、例えば制御回路１０１が内蔵しているメモリ上に格納される。なお以下に説明する受信情報の照合は、受信情報を記録した単位長毎に行うので、受信情報記録処理時の記録単位と、受信情報読取処理時の照合単位は、同じ単位長、ここでは１バイトである。
【００４０】
ＩＣカード１は、システムプログラム１１０を実行する制御回路１０１の制御により、ファイル管理テーブル１０３ｂの先頭のレコードアドレスをテーブルポインタに設定する（Ｓ２０１）。ステップＳ２０１における各変数の値は、図９のフェーズ１として示した状態にあり、変数Ｐに、ファイル管理テーブル１０３ｂの先頭のレコードアドレスを示す「Ｐ１」が格納されている。
【００４１】
そしてＩＣカード１は、変数Ｘを初期化し（Ｓ２０２）、更に変数Ｙを初期化する（Ｓ２０３）。ステップＳ２０２〜Ｓ２０３において各変数の値は、図９のフェーズ２として示した状態にあり、変数Ｘ及び変数Ｙには、初期値として例えば「0x00」が格納される。
【００４２】
そしてＩＣカード１は、変数Ｐを参照してテーブルポインタがファイル管理テーブル１０３ｂの最後のレコードアドレスを示しているか否かを判定し（Ｓ２０４）、最後のレコードアドレスではないと判定した場合（Ｓ２０４：ＮＯ）、受信バッファ１０４ａに記録している照合単位分の受信情報を読み取って変数Ｘに格納し（Ｓ２０５）、ファイル管理テーブル１０３ｂに格納している照合単位分の命令特定情報を読み取って変数Ｙに格納する（Ｓ２０６）。この段階において、各変数の値は図９のフェーズ３として示した状態にある。受信バッファ１０４ａ上で受信情報が読み取られる記録領域のアドレスを示すポインタは、受信情報読取処理の開始時に、照合単位（記録単位）毎に受信情報が記録された各記録領域の先頭の奇数アドレスを示す様に初期化されているため、図９に示す様に変数Ｘには、最初の照合単位分の受信情報である「Ｆ」が格納される。またファイル管理テーブル１０３ｂの変数Ｐ１にて特定されるレコードには、図３に示す様に命令特定情報として「ＦＩＬＥ１  0x00」が記録されているので、変数Ｙには、最初の照合単位分の命令特定情報である「Ｆ」が格納される。
【００４３】
そしてＩＣカード１は、変数Ｘに格納された照合単位の受信情報及び変数Ｙに格納された照合単位の命令特定情報を照合し（Ｓ２０７）、一致していると判定した場合（Ｓ２０７：ＹＥＳ）、照合した変数Ｙに格納された照合単位分の命令特定情報が、最後の照合単位分の命令特定情報であるか否かを判定する（Ｓ２０８）。
【００４４】
ステップＳ２０８において、最後の照合単位分の命令特定情報ではないと判定した場合（Ｓ２０８：ＮＯ）、ＩＣカード１は、受信バッファ１０４ａの次の奇数アドレスにて示される記録領域に記録している照合単位分の受信情報を読み取って変数Ｘに格納し（Ｓ２０９）、ファイル管理テーブル１０３ｂに格納している次の照合単位分の命令特定情報を読み取って変数Ｙに格納し（Ｓ２１０）、ステップＳ２０７に戻り、以降の処理を繰り返す。
【００４５】
ステップＳ２０７〜Ｓ２１０の処理を繰り返すことにより、各変数の値は、図９のフェーズ３〜フェーズ７に示す様に変化する。ただしフェーズ７において、変数Ｘに格納された照合単位分の受信情報が「２」であるのに対し、変数Ｙに格納された照合単位分の命令特定情報が「１」であるため、ステップＳ２０７の照合において、不一致であると判定される。
【００４６】
ステップＳ２０７において、変数Ｘに格納された照合単位の受信情報及び変数Ｙに格納された照合単位の命令特定情報が不一致であると判定した場合（Ｓ２０７：ＮＯ）、ＩＣカード１は、変数Ｐに、次のファイル管理テーブル１０３ｂのレコードアドレスを格納し（Ｓ２１１）、ステップＳ２０４に戻り、以降の処理を繰り返す。ステップＳ２１１における各変数の値は、図９のフェーズ８として示した状態にあり、変数Ｐに、ファイル管理テーブル１０３ｂの２番目のレコードを示す「Ｐ２」が格納されている。
【００４７】
ステップＳ２０４に戻り、以降の処理を繰り返すことにより、各変数の値は、図９のフェーズ９〜フェーズ１４に示す様に変化する。ただしフェーズ１４において、変数Ｙに格納された照合単位分の命令特定情報が、最後の照合単位分の命令特定情報を示す「0x00」であるため、ステップＳ２０８の判定において、最後の命令特定情報であると判定される。即ちステップＳ２０１〜Ｓ２１１の処理により、受信情報及び命令特定情報を照合単位ずつ照合し、照合により受信バッファ１０４ａに分割して記録した受信情報と一致する命令特定情報が検索される。
【００４８】
ステップＳ２０８において、最後の照合単位分の命令特定情報であると判定した場合（Ｓ２０８：ＹＥＳ）、ＩＣカード１は、変数Ｐに格納されているレコードアドレスにて示されるレコードに対応する命令特定情報にて特定される命令を実行する（Ｓ２１２）。即ち検索結果である命令特定情報に対応付けてファイル管理テーブル１０３ｂに記録されているファイルアドレスを読み取り、読み取ったファイルアドレスが示す命令をファイル格納領域１０３ａから読み取り、読み取った命令に基づくアプリケーションプログラム１１１の処理を制御回路１０１にて実行するのである。
【００４９】
この様に本発明では、受信バッファ１０４ａに分割して記録した受信情報を完全に復元しなくとも、命令を特定し、実行することが可能である。
【００５０】
ステップＳ２０４において、テーブルポインタがファイル管理テーブル１０３ｂの最後のレコードアドレスを示していると判定した場合（Ｓ２０４：ＹＥＳ）、ＩＣカード１は、受信情報に基づく命令を特定することができないことを示す異常処理を実行し（Ｓ２１３）、処理を終了する。
【００５１】
前記実施の形態では、ＩＣカードを用いて実現する形態を示したが、本発明はこれに限らず、外部との通信に基づき処理を実行する様々な記録装置、例えば書換可能なＩＣタグに適用することが可能である。
【００５２】
また前記実施の形態では、分割して記録した受信情報を完全に復元することなく、命令を実行する形態を示したが、本発明はこれに限らず、受信情報として実行可能な命令を受信した場合には、受信情報を復元した上で実行する等、様々な形態に展開することが可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明のＩＣカードを用いた記録方法にて用いられる各種装置の構成例を示すブロック図である。
【図２】本発明のＩＣカードが有するファイル格納領域の記録内容の一例を示す概念図である。
【図３】本発明のＩＣカードが有するファイル管理テーブルの記録内容の一例を示す概念図である。
【図４】本発明のＩＣカードが有する受信バッファの記録内容の一例を示す概念図である。
【図５】本発明のＩＣカードの受信情報記録処理の一例を示すフローチャートである。
【図６】本発明のＩＣカードが受信する受信情報の内容の一例を示す概念図である。
【図７】本発明のＩＣカードが有する受信バッファに受信情報が記録された状態の一例を示す概念図である。
【図８】本発明のＩＣカードの受信情報読取処理の一例を示すフローチャートである。
【図９】本発明のＩＣカードの受信情報読取処理に用いられる変数の値の変化の一例を示す図表である。
【符号の説明】
【００５４】
１  ＩＣカード
１０  制御部
１０１  制御回路
１０２  通信回路
１０３  不揮発性メモリ
１０３ａ  ファイル格納領域
１０３ｂ  ファイル管理テーブル
１０４  揮発性メモリ
１０４ａ  受信バッファ
２  外部装置
【図１】
0004583305.tif 000002
【図２】
0004583305.tif 000003
【図３】
0004583305.tif 000004
【図４】
0004583305.tif 000005
【図５】
0004583305.tif 000006
【図６】
0004583305.tif 000007
【図７】
0004583305.tif 000008
【図８】
0004583305.tif 000009
【図９】
0004583305.tif 000010