説明

ICチップ、ICチップにおける処理方法、ICチップ用処理プログラム、及びICカード

【課題】複数のインターフェースを用いた発行処理を、高速かつ効率よく実行することができるICチップ、ICチップにおける処理方法、ICチップ用処理プログラム、及びICカードを提供する。
【解決手段】UIM13のCPU131は、ISO7816インターフェース、又は、SWPインターフェースを利用して発行処理を実行し、所定の発行処理から順に、以後の発行処理を停止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを管理する装置及び方法等の技術分野に関する。
【背景技術】
【0002】
ICチップが搭載されるICカードでは、ICカード利用者の個人情報の書き込みや、所定のモードにおける処理に必要なアプリケーションや情報の書き込みを行ういわゆる発行処理が実行される。
【0003】
発行処理は、ICカードの製造段階(ICカードが出荷される前)において、ICチップの検査、発行処理を実行させる発行処理プログラムの記憶(ロード)の後、この発行処理プログラムの制御のもと、ISO7816に準拠したインターフェースを介して、個別データ(上述した個人情報等)等を受信して、例えば、ICチップの不揮発性メモリへの書き込みが行われる。その後、全ての発行処理が完了した後に、発行処理プログラムを使用不可にして発行処理が完了される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
現在、ISO7816に準拠したインターフェースに加えて、ETSI TS 102.613によって策定されたSWP(Single Wired Protocol)と呼ばれるインターフェース(I/F)を持つICカードが利用されている。
【0005】
従来では、2以上のインターフェースを備えるICチップにおいて、発行処理の際に、何れのインターフェースを用いるかについて、明確な取り決めや方針等は存在しなかった。そうした中、従来のICチップでは、ISO7816に準拠したインターフェースを介して送受信されるコマンドやデータに基づいて、発行処理がなされるようになっている。
【0006】
上述したSWPインターフェースは、ISO7816に準拠したインターフェースよりも、データの転送速度が高速である。従って、発行処理の効率化等の観点からは、SWPインターフェースは、大容量のデータをICカードへ送信する必要がある発行処理において利用されることが考えられる。
【0007】
しかしながら、従来のICチップにおける発行処理(検査や製造工程も含む)で用いられるインターフェースは、ISO7816に準拠したインターフェースであるため、上述した発行処理の効率化等の観点からは、発行処理において、ISO7816に準拠したインターフェースと、SWPインターフェースの双方が用いられることが望ましい。
【0008】
また、発行処理を実行する発行処理プログラムは、製造段階のみで利用されるべきものであり、出荷後(例えば、ICチップがユーザの手に渡った段階等)に動作することは、セキュリティ上望ましくない。従って、ICチップが出荷された後は、発行処理プログラムの実行を禁止(使用不可にする)ことが要求される。
【0009】
従って、発行処理の完了後は、何れのインターフェース(例えば、ISO7816に準拠したインターフェース及びSWPインターフェース)を用いた発行処理を実行できないようにすることが必要である(換言すれば、何れのインターフェースからも発行処理プログラムを使用不可とすることが必要である)。
【0010】
しかしながら、ICチップの製造段階において、トラブル等(例えば、瞬断等)により再度、発行処理をやり直せるように、発行処理プログラムを使用不可とするのは、製品の完成直前(例えば、ICチップの出荷直前等)であることが望ましい。
【0011】
この際に、ISO7816に準拠したインターフェースを用いた発行処理プログラムと、SWPインターフェースを用いた発行処理プログラムを、それぞれ別々に使用不可としてしまった場合を考える。
【0012】
例えば、あるインターフェースを用いた発行処理(例えば、ISO7816に準拠したインターフェース又はSWPインターフェースを用いた発行処理の何れか)が完了した直後に、そのインターフェースを用いた発行処理プログラムを使用不可とした場合、他方のインターフェースを用いた発行処理を実行中に、トラブル等が生じ、先に使用不可とした発行処理プログラムの実行が必要となると、この発行処理プログラムは、既に使用できないため、かかる発行処理が実行できないこととなる。
【0013】
換言すると、ISO7816に準拠したインターフェース及びSWPインターフェースを用いた発行処理プログラムを別々に使用不可とすると製造工程によっては、例えば、ISO7816に準拠したインターフェースを用いた発行処理プログラムを先に使用不可とすると、再発行が難しくなり、SWPインターフェースを用いた発行処理プログラムは使用できるにも拘わらず、再発行が不可能になってしまうという問題が考えられる。
【0014】
また、上記2種類のインターフェースを用いた発行処理プログラムを別々に停止(使用不可)とすると、その分だけ処理に掛る時間が増加してしまう。ICチップの製造段階では発行処理に掛る時間はできる限り短縮する必要があり、コマンド等の送受信はできるだけ少ないことが求められる。
【0015】
そこで、本発明は、このような問題点等に鑑みてなされたものであり、複数のインターフェースを用いた発行処理を、高速かつ効率よく実行することができるICチップ、ICチップにおける処理方法、ICチップ用処理プログラム、及びICカードを提供することを目的とする。
【課題を解決するための手段】
【0016】
上記課題を解決するために、請求項1に記載の発明は、第1の通信規格に準拠した第1のインターフェース、又は、第2の通信規格に準拠した第2のインターフェースを利用して発行処理を行う発行処理手段と、前記発行処理の完了を検出する完了検出手段と、前記完了検出手段によって、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理の完了が検出された場合に、所定の発行処理から順に、以後の発行処理を停止する発行処理停止手段と、を備えることを特徴とする。
【0017】
この発明によれば、複数のインターフェースを用いた発行処理を、高速かつ効率よく実行することができ、製品の歩留まりの悪化を回避することができる。
【0018】
また、請求項2に記載の発明は、請求項1に記載のICチップであって、前記完了検出手段は、発行処理の完了を示す一の完了コマンドを受信した場合に、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理が完了したと検出することを特徴とする。
【0019】
また、請求項3に記載の発明は、請求項2に記載のICチップであって、前記所定の発行処理は、前記完了コマンドを受信したインターフェース以外のインターフェースを利用した発行処理であることを特徴とする。
【0020】
また、請求項4に記載の発明は、請求項1又は2に記載のICチップであって、前記所定の発行処理は、先に実行された発行処理であることを特徴とする。
【0021】
また、請求項5に記載の発明は、請求項1乃至4の何れか1項に記載のICチップであって、前記第1の通信規格に準拠した第1のインターフェースは、ISO7816に準拠したインターフェースであり、前記第2の通信規格は、ETSI TS102.613に準拠した、SWIO(Single Wired Protocol Input/Output)であることを特徴とする。
【0022】
また、請求項6に記載の発明は、請求項1乃至5の何れか1項に記載のICチップが搭載されることを特徴とする。
【0023】
また、請求項7に記載の発明は、第1の通信規格に準拠した第1のインターフェース、又は、第2の通信規格に準拠した第2のインターフェースを利用して発行処理を行う発行処理工程と、前記発行処理の完了を検出する完了検出工程と、前記完了検出工程によって、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理の完了が検出された場合に、所定の発行処理から順に、以後の発行処理を停止する発行処理停止工程と、を有することを特徴とする。
【0024】
また、請求項8に記載の発明は、ICチップに含まれるコンピュータを、第1の通信規格に準拠した第1のインターフェース、又は、第2の通信規格に準拠した第2のインターフェースを利用して発行処理を行う発行処理手段、前記発行処理の完了を検出する完了検出手段、前記完了検出手段によって、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理の完了が検出された場合に、所定の発行処理から順に、以後の発行処理を停止する発行処理停止手段、として機能させることを特徴とする。
【発明の効果】
【0025】
本発明によれば、複数のインターフェースを用いた発行処理を、高速かつ効率よく実行することができる。
【図面の簡単な説明】
【0026】
【図1】本実施形態に係る携帯端末の概要構成例を示すブロック図である。
【図2】本実施形態に係るUIM13の概要構成例を示すブロック図である。
【図3】本願の発行処理プログラムのモジュール構成の処理を示す概念図である。
【図4】SWPインターフェースを通じて受信されたコマンドが、複数のプロトコル層を介して、コマンドAPDUが取り出される概念を示す概念図である。
【図5】Pipe IDリストを示す概念図である。
【図6】先に実行された発行処理がISO7816インターフェースを利用する発行処理であった場合のCPU131の動作を示すフローチャートである。
【図7】先に実行された発行処理がSWPインターフェースを利用する発行処理であった場合のCPU131の動作を示すフローチャートである。
【図8】コマンドを受信したインターフェースの種類によって、発行処理プログラムの停止する順番を決定する場合のCPU131の動作を示すフローチャートである。
【発明を実施するための形態】
【0027】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、携帯端末に対して本発明を適用した場合の実施の形態である。
【0028】
先ず、図1を参照して、本実施形態に係る携帯端末の構成及び機能概要について説明する。
【0029】
図1は、本実施形態に係る携帯端末の概要構成例を示すブロック図である。
【0030】
図1に示すように、携帯端末1は、携帯端末1の機能を担うコントローラ11、CLF12、及び発行処理や所定の動作を実行させるプログラムが搭載されたUIM13(本願のICチップの一例)等を備えて構成されている。なお、携帯端末1は、例えば、操作キー、ディスプレイ、スピーカ、及び移動体通信部等を備える携帯電話機、PDA及びスマートフォン等を適用できる。
【0031】
コントローラ11は、図示しないが、CPU(Central Processing Unit)、各種プロ
グラム及びデータを記憶する不揮発性メモリ(例えばフラッシュメモリ等)、データを一時記憶するRAM、UIM13との間のインターフェースを担うI/Oポート等を備えている。コントローラ11は、UIM13との間で、例えば、ISO7816に準拠したインターフェース(本願の第1の通信規格に準拠した第1のインターフェースの一例。以下、「ISO7816インターフェース」と称する。)を通じて通信可能になっている。そして、コントローラ11は、携帯端末1の通信(移動体通信網やインターネットを介して行われる通信)処理や携帯端末1のユーザからの操作キーを介した操作指示に応じて各種処理を実行する。このような処理の中で、コントローラ11は、例えば、詳しくは後述する発行処理の要求等に係るコマンド信号をインターフェースを通じてUIM13へ送信するようになっている。
【0032】
CLF12は、NFC(Near Field Communication)の規格で規定される非接触通信を行う非接触型ICチップであり、図示しないが、CPU、各種プログラム及びデータを記憶する不揮発性メモリ、データを一時記憶するRAM、UIM13との間のインターフェースを担うI/Oポート(SWIO)等を備えている。また、CLF12は、非接触のフィールド内で図示しない非接触リーダとの間で各種信号の送受信を行うためのアンテナ12aに接続されている。そして、例えば、ユーザが携帯端末1を非接触リーダに翳すと、非接触リーダから送信された、詳しくは後述する発行処理の要求等に係るコマンド信号をETSI TS 102.613によって策定されたSWP(Single Wired Protocol)に準拠したインターフェース(本願の第2の通信規格に準拠した第2のインターフェースの一例。以下、「SWPインターフェース」と称する。)を通じてUIM13へ送信するようになっている。
【0033】
UIM13は、UICC(Universal Integrated Circuit Card)の一つであり、従来の
SIM(Subscriber Identity Module)をベースに機能を拡張された接触型ICチップを搭載する。
【0034】
図2は、本実施形態に係るUIM13の概要構成例を示すブロック図である。
【0035】
図2に示すように、UIM13は、信号処理を担うCPU(Central Processing Unit)131、所定のデータやプログラムを記憶するROM(Read Only Memory)132、(例えば、CPU131がICチップ1を統括的に制御等するために作業領域として使用等するために)データを一時記憶するRAM(Random Access Memory)133、所定のデータやプログラム等を記憶する不揮発性メモリ(例えばフラッシュメモリやEEPROM(登録商標))134、及びI/Oポート(入出力ポート)135等を備えている。なお、UIM13はICカード基体7に設けられ、ICカード8(本願のICカードの一例)として携帯端末1に実装される。
【0036】
I/Oポート135は、図2に示すように、ISO/IEC7816等によって定められた、C1〜C8の8個の端子(接触型ICチップの接続端子)を有する。ここで、C1端子は電源端子(VCC)であり、C5端子はグランド端子(GND)である。また、C2端子は、リセット端子(RST)であり、コントローラ11とのISO7816インターフェースのリセット信号を入力するために用いられる。また、C3端子は、クロック端子(CLK)であり、コントローラ11とのISO7816インターフェースのクロックを入力するために用いられる。また、C7端子は、コントローラ11との間のISO7816インターフェースを担う端子であり、UIM13とコントローラ11との間の通信のために用いられる。また、C6端子は、CLF11との間のSWPインターフェースを担う端子であり、UIM13とCLF13との間の通信のために用いられる。なお、CLF12とUIM13間の通信プロトコルには、上述したようにSWPが適用される。
【0037】
不揮発性メモリ134は、記憶領域に記憶されるデータを消去し、何度でも再記憶ができるPROM(Programmable Rom)である。そして、不揮発性メモリ134は、例えば、各領域にアドレス(関数アドレス)が付されており、所定の領域を1のページとして、一又は複数のページに区画されている。そして、例えば、CPU131は、カードOSやアプリケーションの制御のもと、不揮発性メモリ134のどの領域に、どのようなデータやプログラムが記憶されているか識別することができる。
【0038】
また、ROM132に記憶されるプログラムとしては、カードOS(オペレーティングシステム)、発行処理等をCPU131等に実行させる発行処理プログラム、及び本発明のデータ保護プログラムがある。なお、本発明の発行処理プログラム及びデータ保護プログラムは、カードOS又はアプリケーションプログラムの一機能として組み込まれてもよい。また、これらのプログラムは、不揮発性メモリ134に記憶されるようにしてもよい。
【0039】
更に、本願の発行処理プログラムは、ISO7816インターフェース、又はSWPインターフェースを通じて受信した発行処理の要求コマンドに基づいて、CPU131に発行処理を実行及び完了させるようになっている。換言すれば、一の発行処理プログラムで、ISO7816に準拠したインターフェースに対応するコマンドと、ETSI TS 102.613によって策定されたSWPに準拠したインターフェースに対応するコマンドに基づいて、CPU131に発行処理を実行及び完了させるようになっている。すなわち、本願の発行処理プログラムは、ISO7816インターフェース、又はSWPインターフェースを通じて受信するコマンド体系が併せられている。
【0040】
ここで、図3を参照して、本願の発行処理プログラムのモジュール構成の処理について説明する。
【0041】
図3は、本願の発行処理プログラムのモジュール構成の処理を示す概念図である。
【0042】
図3に示すように、本願の発行処理プログラムのモジュール構成の処理は、各インターフェースのモジュール(例えば、CPU131等の動作によって)が受信したデータ(コマンド)から、コマンドAPDUを取り出して、発行処理プログラムにコマンドを送信する。コマンドAPDUには発行処理プログラムの起動命令が含まれているため、かかるコマンドAPDUを受信すると、発行処理プログラムが起動され、発行処理が実行されるようになっている。
【0043】
ここで、ISOインターフェースを通じて受信されたコマンドAPDUに対しては、そのままの形で、コマンドAPDUが取り出される。
【0044】
一方、SWPインターフェースを通じて受信されたコマンドに対しては、複数のプロトコル層を介して、コマンドAPDUが取り出されるようになっている。
【0045】
ここで、図4を参照して、SWPインターフェースを通じて受信されたコマンドが、複数のプロトコル層を介して、コマンドAPDUが取り出される概念を説明する。なお、かかる概念は公知技術であるため更に詳しい説明は省略する。
【0046】
図4は、SWPインターフェースを通じて受信されたコマンドが、複数のプロトコル層を介して、コマンドAPDUが取り出される概念を示す概念図である。
【0047】
SWPインターフェースを通じて受信されたコマンドは、MAC層に入力されるとFrame Payloadが取り出され、SHDL層ではInformation Fieldが取り出され、分割された後、HCI層でPipe IDと共に連結され、更にそこから、HCI層でDATAが取り出され、最終的にAPDU層でコマンドAPDUとなる。
【0048】
なお、ここでは、Pipe IDに、発行処理コマンド用のIDを持たせて、例えば、SWPのプロトコル管理プログラムが、発行処理プログラムに対して(起動命令等の)コマンドを投げかけるようになっている。すなわち、SWPインターフェースでは、ID(Pipe ID)を変えることによって、起動させるプログラム(機能)を切り替えるようになっている。具体的には、図5に示すように、SWPインターフェースでは、Pipe IDと、所定のサービスや機能を実行させるプログラムが対応付けて記憶されている。そして、Pipe IDを指定することによって、上記プログラムが実行されるようになっている。
【0049】
図5では、Pipe IDが、各種サービス(上記発行処理等)を実現するプログラムとしてのCard Emulation、Reader/Writer mode、及び発行コマンド(発行処理プログラム)が、各プログラムが記憶される不揮発性メモリ134のアドレス(関数アドレス)に対応付けて、例えばPipe IDリスト(テーブル)として記憶されている。この関数アドレスは、サービスのコマンドルーティングを行うために用いられる。そして、CPU131(ICカード8)は、上記テーブルを参照して、受信したデータ(コマンド)に含まれるPipe IDで指定される関数アドレスを呼び出して、コマンドを各サービスへ送信(提供)する。
【0050】
なお、ISO7816インターフェースを通じて受信した発行処理の要求コマンドに基づいて実行される発行処理では、特定のコマンドにより、通常のコマンドルータではなく、発行コマンド用のルータを選択して処理が行われるようになっている。
【0051】
以下、ISO7816インターフェースを通じて受信した発行処理の要求コマンドに基づいて実行される発行処理を、「ISO7816インターフェースを利用する発行処理」と称する。そして、SWPインターフェースを通じて受信した発行処理の要求コマンドに基づいて実行される発行処理を、「SWPインターフェースを利用する発行処理」と称する。
【0052】
そして、同様にして、ISO7816インターフェースを利用する発行処理の完了、及び、SWPインターフェースを利用する発行処理の完了についても、一(同一)のコマンド(後述する発行処理完了のコマンド)によって検出することができる。
【0053】
なお、ISO7816インターフェースを利用する発行処理の完了、及び、SWPインターフェースを利用する発行処理の完了については、発行処理プログラム上に動作停止フラグを設定して、かかるプログラムの判断(検出)でプログラムの停止を行うようにしてもよい。
【0054】
また、ISO7816インターフェースを利用する発行処理の停止、即ち、ISO7816インターフェースを利用する発行処理プログラムの使用の停止は、例えば、ISO7816インターフェースを利用する発行処理プログラムの発行コマンド用コマンドルータの呼び出し個所を不揮発性メモリ134上から削除する。また、不揮発性メモリ134等に記憶されている発行処理プログラムを直接削除するようにしても良い。
【0055】
また、SWPインターフェースを利用する発行処理の停止、即ち、SWPインターフェースを利用する発行処理プログラムの使用の停止は、上述した不揮発性メモリ134に記憶されているPipe IDリストから、発行コマンドに係るPipe IDと関数アドレスを削除する。また、また、不揮発性メモリ134等に記憶されている発行処理プログラムを直接削除するようにしても良い。
【0056】
なお、ISO7816インターフェースを通じて受信した発行処理の要求コマンドに基づいて、CPU131に発行処理を実行させる発行処理プログラム、とSWPインターフェースを通じて受信した発行処理の要求コマンドに基づいて、CPU131に発行処理を実行させる発行処理プログラムをそれぞれ別個に用意するようにしても良い。
【0057】
また、発行処理は公知の処理であるため詳しい説明は省略するが、例えば、ICカード製造者(メーカー)や、サービスの提供者のもとで、細分化された一又は複数の発行処理が、所定の順番で実行されるようになっている。この細分化された一又は複数の発行処理として、製造段階、0次発行、1次発行、2次発行と称される各発行処理が、順番に実行される。そして、この各発行処理の処理内容について説明すると、例えば、製造段階では、ICチップ(UIM13等)の製造に関する処理が行われ、具体的には、カードOS等がROM132等に記憶される。0次発行では、ICチップの個別化に関する処理が実行され、具体的には、ICチップの初期化、ICチップを他のICチップと識別するための識別子等が記憶される。1次発行では、ICチップのAP設定(ICチップに記憶される所定のアプリケーションの設定)に関する処理が実行され、具体的には、不揮発性メモリ134のフォーマット、所定のアプリケーションを不揮発性メモリ134へ記憶させるために必要な初期設定情報・領域確保等の処理、所定のアプリケーションの記憶(書き込み)等が行われる。2次発行では、ICチップのパーソナライズ(ユーザの使用態様等を考慮して最適化されたICチップを提供するための処理)に関する処理が実行され、ICカード8を利用するユーザの個人用の設定や個人情報の登録、PIN(Personal Identification Number、暗証番号)やバイオメトリクス情報(指紋等の身体・行動的特徴)等の認証用の情報が記憶される。
【0058】
図2の説明に戻り、CPU131は、ICチップ1全体の動作を統括的に制御するとともに、その機能の一部として、本願の発行処理手段、完了検出手段、及び発行処理停止手段として機能するようになっている。
【0059】
次に、図6〜図8を参照して、本願のCPU131の動作について説明する。
【0060】
本願のCPU131は、ISO7816インターフェースを利用する発行処理、及びSWPインターフェースを利用する発行処理を行い、発行処理の完了を、発行処理に利用されるISO7816インターフェース及びSWPインターフェース毎に検出し、双方の発行処理の完了が検出された場合、所定の発行処理から順に、以後の発行処理を、当該発行処理に利用される前記インターフェースと対応付けて停止するようになっている。
【0061】
先ず、図6及び図7を参照して、停止させる所定の発行処理の条件が、先に実行された発行処理である場合のCPU131の動作について説明する。
【0062】
先ず、図6を参照して、先に実行された発行処理であるISO7816インターフェースを利用する発行処理であった場合のCPU131の動作について説明する。
【0063】
図6は、先に実行された発行処理であるISO7816インターフェースを利用する発行処理であった場合のCPU131の動作を示すフローチャートである。
【0064】
図6に示すように、CPU131は、例えば、ISO7816インターフェースを利用する発行処理の開始コマンドを受信すると、CPU131は、ISO7816インターフェースを利用する発行処理プログラムを実行し、かかる発行処理を実行する(ステップS1)。
【0065】
そして、CPU131は、例えば、SWPインターフェースを利用する発行処理の開始コマンドを受信すると、CPU131は、SWPインターフェースを利用する発行処理プログラムを実行し、かかる発行処理を実行する(ステップS2)。
【0066】
そして、CPU131は、発行処理の完了を示す一の完了コマンドの一例として、SWPインターフェース経由で発行完了のコマンドを受信すると、ISO7816インターフェースを利用する発行処理及びSWPインターフェースを利用する発行処理の双方の発行処理が完了したと判断する(ステップS3)。
【0067】
本願のCPU131は、発行処理の完了を示す一の完了コマンドを受信した場合に、全ての発行処理が完了したと判断するようになっている。これによって、少ないコマンドの送受信によって発行処理を完了させることができるため、複数のインターフェースを用いた発行処理を、より高速かつ効率よく実行することができる。更に、直前に使用されていたインターフェースを通じて受信されるコマンドによって、発行処理の完了を検出するため、コマンドを送信する機器は、スクリプトを切り替える必要がない。
【0068】
なお、全ての発行処理が完了したと判断する方法としては、上述した例に限られず、発行処理に利用されるインターフェースから発行処理の完了コマンドを受信した場合に、かかる発行処理が完了したと判断するようにしても良い。具体的には、ISO7816インターフェースを通じて、発行処理の完了コマンドを受信した場合には、ISO7816インターフェースを利用する発行処理が完了したと判断し、SWPインターフェースを通じて、発行処理の完了コマンドを受信した場合には、SWPインターフェースを利用する発行処理が完了したと判断するようにしても良い。
【0069】
そして、CPU131は、先に実行された発行処理であるISO7816インターフェースを利用する発行処理を実行するための発行処理プログラムの使用を停止する(ステップS4)。
【0070】
この、先に実行されたか否かの判断については、種々の方法を適用することができる。
【0071】
例えば、各発行処理プログラムが実行されるとONされるフラグとオンされた時刻を対応付けて不揮発性メモリ134に記憶し、この記憶されたフラグと時刻を参照して判断するようにしても良い。
【0072】
なお、停止させる所定の発行処理の一例として、終了コマンドを受信したインターフェース以外のインターフェース以外を利用する発行処理から順番に停止するようにしても良い。
【0073】
この場合、CPU131は、終了コマンドを受信したインターフェースの種類(SWPインターフェースかISO7816インターフェースか)を監視することにより、かかるコマンドを受信したインターフェースを判別することができる。
【0074】
図6の説明に戻り、CPU131は、次いで、SWPインターフェースを利用する発行処理を実行するための発行処理プログラムの使用を停止する(ステップS5)。
【0075】
このようにすることによって、例えば、発行処理が完了する前の段階(例えば、ステップS2やステップS3の処理の段階)で、瞬断等により発行処理が途中で停止してしまった場合に、ICチップ(ICカード)を破棄するのではなく、再度発行処理をやり直すことができる。従って、複数のインターフェースを用いた発行処理を、高速かつ効率よく実行することができる。
【0076】
そして、CPU131は、発行処理完了のレスポンスを外部へ送信する(ステップS6)。
【0077】
次に、図7を参照して、先に実行された発行処理がSWPインターフェースを利用する発行処理であった場合のCPU131の動作について説明する。
【0078】
図7は、先に実行された発行処理がSWPインターフェースを利用する発行処理であった場合のCPU131の動作を示すフローチャートである。
【0079】
図7に説明するCPU131の動作が、図6に説明するCPU131の動作と異なる点は、先に実行された発行処理がSWPインターフェースを利用する発行処理であったことである。
【0080】
図7に示すように、CPU131は、例えば、SWPインターフェースを利用する発行処理の開始コマンドを受信すると、CPU131は、SWPインターフェースを利用する発行処理プログラムを実行し、かかる発行処理を実行する(ステップS11)。
【0081】
そして、CPU131は、例えば、ISO7816インターフェースを利用する発行処理の開始コマンドを受信すると、CPU131は、ISO7816インターフェースを利用する発行処理プログラムを実行し、かかる発行処理を実行する(ステップS12)。
【0082】
そして、CPU131は、発行処理の完了を示す一の完了コマンドの一例として、ISO7816インターフェース経由で発行完了のコマンドを受信すると、ISO7816インターフェースを利用する発行処理及びSWPインターフェースを利用する発行処理の双方の発行処理が完了したと判断する(ステップS13)。
【0083】
そして、CPU131は、先に実行された発行処理であるSWPインターフェースを利用する発行処理を実行するための発行処理プログラムの使用を停止する(ステップS14)。
【0084】
この、先に実行されたか否かの判断については、種々の方法を適用することができることは、先に説明した図6の動作の例と同様である。
【0085】
すなわち、発行処理プログラムが実行されるとONされるフラグとオンされた時刻を対応付けて不揮発性メモリ134に記憶し、この記憶されたフラグと時刻を参照して判断するようにしても良い。
【0086】
また、停止させる所定の発行処理の一例として、終了コマンドを受信したインターフェース以外のインターフェース以外を利用する発行処理から順番に停止するようにしても良いことは、先に説明した図6の動作の例と同様である。
【0087】
すなわち、CPU131は、終了コマンドを受信したインターフェースの種類(SWPインターフェースかISO7816インターフェースか)を監視することにより、かかるコマンドを受信したインターフェースを判別することができる。
【0088】
図7の説明に戻り、CPU131は、次いで、ISO7816インターフェースを利用する発行処理を実行するための発行処理プログラムの使用を停止する(ステップS15)。
【0089】
そして、CPU131は、発行処理完了のレスポンスを外部へ送信する(ステップS16)。
【0090】
次に、図8を参照して、コマンドを受信したインターフェースの種類によって、発行処理プログラムの停止する順番を決定する場合のCPU131の動作について説明する。
【0091】
図8は、コマンドを受信したインターフェースの種類によって、発行処理プログラムの停止する順番を決定する場合のCPU131の動作を示すフローチャートである。
【0092】
図8に説明するCPU131の動作が、図6及び図7に説明するCPU131の動作と異なる点は、コマンドを受信したインターフェースの種類によって、発行処理プログラムの停止する順番を決定する点である。
【0093】
図8に示すように、第1のインターフェース(本実施例では、ISO7816インターフェース又はSWPインターフェースの何れか)を利用する発行処理の開始コマンドを受信すると、CPU131は、この第1のインターフェースを利用する発行処理プログラムを実行し、かかる発行処理を実行する(ステップS21)。
【0094】
そして、CPU131は、第2のインターフェース(第1のインターフェース以外のインターフェース。本実施例では、例えば、第1のインターフェースがISO7816インターフェースであった場合には、SWPインターフェース)を利用する発行処理の開始コマンドを受信すると、CPU131は、第2のインターフェースを利用する発行処理プログラムを実行し、かかる発行処理を実行する(ステップS22)。
【0095】
そして、CPU131は、第1のインターフェース又は第2のインターフェースを通じて発行完了のコマンドを受信すると(ステップS23)、コマンドを受信したインターフェースの種類(第1のインターフェース又は第2のインターフェースか)を判定する(ステップS24)。この判定方法は公知の手段であるため、詳しい説明は省略するが、例えば、CPU131が、発行完了のコマンドを受信したインターフェースを監視し、判断するようにしても良い。
【0096】
そして、CPU131は、ステップS24の判断結果を参照して、発行完了のコマンドを受信したインターフェース以外のインターフェースを利用する発行処理プログラムを先に停止する(ステップS25)。
【0097】
次に、CPU131は、ステップS24の判断結果を参照して、発行完了のコマンドを受信したインターフェースを利用する発行処理プログラムを停止する(ステップS26)。
【0098】
そして、CPU131は、発行処理完了のレスポンスを外部へ送信する(ステップS27)。
【0099】
以上説明したように、本実施形態におけるUIM13のCPU131は、ISO7816インターフェース、又は、SWPインターフェースを利用して発行処理を実行し、前記発行処理の完了を検出し、ISO7816インターフェースを利用した発行処理、及びSWPインターフェースを利用した発行処理の完了が検出された場合に、所定の発行処理から順に、以後の発行処理を停止するように構成したため、複数のインターフェースを用いた発行処理を、高速かつ効率よく実行することができ、製品の歩留まりの悪化を回避することができる。
【0100】
なお、以上説明した実施形態は特許請求の範囲に係る発明を限定するものではない。そして、上記実施形態の中で説明されている構成の組み合わせ全てが発明の課題解決に必須の手段であるとは限らない。
【符号の説明】
【0101】
1 携帯端末
7 ICカード基体
8 ICカード
11 コントローラ
12 CLF
13 UIM
131 CPU
132 ROM
133 RAM
134 不揮発性メモリ
135 I/Oポート

