JP5366880B2 - Icカード制御方法及びicカード制御システム - Google Patents

Icカード制御方法及びicカード制御システム Download PDF

Info

Publication number
JP5366880B2
JP5366880B2 JP2010110556A JP2010110556A JP5366880B2 JP 5366880 B2 JP5366880 B2 JP 5366880B2 JP 2010110556 A JP2010110556 A JP 2010110556A JP 2010110556 A JP2010110556 A JP 2010110556A JP 5366880 B2 JP5366880 B2 JP 5366880B2
Authority
JP
Japan
Prior art keywords
card
command
application
identification number
terminal
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.)
Expired - Fee Related
Application number
JP2010110556A
Other languages
English (en)
Other versions
JP2011238138A (ja
Inventor
勝彦 鈴木
晃司 岸
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010110556A priority Critical patent/JP5366880B2/ja
Publication of JP2011238138A publication Critical patent/JP2011238138A/ja
Application granted granted Critical
Publication of JP5366880B2 publication Critical patent/JP5366880B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マルチアプリケーション型ICカードを利用するシステムに関し、特に、ICカードのメモリが不足することにより搭載出来ないアプリケーションを、ネットワーク上に用意したサーバ上で動作させることにより、利用者が利用できるアプリケーション数を増大させることを可能とするICカード制御方法及びICカード制御システムに関する。
従来は、単一機能のICカードが主流であったが、近年、ICカードに複数のアプリケーションを搭載可能なマルチアプリケーション型のICカードが実用化され、普及しつつある。マルチアプリケーション型ICカードの方式としては、GlobalPlatform仕様が業界標準となっており(例えば、非特許文献1参照)、様々なベンダから製品が販売されている(例えば、非特許文献2参照)。
マルチアプリケーション型のICカードは、ICカードのメモリ内に複数のアプリケーションのプログラムコードやデータが格納されるが、一般的なICカードのメモリサイズは32KB〜64KB程度と小さく、数個のアプリケーションしか搭載できない。
従来のICカードの運用方法では、新規のアプリケーション搭載時にメモリが不足した場合は、(1)ICカードから搭載済みのアプリケーションを削除し、新規のアプリケーションを搭載する方法、又は(2)別のICカードを用意し、新規のアプリケーションを搭載する方法がとられてきた。上記の(1)、(2)の方法でICカードを運用する製品例としては、日本電信電話株式会社(NTT)が開発した製品がある(例えば、非特許文献3参照)。
"The Standard for Smart Card Infrastructure"、globalplatform、[online]、[2010年5月6日検索]、インターネット〈http://www.globalplatform.org〉 "IC CARD, DNP Standard-J Ax"、大日本印刷、[online]、[2010年5月6日検索]、インターネット〈http://www.dnp.co.jp/bf/ic_card/products/standard_ja.html〉 "情報通信用語集 NICE(Network-based IC Card Environment)"、平成20年3月17日報告、日本電信電話株式会社、[online]、[2010年5月6日検索]、インターネット〈http://www.ntt-review.jp/yougo/word.php?word_id=1447〉
前述したICカードの運用方法に関して、上記(1)の方法の場合は、利用シーンに応じて、アプリケーションを入れ替える必要があり利用者の手間が掛かるという問題があり、上記(2)の方法の場合は、利用シーンに応じて、利用者がICカードを使い分ける必要があり利便性が低下するという問題があった。
これらの解決する方法としてICカードのメモリ増加が考えられるが、実際には、ICチップのサイズによる制限(約3mm角のチップサイズにCPU、メモリ、通信機能等の機能をパッケージングする必要がある)があるため、パーソナルコンピュータ(PC)のように容易にメモリ量を追加することができない。
今後、公共サービス及び民間サービスで利用されるアプリケーションは増大化する方向であり、上記問題の解決が望まれている。
そこで、本発明の目的は、ICカードのメモリが不足することにより搭載出来ないアプリケーションを、ネットワーク上に用意したサーバ上で動作させることにより、利用者が利用できるアプリケーション数を増大させることを可能とするICカード制御方法及びICカード制御システムを提供することにある。
本発明は、ネットワーク上にICカードと同一のアプリケーションを実行できるサーバ(以降、「ICカード機能サーバ」と称する)を用意し、ICカードとICカード機能サーバにアプリケーションを分散配置して、ICカードとICカード機能サーバが仮想的に1枚のICカードとして動作するシステムを構築することにより、前述した問題を解決する。
即ち、本発明によるICカード制御方法は、ICカードで実行可能なアプリケーションをICカード及びICカード機能サーバに分散配置して構成されるICカード制御システムにて、前記ICカード又は前記ICカード機能サーバのいずれかおいて、前記アプリケーションの実行を可能にするICカード制御方法であって、
前記ICカード制御システムは、ICカードコマンドルータと、ICカードと、前記ICカードとサービスプロバイダサーバとの通信を担う端末と、ICカード機能サーバとを備えており、
前記ICカードコマンドルータによって、前記サービスプロバイダサーバから、前記端末の端末ID及び前記ICカードのICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記ICカードに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、選択できない場合は、前記ICカード機能サーバに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、前記ICカードか、又は前記ICカード機能サーバのいずれか一方に当該アプリケーションを実行可能にさせることを特徴とする。
また、本発明のICカード制御方法において、
(A)前記ICカードコマンドルータによって、当該端末を識別する端末ID及び当該ICカードを識別するICカード識別番号を取得するサービスプロバイダサーバから、前記端末ID及び前記ICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記端末IDの端末を経由して、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードに送信するステップと、
(B)前記ICカードによって、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は、前記ICカードコマンドとともに正常終了のレスポンスを返却し、該当アプリケーションを選択できない場合は、エラーのレスポンスを返却するステップと、
(C)前記ICカードコマンドルータによって、前記ICカードから受信したレスポンスが正常終了の旨を示す場合、前記ICカード識別番号に対応する当該アプリケーションを実行するための全てのICカードコマンドの送信先情報に前記端末IDを設定し、前記ICカードから受信したレスポンスがエラーの旨を示す場合、前記ICカード識別番号及び前記ICカードコマンドを前記ICカード機能サーバに送信するステップと、
(D)前記ICカード機能サーバによって、前記ICカードコマンドルータから前記受信したレスポンスがエラーの旨を示す故に前記ICカード識別番号及び前記ICカードコマンドを受信した際に、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は正常終了を示すレスポンスを前記ICカードコマンドルータに送信し、選択できない場合はエラーを示すレスポンスを前記ICカードコマンドルータに送信するステップと、
を含むことを特徴とする。
また、本発明のICカード制御方法において、
(E)前記ステップ(D)の後に、前記ICカードコマンドルータによって、前記ICカード機能サーバから受信したレスポンスが正常終了を示す場合にのみ、前記送信先情報に前記ICカード機能サーバを送信先とする旨を設定し、前記ICカード識別番号と、当該正常終了か、又はエラーを示す当該レスポンスを前記サービスプロバイダサーバに送信するステップと、
(F)前記サービスプロバイダサーバによって、受信した当該レスポンスが正常終了を示す場合にのみ、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードコマンドルータに送信し、受信した当該レスポンスがエラーを示す場合に、前記ICカードコマンドに対応するアプリケーションを選択できない旨のメッセージを前記端末に送信するステップと、
(G)前記ICカードコマンドルータによって、前記ICカード識別番号に関連付けて設定された前記ICカードコマンドの送信先を示す送信先情報に従い、前記ICカードに向けて送信するか、又は前記ICカード機能サーバに向けて送信するかを判別し、判別した送信先に向けて前記ICカードコマンドを送信するステップと、
(H)前記ICカード、又は前記ICカード機能サーバのいずれか一方は、受信したICカードコマンドを実行し、この実行結果を示すレスポンスを前記ICカードコマンドルータに返信するステップと、
(I)前記ICカードコマンドルータによって、前記ICカード識別番号及び前記実行結果を示すレスポンスを前記サービスプロバイダサーバに送信するステップと、
(J)前記サービスプロバイダサーバによって、当該アプリケーションの処理に必要な全てのICカードコマンドの送信が完了するまで、アプリケーション実行要求の送信を繰り返すステップと、
を含むことを特徴とする。
さらに、本発明のICカード制御システムは、ICカードで実行可能なアプリケーションをICカード及びICカード機能サーバに分散配置し、前記ICカード又は前記ICカード機能サーバのいずれかおいて、前記ICカードの記憶容量を超える複数のアプリケーションの実行を可能にするICカード制御システムであって、
ICカードコマンドルータと、ICカードと、前記ICカードとサービスプロバイダサーバとの通信を担う端末と、ICカード機能サーバとを備え、
前記ICカードコマンドルータは、サービスプロバイダサーバから、前記端末の端末ID及び前記ICカードのICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記ICカードに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、選択できない場合は、前記ICカード機能サーバに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、前記ICカードか、又は前記ICカード機能サーバのいずれか一方に当該アプリケーションを実行可能となるように構成されていることを特徴とする。
また、本発明のICカード制御システムにおいて、
前記ICカードコマンドルータは、当該端末を識別する端末ID及び当該ICカードを識別するICカード識別番号を取得するサービスプロバイダサーバから、前記端末ID及び前記ICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記端末IDの端末を経由して、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードに送信する手段を有し、
前記ICカードは、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は、前記ICカードコマンドとともに正常終了のレスポンスを返却し、該当アプリケーションを選択できない場合は、エラーのレスポンスを返却する手段を有し、
前記ICカードコマンドルータは、さらに、前記ICカードから受信したレスポンスが正常終了の旨を示す場合、前記ICカード識別番号に対応する当該アプリケーションを実行するための全てのICカードコマンドの送信先情報に前記端末IDを設定し、前記ICカードから受信したレスポンスがエラーの旨を示す場合、前記ICカード識別番号及び前記ICカードコマンドを前記ICカード機能サーバに送信する手段を有し、
前記ICカード機能サーバは、前記ICカードコマンドルータから前記受信したレスポンスがエラーの旨を示す故に前記ICカード識別番号及び前記ICカードコマンドを受信した際に、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は正常終了を示すレスポンスを前記ICカードコマンドルータに送信し、選択できない場合はエラーを示すレスポンスを前記ICカードコマンドルータに送信する手段を有する、
ことを特徴とする。
また、本発明のICカード制御システムにおいて、
前記ICカードコマンドルータは、さらに、前記ICカード機能サーバから受信したレスポンスが正常終了を示す場合にのみ、前記送信先情報に前記ICカード機能サーバを送信先とする旨を設定し、前記ICカード識別番号と、当該正常終了か、又はエラーを示す当該レスポンスを前記サービスプロバイダサーバに送信する手段を有し、
前記サービスプロバイダサーバは、受信した当該レスポンスが正常終了を示す場合にのみ、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードコマンドルータに送信し、受信した当該レスポンスがエラーを示す場合に、前記ICカードコマンドに対応するアプリケーションを選択できない旨のメッセージを前記端末に送信する手段を有し、
前記ICカードコマンドルータは、前記ICカード識別番号に関連付けて設定された前記ICカードコマンドの送信先を示す送信先情報に従い、前記ICカードに向けて送信するか、又は前記ICカード機能サーバに向けて送信するかを判別し、判別した送信先に向けて前記ICカードコマンドを送信する手段を有し、
前記ICカード、又は前記ICカード機能サーバのいずれか一方は、受信したICカードコマンドを実行し、この実行結果を示すレスポンスを前記ICカードコマンドルータに返信するように構成され、さらに、
前記ICカードコマンドルータは、前記ICカード識別番号及び前記実行結果を示すレスポンスを前記サービスプロバイダサーバに送信する手段を有し、
前記サービスプロバイダサーバは、当該アプリケーションの処理に必要な全てのICカードコマンドの送信が完了するまで、アプリケーション実行要求の送信を繰り返すように構成されていることを特徴とする。
本発明によれば、マルチアプリケーション型のICカードを利用するシステムにおいて、ICカードのメモリが不足することにより搭載できないアプリケーションを、ネットワーク上に用意したICカード機能サーバ上で動作させることが可能になり、利用者が利用できるICカードアプリケーションを増大化することが可能となる。
また、本発明によれば、利用者及びサービス提供者は、ICカード上のアプリケーションとネットワーク上のICカード機能サーバで動作しているアプリケーションの切り替えを意識する必要が無いため、従来のICカードと変わらない方法で利用することができる。
本発明による一実施例のICカード制御システムの概略図である。 本発明による一実施例のICカード制御システムにおけるデータベース部の構成を示す図である。 本発明による一実施例のICカード制御システムの動作フローを示す図である。 本発明による一実施例のICカード制御システムにおけるICカード機能サーバの動作フローを示す図である。
以下、本発明による一実施例のICカード制御システムを説明する。本発明に係るICカード制御方法は、本実施例のICカード制御システムの説明から明らかになる。
〔システム構成〕
図1は、本発明による一実施例のICカード制御システムの概略図である。また、図2は、本発明による一実施例のICカード制御システムにおけるデータベース部の構成を示す図である。本実施例のICカード制御システム100は、利用者が保有するICカード10と、ICカード10をネットワークに接続する機能を提供する端末20と、ネットワーク上で動作するサーバであり、ICカード10と同一の機能を提供するICカード機能サーバ50と、サービス提供者が管理し、利用者に対してICカード10を利用したサービスを提供するサービスプロバイダサーバ30と、実行するアプリケーションに応じてICカードコマンドを、ICカード10又はICカード機能サーバ50へ送信先を切り替える機能を提供するICカードコマンドルータ40とを備える。
(ICカード)
ICカード10は、当該ICカード10を一意に識別するIDとしてのICカード識別番号を予め格納しており、このICカード識別番号を端末20に送信する機能と、ICカードコマンドに対応したアプリケーションを選択する機能と、当該アプリケーションを実行する機能(受信したICカードコマンドに対応した処理を実行し、その実行結果のレスポンスを端末20に送信する機能を含む)とを有する。
(端末)
端末20は、端末20を一意に識別するIDとしての端末IDを予め保持しており、本実施例のICカード制御システム100にて事前に登録されているものとする。端末20は、ICカードリーダライタ(図示せず)を接続しており、ICカード10からICカード識別番号を取得する機能と、端末ID及びICカード識別番号をサービスプロバイダサーバ30に送信する機能と、サービスプロバイダサーバ30から送信されたメッセージを受信する機能と、ICカードコマンドルータ40から送信されたICカード識別番号及びICカードコマンドを受信する機能と、端末ID、ICカード識別番号、及びレスポンスをICカードコマンドルータ40に送信する機能とを有する。
(ICカード機能サーバ)
ICカード機能サーバ50は、暗号処理部501と、データ管理部502と、仮想ICカード部503と、コマンド入出力部504と、アプリケーションリスト管理部505と、データベース部506とを有する。
アプリケーションリスト管理部505は、コマンド入出力部504から送信されたICカード識別番号を受信する機能と、受信したICカード識別番号をキーに、データベース部506(データベース(#1))からアプリケーションIDを取得する機能と、ICカードコマンド(SELECTコマンド)のアプリケーションIDとデータベース部506(データベース(#1))から取得したアプリケーションIDとを照合する機能と、アプリケーションIDの照合結果のレスポンスをコマンド入出力部504に送信する機能とを有する。
仮想ICカード部503は、ICカード10のCPU命令をICカード機能サーバ50のCPU命令に逐次変換しながらプログラムコードを実行するICカード用のエミュレーション機能と、ICカードコマンド形式のレスポンス(R−APDU)をコマンド入出力部504に送出する機能とを有する。尚、 “エミュレーション”についての更なる詳細は、例えば、
“http://e-words.jp/w/E382A8E3839FE383A5E383ACE383BCE382B7E383A7E383B3.html”
等を参照されたい。
コマンド入出力部504は、ICカードコマンドルータ40から送信されたICカードコマンドを受信する機能と、ICカードコマンド(C−APDU)を図示しない自己のメモリ(RAM)にコピーする機能と、仮想ICカード部503から取得したICカードコマンドのレスポンス(R−APDU)をICカードコマンドルータ40に送信する機能と、ICカード10から得られるICカード識別番号をデータ管理部503に送出する機能と、ICカードコマンドの処理完了後に、ICカードコマンドの処理完了の旨をデータ管理部503に送出する機能とを有する。
データ管理部502は、コマンド入出力部504から送出されたICカード識別番号を受信する機能と、ICカード識別番号をキーにデータベース部506からICカード情報(ICカードのプログラムコードとデータ)を取得する機能と、コマンド入出力部504から送信されたICカードコマンドの処理完了を受信し、ICカード情報(ICカードのプログラムコードとデータ)を図示しない自己のメモリ(RAM)にコピーする機能と、メモリ(RAM)内容を消去する機能と、ICカード10のCPU命令をICカード機能サーバ50のCPU命令に逐次変換しながらプログラムコードを実行させるために仮想ICカード部503を起動する機能とを有する。
暗号処理部501は、データ管理部502から送出されたICカード情報を受信する機能と、ICカード情報(ICカードのプログラムコードとデータ)を暗号化及び復号する機能と、図示しない自己のメモリ(RAM)内に、復号したICカード情報を格納する機能とを有する。
データベース部506は、図2示すように、ICカード識別番号をキーにアプリケーションIDを検索するために、ICカード識別番号とアプリケーションIDをそれぞれ1対n(ICカード機能サーバに格納されているアプリケーション数)の関係で関連付けて保持するデータベース(#1)と、ICカード識別番号をキーにICカード情報(ICカードのプログラムコードとデータ)を検索するために、ICカード識別番号とICカード情報(ICカードのプログラムコードとデータ)を関連付けて保持するデータベース(#2)からなる。
(サービスプロバイダサーバ)
サービスプロバイダサーバ30は、端末20から送信される端末ID及びICカード識別番号を受信する機能と、端末ID、ICカード識別番号及びICカードコマンドをICカードコマンドルータ40に送信する機能と、ICカードコマンドルータ40から送信されるICカード識別番号及びレスポンス(ICカードコマンドの実行結果)を受信する機能と、ICカードコマンドの処理完了後に “ICカード処理完了”のメッセージを端末20に送信する機能とを有する。
(ICカードコマンドルータ)
ICカードコマンドルータ40は、サービスプロバイダサーバ30から送信される端末ID、ICカード識別番号40a及びICカードコマンドを受信する機能と、サービスプロバイダサーバ30から送信されるICカードコマンドを、ICカード識別番号40aに基づいて端末20又はICカード機能サーバ50へディスパッチ(送信先情報40bに基づく送信先の選択)する機能と、ICカード識別番号及びICカードコマンドを端末20に送信する機能と、ICカード識別番号及びICカードコマンドをICカード機能サーバ50に送信する機能と、ICカード識別番号とICカードコマンドのレスポンスとをサービスプロバイダサーバ30に送信する機能とを有する。
次に、本発明による一実施例のICカード制御システムの動作を説明する。図3は、本発明による一実施例のICカード制御システムの動作フローを示す図である。
〔システム動作〕
利用者は、ICカード10を端末20に接続されたICカードリーダライタに挿入する(ステップS1)。
端末20は、ICカード10からICカード識別番号を取得する(ステップS2)。ICカード識別番号は、ICカードを一意に識別するIDであり、事前にICカード10に格納されているものとする。
端末20は、端末ID及びICカード識別番号をサービスプロバイダサーバ30に送信する(ステップS3)。端末IDは、端末20を一意に識別するIDであり、事前に端末20に登録されているものとする。
以下の手順は、ICカードアプリケーションの実行手順に関する。
サービスプロバイダサーバ30は、アプリケーション実行要求をICカードコマンドルータ40に送信する(ステップS4)。このアプリケーション実行要求は、端末ID、ICカード識別番号及びICカードコマンド(SELECTコマンド)を一組として構成される。尚、SELECTコマンドは、アプリケーションを選択するICカードコマンドであり、引数としてアプリケーションの識別子であるアプリケーションIDが付与される。
ICカードコマンドルータ40は、アプリケーション実行要求を受信した後、当該端末IDの端末20に対して、ICカード識別番号及びICカードコマンド(SELECTコマンド)を送信する(ステップS5)。
端末20は、ICカード識別番号に対応したICカード10に対して、ICカードコマンド(SELECTコマンド)を送信する(ステップS6)。
ICカード10は、SELECTコマンドのアプリケーションIDに対応したアプリケーションを選択できた場合は、端末20に正常終了のレスポンスを返却し(当該SELECTコマンドの返却を含む)、該当のアプリケーションが存在しない場合は、エラーのレスポンスを返却する(ステップS7)。例えば、ICカード10がGlobalPlatform仕様のICカードの場合、アプリケーションを選択するICカードコマンド(SELECTコマンド)に対して、アプリケーションの選択が成功した場合、0x9000の正常終了のレスポンスを返却し(当該ICカードコマンドの返却を含む)、アプリケーションが存在しない場合は、0x6A82のエラーレスポンスを返却する。
端末20は、端末ID、ICカード識別番号、及びICカード10から返却されたICカードコマンド(SELECTコマンド)のレスポンスをICカードコマンドルータ40に送信する(ステップS8)。
ICカードコマンドルータ40は、受信したレスポンスが正常終了(0x9000)の場合、ICカード識別番号に対応する送信先情報に端末20の端末IDを設定する(ステップS9)。尚、送信先情報は、ICカード識別番号毎に保持される。また、サービスプロバイダサーバ30から送信されたICカードコマンドが、アプリケーションを選択するICカードコマンド(SELECTコマンド)の場合、ICカードコマンドルータ40は、サービスプロバイダサーバ30から送信されたICカードコマンドの受信時点で、ICカード識別番号に対応した送信先情報を消去する。
ステップS9にて、ICカードコマンドルータ40は、受信したレスポンスがエラー(0x6A82)の場合、ICカード識別番号及びICカードコマンド(SELECTコマンド)をICカード機能サーバ50に送信して、以下のステップS10乃至S12の処理を実行する。
ICカードコマンドルータ40は、ICカード識別番号及びICカードコマンド(SELECTコマンド)をICカード機能サーバ50に送信する(ステップS10)。
ICカード機能サーバ50では、以下の処理を実行する。
コマンド入出力部504は、ICカードコマンドルータ40からICカード識別番号及びICカードコマンド(SELECTコマンド)を受信すると、ICカード識別番号をアプリケーションリスト管理部505に送信し、アプリケーションリスト管理部505は、ICカード識別番号をキーに、データベース部506内のデータベース(#1)からアプリケーションIDを取得し、SELECTコマンドのアプリケーションIDとデータベース部506内のデータベース(#1)から取得したアプリケーションIDを照合する(ステップS11)。尚、ICカード識別番号とアプリケーションIDは1対n(ICカード機能サーバに格納されているアプリケーション数)の関係である。
アプリケーションリスト管理部505は、データベース部506内のデータベース(#1)に該当するアプリケーションIDが存在すると判断した場合は、正常終了(0x9000)のレスポンスをコマンド入出力部504に送出し、コマンド入出力部504は、ICカード識別番号とICカードコマンド(SELECTコマンド)のレスポンスをICカードコマンドルータ40に送信する(ステップS12)。尚、アプリケーションリスト管理部505は、該当のアプリケーションが存在しないと判断した場合は、エラー(0x6A82)のレスポンスをコマンド入出力部504に送出し、コマンド入出力部504は、このレスポンスをICカードコマンドルータ40に送信する。
ICカードコマンドルータ40は、ICカード機能サーバ50から受信したレスポンスが正常終了(0x9000)の場合、ICカード識別番号に対応する送信先を示す送信先情報に“ICカード機能サーバ50”を送信先とする旨を設定する(ステップS13)。
ICカードコマンドルータ40は、ICカード識別番号と、当該レスポンス(正常終了(0x9000)又はエラー(0x6A82))をサービスプロバイダサーバ30に送信する(ステップS14)。
サービスプロバイダサーバ30は、受信したレスポンスが正常終了(0x9000)の場合は、次に、ICカード識別番号及びICカードコマンド(アプリケーション用コマンド)をICカードコマンドルータ40に送信する(ステップS15)。一方、サービスプロバイダサーバ30は、受信したレスポンスがエラー(0x6A82)の場合は、端末20に“アプリケーションが存在しない”のメッセージを送信する。
ICカードコマンドルータ40は、ICカード識別番号に関連付けて設定されたICカードコマンド(アプリケーション用コマンド)の送信先(端末20又はICカード機能サーバ50)を示す送信先情報に従い、端末20を経由してICカード10に向けて送信するか、又はICカード機能サーバ50に向けて送信するかを判別し、判別した送信先に向けてICカードコマンド(アプリケーション用コマンド)を送信する(ステップS16)。
ICカード10又はICカード機能サーバ50のいずれか一方は、受信したICカードコマンド(アプリケーション用コマンド)を実行し、その実行結果を示すレスポンスをICカードコマンドルータ40に送信する(ステップS17a, 17b,17c)。ICカードコマンドルータ40は実行結果を示すレスポンスを受信すると、その旨をサービスプロバイダサーバ30に返信する。尚、ICカード機能サーバ50によるICカードコマンド実行手順は図4を参照して後述する。
ICカードコマンドルータ40は、ICカード識別番号及び上記実行結果を示すレスポンスをサービスプロバイダサーバ30に送信する(ステップS18)。
サービスプロバイダサーバ30は、アプリケーションの処理に必要な全てのICカードコマンドの送信が完了するまで、ステップS15乃至S18の処理を繰り返す(ステップS19)。
サービスプロバイダサーバ30は、“ICカード処理完了”のメッセージを端末20に送信する(ステップS20)。
このように、本実施例のICカード制御システム100によれば、マルチアプリケーション型のICカード10であるにも関わらず、ICカード10のメモリが不足することにより搭載できないアプリケーションについて、ネットワーク上に用意したICカード機能サーバ50で動作させることが可能になり、実質的に、利用者が利用できるICカードアプリケーションを増大化することが可能となり、さらに、利用者及びサービス提供者は、ICカード10上のアプリケーションとネットワーク上のICカード機能サーバ50で動作しているアプリケーションの切り替えを意識する必要もなく、従来からのICカードと変わらない方法で本実施例のICカード制御システム100を利用することができるようになる。
以下、ICカード機能サーバ50によるICカードコマンド実行手順について、図4を参照して説明を加える。図4は、本発明による一実施例のICカード制御システムにおけるICカード機能サーバの動作フローを示す図である。
ICカード機能サーバ50は、ICカードコマンドルータ40から送信されたICカード識別番号及びICカードコマンドを受信すると、図4に示す手順にて処理を実行する。
コマンド入出力部504は、ICカードコマンドルータ40から送信されたICカード識別番号及びICカードコマンドを受信すると、ICカード識別番号をデータ管理部502に送出する(ステップS31)。また、コマンド入出力部504は、ICカードコマンドを、図示しない自己のメモリ(RAM)内にコピーする。
データ管理部502は、ICカード識別番号をキーにデータベース部506内のデータベース(#2)からICカード情報(ICカードのプログラムコードとデータ)を取得し、図示しない自己のメモリ(RAM)にコピーする。
ここで、データベース部506内のデータベース(#2)のICカード情報が暗号化されている場合は、データ管理部502は、暗号化されたICカード情報を暗号処理部501に送出し、暗号処理部501によって暗号化されたICカード情報を復号した後、図示しない自己のメモリ(RAM)にコピーし、仮想ICカード部503を起動させる(ステップS32)。暗号処理部50の暗号化方式は、例えば公開鍵暗号方式などがある。また、データベース部506内のデータベース(#2)には事前に、ICカード識別番号とアプリケーションに対応したICカード情報を一組にして格納されているものとする。
仮想ICカード部503は、メモリ(RAM)内のプログラムコードを読み出し、ICカードのCPU命令をサーバPCのCPU命令に逐次変換しながらプログラムコードを実行し(エミュレーション機能)、図示しない自己のメモリ(RAM)内のICカードコマンド(C−APDU)を入力として、該入力に対応したプログラムコードを実行し、実行結果としてICカードコマンド形式のレスポンス(R−APDU)をコマンド入出力部504に出力する(ステップS33)。
コマンド入出力部504は、ICカードレスポンス情報(ICカード識別番号、レスポンス(R−APDU))をサービスプロバイダサーバ30に送信する(ステップS34)。また、コマンド入出力部504は、ICカードコマンドの処理完了のメッセージをデータ管理部502に通知する。
データ管理部502は、図示しないメモリ(RAM)上のICカード情報をデータベース部506に格納(データの更新)し、当該メモリ(RAM)の内容を消去する。このタイミングで当該メモリ(RAM)の内容を消去することにより、ICカード機能サーバ50に対する不正なメモリダンプが実行された場合でも、コマンドを実行中以外のICカード情報の漏えい、改ざんを防ぐことができる。セキュリティを向上させる場合は、データ管理部502は、当該メモリ(RAM)上のICカード情報を暗号処理部501に渡し、暗号鍵で暗号化し、その後、暗号化されたICカード情報をデータベース部506に格納(データの更新)する。これにより、不正にデータベースを閲覧された場合でも、ICカード情報は暗号化されているため、内容の漏えいを防ぐことができる。
上記のように構成することにより、利用者及びサービス提供者は、ICカード10のアプリケーションがICカード10上又はICカード機能サーバ50上のどちらに格納されているかを意識することなく、アプリケーションを利用することが可能になる。また、一般的なサーバのメモリは、ICカードと比較して、数万倍のメモリサイズを持つことから、実質上、利用者が利用する現時点で運用されている全てのICカードアプリケーションを格納できるようになる。
本発明によれば、利用者及びサービス提供者は、ICカード10のアプリケーションがICカード10上又はICカード機能サーバ50上のどちらに格納されているかを意識することなく、アプリケーションを利用することが可能になるから、マルチアプリケーション型のICカードの用途に有用である。
10 ICカード
20 端末
30 サービスプロバイダサーバ
40 ICカードコマンドルータ
40a ICカード識別番号
40b 送信先情報
50 ICカード機能サーバ
100 ICカード制御システム
501 暗号処理部
502 データ管理部
503 仮想ICカード部
504 コマンド入出力部
505 アプリケーションリスト管理部
506 データベース部

Claims (6)

  1. ICカードで実行可能なアプリケーションをICカード及びICカード機能サーバに分散配置して構成されるICカード制御システムにて、前記ICカード又は前記ICカード機能サーバのいずれかおいて、前記アプリケーションの実行を可能にするICカード制御方法であって、
    前記ICカード制御システムは、ICカードコマンドルータと、ICカードと、前記ICカードとサービスプロバイダサーバとの通信を担う端末と、ICカード機能サーバとを備えており、
    前記ICカードコマンドルータによって、前記サービスプロバイダサーバから、前記端末の端末ID及び前記ICカードのICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記ICカードに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、選択できない場合は、前記ICカード機能サーバに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、前記ICカードか、又は前記ICカード機能サーバのいずれか一方に当該アプリケーションを実行可能にさせることを特徴とする、ICカード制御方法。
  2. 請求項1に記載のICカード制御方法において、
    (A)前記ICカードコマンドルータによって、当該端末を識別する端末ID及び当該ICカードを識別するICカード識別番号を取得するサービスプロバイダサーバから、前記端末ID及び前記ICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記端末IDの端末を経由して、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードに送信するステップと、
    (B)前記ICカードによって、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は、前記ICカードコマンドとともに正常終了のレスポンスを返却し、該当アプリケーションを選択できない場合は、エラーのレスポンスを返却するステップと、
    (C)前記ICカードコマンドルータによって、前記ICカードから受信したレスポンスが正常終了の旨を示す場合、前記ICカード識別番号に対応する当該アプリケーションを実行するための全てのICカードコマンドの送信先情報に前記端末IDを設定し、前記ICカードから受信したレスポンスがエラーの旨を示す場合、前記ICカード識別番号及び前記ICカードコマンドを前記ICカード機能サーバに送信するステップと、
    (D)前記ICカード機能サーバによって、前記ICカードコマンドルータから前記受信したレスポンスがエラーの旨を示す故に前記ICカード識別番号及び前記ICカードコマンドを受信した際に、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は正常終了を示すレスポンスを前記ICカードコマンドルータに送信し、選択できない場合はエラーを示すレスポンスを前記ICカードコマンドルータに送信するステップと、
    を含むことを特徴とする、ICカード制御方法。
  3. 請求項2に記載のICカード制御方法において、
    (E)前記ステップ(D)の後に、前記ICカードコマンドルータによって、前記ICカード機能サーバから受信したレスポンスが正常終了を示す場合にのみ、前記送信先情報に前記ICカード機能サーバを送信先とする旨を設定し、前記ICカード識別番号と、当該正常終了か、又はエラーを示す当該レスポンスを前記サービスプロバイダサーバに送信するステップと、
    (F)前記サービスプロバイダサーバによって、受信した該レスポンスが正常終了を示す場合にのみ、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードコマンドルータに送信するステップと、
    (G)前記ICカードコマンドルータによって、前記ICカード識別番号に関連付けて設定された前記ICカードコマンドの送信先を示す送信先情報に従い、前記ICカードに向けて送信するか、又は前記ICカード機能サーバに向けて送信するかを判別し、判別した送信先に向けて前記ICカードコマンドを送信するステップと、
    (H)前記ICカード、又は前記ICカード機能サーバのいずれか一方は、受信したICカードコマンドを実行し、この実行結果を示すレスポンスを前記ICカードコマンドルータに返信するステップと、
    (I)前記ICカードコマンドルータによって、前記ICカード識別番号及び前記実行結果を示すレスポンスを前記サービスプロバイダサーバに送信するステップと、
    (J)前記サービスプロバイダサーバによって、当該アプリケーションの処理に必要な全てのICカードコマンドの送信が完了するまで、アプリケーション実行要求の送信を繰り返すステップと、
    を含むことを特徴とする、ICカード制御方法。
  4. ICカードで実行可能なアプリケーションをICカード及びICカード機能サーバに分散配置し、前記ICカード又は前記ICカード機能サーバのいずれかおいて、前記アプリケーションの実行を可能にするICカード制御システムであって、
    ICカードコマンドルータと、ICカードと、前記ICカードとサービスプロバイダサーバとの通信を担う端末と、ICカード機能サーバとを備え、
    前記ICカードコマンドルータは、前記サービスプロバイダサーバから、前記端末の端末ID及び前記ICカードのICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記ICカードに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、選択できない場合は、前記ICカード機能サーバに対して、当該ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別させ、前記ICカードか、又は前記ICカード機能サーバのいずれか一方が当該アプリケーションを実行可能となるように構成されていることを特徴とする、ICカード制御システム。
  5. 請求項4に記載のICカード制御システムにおいて、
    前記ICカードコマンドルータは、当該端末を識別する端末ID及び当該ICカードを識別するICカード識別番号を取得するサービスプロバイダサーバから、前記端末ID及び前記ICカード識別番号とアプリケーションを選択するためのICカードコマンドとを一組としたアプリケーション実行要求を受け付け、前記端末IDの端末を経由して、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードに送信する手段を有し、
    前記ICカードは、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は、前記ICカードコマンドとともに正常終了のレスポンスを返却し、該当アプリケーションを選択できない場合は、エラーのレスポンスを返却する手段を有し、
    前記ICカードコマンドルータは、さらに、前記ICカードから受信したレスポンスが正常終了の旨を示す場合、前記ICカード識別番号に対応する当該アプリケーションを実行するための全てのICカードコマンドの送信先情報に前記端末IDを設定し、前記ICカードから受信したレスポンスがエラーの旨を示す場合、前記ICカード識別番号及び前記ICカードコマンドを前記ICカード機能サーバに送信する手段を有し、
    前記ICカード機能サーバは、前記ICカードコマンドルータから前記受信したレスポンスがエラーの旨を示す故に前記ICカード識別番号及び前記ICカードコマンドを受信した際に、前記ICカードコマンドに対応したアプリケーションを選択可能であるか否かを判別し、選択できる場合は正常終了を示すレスポンスを前記ICカードコマンドルータに送信し、選択できない場合はエラーを示すレスポンスを前記ICカードコマンドルータに送信する手段を有する、
    ことを特徴とする、ICカード制御システム。
  6. 請求項5に記載のICカード制御システムにおいて、
    前記ICカードコマンドルータは、さらに、前記ICカード機能サーバから受信したレスポンスが正常終了を示す場合にのみ、前記送信先情報に前記ICカード機能サーバを送信先とする旨を設定し、前記ICカード識別番号と、当該正常終了か、又はエラーを示す当該レスポンスを前記サービスプロバイダサーバに送信する手段を有し、
    前記サービスプロバイダサーバは、受信した該レスポンスが正常終了を示す場合にのみ、前記ICカード識別番号及び前記ICカードコマンドを前記ICカードコマンドルータに送信する手段を有し、
    前記ICカードコマンドルータは、前記ICカード識別番号に関連付けて設定された前記ICカードコマンドの送信先を示す送信先情報に従い、前記ICカードに向けて送信するか、又は前記ICカード機能サーバに向けて送信するかを判別し、判別した送信先に向けて前記ICカードコマンドを送信する手段を有し、
    前記ICカード、又は前記ICカード機能サーバのいずれか一方は、受信したICカードコマンドを実行し、この実行結果を示すレスポンスを前記ICカードコマンドルータに返信するように構成され、さらに、
    前記ICカードコマンドルータは、前記ICカード識別番号及び前記実行結果を示すレスポンスを前記サービスプロバイダサーバに送信する手段を有し、
    前記サービスプロバイダサーバは、当該アプリケーションの処理に必要な全てのICカードコマンドの送信が完了するまで、アプリケーション実行要求の送信を繰り返すように構成されていることを特徴とする、ICカード制御システム。
JP2010110556A 2010-05-12 2010-05-12 Icカード制御方法及びicカード制御システム Expired - Fee Related JP5366880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010110556A JP5366880B2 (ja) 2010-05-12 2010-05-12 Icカード制御方法及びicカード制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010110556A JP5366880B2 (ja) 2010-05-12 2010-05-12 Icカード制御方法及びicカード制御システム

Publications (2)

Publication Number Publication Date
JP2011238138A JP2011238138A (ja) 2011-11-24
JP5366880B2 true JP5366880B2 (ja) 2013-12-11

Family

ID=45326026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010110556A Expired - Fee Related JP5366880B2 (ja) 2010-05-12 2010-05-12 Icカード制御方法及びicカード制御システム

Country Status (1)

Country Link
JP (1) JP5366880B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4024242B1 (en) * 2020-12-29 2023-08-30 HID Global GmbH Reader device and method of configuring the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5354663B2 (ja) * 2008-08-20 2013-11-27 国立大学法人東京工業大学 サーバ一体型icカードシステム

Also Published As

Publication number Publication date
JP2011238138A (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
KR101932277B1 (ko) 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법
RU2488888C2 (ru) Способ доступа к приложениям в защищенной мобильной среде
US9460307B2 (en) Managing sensitive data in cloud computing environments
CN110855791B (zh) 一种区块链节点部署方法及相关设备
US8576053B2 (en) Near field communication device and method for near field communication
CN102263830B (zh) 便于推送内容的后台处理的装置和相关方法
JP5633730B2 (ja) 情報処理装置および方法、並びにプログラム
JP2016126743A (ja) クラウドサービス提供方法およびシステム
CN105407128A (zh) 在ccn中的中间路由器上兴趣保持活动
CN108270739A (zh) 一种管理加密信息的方法及装置
CN108512898A (zh) 文件推送方法、装置、计算机设备和存储介质
US8366007B2 (en) Secure device and reader-writer
EP1785901A1 (en) Secure License Key Method and System
US20080288788A1 (en) Digital Rights Management Metafile, Management Protocol and Applications Thereof
CN101553834A (zh) 利用消息映射的格式化的消息处理
EP3742704B1 (en) Method, computer readable medium and wi-fi gateway apparatus for trusted service management
JP2006154997A (ja) アプリケーション設定装置、icチップ及びプログラム
CN105051769A (zh) 用于传输数据的方法和系统
JP5366880B2 (ja) Icカード制御方法及びicカード制御システム
CN110045980B (zh) 一种对nb-iot设备的远程升级方法、设备及系统
EP2251816A1 (en) Content distribution system and content distribution method
KR102095046B1 (ko) 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법
JP5280402B2 (ja) アプリケーションダウンロード方法、及びそのシステム
KR20190076813A (ko) 블록체인 기반의 사용자 정보 공유를 위해 사용 시간 증명을 이용한 분산 원장 장치 및 분산 원장 방법
KR20190076812A (ko) 블록체인 기반의 포인트 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130910

R150 Certificate of patent or registration of utility model

Ref document number: 5366880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees