(57)【要約】【課題】本発明が解決しようとする課題は、発行処理が途中中断された場合に、発行処理を再開することができる携帯可能電子装置、ＩＣカード、及び発行装置を提供することである。【解決手段】実施形態の携帯可能電子装置は、データ記憶部と、最終データ情報記憶部と、完了情報記憶部と、処理部とを持つ。最終データ情報記憶部は、前記データ記憶部に記憶させるデータと、データ識別情報とを含む書き込み要求によって、前記データを前記データ記憶部に記憶させる書き込み処理が、最後に正常に実行された前記データ識別情報を記憶する。完了情報記憶部は、前記書き込み要求によって、アプリケーションに対応したデータを前記データ記憶部に記憶させる発行処理が完了したか否かを示す完了情報を記憶する。処理部は、前記完了情報が前記発行処理が完了していないことを示す場合に、前記最終データ情報記憶部が記憶する前記データ識別情報を送信する処理を行う。【選択図】図３
2020013212.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するデータ記憶部と、
外部装置から受信したデータと、前記データを識別するデータ識別情報とを含んで、前記データ記憶部に書き込むよう要求する前記外部装置からのデータ書き込み要求によって、前記データを前記データ記憶部に記憶させる書き込み処理が、最後に正常に実行された前記データ識別情報を記憶する最終データ情報記憶部と、
前記書き込み要求によって、アプリケーションに対応したデータを前記データ記憶部に記憶させる発行処理が完了したか否かを示す完了情報を記憶する完了情報記憶部と、
前記完了情報記憶部が記憶する前記完了情報が、前記発行処理が完了していないことを示す場合に、前記最終データ情報記憶部が記憶する前記データ識別情報を前記外部装置に送信する処理を行う処理部と
を備える携帯可能電子装置。
【請求項２】
前記処理部は、前記外部装置から受信した前記アプリケーションを選択する選択要求に応じて、前記完了情報が、前記発行処理が完了していないことを示す場合に、前記最終データ情報記憶部が記憶する前記データ識別情報を含む応答を前記外部装置に送信する処理を行う
請求項１に記載の携帯可能電子装置。
【請求項３】
前記処理部は、前記完了情報が、前記発行処理が完了している場合に、前記最終データ情報記憶部が記憶する前記データ識別情報を含めない応答を前記外部装置に送信する処理を行う
請求項２に記載の携帯可能電子装置。
【請求項４】
前記最終データ情報記憶部は、前記アプリケーションを識別するアプリケーション識別情報と、前記アプリケーションの発行処理において、最後に正常に実行された前記データ識別情報とを対応付けて記憶し、
前記処理部は、前記アプリケーションを選択する選択要求に応じて、前記完了情報が、前記発行処理が完了していないことを示す場合に、前記選択要求に含まれる前記アプリケーション識別情報に対応付けられた前記データ識別情報を前記最終データ情報記憶部から取得し、取得した前記データ識別情報を含む応答を前記外部装置に送信する処理を行う
請求項２又は請求項３に記載の携帯可能電子装置。
【請求項５】
前記処理部は、
前記書き込み要求に、前記データが前記発行処理の最後のデータであることを示す情報が含まれている場合に、前記発行処理が完了したことを示す情報を、前記完了情報として、前記完了情報記憶部に記憶させ、
前記書き込み要求に、前記データが前記発行処理の最後のデータであることを示す情報が含まれていない場合に、前記最終データ情報記憶部に、前記書き込み要求に含まれる前記データ識別情報を記憶させる
請求項１から請求項４のいずれか一項に記載の携帯可能電子装置。
【請求項６】
前記処理部は、前記書き込み要求に、前記データが前記発行処理の最後のデータであることを示す情報が含まれている場合に、前記最終データ情報記憶部に記憶されている前記データ識別情報を削除する
請求項５に記載の携帯可能電子装置。
【請求項７】
データを記憶するデータ記憶部と、
外部装置から受信したデータと、前記データを識別するデータ識別情報とを含んで、前記データ記憶部に書き込むよう要求する前記外部装置からのデータ書き込み要求によって、前記データを前記データ記憶部に記憶させる書き込み処理が、最後に正常に実行された前記データ識別情報を記憶する最終データ情報記憶部と、
前記書き込み要求によって、アプリケーションに対応したデータを前記データ記憶部に記憶させる発行処理が完了したか否かを示す完了情報を記憶する完了情報記憶部と、
前記完了情報記憶部が記憶する前記完了情報が、前記発行処理が完了していないことを示す場合に、前記最終データ情報記憶部が記憶する前記データ識別情報を前記外部装置に送信する処理を行う処理部と
を備えるＩＣモジュールと、
前記ＩＣモジュールが埋め込まれたカード本体と
を備えるＩＣカード。
【請求項８】
請求項１から請求項６のいずれか一項に記載の携帯可能電子装置を発行する発行装置であって、
少なくとも前記アプリケーションに対応したデータと、前記データ識別情報とを対応付けた発行情報を取得する取得部と、
前記取得部が取得した複数の前記発行情報を、所定の順序で前記書き込み要求により前記携帯可能電子装置に送信して、前記発行処理を実行する発行処理部と
を備え、
前記発行処理部は、前記発行処理の前に、前記最終データ情報記憶部が記憶する前記データ識別情報を前記携帯可能電子装置から受信した場合に、前記所定の順序のうちの、受信した前記データ識別情報に対応する前記発行情報に基づく順序位置から前記発行処理を開始する
発行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、ＩＣカード、及び発行装置に関する。
【背景技術】
【０００２】
近年、ＩＣ（Integrated Circuit）チップを内蔵したＩＣカードなどの携帯可能電子装置が広く使用されている。従来の携帯可能電子装置では、例えば、ＳＴＯＲＥ  ＤＡＴＡコマンドなどの書き込み要求のコマンドを用いて、ＩＣチップ内に書き込む発行処理が実行される。しかしながら、従来の携帯可能電子装置では、書き込み要求のコマンドにより発行処理が実行されている途中で、例えば、接触不良などが発生して発行処理が中断されると、途中から発行処理を再開することが困難であり、携帯可能電子装置を廃棄する場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−７２９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、発行処理が途中中断された場合に、発行処理を再開することができる携帯可能電子装置、ＩＣカード、及び発行装置を提供することである。
【課題を解決するための手段】
【０００５】
実施形態の携帯可能電子装置は、データ記憶部と、最終データ情報記憶部と、完了情報記憶部と、処理部とを持つ。データ記憶部は、データを記憶する。最終データ情報記憶部は、外部装置から受信したデータと、前記データを識別するデータ識別情報とを含んで、前記データ記憶部に書き込むよう要求する前記外部装置からのデータ書き込み要求によって、前記データを前記データ記憶部に記憶させる書き込み処理が、最後に正常に実行された前記データ識別情報を記憶する。完了情報記憶部は、前記書き込み要求によって、アプリケーションに対応したデータを前記データ記憶部に記憶させる発行処理が完了したか否かを示す完了情報を記憶する。処理部は、前記完了情報記憶部が記憶する前記完了情報が、前記発行処理が完了していないことを示す場合に、前記最終データ情報記憶部が記憶する前記データ識別情報を前記外部装置に送信する処理を行う。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のＩＣカードの一例を示す外観図。
【図２】第１の実施形態のＩＣカードのハードウェア構成例を示す図。
【図３】第１の実施形態のＩＣカードの機能構成例を示すブロック図。
【図４】第１の実施形態のＳＴＯＲＥ  ＤＡＴＡコマンドのデータ構成例を示す図。
【図５】第１の実施形態のＳＥＬＥＣＴコマンドのデータ構成例を示す図。
【図６】第１の実施形態のＳＥＬＥＣＴコマンドのレスポンスのデータ構成例を示す図。
【図７】第１の実施形態のＩＣカードのＳＴＯＲＥ  ＤＡＴＡコマンド処理の一例を示すフローチャート。
【図８】第１の実施形態のＩＣカードのＳＥＬＥＣＴコマンド処理の一例を示すフローチャート。
【図９】第１の実施形態のＩＣカードの正常終了した場合の発行処理の一例を示す図。
【図１０】第１の実施形態のＩＣカードの異常中断した場合の発行処理、及び発行の再開処理の一例を示す図。
【図１１】第２の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１２】第２の実施形態の最終データ情報記憶部のデータ例を示す図。
【図１３】第２の実施形態の完了情報記憶部のデータ例を示す図。
【図１４】第３の実施形態のＩＣカードの機能構成例を示すブロック図。
【図１５】第３の実施形態のＩＣカードのＳＴＯＲＥ  ＤＡＴＡコマンド処理の一例を示すフローチャート。
【図１６】第４の実施形態のＩＣカード発行システムの構成例を示すブロック図。
【図１７】第４の実施形態の発行装置の動作の一例を示すフローチャート。
【発明を実施するための形態】
【０００７】
以下、実施形態の携帯可能電子装置、ＩＣカード、及び発行装置を、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態のＩＣカード１の一例を示す外観図である。なお、本実施形態では、携帯可能電子装置の一例として、ＩＣカード１について説明する。
図１に示すように、ＩＣカード１は、ＩＣモジュール１０を備える。ＩＣモジュール１０は、ＩＣカード１が接触式ＩＣカードの場合は、コンタクト部３と、ＩＣチップ１００とを備える。ＩＣカード１は、例えば、プラスチックのカード基材ＰＴ（カード本体の一例）に、ＩＣモジュール１０を実装して形成されている。すなわち、ＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴとを備えている。また、ＩＣカード１は、コンタクト部３を介して外部装置２と通信可能である。
【０００９】
ＩＣカード１は、例えば、外部装置２が送信したコマンド（処理要求）を、コンタクト部３を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を外部装置２にコンタクト部３を介して送信する。
ここで、外部装置２は、ＩＣカード１と通信する上位装置であり、例えば、リーダ／ライタ装置や発行装置などである。
【００１０】
ＩＣモジュール１０は、コンタクト部３と、ＩＣチップ１００とを備え、例えば、テープ上にＩＣモジュール１０が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のＩＣモジュール１０をＣＯＴという場合がある。
【００１１】
コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子には、電源電圧、クロック信号、リセット信号などを外部装置２から供給を受ける端子、及び、外部装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）が含まれる。
ＩＣチップ１００は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large Scale Integration）である。
【００１２】
次に、図２を参照して、本実施形態のＩＣカード１のハードウェア構成について説明する。
図２は、本実施形態のＩＣカード１のハードウェア構成例を示す図である。
図２に示すように、ＩＣカード１は、コンタクト部３と、ＩＣチップ１００とを備えたＩＣモジュール１０を備えている。そして、ＩＣチップ１００は、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）４と、ＣＰＵ（Central Processing Unit）５と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７と、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）８とを備えている。
【００１３】
ＵＡＲＴ４は、上述したＳＩＯ端子を介して、外部装置２とシリアルデータ通信を行う。ＵＡＲＴ４は、ＳＩＯ端子を介して受信したシリアルデータ信号をパラレル変換したデータ（例えば、１バイトのデータ）を内部バスＢＳ１に出力する。また、ＵＡＲＴ４は、内部バスＢＳ１を介して取得したデータをシリアル変換して、ＳＩＯ端子を介して外部装置２に出力する。ＵＡＲＴ４は、例えば、ＳＩＯ端子を介してコマンドを外部装置２から受信する。また、ＵＡＲＴ４は、ＳＩＯ端子を介してレスポンスを外部装置２に送信する。
【００１４】
ＣＰＵ５は、ＲＯＭ６又はＥＥＰＲＯＭ８に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ５は、例えば、コンタクト部３を介して、ＵＡＲＴ４が受信したコマンドに応じたコマンド処理を実行する。
【００１５】
ＲＯＭ６は、例えば、マスクＲＯＭなどの不揮発性メモリであり、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
ＲＡＭ７は、例えば、ＳＲＡＭ（Static RAM）などの揮発性メモリであり、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。
【００１６】
ＥＥＰＲＯＭ８は、例えば、電気的に書き換え可能な不揮発性メモリである。ＥＥＰＲＯＭ８は、ＩＣカード１が利用する各種データを記憶する。ＥＥＰＲＯＭ８は、例えば、ＩＣカード１を利用した各種サービス（アプリケーション）に使用される情報を記憶する。
【００１７】
次に、図３を参照して、本実施形態によるＩＣカード１の機能構成例について説明する。
図３は、本実施形態のＩＣカード１の機能構成例を示すブロック図である。
図３に示すように、ＩＣカード１は、通信部４０と、制御部５０と、ＡＰ（アプリケーション）データ記憶部８１と、ファイル管理情報記憶部８２と、最終データ情報記憶部８３と、完了情報記憶部８４とを備える。
ここで、図３に示されるＩＣカード１の各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【００１８】
通信部４０は、例えば、ＵＡＲＴ４と、ＣＰＵ５と、ＲＯＭ６に記憶されているプログラムとにより実現され、コンタクト部３を介して、例えば、外部装置２との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部４０は、所定の処理を要求するコマンド（処理要求）を外部装置２から受信するとともに、コマンドに対するレスポンス（処理応答）を外部装置２に送信する。
【００１９】
ＡＰデータ記憶部８１（データ記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、ＩＣカード１の用途（アプリケーション）に応じた各種データを記憶する。ＡＰデータ記憶部８１は、ＩＣカード１の発行によって、アプリケーションに対応したＤＦ（Dedicated File）と、アプリケーションにおいて利用される各種データ及び内部制御用のデータを記憶するＥＦ（Elementary File）とが構築（確保）される。ＡＰデータ記憶部８１の各ＥＦには、例えば、発行工程において、ＳＴＯＲＥ  ＤＡＴＡコマンドによって、データが記憶される。
【００２０】
ファイル管理情報記憶部８２は、例えば、ＥＥＰＲＯＭ８により構成され、データを記憶する各種ファイルを管理する管理情報（例えば、ディレクトリ情報）を記憶する。ファイル管理情報記憶部８２は、例えば、ファイル及び各種データの識別情報（例えば、ファイルＩＤ、ＤＧＩなど）と、ＥＥＰＲＯＭ８の物理アドレスとを対応付けて記憶する。ここで、「ＤＧＩ」（Data Grouping Identifier）とは、データを識別するデータ識別情報の一例である。
【００２１】
最終データ情報記憶部８３は、例えば、ＥＥＰＲＯＭ８により構成され、発行処理において、外部装置２から受信した書き込みコマンド（書き込み要求）によって、データをＡＰデータ記憶部８１に記憶させる書き込み処理が、最後に正常に実行されたＤＧＩ（データ識別情報）を記憶する。なお、ここでの書き込みコマンドは、例えば、ＳＴＯＲＥ  ＤＡＴＡコマンドであり、ＳＴＯＲＥ  ＤＡＴＡコマンドの詳細については後述する。
【００２２】
完了情報記憶部８４は、例えば、ＥＥＰＲＯＭ８により構成され、書き込みコマンドによって発行処理が完了したか否かを示す完了情報を記憶する。ここで、完了情報は、例えば、フラグ情報であり、発行処理が完了した場合に“１”が記憶され、発行処理が完了しでいない場合に“０”が記憶される。
【００２３】
制御部５０は、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１を統括的に制御する。制御部５０は、ファイル管理部５１と、コマンド処理部５２とを備える。
【００２４】
ファイル管理部５１は、ファイル管理情報記憶部８２が記憶する管理情報（例えば、ディレクトリ情報）に基づいて、ＡＰデータ記憶部８１内のファイルを管理する。ファイル管理部５１は、例えば、ファイルへのアクセス処理を実行する際に、ファイル管理情報記憶部８２が記憶する管理情報を検索して、ファイルの記憶場所（例えば、ＥＥＰＲＯＭ８の物理アドレス）を特定する。
【００２５】
コマンド処理部５２（処理部の一例）は、外部装置２からＩＣカード１に送信されたコマンド（処理要求）に応じて、各種コマンドの処理（コマンド処理）を実行する。コマンド処理部５２は、例えば、通信部４０を介して外部装置２から受信したコマンドに応じて、コマンド処理を実行する。また、コマンド処理部５２は、コマンド処理の結果であるレスポンスを、通信部４０を介して外部装置２に送信する。
【００２６】
コマンド処理部５２は、例えば、発行用の書き込みコマンドであるＳＴＯＲＥ  ＤＡＴＡコマンドのコマンド処理、アプリケーション（ＤＦ：Dedicated File）、ＥＦ（Elementary File）等の選択をするコマンドであるＳＥＬＥＣＴコマンドのコマンド処理などを実行する。
ここで、まず、図４を参照して、ＳＴＯＲＥ  ＤＡＴＡコマンドのデータ構成例について説明する。
【００２７】
図４は、本実施形態のＩＣカード１のＳＴＯＲＥ  ＤＡＴＡコマンドのデータ構成例を示す図である。
この図に示すように、ＳＴＯＲＥ  ＤＡＴＡコマンド（書き込み要求の一例）は、コマンドヘッダと、コマンドボディとを有している。コマンドヘッダは、「ＣＬＡ」（クラスバイト）、「ＩＮＳ」（命令バイト）、「Ｐ１」（パラメータ１）、及び「Ｐ２」（パラメータ２）を有している。なお、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、及び「Ｐ２」のぞれぞれは、１バイトで構成されている。また、コマンドボディは、「Ｌｃ」（データ長）、及び「ＤＡＴＡ」（データ）を有している。なお、「Ｌｃ」は、１バイトで構成され、「ＤＡＴＡ」は、「Ｌｃ」によって指定されたデータ長（例えば、ｍバイト）のデータである。
【００２８】
また、ＳＴＯＲＥ  ＤＡＴＡコマンドの「ＤＡＴＡ」は、「ＤＧＩ」と、「ＤＧＩ長」と、「ＤＧＩ  ＤＡＴＡ」とを含んでいる。なお、「ＤＧＩ」は、２バイトで構成され、「ＤＧＩ長」は、１バイトで構成される。また、「ＤＧＩ  ＤＡＴＡ」は、「ＤＧＩ長」によって指定されたデータ長（例えば、ｎバイト）のデータである。
【００２９】
例えば、図４に示す例では、ＳＴＯＲＥ  ＤＡＴＡコマンドは、「ＤＧＩ」が“０ｘ０１０１”のデータ領域（ＥＦ）に対して、「ＤＧＩ  ＤＡＴＡ」が“０ｘ１１２２３３４４５５”の５バイトのデータを記憶させる（書き込む）処理要求をＩＣカード１に行うことを示している。このように、ＳＴＯＲＥ  ＤＡＴＡコマンドには、ＡＰデータ記憶部８１に記憶させるデータ（「ＤＧＩ  ＤＡＴＡ」）と、データ識別情報（「ＤＧＩ」）とを含んでいる。
【００３０】
なお、ＳＴＯＲＥ  ＤＡＴＡコマンドは、上述した「Ｐ２」の最上位ビットであるｂ８（ビット８）により、最終のＳＴＯＲＥ  ＤＡＴＡコマンド（以下、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドという）であるか否かを指定可能である。例えば、「Ｐ２」のｂ８が“１”である場合に、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドであることを示し、「Ｐ２」のｂ８が“０”である場合に、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドでないことを示す。
【００３１】
図３の説明に戻り、コマンド処理部５２は、通信部４０を介して、ＳＴＯＲＥ  ＤＡＴＡコマンドを受信した場合に、ＡＰデータ記憶部８１のＤＧＩに対応するＥＦに、データ（ＤＧＩ  ＤＡＴＡ）を記憶させる。また、コマンド処理部５２は、受信したＳＴＯＲＥ  ＤＡＴＡコマンドが、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドでない（Ｐ２のｂ８が“０”である）場合に、最終データ情報記憶部８３に、ＳＴＯＲＥ  ＤＡＴＡコマンドに含まれるＤＧＩをデータ識別情報として記憶させる。すなわち、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドに、データが発行処理の最後のデータであることを示す情報が含まれていない場合に、最終データ情報記憶部８３に、ＳＴＯＲＥ  ＤＡＴＡコマンドに含まれるＤＧＩを記憶させる。
【００３２】
また、コマンド処理部５２は、受信したＳＴＯＲＥ  ＤＡＴＡコマンドが、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドである（Ｐ２のｂ８が“１”である）場合に、完了情報記憶部８４に、“１”を記憶させる。すなわち、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドに、データが発行処理の最後のデータであることを示す情報が含まれている場合に、発行処理が完了したことを示す情報（“１”）を、完了情報として、完了情報記憶部８４に記憶させる。
なお、コマンド処理部５２は、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドである場合に、最終データ情報記憶部８３に記憶されているＤＧＩを削除するようにしてもよい。
【００３３】
次に、図５及び図６を参照して、ＳＥＬＥＣＴコマンドのデータ構成例について説明する。
図５は、本実施形態のＩＣカード１のＳＥＬＥＣＴコマンドのデータ構成例を示す図である。
この図に示すように、ＳＥＬＥＣＴコマンド（選択要求の一例）は、コマンドヘッダと、コマンドボディとを有している。コマンドヘッダは、「ＣＬＡ」、「ＩＮＳ」、「Ｐ１」、及び「Ｐ２」を有している。また、コマンドボディは、「Ｌｃ」（送信データのデータ長）、「ＤＡＴＡ」（送信データ）、及び「Ｌｅ」（受信データのデータ長）を有している。なお、「Ｌｃ」及び「Ｌｅ」は、１バイトで構成され、「ＤＡＴＡ」は、「Ｌｃ」によって指定されたデータ長（例えば、ｍバイト）のデータである。
【００３４】
また、図６は、本実施形態のＩＣカード１のＳＥＬＥＣＴコマンドのレスポンスのデータ構成例を示す図である。
この図に示すように、ＳＥＬＥＣＴコマンドのレスポンスは、「ＦＣＩ」（File Control Information：ファイル制御情報）と、「Ｓｔａｔｕｓ  Ｗｏｒｄ」（ステータス情報）とを有している。なお、「Ｓｔａｔｕｓ  Ｗｏｒｄ」は、２バイトで構成され、「ＦＣＩ」は、上述した「Ｌｅ」により指定されたデータ長である。
【００３５】
また、「ＦＣＩ」は、階層構造を持ったＴＬＶ形式のデータである。ここで、ＴＬＶ形式とは、タグ（Tag）、データ長（Length）、及びデータ部（Value）を並べたデータ形式のことである。
【００３６】
「ＦＣＩ」は、タグが“０ｘ６Ｆ”のＴＬＶ形式のデータであり、「ＦＣＩ」のデータ部の「ＦＣＩ  Ｔｅｍｐｌａｔｅ」は、下位階層として、タグが“０ｘ８４”及び“０ｘＡ５”のＴＬＶ形式のデータを有している。また、タグが“０ｘＡ５”のデータ部の「ＦＣＩ  Ｐｒｏｐｒｉｅｔａｒｙ  Ｔｅｍｐｌａｔｅ」は、さらに下位階層として、タグが“０ｘ５０”及び“０ｘＢＦ０Ｃ”のＴＬＶ形式のデータを有している。
【００３７】
また、タグが“０ｘＢＦ０Ｃ”のデータ部の「ＦＣＩ  Ｉｓｓｕｅｒ  Ｄｉｓｃｒｅｔｉｏｎａｒｙ  ＤＡＴＡ」は、さらに下位階層として、タグが“０ｘＤＦ０１”のＴＬＶ形式のデータを有している。本実施形態では、ＳＥＬＥＣＴコマンドのレスポンスには、この“０ｘＤＦ０１”のＴＬＶ形式データＤ１に、ＳＴＯＲＥ  ＤＡＴＡコマンドにより、最後に正常終了したＤＧＩ（最終データ情報記憶部８３に記憶されているＤＧＩ）が含まれる。
なお、発行処理が完了している場合（ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドが実行された場合）には、ＳＥＬＥＣＴコマンドのレスポンスには、この“０ｘＤＦ０１”のＴＬＶ形式データＤ１は含まれない。
【００３８】
再び、図３の説明に戻り、コマンド処理部５２は、通信部４０を介して、アプリケーションを選択するＳＥＬＥＣＴコマンドを受信した場合に、ＳＥＬＥＣＴコマンドに含まれるＡＰ識別情報に対応するアプリケーション（ＤＦ）を選択する。ここで、ＡＰ識別情報は、アプリケーションを識別する識別情報であり、例えば、ＤＦ名、ファイルＩＤなどである。
【００３９】
また、コマンド処理部５２は、ＳＥＬＥＣＴコマンドを受信した場合に、完了情報記憶部８４が記憶する完了情報が、発行処理が完了していないことを示す場合に、最終データ情報記憶部８３が記憶するＤＧＩを外部装置２に送信する処理を行う。コマンド処理部５２は、例えば、完了情報が“０”である場合に、最終データ情報記憶部８３が記憶するＤＧＩを、上述した“０ｘＤＦ０１”のＴＬＶ形式データＤ１として含むレスポンスを、通信部４０を介して、外部装置２に送信する。
【００４０】
また、コマンド処理部５２は、アプリケーションを選択するＳＥＬＥＣＴコマンドに応じて、例えば、完了情報が“１”である場合に、上述した“０ｘＤＦ０１”のＴＬＶ形式データＤ１を含まないレスポンスを、通信部４０を介して、外部装置２に送信する。
【００４１】
次に、図面を参照して、本実施形態のＩＣカード１の動作について説明する。
図７は、本実施形態のＩＣカード１のＳＴＯＲＥ  ＤＡＴＡコマンド処理の一例を示すフローチャートである。
【００４２】
図７に示すように、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、ＩＣカード１は、コマンドを受信したか否かを判定する（ステップＳ１０１）。すなわち、ＩＣカード１の通信部４０は、ＵＡＲＴ４を介して、外部装置２からコマンドを受信したか否かを判定する。通信部４０は、コマンドを受信した場合（ステップＳ１０１：ＹＥＳ）に、処理をステップＳ１０２に進める。また、通信部４０は、コマンドを受信していない場合（ステップＳ１０１：ＮＯ）に、処理をステップＳ１０１に戻し、ステップＳ１０１の処理を繰り返す。
【００４３】
ステップＳ１０２において、ＩＣカード１のコマンド処理部５２は、コマンドを取得する。すなわち、コマンド処理部５２は、通信部４０からコマンドを取得する。
次に、コマンド処理部５２は、受信したコマンドがＳＴＯＲＥ  ＤＡＴＡコマンドであるか否かを判定する（ステップＳ１０３）。コマンド処理部５２は、取得したコマンドのうちの「ＣＬＡ」及び「ＩＮＳ」に基づいて、受信したコマンドがＳＴＯＲＥ  ＤＡＴＡコマンドであるか否かを判定する。コマンド処理部５２は、受信したコマンドがＳＴＯＲＥ  ＤＡＴＡコマンドである場合（ステップＳ１０３：ＹＥＳ）に、処理をステップＳ１０４に進める。また、コマンド処理部５２は、受信したコマンドがＳＴＯＲＥ  ＤＡＴＡコマンドでない場合（ステップＳ１０３：ＮＯ）に、処理をステップＳ１０９に進める。
【００４４】
ステップＳ１０４において、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドに含まれる「ＤＧＩ  ＤＡＴＡ」（図４参照）をＡＰデータ記憶部８１に書き込む。コマンド処理部５２は、ファイル管理情報記憶部８２を参照し、取得したＤＧＩに対応するＥＦのＥＥＰＲＯＭ８の先頭アドレスをファイル管理部５１から取得する。コマンド処理部５２は、ＥＥＰＲＯＭ８の先頭アドレスから順に、受信したデータ（「ＤＧＩ  ＤＡＴＡ」）を記憶させる。
【００４５】
次に、コマンド処理部５２は、受信したコマンドがＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドであるか否かを判定する（ステップＳ１０５）。コマンド処理部５２は、受信したＳＴＯＲＥ  ＤＡＴＡコマンドのコマンドヘッドのＰ２のｂ８が“１”であるか否かを判定する。コマンド処理部５２は、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドである（Ｐ２のｂ８が“１”である）場合（ステップＳ１０５：ＹＥＳ）に、処理をステップＳ１０８に進める。また、コマンド処理部５２は、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドでなお（Ｐ２のｂ８が“０”である）場合（ステップＳ１０５：ＮＯ）に、処理をステップＳ１０６に進める。
【００４６】
ステップＳ１０６において、コマンド処理部５２は、受信ＤＧＩを最終データ情報記憶部８３に記憶させる。すなわち、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドに含まれるＤＧＩを、ＳＴＯＲＥ  ＤＡＴＡコマンドが最後に正常に実行されたデータ識別情報として、最終データ情報記憶部８３に記憶させる。
【００４７】
次に、ＩＣカード１は、レスポンスを外部装置２に送信する（ステップＳ１０７）。すなわち、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドが正常終了したことを示す情報（「Ｓｔａｔｕｓ  Ｗｏｒｄ」）を含むレスポンスを生成し、当該レスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ１０７の処理後に、コマンド処理部５２は、処理をステップＳ１０１に戻す。
【００４８】
また、ステップＳ１０８において、コマンド処理部５２は、完了情報記憶部８４に発行処理が完了したことを示す情報を記憶させる。すなわち、コマンド処理部５２は、完了情報記憶部８４に、完了情報として、“１”を記憶させる。ステップＳ１０８の処理後に、コマンド処理部５２は、処理をステップＳ１０７に進め、レスポンスを外部装置２に送信する。
【００４９】
また、ステップＳ１０９おいて、コマンド処理部５２は、他のコマンド処理を実行する。ここで、他のコマンド処理とは、ＳＴＯＲＥ  ＤＡＴＡコマンド以外の「ＣＬＡ」及び「ＩＮＳ」に対応するコマンドの処理を示す。
【００５０】
次に、ＩＣカード１は、レスポンスを外部装置２に送信する（ステップＳ１１０）。すなわち、コマンド処理部５２は、コマンド処理の結果を含むレスポンスを生成し、当該レスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ１１０の処理後に、コマンド処理部５２は、処理をステップＳ１０１に戻す。
【００５１】
次に、図８を参照して、本実施形態のＩＣカード１のＳＥＬＥＣＴコマンド処理について説明する。
図８は、本実施形態のＩＣカード１のＳＥＬＥＣＴコマンド処理の一例を示すフローチャートである。なお、ここでのＳＥＬＥＣＴコマンドのコマンド処理は、アプリケーション（ＤＦ）を選択する場合について説明する。
【００５２】
図８に示すように、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、ＩＣカード１は、コマンドを受信したか否かを判定する（ステップＳ２０１）。ＩＣカード１の通信部４０は、コマンドを受信した場合（ステップＳ２０１：ＹＥＳ）に、処理をステップＳ２０２に進める。また、通信部４０は、コマンドを受信していない場合（ステップＳ２０１：ＮＯ）に、処理をステップＳ２０１に戻し、ステップＳ２０１の処理を繰り返す。
【００５３】
ステップＳ２０２において、ＩＣカード１のコマンド処理部５２は、コマンドを取得する。
次に、コマンド処理部５２は、受信したコマンドがＳＥＬＥＣＴコマンドであるか否かを判定する（ステップＳ２０３）。コマンド処理部５２は、取得したコマンドのうちの「ＣＬＡ」及び「ＩＮＳ」に基づいて、受信したコマンドがＳＥＬＥＣＴコマンドであるか否かを判定する。コマンド処理部５２は、受信したコマンドがＳＥＬＥＣＴコマンドである場合（ステップＳ２０３：ＹＥＳ）に、処理をステップＳ２０４に進める。また、コマンド処理部５２は、受信したコマンドがＳＥＬＥＣＴコマンドでない場合（ステップＳ２０３：ＮＯ）に、処理をステップＳ２０８に進める。
【００５４】
ステップＳ２０４において、コマンド処理部５２は、アプリケーション（ＤＦ）を選択する。コマンド処理部５２は、ＳＥＬＥＣＴコマンドに含まれるＤＦのファイルＩＤ又はＤＦ名に対応するアプリケーション（ＤＦ）を現在の選択ファイルとして選択する。
【００５５】
次に、コマンド処理部５２は、発行処理が完了しているか否かを判定する（ステップＳ２０５）。コマンド処理部５２は、例えば、完了情報記憶部８４が記憶する完了情報を参照して、当該完了情報が“１”であるか否かを判定することにより、発行処理が完了しているか否かを判定する。コマンド処理部５２は、発行処理が完了している（完了情報が“１”である）場合（ステップＳ２０５：ＹＥＳ）に、処理をステップＳ２０７に進める。また、コマンド処理部５２は、発行処理が完了していない（完了情報が“０”である）場合（ステップＳ２０５：ＮＯ）に、処理をステップＳ２０６に進める。
【００５６】
ステップＳ２０６において、コマンド処理部５２は、最後に正常終了したＤＧＩを含むＦＣＩをレスポンスで送信する。コマンド処理部５２は、最終データ情報記憶部８３が記憶しているＤＧＩを、最後に正常終了したＤＧＩとして取得する。コマンド処理部５２は、上述した図６に示すように、“０ｘＤＦ０１”のＴＬＶ形式データＤ１に、最後に正常終了したＤＧＩを含むレスポンス（ＦＣＩ）を生成し、当該レスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ２０６の処理後に、コマンド処理部５２は、処理をステップＳ２０１に戻す。
【００５７】
また、ステップＳ２０７において、コマンド処理部５２は、通常のＦＣＩをレスポンスで送信する。すなわち、コマンド処理部５２は、上述した図６の“０ｘＤＦ０１”のＴＬＶ形式データＤ１を含まないレスポンス（ＦＣＩ）を生成し、当該レスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ２０７の処理後に、コマンド処理部５２は、処理をステップＳ２０１に戻す。
【００５８】
また、ステップＳ２０８おいて、コマンド処理部５２は、他のコマンド処理を実行する。ここで、他のコマンド処理とは、ＳＥＬＥＣＴコマンド以外の「ＣＬＡ」及び「ＩＮＳ」に対応するコマンドの処理を示す。
【００５９】
次に、ＩＣカード１は、レスポンスを外部装置２に送信する（ステップＳ２０９）。すなわち、コマンド処理部５２は、コマンド処理の結果を含むレスポンスを生成し、当該レスポンスを、通信部４０を介して外部装置２に送信する。ステップＳ２０９の処理後に、コマンド処理部５２は、処理をステップＳ２０１に戻す。
【００６０】
次に、図９及び図１０を参照して、本実施形態のＩＣカード１の発行処理について説明する。まず、図９を参照して、正常終了した場合の発行処理について説明する。
図９は、本実施形態のＩＣカード１の正常終了した場合の発行処理の一例を示す図である。
【００６１】
図９に示すように、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、外部装置２が、まず、ＤＦを選択するＳＥＬＥＣＴコマンドをＩＣカード１に送信する（ステップＳ３０１）。
ＳＥＬＥＣＴコマンドに応じて、ＩＣカード１は、指定されたＤＦを発行処理するＤＦに選択し、レスポンスを外部装置２に送信する（ステップＳ３０２）。
【００６２】
次に、外部装置２は、ＤＧＩ＿１にデータを書き込むＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿１）を、ＩＣカード１に送信する（ステップＳ３０３）。このＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿１）に応じて、ＩＣカード１のコマンド処理部５２は、ＡＰデータ記憶部８１のＤＧＩ＿１に対応するＥＦに、受信したデータを記憶させる。また、コマンド処理部５２は、最終データ情報記憶部８３に、受信したＤＧＩ＿１を記憶させる。
次に、ＩＣカード１は、ＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿１）が正常終了したことを示すレスポンスを、外部装置２に送信する（ステップＳ３０４）。
【００６３】
次に、外部装置２は、次にＤＧＩ＿２にデータを書き込むＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿２）を、ＩＣカード１に送信し（ステップＳ３０５）、ＩＣカード１は、ＤＧＩ＿２についてステップＳ３０３と同様の処理を行って、レスポンスを、外部装置２に送信する（ステップＳ３０６）。
【００６４】
このような、ＳＴＯＲＥ  ＤＡＴＡコマンドによる指定したＤＧＩにデータを書き込む処理が、繰り返される。
次に、外部装置２は、次にＤＧＩ＿Ｎにデータを書き込むＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿Ｎ）を、ＩＣカード１に送信する（ステップＳ３０７）。このＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿Ｎ）に応じて、ＩＣカード１のコマンド処理部５２は、ＡＰデータ記憶部８１のＤＧＩ＿Ｎに対応するＥＦに、受信したデータを記憶させる。また、コマンド処理部５２は、完了情報記憶部８４に、“１”を完了情報として記憶させる。
【００６５】
次に、ＩＣカード１は、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿Ｎ）が正常終了したことを示すレスポンスを、外部装置２に送信する（ステップＳ３０８）。これにより、ＩＣカード１に対するＤＧＩ＿１〜ＤＧＩ＿Ｎに発行情報を書き込む発行処理が完了する。
【００６６】
次に、外部装置２が、ＤＦを選択するＳＥＬＥＣＴコマンドをＩＣカード１に送信する（ステップＳ３０９）と、ＩＣカード１は、通常のＦＣＩ（最後に終了したＤＧＩを含まないＦＣＩ）を含むレスポンスを、外部装置２に送信する（ステップＳ３１０）。この場合、ＩＣカード１のコマンド処理部５２は、完了情報記憶部８４の完了情報が“１”であるため、発行処理が完了していると判定し、通常のＦＣＩを含むレスポンスを外部装置２に送信する。
【００６７】
次に、図１０を参照して、異常中断した場合の発行処理、及び発行の再開処理について説明する。
図１０は、本実施形態のＩＣカード１の異常中断した場合の発行処理、及び発行の再開処理の一例を示す図である。
【００６８】
図１０において、ステップＳ４０１からステップＳ４０６までの処理は、上述した図９の示すステップＳ３０１からステップＳ３０６までの処理と同様であるため、ここではその説明を省略する。
次に、外部装置２は、次にＤＧＩ＿３にデータを書き込むＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿３）を、ＩＣカード１に送信するが、通信エラーが発生したものとする（ステップＳ４０７）。この例では、通信エラーにより、ＩＣカード１の発行処理が、異常により中断したものとする。
【００６９】
次に、外部装置２は、発行処理を再度実行する場合に、まず、ＤＦを選択するＳＥＬＥＣＴコマンドをＩＣカード１に送信する（ステップＳ４０８）と、ＩＣカード１は、レスポンス（ＤＧＩ＿２を含むＦＣＩ）を、外部装置２に送信する（ステップＳ４０９）。この場合、ＩＣカード１のコマンド処理部５２は、完了情報記憶部８４の完了情報が“０”であるため、発行処理が完了していないと判定し、最終データ情報記憶部８３が記憶するＤＧＩ＿２を含むレスポンスを外部装置２に送信する。
【００７０】
次に、外部装置２は、レスポンスのＦＣＩに含まれるＤＧＩ＿２の次のＤＧＩ＿３から、ＳＴＯＲＥ  ＤＡＴＡコマンドの送信を再開する。すなわち、外部装置２は、ＤＧＩ＿３にデータを書き込むＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿３）を、ＩＣカード１に送信し（ステップＳ４１０）、ＩＣカード１は、レスポンスを、外部装置２に送信する（ステップＳ４１１）。
【００７１】
このような、ＳＴＯＲＥ  ＤＡＴＡコマンドによる指定したＤＧＩにデータを書き込む処理が、ＤＧＩ＿Ｎまで繰り返される。最後に、外部装置２は、ＤＧＩ＿Ｎにデータを書き込むＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンド（ＤＧＩ＿Ｎ）を、ＩＣカード１に送信し（ステップＳ４１２）、ＩＣカード１は、レスポンスを、外部装置２に送信する（ステップＳ４１３）。
このように、本実施形態のＩＣカード１は、発行処理が異常などにより、途中中断された場合でも、発行処理を途中から再開することができる。
【００７２】
以上説明したように、本実施形態によるＩＣカード１は、ＩＣカード１（携帯可能電子装置）は、ＡＰデータ記憶部８１（データ記憶部）と、最終データ情報記憶部８３と、完了情報記憶部８４と、コマンド処理部５２（処理部）とを備える。ＡＰデータ記憶部８１は、データを記憶する。最終データ情報記憶部８３は、外部装置２から受信したＡＰデータ記憶部８１に記憶させるデータと、データを識別するＤＧＩ（データ識別情報）とを含むＳＴＯＲＥ  ＤＡＴＡコマンド（書き込み要求）によって、データをＡＰデータ記憶部８１に記憶させる書き込み処理が、最後に正常に実行されたＤＧＩを記憶する。ここで、ＳＴＯＲＥ  ＤＡＴＡコマンドは、外部装置２から受信したデータと、データを識別するＤＧＩとを含んで、ＡＰデータ記憶部８１に書き込むよう要求する外部装置２からのデータ書き込み要求である。完了情報記憶部８４は、ＳＴＯＲＥ  ＤＡＴＡコマンドによって、アプリケーションに対応したデータをＡＰデータ記憶部８１に記憶させる発行処理が完了したか否かを示す完了情報を記憶する。コマンド処理部５２（処理部）は、完了情報記憶部８４が記憶する完了情報が、発行処理が完了していないことを示す場合（例えば、完了情報が“１”の場合）に、最終データ情報記憶部８３が記憶するＤＧＩを外部装置２に送信する処理を行う。
【００７３】
これにより、本実施形態によるＩＣカード１は、例えば、発行処理が途中中断された場合に、書き込み処理が最後に正常に実行されたＤＧＩを知ることができる。そのため、本実施形態によるＩＣカード１は、例えば、発行処理が途中中断された場合に、発行処理を再開することができる。また、本実施形態によるＩＣカード１では、発行処理に失敗したカードに再発行処理を行う場合に、既に成功した発行処理を省略し、失敗した処理以降の発行処理を行うことができるため、再発行処理の処理時間を低減することができる。
【００７４】
また、本実施形態では、コマンド処理部５２は、外部装置２から受信したアプリケーションを選択するＳＥＬＥＣＴコマンド（選択要求）に応じて、完了情報が、発行処理が完了していないことを示す場合（例えば、完了情報が“０”の場合）に、最終データ情報記憶部８３が記憶するＤＧＩを含むレスポンス（応答）を外部装置２に送信する処理を行う。
【００７５】
これにより、本実施形態によるＩＣカード１は、ＳＥＬＥＣＴコマンド（選択要求）により、書き込み処理が最後に正常に実行されたＤＧＩを知ることができるため、最後に正常に実行されたＤＧＩを取得するために、新たに専用のコマンドを追加必要がない。また、本実施形態によるＩＣカード１は、ＳＥＬＥＣＴコマンドという簡易は手法で、最後に正常に実行されたＤＧＩを取得することができ、利便性を向上させることができる。
【００７６】
また、本実施形態では、コマンド処理部５２は、完了情報が、発行処理が完了している場合に、最終データ情報記憶部８３が記憶するＤＧＩを含めない応答を外部装置２に送信する処理を行う。
これにより、本実施形態によるＩＣカード１は、発行処理が正常に完了した後に、従来のＳＥＬＥＣＴコマンドとして使用可能であるため、既存のシステムに影響を与えることなく、発行処理が途中中断された場合に、発行処理を再開することができる。
【００７７】
また、本実施形態では、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドに、データが発行処理の最後のデータであることを示す情報が含まれている場合（ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドである場合）に、発行処理が完了したことを示す情報を、完了情報として、完了情報記憶部８４に記憶させる。また、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドに、データが発行処理の最後のデータであることを示す情報が含まれていない場合に、最終データ情報記憶部８３に、ＳＴＯＲＥ  ＤＡＴＡコマンドに含まれるＤＧＩを記憶させる。
【００７８】
これにより、本実施形態によるＩＣカード１は、ＳＴＯＲＥ  ＤＡＴＡコマンドを用いる簡易な手法により、最後に正常に実行されたＤＧＩを保持するとともに、簡易な手法により、発行処理が完了したか否かを判定することができる。
【００７９】
また、本実施形態では、コマンド処理部５２は、ＳＴＯＲＥ  ＤＡＴＡコマンドに、データが発行処理の最後のデータであることを示す情報が含まれている場合に、最終データ情報記憶部８３に記憶されているＤＧＩを削除する。なお、コマンド処理部５２は、最終データ情報記憶部８３のデータ領域を削除してもよい。
これにより、本実施形態によるＩＣカード１は、発行処理完了後に、不要になった最終データ情報記憶部８３のデータ又はデータ領域を削除するため、ＥＥＰＲＯＭ８のメモリ領域をより有効に利用することができる。
【００８０】
（第２の実施形態）
次に、図面を参照して、第２の実施形態のＩＣカード１ａについて説明する。
第２の実施形態では、複数のアプリケーション（ＤＦ）について発行処理を行うことを想定し、最後に正常に実行されたＤＧＩ及び完了情報をアプリケーションごとに保持する場合の一例について説明する。
【００８１】
図１１は、第２の実施形態のＩＣカード１ａの機能構成例を示すブロック図である。
図１１に示すように、ＩＣカード１ａは、通信部４０と、制御部５０ａと、ＡＰデータ記憶部８１と、ファイル管理情報記憶部８２と、最終データ情報記憶部８３ａと、完了情報記憶部８４ａとを備える。
なお、本実施形態のＩＣカード１ａの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図１１において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【００８２】
最終データ情報記憶部８３ａは、例えば、ＥＥＰＲＯＭ８により構成され、アプリケーションごとに、最後に正常に実行されたＤＧＩ（データ識別情報）を記憶する。ここで、図１２を参照して、本実施形態の最終データ情報記憶部８３ａのデータ例について説明する。
【００８３】
図１２は、本実施形態の最終データ情報記憶部８３ａのデータ例を示す図である。
図１２に示すように、最終データ情報記憶部８３ａは、「ＡＰ識別情報」と、「最終データ情報」とを対応付けて記憶する。ここで、「ＡＰ識別情報」は、アプリケーションを識別する識別情報であり、例えば、ＤＦ名やＤＦのファイルＩＤなどである。また、「最終データ情報」は、上述した書き込み処理が、最後に正常に実行されたＤＧＩを示している。
図１２に示す例では、「ＡＰ識別情報」が“ＸＸＸＸＸＸＸＸ”に対応する「最終データ情報」が“０ｘ８０ＸＸ”であることを示している。
【００８４】
図１１の説明に戻り、完了情報記憶部８４ａは、例えば、ＥＥＰＲＯＭ８により構成され、アプリケーションごとに、完了情報を記憶する。ここで、図１３を参照して、本実施形態の完了情報記憶部８４ａのデータ例について説明する。
【００８５】
図１３は、本実施形態の完了情報記憶部８４ａのデータ例を示す図である。
図１３に示すように、完了情報記憶部８４ａは、「ＡＰ識別情報」と、「完了情報」とを対応付けて記憶する。ここで、「ＡＰ識別情報」は、図１２と同様であり、アプリケーションを識別する識別情報である。また、「完了情報」は、上述した書き込みコマンドによって発行処理が完了したか否かを示す情報である。
【００８６】
図１３に示す例では、「ＡＰ識別情報」が“ＸＸＸＸＸＸＸＸ”に対応する「完了情報」が“１”であり、発行処理が完了していることを示している。また、「ＡＰ識別情報」が“ＹＹＹＹＹＹＹＹ”に対応する「完了情報」が“０”であり、発行処理が完了していないことを示している。
【００８７】
再び、図１１の説明に戻り、制御部５０ａは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ａを統括的に制御する。制御部５０ａは、ファイル管理部５１と、コマンド処理部５２ａとを備える。
【００８８】
コマンド処理部５２ａは、基本的な機能は、第１の実施形態のコマンド処理部５２と同様である。コマンド処理部５２ａは、ＳＴＯＲＥ  ＤＡＴＡコマンド及びＳＥＬＥＣＴコマンドの最終データ情報記憶部８３ａ及び完了情報記憶部８４ａに関する処理が、アプリケーションごとに実行する点を除いて、第１の実施形態と同様である。
【００８９】
次に、本実施形態のＩＣカード１ａの動作について説明する。本実施形態のＩＣカード１ａは、最終データ情報記憶部８３ａ及び完了情報記憶部８４ａに関する処理を、アプリケーションごとに実行する点を除いて、図７及び図８に示す処理と同様である。
【００９０】
本実施形態では、図７のステップＳ１０６において、コマンド処理部５２ａは、ＡＰ識別情報と受信ＤＧＩ（最終データ情報）とを対応付けて、最終データ情報記憶部８３ａに記憶させる。また、図７のステップＳ１０７において、コマンド処理部５２ａは、ＡＰ識別情報と完了情報とを対応付けて完了情報記憶部８４ａに記憶させる。
【００９１】
また、本実施形態では、図８のステップＳ２０６において、コマンド処理部５２ａは、ＳＥＬＥＣＴコマンドで選択されたアプリケーションのＡＰ識別情報に対応する最終データ情報を読み出して、ＦＣＩに含めてレスポンスで送信する。
【００９２】
以上説明したように、本実施形態では、最終データ情報記憶部８３ａは、アプリケーションを識別するＡＰ識別情報と、アプリケーションの発行処理において、最後に正常に実行されたＤＧＩ（データ識別情報）とを対応付けて記憶する。また、コマンド処理部５２ａは、アプリケーションを選択するＳＥＬＥＣＴコマンド（選択要求）に応じて、完了情報が、発行処理が完了していないことを示す場合に、ＳＥＬＥＣＴコマンドに含まれるアプリケーション識別情報に対応付けられたＤＧＩ（データ識別情報）を最終データ情報記憶部８３ａから取得し、取得したＤＧＩを含むレスポンス（応答）を外部装置２に送信する処理を行う。
これにより、本実施形態によるＩＣカード１ａは、アプリケーションごとの発行処理が途中中断された場合に、アプリケーションごとに発行処理を再開することができる。
【００９３】
（第３の実施形態）
次に、図面を参照して、第３の実施形態のＩＣカード１ｂについて説明する。
第３の実施形態では、最終データ情報記憶部８３と完了情報記憶部８４とを共通の記憶部にした場合の一例について説明する。
【００９４】
図１４は、第３の実施形態のＩＣカード１ｂの機能構成例を示すブロック図である。
図１４に示すように、ＩＣカード１ｂは、通信部４０と、制御部５０ｂと、ＡＰデータ記憶部８１と、ファイル管理情報記憶部８２と、最終データ情報記憶部８３ｂとを備える。
なお、本実施形態のＩＣカード１ｂの外観図及びハード構成は、図１及び図２に示す第１の実施形態と同様であるのでその説明を省略する。また、図１４において、図３に示す構成と同一の構成については同一の符号を付し、その説明を省略する。
【００９５】
最終データ情報記憶部８３ｂは、例えば、ＥＥＰＲＯＭ８により構成され、最後に正常に実行されたＤＧＩ（データ識別情報）を記憶するとともに、発行処理が完了している場合に、ＤＧＩの代わりに、例えば、“０ｘ００００”などの発行処理が完了していることを示す情報（完了情報）を記憶する。
【００９６】
制御部５０ｂは、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１ｂを統括的に制御する。制御部５０ｂは、ファイル管理部５１と、コマンド処理部５２ｂとを備える。
【００９７】
コマンド処理部５２ｂは、基本的な機能は、第１の実施形態のコマンド処理部５２と同様である。コマンド処理部５２ｂは、ＳＴＯＲＥ  ＤＡＴＡコマンドの処理において、最終データ情報記憶部８３ｂに、最後に正常に実行されたＤＧＩ（データ識別情報）を記憶させるとともに、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドである場合に、最終データ情報記憶部８３ｂに“０ｘ００００”を記憶させる。
【００９８】
また、コマンド処理部５２ｂは、ＳＥＬＥＣＴコマンドの処理において、最終データ情報記憶部８３ｂが記憶する情報が“０ｘ００００”である場合に、発行処理が完了しているものと判定し、最終データ情報記憶部８３ｂが記憶する情報が“０ｘ００００”以外である場合に、当該情報を、最後に正常に実行されたＤＧＩと判定する。コマンド処理部５２ｂは、その他の処理は、第１の実施形態と同様である。
【００９９】
次に、本実施形態のＩＣカード１ｂの動作について説明する。
図１５は、本実施形態のＩＣカード１ｂのＳＴＯＲＥ  ＤＡＴＡコマンド処理の一例を示すフローチャートである。
この図において、ステップＳ５０１からステップＳ５０７までの処理は、上述した図７に示すステップＳ１０１からステップＳ１０７までの処理と同様であるため、ここではその説明を省略する。
【０１００】
ステップＳ５０８において、ＩＣカード１ｂのコマンド処理部５２ｂは、“０ｘ００００”を最終データ情報記憶部８３ｂに記憶させる。ここでは、コマンド処理部５２ｂは、発行処理が完了したことを示す完了情報として、“０ｘ００００”を最終データ情報記憶部８３ｂに記憶させる。
【０１０１】
また、ステップＳ５０９及びステップＳ５１０の処理は、上述した図７に示すステップＳ２０９及びステップＳ２１０の処理と同様であるため、ここではその説明を省略する。
【０１０２】
また、本実施形態のＩＣカード１ｂのＳＥＬＥＣＴコマンド処理は、ステップＳ２０５の判定処理が異なる点を除いて、図８に示す処理と同様であるためここではその説明を省略する。
本実施形態では、ステップＳ２０５において、コマンド処理部５２ｂは、最終データ情報記憶部８３ｂに記憶させる情報が、“０ｘ００００”であるか否かによって、発行処理が完了しているか否かを判定する。すなわち、コマンド処理部５２ｂは、最終データ情報記憶部８３ｂに記憶させる情報が、“０ｘ００００”である場合に、発行処理が完了していると判定する。
【０１０３】
以上説明したように、本実施形態のＩＣカード１ｂでは、最終データ情報記憶部８３ｂは、上述した最終データ情報記憶部８３の機能と、完了情報記憶部８４の機能とを共用する。すなわち、コマンド処理部５２ｂは、最終データ情報記憶部８３ｂに記憶させる情報に基づいて、発行処理が完了しているか否かを判定する。
これにより、本実施形態のＩＣカード１ｂでは、完了情報記憶部８４に必要なＥＥＰＲＯＭ８のメモリ領域を節約することができるため、ＥＥＰＲＯＭ８のメモリ領域をより有効に利用することができる。
【０１０４】
（第４の実施形態）
次に、図面を参照して、上述したＩＣカード１（１ａ、１ｂ）を発行する発行装置２０及びＩＣカード発行システム２００について説明する。
図１６は、本実施形態のＩＣカード発行システム２００の構成例を示すブロック図である。
この図に示すように、ＩＣカード発行システム２００は、発行装置２０とＩＣカード１（１ａ、１ｂ）とを備えている。
また、発行装置２０は、通信部２１と、発行情報記憶部２２と、発行制御部２３とを備えている。発行装置２０は、例えば、発行者が発行工程（発行処理）に使用する装置である。
【０１０５】
通信部２１は、ＩＣカード１（１ａ、１ｂ）のコンタクト部３を介して、ＩＣカード１（１ａ、１ｂ）の通信部４０と通信する。通信部２１は、例えば、ＩＣカード１（１ａ、１ｂ）に情報を記憶させる書き込み要求（ＳＴＯＲＥ  ＤＡＴＡコマンド）などの各種コマンドをＩＣカード１（１ａ、１ｂ）に送信する。また、通信部２１は、各種コマンドに応じた処理の実行結果であるレスポンスをＩＣカード１（１ａ、１ｂ）から受信する。
【０１０６】
発行情報記憶部２２は、ＩＣカード１（１ａ）を発行する際に、ＩＣカード１（１ａ、１ｂ）に書き込む発行情報を複数記憶する。発行情報には、少なくともＤＧＩ（データ識別情報）と、当該ＤＧＩに対応する所定の領域（ＥＦ）に書き込むデータ（少なくともアプリケーションに対応したデータ）とを含んでいる。
【０１０７】
発行制御部２３は、例えば、ＣＰＵなどを含むプロセッサであり、発行装置２０を統括的に制御する。発行制御部２３は、情報取得部２３１と、発行処理部２３２とを備えている。
情報取得部２３１（取得部の一例）は、発行情報記憶部２２から発行情報を取得する。
【０１０８】
発行処理部２３２は、情報取得部２３１が取得した複数の発行情報を、所定の順序でＳＴＯＲＥ  ＤＡＴＡコマンド（書き込み要求）によりＩＣカード１（１ａ、１ｂ）に送信して、発行処理を実行する。また、発行処理部２３２は、発行処理の前に、最終データ情報記憶部８３（８３ａ、８３ｂ）が記憶するＤＧＩをＩＣカード１（１ａ、１ｂ）から受信した場合に、所定の順序のうちの、受信したＤＧＩに対応する発行情報に基づく順序位置から発行処理を開始する。
【０１０９】
すなわち、発行処理部２３２は、発行処理の前に、ＳＥＬＥＣＴコマンドを、通信部２１を介して、ＩＣカード１（１ａ、１ｂ）に送信し、ＳＥＬＥＣＴコマンドのレスポンスを、通信部２１を介して、ＩＣカード１（１ａ、１ｂ）から受信する。発行処理部２３２は、当該レスポンスに“０ｘＤＦ０１”のＴＬＶ形式データＤ１によるＤＧＩが含まれている場合に、受信したＤＧＩに対応する発行情報の次の発行情報から発行処理を開始する。
なお、発行処理部２３２は、発行処理として、上述した図９及び図１０に示す外部装置２と同様の処理を実行する。
【０１１０】
次に図１７を参照して、本実施形態のＩＣカード発行システム２００の動作について説明する。
図１７は、本実施形態の発行装置２０の動作の一例を示すフローチャートである。
図１７に示すように、発行装置２０の発行処理部２３２は、まず、複数の発行情報を発行情報記憶部２２から取得する（ステップＳ６０１）。
【０１１１】
次に、発行処理部２３２は、ＳＥＬＥＣＴコマンドをＩＣカード１（１ａ、１ｂ）に送信する（ステップＳ６０２）。発行処理部２３２は、発行処理を行うアプリケーションを選択するＳＥＬＥＣＴコマンドを、通信部２１を介して、ＩＣカード１（１ａ、１ｂ）に送信する。
【０１１２】
次に、発行処理部２３２は、ＳＥＬＥＣＴコマンドのレスポンスを受信する（ステップＳ６０３）。発行処理部２３２は、通信部２１を介して、ＦＣＩを含むＳＥＬＥＣＴコマンドのレスポンスを受信する。
【０１１３】
次に、発行処理部２３２は、レスポンスに最終データ情報が含まれているか否かを判定する（ステップＳ６０４）。発行処理部２３２は、受信したレスポンスのＦＣＩに、“０ｘＤＦ０１”のＴＬＶ形式データＤ１によるＤＧＩが含まれているか否かを判定する。発行処理部２３２は、レスポンスに最終データ情報（ＴＬＶ形式データＤ１のＤＧＩ）が含まれている場合（ステップＳ６０４：ＹＥＳ）に、処理をステップＳ６０５に進める。また、発行処理部２３２は、レスポンスに最終データ情報（ＴＬＶ形式データＤ１のＤＧＩ）が含まれていない場合（ステップＳ６０４：ＮＯ）に、処理をステップＳ６０６に進める。
【０１１４】
ステップＳ６０５において、発行処理部２３２は、最終データ情報（受信ＤＧＩ）に対応する発行情報の次の発行情報から発行処理を実行する。すなわち、発行処理部２３２は、最終データ情報（受信ＤＧＩ）により、最終データ情報（受信ＤＧＩ）まで発行処理が正常に実行されていると判定し、最終データ情報（受信ＤＧＩ）の次の発行情報から発行処理を開始する。発行処理部２３２は、発行処理終了後に、処理を終了する。
【０１１５】
ステップＳ６０６において、発行処理部２３２は、複数の発行情報の最初から発行処理を実行する。発行処理部２３２は、発行処理終了後に、処理を終了する。
【０１１６】
以上説明したように、本実施形態による発行装置２０は、情報取得部２３１（取得部）と、発行処理部２３２とを備える。情報取得部２３１は、少なくともアプリケーションに対応したデータと、ＤＧＩ（データ識別情報）とを対応付けた発行情報を取得する。発行処理部２３２は、情報取得部２３１が取得した複数の発行情報を、所定の順序でＳＴＯＲＥ  ＤＡＴＡコマンド（書き込み要求）によりＩＣカード１（１ａ、１ｂ）に送信して、発行処理を実行する。また、発行処理部２３２は、発行処理の前に、最終データ情報記憶部８３が記憶するデータ識別情報をＩＣカード１（１ａ、１ｂ）から受信した場合に、所定の順序のうちの、受信したＤＧＩ（データ識別情報）に対応する発行情報に基づく順序位置から発行処理を開始する。
これにより、本実施形態による発行装置２０は、上述したＩＣカード１（１ａ、１ｂ）と同様の効果を奏し、発行処理が途中中断された場合に、発行処理を再開することができる。
【０１１７】
なお、上記の各実施形態において、書き込み要求の一例として、ＳＴＯＲＥ  ＤＡＴＡコマンドを用いる例を説明したが、例えば、ＷＲＩＴＥ  ＢＩＮＡＲＹコマンド、ＷＲＩＴＥ  ＲＥＣＯＲＤコマンドなどの他の書き込みコマンドを用いてもよい。
【０１１８】
また、上記の各実施形態において、ＬＡＳＴ  ＳＴＯＲＥ  ＤＡＴＡコマンドにより、完了情報記憶部８４（８４ａ）に、発行処理が完了したことを示す完了情報を記憶させる例を説明したが、これに限定されるものではない。例えば、発行処理が完了した際に、専用コマンドによって、完了情報記憶部８４（８４ａ）に、発行処理が完了したことを示す完了情報を記憶させるようにしてもよい。
【０１１９】
また、上記の各実施形態において、データ識別情報の一例として、ＤＧＩを用いる例を説明したが、ＥＦＩＤなどのファイルＩＤを用いるようにしてもよい。すなわち、最終データ情報記憶部８３（８３ａ、８３ｂ）には、最後に正常に実行されたＥＦＩＤを記憶するようにしてもよい。
【０１２０】
また、上記の各実施形態において、最終データ情報記憶部８３（８３ａ、８３ｂ）が記憶するＤＧＩを、ＳＥＬＥＣＴコマンドを用いて、ＩＣカード１（１ａ、１ｂ）の外部に送信させる例を説明したが、これに限定されるものではない。最終データ情報記憶部８３（８３ａ、８３ｂ）が記憶するＤＧＩは、例えば、新たに追加された専用コマンドにより、外部に送信されるようにしてもよいし、他の既存のコマンドを用いるようにしてもよい。
【０１２１】
また、上記の各実施形態において、携帯可能電子装置の一例として、ＩＣカード１（１ａ、１ｂ）を用いる例を説明したが、これに限定されるものではない。携帯可能電子装置は、例えば、カード形状ではないＩＣタグなどの電子装置であってもよい。
【０１２２】
また、上記の各実施形態において、ＩＣカード１（１ａ、１ｂ）は、コンタクト部３を介して外部装置２と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置２と通信するように構成してもよい。
【０１２３】
また、上記の各実施形態において、ＩＣカード１（１ａ、１ｂ）は、書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ８を備える構成としたが、これに限定されるものではない。例えば、ＩＣカード１（１ａ、１ｂ）は、ＥＥＰＲＯＭ８の代わりに、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory：強誘電体メモリ）などを備えてもよい。
【０１２４】
また、上記の第４の実施形態において、ＩＣカード発行システム２００は、発行装置２０が発行情報記憶部２２を備える例を説明したが、発行装置２０の外部に発行情報記憶部２２を備えるようにしてもよい。この場合、例えば、ネットワークを介して発行装置２０と接続可能なサーバ装置などが、発行情報記憶部２２を備えるようにしてもよい。
【０１２５】
以上説明した少なくともひとつの実施形態によれば、ＡＰデータ記憶部８１に記憶させるデータと、データを識別するデータ識別情報とを含む書き込みコマンドによって、データをＡＰデータ記憶部８１に記憶させる書き込み処理が、最後に正常に実行されたデータ識別情報を記憶する最終データ情報記憶部８３と、書き込みコマンドによって、アプリケーションに対応したデータをＡＰデータ記憶部８１に記憶させる発行処理が完了したか否かを示す完了情報を記憶する完了情報記憶部８４と、完了情報記憶部８４が記憶する完了情報が、発行処理が完了していないことを示す場合に、最終データ情報記憶部８３が記憶するデータ識別情報を外部装置２に送信する処理を行うコマンド処理部５２とを持つことにより、発行処理が途中中断された場合に、発行処理を再開することができる。
【０１２６】
上記実施形態は、以下のように表現することができる。
データを記憶するデータ記憶部と、
外部装置から受信した前記データ記憶部に記憶させるデータと、前記データを識別するデータ識別情報とを含む書き込み要求によって、前記データを前記データ記憶部に記憶させる書き込み処理が、最後に正常に実行された前記データ識別情報を記憶する最終データ情報記憶部と、
前記書き込み要求によって、アプリケーションに対応したデータを前記データ記憶部に記憶させる発行処理が完了したか否かを示す完了情報を記憶する完了情報記憶部と、
少なくともコンピュータが実行可能なプログラムに関する情報を記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
前記完了情報記憶部が記憶する前記完了情報が、前記発行処理が完了していないことを示す場合に、前記最終データ情報記憶部が記憶する前記データ識別情報を前記外部装置に送信する処理を行う
ように構成されている、携帯可能電子装置。
【０１２７】
なお、実施形態におけるＩＣカード発行システム２００及び発行装置２０が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したＩＣカード発行システム２００及び発行装置２０が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２９】
１，１ａ，１ｂ…ＩＣカード、２…外部装置、３…コンタクト部、４…ＵＡＲＴ、５…ＣＰＵ、６…ＲＯＭ、７…ＲＡＭ、８…ＥＥＰＲＯＭ、１０‥ＩＣモジュール、２０…発行装置、２１，４０…通信部、２２…発行情報記憶部、２３…発行制御部、５０，５０ａ，５０ｂ…制御部、５１…ファイル管理部、５２，５２ａ，５２ｂ…コマンド処理部、８１…ＡＰデータ記憶部、８２…ファイル管理情報記憶部、８３，８３ａ，８３ｂ…最終データ情報記憶部、８４…完了情報記憶部、１００…ＩＣチップ、２００…ＩＣカード発行システム、２３１…情報取得部、２３２…発行処理部、ＰＴ…カード基材
【図１】
2020013212.tif 000003
【図２】
2020013212.tif 000004
【図３】
2020013212.tif 000005
【図４】
2020013212.tif 000006
【図５】
2020013212.tif 000007
【図６】
2020013212.tif 000008
【図７】
2020013212.tif 000009
【図８】
2020013212.tif 000010
【図９】
2020013212.tif 000011
【図１０】
2020013212.tif 000012
【図１１】
2020013212.tif 000013
【図１２】
2020013212.tif 000014
【図１３】
2020013212.tif 000015
【図１４】
2020013212.tif 000016
【図１５】
2020013212.tif 000017
【図１６】
2020013212.tif 000018
【図１７】
2020013212.tif 000019