【特許請求の範囲】
【請求項1】
第1の通信規格に準拠した第1のインターフェース、又は、第2の通信規格に準拠した第2のインターフェースを利用して発行処理を実行する発行処理手段と、
前記発行処理の完了を検出する完了検出手段と、
前記完了検出手段によって、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理の完了が検出された場合に、所定の発行処理から順に、以後の発行処理を停止する発行処理停止手段と、
を備えることを特徴とするICチップ。
【請求項2】
請求項1に記載のICチップであって、
前記完了検出手段は、発行処理の完了を示す一の完了コマンドを受信した場合に、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理が完了したと検出することを特徴とするICチップ。
【請求項3】
請求項2に記載のICチップであって、
前記所定の発行処理は、前記完了コマンドを受信したインターフェース以外のインターフェースを利用した発行処理であることを特徴とするICチップ。
【請求項4】
請求項1又は2に記載のICチップであって、
前記所定の発行処理は、先に実行された発行処理であることを特徴とするICチップ。
【請求項5】
請求項1乃至4の何れか1項に記載のICチップであって、
前記第1の通信規格に準拠した第1のインターフェースは、ISO7816に準拠したインターフェースであり、
前記第2の通信規格に準拠した第1のインターフェースは、ETSI TS102.613に準拠した、SWIO(Single Wired Protocol Input/Output)であることを特徴とするICチップ。
【請求項6】
請求項1乃至5の何れか1項に記載のICチップが搭載されることを特徴とするICカード。
【請求項7】
第1の通信規格に準拠した第1のインターフェース、又は、第2の通信規格に準拠した第2のインターフェースを利用して発行処理を行う発行処理工程と、
前記発行処理の完了を検出する完了検出工程と、
前記完了検出工程によって、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理の完了が検出された場合に、所定の発行処理から順に、以後の発行処理を停止する発行処理停止工程と、
を有することを特徴とするICチップにおける処理方法。
【請求項8】
ICチップに含まれるコンピュータを、
第1の通信規格に準拠した第1のインターフェース、又は、第2の通信規格に準拠した第2のインターフェースを利用して発行処理を行う発行処理手段、
前記発行処理の完了を検出する完了検出手段、
前記完了検出手段によって、第1のインターフェースを利用した発行処理、及び第2のインターフェースを利用した発行処理の完了が検出された場合に、所定の発行処理から順に、以後の発行処理を停止する発行処理停止手段、
として機能させることを特徴とするICチップ用処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−97526(P2013−97526A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−238895(P2011−238895)
【出願日】平成23年10月31日(2011.10.31)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】