IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大日本印刷株式会社の特許一覧

特開2024-36028電子情報記憶媒体、ICカード、発行処理方法、及びプログラム
<>
  • 特開-電子情報記憶媒体、ICカード、発行処理方法、及びプログラム 図1
  • 特開-電子情報記憶媒体、ICカード、発行処理方法、及びプログラム 図2
  • 特開-電子情報記憶媒体、ICカード、発行処理方法、及びプログラム 図3
  • 特開-電子情報記憶媒体、ICカード、発行処理方法、及びプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024036028
(43)【公開日】2024-03-15
(54)【発明の名称】電子情報記憶媒体、ICカード、発行処理方法、及びプログラム
(51)【国際特許分類】
   G06K 19/07 20060101AFI20240308BHJP
   G06K 7/00 20060101ALI20240308BHJP
【FI】
G06K19/07
G06K7/00 008
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022140725
(22)【出願日】2022-09-05
(11)【特許番号】
(45)【特許公報発行日】2024-01-23
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】弁理士法人インテクト国際特許事務所
(74)【代理人】
【識別番号】100120189
【弁理士】
【氏名又は名称】奥 和幸
(72)【発明者】
【氏名】橋本 雅以
(57)【要約】
【課題】発行処理において期待通りのデータを効率良く格納することが可能な電子情報記憶媒体、ICカード、発行処理方法、及びプログラムを提供する。
【解決手段】ICカード2は、カード発行装置1からのStore Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドである場合、第1フラグが“発行済”を示すか否かを判定し、“発行済”を示さないと判定した場合、“発行済”を示すように第1フラグを更新し、且つStore Dataコマンドに応じた処理を実行する一方、“発行済”を示すと判定した場合、Store Dataコマンドに応じた処理を実行することなく“エラー発生”を応答する。
【選択図】図3
【特許請求の範囲】
【請求項1】
発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納される電子情報記憶媒体であって、
前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する保持手段と、
前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定する第1判定手段と、
前記第1判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第1処理手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項2】
前記保持手段は、前記発行処理中のエラー発生有または前記発行処理中のエラー発生無を示す第2フラグをさらに保持し、
前記第1処理手段は、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記エラー発生有を示すように前記第2フラグを更新し、かつ前記格納コマンドに応じた処理を実行することなくエラー発生を応答し、
前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドでない場合、前記第2フラグが前記エラー発生有を示す否かを判定する第2判定手段と、
前記第2判定手段により前記第2フラグが前記エラー発生有を示さないと判定された場合、前記格納コマンドに応じた処理を実行する一方、前記第2判定手段により前記第2フラグが前記エラー発生有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第2処理手段と、
を備えることを特徴とする請求項1に記載の電子情報記憶媒体。
【請求項3】
前記第1フラグは、前記発行処理の実施有、前記発行処理の実施無、または前記発行処理中のエラー発生有を示し、
前記第1処理手段は、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記エラー発生有を示すように前記第1フラグを更新し、かつ前記格納コマンドに応じた処理を実行することなくエラー発生を応答し、
前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドでない場合、前記第1フラグが前記発行処理の実施有を示す否かを判定する第2判定手段と、
前記第2判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行する一方、前記第2判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第2処理手段と、
を備えることを特徴とする請求項1に記載の電子情報記憶媒体。
【請求項4】
前記格納コマンドに応じた処理においてエラーが発生した場合、前記エラー発生有を示すように前記第2フラグを更新する第3処理手段を更に備えることを特徴とする請求項2に記載の電子情報記憶媒体。
【請求項5】
発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納されるICカードであって、
前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する保持手段と、
前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定する第1判定手段と、
前記第1判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第1処理手段と、
を備えることを特徴とするICカード。
【請求項6】
発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納される電子情報記憶媒体であって、前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する電子情報記憶媒体により実行される発行処理方法において、
前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定するステップと、
前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答するステップと、
を含むことを特徴とする発行処理方法。
【請求項7】
発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納される電子情報記憶媒体に含まれるコンピュータを、
前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する保持手段と、
前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定する第1判定手段と、
前記第1判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第1処理手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカード等の電子情報記憶媒体に個別データを書き込むことにより電子情報記憶媒体を発行する方法等の技術分野に関する。
【背景技術】
【0002】
従来から、個人情報などの個別データをICカードに書き込むことでICカードを発行する発行処理が知られている。このような発行処理が途中で停止してしまった場合、同一のICカードにおいて、再度、発行処理を実施することでICカードに期待通りのデータが書き込まれない問題があった。特許文献1には、ICカードの重複発行を確実に防止することができるICカード発行システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002-342718号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、上述した発行処理においてカード発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納される場合において、ICカードに期待通りのデータが書き込まれない問題を効率良く解決することが困難であった。
【0005】
そこで、本発明は、以上の点に鑑みてなされたものであり、発行処理において期待通りのデータを効率良く格納することが可能な電子情報記憶媒体、ICカード、発行処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納される電子情報記憶媒体であって、前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する保持手段と、前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定する第1判定手段と、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第1処理手段と、を備えることを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記保持手段は、前記発行処理中のエラー発生有または前記発行処理中のエラー発生無を示す第2フラグをさらに保持し、前記第1処理手段は、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記エラー発生有を示すように前記第2フラグを更新し、かつ前記格納コマンドに応じた処理を実行することなくエラー発生を応答し、前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドでない場合、前記第2フラグが前記エラー発生有を示す否かを判定する第2判定手段と、前記第2判定手段により前記第2フラグが前記エラー発生有を示さないと判定された場合、前記格納コマンドに応じた処理を実行する一方、前記第2判定手段により前記第2フラグが前記エラー発生有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第2処理手段と、を備えることを特徴とする。
【0008】
請求項3に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記第1フラグは、前記発行処理の実施有、前記発行処理の実施無、または前記発行処理中のエラー発生有を示し、前記第1処理手段は、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記エラー発生有を示すように前記第1フラグを更新し、かつ前記格納コマンドに応じた処理を実行することなくエラー発生を応答し、前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドでない場合、前記第1フラグが前記発行処理の実施有を示す否かを判定する第2判定手段と、前記第2判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行する一方、前記第2判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第2処理手段と、を備えることを特徴とする。
【0009】
請求項4に記載の発明は、請求項2に記載の電子情報記憶媒体において、前記格納コマンドに応じた処理においてエラーが発生した場合、前記エラー発生有を示すように前記第2フラグを更新する第3処理手段を更に備えることを特徴とする。
【0010】
請求項5に記載の発明は、発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納されるICカードであって、前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する保持手段と、前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定する第1判定手段と、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第1処理手段と、を備えることを特徴とする。
【0011】
請求項6に記載の発明は、発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納される電子情報記憶媒体であって、前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する電子情報記憶媒体により実行される発行処理方法において、前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定するステップと、前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答するステップと、を含むことを特徴とする。
【0012】
請求項7に記載の発明は、発行装置との間で実施される発行処理において当該発行装置から順次送信される複数の格納コマンドにより個別データが分割されて順次格納される電子情報記憶媒体に含まれるコンピュータを、前記発行処理の実施有または前記発行処理の実施無を示す第1フラグを保持する保持手段と、前記発行装置から受信された格納コマンドが前記発行処理の開始後に初めて受信された格納コマンドである場合、前記第1フラグが前記発行処理の実施有を示すか否かを判定する第1判定手段と、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示さないと判定された場合、前記発行処理の実施有を示すように当該第1フラグを更新し、且つ前記格納コマンドに応じた処理を実行する一方、前記第1判定手段により前記第1フラグが前記発行処理の実施有を示すと判定された場合、前記格納コマンドに応じた処理を実行することなくエラー発生を応答する第1処理手段として機能させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、発行処理において期待通りのデータを効率良く格納することができる。
【図面の簡単な説明】
【0014】
図1】カード発行システムSの概要構成例を示す図である。
図2】重複発行チェックフラグの値と状態との対応関係を示す図である。
図3】実施例1におけるICカード2の処理の一例を示すフローチャートである。
図4】実施例2におけるICカード2の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、ICカードを発行する発行処理が実施されるカード発行システムに対して本発明を適用した場合の実施の形態である。
【0016】
[1.カード発行システムSの概要構成]
先ず、図1を参照して、本実施形態に係るカード発行システムSの概要構成について説明する。図1は、カード発行システムSの概要構成例を示す図である。図1に示すように、カード発行システムSは、カード発行装置1(発行装置の一例)、及び発行対象となるICカード2等を含んで構成される。なお、図1には、1つのICカード2が示されているが、実際には多数のICカード2が発行対象となる。
【0017】
カード発行装置1は、図1に示すように、操作部11、カードI/F(インターフェース)部12、記憶部13、及び制御部14等を備えて構成される。操作部11は、オペレータによる操作指示を受け付ける。カードI/F部12は、発行対象となるICカード2とのインターフェースを担う。これにより、カード発行装置1は、カードI/F部12を介してICカード2と非接触通信または接触通信を行うことが可能になっている。記憶部13には、オペレーティングシステム、及びカード発行処理プログラムが記憶される。さらに、記憶部13には、本実施形態に係る発行処理においてICカード2に格納させるべき(書き込まれるべき)個人情報等の個別データ(つまり、ICカード2ごとに固有のデータ)が記憶されている。
【0018】
制御部14は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等により構成される。制御部14は、記憶部13に記憶されたカード発行処理プログラムにしたがって、複数のコマンドをカードI/F部12を介してICカード2へ順次送信する。ここで、順次送信するとは、ICカード2へ送信されたコマンドに対するレスポンスがICカード2から受信されたことに応じて、次のコマンドがICカード2へ送信されることを意味する。ここで、コマンドは、例えばISO/IEC 7816に規定されたコマンドAPDU(Application Protocol Data Unit)により構成される。コマンドAPDUは、CLA、INS、P1及びP2からなるヘッダ部と、データがセットされるボディ部とにより構成される。CLAはコマンドクラス(命令クラス)を示し、INSはコマンドコード(命令コード)を示す。INSによりコマンドの種別が特定される。P1及びP2はコマンドパラメータ(命令パラメータ)を示す。一方、レスポンスは、例えばISO/IEC 7816に規定されたレスポンスAPDUにより構成される。レスポンスAPDUは、例えばSW1及びSW2から構成される。ここで、SW1及びSW2は、ステータスワードであり、例えば、コマンドAPDUに応じた処理の結果(例えば、“正常終了”、または“エラー発生”)を示す。
【0019】
本実施形態に係る発行処理においては、コマンドの種別として、主に、アプリケーションを選択させるためのSELECTコマンド、及び個別データをICカード2に格納させるためのStore Dataコマンド(格納コマンドの一例)が使用される。ここで、Store Dataコマンドのボディ部には個別データがセットされる。1回のStore Dataコマンドにより送信可能な個別データのデータ量は限られるため、Store Dataコマンドとそのレスポンスとのやり取りが複数回実施されることで個別データ全てがICカード2に格納されるようになっている。つまり、複数のStore Dataコマンドにより個別データが分割されてICカード2(後述するNVM24)内に順次格納される。なお、Store Dataコマンドのヘッダ部におけるP2には、Store Dataコマンドのシーケンス番号が示される。例えば、1回目のStore DataコマンドのP2はシーケンス番号“00”を示し、2回目のStore DataコマンドのP2はシーケンス番号“01”を示し、3回目のStore DataコマンドのP2はシーケンス番号“02”を示す。
【0020】
ICカード2に搭載されるICチップ2aは、CPU21、ROM22、RAM23、NVM(Nonvolatile Memory)24、及びI/O回路25等を備えて構成される。ICチップ2aは、本発明の電子情報記憶媒体の一例である。I/O回路25は、カード発行装置1(カードI/F部12)とのインターフェースを担う。接触式のICチップ2aの場合、I/O回路25には、例えばISO/IEC 7816に規定されたC1~C8の8個の端子が備えられている。一方、非接触式のICチップ2aの場合、I/O回路25には、例えば、アンテナ、及び変復調回路が備えられている。なお、ICカード2は、キャッシュカード、クレジットカード、社員カード等として使用される。或いは、ICカード2は、スマートフォンや携帯電話機等の端末装置に組み込まれてもよい。或いは、ICチップ2aは、例えばeUICC(Embedded Universal Integrated Circuit Card)として、端末装置から容易に取り外しや取り換えができないように端末装置と一体的に搭載されてもよい。
【0021】
NVM24には、例えばフラッシュメモリ等の不揮発性メモリが適用される。なお、NVM24は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。NVM24には、各種プログラム等が記憶される。各種プログラムには、オペレーティングシステム、アプリケーションプログラム、及びカード発行処理プログラム(本発明のプログラムを含む)等が含まれる。なお、アプリケーションプログラムをメモリに展開して実行可能な状態にインストールされたモジュールをアプリケーションという。また、NVM24には、カード発行装置1からの個別データが格納される。
【0022】
さらに、NVM24(保持手段の一例)には、発行処理の実施有(発行処理が実施された)、または発行処理の実施無(つまり、発行処理が実施されていない)を示す発行済フラグ(第1フラグの一例)と、発行処理中のエラー発生有(発行処理中にエラーが発生した)、または発行処理中のエラー発生無(発行処理中にエラーが発生していない)を示すエラーフラグ(第2フラグの一例)とが保持される。ここで、発行処理の実施無を“未発行”と称し、発行処理の実施有を“発行済”と称するものとする。また、発行処理中のエラー発生無を“エラー未発生”と称し、発行処理中のエラー発生有を“エラー発生”と称するものとする。例えば、発行済フラグは、“未発行”(0)と“発行済”(1)とのうち何れか1つの状態を示す。一方、エラーフラグは、“エラー未発生”(0)と“エラー発生”(1)とのうち何れか1つの状態を示す。
【0023】
別の例として、NVM24には、3つの状態の何れかを示す1つのフラグ(これを、「重複発行チェックフラグ」(第1フラグの一例)という)が保持されてもよい。図2は、重複発行チェックフラグの値と状態との対応関係を示す図である。図2に示すように、重複発行チェックフラグは、“未発行”(00)、“発行済”(01)、または“エラー発生”(02)を示す。1つの重複発行チェックフラグを用いれば、プログラミングとしては分かり易いというメリットがある。
【0024】
CPU21は、ROM22またはNVM24に記憶された各種プログラムを実行するプロセッサ(コンピュータ)である。CPU21は、カード発行処理プログラムに従って、第1判定手段、第2判定手段、第1処理手段、第2処理手段、及び第3処理手段等として機能する。具体的には、CPU21は、カード発行装置1からI/O回路25を介して受信されたStore Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドである場合、発行済フラグ(または重複発行チェックフラグ)が“発行済”(つまり、発行処理の実施有)を示すか否かを判定する。そして、CPU21は、発行済フラグ(または重複発行チェックフラグ)が“発行済”を示さない(換言すると、“未発行”を示す)と判定した場合、“発行済”を示すように発行済フラグ(または重複発行チェックフラグ)を更新し、且つStore Dataコマンドに応じた処理(コマンド処理)を実行する。
【0025】
Store Dataコマンドに応じた処理により、Store Dataコマンドのボディ部にセットされた個別データがNVM24の所定の記憶領域に書き込まれる。そして、個別データの格納が正常に終了した場合、CPU21は、Store Dataコマンドに応じた処理の結果として“正常終了”を示すレスポンスをI/O回路25を介してカード発行装置1へ送信する。一方、CPU21は、発行済フラグ(または重複発行チェックフラグ)が“発行済”を示すと判定した場合、“エラー発生”を示すようにエラーフラグ(または重複発行チェックフラグ)を更新し、且つStore Dataコマンドに応じた処理を実行することなく“エラー発生”を応答する。つまり、CPU21は、Store Dataコマンドに応じた処理の結果として“エラー発生”を示すレスポンスをI/O回路25を介してカード発行装置1へ送信する。
【0026】
ここで、発行処理の開始後に初めて受信されたStore Dataコマンドであるにもかかわらず、発行済フラグ(または重複発行チェックフラグ)が“発行済”を示すということは、そのICカード2に対して以前に実施された発行処理において発行済フラグ(または重複発行チェックフラグ)が“発行済”を示すように更新されて発行処理が進行したが途中で停止してしまったことで、中途半端にデータが書き込まれている状態になっていることを意味する。そのため、このようなICカード2のエラーフラグが“エラー発生”を示すように更新させることで、その後に受信されたStore Dataコマンドに対して適切な処理を実行させることが可能になる。
【0027】
一方、CPU21は、カード発行装置1からI/O回路25を介して受信されたStore Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドでない(つまり、2回目以降のStore Dataコマンドである)場合、エラーフラグが“エラー発生”を示す否かを判定する。そして、CPU21は、エラーフラグが“エラー発生”を示さないと判定した場合、Store Dataコマンドに応じた処理を実行する。そして、個別データの格納が正常に終了した場合、CPU21は、Store Dataコマンドに応じた処理の結果として“正常終了”を示すレスポンスをI/O回路25を介してカード発行装置1へ送信する。一方、CPU21は、エラーフラグが“エラー発生”を示すと判定した場合、Store Dataコマンドに応じた処理を実行することなく“エラー発生”を応答する。
【0028】
或いは、CPU21は、カード発行装置1からI/O回路25を介して受信されたStore Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドでない場合、重複発行チェックフラグが“発行済”を示す否かを判定する。そして、CPU21は、重複発行チェックフラグが“発行済”を示すと判定した場合、Store Dataコマンドに応じた処理を実行する。一方、CPU21は、重複発行チェックフラグが“発行済”を示さないと判定した場合、Store Dataコマンドに応じた処理を実行することなく“エラー発生”を応答する。
【0029】
なお、発行処理の開始後に初めて受信されたStore Dataコマンドであるか否かは、Store Dataコマンドのヘッダ部におけるP2から判定することができる。例えば、P2がシーケンス番号“00”を示す場合、当該Store Dataコマンドは、発行処理の開始後に初めて受信されたStore Dataコマンドとして判定されることになる。また、上述したようにICカード2に対して以前に実施された発行処理が途中で停止してしまうことで、当該ICカード2に対して再度実施される発行処理において初めて受信されるStore DataコマンドにはP2が1回目のシーケンス番号“00”を再び示すことになる。
【0030】
[2.カード発行システムSにおいて実施される発行処理の詳細]
次に、カード発行システムSにおいて実施される発行処理の詳細について、実施例1と実施例2に分けて説明する。
【0031】
(実施例1)
先ず、図3を参照して、実施例1に係るカード発行システムSにおいて実施される発行処理の詳細について説明する。実施例1は、ICカード2において2つのフラグ(発行済フラグとエラーフラグ)が参照される場合の実施例である。図3は、実施例1におけるICカード2(CPU21)の処理の一例を示すフローチャートである。
【0032】
なお、発行処理の開始後、図3に示す処理の前に、カード発行装置1とICカード2との間で相互認証が完了し、さらに、カード発行装置1からICカード2へ送信されたSELECTコマンドによりアプリケーションが選択されているものとする。図3に示す処理は、ICカード2においてアプリケーションが選択された後、カード発行装置1からStore Dataコマンドが受信された場合に開始される。
【0033】
図3に示す処理が開始されると、ICカード2は、Store Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドであるか否かを判定する(ステップS1)。発行処理の開始後に初めて受信されたStore Dataコマンドであると判定された場合(ステップS1:YES)、処理はステップS2へ進む。一方、発行処理の開始後に初めて受信されたStore Dataコマンドでないと判定された場合(ステップS1:NO)、処理はステップS8へ進む。
【0034】
ステップS2では、ICカード2は、発行済フラグが“発行済”を示しているか否かを判定する。発行済フラグが“発行済”を示していないと判定された場合(ステップS2:NO)、処理はステップS3へ進む。一方、発行済フラグが“発行済”を示していると判定された場合(ステップS2:YES)、処理はステップS9へ進む。
【0035】
ステップS3では、ICカード2は、発行済フラグを“発行済”に更新(つまり、“発行済”を示すように発行済フラグを更新)する。次いで、ICカード2は、Store Dataコマンドに応じた処理(コマンド処理)を実行する(ステップS4)。
【0036】
次いで、ICカード2は、ステップS4のコマンド処理においてエラー(例えば、書き込みエラー)が発生したか否かを判定する(ステップS5)。当該コマンド処理においてエラーが発生していないと判定された場合(ステップS5:NO)、処理はステップS6へ進む。一方、当該コマンド処理においてエラーが発生したと判定された場合(ステップS5:YES)、処理はステップS7へ進む。
【0037】
ステップS6では、ICカード2は、“正常終了”を示すレスポンスをカード発行装置1へ送信する。一方、ステップS7では、ICカード2は、エラーフラグを“エラー発生”に更新(つまり、“エラー発生”を示すようにエラーフラグを更新)し、処理をステップS10に進める。
【0038】
ステップS8では、ICカード2は、エラーフラグが“エラー発生”を示しているか否かを判定する。エラーフラグが“エラー発生”を示していないと判定された場合(ステップS8:NO)、処理はステップS4へ移行し、Store Dataコマンドに応じた処理が実行される。一方、エラーフラグが“エラー発生”を示していると判定された場合(ステップS8:YES)、処理はステップS10へ進む。
【0039】
ステップS9では、ICカード2は、エラーフラグを“エラー発生”に更新し、処理をステップS10に進める。ステップS10では、ICカード2は、“エラー発生”を示すレスポンスをカード発行装置1へ送信する。
【0040】
カード発行装置1は、ICカード2からレスポンスを受信すると、当該レスポンスに“正常終了”が示されているか、または“エラー発生”が示されているかを判定する。そして、カード発行装置1は、レスポンスに“正常終了”が示されている場合において、個別データの送信が完了していない場合、次のStore DataコマンドをICカード2へ送信する。一方、カード発行装置1は、レスポンスに“エラー発生”が示されている場合において、当該ICカード2に対する発行処理を停止する。なお、発行処理が途中で停止されたICカード2に対しては再度、発行処理が実施されることになる。
【0041】
(実施例2)
次に、図4を参照して、実施例2に係るカード発行システムSにおいて実施される発行処理の詳細について説明する。実施例2は、ICカード2において1つのフラグ(重複発行チェックフラグ)が参照される場合の実施例である。図4は、実施例2におけるICカード2(CPU21)の処理の一例を示すフローチャートである。
【0042】
なお、実施例2においても、実施例1と同様、発行処理の開始後、図4に示す処理の前に、カード発行装置1とICカード2との間で相互認証が完了し、さらに、カード発行装置1からICカード2へ送信されたSELECTコマンドによりアプリケーションが選択されているものとする。図4に示す処理は、ICカード2においてアプリケーションが選択された後、カード発行装置1からStore Dataコマンドが受信された場合に開始される。
【0043】
図4に示す処理が開始されると、ICカード2は、Store Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドであるか否かを判定する(ステップS21)。発行処理の開始後に初めて受信されたStore Dataコマンドであると判定された場合(ステップS21:YES)、処理はステップS22へ進む。一方、発行処理の開始後に初めて受信されたStore Dataコマンドでないと判定された場合(ステップS21:NO)、処理はステップS28へ進む。
【0044】
ステップS22では、ICカード2は、重複発行チェックフラグが“発行済”を示しているか否かを判定する。重複発行チェックフラグが“発行済”を示していないと判定された場合(ステップS22:NO)、処理はステップS23へ進む。一方、重複発行チェックフラグが“発行済”を示していると判定された場合(ステップS22:YES)、処理はステップS29へ進む。ステップS29では、ICカード2は、重複発行チェックフラグを“エラー発生”に更新し、処理をステップS30に進める。
【0045】
ステップS23では、ICカード2は、重複発行チェックフラグを“発行済”に更新する。なお、図4に示すステップS24~S26、及びS30の処理は、図3に示すステップS4~S6、及びS10の処理と同様である。ステップS27では、ICカード2は、重複発行チェックフラグを“エラー発生”に更新し、処理をステップS30に進める。
【0046】
ステップS28では、ICカード2は、重複発行チェックフラグが“発行済”を示しているか否かを判定する。重複発行チェックフラグが“発行済”を示している(つまり、“未発行”を示さず、かつ“エラー発生”を示していない)と判定された場合(ステップS28:YES)、処理はステップS24に移行し、Store Dataコマンドに応じた処理が実行される。一方、重複発行チェックフラグが“発行済”を示してない(つまり、“未発行”を示しているか、または“エラー発生”を示している)と判定された場合(ステップS28:NO)、処理はステップS30へ進む。
【0047】
以上説明したように、上記実施形態によれば、ICカード2は、カード発行装置1からのStore Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドである場合、発行済フラグ(または重複発行チェックフラグ)が“発行済”を示すか否かを判定し、“発行済”を示さないと判定した場合、“発行済”を示すように発行済フラグ(または重複発行チェックフラグ)を更新し、且つStore Dataコマンドに応じた処理を実行する一方、“発行済”を示すと判定した場合、“エラー発生”を示すようにエラーフラグ(または重複発行チェックフラグ)を更新し、且つStore Dataコマンドに応じた処理を実行することなく“エラー発生”を応答するように構成したので、発行処理において期待通りのデータを効率良く格納することができる。
【0048】
また、ICカード2は、カード発行装置1からのStore Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドでない場合、エラーフラグが“エラー発生”を示す否かを判定し、“エラー発生”を示さないと判定した場合、Store Dataコマンドに応じた処理を実行する一方、“エラー発生”を示すと判定した場合、Store Dataコマンドに応じた処理を実行することなく“エラー発生”を応答するように構成したので、エラー発生有無に応じた適切な処理を実行することができる。或いは、ICカード2は、カード発行装置1からのStore Dataコマンドが発行処理の開始後に初めて受信されたStore Dataコマンドでない場合、重複発行チェックフラグが“発行済”を示す否かを判定し、“発行済”を示すと判定した場合、Store Dataコマンドに応じた処理を実行する一方、“発行済”を示さないと判定した場合、Store Dataコマンドに応じた処理を実行することなく“エラー発生”を応答するように構成したので、エラー発生有無に応じた適切な処理を実行することができる。
【符号の説明】
【0049】
1 カード発行装置
2 ICカード
2a ICチップ
11 操作部
12 カードI/F部
13 記憶部
14 制御部
21 CPU
22 ROM
23 RAM
24 NVM
25 I/O回路
図1
図2
図3
図4