(57)【要約】【課題】通信プロトコルの変更に際し、従前の通信プロトコルにしか対応していないＩＣカードリーダが情報処理システムに残存していても、システムの不具合を起こさないようにするための技術を提供する。【解決手段】ホスト装置１０２に接続される通信インタフェース１１と、ＩＣカード１０４と通信するためのＩＣカードインタフェース１２と、動作プログラム１６を記憶する記憶部と、動作プログラム１６を実行することにより、ホスト装置から受け取ったコマンドをＩＣカード１０４に転送する転送処理を行う演算装置１３とを具備する。動作プログラム１６は、ホスト装置１０２から受け取ったコマンドが特定コマンドである場合に、受け取ったコマンドをＩＣカード１０４に転送しないようにブロックするフィルタリング処理を演算装置１３に行わせるように記述されている。【選択図】図４
2014164531.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に接続される通信インタフェースと、
ＩＣカードと通信するためのＩＣカードインタフェースと、
動作プログラムを記憶する記憶部と、
前記動作プログラムを実行することにより、前記ホスト装置から受け取ったコマンドを前記ＩＣカードに転送する転送処理を行う演算装置
とを具備し、
前記動作プログラムは、前記ホスト装置から受け取った前記コマンドが特定コマンドである場合に、受け取った前記コマンドを前記ＩＣカードに転送しないようにブロックするフィルタリング処理を前記演算装置に行わせるように記述されている
ＩＣカードリーダ。
【請求項２】
請求項１に記載のＩＣカードリーダであって、
前記記憶部は、前記ホスト装置から前記ＩＣカードへの転送を許可する転送許可コマンドが登録されるホワイトリストを記憶し、
前記動作プログラムは、前記ホワイトリストを用いた前記フィルタリング処理を前記演算装置に行わせる
ＩＣカードリーダ。
【請求項３】
請求項２に記載のＩＣカードリーダであって、
前記動作プログラムは、当該ＩＣカードリーダが学習モードに設定されたときに前記ホスト装置から受け取った前記コマンドを前記ホワイトリストに登録すると共に、受け取った前記コマンドを前記ＩＣカードに転送するように記述されている
ＩＣカードリーダ。
【請求項４】
請求項１に記載のＩＣカードリーダであって、
前記記憶部は、前記ホスト装置から前記ＩＣカードへの転送を禁止する転送禁止コマンドが登録されるブラックリストを記憶しており、
前記動作プログラムは、前記ブラックリストを用いた前記フィルタリング処理を前記演算装置に行わせる
ＩＣカードリーダ。
【請求項５】
請求項２に記載のＩＣカードリーダであって、
前記記憶部は、前記ホスト装置から前記ＩＣカードへの転送を禁止する転送禁止コマンドが登録されるブラックリストを記憶しており、
前記動作プログラムは、前記ホワイトリストに何らの転送許可コマンドも登録されていない場合、前記ブラックリストを用いた前記フィルタリング処理を前記演算装置に行わせ、前記ホワイトリストに少なくとも一の転送許可コマンドが登録されている場合、前記ホワイトリストを用いた前記フィルタリング処理を前記演算装置に行わせる
ＩＣカードリーダ。
【請求項６】
請求項１乃至５のいずれかに記載のＩＣカードリーダであって、
前記ＩＣカードインタフェースは、第１通信プロトコルに対応した第１通信速度で前記ＩＣカードと通信するように構成されており、
前記特定コマンドは、前記ＩＣカードが前記第１通信プロトコルに対応した動作を行っているときに、前記第１通信速度よりも高い第２通信速度で前記ＩＣカードと通信するように規定された第２通信プロトコルに対応する動作に切り替えることを要求するプロトコル切替要求コマンドを含む
ＩＣカードリーダ。
【請求項７】
ホスト装置に接続される通信インタフェースと、ＩＣカードと通信するためのＩＣカードインタフェースと、動作プログラムを記憶する記憶部と、前記動作プログラムを実行することにより、前記ホスト装置から受け取ったコマンドを前記ＩＣカードに転送する転送処理を行う演算装置とを備えたＩＣカードリーダを改修するＩＣカードリーダ改修方法であって、
前記動作プログラムを、前記ホスト装置から受け取った前記コマンドが特定コマンドである場合に、受け取った前記コマンドを前記ＩＣカードに転送しないようにブロックするフィルタリング処理を前記演算装置に行わせるように書き換えるステップ
を具備する
ＩＣカードリーダ改修方法。
【請求項８】
請求項７に記載のＩＣカードリーダ改修方法であって、
更に、
前記記憶部に、前記ホスト装置から前記ＩＣカードへの転送を許可する転送許可コマンドが登録されるホワイトリストを書き込むステップ
を具備し、
前記動作プログラムは、前記ホワイトリストを用いた前記フィルタリング処理を前記演算装置に行わせるように書き換えられる
ＩＣカードリーダ改修方法。
【請求項９】
請求項７に記載のＩＣカードリーダ改修方法であって、
更に、
前記記憶部に、前記ホスト装置から前記ＩＣカードへの転送を禁止する転送禁止コマンドが登録されるブラックリストを書き込むステップ
を具備し、
前記動作プログラムは、前記ブラックリストを用いた前記フィルタリング処理を前記演算装置に行わせるように書き換えられる
ＩＣカードリーダ改修方法。
【請求項１０】
請求項７乃至９のいずれかに記載のＩＣカードリーダ改修方法であって、
前記ＩＣカードインタフェースは、第１通信プロトコルに対応した第１通信速度で前記ＩＣカードと通信するように構成されており、
前記特定コマンドは、前記ＩＣカードが前記第１通信プロトコルに対応した動作を行っているときに、前記第１通信速度よりも高い第２通信速度で前記ＩＣカードと通信するように規定された第２通信プロトコルに対応する動作に切り替えることを要求するプロトコル切替要求コマンドを含む
ＩＣカードリーダ改修方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードリーダ及びその改修方法に関する。
【背景技術】
【０００２】
ＩＣカードを用いる情報処理システムにおいては、ＩＣカードとのデータ交換において使用される通信プロトコルが技術革新と共に更新される場合がある。例えば、ＥＴＣ（electronic toll charge）システムにおいては、将来、システムで使用している暗号技術の危殆化に伴い、この暗号技術の変更に併せて通信プロトコルが変更されることが予想される。
【０００３】
通信プロトコルが変更される場合でも、従前の通信プロトコルにしか対応していないＩＣカードが流通していることから、情報処理システムは、従前の通信プロトコルにしか対応していないＩＣカード（旧カード）と、新しい通信プロトコルに対応しているＩＣカード（新カード）の両方に対応するように設計する必要がある。このような要求に対処するためにプロトコルが異なるＩＣカードに対応するＩＣカードリーダが検討されており、このようなＩＣカードリーダは、例えば、特開平８−３１５０９０号公報（特許文献１）及び特許第３５４０４１４号公報（特許文献２）に開示されている。
【０００４】
通信プロトコルの変更に際しては、ＩＣカードリーダの置き換えが必要になる場合がある。例えば、通信プロトコルの変更によって通信速度が変更される場合、従前に用いられるＩＣカードリーダが、ハードウェア上の理由により変更後の通信速度に対応することが困難であれば、当該ＩＣカードリーダは、変更後の通信速度に対応したＩＣカードリーダに置き換えざるを得ない。
【０００５】
その一方で、経済的な理由（例えば、コストや耐用年数の問題）により、全てのＩＣカードリーダを一斉に置き換えることが困難な場合もある。このような場合、従前の通信プロトコルにしか対応していないＩＣカードリーダを情報処理システムに残さざるを得ない場合がある。
【０００６】
一つの問題は、従前の通信プロトコルにしか対応していないＩＣカードリーダ（旧ＩＣカードリーダ）がシステムに残存していると、システムの不具合を引き起こす可能が否定できないことである。例えば、新しい通信プロトコルにしか定義されていないコマンドをＩＣカードリーダが受け取った場合に当該ＩＣカードリーダが予期していない動作をすると、システムに不具合が発生する可能性がある。
【０００７】
したがって、ハードウェア上の理由によって従前の通信プロトコルにしか対応していないＩＣカードリーダが情報処理システムに残存していても、システムの不具合を起こさないようにするための技術を提供することが望まれる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−３１５０９０号公報
【特許文献２】特許第３５４０４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、本発明の目的は、通信プロトコルの変更に際し、従前の通信プロトコルにしか対応していないＩＣカードリーダが情報処理システムに残存していても、システムの不具合を起こさないようにするための技術を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一の観点では、ＩＣカードリーダが、ホスト装置に接続される通信インタフェースと、ＩＣカードと通信するためのＩＣカードインタフェースと、動作プログラムを記憶する記憶部と、動作プログラムを実行することにより、ホスト装置から受け取ったコマンドをＩＣカードに転送する転送処理を行う演算装置とを具備している。動作プログラムは、ホスト装置から受け取ったコマンドが特定コマンドである場合に、受け取ったコマンドをＩＣカードに転送しないようにブロックするフィルタリング処理を演算装置に行わせるように記述されている。
【００１１】
一実施形態では、記憶部は、ホスト装置からＩＣカードへの転送を許可する転送許可コマンドが登録されるホワイトリストを記憶している。この場合、動作プログラムは、ホワイトリストを用いたフィルタリング処理を演算装置に行わせる。ホワイトリストを用いたフィルタリング処理が行われる場合、ＩＣカードリーダにホワイトリストを作成するための学習モードが用意されても良い。この場合、該動作プログラムは、当該ＩＣカードリーダが学習モードに設定されたときにホスト装置から受け取ったコマンドをホワイトリストに登録すると共に、受け取ったコマンドをＩＣカードに転送するように記述されていることが好ましい。
【００１２】
他の実施形態では、記憶部は、ホスト装置からＩＣカードへの転送を禁止する転送禁止コマンドが登録されるブラックリストを記憶している。この場合、動作プログラムは、ブラックリストを用いたフィルタリング処理を演算装置に行わせる。
【００１３】
更に他の実施形態では、記憶部は、ホワイトリストとブラックリストの両方を記憶している。この場合、動作プログラムは、ホワイトリストに何らの転送許可コマンドも登録されていない場合、ブラックリストを用いたフィルタリング処理を演算装置に行わせ、ホワイトリストに少なくとも一の転送許可コマンドが登録されている場合、ホワイトリストを用いたフィルタリング処理を演算装置に行わせることが好ましい。
【００１４】
一実施形態では、ＩＣカードインタフェースは、第１通信プロトコルに対応した第１通信速度でＩＣカードと通信するように構成されており、特定コマンドは、ＩＣカードが第１通信プロトコルに対応した動作を行っているときに、第１通信速度よりも高い第２通信速度でＩＣカードと通信するように規定された第２通信プロトコルに対応する動作に切り替えることを要求するプロトコル切替要求コマンドを含む。
【００１５】
本発明の他の観点では、ホスト装置に接続される通信インタフェースと、ＩＣカードと通信するためのＩＣカードインタフェースと、動作プログラムを記憶する記憶部と、動作プログラムを実行することにより、ホスト装置から受け取ったコマンドをＩＣカードに転送する転送処理を行う演算装置とを備えたＩＣカードリーダを改修するＩＣカードリーダ改修方法が提供される。当該ＩＣカードリーダ改修方法は、動作プログラムを、ホスト装置から受け取ったコマンドが特定コマンドである場合に、受け取ったコマンドをＩＣカードに転送しないようにブロックするフィルタリング処理を演算装置に行わせるように書き換えるステップを具備する。
【００１６】
当該ＩＣカードリーダ改修方法は、更に、記憶部に、ホスト装置からＩＣカードへの転送を許可する転送許可コマンドが登録されるホワイトリストを書き込むステップを具備していてもよい。この場合、動作プログラムは、ホワイトリストを用いたフィルタリング処理を演算装置に行わせるように書き換えられる。
【００１７】
また、当該ＩＣカードリーダ改修方法は、更に、記憶部に、ホスト装置からＩＣカードへの転送を禁止する転送禁止コマンドが登録されるブラックリストを書き込むステップを具備していてもよい。この場合、動作プログラムは、ブラックリストを用いたフィルタリング処理を演算装置に行わせるように書き換えられる。
【００１８】
一実施形態では、ＩＣカードインタフェースは、第１通信プロトコルに対応した第１通信速度でＩＣカードと通信するように構成されており、特定コマンドは、ＩＣカードが第１通信プロトコルに対応した動作を行っているときに、第１通信速度よりも高い第２通信速度でＩＣカードと通信するように規定された第２通信プロトコルに対応する動作に切り替えることを要求するプロトコル切替要求コマンドを含む。
【発明の効果】
【００１９】
本発明によれば、通信プロトコルの変更に際し、従前の通信プロトコルにしか対応していないＩＣカードリーダが情報処理システムに残存していても、システムの不具合を起こさないようにするための技術を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】更新前の情報処理システム（旧情報処理システム）の動作を示す図である。
【図２】更新後の情報処理システム（新情報処理システム）について、旧プロトコルに対応するＩＣカード（旧カード）がＩＣカードリーダに挿入された場合の動作を示す図である。
【図３】更新後の情報処理システム（新情報処理システム）について、新プロトコルに対応するＩＣカード（新カード）がＩＣカードリーダに挿入された場合の動作を示す図である。
【図４】本発明の一実施形態におけるＩＣカードリーダの構成を示すブロック図である。
【図５Ａ】本実施形態におけるＩＣカードリーダの動作を示すフローチャートである。
【図５Ｂ】本実施形態におけるＩＣカードリーダの動作を示すフローチャートである。
【図６】本実施形態において、旧カードがＩＣカードリーダに挿入された場合の情報処理システムの動作を示す図である。
【図７】本実施形態において、新カードがＩＣカードリーダに挿入された場合の情報処理システムの動作を示す図である。
【発明を実施するための形態】
【００２１】
まず、後述される本発明の一実施形態のＩＣカードリーダの技術的意義を理解しやすくするために、前提となる情報処理システムについて説明する。後述される本発明の実施形態のＩＣカードリーダは、図１の情報処理システム（旧情報処理システム１０１−１）を、将来的に図２、図３に図示された情報処理システム（新情報処理システム１０１−２）に更新する過程において発生し得る問題について対処するためのものである。ここで、図１の旧情報処理システム１０１−１は、従前の通信プロトコル（以下、「旧プロトコル」ということがある）にのみ対応しており、図２、図３の新情報処理システム１０１−２は、旧プロトコルに加えて、新しい通信プロトコル（以下、「新プロトコル」ということがある）に対応している。
【００２２】
図１〜図３に図示されているように、本実施形態では、情報処理システム１０１が、ホスト機１０２と、ＩＣカードリーダ１０３と、ＩＣカード１０４とを備えて構成されている。ここで、図１、図２Ａにおいて、参照符号に付された添字“１”は、旧プロトコルにしか対応していない構成要素を示している。即ち、図１のホスト機１０２−１と、ＩＣカードリーダ１０３−１と、ＩＣカード１０４−１とは、旧プロトコルにしか対応していない。また、図２、図３において、添字“２”は、旧プロトコルと新プロトコルの両方に対応している構成要素を示している。即ち、図２のホスト機１０２−２と、ＩＣカードリーダ１０３−２と、ＩＣカード１０４−２とは、旧プロトコルと新プロトコルの両方に対応している。なお、以下において、旧プロトコルにしか対応していない構成要素と旧プロトコルと新プロトコルの両方に対応している構成要素とを区別しない場合、添字は参照符号に添付されない。また、図１〜図３には、一つのホスト機１０２と一つのＩＣカードリーダ１０３とが図示されているが、一つのホスト機１０２に、複数のＩＣカードリーダ１０３が接続され得ることに留意されたい。
【００２３】
当該情報処理システム１０１がＥＴＣシステムとして用いられる場合、ホスト機１０２及びＩＣカードリーダ１０３は、路側装置として用いられる。より具体的には、ＩＣカードリーダ１０３が料金所の車路のそれぞれに設置され、ホスト機１０２は、当該料金所に設置されたＩＣカードリーダ１０３を統括する装置として用いられる。より具体的には、ホスト機１０２は、ＩＣカードリーダ１０３を介してＩＣカード１０４から読み取ったデータ（進入料金所、車種等のデータ）に基づいて課金処理を行い、又は、ＩＣカード１０４に対して所望のデータ（進入料金所、車種等のデータ）の書き込みを行う。
【００２４】
ここで、新プロトコルでの通信では、ＩＣカードリーダ１０３−２とＩＣカード１０４−２との間の通信の通信速度が、旧プロトコルでの通信におけるＩＣカードリーダ（１０３−１又は１０３−２）とＩＣカード１０４−１との通信における通信速度よりも速くなるように設定されている。通信速度の高速化は、ＩＣカードリーダ１０３−２と新カード１０４−２の間の通信において、データ演算に割り当てられる時間を増大可能にするという利点がある。例えば、新プロトコルにおいて高度な暗号化処理が行われる場合、暗号化処理に必要なデータ演算量が増大し、データ演算に必要な時間も増大する。このような状況の下で一定時間内でＩＣカードとの通信を完了するためには、暗号化処理に必要な演算を行うための演算時間を確保する必要があり、通信速度の高速化は、演算時間の確保のために有効である。
【００２５】
図１を参照して、本実施形態では、旧情報処理システム１０１−１が下記の動作を行うものとする。ＩＣカード１０４−１がＩＣカードリーダ１０３−１に挿入されると、ＩＣカードリーダ１０３−１は、ＩＣカード１０４−１を活性化するための動作を行う。例えば、ＩＣカードリーダ１０３−１は、ＩＣカード１０４−１への電力及び動作クロックの供給を開始すると共に、リセット信号をＩＣカード１０４−１に供給する。
【００２６】
ＩＣカード１０４−１が活性化されると、ＩＣカード１０４−１は、活性化応答をＩＣカードリーダ１０３−１に送る。ＩＣカードリーダ１０３−１は、ＩＣカード１０４−１から活性化応答を受け取ると、ＩＣカード１０４−１のＩＣカードリーダ１０３−１への挿入を検出したことを知らせるＩＣカード検出通知をホスト機１０２−１に送信する。
【００２７】
ＩＣカード検出通知がホスト機１０２−１に送られると、ホスト機１０２−１とＩＣカード１０４−１との間で、ＩＣカードリーダ１０３−１を介した通信が行われる。ここで、ホスト機１０２−１とＩＣカード１０４−１との間の通信は、旧プロトコルで行われる。
【００２８】
詳細には、ホスト機１０２−１は、基本情報（ＩＣカード１０４−１に関する様々な情報）の読み出しを要求するコマンドである基本情報読み出し要求コマンドを、ＩＣカードリーダ１０３−１を介してＩＣカード１０４−１に送信する。ＩＣカード１０４−１は、基本情報読み出し要求コマンドへの応答（レスポンス）を、ホスト機１０２−１に送信する。この応答には、ＩＣカード１０４−１が、旧プロトコルにのみ対応しているＩＣカードであることを示す情報（例えば、ＩＣカード１０４−１のバージョンを示す情報）が含まれている。ホスト機１０２−１は、基本情報読み出し要求コマンドへの応答を受け取ると、所望の動作を実現するためのコマンド（ＩＣカードコマンド）を、ＩＣカード１０４−１に送信する。ＩＣカード１０４−１は、受け取った各ＩＣカードコマンドに対する応答をホスト機１０２−１に送信する。ホスト機１０２−１とＩＣカード１０４−１との間で交換されるＩＣカードコマンド及び応答は、いずれも、旧プロトコルで定義されているものが使用される。ここで、ホスト機１０２−１とＩＣカード１０４−１との間の通信では、ＩＣカードリーダ１０３−１は、コマンド及び応答を転送する転送処理のみを行うことに留意されたい。
【００２９】
一方、図２、図３は、本実施形態における新情報処理システム１０１−２の動作を示している。新情報処理システム１０１−２では、旧プロトコルにのみ対応しているＩＣカード１０４−１（以下、「旧カード１０４−１」ということがある。）と新プロトコルに対応しているＩＣカード１０４−２（以下、「新カード１０４−２」ということがある。）のいずれがＩＣカードリーダ１０３−２に挿入されても、処理を正常に実行できる必要がある。図２は、旧カード１０４−１がＩＣカードリーダ１０３−２に挿入された場合の新情報処理システム１０１−２の動作を示しており、図３は、新カード１０４−２がＩＣカードリーダ１０３−２に挿入された場合の新情報処理システム１０１−２の動作を示している。
【００３０】
新情報処理システム１０１−２は、旧カード１０４−１及び新カード１０４−２のいずれがＩＣカードリーダ１０３−２に挿入された場合でも、当初は、ＩＣカードとの通信を旧プロトコルで行う。この過程で、挿入されたＩＣカードが新カード１０４−２であると判断した時、新情報処理システム１０１−２は、通信で用いられるプロトコルを、旧プロトコルから新プロトコルに切り換える。
【００３１】
詳細には、図２、図３に図示されているように、ＩＣカード（１０４−１又は１０４−２）がＩＣカードリーダ１０３−２に挿入されると、ＩＣカードリーダ１０３−２は、挿入されたＩＣカードを活性化するための動作を行う。例えば、ＩＣカードリーダ１０３−２は、ＩＣカードへの電力及び動作クロックの供給を開始すると共に、リセット信号を挿入されたＩＣカードに供給する。
【００３２】
ＩＣカードが活性化されると、該ＩＣカードは、活性化応答をＩＣカードリーダ１０３−２に送る。ＩＣカードリーダ１０３−２は、該ＩＣカードから活性化応答を受け取ると、ＩＣカードのＩＣカードリーダ１０３−２への挿入を検出したことを知らせるＩＣカード検出通知をホスト機１０２−２に送信する。
【００３３】
ＩＣカード検出通知がホスト機１０２−２に送られると、挿入されたＩＣカードとホスト機１０２−２との間で、ＩＣカードリーダ１０３−２を介した通信が行われる。
【００３４】
詳細には、ホスト機１０２−２は、ＩＣカードから基本情報（ＩＣカードに関する様々な情報）の読み出しを要求するコマンドである基本情報読み出し要求コマンドを、ＩＣカードリーダ１０３−２を介してＩＣカードに送信する。ＩＣカードは、基本情報読み出し要求コマンドへの応答を、ホスト機１０２−２に送信する。この応答には、当該ＩＣカードが、旧プロトコルにのみ対応しているＩＣカードであるのか、新プロトコルに対応しているＩＣカードであるのかを示す情報（例えば、ＩＣカードのバージョンを示す情報）が含まれている。
【００３５】
ホスト機１０２−２は、基本情報読み出し要求コマンドへの応答に含まれている情報から、挿入されたＩＣカードが、旧カード１０４−１と新カード１０４−２のいずれであるかを判断する。
【００３６】
挿入されたＩＣカードが旧カード１０４−１であると判断した場合、図２に示されているように、旧プロトコルでの通信が継続して行われる。ホスト機１０２−２は、所望の動作を実現するためのＩＣカードコマンドを、旧カード１０４−１に送信し、ＩＣカード１０４−１は、受け取った各ＩＣカードコマンドに対する応答をホスト機１０２−２に送信する。ホスト機１０２−２と旧カード１０４−１との間で交換されるＩＣカードコマンド及び応答は、いずれも、旧プロトコルで定義されているものが使用される。
【００３７】
一方、挿入されたＩＣカードが新カード１０４−２であると判断した場合、図３に示されているように、新情報処理システム１０１−２は、通信に用いられるプロトコルを、旧プロトコルから新プロトコルに切り替える動作を行う。詳細には、ホスト機１０２−２は、新カード１０４−２に、新プロトコルに対応した動作に切り換えるように要求する新プロトコル切替要求コマンドを送信する。図３においては、この新プロトコル切替要求コマンドは、「新プロトコル切替要求（カード）」として図示されている。新カード１０４−２は、新プロトコル切替要求コマンドを受け取ると、新プロトコルに対応する動作を開始するとともに、この新プロトコル切替要求コマンドに対する応答をホスト機１０２−２に返す。ホスト機１０２−２は、この応答により、新カード１０４−２が新プロトコルに対応する動作を開始したことを認識することができる。
【００３８】
ホスト機１０２−２は、新カード１０４−２から新プロトコル切替要求コマンドに対する応答を受け取ると、ＩＣカードリーダ１０３−２に新プロトコルに対応した動作に切り換えるように要求する新プロトコル切替要求コマンドを送信する。図３においては、この新プロトコル切替要求コマンドは、「新プロトコル切替要求（リーダ）」として図示されている。ＩＣカードリーダ１０３−２は、新プロトコル切替要求コマンドを受け取ると、新プロトコルに対応した動作を開始するとともに、この新プロトコル切替要求コマンドに対する応答をホスト機１０２−２に返す。
【００３９】
その後、ホスト機１０２−２は、所望の動作を実現するためのＩＣカードコマンドを、新カード１０４−２に送信し、新カード１０４−２は、受け取った各ＩＣカードコマンドに対する応答をホスト機１０２−２に送信する。ホスト機１０２−２と新カード１０４−２との間で交換されるＩＣカードコマンド及び応答は、いずれも、新プロトコルで定義されているものが使用される。
【００４０】
ここで、旧情報処理システム１０１−１で用いられているＩＣカードリーダ１０３−１が、ハードウェア上の問題によって新プロトコルで用いられる通信速度に対応できない場合には、ＩＣカードリーダ１０３−１を新プロトコルによる通信に用いることはできない。このような場合、新プロトコルに規定された通信速度で通信可能なハードウェアを有するＩＣカードリーダ、即ち、ＩＣカードリーダ１０３−２に置き換える必要性が生じることになる。
【００４１】
図１の旧情報処理システム１０１−１を、図２、図３に図示された新情報処理システム１０１−２に更新する場合、ホスト機１０２−１及びＩＣカードリーダ１０３−１の両方を同時に新プロトコルに対応したホスト機１０２−２及びＩＣカードリーダ１０３−２に置き換えることが望ましい。しかしながら、存在しているＩＣカードリーダ１０３の全てを同時に更新することは、コスト面から困難なことがある。このような場合、ＩＣカードリーダ１０３−１をシステムに残存させておく（即ち、図２、図３に示された動作を行うホスト機１０２−２にＩＣカードリーダ１０３−１を接続する）ことが考えられる。
【００４２】
その一方で、旧プロトコルにしか対応していないＩＣカードリーダ１０３−１をシステムに残存させておくと、予期しない動作により、システムに不具合を起こすことがあり得る。例えば、ＩＣカードリーダ１０３−１は、新プロトコルに規定された通信速度で新カード１０４−２と通信することが不可能であるにもかかわらず、新プロトコルに対応した動作に切り換えることを指示する新プロトコル切替要求コマンドが新カード１０４−２に転送されると、以後、ＩＣカードリーダ１０３−１と新カード１０４−２との間の通信ができなくなる。更に、新プロトコルに対応したＩＣカードリーダ１０３−２は、新プロトコルに対応した動作に切り換えることをＩＣカードリーダ１０３−２に指示する新プロトコル切替要求コマンド（図３では、「新プロトコル切替要求（カード）」として図示されている）を受け取ると、該新プロトコル切替要求コマンドを正しく解釈して、新プロトコルに対応した動作に切り換わる。一方、旧プロトコルにしか対応していないＩＣカードリーダ１０３−１は、新プロトコル切替要求コマンドを受け取っても、当該コマンドを正しく解釈することができず、予期しない動作をする可能性がある。これは、システムの不具合を引き起こす可能性がある。
【００４３】
以下に述べられる本発明の実施形態は、このような問題に対処するためのものである。本実施形態では、ハードウェア上の問題によって新プロトコルに対応できないＩＣカードリーダ１０３−１に対し、ソフトウェア的な改修を行うことで、システムの不具合の発生を防止するための技術が提供される。
【００４４】
図４は、本実施形態のＩＣカードリーダ３の構成を示すブロック図である。本実施形態のＩＣカードリーダ３は、通信インタフェース１１と、ＩＣカードインタフェース１２と、演算装置１３と、記憶媒体１４と、通信ポート１５とを備えている。
【００４５】
通信インタフェース１１は、ホスト機１０２−２に接続され、ホスト機１０２−２と通信するために使用されるインタフェースである。ＩＣカードインタフェース１２は、ＩＣカード１０４が挿入されるスロットを有しており、挿入されたＩＣカード１０４と通信するために使用されるインタフェースである。
【００４６】
演算装置１３は、ＩＣカードリーダ３の動作において必要となる様々なデータ処理を行う。より具体的には、演算装置１３は、ホスト機１０２−２から送られてきたコマンドを解釈し、そのコマンドに応じたデータ処理を行う。演算装置１３によって行われるデータ処理には、コマンドをＩＣカード１０４に転送する転送処理が含まれており、更に、コマンドをフィルタリングする処理（フィルタリング処理）が含まれる。後述されるように、演算装置１３が、フィルタリング処理を行うことが、本実施形態において重要である。加えて、演算装置１３は、ＩＣカード１０４から送られてきた応答をホスト機１０２−２に転送する動作も行う。
【００４７】
記憶媒体１４は、ＩＣカードリーダ３の動作において必要となる様々なデータを記憶する記憶部として機能する。詳細には、記憶媒体１４は、動作プログラム１６と、コマンドフィルタリングテーブル１７とを記憶する。動作プログラム１６は、演算装置１３が実行すべきデータ処理を記述しており、演算装置１３は、動作プログラム１６を実行することで、所望のデータ処理を行う。コマンドフィルタリングテーブル１７は、コマンドのフィルタリング処理において参照される。本実施形態では、コマンドフィルタリングテーブル１７は、ホワイトリスト１７ａと、ブラックリスト１７ｂとを備えている。ホワイトリスト１７ａとは、ホスト機１０２−２から送られてきたコマンドをＩＣカード１０４に転送する転送処理において、ＩＣカード１０４に転送することが許可されるコマンド（転送許可コマンド）のリストであり、ブラックリスト１７ｂとは、ＩＣカード１０４に転送することが禁止されるコマンド（転送禁止コマンド）のリストである。ここで、ホワイトリスト１７ａとブラックリスト１７ｂに実際に登録される情報は、コマンドの種類を識別するために十分なデータ列、例えば、コマンドヘッダであってもよい。
【００４８】
後述されるように、本実施形態では、ホワイトリスト１７ａに転送許可コマンドが登録されている場合にはホワイトリスト１７ａがコマンドのフィルタリング処理に用いられ、ホワイトリスト１７ａに何らの転送許可コマンドも登録されていない場合には、ブラックリスト１７ｂがコマンドのフィルタリング処理に用いられる。一方、ホワイトリスト１７ａに転送許可コマンドが登録されている場合には、ホワイトリスト１７ａがコマンドのフィルタリング処理に用いられる。
【００４９】
通信ポート１５は、ＩＣカードリーダ３を設定するために使用される外部機器が接続されるポートである。外部機器は、通信ポート１５に接続されると、通信ポート１５から記憶媒体１４にアクセスして記憶媒体１４に記憶されているデータを書き換えることができる。外部機器は、記憶媒体１４に記憶されている動作プログラム１６の書き換えを行うことができ、また、コマンドフィルタリングテーブル１７を記憶媒体１４に書き込み、又は、書き換えることができることになる。
【００５０】
上述の本実施形態のＩＣカードリーダ３は、ハードウェアの構成としては（旧プロトコルにしか対応していない）ＩＣカードリーダ１０３−１と同一であり、ＩＣカードリーダ１０３−１に対してソフトウェア的な改修を行った構成を有している。即ち、ＩＣカードリーダ３とＩＣカードリーダ１０３−１とでは、記憶媒体１４に記憶されているデータの内容が異なる。詳細には、ＩＣカードリーダ３の記憶媒体１４に記憶されている動作プログラム１６の内容は、ＩＣカードリーダ１０３−１の動作プログラムの内容と異なっており、また、ＩＣカードリーダ３は、コマンドフィルタリングテーブル１７が記憶媒体１４に登録されている点でもＩＣカードリーダ１０３−１と相違している。
【００５１】
ここで、ＩＣカードリーダ３がハードウェア構成においては旧プロトコルにしか対応していないＩＣカードリーダ１０３−１と同一であるため、ＩＣカードリーダ３においてＩＣカード１０４と通信するために使用されるＩＣカードインタフェース１２は、旧プロトコルの通信速度にしか対応していないことに留意されたい。
【００５２】
ＩＣカードリーダ１０３−１のＩＣカードリーダ３への改修は、ＩＣカードリーダ１０３−１の動作プログラムを上述の動作プログラム１６に書き換え、更に、コマンドフィルタリングテーブル１７を記憶媒体１４に書き込むことで行うことができる。ここで、記憶媒体１４に記憶された動作プログラム１６への書き換え、及び、記憶媒体１４へのコマンドフィルタリングテーブル１７の書き込みは、通信ポート１５を介して記憶媒体１４にアクセスすることで行われる。
【００５３】
続いて、本実施形態のＩＣカードリーダ３の動作について説明する。図５Ａ、図５Ｂは、ＩＣカードリーダ３の動作を説明するフローチャートである。以下に述べられるＩＣカードリーダ３の動作は、演算装置１３が、動作プログラム１６を実行することで実現されることに留意されたい。
【００５４】
図５Ａを参照して、ＩＣカードリーダ３の演算装置１３は、ＩＣカード１０４がＩＣカードリーダ３のスロットに挿入されたことを検知すると（ステップＳ０１）、ＩＣカード検出通知をホスト機１０２−２に送信する（ステップＳ０２）。
【００５５】
また、ホスト機１０２−２からコマンドを受け取った場合（ステップＳ０３）、ＩＣカードリーダ３の演算装置１３は、受け取ったコマンドを解釈し、受け取ったコマンドの種類に応じて異なる処理を行う。受け取ったコマンドの解釈は、例えば、コマンドに含まれるヘッダ（コマンドヘッダ）に基づいて行われる。
【００５６】
詳細には、ホスト機１０２−２から受け取ったコマンドが基本情報読み出しコマンドである場合、ＩＣカードリーダ３は、ＩＣカード１０４から基本情報を読み出すための処理を行う（ステップＳ０４）。より具体的には、ＩＣカードリーダ３の演算装置１３は、ホスト機１０２−２から受け取った基本情報読み出しコマンドをＩＣカード１０４に転送し、更に、ＩＣカード１０４から受け取った基本情報読み出しコマンドに対する応答を、ホスト機１０２−２に転送する。この応答には、ＩＣカード１０４が、旧カード１０４−１と新カード１０４−２のいずれであるかを示す情報（例えば、ＩＣカード１０４のバージョンを示す情報）が含まれている。
【００５７】
更に、ホスト機１０２−２から受け取ったコマンドがカード排出コマンドである場合、ＩＣカードリーダ３の演算装置１３は、挿入されたＩＣカード１０４をＩＣカードリーダ３のスロットから排出する（ステップＳ０５）。
【００５８】
また、ホスト機１０２−２から受け取ったコマンドが、ＩＣカードリーダ３が対応していないコマンドであると解釈した場合、ＩＣカードリーダ３の演算装置１３は、ホスト機１０２−２に、異常応答（即ち、異常なコマンドを受け取ったことをホスト機１０２−２に通知する応答）を返す（ステップＳ０６）。
【００５９】
更に、ホスト機１０２−２から受け取ったコマンドが、ＩＣカード１０４に向けて送信されたＩＣカードコマンドであると解釈した場合、ＩＣカードリーダ３の演算装置１３は、コマンドフィルタリングテーブル１７を参照しながら、当該ＩＣカードコマンドをＩＣカード１０４に転送するか、当該ＩＣカードコマンドをブロックする（即ち、ＩＣカード１０４に転送しない）かを決定する。
【００６０】
詳細には、当該ＩＣカードリーダ３が学習モードに設定されているかが判断される（ステップＳ０７）。ここで、学習モードとは、ホワイトリスト１７ａを作成するモードである。学習モードについては、後に詳細に説明する。
【００６１】
ＩＣカードリーダ３が学習モードに設定されていない場合、ホワイトリスト１７ａに登録されている転送許可コマンドの数が参照される（ステップＳ０８）。ホワイトリスト１７ａに少なくとも一の転送許可コマンドが登録されている場合、ホワイトリスト１７ａが検索され、ホスト機１０２−２から受け取ったＩＣカードコマンドが転送許可コマンドとしてホワイトリスト１７ａに登録されているか確認される（ステップＳ０９）。ホスト機１０２−２から受け取ったＩＣカードコマンドがホワイトリスト１７ａに登録されている場合、当該ＩＣカードコマンドがＩＣカード１０４に転送される（ステップＳ１０）。更に、当該ＩＣカードコマンドに対してＩＣカード１０４から応答があった場合、当該応答がホスト機１０２−２に転送される。また、ホスト機１０２−２から受け取ったＩＣカードコマンドがホワイトリスト１７ａに登録されていない場合、当該ＩＣカードコマンドはブロックされ、ＩＣカード１０４には転送されない（ステップＳ１２）。ホスト機１０２−２から受け取ったＩＣカードコマンドをブロックした場合、ＩＣカードリーダ３は、ホスト機１０２−２に異常応答を返しても良く、また、何らの応答を返さなくても良い。
【００６２】
一方、ステップＳ０８でホワイトリスト１７ａに何らの転送許可コマンドも登録されていないと判断された場合には、ブラックリスト１７ｂがフィルタリング処理に用いられる。詳細には、ブラックリスト１７ｂが検索され、ホスト機１０２−２から受け取ったＩＣカードコマンドが転送禁止コマンドとしてブラックリスト１７ｂに登録されているか確認される（ステップＳ１１）。ホスト機１０２−２から受け取ったＩＣカードコマンドがブラックリスト１７ｂに登録されていない場合、当該ＩＣカードコマンドがＩＣカード１０４に転送される（ステップＳ１０）。更に、当該ＩＣカードコマンドに対してＩＣカード１０４から応答があった場合、当該応答がホスト機１０２−２に転送される。また、ホスト機１０２−２から受け取ったＩＣカードコマンドがブラックリスト１７ｂに登録されている場合、当該ＩＣカードコマンドはブロックされ、ＩＣカード１０４には転送されない（ステップＳ１２）。この場合も、ＩＣカードリーダ３は、ホスト機１０２−２に異常応答を返しても良く、また、何らの応答を返さなくても良い。
【００６３】
ホワイトリスト１７ａ及びブラックリスト１７ｂの内容は、フィルタリング処理を適正に行うために重要である。ホワイトリスト１７ａには、基本情報読み出しコマンドと、旧プロトコルに定義されたＩＣカードコマンドとが登録されることが望ましい。一方、ブラックリスト１７ｂとしては、新カード１０４−２に対して新プロトコルに対応した動作に切り換えることを指示する新プロトコル切替要求コマンド（図３において、「新プロトコル切替要求（カード）」として示されているコマンド）が登録されていることが望ましい。加えて、ブラックリスト１７ｂに、ＩＣカードリーダ３に対して新プロトコルに対応した動作に切り換えることを指示する新プロトコル切替要求コマンド（図３において、「新プロトコル切替要求（リーダ）」として示されているコマンド）が登録されていることが望ましい。
【００６４】
ここで、ステップＳ０７において、ＩＣカードリーダ３が学習モードに設定されている場合には、ホワイトリスト１７ａを作成するための処理が行われる。詳細には、ＩＣカードリーダ３が学習モードに設定されている場合には、ホスト機１０２−２から受け取ったＩＣカードコマンドがホワイトリスト１７ａに登録される（ステップＳ２０）。一例としては、ホスト機１０２−２から受け取ったコマンドのコマンドヘッダが、ホワイトリスト１７ａに登録される。ここで、ホスト機１０２−２から受け取ったコマンドが、既にホワイトリスト１７ａに登録されている場合には、当該コマンドは登録されない。更に、ホスト機１０２−２から受け取ったＩＣカードコマンドが、ＩＣカード１０４に転送される。
【００６５】
学習モードにおける上記の処理は、ホワイトリスト１７ａの作成を容易にするためのものである。ホワイトリスト１７ａに基づくフィルタリング（即ち、ホワイトリスト１７ａに登録されたコマンドのみをＩＣカード１０４に転送するフィルタリング）は、システムの不具合を起こさないと確認されたコマンドのみをＩＣカード１０４に転送できる点で、システムの不具合の防止に有効である。その一方で、ホワイトリスト１７ａの作成は、実際上の困難性が存在する。一つの困難性は、セキュリティー担保の問題から、ホスト機１０２とＩＣカード１０４との間で行われる通信に用いられるコマンドの詳細が、ＩＣカードリーダ３の製造事業者には知らされない場合がある点である。ホスト機１０２及びＩＣカード１０４では暗号化処理が行われるため、ホスト機１０２及びＩＣカード１０４で実際に行われるデータ処理についての情報にアクセス可能な事業者は限定される。これは、ＩＣカードリーダ３の製造事業者が、適正なホワイトリスト１７ａを作成することに困難性が存在することを意味している。
【００６６】
学習モードは、このような困難性を克服するために用意されている。ホワイトリスト１７ａに登録すべきコマンドは、ホスト機１０２から旧カード１０４−１に送られるべきＩＣカードコマンドであることから、ホスト機１０２と旧カード１０４−１の間で実際に通信を行い、このときにホスト機１０２から旧カード１０４−１に送られるＩＣカードコマンドをホワイトリスト１７ａに登録することで、適正なホワイトリスト１７ａを作成することができる。上述の学習モードを用いることで、ホスト機１０２と旧カード１０４−１の間で実際に通信を行ったときにホスト機１０２から旧カード１０４−１に送られるコマンドをホワイトリスト１７ａに登録することができる。
【００６７】
図６、図７は、上述の動作を行うＩＣカードリーダ３が新情報処理システム１０１−２に組み込まれた場合、即ち、新プロトコルに対応するホスト機１０２−２にＩＣカードリーダ３が接続された場合における、新情報処理システム１０１−２の動作を示す図である。詳細には、図６は、旧カード１０４−１がＩＣカードリーダ３に挿入された場合の新情報処理システム１０１−２の動作を示しており、図７は、新カード１０４−２がＩＣカードリーダ３に挿入された場合の新情報処理システム１０１−２の動作を示している。
【００６８】
図６に示されているように、旧カード１０４−１がＩＣカードリーダ３に挿入された場合には、コマンドをブロックする動作は行われない。詳細には、旧カード１０４−１がＩＣカードリーダ３に挿入されると、ＩＣカードリーダ３は、旧カード１０４−１を活性化する。旧カード１０４−１が活性化されると、旧カード１０４−１は、活性化応答をＩＣカードリーダ３に送る。ＩＣカードリーダ３は、旧カード１０４−１から活性化応答を受け取ると、ＩＣカード１０４がＩＣカードリーダ３に挿入されたことを知らせるＩＣカード検出通知をホスト機１０２−２に送信する。
【００６９】
ＩＣカード検出通知がホスト機１０２−２に送られると、ホスト機１０２−２と旧カード１０４−１との間で、ＩＣカードリーダ３を介した通信が行われる。ここで、ホスト機１０２−２と旧カード１０４−１との間の通信は、旧プロトコルで行われる。
【００７０】
詳細には、ホスト機１０２−２は、基本情報読み出し要求コマンドを、ＩＣカードリーダ３に送る。基本情報読み出し要求コマンドは、ホワイトリスト１７ａに登録され、よって、基本情報読み出し要求コマンドはブロックされない。ＩＣカードリーダ３は、受け取った基本情報読み出し要求コマンドを、旧ＩＣカード１０４−１に転送する。その代わりに、ホワイトリスト１７ａに何らのコマンドも登録せず、基本情報読み出し要求コマンドをブラックリスト１７ｂに登録しないことで、基本情報読み出し要求コマンドのブロックが実行されないようにしてもよい。旧カード１０４−１は、基本情報読み出し要求コマンドへの応答を、ＩＣカードリーダ３を介してホスト機１０２−２に送信する。この応答には、旧カード１０４−１が、旧プロトコルにのみ対応しているＩＣカードであることを示す情報（例えば、旧カード１０４−１のバージョンを示す情報）が含まれている。
【００７１】
基本情報読み出し要求コマンドへの応答によってＩＣカードリーダ３に挿入されたＩＣカードが旧カード１０４−１であることを認識すると、以後、ホスト機１０２−２は、旧プロトコルで定義されているＩＣカードコマンドを、ＩＣカードリーダ３に送る。旧プロトコルで定義されているＩＣカードコマンドは、ホワイトリスト１７ａに登録され、ＩＣカードリーダ３は、ホスト機１０２−２から送られてきたＩＣカードコマンドをブロックせず、旧カード１０４−１に転送する。その代わりに、ホワイトリスト１７ａに何らのコマンドも登録せず、旧プロトコルで定義されているＩＣカードコマンドをブラックリスト１７ｂに登録しないことで、旧プロトコルで定義されているＩＣカードコマンドのブロックが実行されないようにしてもよい。旧カード１０４−１は、受け取った各ＩＣカードコマンドに対する応答を、ＩＣカードリーダ３を介してホスト機１０２−２に送信する。
【００７２】
一方、図７に示されているように、新カード１０４−２がＩＣカードリーダ３に挿入された場合には、少なくとも、新カード１０４−２に対して新プロトコルに対応した動作に切り換えることを指示する新プロトコル切替要求コマンド（図７において、「新プロトコル切替要求（カード）」として示されているコマンド）がブロックされる。
【００７３】
詳細には、新カード１０４−２がＩＣカードリーダ３に挿入されると、ＩＣカードリーダ３は、新カード１０４−２を活性化する。新カード１０４−２が活性化されると、新カード１０４−２は、活性化応答をＩＣカードリーダ３に送る。ＩＣカードリーダ３は、新カード１０４−２から活性化応答を受け取ると、ＩＣカード１０４がＩＣカードリーダ３に挿入されたことを知らせるＩＣカード検出通知をホスト機１０２−２に送信する。
【００７４】
ＩＣカード検出通知がホスト機１０２−２に送られると、ホスト機１０２−２と新カード１０４−２との間で、ＩＣカードリーダ３を介した通信が行われる。詳細には、ホスト機１０２−２は、基本情報読み出し要求コマンドを、ＩＣカードリーダ３に送る。基本情報読み出し要求コマンドは、ホワイトリスト１７ａに登録され、よって、基本情報読み出し要求コマンドはブロックされない。ＩＣカードリーダ３は、受け取った基本情報読み出し要求コマンドを、新カード１０４−２に転送する。その代わりに、ホワイトリスト１７ａに何らのコマンドも登録せず、基本情報読み出し要求コマンドをブラックリスト１７ｂに登録しないことで、基本情報読み出し要求コマンドのブロックが実行されないようにしてもよい。新カード１０４−２は、基本情報読み出し要求コマンドへの応答を、ＩＣカードリーダ３を介してホスト機１０２−２に送信する。この応答には、新カード１０４−２が、新プロトコルに対応しているＩＣカードであることを示す情報（例えば、新カード１０４−２のバージョンを示す情報）が含まれている。
【００７５】
基本情報読み出し要求コマンドへの応答によってＩＣカードリーダ３に挿入されたＩＣカードが新カード１０４−２であることを認識すると、ホスト機１０２−２は、新カード１０４−２に新プロトコルに対応した動作に切り換えるように要求する新プロトコル切替要求コマンドを、ＩＣカードリーダ３に送信する。図７においては、この新プロトコル切替要求コマンドは、「新プロトコル切替要求（カード）」として図示されている。
【００７６】
このとき、ＩＣカードリーダ３は、ホスト機１０２−２から送られた新プロトコル切替要求コマンドをブロックする。この新プロトコル切替要求コマンドのブロックは、新プロトコル切替要求コマンドをホワイトリスト１７ａに登録しないことによって行っても良く、また、ブラックリスト１７ｂに新プロトコル切替要求コマンドを登録することで行っても良い。このとき、ＩＣカードリーダ３は、ホスト機１０２−２から送られた新プロトコル切替要求コマンドをブロックした後、異常応答をホスト機１０２−２に返してもよく、また、何らの応答もホスト機１０２−２に返さなくても良い。
【００７７】
ホスト機１０２−２は、異常応答を受け取ったことにより、又は、ＩＣカードリーダ３から何らの応答も返ってこないことにより、旧プロトコルで継続して通信を行うべきであることを認識する。以後、ホスト機１０２−２は、旧プロトコルで定義されているＩＣカードコマンドを、ＩＣカードリーダ３に送る。旧カード１０４−１は、受け取った各ＩＣカードコマンドに対する応答を、ＩＣカードリーダ３を介してホスト機１０２−２に送信する。
【００７８】
以上のようなＩＣカードリーダ３の動作によれば、システムの不具合の発生を抑制することができる。まず、新プロトコルに対応した動作に切り換えることを指示する新プロトコル切替要求コマンドがブロックされる。これにより、ＩＣカードリーダ３が新プロトコルに規定された通信速度で新カード１０４−２と通信することが不可能であるにもかかわらず、新カード１０４−２が新プロトコルに対応する動作に移行することを防ぐことができる。更に、ホスト機１０２−２は、新プロトコルに対応した動作に切り換えることをＩＣカードリーダ３に指示する新プロトコル切替要求コマンドを発行する動作を行わない。このため、ＩＣカードリーダ３は、新プロトコルに対応した動作に切り換えることをＩＣカードリーダに指示する新プロトコル切替要求コマンドは、ＩＣカードリーダ３に到達しない。よって、ＩＣカードリーダ３が予期しない動作をすることによるシステムの不具合を回避することができる。
【００７９】
なお、上述の実施形態では、ホワイトリスト１７ａとブラックリスト１７ｂの両方がフィルタリング処理に用いられるが、ホワイトリスト１７ａとブラックリスト１７ｂの一方のみがフィルタリング処理に用いられても良い。ホワイトリスト１７ａのみがフィルタリング処理に用いられる場合、図５ＢのステップＳ０８及びＳ１１は実行されない。即ち、ＩＣカードリーダ３が学習モードに設定されない場合には、直ちにホワイトリスト１７ａの検索（ステップＳ０９）が行われる。また、この場合には、ホワイトリスト１７ａには、基本情報読み出しコマンドと、旧プロトコルに定義されたＩＣカードコマンドとが登録される。ホワイトリスト１７ａへのコマンドの登録は、ＩＣカードリーダ３を学習モードに設定することで行っても良い。
【００８０】
一方、ブラックリスト１７ｂのみがフィルタリング処理に用いられる場合、図５ＢのステップＳ０７〜Ｓ０９、Ｓ２０は行われない。即ち、ＩＣカードリーダ３は、ホスト機１０２−２からＩＣカードコマンドを受け取った場合、直ちに、ブラックリスト１７ｂの検索（ステップＳ１１）が行われる。この場合、ＩＣカードリーダ３には学習モードは用意されない。
【００８１】
ただし、上述されているようなホワイトリスト１７ａにコマンドが登録されていない場合にはブラックリスト１７ｂがフィルタリング処理に使用され、ホワイトリスト１７ａにコマンドが登録されるとホワイトリスト１７ａがフィルタリング処理に使用される実施形態は、ＩＣカードリーダ３の新情報処理システム１０１−２への導入を容易にする点で好適である。上述のように、ホワイトリスト１７ａを用いたフィルタリング処理は、システムの不具合を防ぐためにより有効である。しかしながら、ホスト機１０２で実際に行われるデータ処理についての情報へのアクセスの困難性から、ＩＣカードリーダ３の導入の初期段階では、ホワイトリスト１７ａに登録すべきコマンドを正確に把握できない場合がある。このような場合、ホワイトリスト１７ａにコマンドを登録せず、ブロックしなければならないと把握されているコマンド（例えば、新カード１０４−２に新プロトコルに対応した動作に切り換えるように要求する新プロトコル切替要求コマンド）をブラックリスト１７ｂに登録することで、ＩＣカードリーダ３の運用を開始できる。
【００８２】
詳細には、ＩＣカードリーダ１０３−１をソフトウェア的に改修する場合に、ブロックしなければならないと把握されているコマンドを含むブラックリスト１７ｂを含むコマンドフィルタリングテーブル１７を記憶媒体１４に書き込むことで、ＩＣカードリーダ３の運用を初期的に開始できる。このとき、ホワイトリスト１７ａは、コマンドフィルタリングテーブル１７に含まれなくてもよい。その後、例えば学習モードを利用してホワイトリスト１７ａにコマンドが登録されることで、ホワイトリスト１７ａが作成される。ホワイトリスト１７ａが作成された後では、ブラックリスト１７ｂは使用されない。これにより、システムの不具合を防ぐためにより有効である、ホワイトリスト１７ａを用いたフィルタリング処理での運用を開始できる。
【００８３】
以上には、本発明の実施形態が具体的に記載されているが、本発明は、上記の実施形態に限定されると解釈してはならない。本発明が、様々な変更と共に実施され得ることは、当業者には自明的であろう。
【符号の説明】
【００８４】
３        ：ＩＣカードリーダ
１１      ：通信インタフェース
１２      ：ＩＣカードインタフェース
１３      ：演算装置
１４      ：記憶媒体
１５      ：通信ポート
１６      ：動作プログラム
１７      ：コマンドフィルタリングテーブル
１７ａ    ：ホワイトリスト
１７ｂ    ：ブラックリスト
１０１    ：情報処理システム
１０２    ：ホスト機
１０３    ：ＩＣカードリーダ
１０４    ：ＩＣカード
１０４−１：旧カード
１０４−２：新カード
【図１】
2014164531.tif 000003
【図２】
2014164531.tif 000004
【図３】
2014164531.tif 000005
【図４】
2014164531.tif 000006
【図５Ａ】
2014164531.tif 000007
【図５Ｂ】
2014164531.tif 000008
【図６】
2014164531.tif 000009
【図７】
2014164531.tif 000010