(57)【要約】【課題】ＩＣカード間での電子バリューの譲渡処理時にユーザ操作の負荷を軽減させるＩＣカードおよび電子バリュー譲渡システムを提供する。【解決手段】電子バリュー譲渡システムは、ホスト機器A-00と、本人認証機能付ＩＣカードA-20aと、譲渡元ＩＣカードA-20bと、譲渡先ＩＣカードA-20cとを備えている。ＩＣカードは、接触I/FA-21と、フラッシュメモリA-22と、TRM(Tamper Resistant Module)A-23とを備えている。カードアプリケーションA-24は、コマンドディスパッチャA-24aと、本人照合部A-24bと、属性情報判断部A-24cと、カードアプリ動作モード変更部A-24dと、譲渡データ読み出し部A-24eと、暗号処理部A-24fと、本人情報読み出し部A-24gと、証明書格納領域A-24hと、譲渡対象データのポインタ情報を格納するデータ格納領域A-24iとを備えている。【選択図】図１
2008046676.tif 000002
【特許請求の範囲】
【請求項１】
所有者の認証を行う本人照合手段と、
譲渡対象データを格納するデータ格納手段と、
前記本人照合手段が本人認証に成功した場合に、動作モードを譲渡処理モードに変更する動作モード変更手段と、
前記譲渡処理モードにおいて、前記データ格納手段に格納されているデータを暗号化する暗号処理手段と、
暗号化したデータを送信する送信手段とを具備するＩＣカード。
【請求項２】
前記データ格納手段に格納されているデータの譲渡可否を判断する属性情報判断手段を具備し、
前記動作モード変更手段は、前記属性情報判断手段が譲渡可能なデータが存在すると判断した場合に、動作モードを前記譲渡処理モードに変更する請求項１記載のＩＣカード。
【請求項３】
前記暗号処理手段は、前記属性情報判断手段が譲渡可能と判断したデータを暗号化する請求項２記載のＩＣカード。
【請求項４】
前記属性情報判断手段は、前記データ格納手段に格納されているデータの属性証明書の内容に基づいて譲渡可否を判断する請求項２記載のＩＣカード。
【請求項５】
前記属性情報判断手段は、ＩＣカードの所有者属性と前記データ格納手段に格納されているデータの属性とを照合し、ＩＣカードの所有者による前記データの利用が不可な場合に、前記データを譲渡可能と判断する請求項４記載のＩＣカード。
【請求項６】
所有者の認証を行う本人照合手段と、
データ格納手段と、
前記本人照合手段が本人認証に失敗した場合に、動作モードを被譲渡処理モードに変更する動作モード変更手段と、
前記被譲渡処理モードにおいて、受信したデータを復号化する暗号処理手段とを具備し、
前記データ格納手段は、復号化したデータを格納するＩＣカード。
【請求項７】
前記データ格納手段に格納されているデータの譲渡可否を判断する属性情報判断手段を具備し、
前記動作モード変更手段は、前記本人照合手段が本人認証に成功し、かつ、前記属性情報判断手段が譲渡可能なデータが存在しないと判断した場合に、動作モードを前記被譲渡処理モードに変更する請求項６記載のＩＣカード。
【請求項８】
前記属性情報判断手段は、前記データ格納手段に格納されているデータの属性証明書の内容に基づいて譲渡可否を判断する請求項７記載のＩＣカード。
【請求項９】
前記属性情報判断手段は、ＩＣカードの所有者属性と前記データ格納手段に格納されているデータの属性とを照合し、ＩＣカードの所有者による前記データの利用が可能な場合に、前記データを譲渡不可と判断する請求項７記載のＩＣカード。
【請求項１０】
前記本人照合手段は、所有者のＩＤ情報を保持する他のＩＣカードとの間で、本人認証処理を行う請求項１から請求項９のいずれか一項に記載のＩＣカード。
【請求項１１】
本人認証機能付ＩＣカードと、
前記本人認証機能付ＩＣカードおよび他のＩＣカード間の通信を可能にするホスト機器と、
前記ホスト機器を介して前記本人認証機能付ＩＣカードとの間で所有者の認証処理を行う第１の本人照合手段と、譲渡対象データを格納する第１のデータ格納手段と、動作モードを譲渡処理モードに変更する第１の動作モード変更手段と、前記譲渡処理モードにおいて、前記第１のデータ格納手段に格納されているデータを暗号化する第１の暗号処理手段と、暗号化したデータを前記ホスト機器を介して他のＩＣカードへ送信する送信手段とを具備し、前記本人認証機能付ＩＣカードと所有者が同じである第１のＩＣカードと、
前記ホスト機器を介して前記本人認証機能付ＩＣカードとの間で所有者の認証処理を行う第２の本人照合手段と、動作モードを被譲渡処理モードに変更する第２の動作モード変更手段と、前記被譲渡処理モードにおいて、前記ホスト機器を介して前記第１のＩＣカードから受信したデータを復号化する第２の暗号処理手段と、復号化したデータを格納する第２のデータ格納手段とを具備し、前記本人認証機能付ＩＣカードと所有者が異なる第２のＩＣカードと、によって構成される電子バリュー譲渡システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＩＣカード間での電子バリュー(電子チケット・電子マネー等)の譲渡に関するものである。
【背景技術】
【０００２】
従来、ＩＣカードに電子バリュー(電子チケット・電子マネー)等を格納しておき、ＩＣカード間で直接、あるいは、ネットワーク上のサーバを介してＩＣカード間で電子バリューを譲渡することが行われている。
【０００３】
電子バリュー譲渡者が譲渡対象データをネットワーク上のサーバに置き、電子バリュー被譲渡者がネットワーク上に置かれた電子バリューを取得する仕組みで電子バリューの譲渡を実現している（例えば、特許文献１参照）。
【特許文献１】特開２００４−２８７９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般的に、電子バリューの譲渡は、電子バリュー譲渡者から電子バリュー被譲渡者への一種の財産の移動であると考えられ、成りすまし等の不正を防止するために、譲渡処理の際には、少なくとも電子バリュー譲渡者の本人確認が必要となる。
【０００５】
従来技術の場合、ユーザが外部から譲渡元カード・譲渡先カードを設定し、譲渡対象データを特定し、さらに電子バリュー譲渡者を確認するためにPINによる本人認証を行う必要があるため、ユーザ操作が煩雑となる。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、煩雑なユーザ操作を必要とすることなく、安全にＩＣカード間での電子バリューの譲渡処理を行うことができるＩＣカードおよび電子バリュー譲渡システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のＩＣカードは、所有者の認証を行う本人照合手段と、譲渡対象データを格納するデータ格納手段と、前記本人照合手段が本人認証に成功した場合に、動作モードを譲渡処理モードに変更する動作モード変更手段と、前記譲渡処理モードにおいて、前記データ格納手段に格納されているデータを暗号化する暗号処理手段と、暗号化したデータを送信する送信手段とを具備する。
【０００８】
この発明によれば、ＩＣカードは本人認証に成功した場合、ＩＣカード内部の動作モードを譲渡処理モードに能動的に遷移することができる。そのため、ユーザは、譲渡対象データが格納されているＩＣカードを特定する操作を行う必要がなくなる。また、譲渡対象データに対して、カード内部で暗号処理を行うので、カード間のデータ送受信中に譲渡対象データが第三者に傍受されても復号されることなく、安全に電子バリュー(電子チケット、電子マネー等の有価データ)の譲渡が実行できる。
【０００９】
また、本発明のＩＣカードは、前記データ格納手段に格納されているデータの譲渡可否を判断する属性情報判断手段を具備し、前記動作モード変更手段が、前記属性情報判断手段が譲渡可能なデータが存在すると判断した場合に、動作モードを前記譲渡処理モードに変更するものである。
【００１０】
この発明によれば、ＩＣカードは、属性情報手段が譲渡可能なデータが存在すると判断することで、動作モードの遷移を正確に行うことができる。
【００１１】
また、本発明のＩＣカードは、前記暗号処理手段が、前記属性情報判断手段が譲渡可能と判断したデータを暗号化するものである。
【００１２】
この発明によれば、譲渡対象データに対して、カード内部で暗号処理を行うので、カード間のデータ送受信中に譲渡対象データが第三者に傍受されても復号されることなく、安全に電子バリューの譲渡が実行できる。
【００１３】
また、本発明のＩＣカードは、前記属性情報判断手段が、前記データ格納手段に格納されているデータの属性証明書の内容に基づいて譲渡可否を判断するものである。
【００１４】
この発明によれば、ＩＣカードは、譲渡可否の判断を属性証明書に基づくことで、正確におこなうことができる。
【００１５】
また、本発明のＩＣカードは、前記属性情報判断手段が、ＩＣカードの所有者属性と前記データ格納手段に格納されているデータの属性とを照合し、ＩＣカードの所有者による前記データの利用が不可な場合に、前記データを譲渡可能と判断するものである。
【００１６】
この発明によれば、譲渡可能なデータをＩＣカードが特定することができ、ユーザは、譲渡対象データを特定する操作を行う必要がなくなる。
【００１７】
また、本発明のＩＣカードは、所有者の認証を行う本人照合手段と、データ格納手段と、前記本人照合手段が本人認証に失敗した場合に、動作モードを被譲渡処理モードに変更する動作モード変更手段と、前記被譲渡処理モードにおいて、受信したデータを復号化する暗号処理手段とを具備し、前記データ格納手段が、復号化したデータを格納するものである。
【００１８】
この発明によれば、ＩＣカードは本人認証に失敗した場合、ＩＣカード内部の動作モードを被譲渡処理モードに能動的に遷移することができる。そのため、ユーザは譲渡先ＩＣカードを選択する必要がなくなり、電子バリューの譲渡をより少ないユーザ操作で実現できる。
【００１９】
また、本発明のＩＣカードは、前記データ格納手段に格納されているデータの譲渡可否を判断する属性情報判断手段を具備し、前記動作モード変更手段が、前記本人照合手段が本人認証に成功し、かつ、前記属性情報判断手段が譲渡可能なデータが存在しないと判断した場合に、動作モードを前記被譲渡処理モードに変更するものである。
【００２０】
この発明によれば、ＩＣカードは、内部の動作モードを被譲渡処理モードに能動的に遷移する。そのため、ユーザは譲渡先ＩＣカードを選択する必要がなくなり、電子バリューの譲渡をより少ないユーザ操作で実現できる。
【００２１】
また、本発明のＩＣカードは、前記属性情報判断手段が、前記データ格納手段に格納されているデータの属性証明書の内容に基づいて譲渡可否を判断するものである。
【００２２】
この発明によれば、ＩＣカードが、ＩＣカード内に格納されているデータの譲渡可否を判断することができる。
【００２３】
また、本発明のＩＣカードは、前記属性情報判断手段が、ＩＣカードの所有者属性と前記データ格納手段に格納されているデータの属性とを照合し、ＩＣカードの所有者による前記データの利用が可能な場合に、前記データを譲渡不可と判断するものである。
【００２４】
この発明によれば、ＩＣカードが保持しているデータの中に、所有者による利用が可能なデータが存在する場合に、当該データを誤って譲渡することを防止できる。
【００２５】
また、本発明のＩＣカードは、前記本人照合手段が、所有者のＩＤ情報を保持する他のＩＣカードとの間で、本人認証処理を行うものである。
【００２６】
この発明によれば、ＩＣカードは、所有者ＩＤ情報を保持している他のＩＣカードと通信することで本人照合情報が実現できるため、ユーザはＩＣカードにアクセスするためにPIN入力などの煩雑なユーザ操作を行う必要がなくなる。
【００２７】
また、本発明の電子バリュー譲渡システムは、本人認証機能付ＩＣカードと、前記本人認証機能付ＩＣカードおよび他のＩＣカード間の通信を可能にするホスト機器と、前記ホスト機器を介して前記本人認証機能付ＩＣカードとの間で所有者の認証処理を行う第１の本人照合手段と、譲渡対象データを格納する第１のデータ格納手段と、動作モードを譲渡処理モードに変更する第１の動作モード変更手段と、前記譲渡処理モードにおいて、前記第１のデータ格納手段に格納されているデータを暗号化する第１の暗号処理手段と、暗号化したデータを前記ホスト機器を介して他のＩＣカードへ送信する送信手段とを具備し、前記本人認証機能付ＩＣカードと所有者が同じである第１のＩＣカードと、前記ホスト機器を介して前記本人認証機能付ＩＣカードとの間で所有者の認証処理を行う第２の本人照合手段と、動作モードを被譲渡処理モードに変更する第２の動作モード変更手段と、前記被譲渡処理モードにおいて、前記ホスト機器を介して前記第１のＩＣカードから受信したデータを復号化する第２の暗号処理手段と、復号化したデータを格納する第２のデータ格納手段とを具備し、前記本人認証機能付ＩＣカードと所有者が異なる第２のＩＣカードと、によって構成される。
【００２８】
この発明によれば、カードアプリケーションＩＣカード（第１および第２のＩＣカード）は、本人認証機能付ＩＣカードと認証を行うことによって、動作モードが一意に決まるため、電子バリュー譲渡の方向も一意に決まる。したがって、ユーザは、ＩＣカードにアクセスするためのPIN入力等や、譲渡対象データの確認を行うための煩雑なユーザ操作を行わずに、電子バリューの譲渡を行うことができる。
また、この発明によれば、ホスト機器は、カードアプリケーション間で送受信するデータを考慮して実装する必要がない。そのため、ホスト機器の実装をがシンプルなものにできる。
さらに、この発明によれば、カードアプリケーション間のデータ送受信は、暗号化されているので、データ送受信中に第三者に傍受されても復号されることはなく、セキュリティ的に十分安全な電子バリュー譲渡システムであると言える。
【発明の効果】
【００２９】
本発明によれば、データの譲渡を行う各ＩＣカードは、譲渡元や譲渡先のＩＣカード情報(アプリケーションＩＤ等)を外部から設定する必要がなくなるので、ユーザ操作の負荷が軽減される。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、本発明の実施の形態における電子バリュー譲渡システムの構成を示すブロック図である。図１に示す電子バリュー譲渡システムは、ホスト機器A-00と、本人認証機能付ＩＣカードA-20aと、譲渡元ＩＣカードA-20bと、譲渡先ＩＣカードA-20cとを備えている。以後、本明細書において、本人認証機能付ＩＣカード、譲渡元ＩＣカード、譲渡先ＩＣカードを区別する必要がない場合、ＩＣカードと記載する。
【００３１】
ホスト機器A-00は、CPUA-01と、メモリA-02と、I/O制御部A-03と、I/O操作部A-04と、アンテナA-05と、通信部A-06と、表示制御部A-07と、表示部A-08と、接触I/FA-09と、カード情報格納領域A-10と、暗号処理部A-11と、ＩＣカード処理履歴格納部A-12と、を備えている。
【００３２】
CPU(Central Processing Unit)A-01は、メモリA-02内に記憶された制御プログラムによりホスト機器A-00内の各部を制御する。具体的には、CPUA-01は通信部A-06と表示制御部A-07と表示部A-08を制御して、通信部A-06から入力されるデータパケットをデコードして表示制御部A-07を介して表示部A-08に表示し、またI/O操作部A-04とI/O制御部A-03と通信部A-06を制御して、I/O操作部A-04からの入力データをI/O制御部A-03を介して受信し、データパケット化して、通信部A-06に送信したり、I/O制御部A-03と接触I/FA-09とカード情報格納領域A-10を制御して、I/O制御部A-03や、接触I/FA-09からの信号を受信すると、カード情報格納領域A-10に格納されている情報を用いて、ＩＣカードに送信するデータを作成し、接触I/FA-09を経由してＩＣカードに送信したりする。
【００３３】
メモリA-02は、CPUA-01において実行される制御プログラム、エディタプログラム、ブラウザプログラムなどを記憶する。I/O操作部A-04は、電源キー、テンキー、各種ファンクションキーなどを備えており、ユーザのキー操作に応じた入力信号をI/O制御部A-03に送信する。I/O制御部A-03は、CPUA-01からの信号、I/O操作部A-04からの信号により、ユーザのキー操作処理を実現するソフトウェアモジュールである。
【００３４】
通信部A-06は、アンテナA-05を介して基地局にアクセスし、基地局からネットワークを介してISP(Internet Services Provider)に接続し、データパケットを送受信する機能を有する。また、通信部A-06は受信したデータパケットをCPUA-01に出力する。
【００３５】
表示制御部A-07は、CPUA-01からの信号もしくは、表示部A-08からの信号により、ユーザへの表示データを制御する。表示部A-08は、液晶パネルなどの表示デバイスにより構成され、表示制御部A-07からの信号により、ユーザに分かりやすい形で表示する。
【００３６】
接触I/FA-09は、ＩＣカード内の接触I/FA-21と接触し、CPUA-01からの入力される各種情報や制御信号等をＩＣカード内の接触I/FA-21に出力するとともに、ＩＣカード内の接触I/FA-21から入力される各種情報や制御信号などをCPUA-01に出力する。また、ホスト機器A-00は、3つ以上の接触I/FA-09を搭載しているものとする。
【００３７】
カード情報格納領域A-10は、ＩＣカードと通信するために必要な情報を格納する。具体的には、図２で表される、本人認証機能付ＩＣカードA-20aのアプリケーションID、譲渡元ＩＣカードA-20bのアプリケーションID、譲渡先ＩＣカードA-20cのアプリケーションID、ホスト機器の秘密鍵、ホスト機器の公開鍵証明書、ＩＣカードのカードアプリケーション(AP)の公開鍵証明書、ルートCA(認証局)の公開鍵証明書、カード格納情報である。
【００３８】
ＩＣカードのカードアプリケーション(AP)の公開鍵証明書とカード格納情報に関しては、複数格納される。ルートCA(認証局)の公開鍵証明書は端末出荷時に格納されるものである。また、譲渡元ＩＣカードA-20bのアプリケーションIDと譲渡先ＩＣカードA-20cのアプリケーションIDは同一であるとする。なお、本人認証機能付きＩＣカードA-20aのアプリケーションIDはユニークで、既知であってもよい。
【００３９】
暗号処理部A-11は、ホスト機器A-00がＩＣカードと相互認証を行うために必要な暗号処理を行う。具体的には、乱数発生器(図示しない)にて、乱数を生成し、生成した乱数に対してＩＣカードアプリケーションの公開鍵で暗号化を行う。ＩＣカード処理履歴格納部A-12は、ホスト機器A-00がＩＣカードと接触I/FA-09を介して通信を行った記録を格納する。
【００４０】
ＩＣカードは、接触I/FA-21と、フラッシュメモリA-22と、TRM(Tamper Resistant Module)A-23と、を備えている。接触I/FA-21は、ホスト機器A-00の接触I/FA-09と接触し、TRMA-23から入力される各種情報や制御信号などをホスト機器A-00の接触I/FA-09に出力するとともに、ホスト機器A-00の接触I/FA-09から入力される各種情報や制御信号などをTRMA-23に出力する。
【００４１】
フラッシュメモリA-22は、データの消去・書き込みを自由に行うことができ、電源を切っても内容が消えない半導体メモリである。TRMA-23は、耐タンパ装置であり、カードアプリケーション(図面ではAPと記す)A-24と、カードOSA-25と、CPU(図示しない)とを備えており、カードアプリケーションA-24やカードOSA-25は、TRM内部のCPUによって実行される。カードアプリケーションA-24は、ＩＣカード内部のデータや、外部から受信したコマンドに応じて様々な処理をする、カードOSA-25上で動くアプリケーションプログラムである。
【００４２】
ここで、カードアプリケーションA-24について、図３、図４、図５を用いて説明する。図３は、カードアプリケーションA-24の全体構成であり、図４はＩＣカードが本人認証機能付ＩＣカードA-20aである場合のカードアプリケーションA-24の全体構成、図５はＩＣカードが譲渡元ＩＣカードA-20b、もしくは譲渡先ＩＣカードA-20cである場合のカードアプリケーションA-24の全体構成である。また、図４、図５における点線は、該当カードアプリケーションA-24において無効な機能を意味する。
【００４３】
本人認証機能付きＩＣカードA-20aは、ＩＣカード内に専用の本人認証アプリケーションがインストールされているＩＣカードを意味する。譲渡元ＩＣカードA-20bと譲渡先ＩＣカードA-20cは、ＩＣカード内に前述の本人認証アプリケーションがインストールされていないＩＣカードを意味する。譲渡元ＩＣカードA-20bと、譲渡先ＩＣカードA-20cの区別は、それぞれのＩＣカードが内部で保持している「カード所有者情報を示すsubjectUniqueID」と、本人認証付きＩＣカードA-20aから取得した「subjectUniqueID」を比較した結果、一致した場合（本人認証に成功した場合）は譲渡元ＩＣカードA-20b、一致しなかった場合(本人認証に失敗した場合)は譲渡先ＩＣカードA-20cとなる。
【００４４】
カードアプリケーションA-24は、コマンドディスパッチャA-24aと、本人照合部A-24bと、属性情報判断部A-24cと、カードアプリ動作モード変更部A-24dと、譲渡データ読み出し部A-24eと、暗号処理部A-24fと、本人情報読み出し部A-24gと、カードアプリケーションA-24の秘密鍵、カードアプリケーションA-24の公開鍵証明書、カードアプリケーションA-24の共通鍵、譲渡対象データに関する属性証明書、ホスト機器A-00の公開鍵証明書、他カードアプリケーションA-24の公開鍵証明書、ルートCA(認証局)の公開鍵証明書を格納する証明書格納領域A-24hと、譲渡対象データのポインタ情報を格納するデータ格納領域A-24iと、を備えている。
【００４５】
各カードアプリケーションA-24の公開鍵証明書には、所有者属性が必ず含まれているものとする。カードアプリケーションの共通鍵は、譲渡元ＩＣカードA-20bと譲渡先ＩＣカードA-20cとの間で相互認証するために使用され、譲渡元ＩＣカードA-20bのカードアプリケーションと、譲渡先ＩＣカードA-20cのカードアプリケーションで共有される。
【００４６】
なお、ルートCA(認証局)の公開鍵証明書はカードアプリケーションのインストール時に格納されるものである。また、データ格納領域A-24iに格納されているポインタ情報で示されるデータの実体は、フラッシュメモリA-22に格納されている。
【００４７】
コマンドディスパッチャA-24aは、外部からの入力コマンドを解析し、カードアプリケーションA-24内部に処理を振り分ける。
【００４８】
本人照合部A-24bは、PINチェック機構や、カード間所有者一致確認機構等の、複数の本人認証機能を備えている。本人照合部A-24bは、特定のコマンド(CHECK OWNERコマンド)を受信した場合、外部からの受信データを、証明書格納領域A-24hに格納されている譲渡元カード、もしくは、譲渡先カードのカードアプリケーションの秘密鍵と、暗号処理部A-24fとを用いて復号化する。そして、本人照合部A-24bは、復号後のデータと、証明書格納領域A-24hに格納されている、所有者情報を示すカードアプリケーションA-24の公開鍵証明書のsubjectUniqueIDとの比較を行い、一致した場合、ＩＣカードへのアクセス権があるユーザとみなし、属性情報判断部A-24cに進み、そうでない場合は、カードアプリ動作モード変更部A-24dでの処理に進む。
【００４９】
属性情報判断部A-24cは、フラッシュメモリA-22に格納されているデータの譲渡可否を判断する。具体的には、証明書格納領域A-24hに格納されている譲渡対象データに関する属性証明書の属性に記載されているデータ使用可能者属性と、カードアプリケーションA-24の公開鍵証明書に含まれる所有者属性とを基に、譲渡可否を判断する。属性情報判断部A-24cでの処理後は、カードアプリ動作モード変更部A-24dでの処理に進む。
【００５０】
属性情報判断部A-24cにて、判断を行うデータが複数ある場合、ホスト機器A-00の表示部A-08にその旨を通知し、いずれのデータについて判断を行うか、ユーザに決定させてもよい。この属性情報判断部A-24cは、ＩＣカードが譲渡元ＩＣカードA-20b、もしくは譲渡先ＩＣカードA-20cである場合のみ有効な機能である。
【００５１】
カードアプリ動作モード変更部A-24dは、本人照合部A-24b、および属性情報判断部A-24cからの結果を基に、カードアプリケーションA-24自身の動作モードを変更する。具体的には、カードアプリ動作モード変更部A-24dは、本人照合部A-24bの結果が"Yes"で、かつ属性情報判断部A-24cでの結果が"譲渡可"であった場合、カードアプリケーションA-24自身を譲渡処理モードに変更し、本人照合部A-24bの結果が"Yes"で、かつ属性情報判断部A-24cでの結果が"譲渡不可"であった場合、もしくは、本人照合部A-24bの結果が"No"であった場合、カードアプリケーションA-24自身を被譲渡処理モードに変更する。
【００５２】
また、ＩＣカードA-20のカードアプリケーションA-24の初期設定モードは譲渡処理不可モードとする。なお、このカードアプリ動作モード変更部A-24dは、ＩＣカードが譲渡元ＩＣカードA-20b、もしくは譲渡先ＩＣカードA-20cである場合のみ有効な機能である。
【００５３】
譲渡データ読み出し部A-24eは、データ格納領域A-24iを用いて、フラッシュメモリA-22から譲渡データを読み出し、暗号処理部A-24fを用いて譲渡データに必要な暗号処理を行い、外部に送信する。
【００５４】
暗号処理部A-24fは、外部とのデータ送受信を行うのに必要な暗号化処理、復号化処理、署名生成処理、署名検証処理を行う。
【００５５】
本人情報読み出し部A-24gは、本人照合部A-24bがＩＣカードへのアクセス権があるか否かを検証するのに必要とする公開鍵証明書に含まれている、カードアプリケーションA-24の所有者情報を示すsubjectUniqueIDを読み出し、ホスト機器A-00から受信した公開鍵で暗号化して、外部に送信する。なお、この本人情報読み出し部A-24gは、ＩＣカードが本人認証機能付ＩＣカードA-20aである場合のみ、有効な機能である。
【００５６】
カードOSA-25は、データの入出力やファイルの生成、アクセス権の設定や管理などといった基本的な動作を行うソフトウェアを指す。
【００５７】
以下、本実施の形態の電子バリュー譲渡システムおける全体的な動作について、図３、図６〜図１１を参照して説明する。
【００５８】
図６は、譲渡処理のフローを示している。図６のステップB-S301において、ホスト機器A-00は、ＩＣカードの挿抜検知を開始する。次に、ステップB-S302において、ホスト機器A-00は、ＩＣカードの挿抜を検知すると、カード情報格納領域A-10に格納されている、図７に示すカード格納情報A-10aの「カード状態」のデータを更新する。
【００５９】
次に、ステップB-S303において、ホスト機器A-00は、カード格納情報A-10aから、ホスト機器A-00に、ＩＣカードが三枚以上挿入されているか否かを確認する。挿入されているＩＣカードが三枚以上であれば、ステップB-S304に進み、挿入されているＩＣカードが二枚以下であれば、ステップB-S301に戻る。
【００６０】
次に、ステップB-S304において、ホスト機器A-00に挿入されているＩＣカードのうち、どのＩＣカードが本人認証機能付ＩＣカードA-20aであるかを確定させる処理を行う。本人認証機能付きＩＣカードA-20aの確定処理に成功した場合は、ステップB-S305に進み、アプリケーション確定処理に失敗した場合は、ステップB-S301に戻る。
【００６１】
ここで、本人認証機能付ＩＣカードA-20aの確定処理について、図９を用いて説明する。まず、ステップE-S501において、カード情報格納領域A-10に格納されている本人認証機能付ＩＣカードA-20aのアプリケーションIDを用いて、ＩＣカードに対して、アプリケーション選択を要求する。アプリケーション要求を受けたＩＣカードは、内部でアプリケーション選択処理を行い、ステップE-S502において、処理結果を返す。なお、上記E-S501〜E-S502は、ホスト機器A-00に挿入されているＩＣカードの枚数分だけ繰り返される。
【００６２】
次に、ステップE-S503において、ホスト機器A-00は、ステップE-S502の結果より、アプリケーション選択の結果を判定する。本人認証機能付ＩＣカードA-20aのカードアプリケーションA-24が選択されなかった場合、本人認証機能付ＩＣカードA-20aの確定処理を終了し、ステップB-S301に戻る。
【００６３】
また、本人認証機能付ＩＣカードA-20が複数枚挿入されていた場合、どのＩＣカードを本人認証機能付ＩＣカードA-20ａとして有効にするかを、表示部A-08を用いて、ホスト機器A-00を操作するユーザに提示し、I/O操作部A-04を用いて選択させる。また、どのＩＣカードを本人機能付カードA-20aとして有効にするかは、ＩＣカードのホスト機器A-00への挿入順等で決定してもよい。
【００６４】
次に、ステップE-S504において、ホスト機器A-00は、ステップE-S503において確定した本人認証機能付ＩＣカードA-20aに対して、本人認証機能付ＩＣカードA-20aのカードアプリケーションの公開鍵証明書を送信するよう要求する。
【００６５】
ホスト機器A-00からの要求を受けた本人認証機能付ＩＣカードA-20aは、ステップE-S505において、カードアプリケーションA-24の証明書格納領域A-24hから、公開鍵証明書を取得し、ホスト機器A-00に送信する。
【００６６】
次に、ステップE-S506において、公開鍵証明書を受信したホスト機器A-00は、予めカード情報格納領域A-10に格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-11とを用いて、受信した公開鍵証明書の検証を行い、証明書の検証に成功した場合、受信した公開鍵証明書をカード情報格納領域A-10に格納する。
【００６７】
証明書の検証に失敗した場合、本人認証機能付ＩＣカードA-20aの確定処理を終了し、ステップB-S301に戻る。また、ステップE-S504において取得する公開鍵証明書は、予め、通信部A-06を用いて、ネットワーク上から取得し、カード情報格納領域A-10に格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-11とを用いて、受信した公開鍵証明書の検証を行った上で、カード情報格納領域A-10にダウンロードしておいてもよい。
【００６８】
次に、ステップE-S507において、ホスト機器A-00は、暗号処理部A-11の乱数生成器で乱数を生成させ、生成した乱数に対して、ステップE-S506で取得した公開鍵証明書に含まれる公開鍵で暗号化する。
【００６９】
次に、ステップE-S508において、ホスト機器A-00は、ステップE-S507において暗号化した乱数を、本人認証機能付ＩＣカードA-20aに送信し、カード認証を行う。ホスト機器A-00からのカード認証要求を受けた本人認証機能付ＩＣカードA-20aは、ステップE-S509において、受信した乱数を、証明書格納領域A-24hに格納されている秘密鍵で復号し、ステップE-S510において、復号結果をホスト機器A-00に送信する。
【００７０】
次に、ステップE-S511において、復号結果を受信したホスト機器A-00は、ステップE-S507で生成した乱数と、本人認証機能付ＩＣカードA-20aによって復号された乱数とを照合し、一致した場合には本物の本人認証機能付ＩＣカードA-20aであるとみなし、ステップE-S512に進む。
【００７１】
次に、ステップE-S512において、ホスト機器A-00は、本人認証機能付ＩＣカードA-20aに、機器認証を行うための、乱数を送信するよう要求する。乱数送信要求を受けた本人認証機能付ＩＣカードA-20aは、ステップE-S513において、暗号処理部A-24fにて、乱数を生成し、ステップE-S514において、生成した乱数を送信する。
【００７２】
次に、ステップE-S515において、ホスト機器A-00は、受信した乱数を、暗号処理部A-11を用いて、ホスト機器A-00のカード情報格納領域A-10に格納されている、ホスト機器A-00の秘密鍵で暗号化する。
【００７３】
次に、ステップE-S516において、ホスト機器A-00は、ステップE-S515において暗号化した乱数を、カード情報格納領域A-10に格納されているホスト機器A-00の公開鍵証明書とともに、本人認証機能付ＩＣカードA-20aに送信し、機器認証を行う。
【００７４】
ホスト機器A-00からの機器認証要求を受けた本人認証機能付ＩＣカードA-20aは、ステップE-S517において、予め証明書格納領域A-24hに格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-11とを用いて、受信した公開鍵証明書の検証を行い、証明書の検証に成功した場合、受信した公開鍵証明書を証明書格納領域A-24hに格納し、さらにステップE-S513で生成した乱数に対して、暗号処理部A-24fを用いて、受信した公開鍵証明書に含まれる公開鍵を用いて署名検証を行う。
【００７５】
ステップE-S518において、ステップE-S517で暗号化したデータと、ホスト機器A-00から受信したデータとを比較し、データが一致した場合は機器認証成功、データが一致しなかった場合は機器認証失敗と判断して、認証結果をホスト機器A-00に送信する。
【００７６】
また、ステップE-S516において本人認証機能付ＩＣカードA-20aに送信する、ホスト機器A-00の公開鍵証明書は、予め、ネットワーク上から取得し、証明書格納領域A-24hに格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-24fを用いて、受信した公開鍵証明書の検証を行った上で、証明書格納領域A-24hにダウンロードしておいてもよい。なお、上記E-S504〜E-S518が失敗した場合、本人認証機能付ＩＣカードA-20aの確定処理を終了し、ステップB-S301に戻る。
【００７７】
再び、図６に戻り、ステップB-S305において、譲渡先ＩＣカードA-20c、譲渡元ＩＣカードA-20bの譲渡処理モードの決定と、決定した譲渡処理モードへの遷移を行う。ここで、譲渡先ＩＣカードA-20c、譲渡元ＩＣカードA-20bの譲渡処理モードの決定処理と、譲渡処理モードの遷移処理について図８、図１０、図１２を用いて説明する。
【００７８】
まず、図１０のステップF-S601において、ホスト機器A-00は、譲渡元ＩＣカードA-20b、譲渡先ＩＣカードA-20cに対して、カード情報格納領域A-10に格納されている、譲渡元・譲渡先ＩＣカードのアプリケーションIDを用いて、アプリケーション選択処理を要求する。
【００７９】
この時、ホスト機器A-00は、譲渡元ＩＣカードA-20b、譲渡先ＩＣカードA-20cに対して、同一のアプリケーションIDを指定する。アプリケーション選択処理要求を受けたＩＣカードは、内部でアプリケーション選択処理を行い、ステップF-S602において、処理結果を返す。
【００８０】
次に、ステップF-S603において、ホスト機器A-00は、譲渡元ＩＣカードA-20bと、譲渡先ＩＣカードA-20cとの相互認証処理を行う。カードアプリケーションは、ステップF-S604において、認証結果を返す。この相互認証処理は、図９のE-S504〜E-S516と同じ処理を行うため、詳細は割愛する。
【００８１】
次に、ステップF-S605において、ホスト機器A-00は、譲渡元ＩＣカードA-20bと、譲渡先ＩＣカードA-20cとに対して、図１２に示すH-C01aのデータフォーマットで表される、譲渡元ＩＣカードA-20b、譲渡先ＩＣカードA-20cが本人認証機能付ＩＣカードA-20aを認証するため必要な乱数を取得するコマンド(GET RANDOM)を発行し、本人認証機能付ＩＣカードA-20aのカードアプリケーションの公開鍵証明書とともに送信する。
【００８２】
GET RANDOMコマンドを受信した、譲渡元ＩＣカードA-20bと、譲渡先ＩＣカードA-20cのカードアプリケーションA-24は、ステップF-S606において、コマンドディスパッチャA-24aを経由し、証明書格納領域A-24hに格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-24fとを用いて、受信した公開鍵証明書の検証を行い、受信した公開鍵証明書を証明書格納領域A-24hに格納し、さらに暗号処理部A-24fを用いて乱数を発生させ、発生させた乱数に対して、受信した公開鍵証明書から取り出した公開鍵を用いて暗号化し、図１２に示すH-C01bのデータフォーマットで表される、暗号化データをレスポンスとしてホスト機器A-00に送信する。
【００８３】
次に、ステップF-S607において、ホスト機器A-00は、本人認証機能付ＩＣカードA-20aに対して、図１２に示すH-C01cのデータフォーマットで表される、カード情報を取得するコマンド(GET OWNERコマンド)を発行し、ステップF-S604において取得した、譲渡元ＩＣカードA-20b、譲渡先ＩＣカードA-20cのカードアプリケーションの公開鍵証明書とともに送信する。
【００８４】
次に、ステップF-S608において、GET OWNERコマンドを受信した、本人認証機能付ＩＣカードA-20aのカードアプリケーションA-24は、コマンドディスパッチャA-24aを経由し、証明書格納領域A-24hに格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-24fとを用いて、受信した公開鍵証明書の検証を行い、受信した公開鍵証明書を、証明書格納領域A-24hに格納する。
【００８５】
次に本人認証機能付ＩＣカードA-20aのカードアプリケーションA-24は、暗号処理部A-24fと、証明書格納領域A-24hに格納されている本人認証機能付ＩＣカードのカードアプリケーションA-24の秘密鍵とを用いて、ステップF-S606において暗号化した乱数を復号し、さらに本人情報読み出し部A-24gが、証明書格納領域A-24hに格納されている公開鍵証明書から、カードアプリケーションA-24の所有者情報を示すsubjectUniqueIDを取り出す。
【００８６】
そして本人認証機能付ＩＣカードA-20aのカードアプリケーションA-24は、取り出したsubjectUniqueIDを、暗号処理部A-24fを用いて、ホスト機器A-00から送信されてきた公開鍵で暗号化し（ステップF-S608）、ステップF-S609において、H-C01bのデータフォーマットで表される、暗号化したsubjectUniqueIDと、復号化した乱数と、暗号化したsubjectUniqueIDと復号化した乱数に本人認証機能付ＩＣカードA-20aのカードアプリケーションA-24の秘密鍵で付与した署名、処理結果を連結したデータとを、レスポンスとしてホスト機器A-00に送信する。
【００８７】
ここで、本人認証機能付ＩＣカードA-20aのカードアプリケーションA-24の公開鍵証明書から取り出したsubjectUniqueIDの暗号化を行う理由は、個人情報の漏洩防止のためである。
【００８８】
次に、ステップF-S610において、ホスト機器A-00は、カードアプリケーションA-24が、ステップF-S609にて受信したGET OWNERコマンドのレスポンスから、図１２に示すHC01eのデータフォーマットで表される、CHECK OWNERコマンドを発行し、譲渡元ＩＣカードA-20b、譲渡先ＩＣカード A-20cに送信する。
【００８９】
CHECK OWNERコマンドは、カードアプリケーションA-24自身に、本人認証機能付ＩＣカードA-20aの正当性の検証、カードアプリケーションA-24自身の譲渡処理モードの決定、および、決定した譲渡処理モードへの遷移を実行させるコマンドである。カードアプリケーションA-24は、動作モード変更後、図１２に示すH-C01fのデータフォーマットで表されるデータを、レスポンスとしてホスト機器A-00に送信する。
【００９０】
ここで、CHECK OWNERコマンドを受信したカードアプリケーションA-24の内部処理（すなわち、ステップF-S611の処理）について、図８を参照して説明する。まず、ステップJ-S301において、CHECK OWNERコマンドを受信した本人認証機能付ＩＣカード以外のカードA-20b, A-20cは、コマンドディスパッチャA-24aを経由し、暗号処理部A-24fを利用して、受信したデータに付与されている署名を検証する。署名検証に失敗した場合は、ホスト機器にエラーを返し、署名検証に成功した場合は、ステップJ-S302に進む。
【００９１】
次に、ＩＣカードA-20b, A-20cは、ステップJ-S302において、本人認証機能付ＩＣカードA-20aの正当性を証明するために、ステップF-S606で生成した乱数と、CHECK OWNERコマンドで受信した乱数を比較する。比較した乱数が一致しなかった場合は、ホスト機器にエラーを返し、比較した乱数が一致した場合は、ステップJ-S303に進む。
【００９２】
次に、ステップJ-S303において、ＩＣカードA-20b, A-20cは、本人照合部A-24bで、暗号処理部A-24fを利用して、ステップF-S609において暗号化されたsubjectUniqueIDを復号する。復号に失敗した場合は、ホスト機器にエラーを返す処理をし、復号に成功した場合は、ステップJ-S304に進む。
【００９３】
次に、ステップJ-S304において、カードアプリケーションA-24は、証明書格納領域A-24hからこのカードアプリケーションA-24の公開鍵証明書を取得し、復号した本人認証機能付ＩＣカードA-20aのカードアプリケーションA-24の所有者情報を示す公開鍵証明書のsubjectUniqueIDと、取得したカードアプリケーションA-24の所有者情報を示す公開鍵証明書のsubjectUniqueIDとを比較する。
【００９４】
比較の結果、一致しなかった場合は、ステップJ-S308に進み、カードアプリ動作モード変更部A-24dにて、カードアプリケーションA-24自身の動作モードを被譲渡処理モードと決定する。比較の結果、一致した場合は、ステップJ-S305に進む。
【００９５】
次に、ステップJ-S305において、カードアプリケーションA-24は、データ格納領域A-24iに格納されている譲渡対象データに付与されている属性証明書と公開鍵証明書とを証明書格納領域A-24hから取得する。そしてステップJ-S306において、属性情報判断部A-24cにて、取得した属性証明書の属性のデータ使用可能者属性と、公開鍵証明書の所有者属性とから、データ格納領域A-24iに格納されている譲渡対象データの譲渡可否を判断する。
【００９６】
属性情報判断部A-24cが、"譲渡可能"と判断した場合、ステップJ-S307に進み、カードアプリ動作モード変更部A-24dにて、カードアプリケーションA-24自身の動作モードを譲渡処理モードと決定する。属性情報判断部A-24cが、"譲渡不可能"と判断した場合、ステップJ-S308に進み、カードアプリ動作モード変更部A-24dにて、カードアプリケーションA-24自身の動作モードを被譲渡処理モードと決定する。
【００９７】
次にステップJ-S309において、ステップJ-S307もしくは、ステップJ-S308にて、決定した動作モードに、カードアプリケーションA-24自身のモードを遷移させる。以上が、CHECK OWNERコマンドを受信したカードアプリケーションA-24のステップF-S611の処理である。そして、ステップF-S612において、カードアプリケーションA-24は、結果をホスト機器A-00に通知する。なお、上記F-S601〜F-S612の処理は、(ホスト機器A-00に挿入されているＩＣカードの枚数- 1)回繰り返される。
【００９８】
なお、図１の場合は、カードアプリケーションA-24の動作モード遷移により、ＩＣカードA-20bのカードアプリケーションA-24は譲渡処理モードに、ＩＣカードA-20cのカードアプリケーションA-24は被譲渡処理モードに遷移した状態となっている。
【００９９】
また、カードアプリケーションA-24は、自身の動作モードによって、ホスト機器A-00からＩＣカードに送信されるコマンドを、外部からの処理要求を受け付けるコマンドと、受け付けないコマンドとに分類して処理する。
【０１００】
即ち、カードアプリケーションA-24は、ホスト機器から処理を受け付けないコマンドを受信した場合、エラーを返す。このため、ホスト機器A-00はカードアプリケーションA-24のモードを考慮する必要がないため、ホスト機器A-00の実装をシンプルにすることが出来る。
【０１０１】
再び、図６に戻り、電子バリューの譲渡処理（B-S306）を行う。ここで、ＩＣカード間の電子バリュー譲渡処理について、図１１、図１３を用いて説明する。まず、図１１のステップG-S701において、ホスト機器A-00は、ＩＣカードに対して、図１３に示すI-C01aのデータフォーマットで表される、譲渡対象データ取得コマンド(REQUESTコマンド)を発行し、譲渡先ＩＣカードA-20cのカードアプリケーションA-24の公開鍵証明書と共に送信する。
【０１０２】
REQUESTコマンドを受信したＩＣカードのカードアプリケーションA-24は、ステップG-S702において、カードアプリケーションの動作モードが譲渡処理モードの時に限り、コマンドディスパッチャA-24aを経由し、証明書格納領域A-24hに格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-24fとを用いて、受信した公開鍵証明書の検証を行い、検証に成功した場合のみ、受信した公開鍵証明書を証明書格納領域A-24hに格納する。
【０１０３】
次に、REQUESTコマンドを受信したＩＣカードのカードアプリケーションA-24は、譲渡データ読み出し部A-24eとデータ格納領域A-24iとを用いてフラッシュメモリA-22に格納されている譲渡可能データを読み出し、さらに暗号処理部A-24fを用いて、読み出した譲渡可能データに対して、受信した譲渡先ＩＣカードのカードアプリケーションA-24の公開鍵証明書に含まれる公開鍵で暗号化し、譲渡元ＩＣカードが譲渡先ＩＣカードの正当性を検証するため、乱数(Challenge)を発生させ、図１３に示すI-C01bのデータフォーマットで表されるデータをレスポンスとしてホスト機器A-00に送信する（ステップG-S702）。
【０１０４】
この時、処理が成功したＩＣカードが譲渡元ＩＣカードであり、図１ではA-20bに相当する。また、カードアプリケーションA-24は、動作モードが譲渡処理モード以外である場合は、エラーをホスト機器A-00に返す。
【０１０５】
次に、ホスト機器A-00は、譲渡可能データが複数ある場合、ステップG-S703において、表示部A-08を用いて、ユーザに譲渡対象データを決定させる。この時、ホスト機器A-00は、ユーザ入力によって譲渡元ＩＣカードではなくなったＩＣカードに対して、カードアプリケーションA-24の動作モードを強制的に"譲渡処理不可モード"に遷移させたり、譲渡処理の際に、譲渡対象データを送信しないようにする。
【０１０６】
次に、ステップG-S704において、ホスト機器A-00は、ＩＣカードに対して、図１３に示すI-C01cのデータフォーマットで表される、譲渡対象データに送信するコマンド(SENDコマンド)を発行し、譲渡元ＩＣカードA-20bのカードアプリの公開鍵証明書とともに送信する。
【０１０７】
SENDコマンドを受信したＩＣカードは、ステップG-S705において、カードアプリケーションの動作モードが被譲渡処理モードの時に限り、コマンドディスパッチャA-24aを経由し、証明書格納領域A-24hに格納されているルートCAの公開鍵証明書に含まれる公開鍵と暗号処理部A-24fとを用いて、受信した公開鍵証明書の検証を行う。
【０１０８】
次に、SENDコマンドを受信したＩＣカードは、受信した暗号化された譲渡データの復号化を行い、復号に成功した場合、復号したデータをデータ格納領域にA-24iに格納する。そして、カードアプリ動作モード変更部A-24dを用いて、カードアプリケーションA-24の動作モードを"譲渡処理不可モード"に変更し、譲渡元ＩＣカードA-20bが譲渡先ＩＣカードA-20cの正当性を検証するための検証データ作成のために、証明書格納領域A-24hに格納されているカードアプリケーションA-24の共通鍵を読み出す。そして暗号処理部A-24fを用いて、受信した乱数(Challenge)と読み出したカードアプリケーションA-24の共通鍵とを連結したデータに対して、ハッシュ値を計算し、算出したハッシュ値に対して、譲渡先ＩＣカードA-20cのカードアプリケーションA-24の秘密鍵を用いて暗号化したものを応答(Response)として生成し、図１３に示すI-C01dのデータフォーマットで表されるデータをレスポンスとして、ホスト機器A-00に送信する。
【０１０９】
この時、処理が成功したＩＣカードが譲渡先ＩＣカードであり、図１ではA-20cに相当する。また、カードアプリケーションA-24は、動作モードが被譲渡処理モード以外である場合は、エラーをホスト機器A-00に返す。次に、ステップG-S707において、ホスト機器A-00は、譲渡元ＩＣカードに対して、譲渡済みデータを削除するコマンド(REMOVEコマンド)を発行し、送信する。
【０１１０】
次にステップG-S708において、REMOVEコマンドを受信した譲渡元ＩＣカードは、ステップG-S702において証明書格納領域A-24hに格納した譲渡先ＩＣカードA-20cのカードアプリケーションA-24の公開鍵証明書と暗号処理部A-24fとを用いて、受信したResponseを復号する。
【０１１１】
次に譲渡元ＩＣカードは、ステップG-S702において生成した乱数(Challenge)と証明書格納領域A-24hから読み出したカードアプリケーションA-24の共通鍵とを連結したデータに対してハッシュ値を計算し、算出したハッシュ値と復号後のResponseとの照合を行う（ステップG-S708）。
【０１１２】
ハッシュ値が一致した場合、譲渡元ＩＣカードのカードアプリケーションA-24は、譲渡先ＩＣカードの正当性が確認できたと判断して、データ格納領域A-24iから譲渡対象データを削除し、カードアプリ動作モード変更部A-24dで、動作モードを"譲渡処理不可モード"に変更する（ステップG-S708）。
【０１１３】
次に、譲渡元ＩＣカードは、ステップG-S709にて、ホスト機器A-00に処理結果を返す。また、カードアプリケーションA-24は、動作モードが譲渡処理モード以外である場合は、エラーをホスト機器A-00に返す。なお、上記G-S701〜G-S709は、(ホスト機器A-00に挿入されているＩＣカードの枚数-1)回繰り返される。
【０１１４】
以上のように、本実施の形態の電子バリュー譲渡システムによれば、譲渡元ＩＣカード、譲渡先ＩＣカードの他に、本人認証機能付きＩＣカードを挿入することによって、ＩＣカードにアクセスするための本人認証と、電子バリュー譲渡の処理方向が一意に決定するので、ユーザは、煩雑なユーザ操作を行わずに、譲渡処理を行うことができる。
【０１１５】
また、ＩＣカード内で譲渡対象データに対して、ＩＣカード内で暗号処理しているので、カード間のデータ送受信中に譲渡対象データが第三者に傍受されても復号されることがないため、安全に電子バリューの譲渡が実行できる。
【０１１６】
さらに、カードアプリケーションは所定の動作モードでないとホスト機器からの要求を処理しないので、ホスト機器は、カードアプリケーションの動作モードを気にする必要がない。そのため、ホスト機器の実装をシンプルなものにできる。
【０１１７】
以下、上記実施の形態の具体例について説明する。
【実施例１】
【０１１８】
本実施例１では、電子チケットの譲渡を行う場合を図１４〜図１６を用いて説明する。図１４は、所有者Aの本人認証機能付ＩＣカードL-02、電子チケットアプリケーションが格納されている所有者AのＩＣカードL-03、電子チケットアプリケーションが格納されている所有者BのＩＣカードL-04がPDAL-01に挿入されている例を示すものであり、所有者A、所有者B共に、電子チケットアプリケーションの公開鍵証明書の所有者属性は本会員であるとする。
【０１１９】
図１５は、所有者Aの本人認証機能付ＩＣカードL-02のカードアプリケーションの公開鍵証明書のsubjectUniqueIDの一例を示すものである。図１６は、所有者Aの電子チケットアプリケーションの公開鍵証明書M-01と、所有者Bの電子チケットアプリケーションの公開鍵証明書M-02の一例と、所有者Aの電子チケットアプリケーションの証明書格納領域に格納されている譲渡対象データに付与されている属性証明書の属性M-03の一例を示すものである。
【０１２０】
また、本実施例における電子チケットの譲渡実施日を2006年3月20日であるとする。PDAL-01は、ＩＣカードが３枚、そのうち本人認証機能付きＩＣカードが1枚挿入されていることを確認してから、電子チケットの譲渡処理を開始する。
【０１２１】
まず、PDAL-01は、電子チケットアプリケーションが格納されている所有者AのＩＣカードL-03、電子チケットアプリケーションが格納されている所有者BのＩＣカードL-04に対して、カードアプリケーション選択、相互認証を行った後で、GET RANDOMコマンドを発行して、所有者Aの本人認証機能付きＩＣカードL-02を認証するために必要となる、所有者Aの本人認証機能付きＩＣカードL-02のカードアプリケーションの公開鍵で暗号化された乱数を取得する。
【０１２２】
次に、PDAL-01は、所有者Aの本人認証機能付きＩＣカードL-02に対して、GET OWNERコマンドを発行して、GET OWNERコマンドと共に送信された、所有者AのＩＣカードL-03の電子チケットアプリケーションの公開鍵、もしくは所有者BのＩＣカードL-04の電子チケットアプリケーションの公開鍵で暗号化されたカードアプリケーションの所有者情報を示すsubjectUniqueIDと、所有者Aの本人認証機能付きＩＣカードL-02のカードアプリケーションによって復号化された乱数に対して、所有者Aの本人認証機能付きＩＣカードL-02のカードアプリケーションの秘密鍵で署名が付与されたデータを取得する。
【０１２３】
取得した署名が付与されたデータを、CHECK OWNERコマンドを用いて、ＩＣカードL-03、L-04に送信する。CHECK OWNERコマンドを取得したＩＣカードL-03、L-04は、受信したデータに対して、GET RANDOMコマンド受信時に取得済みの所有者Aの本人認証機能付きＩＣカードL-02のカードアプリケーションの公開鍵で署名検証を行い、所有者Aの本人認証機能付きＩＣカードL-02によって復号化された乱数がGET RANDOMコマンド受信時に発生させた乱数を同じであるかを検証し、さらにカードアプリケーションA-24の所有者情報を示す、カードアプリケーションA-24の公開鍵証明書のsubjectUniqueIDと、カードアプリケーションA-24の秘密鍵で復号化したsubjectUniqueIDとを比較する。
【０１２４】
ＩＣカードL-03の場合、図１５のsubjectUniqueID（K-01）と、図１６の所有者Aの電子チケットアプリケーションの公開鍵証明書M-01のsubjectUniqueIDとが一致するので、データ格納領域に格納されている電子チケットの属性証明書を取得する。
【０１２５】
取得した属性証明書の内容が図１６に示す属性M-03に示すような内容であったとすると、データ使用可能者属性が任意であることと、譲渡可能期限内であることから、この電子チケットは、譲渡可能であることが分かる。したがって、カードアプリ動作モード変更部において、動作モードを譲渡処理モードに変更する。
【０１２６】
一方、ＩＣカードL-04の場合、図１５のsubjectUniqueID（K-01）と、図１６の所有者Bの電子チケットアプリケーションの公開鍵証明書M-02のsubjectUniqueIDとが一致しなかったので、カードアプリ動作モード変更部において、動作モードを被譲渡処理モードに変更する。
【０１２７】
次に、PDAL-01は、所有者AのＩＣカードL-03、所有者BのＩＣカードL-04に対してREQUESTコマンドを発行して、所有者AのＩＣカードL-03から所有者AのＩＣカードL-03の電子チケットアプリケーションの公開鍵で暗号化した譲渡対象データと所有者AのＩＣカードL-03の電子チケットアプリケーション内部で生成したChallengeとを取得する。PDAL-01は、SENDコマンドを発行して、REQUESTコマンドのレスポンスとして取得したデータを、ＩＣカードL-04に送信する。
【０１２８】
SENDコマンドを受信したＩＣカードL-04は、受信した所有者BのＩＣカードL-04の電子チケットアプリケーションの秘密鍵で譲渡対象データの復号を行い、さらに譲渡対象データをデータ格納領域に格納し、カードアプリ動作モード変更部において、動作モードを"譲渡処理不可モード"に遷移し、そして暗号処理部を用いて、受信したChallengeと、電子チケットアプリケーションの共通鍵とを連結したデータに対して、ハッシュ値を計算し、算出したハッシュ値に対して、所有者AのＩＣカードL-03の電子チケットアプリケーションの秘密鍵を用いて暗号化したものをResponseとして生成する。そして、生成したResponseをレスポンスデータとして返す。
【０１２９】
次に、PDAL-01は、REMOVEコマンドを発行して、ＩＣカードL-03に譲渡済みデータの削除を要求する。REMOVEコマンドを受信したＩＣカードL-03は、暗号処理部にてResponseを復号し、Challengeと電子チケットアプリケーションの共通鍵とを連結したデータに対して、ハッシュ値を計算し、算出したハッシュ値と復号したResponseとの照合を行い、データ格納領域から譲渡済みデータの削除を行い、カードアプリ動作モード変更部において、動作モードを譲渡処理不可モードに遷移し、レスポンスデータをPDAL-01に返す。
【０１３０】
このように、上記の電子チケット譲渡システムでは、本人認証機能付きカード、譲渡元ＩＣカード、譲渡先ＩＣカードを、端末に挿入するだけで、ＩＣカードが譲渡処理に対して、能動的に処理を行うことができるため、ユーザは、PIN入力などのユーザ認証操作を行わずに、他のユーザに譲渡を行うことができる。
【実施例２】
【０１３１】
本実施例２では、電子チケットの譲渡を行う場合を図１５、図１７、図１８を用いて説明する。図１７は、所有者Aの本人認証機能付きＩＣカードN-02、電子チケットアプリケーションが格納されている所有者AのＩＣカードN-03、電子チケットアプリケーションが格納されている所有者CのＩＣカードN-04、所有者Cの本人認証機能付きＩＣカードN-05がPDAN-01に挿入されている例を示すものであり、所有者Aの電子チケットアプリケーションの公開鍵証明書の所有者属性は本会員であり、所有者Cの電子チケットアプリケーションの公開鍵証明書の所有者属性は子供会員で、本会員である所有者Aの子供会員であるとする。
【０１３２】
図１５は、所有者Aの本人認証機能付ＩＣカードN-02のカードアプリケーションの公開鍵証明書のsubjectUniqueIDの一例を示すものである。図１８は、所有者Aの電子チケットアプリケーションの公開鍵証明書O-01の一例と、所有者Cの電子チケットアプリケーションの公開鍵証明書O-02の一例と、所有者Aの電子チケットアプリケーションの証明書格納領域に格納されている譲渡対象データに付与されている属性証明書の属性O-03の一例を示すものである。
【０１３３】
また、本実施例における電子チケットの譲渡実施日を2006年3月20日であるとする。PDAN-01は、ＩＣカードが4枚、そのうち本人認証機能付きＩＣカードが2枚挿入されていることを確認している。本実施例では、所有者Aの本人認証機能付きＩＣカードN-02が、現在有効な本人認証機能付きＩＣカードであるものとする。
【０１３４】
まず、PDAN-01は、電子チケットアプリケーションが格納されている所有者AのＩＣカードN-03、電子チケットアプリケーションが格納されている所有者CのＩＣカードN-04に対して、カードアプリケーション選択、相互認証を行った後で、GET RANDOMコマンドを発行して、所有者Aの本人認証機能付きＩＣカードN-02を認証するために必要となる、所有者Aの本人認証機能付きＩＣカードN-02のカードアプリケーションの公開鍵で暗号化された乱数を取得する。
【０１３５】
次に、PDAL-01は、所有者Aの本人認証機能付きＩＣカードN-02に対して、GET OWNERコマンドを発行して、GET OWNERコマンドと共に送信された、所有者AのＩＣカードN-03の電子チケットアプリケーションの公開鍵、もしくは所有者CのＩＣカードN-04の電子チケットアプリケーションの公開鍵で暗号化されたカードアプリケーションの所有者情報を示すsubjectUniqueIDと、所有者Aの本人認証機能付きＩＣカードN-02のカードアプリケーションによって復号化された乱数に対して、所有者Aの本人認証機能付きＩＣカードN-02のカードアプリケーションの秘密鍵で署名が付与されたデータを取得する。
【０１３６】
取得した署名が付与されたデータを、CHECK OWNERコマンドを用いて、ＩＣカードN-03、N-04に送信する。CHECK OWNERコマンドを取得したＩＣカードN-03、N-04は、受信したデータに対して、GET RANDOMコマンド受信時に取得済みの所有者Aの本人認証機能付きＩＣカードN-02のカードアプリケーションの公開鍵で署名検証を行い、所有者Aの本人認証機能付きＩＣカードN-02によって復号化された乱数がGET RANDOMコマンド受信時に発生させた乱数を同じであるかを検証し、さらにカードアプリケーションA-24の所有者情報を示す、カードアプリケーションA-24の公開鍵証明書のsubjectUniqueIDと、カードアプリケーションA-24の秘密鍵で復号化したsubjectUniqueIDを比較する。
【０１３７】
ＩＣカードN-03の場合、図１５のsubjectUniqueID（K-01）と、図１８の所有者Aの電子チケットアプリケーションの公開鍵証明書O-01のsubjectUniqueIDが一致するので、データ格納領域に格納されている電子チケットの属性証明書を取得する。
【０１３８】
取得した属性証明書の内容が図１８に示す属性O-03に示すような内容であったとすると、データ使用可能者属性よりカード所有者Aが使用不可能であること、また、譲渡可能期限内であることから、この電子チケットは譲渡可能であることが分かる。したがって、カードアプリ動作モード変更部において、動作モードを譲渡処理モードに変更する。
【０１３９】
一方、ＩＣカードN-04の場合、図１５のsubjectUniqueID（K-01）と、図１８の所有者Cの電子チケットアプリケーションの公開鍵証明書O-02のsubjectUniqueIDとが一致しなかったので、カードアプリ動作モード変更部において、動作モードを被譲渡処理モードに変更する。
【０１４０】
次に、PDAN-01は、所有者AのＩＣカードN-03、所有者CのＩＣカードN-04に対してREQUESTコマンドを発行して、所有者AのＩＣカードN-03から所有者AのＩＣカードN-03の電子チケットアプリケーションの公開鍵で暗号化した譲渡データと、所有者AのＩＣカードN-03の電子チケットアプリケーション内部で生成したChallengeを取得する。
【０１４１】
PDAN-01は、SENDコマンドを発行して、REQUESTコマンドのレスポンスとして取得したデータを、ＩＣカードN-04に送信する。SENDコマンドを受信したＩＣカードN-04は、受信した所有者CのＩＣカードN-04の電子チケットアプリケーションの秘密鍵で譲渡対象データの復号を行い、さらに譲渡対象データをデータ格納領域に格納し、カードアプリ動作モード変更部において、動作モードを"譲渡処理不可モード"に遷移する。そして、暗号処理部を用いて受信したChallengeと、電子チケットアプリケーションの共通鍵とを連結したデータに対して、ハッシュ値を計算し、算出したハッシュ値に対して、所有者AのＩＣカードN-03の電子チケットアプリケーションの秘密鍵を用いて暗号化したものをResponseとして生成する。そして、生成したResponseをレスポンスデータとして返す。
【０１４２】
次に、PDAN-01は、REMOVEコマンドを発行して、ＩＣカードN-03に譲渡済みデータの削除を要求する。REMOVEコマンドを受信したＩＣカードN-03は、暗号処理部にてResponseを復号し、Challengeと電子チケットアプリケーションの共通鍵とを連結したデータに対して、ハッシュ値を計算し、算出したハッシュ値と復号したResponseとの照合を行い、データ格納領域から譲渡済みデータの削除を行い、カードアプリ動作モード変更部において、動作モードを譲渡処理不可モードに遷移し、レスポンスデータをPDAN-01に返す。
【０１４３】
このように、上記の電子チケット譲渡システムでは、本人認証機能付きカード、譲渡元ＩＣカード、譲渡先ＩＣカードを、端末に挿入するだけで、ＩＣカードが譲渡処理に対して、能動的に処理を行うことができるため、ユーザは、ユーザ自身が使用できないチケットなどをPIN入力などのユーザ認証操作を行わずに、他のユーザに譲渡することができる。
【０１４４】
なお、上記実施例において、ホスト機器はPDAとしたが、携帯電話や、複数ＩＣカードが挿入可能な媒体であってもよい。また、本人認証機能付きＩＣカードは、SIM(USIM)カードであってもよい。
【０１４５】
以上説明したように、本実施形態によれば、挿入されているカードの所有者情報によって、電子バリューの譲渡の方向を決定し、複数のＩＣカード間における電子バリューの譲渡処理を、煩雑なユーザ操作を行うことなく実現することができる。
【産業上の利用可能性】
【０１４６】
本発明は、煩雑なユーザ操作を必要とすることなく、安全にＩＣカード間での電子バリューの譲渡処理を行うことができる効果を有し、複数のＩＣカード間での電子バリュー(電子チケット・電子マネー等)の譲渡等に有用である。
【図面の簡単な説明】
【０１４７】
【図１】本発明の実施の形態１に係る電子バリュー譲渡システムの構成を示すブロック図
【図２】カード情報格納領域に格納されているデータ一覧を示す図
【図３】図１のAPの内部構成を示すブロック図
【図４】ＩＣカードが本人認証機能付ＩＣカードである場合の、カードプリケーションのブロック図
【図５】ＩＣカードが譲渡元ＩＣカード、もしくは譲渡先ＩＣカードである場合の、カードアプリケーションのブロック図
【図６】実施の形態１の電子バリュー譲渡システムにおける全体的な動作を説明するためのフローチャート
【図７】図１のカード情報格納領域に格納されているカード格納情報の一例を示す図
【図８】図１のAPの動作モードの決定、遷移処理を説明するためのフローチャート
【図９】電子バリュー譲渡処理を行う事前段階のホスト機器とカードの処理を説明するためのシーケンス図
【図１０】図１のAPの動作モードの決定、遷移処理を示したシーケンス図
【図１１】電子バリューの譲渡処理を示したシーケンス図
【図１２】図１のAPの動作モードの決定、遷移処理を行うための、ホスト機器が発行するコマンドとそのレスポンスのデータフォーマット
【図１３】電子バリューの譲渡処理を行うための、ホスト機器が発行するコマンドとそのレスポンスのデータフォーマット
【図１４】実施例１に係る電子チケット譲渡システムのブロック構成図
【図１５】図１４のＩＣカードL-02、図１７のＩＣカードN-02に格納されている公開鍵証明書のsubjectUniqueIDの一例を示した図
【図１６】実施例１に係る、図１４のＩＣカードL-03の電子チケットアプリケーションの公開鍵証明書と、図１４のＩＣカードL-04の電子チケットアプリケーションの公開鍵証明書と、譲渡対象データに付与されている属性証明書に記載されている属性の例
【図１７】実施例２に係る電子チケット譲渡システムのブロック構成図
【図１８】実施例２に係る、図１７のＩＣカードN-03の電子チケットアプリケーションの公開鍵証明書と、図１７のＩＣカードN-04の電子チケットアプリケーションの公開鍵証明書と、譲渡対象データに付与されている属性証明書に記載されている属性の例
【符号の説明】
【０１４８】
A-00  ホスト機器
A-01  CPU
A-02  メモリ
A-03  I/O制御部
A-04  I/O操作部
A-05  アンテナ
A-06  通信部
A-07  表示制御部
A-08  表示部
A-09  接触I/F
A-10  カード情報格納領域
A-11  暗号処理部
A-12  ＩＣカード処理履歴格納部
A-20a 本人認証機能付ＩＣカード
A-20b 譲渡元ＩＣカード
A-20c 譲渡先ＩＣカード
A-21  接触I/F
A-22  フラッシュメモリ
A-23  TRM(Tamper Resistant Module)
A-24  AP(カードアプリケーション)
A-24a コマンドディスパッチャ
A-24b 本人照合部
A-24c 属性情報判断部
A-24d カードアプリ動作モード変更部
A-24e 譲渡データ読み出し部
A-24f 暗号処理部
A-24g 本人情報読み出し部
A-24h 証明書格納領域
A-24i データ格納領域
A-25  カードOS
【図１】
2008046676.tif 000003
【図２】
2008046676.tif 000004
【図３】
2008046676.tif 000005
【図４】
2008046676.tif 000006
【図５】
2008046676.tif 000007
【図６】
2008046676.tif 000008
【図７】
2008046676.tif 000009
【図８】
2008046676.tif 000010
【図９】
2008046676.tif 000011
【図１０】
2008046676.tif 000012
【図１１】
2008046676.tif 000013
【図１２】
2008046676.tif 000014
【図１３】
2008046676.tif 000015
【図１４】
2008046676.tif 000016
【図１５】
2008046676.tif 000017
【図１６】
2008046676.tif 000018
【図１７】
2008046676.tif 000019
【図１８】
2008046676.tif 000020