JP2016129072A - Icカード、携帯可能電子装置、及びicカード処理装置 - Google Patents

Icカード、携帯可能電子装置、及びicカード処理装置 Download PDF

Info

Publication number
JP2016129072A
JP2016129072A JP2016048245A JP2016048245A JP2016129072A JP 2016129072 A JP2016129072 A JP 2016129072A JP 2016048245 A JP2016048245 A JP 2016048245A JP 2016048245 A JP2016048245 A JP 2016048245A JP 2016129072 A JP2016129072 A JP 2016129072A
Authority
JP
Japan
Prior art keywords
card
command
data
issuance
authentication
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
Application number
JP2016048245A
Other languages
English (en)
Inventor
福田 亜紀
Aki Fukuda
亜紀 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2016048245A priority Critical patent/JP2016129072A/ja
Publication of JP2016129072A publication Critical patent/JP2016129072A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】セキュリティ性を向上できるICカード、携帯可能電子装置、及びICカード処理装置を提供することを目的とする。【解決手段】実施形態によれば、ICカードは、不揮発性メモリと、処理手段と、消去手段とを有する。不揮発性メモリは、発行処理に使用する発行時データを記憶する。処理手段は、不揮発性メモリに記憶されている発行時データを用いて発行処理を実行する。消去手段は、処理手段が実行する発行処理によって不揮発性メモリに記憶した発行時データの使用が終了した後、不揮発性メモリから発行時データを消去する。【選択図】図11

Description

