(57)【特許請求の範囲】
【請求項１】
ＩＣチップを有するＩＣカードにおいて、
外部から送信されるデータを受信する通信手段と、
メインファイル、このメインファイルの配下に位置づけされたサブファイル、前記メインファイルの定義情報、及び前記サブファイルの定義情報を格納する格納手段と、
前記通信手段により受信されたデータが、所定のファイルの削除を命じるコマンドである場合、前記格納手段の中から、前記所定のファイル、及びこの所定のファイルの定義情報を削除する削除手段と、
を備え、
前記削除手段は、前記通信手段により受信されたデータが、所定のメインファイルの削除を命じるコマンドである場合、前記格納手段の中から、前記所定のメインファイル、この所定のメインファイルの配下に位置づけされた所定のサブファイル、及びこれら所定のメインファイルの定義情報と所定のサブファイルの定義情報とを削除し、
さらに、
前記格納手段に対して前記定義情報を格納する際に、前記格納手段が有する格納領域の一端から順に前記定義情報を配置し、前記格納手段に対して前記ファイルを格納する際に、前記格納領域の他端から順に前記ファイルを配置する第１の配置手段と、
前記削除手段による前記定義情報の削除に伴い、前記格納領域の一端から順に前記定義情報を再配置し、前記削除手段による前記ファイルの削除に伴い、前記格納領域の他端から順に前記ファイルを再配置する第２の配置手段と、
最大ｎ個のメインファイルを管理するためのｎビットのビットマップデータを格納し、前記格納手段に格納された各メインファイルに対して前記ビットマップデータのうちの１ビットを割り当てて割り当てられた１ビットを１に設定し各メインファイルを管理し、前記所定のメインファイルの削除に対応してこの所定のメインファイルの管理に割り当てられていた１ビットを０に設定するメインファイル管理手段と、
を備えたことを特徴とするＩＣカード。
【請求項２】
前記第１の配置手段により前記定義情報が第１の位置に配置されたのに基づきこの第１の位置を示す第１のアドレスデータを管理し、前記第２の配置手段により前記定義情報が第１の位置から第２の位置に再配置されたのに基づき前記第１のアドレスデータを前記第２の位置を示す第２のアドレスデータに更新して管理し、前記第１の配置手段により前記ファイルが第３の位置に配置されたのに基づきこの第３の位置を示す第３のアドレスデータを管理し、前記第２の配置手段により前記ファイルが第３の位置から第４の位置に再配置されたのに基づき前記第３のアドレスデータを前記第４の位置を示す第４のアドレスデータに更新して管理するアドレス管理手段を備えたことを特徴とする請求項１に記載のＩＣカード。
【請求項３】
前記通信手段により受信されたデータが、第１及び第２のファイルの削除を命じるコマンドである場合、前記削除手段により前記格納手段の中から前記第１のファイルを削除させ、前記第２の配置手段により再配置を実行させてから、前記削除手段により前記第１のファイルの定義情報を削除させ、前記第２の配置手段により再配置を実行させてから、前記削除手段により前記第２のファイルを削除させ、前記第２の配置手段により再配置を実行させてから、前記削除手段により前記第２のファイルの定義情報を削除させ、前記第２の配置手段により再配置を実行させて、前記コマンドの命令を完了する削除制御手段を備えたことを特徴とする請求項１に記載のＩＣカード。
【請求項４】
前記通信手段により受信されたデータが、第１及び第２のファイルの削除を命じるコマンドである場合、前記削除手段により前記格納手段の中から前記第１のファイルを削除させ、前記第２の配置手段により再配置を実行させてから、前記削除手段により前記第２のファイルを削除させ、前記第２の配置手段により再配置を実行させてから、前記削除手段により前記第１のファイルの定義情報を削除させ、前記第２の配置手段により再配置を実行させてから、前記削除手段により前記第２のファイルの定義情報を削除させ、前記第２の配置手段により再配置を実行させて、前記コマンドの命令を完了する削除制御手段を備えたことを特徴とする請求項１に記載のＩＣカード。
【請求項５】
前記削除手段、並びに前記第１及び第２の配置手段による処理の実行記録を格納する実行記録格納手段と、
前記実行記録格納手段に格納された実行記録をバックアップする実行記録バックアップ手段と、
を備えたことを特徴とする請求項１に記載のＩＣカード。
【請求項６】
第１のファイル、及びこの第１のファイルのアクセスに必要なキーデータを保持した第２のファイルを格納するファイル格納手段と、
前記第１のファイルのアクセス要求に伴い入力されたキーデータと前記第２のファイルに格納されたキーデータとを照合して、これら両キーデータが一致したのに基づき前記第１のファイルのアクセスを許可し、前記削除手段により前記第２のファイルが削除されたのに基づき、前記第１のファイルのアクセスを不能とするファイルアクセス管理手段と、
を備えたことを特徴とする請求項１に記載のＩＣカード。
【請求項７】
請求項１から６の一つに記載のＩＣカード、及びこのＩＣカードを処理するＩＣカード処理装置を備えたＩＣカード処理システムであって、
前記ＩＣカード処理装置は、
削除を命じる削除コマンドを生成するコマンド生成手段と、
前記コマンド生成手段により生成された前記削除コマンドを送信する第２の通信手段と、
を備え、
前記ＩＣカードの前記通信手段は、前記第２の通信手段により送信された前記削除コマンドを受信する、ことを特徴とするＩＣカード処理システム。
【請求項８】
ＩＣチップを有するＩＣカードに適用されるＩＣカード処理方法は、
外部から送信されるデータを受信する第１のステップと、
前記第１のステップにより受信されたデータが、所定のファイルの削除を命じるコマンドである場合、データ格納部の中から、前記所定のファイル、及びこの所定のファイルの定義情報を削除する第２のステップと、
を備え、
前記第２のステップは、
前記第１のステップにより受信されたデータが、所定のメインファイルの削除を命じるコマンドである場合、データ格納部の中から、前記所定のメインファイル、この所定のメインファイルの配下に位置づけされた所定のサブファイル、及びこれら所定のメインファイルの定義情報と所定のサブファイルの定義情報とを削除するステップを備え、
さらに、ＩＣカード処理方法は、
前記データ格納部に対して前記定義情報を格納するときに、前記データ格納部が有する格納領域の一端から順に前記定義情報を配置し、前記データ格納部に対して前記ファイルを格納するときに、前記格納領域の他端から順に前記ファイルを配置する第３のステップと、
前記第２のステップによる前記定義情報の削除に伴い、前記格納領域の一端から順に前記定義情報を再配置し、前記第２のステップによる前記ファイルの削除に伴い、前記格納領域の他端から順に前記ファイルを再配置する第４のステップと、
を備え、
さらに、ＩＣカード処理方法は、
最大ｎ個のメインファイルを管理するためのｎビットのビットマップデータを格納し、前記格納された各メインファイルに対して前記ビットマップデータのうちの１ビットを割り当てて割り当てられた１ビットを１に設定し各メインファイルを管理し、前記所定のメインファイルの削除に対応してこの所定のメインファイルの管理に割り当てられていた１ビットを０に設定することを特徴とするＩＣカード処理方法。
【請求項９】
前記第３のステップにより前記定義情報が第１の位置に配置されたのに基づきこの第１の位置を示す第１のアドレスデータを管理し、前記第４のステップにより前記定義情報が第１の位置から第２の位置に再配置されたのに基づき前記第１のアドレスデータを前記第２の位置を示す第２のアドレスデータに更新して管理し、前記第３のステップにより前記ファイルが第３の位置に配置されたのに基づきこの第３の位置を示す第３のアドレスデータを管理し、前記第４のステップにより前記ファイルが第３の位置から第４の位置に再配置されたのに基づき前記第３のアドレスデータを前記第４の位置を示す第４のアドレスデータに更新して管理する第５のステップを備えたことを特徴とする請求項８に記載のＩＣカード処理方法。
【請求項１０】
前記第１のステップにより受信されたデータが、第１及び第２のファイルの削除を命じるコマンドである場合、前記第２のステップにより前記データ格納部の中から前記第１のファイルを削除させ、前記第４のステップにより再配置を実行させてから、前記第２のステップにより前記第１のファイルの定義情報を削除させ、前記第４のステップにより再配置を実行させてから、前記第２のステップにより前記第２のファイルを削除させ、前記第４のステップにより再配置を実行させてから、前記第２のステップにより前記第２のファイルの定義情報を削除させ、前記第４のステップにより再配置を実行させて、前記コマンドの命令を完了する第５のステップを備えたことを特徴とする請求項８に記載のＩＣカード処理方法。
【請求項１１】
前記第１のステップにより受信されたデータが、第１及び第２のファイルの削除を命じるコマンドである場合、前記第２のステップにより前記データ格納部の中から前記第１のファイルを削除させ、前記第４のステップにより再配置を実行させてから、前記第２のステップにより前記第２のファイルを削除させ、前記第４のステップにより再配置を実行させてから、前記第２のステップにより前記第１のファイルの定義情報を削除させ、前記第４のステップにより再配置を実行させてから、前記第２のステップにより前記第２のファイルの定義情報を削除させ、前記第４のステップにより再配置を実行させて、前記コマンドの命令を完了する第５のステップを備えたことを特徴とする請求項８に記載のＩＣカード処理方法。
【請求項１２】
前記第２のステップ、並びに前記第３及び第４のステップによる処理の実行記録を格納する第５のステップと、
前記第５のステップにより格納された実行記録をバックアップする第６のステップと、
を備えたことを特徴とする請求項８に記載のＩＣカード処理方法。
【請求項１３】
第１のファイルのアクセス要求に伴い入力されたキーデータと、第２のファイルに格納された前記第１のファイルのアクセスに必要なキーデータとを照合して、これら両キーデータが一致したのに基づき前記第１のファイルのアクセスを許可し、前記第２のステップにより前記第２のファイルが削除されたのに基づき、前記第１のファイルのアクセスを不能とするステップを備えたことを特徴とする請求項８に記載のＩＣカード処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、カードリーダ・ライタから送信されるコマンドを受信して、この受信したコマンドに従った処理を実行するＩＣカードに関する。
【０００２】
また、この発明は、ＩＣカードに対してコマンドを送信するカードリーダ・ライタ、及びこのカードリーダ・ライタから送信されるコマンドを受信して、この受信したコマンドに従った処理を実行するＩＣカードを備えたＩＣカード処理システムに関する。
【０００３】
さらに、この発明は、カードリーダ・ライタから送信されるコマンドを受信して、この受信したコマンドに従った処理を実行するＩＣカードに適用されるＩＣカード処理方法に関する。
【０００４】
【従来の技術】
近年、携帯可能な情報記憶媒体としてＩＣカードが注目されている。このＩＣカードには、不揮発性メモリ及び制御部を備えたＩＣチップが内蔵されており、不揮発性メモリには様々なアプリケーションを実行するためのファイルが記憶されている。
【０００５】
ＩＣカードは、カードリーダ・ライタから送信されるコマンドを受けて、このコマンドに従い所定のアプリケーションを実行する。つまり、不揮発性メモリに記憶されている所定のファイルを読み出し、所定のアプリケーションを実行する。
【０００６】
また、カードリーダ・ライタにより、ＩＣカードの不揮発性メモリに対して、新たなファイルを記憶させることにより、ＩＣカードに新たなアプリケーションを追加することができる。
【０００７】
【発明が解決しようとする課題】
当然ながら、ＩＣカードの不揮発性メモリの空き容量には限度があるため、ＩＣカードに追加できるアプリケーションにも限度が生じる。このことが、ＩＣカードの汎用性を阻害する要因の一つになっていた。
【０００８】
この発明の目的は、上記したような事情に鑑み成されたものであって、新たなアプリケーションの設定の自由度に優れたＩＣカード、ＩＣカード処理システム、ＩＣカード処理方法を提供することにある。
【０００９】
【課題を解決するための手段】
上記課題を解決し目的を達成するために、この発明のＩＣカード、ＩＣカード処理システム、及びＩＣカード処理方法は、以下のように構成されている。
【００１０】
この発明は、ＩＣチップを有するＩＣカードにおいて、外部から送信されるデータを受信する通信手段と、データを格納する格納手段と、前記通信手段により受信されたデータが、所定のデータの削除を命じるコマンドである場合、前記格納手段に格納されたデータの中から前記所定のデータを削除する削除手段とを備えている。
【００１１】
この発明は、ＩＣチップを有するＩＣカードにおいて、外部から送信されるデータを受信する通信手段と、ファイル及びこのファイルの定義情報を格納する格納手段と、前記通信手段により受信されたデータが、所定のファイルの削除を命じるコマンドである場合、前記格納手段の中から、前記所定のファイル、及びこの所定のファイルの定義情報を削除する削除手段とを備えている。
【００１２】
この発明は、ＩＣチップを有するＩＣカードにおいて、外部から送信されるデータを受信する通信手段と、メインファイル、このメインファイルの配下に位置づけされたサブファイル、及び各ファイルの定義情報を格納する格納手段と、前記通信手段により受信されたデータが、所定のメインファイルの削除を命じるコマンドである場合、前記格納手段の中から、前記所定のメインファイル、この所定のメインファイルの配下に位置づけされた所定のサブファイル、及びこれら所定のメインファイルの定義情報と所定のサブファイルの定義情報とを削除する削除手段とを備えている。
【００１３】
この発明は、ＩＣカード、及びこのＩＣカードを処理するＩＣカード処理装置を備えたＩＣカード処理システムにおいて、所定のファイルの選択を命じる選択コマンド、及び削除を命じる削除コマンドを生成するコマンド生成手段と、前記コマンド生成手段により生成された前記選択コマンド及び前記削除コマンドを送信する第１の通信手段と、前記第１の通信手段により送信された前記選択コマンド及び前記削除コマンドを受信する第２の通信手段と、ファイル及びこのファイルの定義情報を格納する格納手段と、前記第２の通信手段により受信された前記選択コマンドの命令に従い、前記格納手段の中から前記所定のファイルを選択し、前記第２の通信手段により受信された前記削除コマンドに従い、この選択された前記所定のファイル、及びこの所定のファイルの定義情報を前記格納手段から削除する削除手段とを備えている。
【００１４】
この発明は、ＩＣカード、及びこのＩＣカードを処理するＩＣカード処理装置を備えたＩＣカード処理システムにおいて、所定のファイルの削除を命じる削除コマンドを生成するコマンド生成手段と、前記コマンド生成手段により生成された前記削除コマンドを送信する第１の通信手段と、前記第１の通信手段により送信された前記削除コマンドを受信する第２の通信手段と、ファイル及びこのファイルの定義情報を格納する格納手段と、前記第２の通信手段により受信された前記削除コマンドの命令に従い、前記格納手段に格納されている前記所定のファイル、及びこの所定のファイルの定義情報を削除する削除手段とを備えている。
【００１５】
この発明は、ＩＣカード、及びこのＩＣカードを処理するＩＣカード処理装置を備えたＩＣカード処理システムにおいて、所定のメインファイルの選択を命じる選択コマンド、及び削除を命じる削除コマンドを生成するコマンド生成手段と、前記コマンド生成手段により生成された前記選択コマンド及び前記削除コマンドを送信する第１の通信手段と、前記第１の通信手段により送信された前記選択コマンド及び前記削除コマンドを受信する第２の通信手段と、メインファイル、このメインファイルの配下に位置づけされたサブファイル、及び各ファイルの定義情報を格納する格納手段と、前記第２の通信手段により受信された前記選択コマンドの命令に従い、前記格納手段の中から前記所定のメインファイルを選択し、前記第２の通信手段により受信された前記削除コマンドに従い、この選択された前記所定のメインファイル、この所定のメインファイルの配下に位置づけされた所定のサブファイル、及びこれら所定のメインファイルの定義情報と所定のサブファイルの定義情報とを削除する削除手段とを備えている。
【００１６】
この発明は、ＩＣカード、及びこのＩＣカードを処理するＩＣカード処理装置を備えたＩＣカード処理システムにおいて、所定のメインファイルの削除を命じる削除コマンドを生成するコマンド生成手段と、前記コマンド生成手段により生成された前記削除コマンドを送信する第１の通信手段と、前記第１の通信手段により送信された前記削除コマンドを受信する第２の通信手段と、メインファイル、このメインファイルの配下に位置づけされたサブファイル、及び各ファイルの定義情報を格納する格納手段と、前記第２の通信手段により受信された前記削除コマンドの命令に従い、前記格納手段に格納されている前記所定のメインファイル、この所定のメインファイルの配下に位置づけされた所定のサブファイル、及びこれら所定のメインファイルの定義情報と所定のサブファイルの定義情報とを削除する削除手段とを備えている。
【００１７】
この発明は、ＩＣチップを有するＩＣカードに適用される方法であって、外部から送信されるデータを受信する第１のステップと、前記第１のステップにより受信されたデータが、所定のデータの削除を命じるコマンドである場合、データ格納部に格納されたデータの中から前記所定のデータを削除する第２のステップとを備えている。
【００１８】
この発明は、ＩＣチップを有するＩＣカードに適用される方法であって、外部から送信されるデータを受信する第１のステップと、前記第１のステップにより受信されたデータが、所定のファイルの削除を命じるコマンドである場合、データ格納部の中から、前記所定のファイル、及びこの所定のファイルの定義情報を削除する第２のステップとを備えている。
【００１９】
この発明は、ＩＣチップを有するＩＣカードに適用される方法であって、外部から送信されるデータを受信する第１のステップと、前記第１のステップにより受信されたデータが、所定のメインファイルの削除を命じるコマンドである場合、データ格納部の中から、前記所定のメインファイル、この所定のメインファイルの配下に位置づけされた所定のサブファイル、及びこれら所定のメインファイルの定義情報と所定のサブファイルの定義情報とを削除する第２のステップとを備えている。
【００２０】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。
【００２１】
図１は、この発明のＩＣカード処理システムの概略構成を示すブロック図である。図１に示すように、ＩＣカード処理システム１は、ＩＣカード１００及びＩＣカード処理装置２００を備えている。
【００２２】
ＩＣカード１００には、制御部１１０、メモリ１２０、及びコンタクト部１３０が設けられている。このうち、制御部１１０及びメモリ１２０は、ＩＣチップとしてカードに埋め込まれている。
【００２３】
制御部１１０は、例えばＣＰＵで構成されおり、メモリ１２０のプログラムメモリ１２２に記憶されているプログラムに基づいて、所定の処理を実行する。この処理の処理の中に、後述するディレクトリ削除処理が含まれる。つまり、この制御部１１０は、削除手段として機能する。
【００２４】
メモリ１２０には、プログラムメモリ１２２、データメモリ１２４、及びワーキングメモリ１２６が含まれている。
【００２５】
プログラムメモリ１２２は、例えばマスクＲＯＭで構成されており、このプログラムメモリ１２２には、制御部１１０による所定の処理の実行に必要とされるプログラムなどが記録されている。つまり、このプログラムメモリ１２２には、ディレクトリ削除処理に必要とされるプログラムも記録されている。
【００２６】
データメモリ１２４（格納手段）は、例えばＥＥＰＲＯＭで構成されており、このデータメモリ１２４には、各種アプリケーションを実現させるためのアプリケーションファイルなどが記憶されている。詳しく言うと、データメモリ１２４には、図２に示すようなファイル構造を構築するための定義情報が記憶されており、このファイル構造の下でアプリケーションファイルが管理されている。ここで、図２に示すファイル構造を簡単に説明すると、ＭＦ（main file ）の配下には、ＤＦ（dedicated file）１及びＤＦ２が位置づけされている。ＤＦ１の配下には、ＤＦ１−１及びＥＦ（elementally file）１−１が位置づけされており、さらにＤＦ１−１の配下には、ＥＦ１−１−１が位置づけされている。ＤＦ２の配下には、ＥＦ２−１及びＥＦ２−２が位置づけされている。例えば、ＥＦ１−１及びＥＦ１−１−１には、第１のアプリケーションを実現させるためのアプリケーションファイル（ｅｆ１−１及びｅｆ１−１−１）が含まれている。また、ＥＦ２−１及びＥＦ２−２には、第１のアプリケーションと異なる第２のアプリケーションを実現させるためのアプリケーションファイル（ｅｆ２−１及びｅｆ２−２）が含まれている。因みに、ＤＦとＥＦは、メインファイルとサブファイルの関係にあると言える。
【００２７】
ワーキングメモリ１２６は、例えばＲＡＭで構成されており、このワーキングメモリ１２６には、制御部１１０の処理データなどが一時的に記憶される。
【００２８】
コンタクト部１３０（通信手段）は、カード処理装置２００のリーダ・ライタ２３０との電気的接触により、ＩＣカード１００に記憶されたデータをリーダ・ライタ２３０に提供したり、リーダ・ライタ２３０から提供されるデータを受け取ったりする。
【００２９】
ＩＣカード処理装置２００は、金融システム又はショッピングシステムなどの端末装置として適用されるものである。また、このＩＣカード処理装置２００には、店頭に設置して運用される設置型のタイプと、携帯可能な携帯型のタイプとがある。ＩＣカード処理装置２００には、制御部２１０、メモリ２２０、リーダ・ライタ２３０、入力部２４０、及びディスプレイ２５０が設けられている。
【００３０】
制御部２１０は、例えばＣＰＵで構成されており、メモリ２２０に記憶されているプログラムに基づき、所定の処理を実行する。この所定の処理には、例えば、後述するセレクトコマンド及びディレクトリ削除コマンドを生成するコマンド生成処理などがある。つまり、この制御部２１０は、コマンドを生成するコマンド生成手段として機能する。
【００３１】
メモリ２２０には、制御部２１０による所定の処理の実行に必要とされるプログラムが記憶されている。例えば、コマンド生成処理の実行に必要とされるプログラムが記憶されている。
【００３２】
リーダ・ライタ２３０（通信手段）は、ＩＣカード１００のコンタクト部１３０を介して、ＩＣカード１００に記憶されているデータを読み出したり、ＩＣカード１００に対してデータを書き込んだりする。
【００３３】
入力部２４０は、ＩＣカード処理装置の操作者による入力を受け付ける。例えば、後述するバックアップ領域のサイズの設定（変更）を受け付ける。この入力部２４０で受け付けられたバックアップ領域のサイズの設定（変更）に基づき、リーダ・ライタ２３０を介してＩＣカード１００に対して、バックアップ領域のサイズの設定（変更）が指示される。ＩＣカード１００側では、この指示に基づきバックアップ領域のサイズが決定される。つまり、入力部２４０は、バックアップ領域のサイズを変更するサイズ変更手段として機能する。
【００３４】
ディスプレイ２５０は、例えば、ＩＣカード１００から読み出されたデータを表示する。
【００３５】
次に、上記説明したＩＣカードのデータメモリ１２４に記憶されたアプリケーションファイルの削除について説明する。
【００３６】
この発明は、所定のディレクトリ（図２に示すＤＦ）を削除することにより、この所定のディレクトリの配下に位置づけられたサブディレクトリ（ＥＦ）の削除を実現するというものである。アプリケーションの削除には二つの方法が有り、一つはカレントＤＦの削除であり、もう一つは指定ＤＦの削除である。
【００３７】
どちらの削除方法を採用するにしても、ＩＣカード１００側において、ＩＣカード処理装置２００から出力されるコマンドが受信できなければならない。つまり、ＩＣカード１００が、ＩＣカード処理装置２００にセットされなければならない。ＩＣカード処理装置２００にＩＣカード１００がセットされると、ＩＣカード処理装置２００によりＩＣカード１００のデータメモリ１２４内のファイルにアクセスすることができる。
【００３８】
例えば、入力部２４０を介してＤＦ２のファイル選択が指示されると、制御部２１０の制御によりセレクトコマンドが生成され、リーダ・ライタ２３０からコンタクト部１３０に対して、生成されたセレクトコマンドとファイル名（ＤＦ２）が送信される。コンタクト部１３０でセレクトコマンドとファイル名（ＤＦ２）が受信されると、制御部１１０の制御により、セレクトコマンドと共に送られてきたファイル名（ＤＦ２）のファイルがデータメモリ１２４から選択され、この選択されたファイルがコンタクト部１３０を介してリーダ・ライタ２３０に送信される。また、制御部１１０は、選択中のファイル（ＤＦ２）をカレントファイルとして認識する。制御部２１０は、先に送信したセレクトコマンドのレスポンスとして、コンタクト部１３０から送信されるファイルをリーダ・ライタ２３０を介して受信し、この受信されたファイルをディスプレイ２５０に出力する。
【００３９】
ここで、入力部２４０を介してカレントＤＦの削除が指示されると、制御部２１０の制御によりディレクトリ削除コマンドが生成され、リーダ・ライタ２３０からコンタクト部１３０に対して、生成されたディレクトリ削除コマンドのみが送信される。コンタクト部１３０でディレクトリ削除コマンドのみが受信されると、制御部１１０の制御によりデータメモリ１２４に記憶されているカレントファイル（この場合はＤＦ２）が削除される。つまり、カレントファイル（この場合はＤＦ２）が削除されることにより、このカレントファイルの配下に位置づけられたサブファイル（この場合はＥＦ２−１及びＥＦ２−２）が削除されることになる。カレントファイル（この場合はＤＦ２）の削除が完了すると、削除されたカレントファイルの上位に位置づけされたファイル（この場合はＭＦ）がカレントファイルとして認識される。
【００４０】
続いて、指定ＤＦ（例えばＤＦ２を指定ＤＦとする）の削除について説明する。入力部２４０を介してＤＦ２の削除が指示されると、制御部２１０の制御によりディレクトリ削除コマンドが生成され、リーダ・ライタ２３０からコンタクト部１３０に対して、生成されたディレクトリ削除コマンドとファイル名（ＤＦ２）が送信される。コンタクト部１３０でディレクトリ削除コマンドとファイル名（ＤＦ２）が受信されると、制御部１１０の制御により、ディレクトリ削除コマンドと共に送られてきたファイル名（ＤＦ２）のファイルがデータメモリ１２４から削除される。つまり、指定ファイル（この場合はＤＦ２）が削除されることにより、この指定ファイルの配下に位置づけられたサブファイル（この場合はＥＦ２−１及びＥＦ２−２）が削除されることになる。
【００４１】
なお、具体的なＤＦ２の削除の流れについてはこの後詳しく説明する。
【００４２】
上記したディレクトリ削除コマンドについてさらに説明する。ディレクトリ削除コマンドは、所定のディレクトリ（例えばＤＦ２／メインファイルと仮定）と、この所定のディレクトリの配下に位置づけられたサブディレクトリ（例えばＥＦ２−１、ＥＦ２−２／サブファイルと仮定）の削除を行わせるとともに、削除されたディレクトリ（サブディレクトリを含む）が占有していたメモリ領域を開放させるためのコマンドである。このディレクトリ削除コマンドによるディレクトリ（サブディレクトリを含む）の削除及びメモリ領域の開放により、ＩＣカード１００から不要なアプリケーションを削除して、新たなアプリケーションを追加することができる。
【００４３】
次に、図３〜図１１を参照して、具体的なＤＦ２の削除の流れ、及び具体的なメモリ領域の開放について説明する。図３は、ディレクトリ削除コマンドによるディレクトリ削除処理の概要を示すフローチャートである。
【００４４】
図３に示すように、ディレクトリ削除コマンドによるディレクトリ削除処理は、９段階のステージにより実現される。また、ディレクトリ削除処理が実行されている間、ステージナンバー（ステージ００などの各処理の実行記録）がデータメモリ１２４のバックアップ領域（図４〜図１０に示すｂａｃｋｕｐ−ＥＦ又はｂａｃｋｕｐ−ｅｆ）に確保される。さらに言うと、処理が進行する度に、つまり、ステージナンバーが更新される度に、更新されたステージナンバーがデータメモリ１２４のバックアップ領域に確保される。また、定義情報及び実データなどもバックアップ領域に確保される。さらに言うと、定義情報及び実データの再配置の際に、これら定義情報及び実データは、バックアップ領域に確保される。これにより、不慮の電源ダウン及びリセットなどが原因でディレクトリ削除処理が途中で中断されてしまった場合でも、正常復帰後に、ディレクトリ削除処理を再実行することが可能となる。
【００４５】
続いて、図４〜図１０に示すメモリマップを参照しつつ、図３に示すフローチャートの各ステージについて説明する。また、説明を分かり易くするために、図４〜図１０では、図２に示すファイル構造のＤＦ２の削除を一例として取り上げて説明する。つまり、ディレクトリ削除コマンドにより、図２に示すファイル構造のＤＦ２が削除されるケースについて説明する。
【００４６】
なお、図４は、図３に示すフローチャートのステージ００及び０１を説明するための図である。図５は、図３に示すフローチャートのステージ０２を説明するための図である。図６は、図３に示すフローチャートのステージ０４を説明するための図である。図７は、図３に示すフローチャートのステージ８１を説明するための図である。図８は、図３に示すフローチャートのステージ８２を説明するための図である。図９は、図３に示すフローチャートのステージ８４を説明するための図である。図１０は、図３に示すフローチャートのステージ２０を説明するための図である。
【００４７】
また、図１１には、ワーキングメモリ１２６の作業領域に格納されるデータの名称、データの容量（バイト数）、及びデータの内容の一覧を示す。この作業領域には、上位アドレスから順に、図１１に示すデータが格納されるものとする。さらに、図１２には、データメモリ１２４のバックアップ領域に格納されるデータの名称、データの容量（バイト数）、及びデータの内容の一覧を示す。このバックアップ領域には、上位アドレスから順に、図１２に示すデータが格納されるものとする。またさらに、図１３には、データメモリ１２４のシステム領域に格納されるデータの名称、データの容量（バイト数）、及びデータの内容の一覧を示す。
【００４８】
ステージ００：コマンド実行準備
ＩＣカード１００の制御部１１０により、ディレクトリ削除コマンドが認識されると、このディレクトリ削除コマンドの実行準備が行われる。この実行準備の一つとして、図４に示すアドレスＸ０Ｒがポインタに格納される。アドレスＸ０Ｒは、ＤＦ２の定義情報の先頭アドレスを示すものである。ポインタとは、削除対象及び削除対象外のファイル（ＥＦなど）のアドレス、及び削除対象及び削除対象外のファイル（ＤＦ、ＥＦ）の定義情報のアドレスを格納するものであり、メモリ２２０のバックアップ領域に設けられている（図１１参照）。
【００４９】
ステージ０１：ポインタの設定
このステージ０１では、図４に示すように、アドレスＸ１Ｒ、アドレスＸ２Ｒ、アドレスＹ２ＴＯＰ、アドレスＰＹ２Ｒ、アドレスＰＹ１Ｒ、及びアドレスＹ０Ｒがポインタに格納される。アドレスＸ１Ｒは、ＥＦ２−１の定義情報の先頭アドレスを示すものである。アドレスＸ２Ｒは、ＥＦ１−１の定義情報の先頭アドレスを示すものである。アドレスＹ２ＴＯＰは、ｅｆ１−１（アプリケーションファイル）の先頭アドレスを示すものである。アドレスＰＹ２Ｒは、ｅｆ１−１（アプリケーションファイル）の一部の先頭アドレスを示すものである。アドレスＰＹ１Ｒは、ｅｆ２−１（アプリケーションファイル）の一部の先頭アドレスを示すものである。アドレスＹ０Ｒは、ｂａｃｋｕｐ−ｅｆの先頭アドレスを示すものである。
【００５０】
ステージ０２：ｅｆ（実データ）の移動
このステージ０２では、図５に示すように、ｅｆ２−１が削除され、ｅｆ１−１が移動され、アドレスが更新される。因みに、ｅｆ１−１は、分割移動される（図４参照）。
【００５１】
ステージ０４：ＥＦ（定義情報）の移動
このステージ０４では、図６に示すように、ｅｆ２−１の削除に伴い、ＤＦ２及びＥＦ２−１が削除され、ＤＦ１−１及びＥＦ１−１が移動され、アドレスが更新される。
【００５２】
ステージ８１：ポインタの設定
このステージ８１では、図７に示すようなアドレスがポインタに格納される。
【００５３】
ステージ８２：ｅｆ（実データ）の移動
このステージ８２では、図８に示すように、ｅｆ２−２が削除され、ｅｆ１−１−１が移動され、アドレスが更新される。因みに、ｅｆ１−１−１は、分割移動される。
【００５４】
ステージ８４：ＥＦ（定義情報）の移動
このステージ０４では、図９に示すように、ｅｆ２−２の削除に伴い、ＥＦ２−２が削除され、ＥＦ１−１−１が移動され、アドレスが更新される。
【００５５】
ステージ２０：メモリ使用サイズ変更＆メモリチェック
このステージでは、図１０に示すように、空き領域が初期化される（メモリ領域の開放）。これにより、新たな記憶領域を確保することができる。
【００５６】
また、制御部１１０の制御により、図４に示すような配置が実現されている。すなわち、定義情報（ＤＦ、ＥＦ）が格納されるときには、データメモリ１２４の記憶領域の一端から順に定義情報が配置され、実データ（ｅｆ）が格納されるときには、データメモリ１２４の記憶領域の他端から順に実データが配置される。つまり、制御部１１０は、配置手段として機能している。
【００５７】
さらに、制御部１１０の制御により、定義情報の削除に伴い記憶領域の一端から順に定義情報が再配置され、実データの削除に伴い記憶領域の他端から順に実データが再配置される。つまり、制御部１１０は、格納位置制御手段として機能している。
【００５８】
以上説明したように、制御部１１０の制御により、図４〜図１０に示すように、定義情報及び実データの格納位置が制御されている。このような定義情報及び実データの配置及び再配置を実現するために、定義情報及び実データが配置されている位置を示すアドレスデータが、常時、管理され、バックアップ領域にバックアップされている。さらに言うと、これらアドレスデータは、定義情報及び実データの再配置に伴い更新され、この更新のタイミングでバックアップ領域にバックアップされている。
【００５９】
なお、図３に示すフローチャートでは、実データと定義情報が交互に削除され再配置されるケースを例にとり説明したが、この発明はこれに限定されるものではない。例えば、削除対象となる実データを全て削除して再配置してから、削除対象となる定義情報を全て削除して再配置するようにしてもよい。
【００６０】
次に、図１４〜図１６を参照して、データ更新方法をさらに具体的に説明する。
【００６１】
ディレクトリ削除コマンドによるディレクトリ削除処理において、データメモリ１２４のバックアップ領域にデータを書き込むときに、メモリセルに割り当てられるフラグ（ＦＬＡＧ１及びＦＬＡＧ２）が使用される。このフラグは、コマンド実行中の電源ダウンに備え、コマンド処理履歴を残すものである。特に、データ書き換え中に電源ダウンが起こった場合、データは補償されないため、十分な考慮を要する。
【００６２】
フラグデータが＄８０のときフラグは１を示し、フラグデータが＄００のときフラグは０を示すものとする。ところが、上記したように、フラグ書き換え中に電源電圧の低下又はリセットが生じた場合、フラグデータがどのようなデータになるか分からない。従って、フラグデータが＄８０以外のときは、フラグは０を示すものと見なす。
【００６３】
ディレクトリ削除コマンドによるディレクトリ削除処理では、図１４に示すように、二つのフラグとデータバックアップ領域を使用し、データの更新が行われる。この手法により、更新前のデータ及び更新後のデータのうちの少なくとも一方が、補償されることになる。
【００６４】
ここで、図１５及び図１６を参照して、データ更新について説明する。
【００６５】
一例として、データ列Ａをデータ列Ｂに更新する場合について説明する。最初に、フラグデータのチェックが行われる。因みに、初期状態では両フラグ（ＦＬＡＧ１及びＦＬＡＧ２）は０を示すものとする。両フラグが０を示していない場合には、エラーとなる。エラーの場合、図１５及び図１６に示すように、両フラグが示す値に応じて、処理が継続される。つまり、両フラグが０を示していないのは、前回のコマンドの処理が中断していることである。
【００６６】
初期状態で両フラグが０を示している場合には、作業領域にて、データ列Ｂが作成され、データ列Ｂがバックアップ領域に保存される。これに伴い、ＦＬＡＧ１＝１となる。続いて、データ列Ｂがデータ格納領域に保存される。これに伴い、ＦＬＡＧ２＝１となる。この後、ＦＬＡＧ１＝０、ＦＬＡＧ２＝０となり、初期状態に戻される。
【００６７】
次に、図１７〜図３６に示すフローチャートを参照して、図３に示す各ステージをより詳細に説明する。なお、図中の略称の示す内容は、以下の通りである。
【００６８】
ＷＴＸ：待ち時間延長
ＷＤＬＥＮ：定義情報の構成単位（ＤＦ及びＥＦの定義情報は一定の長さで構成される）
Ｅｒｒｏｒ：コマンド中断とエラーレスポンスの出力
＄：１６進数表現（＄８０＝１２８（１０進数表現））
まず、図１７及び図１８に示すフローチャートを参照して、図３に示すフローチャートのステージ００を説明する。
【００６９】
受信電文がＷＴＸ応答である場合、ＷＴＸ応答処理ルーチン（ＳＴＸ−１）にジャンプする。受信電文がＷＴＸ応答でなく、データバックアップ用ＥＦが存在しなければ、エラーが出力される。受信電文がＷＴＸ応答でなく、データバックアップ用ＥＦが存在する場合、データバックアップ用ＥＦのアドレス（トップアドレス）と、バックアップ領域のサイズが取得されワーキングメモリ１２６（名称：ＧＢＵＦＦＥＦＴＯＰ、ＧＢＵＦＦＬＣ）に保存される。
【００７０】
ＦＬＡＧ０が‘＄００’である場合、前回のコマンド処理が中断されており、コマンド異常終了処理ルーチン（ＳＴＸ−０）にジャンプする。ＦＬＡＧ０が‘＄００’でなく、カレントＤＦ（指定されたＤＦ）がＭＦである場合、エラーが出力される。ＦＬＡＧ０が‘＄００’でなく、カレントＤＦ（指定されたＤＦ）がＭＦでない場合、削除するＤＦ（カレントＤＦ）のシーケンスナンバー、削除するＤＦのサイズ、および削除するＤＦの親ＤＦのシーケンスナンバー、が取得され、ワーキングメモリ１２６（名称は順にＤＥＬＤＦＳＮ、ＤＥＬＰＦＳＮ、ＤＥＬＦＳＩＺ）に保存される。さらに、削除されるＤＦのディレクトリ情報（定義情報）のアドレスがワーキングメモリ１２６（名称：Ｘ０Ｒ）に保存される。なお、ここでフローチャートの説明は、フローチャートの‘Ａ’へ移行する。
【００７１】
カレントＤＦ（指定ＤＦ）に子ＤＦが存在する場合、エラーが出力される。カレントＤＦ（指定ＤＦ）に子ＤＦが存在しない場合、ステージナンバー’＄０１’がワーキングメモリ１２６（ＧＳＴＧＲ）に保存される。さらに、’＄０１’がワーキングメモリ１２６（ＧＣＯＮＴＲ：ＷＴＸ処理カウンタ）に設定される。そして、ポインタの更新ルーチンがコールされ、設定されたワーキングメモリ１２６（ＧＳＴＧＲ、Ｘ０Ｒ）のデータがデータメモリ１２４（順にＧＳＴＧＥ、Ｘ０Ｅ）に保存される。その後、フラグＦＬＡＧ１、ＦＬＡＧ２がクリアされる（ＦＬＡＧ１、２＝’＄００’）。
【００７２】
さらに、ワーキングメモリ１２６のデータ（ＤＥＬＤＦＳＮ、ＤＥＬＰＦＳＮ、ＤＥＬＦＳＩＺ）がデータメモリ１２４（順にＤＥＬＤＦＳＮＥ、ＤＥＬＰＦＳＮＥ、ＤＥＬＦＳＩＺＥ）に保存される。書き込みが正常に行われない場合、エラーが出力される。書き込みが正常に行われた場合、ＦＬＡＧ０が’＄８０’にされる。この後、処理は、フローチャートのステージ０１−０に進む。
【００７３】
続いて、図１９及び図２０に示すフローチャートを参照して、図３に示すフローチャートのステージ０１又はステージ８１を説明する。
【００７４】
ＦＬＡＧ１、ＦＬＡＧ２がクリアされる（ＦＬＡＧ１、２＝’＄００’）。ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが’＄０１’である場合、ワーキングメモリ１２６（Ｙ０Ｒ）にデータ領域の最下位アドレス（ＤＩＲＰ２）が設定され、ワーキングメモリ１２６（Ｘ１Ｒ）にワーキングメモリ１２６（Ｘ０Ｒ）のデータが設定される。さらに、削除するＤＦの定義情報から削除するＥＦの定義情報がアドレスの上位に向かってＷＤＬＥＮ単位にサーチされ、そのアドレスがワーキングメモリ１２６（Ｘ１Ｒ）に保存される。このとき、メモリ空き領域の最下位アドレス（ＤＩＲＰ１）までサーチされ、削除するＥＦが見つからない場合は、ステージ０２−３にジャンプする。削除するＥＦが見つかった場合は、削除するＥＦの定義情報からＥＦのデータ領域が特定され、ＥＦトップアドレスとＥＦサイズが足されたものがワーキングメモリ１２６（Ｙ０Ｒ）に保存し直される。以上はワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが’＄０１’の場合に行われる。
【００７５】
この後、アドレスの上位に向かって、削除しないＥＦの定義情報がサーチされ、アドレスがワーキングメモリ１２６（Ｘ２Ｒ）に保存される（ここでフローチャートの説明は、フローチャートの‘Ｂ’へ移行する）。このとき、メモリ空き領域の最下位アドレス（ＤＩＲＰ１）までサーチされ、削除しない（移動する）ＥＦが見つからない場合、ステージ０２−３にジャンプする。削除しないＥＦが見つかった場合、削除しないＥＦの定義情報からＥＦのデータ領域トップアドレスとサイズが特定される。そのサイズが、データバックアップ領域のサイズ以下であれば、削除しないＥＦのデータ領域トップアドレスがワーキングメモリ１２６（ＰＹ２Ｒ）に保存され、ＥＦのサイズがワーキングメモリ１２６（ＬＣＲ）に保存され、ワーキングメモリ１２６（Ｙ０Ｒ）から削除しないＥＦのサイズを引いたものがワーキングメモリ１２６（ＰＹ１Ｒ）に保存される。
【００７６】
また、削除されるＥＦのサイズが、データバックアップ領域のサイズより大きければ、削除されるＥＦのサイズをデータバックアップ領域のサイズで割った余りがワーキングメモリ１２６（ＬＣＲ）に保存され、ワーキングメモリ１２６（Ｙ０Ｒ）からワーキングメモリ１２６（ＬＣＲ）のデータが引かれたものがワーキングメモリ１２６（ＰＹ１Ｒ）に保存され、削除しないＥＦのトップアドレスとサイズが足されたものからワーキングメモリ１２６（ＬＣＲ）のデータが引かれたものが、ワーキングメモリ１２６（ＰＹ２Ｒ）に保存される。
【００７７】
従って、ワーキングメモリ１２６（Ｙ０Ｒ，Ｘ１Ｒ，Ｘ２Ｒ，ＰＹ１Ｒ，ＰＹ２Ｒ，ＬＣＲ）のデータが設定され、ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが１インクリメントされる。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ，Ｙ０Ｒ，Ｘ１Ｒ，Ｘ２Ｒ，ＰＹ１Ｒ，ＰＹ２Ｒ，ＬＣＲ）のデータがデータメモリ１２４（ＧＳＴＧＥ，Ｙ０Ｅ，Ｘ１Ｅ，Ｘ２Ｅ，ＰＹ１Ｅ，ＰＹ２Ｅ，ＬＣＥ）に保存される。この後、処理は、フローチャートのＳＴ０２−０へジャンプする。
【００７８】
続いて、図２１及び図２２に示すフローチャートを参照して、図３に示すフローチャートのステージ０２又はステージ８２を説明する。
【００７９】
ワーキングメモリ１２６（ＰＹ２Ｒ）に保存されるアドレスより、ワーキングメモリ１２６（ＬＣＲ）に示されるバイト数分のデータが、バックアップ領域に保存される。そして、ＦＬＡＧ１がクリアされ（ＦＬＡＧ１＝’＄００’）、処理がステージ０２−１に進む。
【００８０】
ステージ０２−１では、バックアップされたデータが、ワーキングメモリ１２６（ＰＹ１Ｒ）に保存される。そして、ＦＬＡＧ２がクリアされ（ＦＬＡＧ２＝’＄００’）、処理がステージ０２−２に進む。
【００８１】
ステージ０２−２では、ワーキングメモリ１２６（ＰＹ２Ｒ）のデータが、移動したＥＦのトップアドレスに等しくない場合、すなわち削除しないＥＦのデータ領域がすべて移動されていない場合、ワーキングメモリ１２６（ＬＣＲ）にバックアップ領域サイズが保存され、ワーキングメモリ１２６（ＰＹ１Ｒ、ＰＹ２Ｒ）のデータがともにバックアップ領域サイズ部だけ減じられる。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータがデータメモリ１２４（ＧＳＴＧＥ、Ｙ０Ｅ、Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）に保存される。そして、処理が、ステージ０２−０にジャンプする。
【００８２】
ワーキングメモリ１２６（ＰＹ２Ｒ）のデータが、移動したＥＦのトップアドレスに等しい場合、すなわち削除しないＥＦのデータ領域がすべて移動された場合、ワーキングメモリ１２６（Ｙ０Ｒ）のデータがワーキングメモリ１２６（ＰＹ１Ｒ）のデータに変更される。ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが’＄８１’または’＄８２’である場合、ワーキングメモリ１２６（ＧＳＴＧＲ）が’＄８４’にされる。ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが、’＄８１’または’＄８２’でない場合、ワーキングメモリ１２６（Ｘ１Ｒ）のデータが、ワーキングメモリ１２６（Ｘ０Ｒ）のデータと削除するディレクトリ定義情報のサイズ分（ＷＤＬＥＮ×２）との加算値とされ、ワーキングメモリ１２６（ＧＳＴＧＲ）が’＄０４’にされる。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータが、データメモリ１２４（ＧＳＴＧＥ、Ｙ０Ｅ，Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）に保存される。その後、処理は、ステージ０４−０にジャンプする。
【００８３】
ステージ０２−３では、ワーキングメモリ１２６（Ｘ２Ｒ）にメモリ空き領域の最下位アドレス（ＤＩＲＰ１）が保存される。ワーキングメモリ１２６（Ｙ０Ｒ）のデータがワーキングメモリ１２６（ＰＹ１Ｒ）のデータに変更される。ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが’＄８１’または’＄８２’である場合、ワーキングメモリ１２６（ＧＳＴＧＲ）が’＄８４’にされる。ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが、’＄８１’または’＄８２’でない場合、ワーキングメモリ１２６（Ｘ１Ｒ）のデータが、ワーキングメモリ１２６（Ｘ０Ｒ）のデータと削除するディレクトリ定義情報のサイズ分（ＷＤＬＥＮ×２）との加算値とされ、ワーキングメモリ１２６（ＧＳＴＧＲ）が’＄０４’にされる。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータが、データメモリ１２４（ＧＳＴＧＥ、Ｙ０Ｅ，Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）に保存される。その後、処理はステージ０４−０にジャンプする。
【００８４】
続いて、図２３、図２４、及び図２５のフローチャートを参照して、図３に示すフローチャートのステージ０４又はステージ８４を説明する。
【００８５】
ＦＬＡＧ１、２がクリアされる（ＦＬＡＧ＝’＄００’）。ワーキングメモリ１２６（Ｘ１Ｒ）のデータとワーキングメモリ１２６（Ｘ２Ｒ）のデータとが等しい場合、処理はステージ０４−１にジャンプする。ワーキングメモリ１２６（Ｘ１Ｒ）のデータとワーキングメモリ１２６（Ｘ２Ｒ）のデータとが等しくなく、ワーキングメモリ１２６（Ｘ１Ｒ）に保存されるアドレスからの定義情報が削除対象である場合、そのアドレスに定義情報サイズ分が加算され、ワーキングメモリ１２６（Ｘ１Ｒ）に保存し直される。
【００８６】
また、ワーキングメモリ１２６（Ｘ１Ｒ）に保存されるアドレスからの定義情報が削除対象でない場合、その定義情報がワーキングメモリ１２６（Ｘ０Ｒ）に保存されるアドレスに転送される。そして、ワーキングメモリ１２６（Ｘ０Ｒ、Ｘ１Ｒ）のアドレスにＷＤＬＥＮ（定義情報サイズ）が加算される。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ、Ｘ０Ｒ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータがデータメモリ１２４（ＧＳＴＧＥ、Ｘ０Ｅ、Ｙ０Ｅ、Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）に保存される。その後、処理はステージ０４−０の先頭に戻る。
【００８７】
ステージ０４−１では、ワーキングメモリ１２６（Ｘ２Ｒ）のデータがメモリ空き領域の最下位アドレス（ＤＩＲＰ１）である場合、処理はステージ０４−２にジャンプする。ワーキングメモリ１２６（Ｘ２Ｒ）のデータがメモリ空き領域の最下位アドレス（ＤＩＲＰ１）でない場合、ワーキングメモリ１２６（Ｘ２Ｒ）のアドレスからの定義情報において、データ領域トップアドレス情報がワーキングメモリ１２６（ＰＹ１Ｒ）のデータに置き換えられ、ワーキングメモリ１２６（Ｘ０Ｒ）のアドレスに転送される。ワーキングメモリ１２６（Ｘ０Ｒ、Ｘ１Ｒ）のアドレスに定義情報サイズ分（ＷＤＬＥＮ）が加算され、ワーキングメモリ１２６（ＧＳＴＧＲ）が’＄８１’にされる。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ、Ｘ０Ｒ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータがデータメモリ１２４（ＧＳＴＧＥ、Ｘ０Ｅ、Ｙ０Ｅ、Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）に保存される。その後、処理はステージ０１−０にジャンプする。
【００８８】
ステージ０４−２では、削除されるＤＦの親ＤＦがＭＦでなく、且つ、削除されるＤＦの親ＤＦの使用サイズ情報が設定されていない場合、ワーキングメモリ１２６（Ｘ１Ｒ）に、削除されるＤＦの親ＤＦの定義情報のアドレスが設定される。それ以外の場合は、ワーキングメモリ１２６（Ｘ１Ｒ）にＭＦの定義情報のアドレスが設定される。そして、ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが’＄２０’にされる。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ、Ｘ０Ｒ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータがデータメモリ１２４（ＧＳＴＧＥ、Ｘ０Ｅ、Ｙ０Ｅ、Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）に保存される。その後、処理はステージ２０−０に進む。
【００８９】
続いて、図２６、図２７、及び図２８のフローチャートを参照して、図３に示すフローチャートのステージ２０を説明する。
【００９０】
ワーキングメモリ１２６（Ｘ１Ｒ）のアドレスからの使用サイズ情報が、削除領域サイズを引いた値に置き換えられ、以上のデータがバックアップ領域に保存される。そして、ＦＬＡＧ１がクリアされる（ＦＬＡＧ１＝’＄００’）。その後、処理はステージ２０−１に進む。
【００９１】
ステージ２０−１では、バックアップ領域のデータがワーキングメモリ１２６（Ｘ１Ｒ）のアドレスに転送される（この後、処理はフローチャートの‘Ｃ’へジャンプする）。そして、ＦＬＡＧ２がクリアされ（ＦＬＡＧ２＝’＄００’）、削除領域がメモリ初期状態化される。一定領域のメモリが初期状態化される毎にＷＴＸ要求が行われる。ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが’＄４０’にされる。そして、ポインタの更新ルーチンがコールされ、ワーキングメモリ１２６（ＧＳＴＧＲ、Ｘ０Ｒ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータがデータメモリ１２４（ＧＳＴＧＥ、Ｘ０Ｅ、Ｙ０Ｅ、Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）に保存される。その後、処理は、ステージ４０に進む。
【００９２】
続いて、図２９のフローチャートを参照して、図３に示すフローチャートのステージ４０を説明する。
【００９３】
メモリ管理情報のメモリ空き領域最下位アドレス情報（ＤＩＲＰ１）がワーキングメモリ１２６（Ｘ０Ｒ）のデータに、メモリ管理情報のデータ領域最下位アドレス情報（ＤＩＲＰ２）がワーキングメモリ１２６（Ｙ０Ｒ）のデータに置き換えられ、以上のデータがバックアップ領域に保存される。そして、ＦＬＡＧ１がクリアされる（ＦＬＡＧ１＝’＄００’）。その後、処理はステージ４０−１に進む。
【００９４】
ステージ４０−１では、バックアップ領域のデータがメモリ管理情報領域に保存される。そして、ＦＬＡＧ２がクリアされる（ＦＬＡＧ２＝’＄００’）。その後、処理はステージ４０−２に進む。
【００９５】
ステージ４０−２では、ＭＦ以外のＤＦにて獲得されたセキュリティステータス（照合状態）がクリアされる。そして、ＦＬＡＧ０がクリアされ（ＦＬＡＧ０＝’＄００’）、正常終了となる。
【００９６】
続いて、図３０及び図３１に示すフローチャートを参照して、コマンド異常終了対応ルーチン及びＷＴＸ応答処理を説明する。
【００９７】
データメモリ１２４（ＤＥＬＤＦＳＮＥ、ＤＥＬＰＦＳＮＥ、ＤＥＬＦＳＩＺＥ、ＧＳＴＧＥ、Ｘ０Ｅ、Ｙ０Ｅ、Ｘ１Ｅ、Ｘ２Ｅ、ＰＹ１Ｅ、ＰＹ２Ｅ、ＬＣＥ）のデータが、ワーキングメモリ１２６（ＤＥＬＤＦＳＮ、ＤＥＬＰＦＳＮ、ＤＥＬＦＳＩＺ、ＧＳＴＧＲ、Ｘ０Ｒ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）に展開される。ＷＴＸ処理カウンタの初期値である’＄００’が、ワーキングメモリ１２６（ＧＣＯＮＴＲ）に設定される。その後、処理はＷＴＸ応答処理ルーチン（ＳＴＸ−１）に進む。
【００９８】
ＷＴＸ応答処理ルーチンでは、ＦＬＡＧ１＝’＄８０’かつＦＬＡＧ２＝’＄００’の場合、ポインタの更新ルーチン（後半）がコールされ、処理はコマンド異常終了処理ルーチンにジャンプする。ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄０１’または’＄８１’の場合、処理はステージ０１−０にジャンプする。ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄０４’または’＄８４’の場合、処理はステージ０４−０にジャンプする（この後、処理はフローチャートの‘Ｆ’へジャンプする）。
【００９９】
ＦＬＡＧ１＝’＄８０’かつＦＬＡＧ２＝’＄８０’の場合において、ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄０２’または’＄８２’の場合、処理はステージ０２−０にジャンプし、ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄２０’の場合、処理はステージ２０−０にジャンプし、ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄４０’の場合、処理はステージ４０−０にジャンプする。
【０１００】
ＦＬＡＧ１＝’＄００’かつＦＬＡＧ２＝’＄８０’であり、ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄０２’または’＄８２’の場合、ステージ０２−１にジャンプし、ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄２０’の場合、ステージ２０−１にジャンプし、ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄４０’の場合、ステージ４０−１にジャンプする。
【０１０１】
ＦＬＡＧ１＝’＄００’かつＦＬＡＧ２＝’＄００’であり、ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄２０’の場合、ステージ２０−２にジャンプし、’＄０２’または’＄８２’の場合はステージ０２−２にジャンプする。
【０１０２】
続いて、図３２に示すフローチャートを参照して、メモリ書き込みについて説明する。
【０１０３】
図３２のフローチャートに示すように、メモリ領域内の指定された書込先に、指定されたデータの書き込みを行う。このとき、電源電圧異常が検出された場合、エラーが出力される。電源電圧異常が検出されなければ、このサブルーチンにおける処理は終了となる。
【０１０４】
続いて、図３３に示すフローチャートを参照して、フラグのセット／クリアについて説明する。
【０１０５】
図３３のフローチャートに示すように、指定されたフラグに、指定されたデータの書き込みを行う。このとき、電源電圧異常が検出された場合、エラーが出力される。電源電圧異常が検出されなければ、このサブルーチンにおける処理は終了となる。
【０１０６】
続いて、図３４及び図３５に示すフローチャートを参照して、ポインタの更新について説明する。
【０１０７】
ワーキングメモリ１２６（ＧＳＴＧＲ、Ｘ０Ｒ、Ｙ０Ｒ、Ｘ１Ｒ、Ｘ２Ｒ、ＰＹ１Ｒ、ＰＹ２Ｒ、ＬＣＲ）のデータが、ワーキングメモリ１２６（ＧＢＵＦＦＲ）に転送され、バックアップ領域に保存される。そして、ＦＬＡＧ１が’＄８０’にされ、処理はポインタの更新ルーチン（後半）にジャンプする。
【０１０８】
ポインタの更新ルーチン（後半）では、バックアップ領域のデータがデータメモリ１２４（ＧＳＴＧＥ）のアドレスから保存される。そして、ＦＬＡＧ２が’＄８０’にされる。ワーキングメモリ１２６（ＧＳＴＧＲ）のデータが’＄０２’または’＄８２’である場合、ワーキングメモリ１２６（ＬＣＲ）データが６４で乗算され、１加算され、２倍されたものがワーキングメモリ１２６（ＧＣＯＮＴＲ）のデータに加算される。ワーキングメモリ１２６（ＧＳＴＧＲ）のステージナンバーが’＄０２’または’＄８２’でない場合、ワーキングメモリ１２６（ＧＣＯＮＴＲ）のデータが１インクリメントされる（この後、処理はフローチャート‘Ｇ’へジャンプ）。ワーキングメモリ１２６（ＧＣＯＮＴＲ）のデータが’＄１２’を超えた場合、ワーキングメモリ１２６（ＧＣＯＮＴＲ）のデータが初期値’＄００’に戻され、ＷＴＸ要求が行われる。ワーキングメモリ１２６（ＧＣＯＮＴＲ）のデータが’＄１２’を超えない場合、処理は本ルーチンをコールした元のルーチンに戻る。
【０１０９】
続いて、図３６に示すフローチャートを参照して、メモリ初期状態化について説明する。
【０１１０】
図３６のフローチャートに示すように、指定されたスタートアドレスから、ある一定サイズのメモリの初期状態化が行われる。このとき、電源電圧異常が検出された場合、エラーが出力される。電源電圧異常が検出されずに、指定されたエンドアドレスまでメモリ初期状態化されていない場合、処理はＷＴＸ要求へ移行する。電源電圧異常が検出されずに、指定されたエンドアドレスまでメモリ初期状態化されている場合、このサブルーチンにおける処理は終了となる。
【０１１１】
次に、図３７を参照して、フラグと実行ステータスについて説明する。
【０１１２】
フラグ（ＦＬＡＧ０、１、２）は、図３７に示すように、書き換えられるようになっている。つまり、ディレクトリ削除コマンドに従った処理の実行中を示すフラグ（ＦＬＡＧ０）は、処理の最初と最後に書き換えられる。また、このフラグ（ＦＬＡＧ０）以外のフラグ（ＦＬＡＧ１、２）により、ポインタのバックアップ及びデータ領域のバックアップが行われている。なお、図３７中の‘ＸＸ’は、任意のデータを示す。フラグデータ‘＄８０’以外は、‘＄００’として扱われる。
【０１１３】
次に、ＤＦシーケンスナンバーについて説明する。
【０１１４】
ＤＦシーケンスナンバーは、ＤＦを識別するためのものであり、一つ一つのＤＦにユニークに割り当てられるものである。従来、このＤＦシーケンスナンバーは、１バイト（＝２５６通り）で管理されており、ＤＦが創成されるたびにインクリメントされていた。ところが、ディレクトリ削除コマンドをサポートするには、このような従来の方法では、不十分である。つまり、ＤＦの削除と追加が繰り返されるうちに、やがては同じシーケンスナンバーが割り当てられてしまう。
【０１１５】
そこで、この発明では、シーケンスナンバーをビットマップ管理する事により、ＭＦ以外に３２個のＤＦの追加が可能となる。例えば、メモリ管理情報の４バイト（ＤＦＳＥＱＮＯ）にて管理する。
【０１１６】
例えば、ＤＦシーケンスナンバー１、ナンバー４、ナンバー９が使用されている場合、ビットマップは、以下のようになる。
【０１１７】
00000000  00000000  00000001  00001001
上記状態から、ＤＦシーケンスナンバー９のディレクトリが削除されると、ビットマップは、以下のようになる。
【０１１８】
00000000  00000000  00000000  00001001
上記状態から、一つディレクトリが創成されると、ＤＦシーケンスナンバー１、ナンバー２、ナンバー４が使用されることになり（ＤＦシーケンスナンバーの小さいものから順に使用される場合）、ビットマップは、以下のようになる。
【０１１９】
00000000  00000000  00000000  00001011
上記したビットマップは、制御部１１０により生成され、データメモリ１２４に記憶される。つまり制御部１１０は、ビットマップ生成手段として機能する。データメモリ１２４は、ビットマップデータを格納するビットマップデータ格納手段として機能する。
【０１２０】
次に、ＷＴＸについて説明する。
【０１２１】
ＩＣカード処理装置２００からＩＣカード１００に対して、コマンド電文が送信されるとする。このとき、ＩＣカードでは、受信したコマンドの指定する処理が実行される。そして、ＩＣカードからＩＣカード処理装置に対して、処理結果を示すレスポンスが返信される。ＩＣカード１００とＩＣカード処理装置２００は、このような一連の電文のやり取りを行っている。
【０１２２】
ＩＣカード１００でコマンド電文が受信されたとき、この受信されたコマンド電文に相当するコマンド処理が、ある一定時間（ＢＷＴ）より長い時間を必要とするとき、ＩＣカード１００はＩＣカード処理装置２００に対してＷＴＸ要求（待ち時間延長要求）を返信する。これに対し、ＩＣカード処理装置２００はＩＣカード１００に対して、ＷＴＸ応答（待ち時間延長応答）を返信する。
【０１２３】
次に、図３８〜図４０を参照して、ＤＦ定義情報、ＭＦ定義情報、及びＥＦ定義情報について説明する。まず、図３８〜図４０中の略称を説明する。
【０１２４】
ＷＡＩ：定義情報の識別情報。
【０１２５】
ＤＦＳＮ：ＤＦシーケンスナンバー
ＰＦＳＮ：親ＤＦシーケンスナンバー
ＦＳＩＺ：ＤＦに割り当てられたメモリサイズ。ＦＳＩＺ＝０のときサイズ管理は行わない。
【０１２６】
ＵＳＩＺ：ＤＦの配下にあるＤＦ及びＥＦの使用総サイズ。
【０１２７】
ＥＦＴＯＰ：ＥＦの先頭アドレス
ＥＦＳＩＺ：ＥＦに割り当てられた使用サイズ
図３８に示すように、ＤＦ定義情報（長さ：ＷＤＬＥＮ×２）には、ＷＡＩ、ＰＦＳＮ、（その他の情報）、ＤＦＳＮ、（ＤＦ名、その他の情報）、ＷＡＩ、ＤＦＳＮ、（その他の情報）、ＦＳＩＺ、ＵＳＩＺ、（その他の情報）などが含まれている。
【０１２８】
図３９に示すように、ＭＦ定義情報（長さ：ＷＤＬＥＮ）には、ＷＡＩ、ＤＦＳＮ、（その他の情報）、ＦＳＩＺ、ＵＳＩＺ、（その他の情報）などが含まれている。因みに、このＭＦ定義情報は、ＤＦ定義情報の後半部分と同じフォーマットである。
【０１２９】
図４０に示すように、ＥＦ定義情報（長さ：ＷＤＬＥＮ）には、ＷＡＩ、ＤＦＳＮ、（その他の情報）、ＥＦＴＯＰ、ＥＦＳＩＺ、（その他の情報）などが含まれている。
【０１３０】
続いて、アクセスキーによりアクセスが制限されたファイルの削除について説明する。
【０１３１】
例えば、図４のＥＦ１−１のアクセスに必要なアクセスキーが図４のＥＦ２−１に保持されているとする。
【０１３２】
このような状況下では、ＥＦ１−１のアクセスの際に、入力部２４０から入力されたアクセスキーと、ＥＦ２−１に保持されたアクセスキーとが照合され、これら両アクセスキーが一致したときに、ＥＦ１−１へのアクセスが許可される。上記したアクセスキーの照合及びアクセスの許可判定は、制御部１１０により行われる。
【０１３３】
また、このような状況下で、ディレクトリ削除コマンドによるディレクトリ削除処理によりＥＦ２−１が削除された場合には、制御部１１０の制御により、ＥＦ１−２へのアクセスが禁止される。つまり、制御部１１０は、ファイルアクセス管理手段として機能する。これにより、アクセスキーによりアクセスが制限されたファイルの情報の漏洩が防止される。
【０１３４】
【発明の効果】
この発明によれば、新たなアプリケーションの設定の自由度に優れたＩＣカード、ＩＣカード処理システム、ＩＣカード処理方法を提供できる。
【図面の簡単な説明】
【図１】この発明のＩＣカード処理システムの概略構成を示すブロック図である。
【図２】図１に示すＩＣカードのデータメモリに構築されるファイル構造の概要を説明するための図である。
【図３】ディレクトリ削除コマンドによるディレクトリ削除処理の全体の概要を示すフローチャートである。
【図４】図３に示すフローチャートのステージ００及び０１を説明するためのメモリマップを示す図である。
【図５】図３に示すフローチャートのステージ０２を説明するためのメモリマップを示す図である。
【図６】図３に示すフローチャートのステージ０４を説明するためのメモリマップを示す図である。
【図７】図３に示すフローチャートのステージ８１を説明するためのメモリマップを示す図である。
【図８】図３に示すフローチャートのステージ８２を説明するためのメモリマップを示す図である。
【図９】図３に示すフローチャートのステージ８４を説明するためのメモリマップを示す図である。
【図１０】図３に示すフローチャートのステージ２０を説明するためのメモリマップを示す図である。
【図１１】ワーキングメモリの作業領域に格納されるデータの名称、データの容量（バイト数）、及びデータの内容の一覧を示す図である。
【図１２】データメモリのバックアップ領域に格納されるデータの名称、データの容量（バイト数）、及びデータの内容の一覧を示す図である。
【図１３】データメモリのシステム領域に格納されるデータの名称、データの容量（バイト数）、及びデータの内容の一覧を示す図である。
【図１４】データ更新処理を説明するためのメモリマップを示す図である。
【図１５】データ更新処理を説明するためのフローチャートである。
【図１６】データ更新処理を説明するための、図１５に示すフローチャートから続くフローチャートである。
【図１７】図３に示すフローチャートのステージ００を説明するためのフローチャートである。
【図１８】図３に示すフローチャートのステージ００を説明するための、図１７に示すフローチャートから続くフローチャートである。
【図１９】図３に示すフローチャートのステージ０１又はステージ８１を説明するためのフローチャートである。
【図２０】図３に示すフローチャートのステージ０１又はステージ８１を説明するための、図１９に示すフローチャートから続くフローチャートである。
【図２１】図３に示すフローチャートのステージ０２又はステージ８２を説明するためのフローチャートである。
【図２２】図３に示すフローチャートのステージ０２又はステージ８２を説明するための、図２１に示すフローチャートから続くフローチャートである。
【図２３】図３に示すフローチャートのステージ０４又はステージ８４を説明するためのフローチャートである。
【図２４】図３に示すフローチャートのステージ０４又はステージ８４を説明するための、図２３に示すフローチャートから続くフローチャートである。
【図２５】図３に示すフローチャートのステージ０４又はステージ８４を説明するための、図２４に示すフローチャートから続くフローチャートである。
【図２６】図３に示すフローチャートのステージ２０を説明するためのフローチャートである。
【図２７】図３に示すフローチャートのステージ２０を説明するための、図２６に示すフローチャートから続くフローチャートである。
【図２８】図３に示すフローチャートのステージ２０を説明するための、図２７に示すフローチャートから続くフローチャートである。
【図２９】図３に示すフローチャートのステージ４０を説明するためのフローチャートである。
【図３０】コマンド異常終了対応ルーチン及びＷＴＸ応答処理を説明するためのフローチャートである。
【図３１】コマンド異常終了対応ルーチン及びＷＴＸ応答処理を説明するための、図３０に示すフローチャートから続くフローチャートである。
【図３２】メモリ書き込みについて説明するためのフローチャートである。
【図３３】フラグのセット／クリアについて説明するためのフローチャートである。
【図３４】ポインタの更新について説明するためのフローチャートである。
【図３５】ポインタの更新について説明するための、図３４に示すフローチャートから続くフローチャートである。
【図３６】メモリ初期状態化について説明するためのフローチャートである。
【図３７】フラグデータと実行ステータスの関係を示す図である。
【図３８】ＤＦ定義情報の一例を示す図である。
【図３９】ＭＦ定義情報の一例を示す図である。
【図４０】ＥＦ定義情報の一例を示す図である。
【符号の説明】
１００…ＩＣカード
１１０…制御部
１２０…メモリ
１２２…プログラムメモリ
１２４…データメモリ
１２６…ワーキングメモリ
１３０…コンタクト部
２００…ＩＣカード処理装置
２１０…制御部
２２０…メモリ
２３０…リーダ・ライタ
２４０…入力部
２５０…ディスプレイ
【図１】
0004213258.tif 000002
【図２】
0004213258.tif 000003
【図３】
0004213258.tif 000004
【図４】
0004213258.tif 000005
【図５】
0004213258.tif 000006
【図６】
0004213258.tif 000007
【図７】
0004213258.tif 000008
【図８】
0004213258.tif 000009
【図９】
0004213258.tif 000010
【図１０】
0004213258.tif 000011
【図１１】
0004213258.tif 000012
【図１２】
0004213258.tif 000013
【図１３】
0004213258.tif 000014
【図１４】
0004213258.tif 000015
【図１５】
0004213258.tif 000016
【図１６】
0004213258.tif 000017
【図１７】
0004213258.tif 000018
【図１８】
0004213258.tif 000019
【図１９】
0004213258.tif 000020
【図２０】
0004213258.tif 000021
【図２１】
0004213258.tif 000022
【図２２】
0004213258.tif 000023
【図２３】
0004213258.tif 000024
【図２４】
0004213258.tif 000025
【図２５】
0004213258.tif 000026
【図２６】
0004213258.tif 000027
【図２７】
0004213258.tif 000028
【図２８】
0004213258.tif 000029
【図２９】
0004213258.tif 000030
【図３０】
0004213258.tif 000031
【図３１】
0004213258.tif 000032
【図３２】
0004213258.tif 000033
【図３３】
0004213258.tif 000034
【図３４】
0004213258.tif 000035
【図３５】
0004213258.tif 000036
【図３６】
0004213258.tif 000037
【図３７】
0004213258.tif 000038
【図３８】
0004213258.tif 000039
【図３９】
0004213258.tif 000040
【図４０】
0004213258.tif 000041