(57)【要約】【課題】ＮＶＭに格納した初期応答データに異常が発生しても、この時のリーダライタとの通信を確立できる初期応答データを出力するＩＣカードを提供する。【解決手段】ＩＣカード１は、カードプロファイルが定義された初期応答を出力するライフサイクル状態毎に、ライフサイクル状態における通信プロトコルのみを定義した初期応答データを格納したＲＯＭ１０と、通信プロトコルとカードプロファイルを定義した初期応答データを格納する初期応答データファイル１３が生成されたＮＶＭ１１と、リセット信号が入力されると、初期応答データファイルに格納されている初期応答データの異常を判定した後、異常がなければ、初期応答データファイルの初期応答データを出力し、異常があれば、ＲＯＭ１０に格納されている初期応答データの中から、この時のライフサイクル状態に対応する初期応答データを出力する初期応答手段１２を備えている。【選択図】図４
2014026393.tif 000002
【特許請求の範囲】
【請求項１】
カードプロファイルが定義された初期応答を出力するライフサイクル状態毎に、前記ライフサイクル状態における通信プロトコルのみを定義した初期応答データを格納したＲＯＭ（ReadOnly Memory）と、
通信プロトコルとカードプロファイルを定義した初期応答データを格納する初期応答データファイルが生成されたＮＶＭ（Non-volatile memory）と、
リセット信号が入力されると、前記初期応答データファイルに格納されている初期応答データの異常を判定した後、前記初期応答データファイルの初期応答データに異常がなければ、前記初期応答データファイルの初期応答データを出力し、異常があれば、前記ＲＯＭに格納されている初期応答データの中から、この時のライフサイクル状態に対応する初期応答データを出力する初期応答手段と、
を備えたことを特徴とするＩＣカード。
【請求項２】
前記初期応答データファイルが前記ＮＶＭに生成されていないときに出力する初期応答データを前記ＲＯＭに格納し、前記初期応答手段は、前記初期応答データファイルが前記ＮＶＭに生成されていなければ、前記ＲＯＭに格納されている初期応答データの中から、前記初期応答データファイルが前記ＮＶＭに生成されていないときに出力する初期応答データを出力することを特徴とする、請求項１に記載したＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信プロトコルやカードプロファイルを定義する初期応答データをＩＣカードが出力するための技術に関する。
【背景技術】
【０００２】
ＩＣカードは、リーダライタからリセット信号を受けると、通信プロトコルやカードプロファイルを定義する初期応答データ（ATR, Answer To Reset）をリーダライタへ送信し、リーダライタとの通信を確立する。
【０００３】
ＩＣカードのライフサイクルのフェーズに応じてＩＣカードの通信相手は変わるため、ＩＣカードが出力する初期応答データの内容は、ＩＣカードのライフサイクルのフェーズに応じて変更になる。
【０００４】
図７は、ＩＣカードのライフサイクルを説明する図である。ＩＣカードのライフサイクルには、ＩＣカードが初期応答データを出力するフェーズとして、ＩＣカードを製造する製造フェーズ２ａ、ＩＣカードを発行する発行フェーズ２ｂ、そして、ＩＣカードを運用する運用フェーズ２ｃが含まれる。
【０００５】
製造フェーズ２ａでは、ＩＣチップがカード媒体にエンベットされた後、ＩＣカードに基本情報（例えば、カード番号）を書き込む初期化処理が実施され、初期化処理の最終工程で、ＩＣカードのライフサイクル状態は「製造」から「発行」に書き換えられる。
【０００６】
初期化処理を行う際、ＩＣカードは、カード製造会社独自のプロトコルしか受け付けないため、製造フェーズ２ａにおいてＩＣカードが出力する初期応答データ、すなわち、ＩＣカードのライフサイクル状態が「製造」の時にＩＣカードが出力する初期応答データは、カード製造会社の独自プロトコルに準じた初期応答データになる。
【０００７】
発行フェーズ２ｂでは、ＩＣカードにアプリケーションや個人情報を書き込む発行処理が実施され、発行処理の最終工程で、ＩＣカードのライフサイクル状態は「発行」から「運用」に書き換えられる。
【０００８】
発行処理では、アプリケーションや公開鍵証明証などサイズの大きい情報をＩＣカードに書き込むことが多いため、発行フェーズ２ｂにおいてＩＣカードが出力する初期応答データ、すなわち、ライフサイクル状態が「発行」の時にＩＣカードが出力する初期応答データは、ＩＣカードのイッシュアの規格外である高速通信に準じた初期応答データになる。
【０００９】
運用フェーズ２ｃでは、フィールドでＩＣカードが利用されるため、運用フェーズ２ｃにおいてＩＣカードが出力する初期応答データ、すなわち、ライフサイクル状態が「運用」の時にＩＣカードが出力する初期応答データは、ＩＣカードのイッシュアにかかる規格（例えば、ＥＭＶ）に準じた初期応答データになる。
【００１０】
このように、ＩＣカードのライフサイクル状態に応じて初期応答データは変更になるため、読み出し専用のメモリであるＲＯＭ（ReadOnly Memory）と、電気的に書き換え可能な不揮発性メモリであるＮＶＭ（Non-volatile memory）に初期応答データを格納可能とし、ＮＶＭに格納された初期応答データを優先的に出力するＩＣカードが既に開示されている（特許文献１）。
【００１１】
特許文献１によれば、ライフサイクル状態が「製造」の時に出力する初期応答データをＲＯＭに格納しておき、初期化処理において、ライフサイクル状態が「発行」の時に出力する初期応答データをＮＶＭに格納し、発行処理において、ライフサイクル状態が「運用」の時に出力する初期応答データをＮＶＭに格納することで、ＩＣカードのライフサイクル状態に応じて初期応答データを変更できる。
【００１２】
しかし、ＮＶＭの信頼性はＲＯＭよりも低く、ＮＶＭに初期応答データを格納できるようにすると、初期応答データの設定ミスやＮＶＭの故障などにより、ＮＶＭに格納した初期応答データに異常が発生することがあるため、何らかの対策が必要になる。
【００１３】
特許文献１では、ＮＶＭに格納した初期応答データの異常に対する対策として、ＮＶＭに登録された初期応答データが異常の場合、ＲＯＭに登録された初期応答データをリーダライタへ送信する旨が記載されているが、ライフサイクル状態が「運用」の時に、ＮＶＭに格納した初期応答データに異常が発生すると、ＲＯＭに格納された初期応答データ、すなわち、カード製造会社の独自プロトコルに準じた初期応答データが運用時のリーダライタへ送信されてしまい、リーダライタ側でこの初期応答データを解釈できずに、ＩＣカードの処理が中止されてしまう問題があった。
【００１４】
ライフサイクル状態に応じた初期応答データを出力する発明として、特許文献２において、ＩＣカードが使用者状態であるのか、製造者状態であるかを判定し、判定結果に対応した初期応答データを出力するＩＣカードが開示されているが、これは、ＮＶＭに格納した初期応答データに異常が発生した場合、ＩＣカードに記憶されているライフサイクル状態に対応した初期応答データを出力する発明ではない。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特許第３０４８５５０号公報
【特許文献２】特開平８−８７５７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
そこで、本発明は、読み出し専用のメモリであるＲＯＭと電気的に書き換え可能な不揮発性メモリであるＮＶＭに初期応答データを格納でき、ＮＶＭに格納された初期応答データを優先的に出力するように構成されたＩＣカードにおいて、ＮＶＭに格納した初期応答データに異常が発生しても、この時のリーダライタとの通信を確立できる初期応答データを出力するＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決する本発明にかかるＩＣカードは、カードプロファイルが定義された初期応答を出力するライフサイクル状態毎に、前記ライフサイクル状態における通信プロトコルのみを定義した初期応答データを格納したＲＯＭ（ReadOnly Memory）と、通信プロトコルとカードプロファイルを定義した初期応答データを格納する初期応答データファイルが生成されたＮＶＭ（Non-volatile memory）と、リセット信号が入力されると、前記初期応答データファイルに格納されている初期応答データの異常を判定した後、前記初期応答データファイルの初期応答データに異常がなければ、前記初期応答データファイルの初期応答データを出力し、異常があれば、前記ＲＯＭに格納されている初期応答データの中から、この時のライフサイクル状態に対応する初期応答データを出力する初期応答手段を備えたことを特徴とするＩＣカードである。
【００１８】
なお、本発明において、前記初期応答データファイルが前記ＮＶＭに生成されていない場合であっても初期応答データを出力できるように、前記初期応答データファイルが前記ＮＶＭに生成されていないときに出力する初期応答データを前記ＲＯＭに格納し、前記初期応答手段は、前記初期応答データファイルが前記ＮＶＭに生成されていなければ、前記ＲＯＭに格納されている初期応答データの中から、前記初期応答データファイルが前記ＮＶＭに生成されていないときに出力する初期応答データを出力するできることが好適である。
【発明の効果】
【００１９】
上述した本発明によれば、初期応答データファイルに格納された初期応答データに異常がある場合であっても、ＲＯＭに格納された初期応答データの中から、ＩＣカードのライフサイクル状態に対応し、通信プロトコルを定義するインターフェースキャラクタが記述された初期応答データが出力されるため、リーダライタ側でこの初期応答データを解釈できずに、ＩＣカードの処理が中止されてしまうことを防止できる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態にかかるＩＣカードを説明する図。
【図２】ＩＣカードのハードウェア構成を説明する図。
【図３】初期応答データの構造を説明する図。
【図４】ＩＣカードに備えられた機能を説明する図。
【図５】ＩＣカードが初期応答データを出力する動作を説明する図。
【図６】ＩＣカードから出力される初期応答データを説明する図。
【図７】ＩＣカードのライフサイクルを説明する図。
【発明を実施するための形態】
【００２１】
ここから、本発明の好適な実施形態について、図面を参照しながら詳細に説明する。
【００２２】
図１は、本実施形態にかかるＩＣカード１を説明する図である。本実施態に係るＩＣカード１は、接触端子１ａを介してリーダライタと通信する接触型で、このＩＣカード１には、接触端子１ａと接続するＩＣチップ１ｂが実装されている。
【００２３】
図１では、ＩＳＯ／ＩＥＣ７８１６−２で規格化されているＩＤカード型としてＩＣカード１を図示しているが、ＩＣカード１は、ＩＳＯ／ＩＥＣ７８１６−２で規格化されているＰｌｕｇ-ｉｎ型やＭｉｎｉ型であってもよい。
【００２４】
図２は、ＩＣカード１のハードウェア構成を説明する図である。ＩＣカード１に実装されるＩＣチップ１ｂは、初期応答データを格納するメモリとして、ＥＥＰＲＯＭやフラッシュメモリなど電気的に書き換え可能な不揮発性メモリであるＮＶＭ１１と、電気的に書換え不可能な不揮発性メモリであるＲＯＭ１０に加え、演算機能を有し様々な処理を実行するＣＰＵ１ｃ（Central Processing Unit）と、揮発性メモリであるＲＡＭ１ｄ（Random Access Memory）と、時間を計測するタイマー１ｅと、暗号演算の機能に特化したコプロセッサ１ｆと、接触端子１ａと接続して信号の入出力を行うＩ／Ｏポート１ｇを有している。
【００２５】
本実施形態のＩＣカード１は、通信プロトコルとカードプロファイルが定義された初期応答を出力するライフサイクル状態毎に、カードプロファイルの定義を除いた初期応答データを格納したＲＯＭ１０と、通信プロトコルとカードプロファイルを定義した初期応答データを格納するＮＶＭ１１を備え、初期応答データファイルに格納された初期応答データを優先的に出力するように構成されたカードで、ＮＶＭ１１に格納した初期応答データに異常が発生した場合、ＲＯＭ１０に格納された初期応答データの中から、この時のライフサイクル状態に応じた初期応答データを出力するように構成されている。
【００２６】
ＩＣカード１が出力する初期応答データの構造について説明する。図３は、初期応答データの構造を説明する図で、図３で図示した初期応答データはＩＳＯ７８１６−３に準じている。
【００２７】
図３で図示したように、初期応答データには、正順または逆順を示すイニシャルキャラクタ（ＴＳ）、カードプロファイルを定義するヒストリカルキャラクタのバイト数等を示すフォーマットキャラクタ（ＴＯ）に続き、通信プロトコルを定義するキャラクタとして、クロックレートやビットレートを指定するＴＡｉ、プログラム電圧を指定するＴＢｉ、ガード時間を指定するＴＣｉ、および、ｉ＝２以降のＴＡｉ、ＴＢｉ、ＴＣｉの有無を指定するＴＤｉで構成されるインターフェースキャラクタが記述される。
【００２８】
通信プロトコルを定義するインターフェースキャラクタの後に、カードプロファイルを定義するヒストリカルキャラクタが記述される。
【００２９】
ヒストリカルキャラクタの構成は任意に決定できる。ＩＳＯ７８１６−４で規定されているヒストリカルキャラクタでは、国コードと発行者の識別子が含まれる国／発行者インディケーター、アプリケーションの選択にかかるカードプロファイルが記されたカードサービスデータ、ＩＣカード１のイシュアにかかるデータが含まれるイシュアデータ、ＩＣカード１の製造者にかかるデータが含まれる製造者データ、ソフトウェアの機能を示すカードキャパビリティなどが含まれている。
【００３０】
インターフェースキャラクタの内容はライフサイクル状態により予め決定することができる。例えば、ライフサイクル状態が「製造」の時にＩＣカード１が出力する初期応答データの内容は、カード製造会社の独自プロトコルに準じた内容になる。
【００３１】
また、ライフサイクル状態が「発行」の時にＩＣカード１が出力する初期応答データの内容は、ＩＣカード１のイッシュアにかかる規格が対応していない高速通信に準じた内容になり、ライフサイクル状態が「運用」の時にＩＣカード１が出力する初期応答データの内容は、ＩＣカード１のイッシュアにかかる規格に準じた内容になる。
【００３２】
これに対し、ヒストリカルキャラクタの内容はライフサイクル状態等により予め決定することができず、同じＩＣチップ１ｂを利用したＩＣカード１であっても、ヒストリカルキャラクタの内容はＩＣカード１の種別で異なることがある。
【００３３】
例えば、同じＩＣチップ１ｂを利用したＩＣカード１であっても、イシュアが異なるとヒストリカルキャラクタの内容は異なるし、また、ＩＣカード１のカード番号をヒストリカルキャラクタに含ませる場合、ＩＣカード１毎にヒストリカルキャラクタは異なることになる。
【００３４】
図４は、本実施形態にかかるＩＣカード１に備えられた機能を説明する図である。
【００３５】
図４に図示したように、ＩＣカード１は、通信プロトコルとカードプロファイルが定義された初期応答を出力するライフサイクル状態（ここでは、「発行」、「運用」）毎に、カードプロファイルの定義を除いた初期応答データを格納したＲＯＭ１０を備えている。
【００３６】
本実施形態では、ＩＣカード１のライフサイクル状態を示すデータとして状態番号を用い、ＩＣカード１のＲＯＭ１０には、ライフサイクル状態の一つである「発行」を示す状態番号「０１」に関連付けて、ＩＣカード１のライフサイクル状態が「発行」の時に出力される初期応答データが格納されている。
【００３７】
また、ＩＣカード１のＲＯＭ１０には、ライフサイクル状態の一つである「運用」を示す状態番号「０２」に関連付けて、ＩＣカード１のライフサイクル状態が「運用」の時に出力される初期応答データが格納されている。
【００３８】
加えて、本実施形態のＩＣカード１のＲＯＭ１０には、初期応答データファイルがＮＶＭ１１に生成されていないときに出力する初期応答データとして、ライフサイクル状態が「製造」の時に出力する初期応答データが、状態番号「００」に関連付けて記憶されている。
【００３９】
上述しているように、適用するライフサイクル状態が決まれば、インターフェースキャラクタの内容をチップ製造前に決定することができるが、ヒストリカルキャラクタの内容はチップ製造前に決定できないため、ＩＣカード１のＲＯＭ１０には、カードプロファイルを定義するヒストリカルキャラクタが含まれず、通信プロトコルを定義するインターフェースキャラクタのみを定義した初期応答データが格納される。
【００４０】
図４の説明に戻る。図４に図示したように、ＩＣカード１は、初期応答データを格納する初期応答データファイル１３が生成されたＮＶＭ１１を備えている。上述しているように、ヒストリカルキャラクタの内容はチップ製造前に決定できないため、初期化処理や発行処理時に、通信プロトコルを定義するインターフェースキャラクタに加え、カードプロファイルを定義するヒストリカルキャラクタを含む初期応答データが初期応答データファイル１３に格納される。
【００４１】
初期応答データファイル１３は、初期化処理にてＮＶＭ１１に生成され、初期化処理において、初期応答データファイル１３には、ＩＣカード１のライフサイクル状態が「発行」の時に出力される初期応答データが書き込まれる。また、発行処理において、初期応答データファイル１３には、ＩＣカード１のライフサイクル状態が「運用」の時に出力される初期応答データが書き込まれる。
【００４２】
更に、図４に図示したように、ＩＣカード１のＮＶＭ１１には、初期応答データファイル１３に加え、ＩＣカード１のライフサイクル状態に対応する状態番号を格納するライフサイクル領域１４が設けられる。
【００４３】
初期化処理が実行される前、ＮＶＭ１１のライフサイクル領域１４は初期値で、初期化処理の最終工程において、ＮＶＭ１１のライフサイクル領域１４は、「発行」を示す状態番号「０１」に更新され、発行処理において、ＮＶＭ１１のライフサイクル領域１４は、「運用」を示す状態番号「０２」に更新される。
【００４４】
図４の説明に戻る。図４に図示したように、本実施形態のＩＣカード１には、ＩＣチップを動作させるコンピュータプログラムにより実現される手段として、図外のリーダライタからリセット信号が入力されると、初期応答データファイル１３に格納されている初期応答データの異常を判定した後、初期応答データファイル１３の初期応答データに異常がなければ、初期応答データファイル１３の初期応答データを出力し、異常があれば、ＲＯＭ１０に格納されている初期応答データの中から、ＩＣカード１のライフサイクル状態に対応する初期応答データを出力する初期応答手段１２を備える。
【００４５】
なお、本実施形態において、ＩＣカード１の初期応答手段１２は、初期応答データファイル１３がＮＶＭ１１に生成されていなければ、ＲＯＭ１０に格納されている初期応答データの中から、初期応答データファイル１３がＮＶＭ１１に生成されていないときに出力する初期応答データを出力する。
【００４６】
ここから、ＩＣカード１の初期応答手段１２の動作について説明する。図５は、ＩＣカード１が初期応答データを出力する動作を説明する図である。
【００４７】
ＩＣカード１に実装されたＩＣチップのＩ／Ｏポート１ｇにリセット信号が入力されると（Ｓ１）、ＩＣカード１の初期応答手段１２が作動し、ＩＣカード１の初期応答手段１２は、まず、ＮＶＭ１１に初期応答データファイル１３が生成されているか確認する（Ｓ２）。
【００４８】
ＮＶＭ１１に初期応答データファイル１３が生成されていない場合、ＩＣカード１の初期応答手段１２は、ＲＯＭ１０に格納されている初期応答データの中から、ＮＶＭ１１のライフサイクル領域１４を参照することなく、初期応答データファイル１３が生成されていない場合の初期応答データを出力して、この手順を終了する（Ｓ５）。
【００４９】
上述しているように、本実施形態では、ＮＶＭ１１に初期応答データファイル１３が生成されていない場合、ＲＯＭ１０に格納されている初期応答データの中から、状態番号「００」に関連付けられた初期応答データが選択されて出力される。
【００５０】
ＮＶＭ１１に初期応答データファイル１３が生成されている場合、ＩＣカード１の初期応答手段１２は、初期応答データファイル１３に格納されている初期応答データに異常があるか判定する（Ｓ３）。
【００５１】
なお、ＮＶＭ１１の初期応答データファイル１３に格納されている初期応答データの異常は、初期応答データの最後のキャラクタであるチェックキャラクタ（ＴＣＫ）を用いて確認することができるが、チェックキャラクタ以外の誤り符号を用いて、初期応答データの異常を判定することもできる。
【００５２】
ＮＶＭ１１の初期応答データファイル１３に格納されている初期応答データに異常がない場合、ＩＣカード１の初期応答手段１２は、ＮＶＭ１１の初期応答データファイル１３に格納されている初期応答データを出力して（Ｓ４）、この手順を終了する。
【００５３】
また、ＮＶＭ１１の初期応答データファイル１３に格納されている初期応答データに異常がある場合、ＩＣカード１の初期応答手段１２は、ＲＯＭ１０に格納されている初期応答データの中から、ＮＶＭ１１のライフサイクル領域１４に格納された状態番号に関連付けられた初期応答データを出力して（Ｓ６）、この手順を終了する。
【００５４】
図６は、本実施形態のＩＣカード１から出力される初期応答データを説明する図である。
【００５５】
図５に従えば、ＮＶＭ１１に初期応答データファイル１３が生成されていない場合、ＲＯＭ１０に格納された初期応答データの中から、予め指定された初期応答データを出力されるため、このケースでは、ＩＣカード１から出力される初期応答データのフォーマットは、ヒストリカルキャラクタを含まないフォーマット（図６（ａ））になる。
【００５６】
また、初期応答データファイル１３に初期応答データが格納され、該初期応答データに異常がない場合、初期応答データファイル１３に格納された初期応答データが出力されるため、このケースでは、ＩＣカード１から出力される初期応答データのフォーマットは、ヒストリカルキャラクタを含むフォーマット（図６（ｂ））になる。
【００５７】
また、初期応答データファイル１３に初期応答データが格納されているが、該初期応答データに異常がある場合、ＲＯＭ１０に格納された初期応答データの中から、ＩＣカード１のライフサイクル状態に対応する初期応答データが出力されるため、このケースでは、ＩＣカード１から出力される初期応答データのフォーマットは、ヒストリカルキャラクタが含まれないフォーマット（図６（ａ））になる。
【００５８】
このように、本実施形態のＩＣカード１によれば、初期応答データファイル１３に格納された初期応答データに異常がある場合であっても、ＲＯＭ１０に格納された初期応答データの中から、ＩＣカード１のライフサイクル状態に対応し、通信プロトコルを定義するインターフェースキャラクタが記述された初期応答データが出力されるため、リーダライタ側でこの初期応答データを解釈できずに、ＩＣカード１の処理が中止されてしまうことを防止できる。
【符号の説明】
【００５９】
１  ＩＣカード
１０  ＲＯＭ
１１  ＮＶＭ
１２  初期応答手段
１３  初期応答データファイル
１４  ライフサイクル領域
【図１】
2014026393.tif 000003
【図２】
2014026393.tif 000004
【図３】
2014026393.tif 000005
【図４】
2014026393.tif 000006
【図５】
2014026393.tif 000007
【図６】
2014026393.tif 000008
【図７】
2014026393.tif 000009