本発明の実施形態は、ICカード、携帯可能電子装置、及びICカード処理装置に関する。
従来、ICカードなどの携帯可能電子装置は、初期状態において、自身の発行時に必要なプログラム及びデータが書き込まれている。初期状態のICカードは、発行時に必要なプログラム及びデータを用いて発行処理を実行する。発行処理が完了したICカードは、発行時に必要なプログラム及びデータを保持した状態で運用される。しかしながら、発行時に必要な当該プログラム及びデータは、運用には必要のないデータであって運用時に不正にアクセスされる可能性がある。
特許第4398619号公報
この発明は、セキュリティ性を向上できるICカード、携帯可能電子装置、及びICカード処理装置を提供することを目的とする。
実施形態によれば、ICカードは、不揮発性メモリと、処理手段と、消去手段とを有する。不揮発性メモリは、発行処理に使用する発行時データを記憶する。処理手段は、不揮発性メモリに記憶されている発行時データを用いて発行処理を実行する。消去手段は、処理手段が実行する発行処理によって不揮発性メモリに記憶した発行時データの使用が終了した後、不揮発性メモリから発行時データを消去する。
図1は、本実施形態に係るICカードとICカード処理装置とを有するICカードシステムの構成例を示す図である。 図2は、本実施形態に係るICカードの構成例を示すブロック図である。 図3は、本実施形態に係るICカードのライフサイクルの例を示すフローチャートである。 図4は、本実施形態に係るICカードのフェーズと書き込み領域及び書き込みを行うコマンドとの対応例を示す図である。 図5は、本実施形態に係る初期化処理の例を説明するためのフローチャートである。 図6は、本実施形態に係るICカードの初期化処理後におけるNVMの構成例を示す図である。 図7は、本実施形態に係るICカードのNVMに格納されるプログラム管理テーブルの例を示す図である。 図8は、本実施形態に係るICカードの一次発行処理の例を説明するためのフローチャートである。 図9は、本実施形態に係るICカードの一次発行処理後におけるNVMの構成例を示す図である。 図10は、本実施形態に係るICカードのNVMに格納されているファイル定義情報の構成例を示す図である。 図11は、本実施形態に係るICカードの二次発行処理の例を説明するためのフローチャートである。 図12は、本実施形態に係るICカードの二次発行処理後におけるNVMの構成例を示す図である。 図13は、本実施形態に係るICカードのNVMに格納されているファイルデータの構成例を示す図である。
以下、本実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係る携帯可能電子装置としてのICカード2と、ICカード2と通信を行う外部装置としてのICカード処理装置1の構成について説明するためのブロック図である。
ICカード処理装置1は、ICカード2へコマンドを供給し、ICカード2からのレスポンスを受け取る上位装置である。たとえば、ICカード2は、初期化処理、一次発行処理、及び二次発行処理などの複数段階の発行フェーズによる発行処理が施されることより運用可能な状態となる。これらの発行処理において、ICカード処理装置1は、ICカード2に対して、初期化、一次発行及び二次発行などの発行処理を実行させる上位装置(発行装置)として機能する。また、各処理は、それぞれ別のICカード処理装置で行われてもよい。たとえば、初期化処理及び一次発行処理は、ICカード2の製造メーカのICカード処理装置によって行われ、また、二次発行処理は、ICカード2を用いてサービスを提供する事業所のICカード処理装置によって行われるようにしてもよい。
図1に示す構成例において、ICカード処理装置1は、基本的な構成として、制御部11、ディスプレイ12、操作部13及びカードリーダライタ14などを有する。なお、ICカード処理装置1は、上述したような様々な発行処理での使用が想定されるものであり、図1に示すような構成の他に、発行処理に応じた構成を具備したり特定の構成を除外したりしてもよい。
制御部11は、ICカード処理装置1全体の動作を制御するものである。制御部11は、CPU、種々のメモリ及び各種インターフェーズなどにより構成される。たとえば、制御部11は、パーソナルコンピュータ(PC)により構成されるようにしても良い。
制御部11は、カードリーダライタ14によりICカード2へコマンドを送信する機能、ICカード2から受信するレスポンスなどのデータを基に種々の処理を行う機能などを有する。たとえば、制御部11は、カードリーダライタ14を介して操作部13で入力されたデータ又は所定のデータなどを含む書き込みコマンドをICカード2に送信することにより、ICカード2に当該データの書き込み処理を要求する制御を行う。
ディスプレイ12は、制御部11の制御により種々の情報を表示する表示装置である。
ディスプレイ12は、たとえば、液晶モニタなどである。
操作部13は、ICカード処理装置1の使用者によって、種々の操作指示及びデータなどが入力される。操作部13は、入力された操作指示及びデータなどを制御部11へ送信する。操作部13は、たとえば、キーボード、テンキー、及び、タッチパネルなどである。
カードリーダライタ14は、ICカード2との通信を行うためのインターフェーズ装置である。カードリーダライタ14は、ICカード2の通信方式に応じたインターフェーズにより構成される。たとえば、ICカード2が接触型のICカードである場合、カードリーダライタ14は、ICカード2のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。
また、ICカード2が非接触型のICカードである場合、カードリーダライタ14は、ICカード2との無線通信を行うためのアンテナおよび通信制御部などにより構成される。カードリーダライタ14では、ICカード2に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ14は、制御部11による制御に基づいてICカード2の活性化(起動)、種々のコマンドの送信、及び送信したコマンドに対する応答(レスポンス)の受信などを行なう。
次に、ICカード2について説明する。
ICカード2は、ICカード処理装置1などの上位装置から電力などの供給を受けて活性化される(動作可能な状態になる)ようになっている。例えば、ICカード2が接触型の通信によりICカード処理装置1と接続される場合、つまり、ICカード2が接触型のICカードで構成される場合、ICカード2は、通信インターフェーズとしてのコンタクト部を介してICカード処理装置1からの動作電源及び動作クロックの供給を受けて活性化される。
また、ICカード2が非接触型の通信方式によりICカード処理装置1と接続される場合、つまり、ICカード2が非接触式のICカードで構成される場合、ICカード2は、通信インターフェーズとしてのアンテナ及び変復調回路などを介してICカード処理装置1からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
次に、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を備えている。これらの各部は、データバスを介して互いに接続されている。
CPU21は、ICカード2全体の制御を司る制御部として機能する。CPU21は、ROM22あるいはNVM24に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。たとえば、CPU21は、ROM22に記憶されているプログラムを実行することにより、ICカード2の動作制御あるいはICカード2の運用形態に応じた種々の処理を行う。なお、各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、CPU21は、ハードウエア回路により実行される機能を制御する。
ROM22は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM22は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード2に組み込まれる。即ち、ROM22に記憶される制御プログラム及び制御データは、予めICカード2の仕様に応じて組み込まれる。
RAM23は、揮発性のメモリである。RAM23は、CPU21の処理中のデータなどを一時的に格納する。たとえば、RAM23は、受信用バッファ、計算用バッファ、送信用バッファなどを備える。受信用バッファとしては、通信部25を通じてICカード処理装置1から送信されたコマンドを保持する。計算用バッファとしては、CPU21が種々の計算をするため一時的な結果を保持する。送信用バッファとしては、通信部25を通じてICカード処理装置1に送信するデータを保持する。
NVM24は、例えば、EEPROM(登録商標)あるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。NVM24は、ICカード2の運用用途に応じて制御プログラム、アプリケーション、及び種々のデータを格納する。
例えば、NVM24では、プログラムファイル及びデータファイルなどが作成される。作成された各ファイルは、制御プログラム及び種々のデータなどが書き込まれる。
通信部25は、ICカード処理装置1のカードリーダライタ14との通信を行うためのインターフェーズである。ICカード2が接触型のICカードとして実現される場合、通信部25は、ICカード処理装置1のカードリーダライタ14と物理的かつ電気的に接触して信号の送受信を行うための通信制御部とコンタクト部とにより構成される。また、ICカード2が非接触型のICカードとして実現される場合、通信部25は、ICカード処理装置1のカードリーダライタ14との無線通信を行うための変復調回路などの通信制御部とアンテナとにより構成される。
次に、ICカード2の初期化から破棄までのライフサイクルについて説明する。
図3は、ICカード2のライフサイクルについて説明するためのフローチャートである。
まず、ICカード2は、モジュールMを筐体に埋設などの製造工程により製造される。
製造直後の状態において、ICカード2は、NVM24内に何もデータが書き込まれていない状態である。製造されたICカード2には、発行処理における最初の発行フェーズとして初期化処理が実行される。すなわち、ICカード処理装置1は、製造されたICカード2に対して初期化処理を実行させる(ステップ1)。初期化処理は、ICカード2のNVM24内のシステム領域に、OSなどの基本的なデータ、プログラム管理テーブル及びプログラムコードなどを書き込む処理である。
初期化処理が完了したICカード2には、次の発行フェーズとして一次発行が行われる。すなわち、ICカード処理装置1は、初期化処理が完了したICカード2に対して一次発行処理を実行させる(ステップ2)。一次発行処理は、ICカード2のNVM24内にファイル定義情報領域にファイル定義情報などを書き込み、ファイル創生などを行う処理である。
一次発行処理が完了したICカード2には、次の発行フェーズとして二次発行が行われる。すなわち、ICカード処理装置1は、一次発行処理が完了したICカード2に対して二次発行処理を実行させる(ステップ3)。二次発行処理は、ICカード2のNVM内のファイルデータ領域に、ICカードの運用に必要なファイルデータなどを書き込む処理である。たとえば、二次発行処理では、運用時に当該ICカードを使用するユーザの情報などが書き込まれる。
二次発行処理が完了したICカード2は、実際に運用が開始される(ステップ4)。たとえば、二次発行が完了したICカード2は、ユーザに手渡され、ICカード2が提供するサービスに沿った運用がなされる。運用を開始したICカード2は、所定の運用条件に従って運用された後に破棄される(ステップ5)。たとえば、ICカード2は、サービスの提供終了、所定の有効期間の経過、あるいは、動作の不具合などが発生した場合に破棄される。
次に、各発行フェーズにおけるICカードに対する書込み処理について概略的に説明する。いてICカード2の内の書き込み対象領域と書き込みを行うコマンドについて説明する。
図4は、各発行フェーズと、ICカード2内のNVM24に対する書き込み領域と、ICカードに対して書き込みを要求するコマンドと、を対応づけた対応テーブルの例を示す図である。
図4に示す例では、初期化フェーズにおいて、ICカード処理装置1は、ICカード2に対して書き込みコマンドを用いて、NVM24にシステム領域を設け、システム領域内にプログラム管理テーブルおよびプログラムコードを書込み、さらに、システム領域外のデータ及びプログラムコード領域に発行処理に必要となるデータ及びプログラムコードを書き込む。また、一次発行フェーズにおいて、ICカード処理装置1は、ICカード2に対してファイル創生コマンドを用いて、NVM24にファイル定義情報領域を設け、ファイル定義情報領域にファイル定義情報を書き込む。また、二次発行フェーズにおいて、ICカード処理装置1は、ICカード2に対して書き込みコマンドを用いて、NVM24にファイルデータ領域を設け、ファイルデータ領域にファイルのデータを書き込む。
以下、各発行フェーズについて詳細に説明する。
まず、初期化処理について説明する。
初期化処理は、ICカード2が基本的な動作を実行するためのデータ(たとえば、OS、OSが直接使用するデータなど)などをNVM24に書き込む処理である。初期化処理は、ICカード2を運用可能な状態にする発行処理において最初の段階で行われる処理である。たとえば、初期化処理は、予め定められている仕様に応じて実行され、製造直後のICカード2に対して行われる。
図5は、初期化処理の例を説明するためのフローチャートである。
まず、ICカード処理装置1の制御部11は、ICカード2のNVM24にシステム領域を書き込ませるための書込みコマンド(システム領域の書込みコマンド)を生成する。
システム領域の書込みコマンドとしては、ICカード2のNVM24にシステム領域を定義し、定義したシステム領域にICカード2の基本的な動作を実行するための基本データを書き込むませるコマンドとする。また、システム領域に書き込む基本データは、当該ICカード2の仕様に応じて設定される情報であり、たとえば、フェーズ管理情報及びプロトコル通信で使用する設定情報などである。システム領域の書き込みコマンドを生成すると、制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ11)。
ICカード2は、通信部25によりICカード処理装置1からのシステム領域の書き込みコマンドを受信する(ステップ51)。ICカード2のCPU21は、受信したシステム領域の書き込みコマンドを実行し、NVM24にシステム領域を定義し、定義したシステム領域に書込みコマンドで指定された基本データを書き込む書込処理を行う(ステップ52)。書き込み処理を実行すると、CPU21は、実行結果を格納したレスポンスを生成する。即ち、CPU21は、書き込みコマンドの実行に成功した場合には、書き込み成功を示すレスポンスを生成し、書き込みコマンドの実行に失敗した場合には、書き込み失敗を示すレスポンスを生成する。書込みコマンドに対するレスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ53)。
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ12)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2がシステム領域の書き込みに成功したか判定する(ステップ13)。システム領域の書き込みが成功したと判定した場合(ステップ13、YES)、制御部11は、ICカード2のNVM24に定義したシステム領域に運用プログラムコードを書き込むための書き込みコマンド(運用プログラムコードの書き込みコマンド)を生成する。運用プログラムコードの書き込みコマンドを生成すると、制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ14)。運用プログラムコードについては後述する。
ICカード2は、通信部25によりICカード処理装置1からの運用プログラムコードの書き込みコマンドを受信する(ステップ54)。ICカード2のCPU21は、受信した書き込みコマンドを実行し、NVM24のシステム領域に運用プログラムコードを書き込む処理を実行する(ステップ55)。運用プログラムコードの書き込み処理を実行すると、CPU21は、運用プログラムコードの書込み処理の実行結果を格納したレスポンスを生成し、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ56)。
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ15)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2が運用プログラムコードの書き込みに成功したか判定する(ステップ16)。運用プログラムコードの書き込みが成功したと判定した場合(ステップ16、YES)、制御部11は、ICカード2に対してNVM24に発行時データの書込みを要求する発行時データの書き込みコマンドを生成する。発行時データは、発行処理で必要であるが運用フェーズでは不要となるデータであり、システム領域外の領域に書き込まれる。発行時データは、たとえば、発行処理用の鍵(第1鍵)情報、発行処理用のプログラムコード及びデータなどである。発行時データの書込みコマンドを生成すると、制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ17)。
ICカード2は、通信部25によりICカード処理装置1からの発行時データの書き込みコマンドを受信する(ステップ57)。発行時データの書込みコマンドを受信すると、ICカード2のCPU21は、受信した書き込みコマンドを実行し、
NVM24のシステム領域外の領域に発行時データを格納する領域(発行時データ領域)を定義し、発行時データ領域に鍵情報、プログラムコード及びデータなどの発行時データを書き込む処理を実行する(ステップ58)。発行時データの書き込み処理を実行すると、CPU21は、書込み処理の実行結果を格納したレスポンスを生成し、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ59)。
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ18)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2が発行時データの書き込みに成功したか判定する(ステップ19)。発行時データの書き込みが成功したと判定した場合(ステップ19、YES)、制御部11は、ICカード2に対してNVM24のシステム領域へのプログラム管理テーブルの書き込みを要求する書き込みコマンド(プログラム管理テーブルの書き込みコマンド)を生成する。制御部11は、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ20)。
ICカード2は、通信部25によりICカード処理装置1からのプログラム管理テーブルの書き込みコマンドを受信する(ステップ60)。ICカード2のCPU21は、受信した書き込みコマンドを実行し、NVM24のシステム領域にプログラム管理テーブルを書き込む処理を実行する(ステップ61)。書き込み処理を実行すると、CPU21は、プログラム管理テーブルの書き込み処理の実行結果を格納したレスポンスを生成し、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ62)。
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ21)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2がプログラム管理テーブルの書き込みに成功したか否かを判定する(ステップ22)。プログラム管理テーブルの書き込みが成功したと判定した場合(ステップ22、YES)、制御部11は、ICカード2に対する初期化処理を正常終了する。
また、システム領域の書き込みが失敗したと判定した場合(ステップ13、NO)、運用プログラムコードの書き込みが失敗したと判定した場合(ステップ16、NO)、発行時データの書き込みが失敗した判定した場合(ステップ19、NO)、あるいは、プログラム管理テーブルの書き込みが失敗した判定した場合(ステップ22、NO)、制御部11は、ICカード2の初期化処理が失敗したことを示す情報を報知する(ステップ23)。たとえば、制御部11は、ディスプレイ12にICカード2の初期化処理が失敗したことを示す情報を表示する。また、ICカード処理装置1の制御部11は、他の機器に当該ICカード2の初期化処理が失敗したことを示す情報を送信してもよい。
なお、上述した初期化フェーズにおける各データの書き込みの順序は、図5に示す順序に限定されるものではなく、適宜書込み順序を入替えて実施するようにしても良い。
次に、初期化処理後のICカードにおけるNVM24の状態について説明する。
図6は、初期化処理後のICカード2のNVM24内に格納されているデータの構成例を示す図である。
図6に示すように、初期化処理後のNVM24は、システム領域31及び発行時データ領域32などを有する。また、NVM24のシステム領域31は、プログラム管理テーブルを格納する記憶領域31a及び運用プログラムコードを格納する記憶領域31bを有する。さらに、NVM24の発行時データ領域32は、鍵情報を格納する記憶領域32a、プログラムコード及びデータを格納する記憶領域32bを有する。
次に、システム領域31の記憶領域31aに格納されるプログラム管理テーブルについて説明する。
図7は、システム領域31の記憶領域31aに格納されるプログラム管理テーブルの例を示す図である。
図7に示すように、記憶領域31aに格納されるプログラム管理テーブルは、コマンド識別情報と、プログラム先頭アドレスと、実行条件とが対応づけられている。コマンド識別情報は、外部装置(たとえば、ICカード処理装置1)から送信されるコマンドを識別するための情報である。プログラム先頭アドレスは、対応するコマンド識別情報が示すコマンドを実行するためのプログラムコードが格納されている領域のNVM24における先頭のアドレスである。実行条件は、対応するコマンドが示すコマンドの処理を実行するためのプログラムコードを実行するための条件である。
プログラム管理テーブルは、CPU21が外部から受信したコマンドを実行するために利用される。たとえば、CPU21は、受信したコマンドにおけるコマンド識別情報を抽出し、抽出したコマンド識別情報とプログラム管理テーブル内のコマンド識別情報とを比較することにより、受信したコマンドを識別する。受信したコマンドを識別すると、CPU21は、プログラム管理テーブルを参照することによって、送信されたコマンドに対応する実行条件を取得し、取得した実行条件が満たされているか判定する。実行条件が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、当該コマンドを実行するためのプログラムコードの先頭アドレスを取得する。プログラムの先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいてNVM24内から当該コマンドを実行するためのプログラムコードを取得し、取得したプログラムコードを実行する。取得したプログラムコードを実行すると、CPU21は、実行結果を格納したレスポンスを生成する。また、実行条件が満たされていないと判定すると、CPU21は、実行条件が満たされていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25により外部装置へ送信する。
たとえば、CPU21がコマンド識別情報として「00 E0」を格納するコマンド(即ち、ファイル創生コマンド)を外部装置から受信した場合、CPU21は、受信したコマンドからコマンド識別情報として「00 E0」を取得する。コマンド識別情報として「00 E0」を取得すると、CPU21は、プログラム管理テーブルを参照することにより、実行条件として「認証コマンド成功時」を取得する。実行条件として「認証コマンド成功時」を取得すると、CPU21は、「認証コマンド成功時」を満たしているか判定する。「認証コマンド成功時」を満たしていると判定すると、CPU21は、プログラム管理テーブルを参照することにより、「00 E0」が示すコマンドに対応するプログラム先頭アドレスとして「CCCC」を取得する。プログラム先頭アドレスとして「CCCC」を取得すると、CPU21は、取得したプログラム先頭アドレス「CCCC」に基づいてNVM24内から「00 E0」が示すコマンドに対応するプログラムコードを取得し、取得したプログラムコードを実行する。取得したプログラムコードを実行すると、CPU21は、実行結果を格納したレスポンスを生成する。また、「認証コマンド成功時」を満たしていないと判定すると、CPU21は、実行条件を満たしていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25により外部装置へ送信する。
なお、運用コマンドA及びBは、ICカード2の通常運用時に使用されるコマンドである。ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドは、ICカード2の発行時に使用されるコマンドであり、ICカード2の通常運用時には使用されないコマンドであるものとする。
次に、NVM24のシステム領域31内の記憶領域31bに格納される運用プログラムコードについて説明する。
NVM24のシステム領域31における記憶領域31bに格納される運用プログラムコードは、ICカード2の運用フェーズで使用される可能性があるコマンド(発行処理後も保持しておくコマンド)を実行するためのプログラムコードである。運用プログラムコードは、たとえば、書き込みコマンドを実行するためのプログラムコード及び取得コマンドを実行するためのプログラムコードなどである。システム領域31の記憶領域31bは、様々なコマンドを実行するため複数の運用プログラムコードを格納している。
本実施形態において、システム領域31内の記憶領域31bは、運用プログラムコードとして、図7に示される運用コマンドA及びBを実行するための各プログラムコードなどを格納する。即ち、運用コマンドAに対応するプログラム先頭アドレス(即ち、「AAAA」)及び運用コマンドBに対応するプログラム先頭アドレス(即ち、「BBBB」)は、共にシステム領域31の記憶領域31b内のアドレスである。
次に、NVM24の発行時データ領域32における記憶領域32aに格納されている第1鍵について説明する。
NVM24の発行時データ領域32における記憶領域32aに格納されている鍵情報は、発行処理を行うための認証処理に利用される鍵である。初期化処理では、記憶領域32aに一次発行を行うための認証処理に利用される第1鍵が鍵情報として書き込まれる。即ち、第1鍵による認証処理が成功した場合、一次発行処理の実行が認められる。一次発行処理における認証処理については後述する。なお、記憶領域32aに記憶される鍵情報は、特定の種類に限定されるものではない。
次に、NVM24の発行時データ領域32における記憶領域32bに格納されているプログラムコードおよびデータについて説明する。
NVM24の発行時データ領域32における記憶領域32bに格納されているプログラムコード及びデータは、ICカード2の発行時に使用されるコマンドを実行するためのプログラムコード及びデータである。ここで、記憶領域32bに格納されているプログラムコードを発行プログラムコードと称するものとする。発行プログラムコードは、たとえば、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドなどの発行処理時に使用されるプログラムコード(運用時には使用しないプログラムコード)である。また、発行時データ領域32の記憶領域32bは、発行プログラム以外にも、発行処理時に使用され、運用時に使用しないデータも格納される。
本実施形態において、発行時データ領域32の記憶領域32bは、発行プログラムコードとして、図7に示されるファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドを実行するための各プログラムコードなどを格納している。即ち、ファイル創生コマンドに対応するプログラム先頭アドレス(即ち、「CCCC」)、認証コマンドに対応するプログラム先頭アドレス(即ち、「DDDD」)、認証用鍵変更コマンドに対応するプログラム先頭アドレス(即ち、「EEEE」)及び消去コマンドに対応するプログラム先頭アドレス(即ち、「FFFF」)は、どれも発行時データ領域32の記憶領域32b内のアドレスである。
次に、一次発行処理について説明する。
一次発行処理は、ICカード2の運用に合わせたファイル構造をICカード2内のNVM24内に創生する処理である。一次発行は、初期化の後に行われる。通常、一次発行は、ICカード2の製造段階で行われる。
図8は、ICカード2の一次発行の例を説明するためのフローチャートである。
まず、ICカード処理装置1の制御部11は、カードリーダライタ14により、一次発行処理を実行するための認証コマンド(即ち、コマンド識別情報が「00 82」であるコマンド)をICカード2へ送信する(ステップ31)。認証コマンドは、NVM24の発行時データ領域32内にある記憶領域32aに格納されている鍵情報としての第1鍵と照合される認証情報を含むものである。当該認証コマンドに含まれる認証情報は、一次発行のための認証処理における認証方式に応じた情報であれば良い。
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)。
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ32)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカードが一次発行時の認証に成功したと判定する(ステップ33)。一次発行時の認証が成功したと判定した場合(ステップ33、YES)、制御部11は、ICカード2内のファイル定義情報領域に所定のファイル定義情報を書き込むためのファイル創生コマンド(即ち、コマンド識別情報が「00 E0」であるコマンド)を生成する。
制御部11は、生成したファイル創生コマンドをカードリーダライタ14によりICカード2へ送信する(ステップ34)。
ICカード2は、通信部25によりICカード処理装置1からのファイル創生コマンドを受信する(ステップ74)。ICカード2のCPU21は、記憶領域31aに格納されているプログラム管理テーブルを参照することによって、ファイル創生コマンドの実行条件を取得する。たとえば、図7に示す例では、ファイル創生コマンドの実行条件が「認証コマンド成功時」であることを認識する。ファイル創生コマンドの実行条件が「認証コマンド成功時」であることを認識すると、CPU21は、「認証コマンド成功時」という条件が満たされているか判定する。たとえば、CPU21は、認証が成功した場合にRAM23内に認証が成功したことを示すデータを格納しておき、当該データを参照することで「認証コマンド成功時」が満たされているか判定するようにしてもよい。
「認証コマンド成功時」という条件が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することにより、ファイル創生コマンドを実行するためのプログラムコードの先頭アドレスを取得する。図7に示す例では、先頭アドレスは「CCCC」である。ファイル創生コマンドを実行するためのプログラムコードの先頭アドレスを取得すると、CPU21は、取得した先頭アドレスからファイル創生コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得したプログラムコードを実行し、当該ファイル創生コマンドに従ったファイル定義情報をファイル定義情報領域に書き込むファイル創生処理を行う(ステップ75)。
ファイル創生コマンドを実行するためのプログラムコードを実行すると、CPU21は、ファイル創生処理の実行結果を格納したレスポンスを生成する。即ち、CPU21は、ファイル創生コマンドの実行に成功した場合には、ファイル創生成功を示すレスポンスを生成し、ファイル創生コマンドの実行に失敗した場合には、ファイル創生失敗を示すレスポンスを生成する。また、「認証コマンド成功時」が満たされていないと判定すると、CPU21は、実行結果として実行条件が満たされていないことを示すレスポンスを生成する。ファイル創生コマンドに対するレスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ76)。
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鍵を決定する方法は、特定の方法に限定されない。
ICカード2は、通信部25によりICカード処理装置1からの認証用鍵変更コマンドを受信する(ステップ77)。ICカード2のCPU21は、プログラム管理テーブルを参照することによって、認証用鍵変更コマンドの実行条件が「認証コマンド成功時」であることを認識する。認証用鍵変更コマンドの実行条件を認識すると、CPU21は、認識した実行条件が満たされているか否かを判定する。「認証コマンド成功時」が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、認証用鍵変更コマンドを実行するためのプログラムコードの先頭アドレスを取得する。図7に示す例では、認証用鍵変更コマンドのプログラムコードの先頭アドレスが「EEEE」となっている。先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいて記憶領域32bから認証用鍵変更コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得したプログラムコードを実行し、発行時データ領域32内の記憶領域32aに記憶されている鍵情報を第1鍵から第2鍵へ書き換える鍵変更処理を行う(ステップ78)。鍵変更処理を実行すると、CPU21は、鍵変更処理の実行結果を格納したレスポンスを生成する。
また、「認証コマンド成功時」が満たされていないと判定すると、CPU21は、実行結果として実行条件が満たされていないことを示すレスポンスを生成する。この場合、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ79)。なお、第2鍵は、認証用鍵変更コマンドを受信したCPU21が生成するようにしても良い。
ICカード処理装置1は、カードリーダライタ14によりICカード2からレスポンスを受信する(ステップ38)。ICカード処理装置1の制御部11は、受信したレスポンスから認証用鍵変更コマンドの実行が成功したか判定する(ステップ39)。
認証用鍵変更コマンドの実行が成功したと判定した場合(ステップ39、YES)、制御部11は、ICカード2に対する一次発行処理を終了する。
また、認証が失敗したと判定した場合(ステップ33、NO)、ファイル創生コマンドの実行が成功しなかったと判定した場合(ステップ36、NO)、或いは、認証用鍵変更コマンドの実行が成功しなかったと判定した場合(ステップ39、NO)、制御部11は、ICカード2の一次発行処理が失敗したことを報知する(ステップ40)。たとえば、制御部11は、ディスプレイ12にICカード2の一次発行処理が失敗したことを示す情報を表示しても良いし、他の機器に当該ICカード2における一次発行処理が失敗したことを示す情報を送信するようにしてもよい。
図9は、一次発行処理後のICカード2のNVM24内に格納されているデータの構成例を示す図である。
一次発行処理が正常に終了すると、NVM24は、ファイル定義情報領域33内にファイル定義情報が格納され、発行時データ領域32内の記憶領域32aには鍵情報として第2鍵が格納される。また、NVM24は、ファイル定義情報によってファイルデータ領域34が定義される。
NVM24内に格納されている各ファイルは、ファイル定義情報領域33に記憶されるそれぞれのファイル定義情報とファイル定義情報で定義されるファイルデータ領域34におけるデータエリアとにより構成される。たとえば、ICカード2では、DF(フォルダ)およびEF(データファイル)により階層構造でファイルを管理する。この場合、DFは、ファイル定義情報領域33に記憶されるDF定義情報で定義され、EFは、ファイル定義情報領域33に記憶されるEF定義情報とそのEF定義情報で定義されるファイルデータ領域34におけるデータエリアとにより構成される。
図10は、ファイル定義情報領域33に格納されるEFのファイル定義情報の構成例を示す図である。
図10に示すように、EFのファイル定義情報は、データの階層構造、データの種別、ファイルID、データの先頭アドレス、データのサイズ、セキュリティ属性、データの個数及びチェックコードなどを備える。データの階層構造は、当該EFが格納されているDFを示す。データの種別は、当該ファイルのデータ構造(たとえば、バイナリ構造、TLV構造など)を示す。ファイルIDは、当該EFを特定するためのユニークな識別情報である。データのサイズは、当該EFのデータエリアのサイズを示す。セキュリティ属性は、認証状態などを示すセキュリティステータスを示す。データの個数は、当該EFがデータエリアとして使用するデータブロックの数を示す。チェックコードは、当該ファイル定義情報の正当性をチェックするためのデータ(たとえば、CRC、パリティなど)である。
次に、一次発行処理後にNVM24の発行時データ領域32における記憶領域32aに格納される第2鍵について説明する。
一次発行処理後のNVM24の発行時データ領域32における記憶領域32aに格納される第2鍵は、二次発行処理を行うための認証処理に利用される。即ち、第2鍵による認証処理が成功した場合に、二次発行処理が実行される。
次に、二次発行処理について説明する。
二次発行処理は、ICカード2を運用するために必要なデータをICカード2内のNVM24に書き込む処理である。二次発行処理は、一次発行処理の後に行われる。たとえば、二次発行処理は、ICカード2を用いてサービスを提供するサービス提供元としての個々の事業者などによって行われる。
図11は、二次発行処理の例を説明するためのフローチャートである。
まず、ICカード処理装置1の制御部11は、カードリーダライタ14により二次発行処理に対応する認証情報を格納した認証コマンド(即ち、コマンド識別情報が「00 82」であるコマンド)をICカード2へ送信する(ステップ41)。当該認証コマンドは、二次発行処理を実行するための認証処理を要求するコマンドであり、ICカード2のNVM24の発行時データ領域32における記憶領域32aに格納される鍵情報としての第2鍵と照合される認証情報を含む。認証コマンドに含まれる認証情報は、二次発行処理のための認証処理における認証方式に対応する情報であれば良い。
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)。
ICカード処理装置1は、カードリーダライタ14によりICカード2からのレスポンスを受信する(ステップ42)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2における認証が成功したか否か判定する(ステップ43)。認証が成功したと判定した場合(ステップ43、YES)、制御部11は、ICカード2のNVM24に格納されている発行時に必要なデータ(運用時には使用しないデータ)を消去させるための消去コマンド(即ち、コマンド識別情報が「00 00」であるコマンド)をカードリーダライタ14によりICカード2へ送信する(ステップ44)。
ICカード2は、通信部25によりICカード処理装置1からの消去コマンドを受信する(ステップ84)。ICカード2のCPU21は、NVM24の記憶領域31aに格納されているプログラム管理テーブルを参照することによって、受信したコマンドが消去コマンドであると認識し、当該消去コマンドの実行条件を取得する。消去コマンドの実行条件を取得すると、CPU21は、取得した実行条件が満たされているか否かを判定する。
たとえば、図7に示す例では、消去コマンドの実行条件として「認証コマンド成功時」が格納されている。このため、CPU21は、消去コマンドの実行条件として「認証コマンド成功時」を取得し、「認証コマンド成功時」が満たされているか否かを判定する。
受信した消去コマンドの実行条件(「認証コマンド成功時」)が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、消去コマンドを実行するためのプログラムコードの先頭アドレスを取得する。図7に示す例では、消去コマンドのプログラムコードの先頭アドレスは「FFFF」である。先頭アドレスを取得すると、CPU21は、取得した先頭アドレスに基づいて、NVM24の記憶領域32bから消去コマンドを実行するためのプログラムコードを取得する。プログラムコードを取得すると、CPU21は、取得した消去コマンドを実行するためのプログラムコードを実行することにより消去処理を行う(ステップ85)。消去コマンドに対する消去処理は、発行処理時に使用され、運用時には使用されない発行時データを消去する処理である。また、消去処理では、発行時データに含まれる発行プログラムコードの管理情報も消去するものとする。
即ち、CPU21は、取得した消去コマンドを実行するためのプログラムコードに従って、システム領域31内の記憶領域31aに格納されているプログラム管理テーブルから発行時に必要なコマンド識別情報と当該コマンド識別情報に対応するプログラム先頭アドレス及び実行条件を消去する。つまり、図7に示すプログラム管理テーブルにおいては、CPU21は、プログラム管理テーブルから、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドの各識別情報と各コマンドに対応するプログラム先頭アドレス及び実行条件を消去する。
また、CPU21は、取得した消去コマンドを実行するためのプログラムコードに従って、ファイルデータ領域34内にある発行時データ領域32に格納されている全てのデータを消去する。たとえば、CPU21は、発行時データ領域32を全て「FF」(又は、「00」)で上書きする。発行時データ領域32内にある記憶領域32aに格納されている第2鍵及び記憶領域32bに格納されている発行プログラムコードなどの発行時に必要なデータは、全て消去される。
消去コマンドに対する消去処理を正常に終了した場合、CPU21は、消去コマンドの実行結果を格納したレスポンスを生成する。また、消去コマンドに対する消去処理が正常に終了しなかった場合、つまり、消去処理中にエラーが発生した場合、CPU21は、消去コマンドの実行結果として処理エラーが発生したことを示すレスポンスを作成する。また、消去コマンドの実行条件(「認証コマンド成功時」)が満たされていないと判定した場合、CPU21は、消去コマンドの実行結果として実行条件が満たされていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ86)。
なお、消去コマンドに対する消去処理の内容は、予め決められた内容であれば良く、上述した処理内容に限定されるものではない。たとえば、消去コマンドに対応する消去処理によって削除するデータは、運用時に使用しないデータであれば良く、運用時に使用しない全てのデータを消去するようにしても良いし、運用時に使用しないデータのうち一部のデータを消去するものでも良い。また、消去コマンドに対応する消去処理は、発行時データ領域32における一部のデータを削除するようにしてもよいし、記憶領域31bに記憶した一部のプログラムコード(運用で使用しないプログラムコード)を削除するようにしてもよい。また、消去処理によりCPU21が各データを削除する順序は、特定の順序に限定されるものでもない。
ICカード処理装置1は、カードリーダライタ14によりICカード2からの消去コマンドに対するレスポンスを受信する(ステップ45)。ICカード処理装置1の制御部11は、受信したレスポンスによりICカード2における消去処理が成功したか否かを判定する(ステップ46)。消去処理が成功したと判定した場合(ステップ46、YES)、制御部11は、ファイルデータ領域内にファイルデータを書き込むための書き込みコマンドを生成し、生成した書き込みコマンドをカードリーダライタ14によりICカード2へ送信する(ステップ47)。
ICカード2は、通信部25によりICカード処理装置1からのファイルデータの書き込みコマンドを受信する(ステップ87)。ICカード2のCPU21は、プログラム管理テーブルすることによって、受信したコマンドが書き込みコマンドであると認識し、当該書き込みコマンドの実行条件を取得する。当該書き込みコマンドの実行条件を取得すると、CPU21は、取得した実行条件が満たされているか否かを判定する。取得した実行条件が満たされていると判定すると、CPU21は、プログラム管理テーブルを参照することによって、書き込みコマンドを実行するためのプログラムコードの先頭アドレスを取得し、取得した先頭アドレスに基づいて記憶領域31bから書き込みコマンドを実行するためのプログラムコードを取得する。
なお、本実施形態では、消去コマンドによる消去処理の後にファイルデータの書き込み処理を行う。このため、ファイルデータの書き込みコマンドは、プログラム管理テーブルにおける管理情報およびプログラムコードが、消去コマンドによる消去処理で消去されないものとする。たとえば、本実施形態において、ファイルデータの書き込みコマンドは、プログラム管理テーブルにおける管理情報が消去されないものとし、プログラムコードも消去処理で消去されないようにNVM24のシステム領域31における記憶領域31bに格納すれば良い。
ただし、ファイルデータの書き込みコマンドによる書き込み処理は、消去コマンドによる消去処理の後に行うようにしても良い。この場合、ファイルデータの書き込みコマンドによる書き込み処理では、発行時データ領域を避けてデータを書き込む必要があるが、書込み処理後の消去コマンドによる消去処理では、記憶領域32bに格納したファイルデータの書き込みコマンドに対応するプログラムコードおよび管理情報を消去するようにできる。
ファイルデータの書込みコマンドのプログラムコードを取得すると、CPU21は、取得したプログラムコードによりファイルデータの書込み処理を実行する(ステップ88)。ファイルデータの書込み処理としては、NVM24のファイルデータ領域に個別データなどのファイルデータを書き込む。ファイルデータの書き込み処理を正常終了すると、CPU21は、ファイルデータの書込み処理が正常終了であることを示す実行結果を格納したレスポンスを生成する。また、ファイルデータの書き込み処理においてエラーが発生すると、CPU21は、ファイルデータの書込み処理がエラー終了となったことを示す実行結果を格納したレスポンスを生成する。また、書き込みコマンドの実行条件が満たされていないと判定すると、CPU21は、書込みコマンドの実行条件が満たされていないことを示すレスポンスを生成する。レスポンスを生成すると、CPU21は、生成したレスポンスを通信部25によりICカード処理装置1へ送信する(ステップ89)。
ICカード処理装置1は、カードリーダライタ14によりICカード2からの書き込みコマンドに対するレスポンスを受信する(ステップ48)。ICカード2の制御部11は、受信したレスポンスによりICカード2におけるファイルデータの書き込み処理が正常終了(成功)したか否かを判定する(ステップ49)。
ファイルデータの書き込み処理が正常終了したと判定した場合(ステップ49、YES)、制御部11は、当該ICカード2に対する二次発行処理を正常終了する。
また、認証が失敗したと判定した場合(ステップ43、NO)、消去コマンドによる消去処理が正常終了しなかったと判定した場合(ステップ46、NO)、あるいは、ファイルデータの書き込み処理が正常終了しなかったと判定した場合(ステップ49、NO)、制御部11は、ICカード2に対する二次発行処理が失敗したことを示す情報を報知する(ステップ50)。たとえば、制御部11は、ディスプレイ12にICカード2の二次発行処理が失敗したことを示す情報を提示する。また、制御部11は、外部の機器にICカード2の二次発行処理が失敗したことを示す情報を送信するようにしてもよい。
次に、二次発行処理後のNVM24の状態について説明する。
図12は、二次発行フェーズ後のICカード2のNVM24に格納されているデータの構成例を示す図である。
二次発行処理が終了すると、NVM24は、ファイルデータ領域34内の発行時データ領域32に格納されていた発行時データを消去され、ファイルデータ領域34にはファイルデータが書き込まれている。
ファイルデータ領域34に格納されているファイルデータは、各ファイル定義情報で定義されるデータエリアに書き込まれている。即ち、NVM24内の各ファイルは、ファイル定義情報とファイルデータとを備え、ファイルとして成立する。
図13は、ファイルデータ領域34に格納されているEFのファイルデータの構成例を示す図である。
図13に示すように、ファイルデータは、データのサイズ、データ管理情報、データ本体及びチェックコードなどを備える。データのサイズは、ファイルデータのサイズを示す。データ管理情報は、何番目のレコードまでデータが書き込まれたかを示す。データ本体は、ファイルに格納されている実データである。チェックコードは、当該ファイル定義情報の正当性をチェックするためのデータ(たとえば、CRC、パリティなど)である。
なお、ICカード2のCPU21が認証処理に成功したと判定した場合、ICカード処理装置1からの消去コマンドを待つことなく、消去コマンドに対応するプログラムコードを実行してもよい。この場合、ICカード処理装置1は、消去コマンドをICカード2へ送信しなくともよい。
以上の処理によれば、ICカードは、NVMから、運用時には使用されない発行時に使用するプログラムコード及びデータを消去することができる。これにより、本実施形態に係るICカードは、発行後に当該プログラムコード及びデータに不正にアクセスされることがなく、セキュリティ性を向上できる。また、本実施形態に係るICカードは、運用時に不要なデータをNVM内に保有することなく、発行時データを記憶した領域をファイルデータ領域として利用することができ、発行時データがNVMのデータ容量を圧迫することなく、効率良くNVMの記憶領域を利用できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
発行処理に使用する発行時データを記憶する不揮発性メモリと、
前記不揮発性メモリに記憶されている発行時データを用いて発行処理を実行する処理手段と、
前記処理手段が実行する発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、
を有するICカード。
[C2]
前記消去手段は、前記不揮発性メモリにおける前記発行時データが書き込まれた領域を、当該ICカードの運用においてデータを格納するデータ領域として利用できるように前記発行処理に使用するデータを消去する、
前記C1に記載のICカード。
[C3]
前記消去手段は、外部装置から供給される消去コマンドに応じて前記発行時データを消去する処理を実行する、
前記C1又は2の何れかに記載のICカード。
[C4]
前記不揮発性メモリは、システム領域、ファイル定義領域、および、ファイルデータ領域が設けられ、前記発行時データはファイルデータ領域に書き込まれ、
前記消去手段は、前記ファイルデータ領域における前記発行時データに消去する、
前記C1乃至3の何れか1項に記載のICカード。
[C5]
前記発行時データは、前記発行処理における認証処理に用いる鍵情報を含む、
前記C1乃至4の何れか1項に記載のICカード。
[C6]
発行処理に使用する発行時データを記憶する不揮発性メモリと、前記不揮発性メモリに記憶した発行時データを用いて前記発行処理を実行する処理手段と、前記処理手段が実行する発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、を備えるモジュールと、
前記モジュールを収納した本体と、
を有するICカード。
[C7]
発行処理に使用する発行時データを記憶する不揮発性メモリと、
前記不揮発性メモリに記憶されている発行時データを用いて前記発行処理を実行する処理手段と、
前記処理手段が実行する発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、
を有する携帯可能電子装置。
[C8]
発行処理に使用する発行時データを記憶する不揮発性メモリを有するICカードに対して前記発行時データを用いた処理を実行させるコマンドを送信する第1の送信手段と、
前記第1の送信手段により送信したコマンドに対する処理結果を示すレスポンスを受信する受信手段と、
前記受信手段により前記発行時データを用いた処理が正常終了したことを示すレスポンスを受信した場合、前記ICカードに対して前記不揮発性メモリから前記発行時データを消去させる消去コマンドを送信する第2の送信手段と、
を有するICカード処理装置。
[C9]
前記発行時データは、認証処理に用いる鍵情報であり、
前記第1の送信手段は、前記鍵情報を用いた認証処理を要求するコマンドを送信し、
前記第2の送信手段は、前記鍵情報を用いた認証処理が成功した場合、前記発行時データとしての鍵情報を消去させる消去コマンドを送信する、
前記C8に記載のICカード処理装置。
1…ICカード処理装置(外部装置)、2…ICカード(携帯可能電子装置)、11…制御部、12…ディスプレイ、13…キーボード、14…カードリーダライタ、C…本体、Ca…ICチップ、M…モジュール、21…CPU、22…ROM、23…RAM、24…NVM、25…通信部。

