JP2014059806A - Ic card, portable electronic device, and ic card processor - Google Patents
Ic card, portable electronic device, and ic card processor Download PDFInfo
- Publication number
- JP2014059806A JP2014059806A JP2012205534A JP2012205534A JP2014059806A JP 2014059806 A JP2014059806 A JP 2014059806A JP 2012205534 A JP2012205534 A JP 2012205534A JP 2012205534 A JP2012205534 A JP 2012205534A JP 2014059806 A JP2014059806 A JP 2014059806A
- Authority
- JP
- Japan
- Prior art keywords
- card
- data
- issuance
- command
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明の実施形態は、ICカード、携帯可能電子装置、及びICカード処理装置に関する。 Embodiments described herein relate generally to an IC card, a portable electronic device, and an IC card processing device.
従来、ICカードなどの携帯可能電子装置は、初期状態において、自身の発行時に必要なプログラム及びデータが書き込まれている。初期状態のICカードは、発行時に必要なプログラム及びデータを用いて発行処理を実行する。発行処理が完了したICカードは、発行時に必要なプログラム及びデータを保持した状態で運用される。しかしながら、発行時に必要な当該プログラム及びデータは、運用には必要のないデータであって運用時に不正にアクセスされる可能性がある。 2. Description of the Related Art Conventionally, portable electronic devices such as IC cards are written with necessary programs and data when they are issued in an initial state. The IC card in the initial state executes the issuance process using the program and data necessary for issuance. The IC card for which the issuing process has been completed is operated in a state in which a program and data necessary for issuing are held. However, the program and data required at the time of issuance are data that is not necessary for operation and may be illegally accessed during operation.
この発明は、セキュリティ性を向上できるICカード、携帯可能電子装置、及びICカード処理装置を提供することを目的とする。 An object of the present invention is to provide an IC card, a portable electronic device, and an IC card processing device that can improve security.
実施形態によれば、ICカードは、不揮発性メモリと、処理手段と、消去手段とを有する。不揮発性メモリは、発行処理に使用する発行時データを記憶する。処理手段は、不揮発性メモリに記憶されている発行時データを用いて発行処理を実行する。消去手段は、処理手段が実行する発行処理によって不揮発性メモリに記憶した発行時データの使用が終了した後、不揮発性メモリから発行時データを消去する。 According to the embodiment, the IC card includes a nonvolatile memory, a processing unit, and an erasing unit. The nonvolatile memory stores issuance data used for the issuance process. The processing means executes the issuing process using the issuing data stored in the nonvolatile memory. The erasure unit erases the issuance data from the non-volatile memory after the use of the issuance data stored in the non-volatile memory by the issuance process executed by the processing unit is completed.
以下、本実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係る携帯可能電子装置としてのICカード2と、ICカード2と通信を行う外部装置としてのICカード処理装置1の構成について説明するためのブロック図である。
Hereinafter, the present embodiment will be described with reference to the drawings.
FIG. 1 is a block diagram for explaining a configuration of an
ICカード処理装置1は、ICカード2へコマンドを供給し、ICカード2からのレスポンスを受け取る上位装置である。たとえば、ICカード2は、初期化処理、一次発行処理、及び二次発行処理などの複数段階の発行フェーズによる発行処理が施されることより運用可能な状態となる。これらの発行処理において、ICカード処理装置1は、ICカード2に対して、初期化、一次発行及び二次発行などの発行処理を実行させる上位装置(発行装置)として機能する。また、各処理は、それぞれ別のICカード処理装置で行われてもよい。たとえば、初期化処理及び一次発行処理は、ICカード2の製造メーカのICカード処理装置によって行われ、また、二次発行処理は、ICカード2を用いてサービスを提供する事業所のICカード処理装置によって行われるようにしてもよい。
The IC
図1に示す構成例において、ICカード処理装置1は、基本的な構成として、制御部11、ディスプレイ12、操作部13及びカードリーダライタ14などを有する。なお、ICカード処理装置1は、上述したような様々な発行処理での使用が想定されるものであり、図1に示すような構成の他に、発行処理に応じた構成を具備したり特定の構成を除外したりしてもよい。
In the configuration example shown in FIG. 1, the IC
制御部11は、ICカード処理装置1全体の動作を制御するものである。制御部11は、CPU、種々のメモリ及び各種インターフェーズなどにより構成される。たとえば、制御部11は、パーソナルコンピュータ(PC)により構成されるようにしても良い。
制御部11は、カードリーダライタ14によりICカード2へコマンドを送信する機能、ICカード2から受信するレスポンスなどのデータを基に種々の処理を行う機能などを有する。たとえば、制御部11は、カードリーダライタ14を介して操作部13で入力されたデータ又は所定のデータなどを含む書き込みコマンドをICカード2に送信することにより、ICカード2に当該データの書き込み処理を要求する制御を行う。
The
The
ディスプレイ12は、制御部11の制御により種々の情報を表示する表示装置である。ディスプレイ12は、たとえば、液晶モニタなどである。
操作部13は、ICカード処理装置1の使用者によって、種々の操作指示及びデータなどが入力される。操作部13は、入力された操作指示及びデータなどを制御部11へ送信する。操作部13は、たとえば、キーボード、テンキー、及び、タッチパネルなどである。
The
Various operation instructions and data are input to the
カードリーダライタ14は、ICカード2との通信を行うためのインターフェーズ装置である。カードリーダライタ14は、ICカード2の通信方式に応じたインターフェーズにより構成される。たとえば、ICカード2が接触型のICカードである場合、カードリーダライタ14は、ICカード2のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。
The card reader /
また、ICカード2が非接触型のICカードである場合、カードリーダライタ14は、ICカード2との無線通信を行うためのアンテナおよび通信制御部などにより構成される。カードリーダライタ14では、ICカード2に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ14は、制御部11による制御に基づいてICカード2の活性化(起動)、種々のコマンドの送信、及び送信したコマンドに対する応答(レスポンス)の受信などを行なう。
When the
次に、ICカード2について説明する。
ICカード2は、ICカード処理装置1などの上位装置から電力などの供給を受けて活性化される(動作可能な状態になる)ようになっている。例えば、ICカード2が接触型の通信によりICカード処理装置1と接続される場合、つまり、ICカード2が接触型のICカードで構成される場合、ICカード2は、通信インターフェーズとしてのコンタクト部を介してICカード処理装置1からの動作電源及び動作クロックの供給を受けて活性化される。
Next, the
The
また、ICカード2が非接触型の通信方式によりICカード処理装置1と接続される場合、つまり、ICカード2が非接触式のICカードで構成される場合、ICカード2は、通信インターフェーズとしてのアンテナ及び変復調回路などを介してICカード処理装置1からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
Further, when the
次に、ICカード2の構成例について説明する。
図2は、第1実施形態に係るICカード2の構成例を概略的に示すブロック図である。ICカード2は、プラスチックなどで形成されたカード状の本体Cを有する。ICカード2は、本体C内にモジュールMが内蔵されている。モジュールMは、1つまたは複数のICチップCaと通信用の外部インターフェーズ(通信インターフェーズ)とが接続された状態で一体的に形成され、ICカード2の本体C内に埋設されている。また、ICカード2のモジュールMは、図2に示すように、CPU21、ROM22、RAM23、NVM24、通信部25を備えている。これらの各部は、データバスを介して互いに接続されている。
Next, a configuration example of the
FIG. 2 is a block diagram schematically showing a configuration example of the
CPU21は、ICカード2全体の制御を司る制御部として機能する。CPU21は、ROM22あるいはNVM24に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。たとえば、CPU21は、ROM22に記憶されているプログラムを実行することにより、ICカード2の動作制御あるいはICカード2の運用形態に応じた種々の処理を行う。なお、各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、CPU21は、ハードウエア回路により実行される機能を制御する。
The
ROM22は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM22は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード2に組み込まれる。即ち、ROM22に記憶される制御プログラム及び制御データは、予めICカード2の仕様に応じて組み込まれる。
The
RAM23は、揮発性のメモリである。RAM23は、CPU21の処理中のデータなどを一時的に格納する。たとえば、RAM23は、受信用バッファ、計算用バッファ、送信用バッファなどを備える。受信用バッファとしては、通信部25を通じてICカード処理装置1から送信されたコマンドを保持する。計算用バッファとしては、CPU21が種々の計算をするため一時的な結果を保持する。送信用バッファとしては、通信部25を通じてICカード処理装置1に送信するデータを保持する。
The
NVM24は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。NVM24は、ICカード2の運用用途に応じて制御プログラム、アプリケーション、及び種々のデータを格納する。例えば、NVM24では、プログラムファイル及びデータファイルなどが作成される。作成された各ファイルは、制御プログラム及び種々のデータなどが書き込まれる。
The
通信部25は、ICカード処理装置1のカードリーダライタ14との通信を行うためのインターフェーズである。ICカード2が接触型のICカードとして実現される場合、通信部25は、ICカード処理装置1のカードリーダライタ14と物理的かつ電気的に接触して信号の送受信を行うための通信制御部とコンタクト部とにより構成される。また、ICカード2が非接触型のICカードとして実現される場合、通信部25は、ICカード処理装置1のカードリーダライタ14との無線通信を行うための変復調回路などの通信制御部とアンテナとにより構成される。
The
次に、ICカード2の初期化から破棄までのライフサイクルについて説明する。
図3は、ICカード2のライフサイクルについて説明するためのフローチャートである。
まず、ICカード2は、モジュールMを筐体に埋設などの製造工程により製造される。製造直後の状態において、ICカード2は、NVM24内に何もデータが書き込まれていない状態である。製造されたICカード2には、発行処理における最初の発行フェーズとして初期化処理が実行される。すなわち、ICカード処理装置1は、製造されたICカード2に対して初期化処理を実行させる(ステップ1)。初期化処理は、ICカード2のNVM24内のシステム領域に、OSなどの基本的なデータ、プログラム管理テーブル及びプログラムコードなどを書き込む処理である。
Next, a life cycle from initialization to destruction of the
FIG. 3 is a flowchart for explaining the life cycle of the
First, the
初期化処理が完了したICカード2には、次の発行フェーズとして一次発行が行われる。すなわち、ICカード処理装置1は、初期化処理が完了したICカード2に対して一次発行処理を実行させる(ステップ2)。一次発行処理は、ICカード2のNVM24内にファイル定義情報領域にファイル定義情報などを書き込み、ファイル創生などを行う処理である。
The
一次発行処理が完了したICカード2には、次の発行フェーズとして二次発行が行われる。すなわち、ICカード処理装置1は、一次発行処理が完了したICカード2に対して二次発行処理を実行させる(ステップ3)。二次発行処理は、ICカード2のNVM内のファイルデータ領域に、ICカードの運用に必要なファイルデータなどを書き込む処理である。たとえば、二次発行処理では、運用時に当該ICカードを使用するユーザの情報などが書き込まれる。
The
二次発行処理が完了したICカード2は、実際に運用が開始される(ステップ4)。たとえば、二次発行が完了したICカード2は、ユーザに手渡され、ICカード2が提供するサービスに沿った運用がなされる。運用を開始したICカード2は、所定の運用条件に従って運用された後に破棄される(ステップ5)。たとえば、ICカード2は、サービスの提供終了、所定の有効期間の経過、あるいは、動作の不具合などが発生した場合に破棄される。
The operation of the
次に、各発行フェーズにおけるICカードに対する書込み処理について概略的に説明する。いてICカード2の内の書き込み対象領域と書き込みを行うコマンドについて説明する。
図4は、各発行フェーズと、ICカード2内のNVM24に対する書き込み領域と、ICカードに対して書き込みを要求するコマンドと、を対応づけた対応テーブルの例を示す図である。
Next, the writing process with respect to the IC card in each issue phase will be schematically described. The write target area in the
FIG. 4 is a diagram showing an example of a correspondence table in which each issue phase, a writing area for the
図4に示す例では、初期化フェーズにおいて、ICカード処理装置1は、ICカード2に対して書き込みコマンドを用いて、NVM24にシステム領域を設け、システム領域内にプログラム管理テーブルおよびプログラムコードを書込み、さらに、システム領域外のデータ及びプログラムコード領域に発行処理に必要となるデータ及びプログラムコードを書き込む。また、一次発行フェーズにおいて、ICカード処理装置1は、ICカード2に対してファイル創生コマンドを用いて、NVM24にファイル定義情報領域を設け、ファイル定義情報領域にファイル定義情報を書き込む。また、二次発行フェーズにおいて、ICカード処理装置1は、ICカード2に対して書き込みコマンドを用いて、NVM24にファイルデータ領域を設け、ファイルデータ領域にファイルのデータを書き込む。
In the example shown in FIG. 4, in the initialization phase, the IC
以下、各発行フェーズについて詳細に説明する。
まず、初期化処理について説明する。
初期化処理は、ICカード2が基本的な動作を実行するためのデータ(たとえば、OS、OSが直接使用するデータなど)などをNVM24に書き込む処理である。初期化処理は、ICカード2を運用可能な状態にする発行処理において最初の段階で行われる処理である。たとえば、初期化処理は、予め定められている仕様に応じて実行され、製造直後のICカード2に対して行われる。
Hereinafter, each issue phase will be described in detail.
First, the initialization process will be described.
The initialization process is a process of writing data for the
図5は、初期化処理の例を説明するためのフローチャートである。
まず、ICカード処理装置1の制御部11は、ICカード2のNVM24にシステム領域を書き込ませるための書込みコマンド(システム領域の書込みコマンド)を生成する。システム領域の書込みコマンドとしては、ICカード2のNVM24にシステム領域を定義し、定義したシステム領域にICカード2の基本的な動作を実行するための基本データを書き込むませるコマンドとする。また、システム領域に書き込む基本データは、当該ICカード2の仕様に応じて設定される情報であり、たとえば、フェーズ管理情報及びプロトコル通信で使用する設定情報などである。システム領域の書き込みコマンドを生成すると、制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ11)。
FIG. 5 is a flowchart for explaining an example of the initialization process.
First, the
ICカード2は、通信部25によりICカード処理装置1からのシステム領域の書き込みコマンドを受信する(ステップ51)。ICカード2のCPU21は、受信したシステム領域の書き込みコマンドを実行し、NVM24にシステム領域を定義し、定義したシステム領域に書込みコマンドで指定された基本データを書き込む書込処理を行う(ステップ52)。書き込み処理を実行すると、CPU21は、実行結果を格納したレスポンスを生成する。即ち、CPU21は、書き込みコマンドの実行に成功した場合には、書き込み成功を示すレスポンスを生成し、書き込みコマンドの実行に失敗した場合には、書き込み失敗を示すレスポンスを生成する。書込みコマンドに対するレスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ53)。
The
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ12)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2がシステム領域の書き込みに成功したか判定する(ステップ13)。システム領域の書き込みが成功したと判定した場合(ステップ13、YES)、制御部11は、ICカード2のNVM24に定義したシステム領域に運用プログラムコードを書き込むための書き込みコマンド(運用プログラムコードの書き込みコマンド)を生成する。運用プログラムコードの書き込みコマンドを生成すると、制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ14)。運用プログラムコードについては後述する。
The IC
ICカード2は、通信部25によりICカード処理装置1からの運用プログラムコードの書き込みコマンドを受信する(ステップ54)。ICカード2のCPU21は、受信した書き込みコマンドを実行し、NVM24のシステム領域に運用プログラムコードを書き込む処理を実行する(ステップ55)。運用プログラムコードの書き込み処理を実行すると、CPU21は、運用プログラムコードの書込み処理の実行結果を格納したレスポンスを生成し、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ56)。
The
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ15)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2が運用プログラムコードの書き込みに成功したか判定する(ステップ16)。運用プログラムコードの書き込みが成功したと判定した場合(ステップ16、YES)、制御部11は、ICカード2に対してNVM24に発行時データの書込みを要求する発行時データの書き込みコマンドを生成する。発行時データは、発行処理で必要であるが運用フェーズでは不要となるデータであり、システム領域外の領域に書き込まれる。発行時データは、たとえば、発行処理用の鍵(第1鍵)情報、発行処理用のプログラムコード及びデータなどである。発行時データの書込みコマンドを生成すると、制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ17)。
The IC
ICカード2は、通信部25によりICカード処理装置1からの発行時データの書き込みコマンドを受信する(ステップ57)。発行時データの書込みコマンドを受信すると、ICカード2のCPU21は、受信した書き込みコマンドを実行し、
NVM24のシステム領域外の領域に発行時データを格納する領域(発行時データ領域)を定義し、発行時データ領域に鍵情報、プログラムコード及びデータなどの発行時データを書き込む処理を実行する(ステップ58)。発行時データの書き込み処理を実行すると、CPU21は、書込み処理の実行結果を格納したレスポンスを生成し、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ59)。
The
An area for storing issuance data (issue data area) is defined in an area outside the system area of the
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ18)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2が発行時データの書き込みに成功したか判定する(ステップ19)。発行時データの書き込みが成功したと判定した場合(ステップ19、YES)、制御部11は、ICカード2に対してNVM24のシステム領域へのプログラム管理テーブルの書き込みを要求する書き込みコマンド(プログラム管理テーブルの書き込みコマンド)を生成する。制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ20)。
The IC
ICカード2は、通信部25によりICカード処理装置1からのプログラム管理テーブルの書き込みコマンドを受信する(ステップ60)。ICカード2のCPU21は、受信した書き込みコマンドを実行し、NVM24のシステム領域にプログラム管理テーブルを書き込む処理を実行する(ステップ61)。書き込み処理を実行すると、CPU21は、プログラム管理テーブルの書き込み処理の実行結果を格納したレスポンスを生成し、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ62)。
The
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ21)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2がプログラム管理テーブルの書き込みに成功したか否かを判定する(ステップ22)。プログラム管理テーブルの書き込みが成功したと判定した場合(ステップ22、YES)、制御部11は、ICカード2に対する初期化処理を正常終了する。
The IC
また、システム領域の書き込みが失敗したと判定した場合(ステップ13、NO)、運用プログラムコードの書き込みが失敗したと判定した場合(ステップ16、NO)、発行時データの書き込みが失敗した判定した場合(ステップ19、NO)、あるいは、プログラム管理テーブルの書き込みが失敗した判定した場合(ステップ22、NO)、制御部11は、ICカード2の初期化処理が失敗したことを示す情報を報知する(ステップ23)。たとえば、制御部11は、ディスプレイ12にICカード2の初期化処理が失敗したことを示す情報を表示する。また、ICカード処理装置1の制御部11は、他の機器に当該ICカード2の初期化処理が失敗したことを示す情報を送信してもよい。
なお、上述した初期化フェーズにおける各データの書き込みの順序は、図5に示す順序に限定されるものではなく、適宜書込み順序を入替えて実施するようにしても良い。
Also, when it is determined that the writing of the system area has failed (
Note that the order of writing of each data in the initialization phase described above is not limited to the order shown in FIG. 5, and the writing order may be changed as appropriate.
次に、初期化処理後のICカードにおけるNVM24の状態について説明する。
図6は、初期化処理後のICカード2のNVM24内に格納されているデータの構成例を示す図である。
図6に示すように、初期化処理後のNVM24は、システム領域31及び発行時データ領域32などを有する。また、NVM24のシステム領域31は、プログラム管理テーブルを格納する記憶領域31a及び運用プログラムコードを格納する記憶領域31bを有する。さらに、NVM24の発行時データ領域32は、鍵情報を格納する記憶領域32a、プログラムコード及びデータを格納する記憶領域32bを有する。
Next, the state of the
FIG. 6 is a diagram illustrating a configuration example of data stored in the
As shown in FIG. 6, the
次に、システム領域31の記憶領域31aに格納されるプログラム管理テーブルについて説明する。
図7は、システム領域31の記憶領域31aに格納されるプログラム管理テーブルの例を示す図である。
図7に示すように、記憶領域31aに格納されるプログラム管理テーブルは、コマンド識別情報と、プログラム先頭アドレスと、実行条件とが対応づけられている。コマンド識別情報は、外部装置(たとえば、ICカード処理装置1)から送信されるコマンドを識別するための情報である。プログラム先頭アドレスは、対応するコマンド識別情報が示すコマンドを実行するためのプログラムコードが格納されている領域のNVM24における先頭のアドレスである。実行条件は、対応するコマンドが示すコマンドの処理を実行するためのプログラムコードを実行するための条件である。
Next, the program management table stored in the
FIG. 7 is a diagram illustrating an example of a program management table stored in the
As shown in FIG. 7, in the program management table stored in the
プログラム管理テーブルは、CPU21が外部から受信したコマンドを実行するために利用される。たとえば、CPU21は、受信したコマンドにおけるコマンド識別情報を抽出し、抽出したコマンド識別情報とプログラム管理テーブル内のコマンド識別情報とを比較することにより、受信したコマンドを識別する。受信したコマンドを識別すると、CPU21は、プログラム管理テーブルを参照することによって、送信されたコマンドに対応する実行条件を取得し、取得した実行条件が満たされているか判定する。実行条件が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、当該コマンドを実行するためのプログラムコードの先頭アドレスを取得する。プログラムの先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいてNVM24内から当該コマンドを実行するためのプログラムコードを取得し、取得したプログラムコードを実行する。取得したプログラムコードを実行すると、CPU21は、実行結果を格納したレスポンスを生成する。また、実行条件が満たされていないと判定すると、CPU21は、実行条件が満たされていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25により外部装置へ送信する。
The program management table is used for the
たとえば、CPU21がコマンド識別情報として「00 E0」を格納するコマンド(即ち、ファイル創生コマンド)を外部装置から受信した場合、CPU21は、受信したコマンドからコマンド識別情報として「00 E0」を取得する。コマンド識別情報として「00 E0」を取得すると、CPU21は、プログラム管理テーブルを参照することにより、実行条件として「認証コマンド成功時」を取得する。実行条件として「認証コマンド成功時」を取得すると、CPU21は、「認証コマンド成功時」を満たしているか判定する。「認証コマンド成功時」を満たしていると判定すると、CPU21は、プログラム管理テーブルを参照することにより、「00 E0」が示すコマンドに対応するプログラム先頭アドレスとして「CCCC」を取得する。プログラム先頭アドレスとして「CCCC」を取得すると、CPU21は、取得したプログラム先頭アドレス「CCCC」に基づいてNVM24内から「00 E0」が示すコマンドに対応するプログラムコードを取得し、取得したプログラムコードを実行する。取得したプログラムコードを実行すると、CPU21は、実行結果を格納したレスポンスを生成する。また、「認証コマンド成功時」を満たしていないと判定すると、CPU21は、実行条件を満たしていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25により外部装置へ送信する。
For example, when the
なお、運用コマンドA及びBは、ICカード2の通常運用時に使用されるコマンドである。ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドは、ICカード2の発行時に使用されるコマンドであり、ICカード2の通常運用時には使用されないコマンドであるものとする。
The operation commands A and B are commands used during normal operation of the
次に、NVM24のシステム領域31内の記憶領域31bに格納される運用プログラムコードについて説明する。
NVM24のシステム領域31における記憶領域31bに格納される運用プログラムコードは、ICカード2の運用フェーズで使用される可能性があるコマンド(発行処理後も保持しておくコマンド)を実行するためのプログラムコードである。運用プログラムコードは、たとえば、書き込みコマンドを実行するためのプログラムコード及び取得コマンドを実行するためのプログラムコードなどである。システム領域31の記憶領域31bは、様々なコマンドを実行するため複数の運用プログラムコードを格納している。
Next, operation program codes stored in the
The operation program code stored in the
本実施形態において、システム領域31内の記憶領域31bは、運用プログラムコードとして、図7に示される運用コマンドA及びBを実行するための各プログラムコードなどを格納する。即ち、運用コマンドAに対応するプログラム先頭アドレス(即ち、「AAAA」)及び運用コマンドBに対応するプログラム先頭アドレス(即ち、「BBBB」)は、共にシステム領域31の記憶領域31b内のアドレスである。
In the present embodiment, the
次に、NVM24の発行時データ領域32における記憶領域32aに格納されている第1鍵について説明する。
NVM24の発行時データ領域32における記憶領域32aに格納されている鍵情報は、発行処理を行うための認証処理に利用される鍵である。初期化処理では、記憶領域32aに一次発行を行うための認証処理に利用される第1鍵が鍵情報として書き込まれる。即ち、第1鍵による認証処理が成功した場合、一次発行処理の実行が認められる。一次発行処理における認証処理については後述する。なお、記憶領域32aに記憶される鍵情報は、特定の種類に限定されるものではない。
Next, the first key stored in the
The key information stored in the
次に、NVM24の発行時データ領域32における記憶領域32bに格納されているプログラムコードおよびデータについて説明する。
NVM24の発行時データ領域32における記憶領域32bに格納されているプログラムコード及びデータは、ICカード2の発行時に使用されるコマンドを実行するためのプログラムコード及びデータである。ここで、記憶領域32bに格納されているプログラムコードを発行プログラムコードと称するものとする。発行プログラムコードは、たとえば、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドなどの発行処理時に使用されるプログラムコード(運用時には使用しないプログラムコード)である。また、発行時データ領域32の記憶領域32bは、発行プログラム以外にも、発行処理時に使用され、運用時に使用しないデータも格納される。
Next, the program code and data stored in the
The program code and data stored in the
本実施形態において、発行時データ領域32の記憶領域32bは、発行プログラムコードとして、図7に示されるファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドを実行するための各プログラムコードなどを格納している。即ち、ファイル創生コマンドに対応するプログラム先頭アドレス(即ち、「CCCC」)、認証コマンドに対応するプログラム先頭アドレス(即ち、「DDDD」)、認証用鍵変更コマンドに対応するプログラム先頭アドレス(即ち、「EEEE」)及び消去コマンドに対応するプログラム先頭アドレス(即ち、「FFFF」)は、どれも発行時データ領域32の記憶領域32b内のアドレスである。
In the present embodiment, the
次に、一次発行処理について説明する。
一次発行処理は、ICカード2の運用に合わせたファイル構造をICカード2内のNVM24内に創生する処理である。一次発行は、初期化の後に行われる。通常、一次発行は、ICカード2の製造段階で行われる。
Next, the primary issue process will be described.
The primary issue process is a process for creating a file structure in the
図8は、ICカード2の一次発行の例を説明するためのフローチャートである。
まず、ICカード処理装置1の制御部11は、カードリーダライタ14により、一次発行処理を実行するための認証コマンド(即ち、コマンド識別情報が「00 82」であるコマンド)をICカード2へ送信する(ステップ31)。認証コマンドは、NVM24の発行時データ領域32内にある記憶領域32aに格納されている鍵情報としての第1鍵と照合される認証情報を含むものである。当該認証コマンドに含まれる認証情報は、一次発行のための認証処理における認証方式に応じた情報であれば良い。
FIG. 8 is a flowchart for explaining an example of primary issuance of the
First, the
ICカード2は、通信部25によりICカード処理装置1からの認証コマンドを受信する(ステップ71)。ICカード2のCPU21は、プログラム管理テーブルを参照することによって受信したコマンドが認証コマンドであることを認識し、プログラム管理テーブルにより認証コマンドを実行するためのプログラムコードが格納されているNVM24上の先頭アドレスを取得する。たとえば、図7に示すプログラム管理テーブルの例によれば、CPU21は、認証コマンド(「00 82」)に対応する先頭アドレスとして「DDDD」を取得する。先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいて記憶領域32bから認証コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得したプログラムコードを実行し、認証コマンドに含まれる認証情報と記憶領域32aに格納されている鍵情報(第1鍵)とを照合する認証処理(一次発行時の認証処理)を行う(ステップ72)。認証処理を実行すると、CPU21は、認証結果を格納したレスポンスを生成する。即ち、CPU21は、認証が成功した場合、認証に成功したことを示すレスポンスを生成し、認証が失敗した場合、認証に失敗したことを示すレスポンスを生成する。認証結果を格納したレスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ73)。
The
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ32)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカードが一次発行時の認証に成功したと判定する(ステップ33)。一次発行時の認証が成功したと判定した場合(ステップ33、YES)、制御部11は、ICカード2内のファイル定義情報領域に所定のファイル定義情報を書き込むためのファイル創生コマンド(即ち、コマンド識別情報が「00 E0」であるコマンド)を生成する。制御部11は、生成したファイル創生コマンドをカードリーダライタ14によりICカード2へ送信する(ステップ34)。
The IC
ICカード2は、通信部25によりICカード処理装置1からのファイル創生コマンドを受信する(ステップ74)。ICカード2のCPU21は、記憶領域31aに格納されているプログラム管理テーブルを参照することによって、ファイル創生コマンドの実行条件を取得する。たとえば、図7に示す例では、ファイル創生コマンドの実行条件が「認証コマンド成功時」であることを認識する。ファイル創生コマンドの実行条件が「認証コマンド成功時」であることを認識すると、CPU21は、「認証コマンド成功時」という条件が満たされているか判定する。たとえば、CPU21は、認証が成功した場合にRAM23内に認証が成功したことを示すデータを格納しておき、当該データを参照することで「認証コマンド成功時」が満たされているか判定するようにしてもよい。
The
「認証コマンド成功時」という条件が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することにより、ファイル創生コマンドを実行するためのプログラムコードの先頭アドレスを取得する。図7に示す例では、先頭アドレスは「CCCC」である。ファイル創生コマンドを実行するためのプログラムコードの先頭アドレスを取得すると、CPU21は、取得した先頭アドレスからファイル創生コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得したプログラムコードを実行し、当該ファイル創生コマンドに従ったファイル定義情報をファイル定義情報領域に書き込むファイル創生処理を行う(ステップ75)。
If it is determined that the condition “when the authentication command is successful” is satisfied, the
ファイル創生コマンドを実行するためのプログラムコードを実行すると、CPU21は、ファイル創生処理の実行結果を格納したレスポンスを生成する。即ち、CPU21は、ファイル創生コマンドの実行に成功した場合には、ファイル創生成功を示すレスポンスを生成し、ファイル創生コマンドの実行に失敗した場合には、ファイル創生失敗を示すレスポンスを生成する。また、「認証コマンド成功時」が満たされていないと判定すると、CPU21は、実行結果として実行条件が満たされていないことを示すレスポンスを生成する。ファイル創生コマンドに対するレスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ76)。
When the program code for executing the file creation command is executed, the
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ35)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2がファイル創生処理の実行に成功したか否かを判定する(ステップ36)。ファイル創生処理の実行が成功したと判定した場合(ステップ36、YES)、制御部11は、認証用の鍵情報の変更を要求する認証用鍵変更コマンド(即ち、コマンド識別情報が「00 24」であるコマンド)を生成する。認証用鍵変更コマンドは、発行時データ領域における鍵情報を一次発行の認証に用いる第1鍵から二次発行の認証に用いる第2鍵に変更させるコマンドである。ICカード処理装置1の制御部11は、生成した認証用鍵変更コマンドをカードリーダライタ14によりICカード2へ送信する(ステップ37)。認証用鍵変更コマンドで指定する第2鍵は、ICカード処理装置1を操作するオペレータによって入力される鍵であってもよいし、制御部11内のメモリなどに予め格納されていてもよいし、所定のアルゴリズムで制御部11が生成するものであっても良い。なお、制御部11が第2鍵を決定する方法は、特定の方法に限定されない。
The IC
ICカード2は、通信部25によりICカード処理装置1からの認証用鍵変更コマンドを受信する(ステップ77)。ICカード2のCPU21は、プログラム管理テーブルを参照することによって、認証用鍵変更コマンドの実行条件が「認証コマンド成功時」であることを認識する。認証用鍵変更コマンドの実行条件を認識すると、CPU21は、認識した実行条件が満たされているか否かを判定する。「認証コマンド成功時」が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、認証用鍵変更コマンドを実行するためのプログラムコードの先頭アドレスを取得する。図7に示す例では、認証用鍵変更コマンドのプログラムコードの先頭アドレスが「EEEE」となっている。先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいて記憶領域32bから認証用鍵変更コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得したプログラムコードを実行し、発行時データ領域32内の記憶領域32aに記憶されている鍵情報を第1鍵から第2鍵へ書き換える鍵変更処理を行う(ステップ78)。鍵変更処理を実行すると、CPU21は、鍵変更処理の実行結果を格納したレスポンスを生成する。
The
また、「認証コマンド成功時」が満たされていないと判定すると、CPU21は、実行結果として実行条件が満たされていないことを示すレスポンスを生成する。この場合、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ79)。なお、第2鍵は、認証用鍵変更コマンドを受信したCPU21が生成するようにしても良い。
When determining that “when the authentication command is successful” is not satisfied, the
ICカード処理装置1は、カードリーダライタ14によりICカード2からレスポンスを受信する(ステップ38)。ICカード処理装置1の制御部11は、受信したレスポンスから認証用鍵変更コマンドの実行が成功したか判定する(ステップ39)。
認証用鍵変更コマンドの実行が成功したと判定した場合(ステップ39、YES)、制御部11は、ICカード2に対する一次発行処理を終了する。
The IC
When it is determined that the execution of the authentication key change command is successful (step 39, YES), the
また、認証が失敗したと判定した場合(ステップ33、NO)、ファイル創生コマンドの実行が成功しなかったと判定した場合(ステップ36、NO)、或いは、認証用鍵変更コマンドの実行が成功しなかったと判定した場合(ステップ39、NO)、制御部11は、ICカード2の一次発行処理が失敗したことを報知する(ステップ40)。たとえば、制御部11は、ディスプレイ12にICカード2の一次発行処理が失敗したことを示す情報を表示しても良いし、他の機器に当該ICカード2における一次発行処理が失敗したことを示す情報を送信するようにしてもよい。
When it is determined that the authentication has failed (
図9は、一次発行処理後のICカード2のNVM24内に格納されているデータの構成例を示す図である。
一次発行処理が正常に終了すると、NVM24は、ファイル定義情報領域33内にファイル定義情報が格納され、発行時データ領域32内の記憶領域32aには鍵情報として第2鍵が格納される。また、NVM24は、ファイル定義情報によってファイルデータ領域34が定義される。
FIG. 9 is a diagram illustrating a configuration example of data stored in the
When the primary issuance process ends normally, the
NVM24内に格納されている各ファイルは、ファイル定義情報領域33に記憶されるそれぞれのファイル定義情報とファイル定義情報で定義されるファイルデータ領域34におけるデータエリアとにより構成される。たとえば、ICカード2では、DF(フォルダ)およびEF(データファイル)により階層構造でファイルを管理する。この場合、DFは、ファイル定義情報領域33に記憶されるDF定義情報で定義され、EFは、ファイル定義情報領域33に記憶されるEF定義情報とそのEF定義情報で定義されるファイルデータ領域34におけるデータエリアとにより構成される。
Each file stored in the
図10は、ファイル定義情報領域33に格納されるEFのファイル定義情報の構成例を示す図である。
図10に示すように、EFのファイル定義情報は、データの階層構造、データの種別、ファイルID、データの先頭アドレス、データのサイズ、セキュリティ属性、データの個数及びチェックコードなどを備える。データの階層構造は、当該EFが格納されているDFを示す。データの種別は、当該ファイルのデータ構造(たとえば、バイナリ構造、TLV構造など)を示す。ファイルIDは、当該EFを特定するためのユニークな識別情報である。データのサイズは、当該EFのデータエリアのサイズを示す。セキュリティ属性は、認証状態などを示すセキュリティステータスを示す。データの個数は、当該EFがデータエリアとして使用するデータブロックの数を示す。チェックコードは、当該ファイル定義情報の正当性をチェックするためのデータ(たとえば、CRC、パリティなど)である。
FIG. 10 is a diagram illustrating a configuration example of EF file definition information stored in the file
As shown in FIG. 10, EF file definition information includes a hierarchical structure of data, a data type, a file ID, a data start address, a data size, a security attribute, the number of data, a check code, and the like. The hierarchical structure of the data indicates the DF in which the EF is stored. The data type indicates the data structure (for example, binary structure, TLV structure, etc.) of the file. The file ID is unique identification information for specifying the EF. The data size indicates the size of the data area of the EF. The security attribute indicates a security status indicating an authentication state or the like. The number of data indicates the number of data blocks used by the EF as a data area. The check code is data (for example, CRC, parity, etc.) for checking the validity of the file definition information.
次に、一次発行処理後にNVM24の発行時データ領域32における記憶領域32aに格納される第2鍵について説明する。
一次発行処理後のNVM24の発行時データ領域32における記憶領域32aに格納される第2鍵は、二次発行処理を行うための認証処理に利用される。即ち、第2鍵による認証処理が成功した場合に、二次発行処理が実行される。
Next, the second key stored in the
The second key stored in the
次に、二次発行処理について説明する。
二次発行処理は、ICカード2を運用するために必要なデータをICカード2内のNVM24に書き込む処理である。二次発行処理は、一次発行処理の後に行われる。たとえば、二次発行処理は、ICカード2を用いてサービスを提供するサービス提供元としての個々の事業者などによって行われる。
Next, the secondary issue process will be described.
The secondary issue process is a process of writing data necessary for operating the
図11は、二次発行処理の例を説明するためのフローチャートである。
まず、ICカード処理装置1の制御部11は、カードリーダライタ14により二次発行処理に対応する認証情報を格納した認証コマンド(即ち、コマンド識別情報が「00 82」であるコマンド)をICカード2へ送信する(ステップ41)。当該認証コマンドは、二次発行処理を実行するための認証処理を要求するコマンドであり、ICカード2のNVM24の発行時データ領域32における記憶領域32aに格納される鍵情報としての第2鍵と照合される認証情報を含む。認証コマンドに含まれる認証情報は、二次発行処理のための認証処理における認証方式に対応する情報であれば良い。
FIG. 11 is a flowchart for explaining an example of the secondary issue process.
First, the
ICカード2は、通信部25によりICカード処理装置1からの認証コマンドを受信する(ステップ81)。ICカード2のCPU21は、プログラム管理テーブルを参照することによって、受信したコマンドが認証コマンドであることを認識し、当該認証コマンドを実行するためのプログラムコードの先頭アドレスを取得する。図7に示す例では、認証コマンドの先頭アドレスとして「DDDD」を取得する。先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいてNVM24の記憶領域32bから認証コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得したプログラムコードを実行し、認証コマンドに格納されている認証情報と記憶領域32aに格納されている第2鍵とによる認証処理を実行する(ステップ82)。認証処理を実行すると、CPU21は、実行した認証処理による認証結果を格納したレスポンスを生成する。即ち、CPU21は、認証が成功した場合、認証に成功したことを示すレスポンスを生成し、認証が失敗した場合、認証に失敗したことを示すレスポンスを生成する。認証結果を格納したレスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ83)。
The
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ42)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2における認証が成功したか否か判定する(ステップ43)。認証が成功したと判定した場合(ステップ43、YES)、制御部11は、ICカード2のNVM24に格納されている発行時に必要なデータ(運用時には使用しないデータ)を消去させるための消去コマンド(即ち、コマンド識別情報が「00 00」であるコマンド)をカードリーダライタ14によりICカード2へ送信する(ステップ44)。
The IC
ICカード2は、通信部25によりICカード処理装置1からの消去コマンドを受信する(ステップ84)。ICカード2のCPU21は、NVM24の記憶領域31aに格納されているプログラム管理テーブルを参照することによって、受信したコマンドが消去コマンドであると認識し、当該消去コマンドの実行条件を取得する。消去コマンドの実行条件を取得すると、CPU21は、取得した実行条件が満たされているか否かを判定する。たとえば、図7に示す例では、消去コマンドの実行条件として「認証コマンド成功時」が格納されている。このため、CPU21は、消去コマンドの実行条件として「認証コマンド成功時」を取得し、「認証コマンド成功時」が満たされているか否かを判定する。
The
受信した消去コマンドの実行条件(「認証コマンド成功時」)が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、消去コマンドを実行するためのプログラムコードの先頭アドレスを取得する。図7に示す例では、消去コマンドのプログラムコードの先頭アドレスは「FFFF」である。先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいて、NVM24の記憶領域32bから消去コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得した消去コマンドを実行するためのプログラムコードを実行することにより消去処理を行う(ステップ85)。消去コマンドに対する消去処理は、発行処理時に使用され、運用時には使用されない発行時データを消去する処理である。また、消去処理では、発行時データに含まれる発行プログラムコードの管理情報も消去するものとする。
If it is determined that the execution condition (“authentication command success”) of the received erase command is satisfied, the
即ち、CPU21は、取得した消去コマンドを実行するためのプログラムコードに従って、システム領域31内の記憶領域31aに格納されているプログラム管理テーブルから発行時に必要なコマンド識別情報と当該コマンド識別情報に対応するプログラム先頭アドレス及び実行条件を消去する。つまり、図7に示すプログラム管理テーブルにおいては、CPU21は、プログラム管理テーブルから、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドの各識別情報と各コマンドに対応するプログラム先頭アドレス及び実行条件を消去する。
That is, the
また、CPU21は、取得した消去コマンドを実行するためのプログラムコードに従って、ファイルデータ領域34内にある発行時データ領域32に格納されている全てのデータを消去する。たとえば、CPU21は、発行時データ領域32を全て「FF」(又は、「00」)で上書きする。発行時データ領域32内にある記憶領域32aに格納されている第2鍵及び記憶領域32bに格納されている発行プログラムコードなどの発行時に必要なデータは、全て消去される。
Further, the
消去コマンドに対する消去処理を正常に終了した場合、CPU21は、消去コマンドの実行結果を格納したレスポンスを生成する。また、消去コマンドに対する消去処理が正常に終了しなかった場合、つまり、消去処理中にエラーが発生した場合、CPU21は、消去コマンドの実行結果として処理エラーが発生したことを示すレスポンスを作成する。また、消去コマンドの実行条件(「認証コマンド成功時」)が満たされていないと判定した場合、CPU21は、消去コマンドの実行結果として実行条件が満たされていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ86)。
When the erasure process for the erasure command is completed normally, the
なお、消去コマンドに対する消去処理の内容は、予め決められた内容であれば良く、上述した処理内容に限定されるものではない。たとえば、消去コマンドに対応する消去処理によって削除するデータは、運用時に使用しないデータであれば良く、運用時に使用しない全てのデータを消去するようにしても良いし、運用時に使用しないデータのうち一部のデータを消去するものでも良い。また、消去コマンドに対応する消去処理は、発行時データ領域32における一部のデータを削除するようにしてもよいし、記憶領域31bに記憶した一部のプログラムコード(運用で使用しないプログラムコード)を削除するようにしてもよい。また、消去処理によりCPU21が各データを削除する順序は、特定の順序に限定されるものでもない。
Note that the content of the erasure process for the erasure command may be a predetermined content, and is not limited to the above-described processing content. For example, the data to be deleted by the erasure process corresponding to the erasure command may be data that is not used at the time of operation. All data that is not used at the time of operation may be erased. Some data may be erased. In the erasing process corresponding to the erasing command, a part of the data in the
ICカード処理装置1は、カードリーダライタ14によりICカード2からの消去コマンドに対するレスポンスを受信する(ステップ45)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2における消去処理が成功したか否かを判定する(ステップ46)。消去処理が成功したと判定した場合(ステップ46、YES)、制御部11は、ファイルデータ領域内にファイルデータを書き込むための書き込みコマンドを生成し、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ47)。
The IC
ICカード2は、通信部25によりICカード処理装置1からのファイルデータの書き込みコマンドを受信する(ステップ87)。ICカード2のCPU21は、プログラム管理テーブルすることによって、受信したコマンドが書き込みコマンドであると認識し、当該書き込みコマンドの実行条件を取得する。当該書き込みコマンドの実行条件を取得すると、CPU21は、取得した実行条件が満たされているか否かを判定する。取得した実行条件が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、書き込みコマンドを実行するためのプログラムコードの先頭アドレスを取得し、取得した先頭アドレスに基づいて記憶領域31bから書き込みコマンドを実行するためのプログラムコードを取得する。
The
なお、本実施形態では、消去コマンドによる消去処理の後にファイルデータの書き込み処理を行う。このため、ファイルデータの書き込みコマンドは、プログラム管理テーブルにおける管理情報およびプログラムコードが、消去コマンドによる消去処理で消去されないものとする。たとえば、本実施形態において、ファイルデータの書き込みコマンドは、プログラム管理テーブルにおける管理情報が消去されないものとし、プログラムコードも消去処理で消去されないようにNVM24のシステム領域31における記憶領域31bに格納すれば良い。
In the present embodiment, file data writing processing is performed after erasing processing using an erasing command. For this reason, in the file data write command, the management information and the program code in the program management table are not erased by the erasure process by the erase command. For example, in the present embodiment, the file data write command is stored in the
ただし、ファイルデータの書き込みコマンドによる書き込み処理は、消去コマンドによる消去処理の後に行うようにしても良い。この場合、ファイルデータの書き込みコマンドによる書き込み処理では、発行時データ領域を避けてデータを書き込む必要があるが、書込み処理後の消去コマンドによる消去処理では、記憶領域32bに格納したファイルデータの書き込みコマンドに対応するプログラムコードおよび管理情報を消去するようにできる。
However, the writing process by the file data writing command may be performed after the erasing process by the erasing command. In this case, in the writing process using the file data writing command, it is necessary to write data while avoiding the data area at the time of issuance. However, in the erasing process using the erasing command after the writing process, the file data writing command stored in the
ファイルデータの書込みコマンドのプログラムコードを取得すると、CPU21は、取得したプログラムコードによりファイルデータの書込み処理を実行する(ステップ88)。ファイルデータの書込み処理としては、NVM24のファイルデータ領域に個別データなどのファイルデータを書き込む。ファイルデータの書き込み処理を正常終了すると、CPU21は、ファイルデータの書込み処理が正常終了であることを示す実行結果を格納したレスポンスを生成する。また、ファイルデータの書き込み処理においてエラーが発生すると、CPU21は、ファイルデータの書込み処理がエラー終了となったことを示す実行結果を格納したレスポンスを生成する。また、書き込みコマンドの実行条件が満たされていないと判定すると、CPU21は、書込みコマンドの実行条件が満たされていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ89)。
When the program code of the file data write command is acquired, the
ICカード処理装置1は、カードリーダライタ14によりICカード2からの書き込みコマンドに対するレスポンスを受信する(ステップ48)。ICカード2の制御部11は、受信したレスポンスによりICカード2におけるファイルデータの書き込み処理が正常終了(成功)したか否かを判定する(ステップ49)。
ファイルデータの書き込み処理が正常終了したと判定した場合(ステップ49、YES)、制御部11は、当該ICカード2に対する二次発行処理を正常終了する。
The IC
When it is determined that the file data writing process is normally completed (
また、認証が失敗したと判定した場合(ステップ43、NO)、消去コマンドによる消去処理が正常終了しなかったと判定した場合(ステップ46、NO)、あるいは、ファイルデータの書き込み処理が正常終了しなかったと判定した場合(ステップ49、NO)、制御部11は、ICカード2に対する二次発行処理が失敗したことを示す情報を報知する(ステップ50)。たとえば、制御部11は、ディスプレイ12にICカード2の二次発行処理が失敗したことを示す情報を提示する。また、制御部11は、外部の機器にICカード2の二次発行処理が失敗したことを示す情報を送信するようにしてもよい。
Further, when it is determined that the authentication has failed (step 43, NO), when it is determined that the erasing process by the erasing command has not ended normally (
次に、二次発行処理後のNVM24の状態について説明する。
図12は、二次発行フェーズ後のICカード2のNVM24に格納されているデータの構成例を示す図である。
二次発行処理が終了すると、NVM24は、ファイルデータ領域34内の発行時データ領域32に格納されていた発行時データを消去され、ファイルデータ領域34にはファイルデータが書き込まれている。
Next, the state of the
FIG. 12 is a diagram illustrating a configuration example of data stored in the
When the secondary issue process ends, the
ファイルデータ領域34に格納されているファイルデータは、各ファイル定義情報で定義されるデータエリアに書き込まれている。即ち、NVM24内の各ファイルは、ファイル定義情報とファイルデータとを備え、ファイルとして成立する。
The file data stored in the
図13は、ファイルデータ領域34に格納されているEFのファイルデータの構成例を示す図である。
図13に示すように、ファイルデータは、データのサイズ、データ管理情報、データ本体及びチェックコードなどを備える。データのサイズは、ファイルデータのサイズを示す。データ管理情報は、何番目のレコードまでデータが書き込まれたかを示す。データ本体は、ファイルに格納されている実データである。チェックコードは、当該ファイル定義情報の正当性をチェックするためのデータ(たとえば、CRC、パリティなど)である。
FIG. 13 is a diagram illustrating a configuration example of EF file data stored in the
As shown in FIG. 13, the file data includes a data size, data management information, a data body, a check code, and the like. The data size indicates the size of the file data. The data management information indicates to what record the data has been written. The data body is actual data stored in a file. The check code is data (for example, CRC, parity, etc.) for checking the validity of the file definition information.
なお、ICカード2のCPU21が認証処理に成功したと判定した場合、ICカード処理装置1からの消去コマンドを待つことなく、消去コマンドに対応するプログラムコードを実行してもよい。この場合、ICカード処理装置1は、消去コマンドをICカード2へ送信しなくともよい。
If the
以上の処理によれば、ICカードは、NVMから、運用時には使用されない発行時に使用するプログラムコード及びデータを消去することができる。これにより、本実施形態に係るICカードは、発行後に当該プログラムコード及びデータに不正にアクセスされることがなく、セキュリティ性を向上できる。また、本実施形態に係るICカードは、運用時に不要なデータをNVM内に保有することなく、発行時データを記憶した領域をファイルデータ領域として利用することができ、発行時データがNVMのデータ容量を圧迫することなく、効率良くNVMの記憶領域を利用できる。 According to the above processing, the IC card can erase the program code and data used at the time of issuance that are not used during operation from the NVM. As a result, the IC card according to the present embodiment can improve security without being illegally accessed to the program code and data after issuance. Further, the IC card according to the present embodiment can use the area storing the data at the time of issue as the file data area without holding unnecessary data in the NVM at the time of operation, and the data at the time of issue is the data of the NVM. The storage area of the NVM can be used efficiently without squeezing the capacity.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
1…ICカード処理装置(外部装置)、2…ICカード(携帯可能電子装置)、11…制御部、12…ディスプレイ、13…キーボード、14…カードリーダライタ、C…本体、Ca…ICチップ、M…モジュール、21…CPU、22…ROM、23…RAM、24…NVM、25…通信部。
DESCRIPTION OF
Claims (9)
前記不揮発性メモリに記憶されている発行時データを用いて発行処理を実行する処理手段と、
前記処理手段が実行する発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、
を有するICカード。 A non-volatile memory for storing issuance data used for the issuance process
Processing means for executing issue processing using issue data stored in the nonvolatile memory;
An erasing unit for erasing the issuance data from the non-volatile memory after the use of the issuance data stored in the non-volatile memory by the issuance process executed by the processing unit is terminated;
IC card having
前記請求項1に記載のICカード。 The erasing means erases data used for the issuance process so that an area where the data at the time of issuance in the nonvolatile memory is written can be used as a data area for storing data in the operation of the IC card.
The IC card according to claim 1.
前記請求項1又は2の何れかに記載のICカード。 The erasing means executes a process of erasing the issuance data according to an erasing command supplied from an external device.
The IC card according to claim 1 or 2.
前記消去手段は、前記ファイルデータ領域における前記発行時データに消去する、
前記請求項1乃至3の何れか1項に記載のICカード。 The nonvolatile memory includes a system area, a file definition area, and a file data area, and the issuance data is written to the file data area,
The erasing means erases the data at the time of issuance in the file data area;
The IC card according to any one of claims 1 to 3.
前記請求項1乃至4の何れか1項に記載のICカード。 The issuance data includes key information used for authentication processing in the issuing processing.
The IC card according to any one of claims 1 to 4.
前記モジュールを収納した本体と、
を有するICカード。 Nonvolatile memory for storing issuance data used for issuance processing, processing means for executing the issuance process using issuance data stored in the nonvolatile memory, and issuance processing executed by the processing means. A module comprising: erasing means for erasing the issuance data from the non-volatile memory after use of the issuance data stored in the storage memory is completed;
A body containing the module;
IC card having
前記不揮発性メモリに記憶されている発行時データを用いて前記発行処理を実行する処理手段と、
前記処理手段が実行する発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、
を有する携帯可能電子装置。 A non-volatile memory for storing issuance data used for the issuance process
Processing means for executing the issuing process using the data at the time of issue stored in the nonvolatile memory;
An erasing unit for erasing the issuance data from the non-volatile memory after the use of the issuance data stored in the non-volatile memory by the issuance process executed by the processing unit is terminated;
A portable electronic device.
前記第1の送信手段により送信したコマンドに対する処理結果を示すレスポンスを受信する受信手段と、
前記受信手段により前記発行時データを用いた処理が正常終了したことを示すレスポンスを受信した場合、前記ICカードに対して前記不揮発性メモリから前記発行時データを消去させる消去コマンドを送信する第2の送信手段と、
を有するICカード処理装置。 First transmission means for transmitting a command for executing processing using the issuance data to an IC card having a nonvolatile memory for storing issuance data used for the issuance processing;
Receiving means for receiving a response indicating a processing result for the command transmitted by the first transmitting means;
When receiving a response indicating that the processing using the issuance data has been normally completed by the receiving means, a second command is transmitted to the IC card for erasing the issuance data from the nonvolatile memory. Means for sending
An IC card processing apparatus.
前記第1の送信手段は、前記鍵情報を用いた認証処理を要求するコマンドを送信し、
前記第2の送信手段は、前記鍵情報を用いた認証処理が成功した場合、前記発行時データとしての鍵情報を消去させる消去コマンドを送信する、
前記請求項8に記載のICカード処理装置。 The issuance data is key information used for authentication processing,
The first transmission means transmits a command requesting an authentication process using the key information,
The second transmission means transmits an erasure command for erasing the key information as the issuance data when the authentication process using the key information is successful.
The IC card processing device according to claim 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012205534A JP2014059806A (en) | 2012-09-19 | 2012-09-19 | Ic card, portable electronic device, and ic card processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012205534A JP2014059806A (en) | 2012-09-19 | 2012-09-19 | Ic card, portable electronic device, and ic card processor |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016048245A Division JP2016129072A (en) | 2016-03-11 | 2016-03-11 | Ic card, portable electronic device and ic card processor |
JP2016131654A Division JP2016177850A (en) | 2016-07-01 | 2016-07-01 | Ic card, portable electronic device and ic card processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014059806A true JP2014059806A (en) | 2014-04-03 |
Family
ID=50616207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012205534A Pending JP2014059806A (en) | 2012-09-19 | 2012-09-19 | Ic card, portable electronic device, and ic card processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014059806A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015210724A (en) * | 2014-04-28 | 2015-11-24 | 凸版印刷株式会社 | Storage medium device, file processing method, and file processing system |
CN109214472A (en) * | 2017-07-06 | 2019-01-15 | 赤松城(北京)科技有限公司 | Portable intelligent card sending system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0237484A (en) * | 1988-07-27 | 1990-02-07 | Hitachi Maxell Ltd | Ic card |
JPH0440587A (en) * | 1990-06-07 | 1992-02-10 | Toshiba Corp | Portable electronic equipment |
JP2005332322A (en) * | 2004-05-21 | 2005-12-02 | Konica Minolta Photo Imaging Inc | Electronic authentication tool primary issuing apparatus, electronic authentication tool issuance system, electronic authentication tool secondary issuing apparatus, electronic authentication tool primary issuing method, electronic authentication issuing method and electronic authentication tool secondary issuing method |
JP3913363B2 (en) * | 1998-06-18 | 2007-05-09 | 株式会社エヌ・ティ・ティ・データ | Recording medium delivery method, issuing system and components thereof |
EP2500845A2 (en) * | 2011-03-14 | 2012-09-19 | Kabushiki Kaisha Toshiba | Portable electronic apparatus |
-
2012
- 2012-09-19 JP JP2012205534A patent/JP2014059806A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0237484A (en) * | 1988-07-27 | 1990-02-07 | Hitachi Maxell Ltd | Ic card |
JPH0440587A (en) * | 1990-06-07 | 1992-02-10 | Toshiba Corp | Portable electronic equipment |
JP3913363B2 (en) * | 1998-06-18 | 2007-05-09 | 株式会社エヌ・ティ・ティ・データ | Recording medium delivery method, issuing system and components thereof |
JP2005332322A (en) * | 2004-05-21 | 2005-12-02 | Konica Minolta Photo Imaging Inc | Electronic authentication tool primary issuing apparatus, electronic authentication tool issuance system, electronic authentication tool secondary issuing apparatus, electronic authentication tool primary issuing method, electronic authentication issuing method and electronic authentication tool secondary issuing method |
EP2500845A2 (en) * | 2011-03-14 | 2012-09-19 | Kabushiki Kaisha Toshiba | Portable electronic apparatus |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015210724A (en) * | 2014-04-28 | 2015-11-24 | 凸版印刷株式会社 | Storage medium device, file processing method, and file processing system |
CN109214472A (en) * | 2017-07-06 | 2019-01-15 | 赤松城(北京)科技有限公司 | Portable intelligent card sending system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4896837B2 (en) | Portable electronic device and method for controlling portable electronic device | |
JP5843674B2 (en) | IC card, portable electronic device, and control method of IC card | |
JP5259513B2 (en) | Portable electronic device, IC card, and portable electronic device control method | |
KR101783526B1 (en) | Ic card, electronic device and portable electronic device | |
JP2014059806A (en) | Ic card, portable electronic device, and ic card processor | |
JP6426411B2 (en) | IC card and portable electronic device | |
JP2016177850A (en) | Ic card, portable electronic device and ic card processor | |
JP2016129072A (en) | Ic card, portable electronic device and ic card processor | |
JP2011060136A (en) | Portable electronic apparatus, and data management method in the same | |
JP2011013831A (en) | Portable electronic apparatus, and data processing method in the portable electronic apparatus | |
JP6325394B2 (en) | IC card, portable electronic device, and IC card processing device | |
JP5932588B2 (en) | IC card, portable electronic device, and IC card processing device | |
JP6370669B2 (en) | IC card, portable electronic device, and IC card processing device | |
JP5957347B2 (en) | IC card and portable electronic device | |
US20220309312A1 (en) | Ic card and control program for ic card | |
JP2004185419A (en) | Portable electronic medium, issuing system of portable electronic medium, processing method, and issuing method | |
JP6845021B2 (en) | Electronic devices, IC cards and information processing systems | |
JP2018156387A (en) | IC card, portable electronic device, program, processing device and processing system | |
JP6039036B2 (en) | IC card, portable electronic device, and control method of IC card | |
JP2013164686A (en) | Ic card and portable electronic device | |
JP5038918B2 (en) | Portable electronic device and method for controlling portable electronic device | |
JP5306151B2 (en) | Portable electronic device | |
JP2018152142A (en) | IC card, portable electronic device, and IC card processing device | |
JP2008310597A (en) | Portable electronic device and control method for portable electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160311 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160405 |