(57)【要約】【課題】コマンド体系やセキュリティ・アルゴリズムなど仕様が相違する複数種類の非接触ＩＣカードに対応して通信処理を行なう。【解決手段】ＩＣカードとやり取りされるコマンドまたは応答結果を読取装置では処理せずに、スルーコマンドと呼ぶＩＣカードの種類に依存しないコマンドで包み込み、処理をコントローラ・モジュールに委譲することによって、ＩＣカードの種類に依らない読取装置とする。ＩＣカードの種類に依存するコマンドと処理手順は、コントローラ・モジュール内の入れ替え可能な当該カードに対応したソフトウェア・モジュールが請け負う。【選択図】  図１
2004264921.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ異なるコマンド体系からなる複数の非接触ＩＣカード仕様に対応した非接触ＩＣカードの通信システムであって、
非接触ＩＣカード仕様毎に相違するカード依存コマンドの処理を行なうコントローラ・モジュール部と、
非接触ＩＣカードから受信したカード依存コマンドをスルー・コマンドに包んで処理を前記コントローラ・モジュール部に委譲するとともに、前記コントローラ・モジュールから受け渡されたスルー・コマンドからカード依存コマンドを取り出して非接触ＩＣカードに送出するスルー・リーダ部と、
を具備することを特徴とする非接触ＩＣカードの通信システム。
【請求項２】
前記スルー・リーダ部は、カード検出、衝突回避、カード特定を含む各非接触ＩＣカード・インターフェース規格に共通するカード特定手続きを実行する、
ことを特徴とする請求項１に記載の非接触ＩＣカードの通信システム。
【請求項３】
前記コントローラ・モジュール部は、それぞれの非接触ＩＣカード仕様に対応したコマンド体系を含んだ複数のソフトウェア・モジュールを選択的に実行し、非接触ＩＣカードからのカード依存コマンドの処理を行なうとともに、非接触ＩＣカードへのカード依存コマンドを生成する、
ことを特徴とする請求項１に記載の非接触ＩＣカードの通信システム。
【請求項４】
前記コントローラ・モジュールは、非接触ＩＣカード仕様のコマンド体系の相違に依存しない処理を実行する共通処理実行ソフトウェア・モジュールをさらに備える、
ことを特徴とする請求項３に記載の非接触ＩＣカードの通信システム。
【請求項５】
ソフトウェア・モジュールは、それぞれの非接触ＩＣカード仕様に対応したコマンド群とセキュリティ・アルゴリズム、通信処理手順を記述したプログラム単位で、非接触ＩＣカード仕様毎にモジュール化されている、
ことを特徴とする請求項３に記載の非接触ＩＣカードの通信システム。
【請求項６】
前記コントローラ・モジュール部は、ソフトウェア・モジュール同士が互いに干渉しないためのアプリケーション・ファイアウォール機能と、ソフトウェア・モジュールがコントローラ・モジュールのリソースに不正にアクセスすることを防ぐための安全な実行環境を提供する、
ことを特徴とする請求項３に記載の非接触ＩＣカードの通信システム。
【請求項７】
ソフトウェア・モジュールを外部サーバから前記コントローラ・モジュール部にダウンロードするダウンロード処理部をさらに備える、
ことを特徴とする請求項３に記載の非接触ＩＣカードの通信システム。
【請求項８】
前記コントローラ・モジュール部は、複数のスルー・リーダ部からカード依存コマンドの処理を委譲される、
ことを特徴とする請求項３に記載の非接触ＩＣカードの通信システム。
【請求項９】
それぞれ異なるコマンド体系からなる複数の非接触ＩＣカード仕様に対応した非接触ＩＣカードの通信方法であって、
非接触ＩＣカードから受信したカード依存コマンドをスルー・コマンドに包んで、非接触ＩＣカード仕様毎の相違に依存しないカード非依存の処理を行なうステップと、
スルー・コマンドからカード依存コマンドを取り出して、対応する非接触ＩＣカード仕様に従ったカード依存の処理を行なうステップと、
を具備することを特徴とする非接触ＩＣカードの通信方法。
【請求項１０】
対応する非接触ＩＣカード仕様に従ったカード依存コマンドを生成してスルー・コマンドに包むステップと、
スルー・コマンドからカード依存コマンドを取り出して、非接触ＩＣカードに送出するステップと、
をさらに備えることを特徴とする請求項９に記載の非接触ＩＣカードの通信方法。
【請求項１１】
カード検出、衝突回避、カード特定を含む各非接触ＩＣカード・インターフェース規格に共通するカード特定手続きを実行するステップをさらに備える、
ことを特徴とする請求項９に記載の非接触ＩＣカードの通信方法。
【請求項１２】
前記のカード依存の処理を行なうステップでは、それぞれの非接触ＩＣカード仕様に対応したコマンド体系を含んだ複数のソフトウェア・モジュールを選択的に実行し、非接触ＩＣカードからのカード依存コマンドの処理を行なうとともに、非接触ＩＣカードへのカード依存コマンドを生成する、
ことを特徴とする請求項９に記載の非接触ＩＣカードの通信方法。
【請求項１３】
前記のカード依存の処理を行なうステップは、非接触ＩＣカード仕様の相違に依存しない共通処理の実行を含む、
ことを特徴とする請求項９に記載の非接触ＩＣカードの通信方法。
【請求項１４】
ソフトウェア・モジュールは、それぞれの非接触ＩＣカード仕様に対応したコマンド群とセキュリティ・アルゴリズム、通信処理手順を記述したプログラム単位で、非接触ＩＣカード仕様毎にモジュール化されている、
ことを特徴とする請求項１２に記載の非接触ＩＣカードの通信方法。
【請求項１５】
前記のカード依存の処理を行なうステップでは、ソフトウェア・モジュール同士が互いに干渉することなく、且つ、ソフトウェア・モジュールが安全に実行されるようにリソースへのアクセスが制限されている、
ことを特徴とする請求項１２に記載の非接触ＩＣカードの通信方法。
【請求項１６】
ソフトウェア・モジュールを外部サーバからダウンロードするステップをさらに備える、
ことを特徴とする請求項１２に記載の非接触ＩＣカードの通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、１次コイルと２次コイルの間で電磁誘導作用を利用して伝送を行なう非接触通信システムに係り、特に、１次コイルを備えたカード読取装置側から送出される電磁波からなる質問信号に応答して、２次コイルを備えたＩＣカードが負荷変動によって応答信号を送出する非接触ＩＣカードの通信システム及び通信方法に関する。
【０００２】
さらに詳しくは、本発明は、所定のカード検知手続を経て、所定のコマンド体系及びセキュリティ・アルゴリズムを使用してカード読取装置が非接触ＩＣカードと通信処理を行なう非接触ＩＣカードの通信システム及び通信方法に係り、特に、コマンド体系やセキュリティ・アルゴリズムなど仕様が相違する複数種類の非接触ＩＣカードに対応して通信処理を行なう非接触ＩＣカードの通信システム及び通信方法に関する。
【０００３】
【従来の技術】
局所で適用可能な無線通信手段の一例として、非接触ＩＣカードを挙げることができる。
【０００４】
この種の無線通信には、一般に、電磁誘導の原理に基づいて実現される。すなわち、少なくともメモリ機能を有するＩＣカードと、ＩＣカードのメモリに対して読み書きアクセスをするカード・リーダ／ライタで構成され、１次コイルとしてのＩＣカード側のループ・コイルと２次コイルとしてのカード・リーダ／ライタ側のアンテナが系として１個のトランスを形成している。そして、カード・リーダ／ライタ側からＩＣカードに対して、電力と情報を同じく電磁誘導作用により伝送し、ＩＣカード側では供給された電力によって駆動してカード・リーダ／ライタ側からの質問信号に対して応答することができる。
【０００５】
カード・リーダ／ライタ側では、アンテナに流す電流を変調することで、ＩＣカード上のループ・コイルの誘起電圧が変調を受けるという作用により、カード・リーダ／ライタからＩＣカードへのデータ送信を行なうことができる。また、ＩＣカードは、ループ・コイルの端子間の負荷変動により、ＩＣカード・リーダ／ライタ側のアンテナ端子間のインピーダンスが変化してアンテナの通過電流や電圧が変動するという作用により、カード・リーダ／ライタへの返信を行なう。
【０００６】
ＩＣカードに代表される非接触・近接通信システムは、操作上の手軽さから、広範に普及し始めている。例えば、暗証コードやその他の個人認証情報、電子チケットなどの価値情報などをＩＣカードに格納しておくことにより、キャッシュ・ディスペンサやコンサート会場の出入口、駅の改札口などに設置されたカード・リーダ／ライタは、利用者がかざしたＩＣカードに非接触でアクセスして、認証処理を行なうことができる。
【０００７】
図９には、非接触通信を用いて実現される改札システム１の構成を模式的に描いている。ユーザは移動期間中も非接触ＩＣカード２を携行している。また、改札機４は、駅の改札口などに設けられて、通過扉８の開閉操作を用いて、課金処理の有無やその他の権限の有無に応じてユーザの通過の是非を制御する。カード読み書き装置６は、改札機４に設置して用いられ、改札を通過しようとすると、ユーザが所持するＩＣカード２にアクセスしてデータを読み書きする。
【０００８】
カード読み書き装置６は常にＩＣカードに対してポーリング・コマンドを送信している。そして、ユーザがＩＣカード２を所持したまま改札機４に接近すると、改札機４上に設置されたカード読み書き装置６はＩＣカード２が近づいてきたことを検知（カード発見）して、ＩＣカード２との間で通信（衝突回避、カード特定）を行なう。そして、ユーザに対する課金処理や相互認証処理を経て、その通過が許可されたときには通過扉８を開成して、ユーザの改札口の通過を認める。
【０００９】
最近では、微細化技術の向上とも相俟って、比較的大容量のメモリ空間を持つＩＣカードが出現している。大容量メモリ付きのＩＣカードによれば、複数のアプリケーション（又はサービス）を同時に格納しておくことができるので、１枚のＩＣカードを複数の用途に利用することができる。例えば、１枚のＩＣカード上に、電子決済を行なうための電子マネーや、特定のコンサート会場に入場するための電子チケットなど、多数のサービスを格納しておくことにより、１枚のＩＣカードをさまざまな用途に適用させることができる。
【００１０】
また、各デバイスにＩＣカード及びカード・リーダ／ライタ双方の機能を装備することにより、ＩＣカード技術を汎用性のある双方向の近接通信インターフェースとして利用することができる。例えば、コンピュータや情報家電機器のような機器どうしで近接通信システムが構成される場合には、通信は一対一で行われる。また、ある機器が非接触ＩＣカードのような機器以外の相手デバイス（カードと呼ぶ）と通信することも可能であり、この場合においては、１つの機器と複数のカードにおける一対多の通信を行なうアプリケーションも考えられる。
【００１１】
ＩＣカードは急速に普及してきているが、その反面、複数のインターフェース規格が混在するという問題がある。例えば、ＩＳＯ／ＩＥＣ  １４４４３において近接型非接触ＩＣカードの国際標準化が図られたが、ＴｙｐｅＡとＴｙｐｅＢという２種類の仕様がある。このため、リーダはどちらのタイプのカードが動作空間に侵入してきたかを検知するため、周期的、交互にそれぞれのリクエストコマンドを送出している（例えば、非特許文献１参照）。この他にも、ＩＣカードやカード読取装置を製造・販売するカード・ベンダ各社によって区々のＩＣカードのインターフェース規格が提供されている。また、たとえ同じインターフェイス規格であってもコマンド体系が異なる、というのが現状である。
【００１２】
非接触ＩＣカード技術において、規格が異なると互換性が得られず、仮に規格が同じであっても互換性が得られないことの方が多い、ということが最大の問題である。何故ならば、それぞれ規格毎にある部分までの仕様は規定されているものの、それ以外の仕様が独自に策定され以下の点で互換性が得られないからである。
【００１３】
（１）上位層プロトコルの相違
（２）コマンド体系の相違
（３）コマンド実行手順の相違
（４）セキュリティ・アルゴリズムの相違
（５）カード上のメモリ空間におけるデータ構造の相違
【００１４】
例えば、セキュリティ・アルゴリズムについては、相互認証方式、データ通信時の暗号化方式、チェックサムやＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）の生成方法などが含まれるが、これらはセキュリティの問題もあり、カード・ベンダ各社は仕様を完全に公開していない。
【００１５】
また、物理・電気仕様を始めとし最低限の仕様については、ＩＳＯ／ＩＥＣ  １４４４３では、タイプ毎に、初期化、衝突回避、カード特定などのカード読取装置がＩＣカードを検知したときに行なう手続について規定しているが、カード特定後の手続に関しては厳格に取り決められていない。このため、カード特定後のカード読み取りやその他のコマンドに関してはカード・ベンダ各社の間で区々であり、同じインターフェース規格内であっても、互換性が保たれていないというのが現状である。
【００１６】
このようなカード・ベンダ毎の規格の相違を解決するために、例えば、単一のカード読取装置のＩＣチップ上にカード種類に応じた処理（ファームウェア）を焼き付ける、という方法が採られている。例えば、図１０に示す例では、カード読取装置内のＩＣチップのＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）には、Ａ社が提供するカード仕様に対応した処理ファームウェアと、Ｂ社が提供するカード仕様に対応した処理ファームウェアが焼き付けられており、アンテナを介して検知されたカードに応じて該当する処理ファームウェアを選択的に実行し、各ベンダのカードに対応するようになっている。
【００１７】
図１０に示す例によれば、異なるカード・ベンダによる非接触ＩＣカードの処理を単一のカード読取装置によって行なうことができる。しかしながら、新種のカードに対応するためには、ＩＣチップ内のファームウェアの焼き直しという作業が発生する。このため、開発のためのコストと入れ替え作業に伴うメンテナンス・コストが必要である。また、カード・ベンダによっては、カード処理に係るセキュリティ・アルゴリズムを公開していないことから、すべての場合においてこの手法を適用することはできない。
【００１８】
このようなカード・ベンダ毎の規格の相違を解決する他の方法として、ＩＣチップ上への処理焼付けの代わりに、カード依存の処理をチップ・モジュール状のハードウェアに格納し、カード読取装置のスロットに挿入するという方法が挙げられる。例えば、図１１に示す例では、カード読取装置にはカード処理用チップ・モジュールを交換可能に挿入するためのチップ・モジュール・スロットが複数配設されている。そして、Ａ社が提供するカード仕様に対応した処理用チップ・モジュールと、Ｂ社が提供するカード仕様に対応した処理用チップ・モジュールを各スロットに挿入しておくことにより、アンテナを介して検知されたカードに応じて該当する処理ファームウェアを選択的に実行し、Ａ社及びＢ社の各ベンダのカードに対応することができる。また、他のベンダのカードにさらに対応したい場合には、チップ・モジュールを取り外し交換すればよい。
【００１９】
図１１に示す例によれば、異なるカード・ベンダによる非接触ＩＣカードの処理を単一のカード読取装置によって行なうことができる。しかしながら、この方式では読取装置に挿入することができるチップ・モジュールの数が制限されるために、１台の読取装置で対応できるカード種に制限がある。また、カードの処理を変更したりカード種類を変更したりする際には、新たにチップ・モジュールを開発し、カード読取装置を分解してチップ・モジュールを物理的に挿し替えるという作業が発生する。
【００２０】
このように、上述した方法はいずれも１台の読取装置で複数種のカード処理を実現しているものの、あらかじめ決められたカード種以外への対応は容易でない。
【００２１】
昨今、公共交通機関のＡＦＣ（Ａｕｔｏｍａｔｉｃ  Ｆａｒｅ  Ｃｏｌｌｅｃｔｉｏｎ）システムを中心として、ベンダ毎の相違の影響を受けないオープンなシステムの構築要件が増えてきている。これは、従来のＡＦＣシステムが、特定のカード・ベンダやカード読取装置ベンダに依存せざるを得ず、安価で柔軟性の高いＡＦＣシステムの構築を困難なものにしていたことと、近年の非接触ＩＣカードの普及によってさまざまなタイプのカードや読取装置が市場に出てきたことにより、自由度の高いＡＦＣシステムの構築が現実的なものになってきたことに拠る。
【００２２】
【非特許文献１】
伊賀亨治外著「ＲＦＩＤハンドブック―非接触ＩＣカードの原理と応用―」ｐ．１７５−１８７（株式会社ソフトウェア工学研究所）
【００２３】
【発明が解決しようとする課題】
本発明の目的は、所定のカード検知手続を経て、所定のコマンド体系及びセキュリティ・アルゴリズムを使用してカード読取装置が非接触ＩＣカードと通信処理を好適に行なうことができる、優れた非接触ＩＣカードの通信システム及び通信方法を提供することにある。
【００２４】
本発明のさらなる目的は、コマンド体系やセキュリティ・アルゴリズムなど仕様が相違する複数種類の非接触ＩＣカードに対応して通信処理を行なうことができる、優れた非接触ＩＣカードの通信システム及び通信方法を提供することにある。
【００２５】
【課題を解決するための手段及び作用】
本発明は、上記課題を解決するためになされたものであり、それぞれ異なるコマンド体系からなる複数の非接触ＩＣカード仕様に対応した非接触ＩＣカードの通信システムであって、
非接触ＩＣカード仕様毎に相違するカード依存コマンドの処理を行なうコントローラ・モジュール部と、
非接触ＩＣカードから受信したカード依存コマンドをスルー・コマンドに包んで処理を前記コントローラ・モジュール部に委譲するとともに、前記コントローラ・モジュールから受け渡されたスルー・コマンドからカード依存コマンドを取り出して非接触ＩＣカードに送出するスルー・リーダ部と、
を具備することを特徴とする非接触ＩＣカードの通信システムである。
【００２６】
但し、ここで言う「システム」とは、複数の装置（又は特定の機能を実現する機能モジュール）が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。また、ここで言う「非接触ＩＣカード仕様」とは、電気特性とデータリンク・レベルのプロトコルを定義する「インターフェース規格（ｉｎｔｅｒｆａｃｅ  ｓｐｅｃｉｆｉｃａｔｉｏｎ）」に、少なくとも初期化および衝突防止手順、アプリケーションレベルのコマンド、アプリケーションレベルのプロトコル、およびセキュリティ要件を定義したものである。
【００２７】
ここで、前記スルー・リーダ部は、カード検出、衝突回避、カード特定を含む各非接触ＩＣカード・インターフェース規格に共通するカード特定手続きを実行する。
【００２８】
したがって、本発明に係る非接触ＩＣカードの通信システムによれば、ＩＣカードとカード読取装置との間でやり取りされるコマンド又は応答結果を、カード読取装置としてのスルー・リーダ部では処理せずに、スルー・コマンドと呼ぶＩＣカードの種類に依存しないコマンドで包み込み、処理をコントローラ・モジュール部に委譲することによって、ＩＣカードの種類に依らないカード読取装置を構成することができる。
【００２９】
前記コントローラ・モジュール部は、それぞれの非接触ＩＣカード仕様に対応したコマンド体系を含んだ複数のソフトウェア・モジュールを選択的に実行し、非接触ＩＣカードからのカード依存コマンドの処理を行なうとともに、非接触ＩＣカードへのカード依存コマンドを生成する。各ソフトウェア・モジュールは、それぞれの非接触ＩＣカード仕様に対応したコマンド群とセキュリティ・アルゴリズム、通信処理手順を記述したプログラム単位で、非接触ＩＣカード仕様毎にモジュール化されたものである。
【００３０】
また、前記コントローラ・モジュールは、非接触ＩＣカード仕様の相違に依存しない処理を実行する共通処理実行ソフトウェア・モジュールをさらに備えている。
【００３１】
ソフトウェア・モジュールは、例えばシステム導入時やメンテナンス時に、外部サーバなどからコントローラ・モジュール部内にダウンロードされる。
【００３２】
したがって、本発明に係る非接触ＩＣカードの通信システムによれば、ＩＣカードの種類に依存するコマンドと処理手順は、コントローラ・モジュール部内の入れ替え可能な当該カードに対応したソフトウェア・モジュールが請け負う。このソフトウェア・モジュールを入れ替えることで、新種のＩＣカードへの対応や既存のＩＣカードの処理内容変更が、ソフトウェアの入れ替えのみで容易に行なうことができる。
【００３３】
また、前記コントローラ・モジュール部は、ソフトウェア・モジュール同士が互いに干渉しないためのアプリケーション・ファイアウォール機能と、ソフトウェア・モジュールがコントローラ・モジュールのリソースに不正にアクセスすることを防ぐための安全な実行環境を提供することが好ましい。
【００３４】
また、前記コントローラ・モジュール部は、複数のカード読取装置で共用され、各スルー・リーダ部からカード依存コマンドの処理を委譲されるように構成することができる。
【００３５】
この場合、それぞれのスルー・リーダ部は、非接触通信エリアに存在するカードから応答信号が得られた場合には、受信したカード依存コマンドをスルー・コマンドに包んで、一元的なコントローラ・モジュール部にその処理を委譲する。そして、コントロール・モジュール部では、捕捉されたカードに対応するソフトウェア・モジュールが起動して、カード依存コマンドを生成し、これをスルー・コマンドに包んで、処理要求元のスルー・リーダ部に返す。そして、スルー・リーダ部は、スルー・コマンドからカード依存のコマンドを取り出し、そのままカードに送信する。
【００３６】
このような構成によれば、コントローラ・モジュール機能を一元的に集中管理することができるとともに、必要なソフトウェア・モジュールのダウンロード作業を１回で済ますことができるので、低コスト化、メンテナンスの簡素化を実現することができるとともに、システムの拡張などを比較的容易に行なうことができる。
【００３７】
本発明によれば、特定ベンダのカードと特定ベンダの読取装置からシステムを構成する必要がなくなるので、交通事業者など非接触ＩＣカード・システムを構築する者にとって、システム構成要素の調達が容易になるとともに、ベンダに依存しない柔軟なシステム設計が可能になる。
【００３８】
また、本発明によれば、カード処理内容の変更や新種カードの導入といった状況に際して、読取装置を物理的に撤去したり分解したりすることなく、外部からのソフトウェアの入れ替えによって新規のカード仕様に対応できることで、メンテナンス・コストを削減することができる。
【００３９】
また、本発明によれば、カード種類に特有の処理やセキュリティ・アルゴリズムなど、カード・ベンダが非公開としている情報はソフトウェア・モジュール内に隠蔽されるため、カード・ベンダ毎の機密情報は保護される。
【００４０】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づく、より詳細な説明によって明らかになるであろう。
【００４１】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４２】
本発明は、コマンド体系などベンダ毎に規格が異なる複数の非接触ＩＣカードを、単一の読取システムで処理する方式に関するものである。
【００４３】
図１には、本発明の一実施形態に係る非接触ＩＣカード型のカード読取システム１０の構成を模式的に示している。同図に示すカード読取システム１０は、主に、カード種類毎に用意された複数又は単一のソフトウェア・モジュール１１Ａ，１１Ｂ，…と、ソフトウェア・モジュール１１を実行するコントローラ・モジュール１２と、物理・電気的な下位層プロトコル・レベルで非接触ＩＣカード２０Ａ，２０Ｂ，…と通信を行なうスルー・リーダ１３とで構成される。
【００４４】
ソフトウェア・モジュール１１は、カード種類に応じたコマンド群とセキュリティ・アルゴリズムや通信の処理手順を記述したプログラム単位で、カード種類毎に存在する（モジュール化されている）。また、カード種類に依らない処理を行なう共通処理実行ソフトウェア・モジュール１４と呼ぶソフトウェア・モジュールも存在する。
【００４５】
本実施形態では、共通処理実行ソフトウェア・モジュール１４は、検知されたカードの種類を判定し、処理を該当するカード用のソフトウェア・モジュール１１に振り分ける処理を行なうとともに、スルー・コマンドの処理（後述）を行なう。また、ここで言うカード種類に依らない処理には、ソフトウェア・モジュール１１から渡された暗号化パラメータに従って暗号化処理を行なうＡＥＳ又はＤＥＳエンジンの呼び出しなどが含まれる。
【００４６】
各社カード用のソフトウェア・モジュール１１並びに共通処理実行ソフトウェア・モジュール１４は、システム導入時やメンテナンス時に、外部サーバ３０などからコントローラ・モジュール１２内にダウンロードされる。このダウンロード過程で、第三者によって盗聴されソフトウェア・モジュールを解析又は改竄されることを防ぐため、ソフトウェア・モジュール１１のダウンロードは耐タンパ性のあるＩＣチップ１５により安全な仕組みで実施され、ＩＣチップ１５内に保管される。
【００４７】
コントローラ・モジュール１２は、ＩＣチップ内に格納されている共通処理実行ソフトウェア・モジュール１４並びに各社カード仕様に対応したソフトウェア・モジュール１１を実行する。本実施形態では、コントローラ・モジュール１２は、ソフトウェア・モジュール１１同士が互いに干渉しないためのアプリケーション・ファイアウォール機能と、ソフトウェア・モジュール１１がコントローラ・モジュール１２のリソースに不正にアクセスすることを防ぐための安全な実行環境を提供している。
【００４８】
スルー・リーダ１３は、カード検知時におけるカード初期化、衝突回避、カード特定などの物理・電気的な下位層プロトコル・レベルで非接触ＩＣカード２０Ａ，２０Ｂ，…と通信を行なう。すなわち、スルー・リーダ１３は、カードと通信を行なうが、カードからの応答結果に応じた処理は行わずに、コントローラ・モジュール１２にその処理を委譲する。
【００４９】
図２には、カードからの応答を読み取るときのカード読取システム１０の動作を示している。スルー・リーダ１３内のスルー・コマンド処理部１６では、カードからの応答を受けとると、応答結果を「スルー・コマンド」と呼ぶ、カードの種類に依存しないコマンド中に包み込んだ状態でコントローラ・モジュール１２に送信する。スルー・コマンドの処理は、カード依存コマンドの盗聴や改竄などの不正使用から保護するため、耐タンパ性のあるＩＣチップ１７上で実装される。
【００５０】
コントローラ・モジュール１２内では、ソフトウェア・モジュールを実行して、スルー・コマンドに含まれているカード依存コマンドの処理を行なう。すなわち、共通処理実行ソフトウェア・モジュール１４は、カードの種類を判定し、処理を該当するカード用のソフトウェア・モジュール１１に振り分ける。そして、対応するソフトウェア・モジュール１１が起動され、カード種類に応じたコマンド処理並びに通信処理手順が実行される。
【００５１】
また、図３には、カードにコマンドを発行するときのカード読取システム１０の動作を示している。ソフトウェア・モジュール１１は、カード種別に応じたコマンド群を備えており、カード依存のコマンドを生成することができる。カードにコマンドを送信する場合には、コントローラ・モジュール１２は、カード依存コマンドをスルー・コマンドで包んで、スルー・リーダ１３に送信する。スルー・リーダ１３内のスルー・コマンド処理部１６は、スルー・コマンドからカード依存のコマンドを取り出し、そのままカードに送信する。スルー・コマンドの処理は、カード依存コマンドの盗聴や改竄などの不正使用から保護するため、耐タンパ性のあるＩＣチップ１７上で実装される（同上）。
【００５２】
図４には、本実施形態に係るカード読取システム１０が非接触ＩＣカードとデータ通信を行なうための動作シーケンス例を示している。
【００５３】
共通実行処理ソフトウェア・モジュール１４は、スルー・リーダ１３に対しカード捕捉の指示を発行する。スルー・リーダ１３は、これに応答して、カード規格毎に相違するカード捕捉信号を交互に発生する。
【００５４】
ここで、スルー・リーダ１３の非接触通信エリアに存在するカードＡから応答信号が得られた場合には、スルー・リーダ１３内のスルー・コマンド処理部１６は、受信した応答コマンドをスルー・コマンドに包んで、共通処理実行ソフトウェア１４に送る。
【００５５】
共通処理実行ソフトウェア・モジュール１４は、カードの種類を判定し、処理を該当するカードＡ用のソフトウェア・モジュール１１Ａに振り分け、コマンド処理を委譲する。
【００５６】
カードＡ用のソフトウェア・モジュール１１Ａは、カードＡに対応するコマンド処理、セキュリティ・アルゴリズム、並びに通信処理手順を装備している。ソフトウェア・モジュール１１Ａがカード依存のコマンドを生成すると、共通処理実行ソフトウェア・モジュール１４はこれをスルー・コマンドに包んで、スルー・リーダ１３に送信する。スルー・リーダ１３内のスルー・コマンド処理部１６は、スルー・コマンドからカード依存のコマンドを取り出し、そのままカードに送信する。
【００５７】
また、スルー・リーダ１３の非接触通信エリアに存在するカードＢから応答信号が得られた場合には、スルー・リーダ１３内のスルー・コマンド処理部１６は、受信した応答コマンドをスルー・コマンドに包んで、共通処理実行ソフトウェア１４に送る。
【００５８】
共通処理実行ソフトウェア・モジュール１４は、カードの種類を判定し、処理を該当するカードＢ用のソフトウェア・モジュール１１Ｂに振り分け、コマンド処理を委譲する。
【００５９】
カードＢ用のソフトウェア・モジュール１１Ｂは、カードＢに対応するコマンド処理、セキュリティ・アルゴリズム、並びに通信処理手順を装備している。ソフトウェア・モジュール１１Ｂがカード依存のコマンドを生成すると、共通処理実行ソフトウェア・モジュール１４はこれをスルー・コマンドに包んで、スルー・リーダ１３に送信する。スルー・リーダ１３内のスルー・コマンド処理部１６は、スルー・コマンドからカード依存のコマンドを取り出し、そのままカードに送信する。
【００６０】
図５には、本発明に係る非接触ＩＣカードの読取システムを電車などの運賃自動回収装置（Ｆａｒｅ  Ｃｏｌｌｅｃｔｉｏｎ  Ｄｅｖｉｃｅ）に適用した例を示している。
【００６１】
同図に示す例では、運賃自動回収装置は、スルー・リーダ１３とコントローラ・モジュール１２を備え、Ａ社、Ｂ社、並びにＣ社のカード・ベンダ毎に相違するインターフェース仕様に対応したカードを読み取ることができる。
【００６２】
コントローラ・モジュール１２は、ソフトウェア・モジュール１１同士が互いに干渉しないためのアプリケーション・ファイアウォール機能と、ソフトウェア・モジュール１１がコントローラ・モジュール１２のリソースに不正にアクセスすることを防ぐための安全な実行環境を提供している。
【００６３】
運賃自動回収装置は、Ａ社、Ｂ社、並びにＣ社それぞれの非接触ＩＣカード仕様に対応するために、各社のカード処理用ソフトウェア・モジュール１１Ａ，１１Ｂ，１１Ｃを外部サーバ３０からダウンロードしておく。ダウンロード過程で第三者によって盗聴されソフトウェア・モジュールを解析又は改竄されることを防ぐため、ソフトウェア・モジュール１１のダウンロードは耐タンパ性のあるＩＣチップ１５により安全な仕組みで実施され、ＩＣチップ１５内に保管されている。
【００６４】
スルー・リーダ１３は、カード検知時におけるカード初期化、衝突回避、カード特定などの物理・電気的な下位層プロトコル・レベルで非接触ＩＣカード２０Ａ，２０Ｂ，…と通信を行なう。すなわち、スルー・リーダ１３は、カードと通信を行なうが、カードからの応答結果に応じた処理は行わずに、コントローラ・モジュール１２にその処理を委譲する。
【００６５】
スルー・リーダ１３は、コントローラ・モジュール１２からのカード捕捉の指示に応答して、各社のカード規格毎に相違するカード捕捉信号を交互に発生する。
【００６６】
ここで、スルー・リーダ１３の非接触通信エリアに存在するカードから応答信号が得られた場合には、スルー・リーダ１３内のスルー・コマンド処理部１６は、カード依存の応答コマンド（ｐｒｏｐｒｉｅｔａｒｙ  ｃｏｍｍａｎｄ）をスルー・コマンド（ｔｈｒｏｕｇｈ−ｃｏｍｍａｎｄ）に包んで、これをそのままコントロール・モジュール１２に送り、コマンドの処理を委譲する。
【００６７】
コントロール・モジュール１２では、捕捉されたカードに対応するソフトウェア・モジュールが起動して、カード依存コマンドを生成し、これをスルー・コマンドに包んで、スルー・リーダ１３に渡す。スルー・リーダ１３内のスルー・コマンド処理部１６は、スルー・コマンドからカード依存のコマンドを取り出し、そのまま非接触ＩＣカードに送信する。
【００６８】
スルー・リーダ１３における、カード依存コマンドをスルー・コマンドに包む処理や、スルー・コマンドからカード依存コマンドを取り出して送出する処理は、スルー・コマンドＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）によって実行される。スルー・コマンドＡＰＩ自体は、カード依存コマンドを処理しないので、すべてのカード・インターフェース仕様において共通化することができる。
【００６９】
図６及び図７には、例えば駅構内に設置される運賃自動回収システムの構成例を示している。駅構内には、複数台の運賃自動回収装置が、例えば改札口毎に設置されている。
【００７０】
図６に示す例では、それぞれの運賃自動回収装置が別個にコントローラ・モジュール１３を搭載しており、各コントローラ・モジュール１３に必要なソフトウェア・モジュールがダウンロードされる。
【００７１】
一方、図７に示す例では、コントローラ・モジュール１３が複数台の運賃回収装置によって共用されている。各運賃回収装置は、スルー・リーダ１３のみからなる。それぞれのスルー・リーダ１３は、非接触通信エリアに存在するカードから応答信号が得られた場合には、受信したカード依存コマンドをスルー・コマンドに包んで、一元的なコントローラ・モジュール１２にその処理を委譲する。コントロール・モジュール１２では、捕捉されたカードに対応するソフトウェア・モジュールが起動して、カード依存コマンドを生成し、これをスルー・コマンドに包んで、処理要求元のスルー・リーダ１３に返す。そして、スルー・リーダ１３は、スルー・コマンドからカード依存のコマンドを取り出し、そのまま非接触ＩＣカードに送信する。
【００７２】
図７に示す例の場合、コントローラ・モジュール機能を一元的に集中管理することができるとともに、必要なソフトウェア・モジュールのダウンロード作業を１回で済ますことができるので、低コスト化、メンテナンスの簡素化を実現することができるとともに、システムの拡張を比較的容易に行なうことができる。
【００７３】
図８には、コントローラ・モジュール１２の機能構成を示している。
【００７４】
コントローラ・モジュール１２は、オペレーティング・システム（ＯＳ）と、Ｊａｖａ仮想マシン（ＪａｖａＶＭ）と、ＪａｖａＡＰＩとの組み合わせからなるプラットフォームで構成されている。本発明を実現するために、プラットフォームは、このような構成に限定されないが、さまざまなカード・ベンダによる自由なアプリケーション開発を確保するためには、オープンで一般的な実行環境であることが好ましい。
【００７５】
ＪａｖａＶＭは、Ｊａｖａ言語で記述されたプログラムを解釈して実行する仮想的なコンピュータであり、Ｊａｖａコンパイラによってバイト・コードに変換されたＪａｖａプログラムを実行する。また、ＪａｖａＡＰＩは、関係するクラスやインターフェースのライブラリとしてグループ化（パッケージ）されている。ＪａｖａＡＰＩとＪａｖａＶＭにより、プログラムとハードウェアは絶縁されている。
【００７６】
コントロール・モジュール１２は、各カード・ベンダによるカード処理用ソフトウェア・モジュール１１を保管する。ソフトウェア・モジュール１１は、各カード・ベンダの仕様に対応したコマンド体系やセキュリティ・アルゴリズムなどのすべての通信処理手順を包んでモジュール化したものであり、Ｊａｖａアプレットとして記述されている。
【００７７】
Ｊａｖａアプレットは、Ｊａｖａ言語で記述された小規模なアプリケーションであり、ＷＷＷ技術を利用して配布することができる。すなわち、Ｊａｖａアプレットを事前にコンパイルしＷＷＷサーバに登録しておき、ＨＴＭＬドキュメント中で“＜ａｐｐｌｅｔ＞”というタグで指定する。
【００７８】
コントロール・モジュール１２は、必要なカード処理用ソフトウェア・モジュールを外部サーバ３０からダウンロードする。ソフトウェア・モジュールをダウンロードする過程では、機密性が確保される必要がある。
【００７９】
コントロール・モジュール１２のプラットフォーム上では、ソフトウェア・モジュール１１同士が互いに干渉しないためのアプリケーション・ファイアウォール機能と、ソフトウェア・モジュール１１がコントローラ・モジュール１２の保護リソースに不正にアクセスすることを防ぐための安全な実行環境が提供されている。Ｊａｖａのプラットフォームでは、ｏｆｆ−ｔｈｅ−ｓｈｅｌｆ（既成）のセキュリティ機構が用意されている。
【００８０】
また、ダウンロード過程で第三者によって盗聴されソフトウェア・モジュール１１が解析又は改竄されることを防ぐため、耐タンパ性のあるＩＣチップ上に実装される。
【００８１】
コントローラ・モジュール１２は、ＤＥＳ（Ｄａｔａ  ＥｎｃｒｙｐｔｉｏｎＳｔａｎｄａｒｄ）やＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などの暗号化コプロセッサを装備しており、より高速な暗号化・復号処理を実現することができる。
【００８２】
また、コントローラ・モジュール１２には、ソフトウェア・コンポーネントなどをキャッシュ（一時記憶）するための拡張メモリが装備されている。
【００８３】
これら暗号化コプロセッサや拡張メモリとコントローラ・モジュール１２とを相互接続する各バスには、盗聴を防止するためのスクランブリング機構が設けられている。
【００８４】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【００８５】
【発明の効果】
以上詳記したように、本発明によれば、所定のカード検知手続を経て、所定のコマンド体系及びセキュリティ・アルゴリズムを使用してカード読取装置が非接触ＩＣカードと通信処理を好適に行なうことができる、優れた非接触ＩＣカードの通信システム及び通信方法を提供することができる。
【００８６】
また、本発明によれば、コマンド体系やセキュリティ・アルゴリズムなど仕様が相違する複数種類の非接触ＩＣカードに対応して通信処理を行なうことができる、優れた非接触ＩＣカードの通信システム及び通信方法を提供することができる。
【００８７】
本発明によれば、特定の非接触ＩＣカード仕様を満たした１種類以上の非接触ＩＣカードを供給するベンダのカードと特定ベンダの読取装置からシステムを構成する必要がなくなるので、交通事業者など非接触ＩＣカード・システムを構築する者にとって、システム構成要素の調達が容易になるとともに、非接触ＩＣカード仕様に依存しない柔軟なシステム設計が可能になる。
【００８８】
また、本発明によれば、カード処理内容の変更や新種カードの導入といった状況に際して、読取装置を物理的に撤去したり分解したりすることなく、外部からのソフトウェアの入れ替えによって新規のカード・インターフェース仕様に対応できることで、メンテナンス・コストを削減することができる。
【００８９】
また、本発明によれば、カード種類に特有の処理やセキュリティ・アルゴリズムなど、カード・ベンダが非公開としている情報はソフトウェア・モジュール内に隠蔽されるため、カード・ベンダ毎の機密情報は保護される。
【図面の簡単な説明】
【図１】図１は、本発明の一実施形態に係る非接触ＩＣカード型のカード読取システム１０の構成を模式的に示した図である。
【図２】カードからの応答を読み取るときのカード読取システム１０の動作を説明するための図である。
【図３】カードにコマンドを発行するときのカード読取システム１０の動作を説明するための図である。
【図４】カード読取システム１０が非接触ＩＣカードとデータ通信を行なうための動作シーケンス例を示した図である。
【図５】本発明に係る非接触ＩＣカードの読取システムを電車などの運賃自動回収装置（Ｆａｒｅ  Ｃｏｌｌｅｃｔｉｏｎ  Ｄｅｖｉｃｅ）に適用した例を示した図である。
【図６】運賃自動回収システムの構成例を示した図である。
【図７】運賃自動回収システムの構成についての他の例を示した図である。
【図８】コントローラ・モジュール１２の機能構成を示した図である。
【図９】非接触通信を用いて実現される改札システムの構成を模式的に示した図である。
【図１０】単一のカード読取装置のＩＣチップ上にカード種類に応じた処理を焼き付けることにより異なるカード・ベンダによる非接触ＩＣカードの処理を単一のカード読取装置で行なう従来方法を説明するための図である。
【図１１】カード依存の処理をチップ・モジュール状のハードウェアに格納し、カード読取装置のスロットに挿入することにより異なるカード・ベンダによる非接触ＩＣカードの処理を単一のカード読取装置で行なう従来方法を説明するための図である。
【符号の説明】
１０…カード読取システム
１１…ソフトウェア・モジュール
１２…コントローラ・モジュール
１３…スルー・リーダ
１４…共通処理実行ソフトウェア・モジュール
１５…ＩＣチップ
１６…スルー・コマンド処理部
１７…ＩＣチップ
２０…非接触ＩＣカード
３０…サーバ
【図１】
2004264921.tif 000003
【図２】
2004264921.tif 000004
【図３】
2004264921.tif 000005
【図４】
2004264921.tif 000006
【図５】
2004264921.tif 000007
【図６】
2004264921.tif 000008
【図７】
2004264921.tif 000009
【図８】
2004264921.tif 000010
【図９】
2004264921.tif 000011
【図１０】
2004264921.tif 000012
【図１１】
2004264921.tif 000013