Claims (9)

  1. 発行処理に使用する発行時データを記憶する不揮発性メモリと、
    前記不揮発性メモリに記憶されている発行時データを用いて発行処理を実行する処理手段と、
    前記処理手段が実行する発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、
    を有し、
    前記発行時データは、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドの少なくとも1つを実行するプログラムコードを含む、
    ICカード。
  2. 前記消去手段は、前記不揮発性メモリにおける前記発行時データが書き込まれた領域を、前記ICカードの運用においてデータを格納するデータ領域として利用できるように前記発行処理に使用するデータを消去する、
    前記請求項1に記載のICカード。
  3. 前記消去手段は、外部装置から供給される消去コマンドに応じて前記発行時データを消去する処理を実行する、
    前記請求項1又は2の何れかに記載のICカード。
  4. 前記不揮発性メモリは、システム領域、ファイル定義領域、および、ファイルデータ領域が設けられ、前記発行時データはファイルデータ領域に書き込まれ、
    前記消去手段は、前記ファイルデータ領域における前記発行時データに消去する、
    前記請求項1乃至3の何れか1項に記載のICカード。
  5. 前記発行時データは、前記発行処理における認証処理に用いる鍵情報を含む、
    前記請求項1乃至4の何れか1項に記載のICカード。
  6. 発行処理に使用する発行時データを記憶する不揮発性メモリと、前記不揮発性メモリに記憶した発行時データを用いて前記発行処理を実行する処理手段と、前記処理手段が実行する前記発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、を備えるモジュールと、
    前記モジュールを収納した本体と、
    を有し、
    前記発行時データは、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドの少なくとも1つを実行するプログラムコードを含む、
    ICカード。
  7. 発行処理に使用する発行時データを記憶する不揮発性メモリと、
    前記不揮発性メモリに記憶されている発行時データを用いて前記発行処理を実行する処理手段と、
    前記処理手段が実行する前記発行処理によって前記不揮発性メモリに記憶した前記発行時データの使用が終了した後、前記不揮発性メモリから前記発行時データを消去する消去手段と、
    を有し、
    前記発行時データは、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドの少なくとも1つを実行するプログラムコードを含む、
    携帯可能電子装置。
  8. 発行処理に使用する発行時データを記憶する不揮発性メモリを有するICカードに対して前記発行時データを用いた処理を実行させるコマンドを送信する第1の送信手段と、
    前記第1の送信手段により送信したコマンドに対する処理結果を示すレスポンスを受信する受信手段と、
    前記受信手段により前記発行時データを用いた処理が正常終了したことを示すレスポンスを受信した場合、前記ICカードに対して前記不揮発性メモリから前記発行時データを消去させる消去コマンドを送信する第2の送信手段と、
    を有し、
    前記発行時データは、ファイル創生コマンド、認証コマンド、認証用鍵変更コマンド及び消去コマンドの少なくとも1つを実行するプログラムコードを含む、
    ICカード処理装置。
  9. 前記発行時データは、認証処理に用いる鍵情報であり、
    前記第1の送信手段は、前記鍵情報を用いた認証処理を要求するコマンドを送信し、
    前記第2の送信手段は、前記鍵情報を用いた認証処理が成功した場合、前記発行時データとしての前記鍵情報を消去させる消去コマンドを送信する、
    前記請求項8に記載のICカード処理装置。
JP2016048245A 2016-03-11 2016-03-11 Icカード、携帯可能電子装置、及びicカード処理装置 Pending JP2016129072A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016048245A JP2016129072A (ja) 2016-03-11 2016-03-11 Icカード、携帯可能電子装置、及びicカード処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016048245A JP2016129072A (ja) 2016-03-11 2016-03-11 Icカード、携帯可能電子装置、及びicカード処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012205534A Division JP2014059806A (ja) 2012-09-19 2012-09-19 Icカード、携帯可能電子装置、及びicカード処理装置

Publications (1)

Publication Number Publication Date
JP2016129072A true JP2016129072A (ja) 2016-07-14

Family

ID=56384416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016048245A Pending JP2016129072A (ja) 2016-03-11 2016-03-11 Icカード、携帯可能電子装置、及びicカード処理装置

Country Status (1)

Country Link
JP (1) JP2016129072A (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0237484A (ja) * 1988-07-27 1990-02-07 Hitachi Maxell Ltd Icカード
JPH0440587A (ja) * 1990-06-07 1992-02-10 Toshiba Corp 携帯可能電子装置
JPH1031626A (ja) * 1996-07-17 1998-02-03 Nippon Telegr & Teleph Corp <Ntt> Icカードシステム
JP2004038286A (ja) * 2002-06-28 2004-02-05 Toshiba Corp 携帯可能電子媒体及び携帯可能電子媒体の発行システム
JP2004178373A (ja) * 2002-11-28 2004-06-24 Konica Minolta Holdings Inc Idカード、idカード発行装置、及びidカード発行方法
JP2004227306A (ja) * 2003-01-23 2004-08-12 Toppan Printing Co Ltd ダウンロードプログラム消去機能付きicカード及び同カードにおけるダウンロードプログラム消去方法
JP2005285056A (ja) * 2004-03-31 2005-10-13 Hitachi Ltd 認証システム、データ管理方法、および電子鍵システム
JP2005338925A (ja) * 2004-05-24 2005-12-08 Toshiba Corp 携帯可能電子装置
JP2006127209A (ja) * 2004-10-29 2006-05-18 Sharp Corp Icカード、icカードセキュリティ用システム、icカード輸送安全性確保方法、制御プログラムおよび可読記録媒体
JP3913363B2 (ja) * 1998-06-18 2007-05-09 株式会社エヌ・ティ・ティ・データ 記録媒体の受け渡し方法、発行システム及びその構成部品

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0237484A (ja) * 1988-07-27 1990-02-07 Hitachi Maxell Ltd Icカード
JPH0440587A (ja) * 1990-06-07 1992-02-10 Toshiba Corp 携帯可能電子装置
JPH1031626A (ja) * 1996-07-17 1998-02-03 Nippon Telegr & Teleph Corp <Ntt> Icカードシステム
JP3913363B2 (ja) * 1998-06-18 2007-05-09 株式会社エヌ・ティ・ティ・データ 記録媒体の受け渡し方法、発行システム及びその構成部品
JP2004038286A (ja) * 2002-06-28 2004-02-05 Toshiba Corp 携帯可能電子媒体及び携帯可能電子媒体の発行システム
JP2004178373A (ja) * 2002-11-28 2004-06-24 Konica Minolta Holdings Inc Idカード、idカード発行装置、及びidカード発行方法
JP2004227306A (ja) * 2003-01-23 2004-08-12 Toppan Printing Co Ltd ダウンロードプログラム消去機能付きicカード及び同カードにおけるダウンロードプログラム消去方法
JP2005285056A (ja) * 2004-03-31 2005-10-13 Hitachi Ltd 認証システム、データ管理方法、および電子鍵システム
JP2005338925A (ja) * 2004-05-24 2005-12-08 Toshiba Corp 携帯可能電子装置
JP2006127209A (ja) * 2004-10-29 2006-05-18 Sharp Corp Icカード、icカードセキュリティ用システム、icカード輸送安全性確保方法、制御プログラムおよび可読記録媒体

Similar Documents

Publication Publication Date Title
JP5843674B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法
JP5454933B2 (ja) 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法
JP4896837B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
JP2014059806A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP6426411B2 (ja) Icカード及び携帯可能電子装置
JP2016177850A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP2016129072A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP2011013831A (ja) 携帯可能電子装置、および、携帯可能電子装置におけるデータ処理方法
JP6325394B2 (ja) Icカード、携帯可能電子装置、及び、icカード処理装置
JP6370669B2 (ja) Icカード、携帯可能電子装置、及び、icカード処理装置
JP5932588B2 (ja) Icカード、携帯可能電子装置、及びicカード処理装置
US20220309312A1 (en) Ic card and control program for ic card
JP5957347B2 (ja) Icカード、および携帯可能電子装置
JP2004185419A (ja) 携帯可能電子媒体と、その携帯可能電子媒体の発行システム、処理方法及び発行方法
JP6845021B2 (ja) 電子装置、icカードおよび情報処理システム
JP2018156387A (ja) Icカード、携帯可能電子装置、プログラム、処理装置及び処理システム
JP6039036B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法
JP5038918B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2022178821A (ja) セキュアエレメント,トランザクション制御方法およびデバイス
JP2013164686A (ja) Icカードおよび携帯可能電子装置
JP2018152142A (ja) Icカード、携帯可能電子装置、及び、icカード処理装置
JP5306151B2 (ja) 携帯可能電子装置
JP2008310597A (ja) 携帯可能電子装置および携帯可能電子装置の制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170221