(57)【要約】【課題】クライアント端末にＩＣカード用のドライバ及びアプリケーションがインストールされていることで、カードタイプが異なっていても、認証可能とするＩＣカード情報認証システムを提供する。【解決手段】ＩＣカードリーダライタ７を接続するＩＣカードサーバ２に、クライアント端末３から送信されてきたカードＩＤ或いはカードタイプと照合する機能と、同一のカードＩＤ或いは同一のカードタイプと認識した場合は、カードＩＤを送信してきたクライアント端末３に対して、ＩＣカードサーバ２に接続されているＩＣカードリーダライタ７をＵＳＢ仮想接続の機能を用いて制御を切り替え接続する。クライアント端末３は、ＩＣカード内のユーザ情報を確認することで認証を行い、一致している場合は周辺機器に対してデータアクセスを行う。【選択図】図１
2008282064.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークで接続されるＩＣカードサーバとクライアント端末とから構成され、前記ＩＣカードサーバは第１のＩＣカードリーダライタを備え、前記クライアント端末は第２のＩＣカードリーダライタを備えるＩＣカード情報認証システムであって、
Ａ）前記ＩＣカードサーバは、
クライアント端末から受信したＩＣカード情報と当該クライアント端末の識別情報とをレコードとしてカード登録情報テーブルに記憶するカード情報登録手段と、
前記第１のＩＣカードリーダライタを介してＩＣカード情報を取得する第１のＩＣカード情報取得手段と、
前記第１のＩＣカード情報取得手段により取得されたＩＣカード情報と対応する対応レコードを前記カード登録情報テーブルから検索する検索手段と、
前記第１のＩＣカードリーダライタから受信したデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記第１のＩＣカードリーダライタと通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタと前記クライアント端末とを前記ネットワークを透過して通信可能とする、第１のデータ変換手段と、
前記第１のＩＣカードリーダライタの制御権を、前記ＩＣカードサーバと、前記クライアント端末との間で、相互に切り替える制御切替手段と、を有し、
Ｂ）前記クライアント端末は、
前記第２のＩＣカードリーダライタを介してＩＣカード情報を取得する第２のＩＣカード情報取得手段と、
前記第２のＩＣカード情報取得手段により取得されたＩＣカード情報を前記ＩＣカードサーバに送信するカード情報送信手段と、
前記第１のＩＣカードリーダライタおよび前記第２のＩＣカードリーダライタを制御するＩＣカード制御手段と、
前記ＩＣカード制御手段が発行するデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記ＩＣカード制御手段と通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタと前記クライアント端末とを前記ネットワークを透過して通信可能とする、第２のデータ変換手段と、
を有することを特徴とするＩＣカード情報認証システム。
【請求項２】
前記ＩＣカード情報が、カードＩＤとカードタイプのいずれかの情報を含んでいることを特徴とする請求項１に記載のＩＣカード情報認証システム。
【請求項３】
前記ＩＣカード制御手段は、前記第１のＩＣカードリーダライタに入力されたＩＣカードのユーザ情報の読込み、書込みおよび照合のうち少なくとも１つの処理、ならびに、前記第２のデータ変換手段および前記第１のデータ変換手段を経由して前記第２のＩＣカードリーダライタに入力されたＩＣカードのユーザ情報の読込み、書込みおよび照合のうち少なくとも１つの処理を行うことを特徴とする請求項１または２に記載のＩＣカード情報認証システム。
【請求項４】
前記第１のＩＣカードリーダライタで取得したＩＣカードのカードタイプが当該ＩＣカードの読取ごとにカードＩＤが変化しない種別である場合、前記検索手段はカードタイプとカードＩＤの照合によって対応レコードを特定し、前記第１のデータ変換手段は、当該対応レコードに記憶されたクライアント端末の第２のデータ変換手段との接続を行うことを特徴とする請求項１乃至３のいずれかに記載のＩＣカード情報認証システム。
【請求項５】
前記第１のＩＣカードリーダライタで取得したＩＣカードのカードタイプが当該ＩＣカードの読取ごとにカードＩＤが変化する種別である場合、前記検索手段はカードタイプの照合によって対応レコードを特定し、前記第１のデータ変換手段は、当該対応レコードに記憶されたクライアント端末の第２のデータ変換手段との接続を行うことを特徴とする請求項１乃至３のいずれかに記載のＩＣカード情報認証システム。
【請求項６】
前記第１のＩＣカードリーダライタで取得したＩＣカードのカードタイプが当該ＩＣカードの読取ごとにカードＩＤが変化する種別である場合、前記第１のデータ変換手段と前記第２のデータ変換手段との接続が切断された後に、前記検索手段は同じカードタイプが記憶されているレコードが他にあるかどうかを検索し、当該レコードが検出された場合には、前記第１のデータ変換手段は、当該レコードに記憶されたクライアント端末の第２のデータ変換手段との接続を行うことを特徴とする請求項５に記載のＩＣカード情報認証システム。
【請求項７】
前記第１のＩＣカードリーダライタで取得したＩＣカードのカードタイプが当該ＩＣカードの読取ごとにカードＩＤが変化する種別である場合、前記第１のデータ変換手段と前記第２のデータ変換手段との接続が切断された後に、前記検索手段は当該切断された接続のレコードが削除されているかどうかを判断し、削除されていない場合には、同じカードタイプが記憶されているレコードが他にあるかどうかを検索し、当該レコードが検出された場合には、前記第１のデータ変換手段は、当該レコードに記憶されたクライアント端末の第２のデータ変換手段との接続を行うことを特徴とする請求項５または６に記載のＩＣカード情報認証システム。
【請求項８】
前記クライアント端末の前記ＩＣカード制御手段は、前記第２のＩＣカードサーバで取得したＩＣカードのユーザ情報を保存しておき、前記第１のＩＣカードサーバで取得したＩＣカードのユーザ情報と照合することを特徴とする請求項１乃至７のいずれかに記載のＩＣカード情報認証システム。
【請求項９】
周辺機器が前記ＩＣカードサーバに接続され、前記ＩＣカード制御手段によるユーザ情報の照合により正当な認証を得られた場合、前記クライアント端末と当該周辺機器の間で、前記ＩＣカードサーバを経由して、データの送信または受信を行うことを特徴とする請求項１乃至８のいずれかに記載のＩＣカード情報認証システム。
【請求項１０】
周辺機器がネットワークに接続され、前記ＩＣカード制御手段によるユーザ情報の照合により正当な認証を得られた場合、前記クライアント端末と当該周辺機器との間でデータの送信または受信を行うことを特徴とする請求項１乃至９のいずれかに記載のＩＣカード情報認証システム。
【請求項１１】
前記クライアント端末の前記第２のデータ変換手段は、前記ＩＣカード制御手段が周辺機器用情報をＩＣカードに書き込んだ後に、前記第１のデータ変換手段に対して切断要求を発行することを特徴とする請求項１乃至１０のいずれかに記載のＩＣカード情報認証システム。
【請求項１２】
ネットワークで接続されるＩＣカードサーバとクライアント端末とから構成され、前記ＩＣカードサーバは第１のＩＣカードリーダライタおよび周辺機器を備え、前記クライアント端末は第２のＩＣカードリーダライタを備えるＩＣカード情報認証システムであって、
Ａ）前記ＩＣカードサーバは、
クライアント端末から受信したＩＣカード情報と当該クライアント端末の識別情報とをレコードとしてカード登録情報テーブルに記憶するカード情報登録手段と、
前記第１のＩＣカードリーダライタを介してＩＣカード情報を取得する第１のＩＣカード情報取得手段と、
前記第１のＩＣカード情報取得手段により取得されたＩＣカード情報と対応する対応レコードを前記カード登録情報テーブルから検索する検索手段と、
前記第１のＩＣカードリーダライタまたは前記周辺機器から受信したデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記第１のＩＣカードリーダライタまたは前記周辺機器と通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタおよび前記周辺機器と前記クライアント端末とを前記ネットワークを透過して通信可能とする、第１のデータ変換手段と、
前記第１のＩＣカードリーダライタおよび前記周辺機器の制御権を、前記ＩＣカードサーバと、前記クライアント端末との間で、相互に切り替える制御切替手段と、を有し、
Ｂ）前記クライアント端末は、
前記第２のＩＣカードリーダライタを介してＩＣカード情報を取得する第２のＩＣカード情報取得手段と、
前記第２のＩＣカード情報取得手段により取得されたＩＣカード情報を前記ＩＣカードサーバに送信するカード情報送信手段と、
前記第１のＩＣカードリーダライタおよび前記第２のＩＣカードリーダライタを制御するＩＣカード制御手段と、
前記周辺機器を制御する周辺機器制御手段と、
前記ＩＣカード制御手段または前記周辺機器制御手段が発行するデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記ＩＣカード制御手段または前記周辺機器制御手段と通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタと前記クライアント端末とを前記ネットワークを透過して通信可能とする、第２のデータ変換手段と、
を有することを特徴とするＩＣカード情報認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末からネットワークを経由して周辺機器を利用するにあたり、ＩＣカードによる認証を行う技術に関するものである。
【背景技術】
【０００２】
昨今、ＩＣカードは、クレジットカードや、社員証等の身分証明用カードとしてオフィスなどの入出退管理や、パソコンの機密保護のための手段や、住民基本台帳カードや、交通手段におけるスピーディーな入出退を行う電車関連カードとして幅広く普及している。ＩＣカードは、処理や記録機能を行うために設計された集積回路（ＩＣ）チップを内蔵するカードの総称で、大別してＩＣと外部機器との間に電気的接続端子を有する外部端子付ＩＣカードと、接続端子を持たずに電磁波で交信する非接触ＩＣカードの２種類がある。この非接触カードには、交信距離により密着型（３ｍｍ以下）、近接型（１０ｃｍ以下）、近傍型（７０ｃｍ以下）の３種類がある。
【０００３】
近接型ＩＣカード（ISO/IEC14443)では、電波出力と信号インタフェースの処理が異なるタイプＡ、Ｂ、Ｃがあり、国際規格（ＩＳＯ）に制定されている。タイプＡはMifare（登録商標）カードが代表的で主にヨーロッパで普及しているもので、タイプＢはMotorola（登録商標）が扱っており主に米国が推奨している。例えば、住民基本台帳カードは、国際規格に制定され記録データの安全性や多目的利用に優れた、近接型ＩＣカードのタイプＢを採用している。また、交通関連では、処理速度を重視して高速処理に適したタイプＣを採用しているものもある。なお、タイプＣは規格審議中の仮称であり、現在は用いておらず、タイプＣに該当するものとしてソニー株式会社が国際規格化を提案していたFelica（登録商標）がある。
【０００４】
図２にＩＣカードの模式図を示す。カードＩＤ（ＩＤ）は、ＩＣカードの識別情報であり、ＩＣカードを一意に特定する情報である。ユーザ情報は、個人情報等セキュリティが要請される情報であり、ＩＣカードメーカ固有のフォーマットで記憶され、暗号化処理等がなされている情報である。通常、ユーザ情報にアクセスするためには、ＩＣカードメーカが提供するアプリケーションを用いる必要がある。
【０００５】
ＩＣカードは、近年、さまざまな分野で利用されている。これは、組込機器の分野においても同様で、個人認証をおこなう手段としてＩＣカードが用いられるようになっている。
【０００６】
このような組込機器システムの例として、ＩＣカードを利用したセキュリティ印刷システムが知られている。これは、クライアント端末とプリントサーバ（プリントサーバにはプリンタ装置が接続されている）とがネットワークを介して通信可能に接続され、それぞれにＩＣカードリーダライタを有するシステムである。
【０００７】
その動作について簡単に説明する。まず、ユーザは、クライアント端末のＩＣカードリーダライタにＩＣカードをかざしカードＩＤを入力する。ユーザが、クライアント端末を操作して印刷を指示すると、クライアント端末は、印刷データとカードＩＤをプリントサーバに送信する。ユーザは、プリントサーバの設置場所に移動し、プリントサーバのＩＣカードリーダライタにＩＣカードをかざしカードＩＤを入力する。プリントサーバは、カードＩＤの照合の結果、正当なユーザであると認められる場合には、印刷データをプリンタ装置に転送し、プリンタ装置にて印刷出力する。
【０００８】
このように、組込機器のシステムでは、ＩＣカードの照合のために、ユーザ情報ではなく、カードＩＤをキーに用いることが行われている。
【０００９】
また、ＩＣカードは様々なタイプのものが存在しているので、ＩＣカードを認証手段として利用するためには、それぞれのタイプのＩＣカードに対応する処理が必要になる。そこでＩＣカードを用いるシステムでは、ＩＣカードのカードタイプを選択し、カードタイプに応じた認証処理を行っている。
【００１０】
かかる認証方法がＩＣカードによって異なる場合の利便性の低さを解決するために、カード認証方法ダウンロードサーバが、ＩＣカード発行事業者ごとに本人認証のために設定されている認証方法を記憶し、その記憶した認証方法を端末にダウンロードする技術が知られている（特許文献１を参照）。
【００１１】
【特許文献１】特開２００４−２９１５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に記載された、カード認証方法ダウンロードサーバが、カード発行事業者ごとに本人認証のために設定されている認証方法を記憶し、その記憶した認証方法を端末にダウンロードする方法では、その認証方法を実行するプログラムを端末側に搭載して実行するか、あるいは端末で操作することが必要となり、ユーザにとっての利便性が高くなかった。
【００１３】
また、組込機器のシステムでユーザ情報の照合を行う場合、以下の問題があった。まず、ユーザ情報のフォーマットがカードメーカやカードタイプによって異なるため、複数のＩＣカードに対応することが困難であった。すなわち、複数のＩＣカードに対応するためには、ＩＣカードそれぞれの仕様に対応する必要があるが、これは開発の負担を大きくする。逆に、特定のＩＣカードのみに対応すると、組込機器の汎用性が失われてしまう。その他、別の観点として、ユーザ情報の仕様を広く第三者に開示することは、ＩＣカードメーカにとって、セキュリティ上、望ましくないという背景もある。
【００１４】
また、ユーザ情報にはユーザ個人の様々な情報を記録することができるので、組込機器のシステムでも、当該組込機器の利用履歴等をユーザ情報に記録したいという要望がある。しかし、この場合も上記と同様の問題がある。
【００１５】
また、カードタイプがタイプＢのように、ＩＣカードから取得できるカードＩＤが読み出される度に変更されるものもあり、従来の組込機器システムでは、ＩＣカード内のカードＩＤを読み出すだけではＩＣカードの照合が行えない場合もあった。
【００１６】
また、カードＩＤは、ユーザが付加したものではなくユニークな番号となっているので、ユーザにとっては馴染みのない番号となっている。そのため、組込機器システムへのカードＩＤの登録作業が手間であり煩雑な作業にならざるをえない状況となっていた。
【課題を解決するための手段】
【００１７】
本発明は、上記問題に鑑みたものであり、ＵＳＢ仮想接続を利用して、ＩＣカードサーバに接続されているＩＣカードリーダライタを、クライアント端末がローカルインタフェースに接続されているＵＳＢデバイスと同様に利用することにより、ＩＣカード内のユーザ情報をクライアント端末にて解析可能とする。これにより、クライアント端末にＩＣカードＲ／ＷドライバおよびＩＣカードアプリケーションをインストールすることで、カードタイプ（タイプＡ、Ｂ、Ｃ）が異なっていても、認証可能とするＩＣカード情報認証システムを提供する。
【００１８】
すなわち、本発明のＩＣカード情報認証システムは、ネットワークで接続されるＩＣカードサーバとクライアント端末とから構成され、前記ＩＣカードサーバは第１のＩＣカードリーダライタを備え、前記クライアント端末は第２のＩＣカードリーダライタを備えるＩＣカード情報認証システムであって、
Ａ）前記ＩＣカードサーバは、
（１）クライアント端末から受信したＩＣカード情報と当該クライアント端末の識別情報とをレコードとしてカード登録情報テーブルに記憶するカード情報登録手段と、
（２）前記第１のＩＣカードリーダライタを介してＩＣカード情報を取得する第１のＩＣカード情報取得手段と、
（３）前記第１のＩＣカード情報取得手段により取得されたＩＣカード情報と対応する対応レコードを前記カード登録情報テーブルから検索する検索手段と、
（４）前記第１のＩＣカードリーダライタから受信したデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記第１のＩＣカードリーダライタと通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタと前記クライアント端末とを前記ネットワークを透過して通信可能とする、第１のデータ変換手段と、
（５）前記第１のＩＣカードリーダライタの制御権を、前記ＩＣカードサーバと、前記クライアント端末との間で、相互に切り替える制御切替手段と、を有し、
Ｂ）前記クライアント端末は、
（６）前記第２のＩＣカードリーダライタを介してＩＣカード情報を取得する第２のＩＣカード情報取得手段と、
（７）前記第２のＩＣカード情報取得手段により取得されたＩＣカード情報を前記ＩＣカードサーバに送信するカード情報送信手段と、
（８）前記第１のＩＣカードリーダライタおよび前記第２のＩＣカードリーダライタを制御するＩＣカード制御手段と、
（９）前記ＩＣカード制御手段が発行するデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記ＩＣカード制御部と通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタと前記クライアント端末とを前記ネットワークを透過して通信可能とする、第２のデータ変換手段と、を有する構成とされる。
【００１９】
本発明のＩＣカード情報認証システムでは、前記ＩＣカード情報は、カードＩＤとカードタイプのいずれかの情報を含んでいる。
【００２０】
本発明のＩＣカード情報認証システムでは、前記ＩＣカード制御手段は、前記クライアント端末に接続された前記第１のＩＣカードリーダライタに取得したＩＣカードと、前記ＩＣカードサーバに接続された前記第２のＩＣカードリーダライタに取得したＩＣカードに対して、読込み、書込み及び照合のうち少なくとも１つの処理を行う。
【００２１】
本発明のＩＣカード情報認証システムでは、ＩＣカードのカードタイプが、ＩＣカードの読取ごとにカードＩＤが変化しない種別である場合（例えばカードタイプＡまたはＣ）、前記検索手段は、カードタイプとカードＩＤの両方の照合を行い、対応レコードを特定する。そして、前記第１のデータ変換手段は、特定されたレコードのクライアント端末に対して、ＵＳＢ仮想接続を行う。
【００２２】
本発明のＩＣカード情報認証システムでは、ＩＣカードのカードタイプが、ＩＣカードの読取ごとにカードＩＤが変化する種別である場合（例えばカードタイプＢ）、前記検索手段は、カードタイプの照合で対応レコードを特定する。なお、前記カード登録情報テーブルに同一カードタイプのレコードが複数ある場合、そのうちの１つを選択し特定する。そして、前記第１のデータ変換手段は、特定されたレコードのクライアント端末に対して、ＵＳＢ仮想接続を行う。
【００２３】
本発明のＩＣカード情報認証システムでは、ＩＣカードのカードタイプが、ＩＣカードの読取ごとにカードＩＤが変化する種別である場合（例えばカードタイプＢ）、ＵＳＢ仮想接続を切断されたときに、前記検索手段が再び前記カード登録情報テーブルを検索し、同じカードタイプのレコードを選択し特定する。そして、前記第１のデータ変換手段は、新たに特定されたレコードのクライアント端末に対して、ＵＳＢ仮想接続を行う。
【００２４】
ＩＣカードのカードタイプがＢの場合、取得できるカードＩＤが読み出される度に変更されるという特徴を備える。このようなカードタイプの場合は、取得可能なカードＩＤが読み出される度に変更されるため、カードＩＤのみでは認証が行えない。そのためＩＣカードサーバは、カードタイプＢのＩＣカード情報を送信してきたすべてのクライアント端末に対して、順に、ＩＣカードサーバに接続されているＩＣカードリーダライタをＵＳＢ仮想接続の機能を用いて制御を切り替え接続する。
【００２５】
本発明のＩＣカード情報認証システムでは、ＩＣカードのカードタイプが、ＩＣカードの読取ごとにカードＩＤが変化する種別である場合（例えばカードタイプＢ）、ＵＳＢ仮想接続を切断されたとき、前記検索手段は、当該切断されたクライアント端末のレコードが削除されているかどうかを判断し、削除されていない場合には、前記カード登録情報テーブルを検索し、同じカードタイプのレコードを選択し特定する。そして、前記第１のデータ変換手段は、新たに特定されたレコードのクライアント端末に対して、ＵＳＢ仮想接続を行う。
【００２６】
クライアント端末は、ＩＣカード内のユーザ情報を確認し、一致している場合は、カード登録情報テーブルの該当するレコードを削除するようＩＣサーバに対して要求しレコードの削除を行ってからＩＣカードリーダライタを切断する。すなわち、ＩＣカードリーダライタの切断要求をクライアント端末から受信した際、カード登録情報テーブルの当該レコードが削除されていなければ、当該クライアント端末において、ＩＣカード内のユーザ情報を確認した結果、一致しなかったものとして、カードタイプに対応する他のレコードをカード登録情報テーブルから検索するよう構成したものである。
【００２７】
本発明のＩＣカード情報認証システムでは、クライアント端末の前記ＩＣカード制御手段は、前記第２のＩＣカードリーダライタで取得したＩＣカードのユーザ情報を保存しておき、前記第１のＩＣカードリーダライタで取得したＩＣカードのユーザ情報と照合する。
【００２８】
本発明のＩＣカード情報認証システムでは、周辺機器が前記ＩＣカードサーバに接続されており、ＵＳＢ仮想接続によるユーザ情報の照合で正当な認証を得られた場合、クライアント端末と当該周辺機器との間でデータの送信または受信を行う。
【００２９】
本発明のＩＣカード情報認証システムでは、周辺機器が前記ネットワークに接続されており、ＵＳＢ仮想接続によるユーザ情報の照合で正当な認証を得られた場合、クライアント端末と当該周辺機器との間でデータの送信または受信を行う。
【００３０】
ここで、周辺機器とは、プリンタやスキャナなどのコンピュータに接続される周辺機器のみならず、入退室ゲートの制御機器や工場のオートメーション機器やロボットの制御機器を含む意味で用いている。これらの周辺機器は、ＩＣカードサーバに接続されていたり、ネットワークに直接接続されていたり、若しくはネートワークで接続されている他の周辺機器サーバに接続されている。
【００３１】
本発明のＩＣカード情報認証システムでは、前記クライアント端末の前記第２のデータ変換手段は、前記ＩＣカード制御手段がＩＣカードに周辺機器用情報を書き込んだ後に、ＵＳＢ仮想接続の切断処理を行う。
【００３２】
上記構成とすることで、周辺機器用情報をＩＣカードに記録することが可能となる。ここで、周辺機器用情報とは、周辺機器へアクセスした時刻、占有時間、周辺機器の名称や識別番号など周辺機器の利用にかかる情報である。なお、記録した周辺機器用情報は、個人の記録や課金情報などに使用することができる。
【００３３】
本発明のＩＣカード情報認証システムは、ネットワークで接続されるＩＣカードサーバとクライアント端末とから構成され、前記ＩＣカードサーバは第１のＩＣカードリーダライタおよび周辺機器を備え、前記クライアント端末は第２のＩＣカードリーダライタを備えるＩＣカード情報認証システムであって、
Ａ）前記ＩＣカードサーバは、
（１）クライアント端末から受信したＩＣカード情報と当該クライアント端末の識別情報とをレコードとしてカード登録情報テーブルに記憶するカード情報登録手段と、
（２）前記第１のＩＣカードリーダライタを介してＩＣカード情報を取得する第１のＩＣカード情報取得手段と、
（３）前記第１のＩＣカード情報取得手段により取得されたＩＣカード情報と対応する対応レコードを前記カード登録情報テーブルから検索する検索手段と、
（４）前記第１のＩＣカードリーダライタまたは前記周辺機器から受信したデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記第１のＩＣカードリーダライタまたは前記周辺機器と通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタおよび前記周辺機器と前記クライアント端末とを前記ネットワークを透過して通信可能とする、第１のデータ変換手段と、
（５）前記第１のＩＣカードリーダライタおよび前記周辺機器の制御権を、前記ＩＣカードサーバと、前記クライアント端末との間で、相互に切り替える制御切替手段と、を有し、
Ｂ）前記クライアント端末は、
（６）前記第２のＩＣカードリーダライタを介してＩＣカード情報を取得する第２のＩＣカード情報取得手段と、
（７）前記第２のＩＣカード情報取得手段により取得されたＩＣカード情報を前記ＩＣカードサーバに送信するカード情報送信手段と、
（８）前記第１のＩＣカードリーダライタおよび前記第２のＩＣカードリーダライタを制御するＩＣカード制御手段と、
（９）前記周辺機器を制御する周辺機器制御手段と、
（１０）前記ＩＣカード制御手段または前記周辺機器制御手段が発行するデータを前記ネットワークと通信できるデータ形式へと変換し、前記ネットワークから受信したデータを前記ＩＣカード制御手段または前記周辺機器制御手段と通信できるデータ形式へと変換することにより、前記第１のＩＣカードリーダライタと前記クライアント端末とを前記ネットワークを透過して通信可能とする、第２のデータ変換手段と、
を有する構成とされる。
【発明の効果】
【００３４】
本発明のＩＣカード情報認証システムでは、クライアント端末のＩＣカードアプリケーションから、ＵＳＢ仮想接続を経由して、ＩＣカードサーバに接続されたＩＣカードリーダライタを制御し、ＩＣカードのユーザ情報にアクセスできるので、ＩＣカードサーバがユーザ情報にアクセスする機能を持っていなくとも、ユーザ情報を用いた認証を行うことができるという効果がある。
【００３５】
また、本発明のＩＣカード情報認証システムでは、ＩＣカードの種別にかかわらず、ＩＣカードのユーザ情報へのアクセスは、全てクライアント端末のＩＣカードアプリケーションから行うことができるので、ＩＣカードサーバにＩＣカードそれぞれに対応したカスタマイズを加える必要がないという効果がある。これにより、ＩＣカードサーバ自身は、どのようなＩＣカードでも適用可能となる汎用性を持つことができる。
【００３６】
また、本発明のＩＣカード情報認証システムでは、ＩＣカードの読取ごとにカードＩＤが変化する種別のＩＣカードにおいても対応できるという効果がある。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施例について、図面を参照しながら詳細に処理フローなどを説明していく。ただし、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更および変形が可能である。
【００３８】
図１に実施例１のＩＣカード情報認証システムの機能ブロック図を示す。
図１に示すように、ＩＣカード情報認証システム１は、クライアント端末３とＩＣカードサーバ２とがＬＡＮ等のネットワーク４によって接続されている。クライアント端末３にはＩＣカードリーダライタ（ＩＣカードＲ／Ｗ）５がＵＳＢケーブルで接続されている。また、ＩＣカードサーバ２にはＩＣカードリーダライタ（ＩＣカードＲ／Ｗ）７がＵＳＢケーブルで接続されている。また、ＩＣカードサーバ２とプリンタ装置は、ＩＥＥＥ１２８４のプリンタＩ／Ｆで接続されている。なお、プリンタＩ／ＦはＩＥＥＥ１２８４以外のものでもよい。
【００３９】
まず、クライアント端末３の機能ブロックについて説明する。
クライアント端末３は、一般的なパーソナルコンピュータであり、オペレーティングシステム（図示せず）として、Ｗｉｎｄｏｗｓ（登録商標）が動作しているものとする。なお、本発明は、他のオペレーティングシステムにおいても適用可能である。
【００４０】
印刷アプリケーション（印刷アプリ）３１は、例えば文書作成ソフトウェアや表計算ソフトウェアであり、印刷対象となるデータの印刷指示を行う。
プリンタドライバ３２は、印刷対象となるデータをプリンタ装置６にて解釈可能なＰＤＬ（Page Description Language）等の形式へと変換し、印刷データを生成する。
ポートモニタ３３は、ＩＣカードサーバ２のＩＰアドレスを記憶しており、印刷データの送信処理、ＩＣカード情報（ＩＣカードのカードＩＤ、カードタイプ）の送信処理を行う。ポートモニタ３３は、複数のポートを設けることが可能であり、このポートを選択することで、印刷データとＩＣカード情報が出力される先を選択することが可能となる。
【００４１】
ＩＣカードアプリケーション（ＩＣカードアプリ）３４は、ＩＣカードリーダライタ５を介してＩＣカードにアクセスするためのアプリケーションである。ＩＣカードアプリケーション３４は、ＩＣカードのユーザ情報に対して、読込み、書込み、照合等の処理を行うことができる。また、ＩＣカードアプリケーション３４は、ＵＳＢ仮想接続を経由して、ＩＣカードリーダライタ７に入力されたＩＣカードにもアクセスすることができる。ＩＣカードＲ／Ｗドライバ３５は、ＩＣカードリーダライタ５およびＩＣカードリーダライタ７を制御するためのドライバである。
【００４２】
ＵＳＢ上位ドライバ３６は、ＵＳＢドライバスタックの一部であり、上位のドライバに対してＵＳＢ共通の機能を提供するドライバである。具体的には、ＵＳＢ．ＳＹＳやＵＳＢＨＵＢ．ＳＹＳ等である。
ホストコントローラドライバ３７はＵＳＢドライバスタックの下位層に存在し、ホストコントローラを直接操作するドライバである。具体的には、ＵＨＣＩ．ＳＹＳやＯＨＣＩ．ＳＹＳ等である。なお、ホストコントローラとは、ＵＳＢデバイスを制御するハードウェアであり、ＵＨＣＩやＯＨＣＩが存在する。
【００４３】
ＵＳＢ仮想ドライバ３８は、ネットワーク制御部３９を経由してＵＳＢコマンドを送受信するドライバであり、その詳細については後述する。
ネットワーク制御部３９は、ネットワークＩ／Ｆを制御し、ネットワーク４を介してデータの送受信を行う。
【００４４】
次に、ＩＣカードサーバ２の機能ブロックについて説明する。
ＩＣカードＲ／Ｗドライバ２２は、ＩＣカードリーダライタ７を制御するためのドライバである。
ＵＳＢ上位ドライバ２３は、ＵＳＢドライバスタックの一部であり、上位のドライバに対してＵＳＢ共通の機能を提供するドライバである。
ホストコントローラドライバ２１は、ＵＳＢドライバスタックの下位層に存在し、ホストコントローラを直接操作するドライバである。
【００４５】
プリントサーバ機能部２８は、クライアント端末３から受信した印刷データをプリンタ装置６へ送信する。
ネットワーク制御部２５は、ネットワークＩ／Ｆを制御し、ネットワーク４を介してデータの送受信を行う。
制御切替部２７は、カード情報管理部２４からの指示により、ホストコントローラドライバ２１の制御をＵＳＢ上位ドライバ２３とＵＳＢ仮想ドライバ２６との間で切り替える。
【００４６】
また、カード情報管理部２４は、図３に示されるように、カード登録情報テーブル２ａとカード情報登録手段２ｂとカード情報取得手段２ｃと検索手段２ｄと制御切替手段２ｅと登録情報削除手段２ｆとから構成される。
【００４７】
カード情報登録手段２ｂは、クライアント端末から受信したカードＩＤおよびカードタイプ、そしてクライアント端末のＩＰアドレスをカード登録情報テーブル２ａにレコードとして登録する。
カード情報取得手段２ｃは、ＩＣカードリーダライタ７を介して、ＩＣカードのカードＩＤおよびカードタイプを取得する。
検索手段２ｄは、カードタイプがＡ又はＣの場合は、カード情報取得手段２ｃにより取得されたカードＩＤ及びカードタイプに一致するレコードをカード登録情報テーブルから検索する。カードタイプがＢ（カードＩＤが読み出される度に変化するもの）の場合は、カードタイプのみが一致するレコードをカード登録情報テーブル２ａから検索する。
【００４８】
制御切替手段２ｅは、カードタイプがＡ又はＣの場合で検索した結果、カード登録情報テーブル２ａにカードタイプとカードＩＤが一致するレコードが存在した場合、制御切替部２７にホストコントローラドライバ２１の制御切替を指示する。カードタイプがＢの場合で一致するレコードを検索した結果、カードタイプのみ一致するレコードが存在した場合、制御切替部２７にホストコントローラドライバ２１の制御切替を指示する。
登録情報削除手段２ｆは、カード登録情報テーブル２ａのレコードの削除要求をクライアント端末３から受信した場合に、該当するレコードを削除する。
【００４９】
図４にカード登録情報テーブル２ａを示す。図示されるように、カード登録情報テーブル２ａには、レコードとして、カードタイプ、カードＩＤ、クライアント端末のＩＰアドレスが登録されている。図４では、最初のレコードとして、カードタイプ：Ｃ、カードＩＤ：ｗｗｗ、クライアント端末のＩＰアドレス：１９２．１６８．１０．１０が登録されている。なお、クライアント端末の識別情報としてＩＰアドレスを用いたが、これ以外にも、ホスト名等のクライアント端末を識別する情報を用いることができる。
【００５０】
図１を用いてＵＳＢ仮想ドライバについて説明する。ＵＳＢ仮想ドライバは、ネットワークを経由したＵＳＢデバイスの遠隔制御を実現するためのものである。なお、実施例１および２においては、制御対象のＵＳＢデバイスとしてＩＣカードサーバに接続されたＩＣカードリーダライタが相当し、実施例３においては、制御対象のＵＳＢデバイスとしてＩＣカードサーバに接続されたＩＣカードリーダライタおよびプリンタ装置が相当する。
【００５１】
まず、クライアント端末３のＵＳＢドライバスタック内にＵＳＢ仮想ドライバ３８を登録する。このＵＳＢ仮想ドライバ３８は、ＵＳＢ上位ドライバ３６に対しては、仮想的なホストコントローラドライバとして振る舞う。
【００５２】
同様に、ＩＣカードサーバ２でもＵＳＢドライバスタック内にＵＳＢ仮想ドライバ２６が存在する。このＵＳＢ仮想ドライバ２６は、ホストコントローラドライバ２１に対しては、仮想的なＵＳＢ上位ドライバとして振る舞う。
【００５３】
以下、ＵＳＢ仮想ドライバの動作を説明する。
クライアント端末３のＵＳＢ上位ドライバ３６がＵＳＢコマンド（ＵＲＢ）を発行すると、ＵＳＢ仮想ドライバ３８はこれを取得し、ＵＳＢコマンドの情報を基にネットワークに送信するデータを生成しキューに格納する。そして、順次、当該データをキューから取り出し、これをＩＰパケット内部にカプセル化して、ネットワーク上のＩＣカードサーバ２に対して送信する。
【００５４】
カプセル化されたデータはネットワーク４を経由してＩＣカードサーバ２に送信される。ＩＣカードサーバ２のＵＳＢ仮想ドライバ２６は、カプセル化されたデータを受信すると、カプセル化を解除し、内部のデータを取得する。そして、取得したデータからＵＳＢコマンドを再構成し、ＵＳＢホストコントローラドライバ２１へ与える。ＵＳＢホストコントローラドライバ２１は、ＵＳＢコマンドをＵＳＢデバイス（ＩＣカードリーダライタ７）に与える。
【００５５】
逆方向の制御も同様である。ＩＣカードサーバ２のＵＳＢ仮想ドライバ２６は、ホストコントローラドライバ２１から与えられたＵＳＢコマンドをＩＰパケット内部にカプセル化し、ネットワーク上のクライアント端末３へ送信する。
【００５６】
カプセル化されたデータはネットワーク４を経由してクライアント端末３に送信される。クライアント端末３のＵＳＢ仮想ドライバ３８は、カプセル化されたデータを受信し、カプセル化を解除し、内部のデータを取得し、当該データからＵＳＢコマンドを再構成し、ＵＳＢ上位ドライバ３６へ与える。
【００５７】
図５に、カプセル化されたデータのフォーマット図を示す。カプセル化されたデータはネットワーク通信のためのフォーマットであり、ＭＡＣヘッダ、ＩＰヘッダ、ＴＣＰヘッダ、そして、Ｔｕｎｎｅｌｉｎｇヘッダを有している。ＭＡＣヘッダ、ＩＰヘッダ、ＴＣＰヘッダは、従来のＴＣＰ／ＩＰプロトコルを利用したネットワーク通信で用いられている構成である。ＴｕｎｎｅｌｉｎｇヘッダがＵＳＢ仮想接続のための構成であって、ここにＵＳＢコマンドを再構成するための情報を格納する。そして、データ部分がＵＳＢコマンドに該当する。なお、ＵＳＢ仮想接続では、ネットワークと通信するためのプロトコルとして、ＴＣＰ／ＩＰ以外のプロトコルを用いてもよい。
【００５８】
ＵＳＢ仮想ドライバが、ＵＳＢ上位ドライバに対してネットワークの存在を意識させないので、クライアント端末は、ネットワーク上のＩＣカードサーバに接続されたＵＳＢデバイスを、あたかもそれが自身のローカルデバイスであるかのように制御することができる。これにより、クライアント端末からＩＣカードサーバに接続されたＵＳＢデバイスをネットワークを透過して利用することができる。
【００５９】
次に、クライアント端末のハードウェア構成を図６に示す。クライアント端末は、その動作を制御するＣＰＵと、ＣＰＵが実行時に参照するプログラムやデータが一時記憶されるＲＡＭ（Random Access Memory）と、ＣＰＵが実行する所定のプログラムを格納しているＲＯＭ（Read Only Memory）と、オペレーティングシステムや各種プログラムを格納している補助記憶手段であるハードディスクと、キーボードやマウス等の入力装置と、ディスプレイ等の表示装置と、ＬＡＮ等のネットワークを介してＩＣカードサーバと通信するためのネットワークＩ／Ｆと、ＩＣカードリーダライタと接続するためのＵＳＢＩ／Ｆを備える。
【００６０】
次に、ＩＣカードサーバのハードウェア構成を図７に示す。ＩＣカードサーバは、その動作を制御するＣＰＵと、プログラムやデータを記憶するＲＯＭおよびＲＡＭと、ＬＡＮ等のネットワークを介してクライアント端末と通信するためのネットワークＩ／Ｆと、ＩＣカードリーダライタと接続するためのＵＳＢ／ＩＦと、ＬＥＤ・ブザー等の表示・音声等出力部と、プリンタと接続するためのプリンタＩ／Ｆを備えている。
【００６１】
次に、実施例１のＩＣカード情報認証システムにおけるクライアント端末とＩＣカードサーバのデータフローを、図８を参照しながら説明する。図中の括弧書きの番号は、以下の説明の括弧書き番号の柱書きに対応している。
【００６２】
まず、システムの前提として、ＩＣカードサーバは、ＩＣカードサーバにローカルに接続されているＩＣカードリーダライタを認識し制御できる状態となっている。また、クライアント端末は、クライアント端末にローカルに接続されているＩＣカードリーダライタを認識し制御できる状態となっている。
【００６３】
例として、クライアント端末の印刷アプリケーションから印刷を行う場合について、以下に図１、図３及び図８を参照して処理フローを説明する。
（１）ユーザは、クライアント端末３の印刷アプリケーション３１を操作して、印刷対象となるデータの印刷を指示する。これを受けて、クライアント端末３は印刷データを生成し、スプール領域（図示せず）に格納すると共に、ＩＣカードリーダライタ５に入力されたＩＣカードのカードＩＤ、カードタイプ、ユーザ情報を取得し、記憶する。そしてカードＩＤとカードタイプをＩＣカードサーバ２に送信する。
【００６４】
（２）ＩＣカードサーバ２は、ＩＣカードのカードＩＤ、カードタイプを受信する。そして、カードＩＤ、カードタイプ、送信元クライアント端末のＩＰアドレスをレコードとしてカード登録情報テーブル２ａに登録する。
【００６５】
（３）ユーザは、ＩＣカードサーバ２の設置場所に行き、ＩＣカードサーバ２に接続されたＩＣカードリーダライタ７に、ＩＣカードを置く。
（４）ＩＣカードサーバ２は、ＩＣカードリーダライタ７を介して、ＩＣカードのカードＩＤおよびカードタイプを取得する。
【００６６】
（５）ＩＣカードサーバ２は、取得したカードタイプがＡまたはＣの場合、カード登録情報テーブル２ａを検索する。そして、カードＩＤとカードタイプが一致するレコードが登録されているかどうか照合する。
（６）一致するレコードがある場合、ＩＣカードサーバ２は、ＩＣカードサーバ２内のＩＣカードＲ／Ｗドライバ２２を切り離し、クライアント端末３とのＵＳＢ仮想接続を行う。これにより、クライアント端末３から、ＩＣカードサーバ２に接続されているＩＣカードリーダライタ７を制御することができるようになる。
【００６７】
上記（５）の処理において、取得したカードタイプがＢの場合は、カードＩＤの照合を行わず、カードタイプが一致するレコードのクライアント端末３に対して、ＵＳＢ仮想接続を行う。
【００６８】
（７）ＵＳＢ仮想接続を確立すると、クライアント端末３のＩＣカードアプリケーション３４は、ＩＣカードサーバ２に接続されているＩＣカードリーダライタ７の制御を行い、ＩＣカード内のユーザ情報の照合を行う。
（８）ユーザ情報の照合により正当な認証が得られた場合、課金やアクセス履歴などの情報記録の必要に応じて、ＩＣカード内のユーザ情報へ印刷情報等の周辺機器用情報を書き込む。
（９）ＩＣカードへの処理が終了するとＵＳＢ仮想接続を切断する。
（１０）ＩＣカードサーバ２は、再びＩＣカードリーダライタ７の制御を開始する。
（１１）クライアント端末３のポートモニタ３３は、ユーザ情報の照合により正当な認証が得られたので、スプール領域から印刷データを受信し、これをＩＣカードサーバ２へ送信する。
ＩＣカードサーバ２は、受信した印刷データをプリンタ装置６に送信する。そして、プリンタ装置６は印刷データを印刷出力する。
【００６９】
なお、ポートモニタ３３による印刷データの送信は、ＵＳＢ仮想接続が切断される前に行ってもよい。すなわち、ユーザ情報の照合が終了し、クライアント端末３のポートモニタ３３から印刷データを送信し、その後、ユーザ情報への周辺機器用情報の書込処理を行い、ＵＳＢ仮想接続を切断するという手順でおこなってもよい。
【００７０】
次に、図１、図９乃至図１２のフローチャートを用いてＩＣカードサーバ２の動作の詳細を説明する。
【００７１】
図９は、ＩＣカード情報登録にかかるＩＣカードサーバの動作フローチャートである。
まず、ＩＣカードリーダライタ７がＩＣカードサーバ２のＵＳＢＩ／Ｆに接続される（ステップＳ９０１）。すると、ＵＳＢのプラグアンドプレイ機構が動作し、ＩＣカードＲ／Ｗドライバ２２が登録され、ＩＣカードリーダライタ７が利用可能（制御機能ＯＮ）となる（ステップＳ９０２）。この段階では、ＩＣカードリーダライタ７から読み取られたカードＩＤ、カードタイプは、ＩＣカードサーバ２のホストコントローラドライバ２１、ＵＳＢ上位ドライバ２３、ＩＣカードＲ／Ｗドライバ２２の各制御を通して、カード情報管理部２４に伝えられるようになっている。
【００７２】
ＩＣカードサーバ２は、ネットワーク上のクライアント端末３からカードＩＤ、カードタイプが送られてくるのを待つ（ステップＳ９０３）。クライアント端末３からカードＩＤ、カードタイプを受信すると（ステップＳ９０３）、カードＩＤ、カードタイプと送信元クライアント端末のＩＰアドレスとをカード登録情報テーブル２ａにレコードとして登録する（ステップＳ９０４）。登録が終了すると、カードＩＤ、カードタイプの受信待ち状態へと戻る。
【００７３】
ステップＳ９０４における、カードＩＤ、カードタイプ、送信元クライアント端末のＩＰアドレスの登録処理について説明する。受信したカードＩＤ、カードタイプは、ネットワーク制御部２５を経由してカード情報管理部２４へと渡される。カード情報管理部２４のカード情報登録手段２ｂは、カードＩＤ、カードタイプを、その送信元クライアント端末のＩＰアドレスと共に、レコードとしてカード登録情報テーブル２ａに登録する。
【００７４】
図１０、図１１、図１２は、ＩＣカードの照合、ＵＳＢ仮想接続の確立およびその切断処理についての動作フローである。
【００７５】
カードタイプ判定までの動作フローを図１０に示す。
まず、ユーザがＩＣカードサーバ２のある場所へ移動し、ＩＣカードリーダライタ７にＩＣカードを置く。これによりＩＣカードサーバ２の処理が開始される。ＩＣカードサーバ２は、カード登録情報テーブル２ａにレコードが登録されているかどうかを判断する（ステップＳ１００１）。登録されている場合、ＩＣカードリーダライタ７からＩＣカードのカードＩＤとカードタイプを取得する（ステップＳ１００２）。カードＩＤとカードタイプが取得できたかどうかを判断し（ステップＳ１００３）、取得成功であればカードタイプがＡまたはＣに該当するかどうかを判断する（ステップＳ１００４）。カードタイプがＡまたはＣであれば、図１１のフローへ続く。それ以外（カードタイプがＢ）であれば、図１２のフローへ続く。
【００７６】
図１１を用いて、カードタイプがＡまたはＣの場合の処理を説明する。
ＩＣカードサーバの検索手段２ｄは、ＩＣカードリーダライタ７から取得したカードＩＤとカードタイプが、カード登録情報テーブル２ａに登録されている最初のレコードと一致するかどうかを照合する（ステップＳ１１０１）。一致しなければ、次のレコードがあるかどうかを判断する（ステップＳ１１０２）。次のレコードがあれば、次のレコードを確認し（ステップＳ１１０３）、カードＩＤ、カードタイプが一致するかどうかを照合する（ステップＳ１１０１）。ステップＳ１１０２において、次のレコードがなければ、処理を終了する。
【００７７】
ステップＳ１１０１にてＩＣカードリーダライタから取得したカードＩＤとカードタイプと一致するレコードがあれば、ＩＣカードリーダライタ２の制御をＯＦＦにする（ステップＳ１１０４）。
【００７８】
ＩＣカードリーダライタ２の制御をＯＦＦにする処理を詳しく説明する。カード登録情報テーブル２ａで一致するレコードがあった場合、検索手段２ｄはその旨を制御切替手段２ｅへと伝える。制御切替手段２ｅは、制御切替部２７に対して制御の切り替えを命令する。かかる命令を受けると、制御切替部２７は、ＩＣカードサーバ２のオペレーティングシステムのプラグアンドプレイ機構（図示せず）に対して、ＩＣカードリーダライタ７の切り離しを通知する。これによりソフトウェアレベルのＵＳＢ接続が切断され、ＩＣカードリーダライタ７の制御がＯＦＦになる。
【００７９】
図１１のフローに戻る。ＩＣカードリーダライタ７の制御がＯＦＦになると、制御切替部２７は、ＩＣカードサーバ２のＵＳＢ仮想ドライバ２６にホストコントローラドライバ２１の制御を切り替える。そして、ＩＣカードサーバ２のＵＳＢ仮想ドライバ２６は、クライアント端末３のＵＳＢ仮想ドライバ３８とのＵＳＢ仮想接続を確立する（ステップＳ１１０５）。なお、接続すべきクライアント端末のＩＰアドレスは、一致したレコードに登録されたものである。
【００８０】
ここで、ＵＳＢ仮想接続を確立する処理（ステップＳ１１０５）を説明する。制御切替部２７は、ＩＣカードリーダライタ７の制御をＯＦＦにした後、ホストコントローラドライバ２１とＵＳＢ仮想ドライバ２６とを関連づける。また、カード情報管理部２４は、接続すべきクライアント端末のＩＰアドレスをＵＳＢ仮想ドライバ２６へと与える。これを受けて、ＵＳＢ仮想ドライバ２６は当該クライアント端末３との通信コネクションを確立する。具体的には、ＩＣカードサーバ２のＵＳＢ仮想ドライバ２６から、クライアント端末３のＵＳＢ仮想ドライバ３８に対して、ＴＣＰ／ＩＰプロトコルによる通信コネクション確立要求を行い、クライアント端末３のＵＳＢ仮想ドライバ３８がこれに対して確立応答を行うことでなされる。ＵＳＢ仮想接続の確立がなされると、ＵＳＢのコンフィグレーション情報がＩＣカードサーバ２からクライアント端末３へ送信され、クライアント端末３のプラグアンドプレイ機構（図示せず）によりプラグアンドプレイ処理が開始される。これにより、クライアント端末３のＩＣカードＲ／Ｗドライバ３５が登録され、クライアント端末３からＩＣカードサーバ２に接続されたＩＣカードリーダライタ７の制御が可能となる。
【００８１】
すなわち、クライアント端末３のＩＣカードアプリケーション３４は、ＵＳＢ仮想接続を経由してＩＣカードサーバ２に接続されたＩＣカードリーダライタ７を制御し、ＩＣカードにアクセスすることができる。
【００８２】
図１１のフローに戻る。ステップＳ１１０６に示すＵＳＢ仮想接続処理は、ＵＳＢ仮想接続によるデータ通信がなされている状態を示す。ＵＳＢ仮想接続状態において、ＩＣカードサーバ２は、クライアント端末３からレコードの削除要求があるかどうかを判断する（ステップＳ１１０７）。レコードの削除要求があれば、カード情報管理部２４の登録情報削除手段２ｆがカード登録情報テーブル２ａのレコードを削除する（ステップＳ１１０８）。
【００８３】
クライアント端末３によるＩＣカードサーバ２に接続されたＩＣカードリーダライタ７の利用が終了すると、クライアント端末３のＵＳＢ仮想ドライバ３８に切断命令が与えられる。クライアント端末３のＵＳＢ仮想ドライバ３８は、ＩＣカードサーバ２のＵＳＢ仮想ドライバ２６へ切断命令を伝える。これにより、クライアント端末３とＩＣカードサーバ２のＵＳＢ仮想接続の通信コネクションを切断する。
【００８４】
ＵＳＢ仮想接続が切断されたと判断すると（ステップＳ１１０９）、制御切替部２７は、ＩＣカードリーダライタ７の制御をＵＳＢ上位ドライバ２３に切り替える。具体的には、制御切替部２７がＩＣカードサーバ２のオペレーティングシステムのプラグアンドプレイ機構にＩＣカードリーダライタ７が接続された旨の信号を与えると、プラグアンドプレイが動作し、ＵＳＢ上位ドライバ２３およびＩＣカードＲ／Ｗドライバ２２の登録がなされる。これによりＩＣカードリーダライタ７の制御がＯＮになる（ステップＳ１１１０）。
【００８５】
以上が、カードタイプがＡまたはＣの場合のＵＳＢ仮想接続についての説明である。次にカードタイプがＢの場合のＵＳＢ仮想接続について説明する。カードタイプがＢのＩＣカードは、読取ごとにカードＩＤの値が異なるので、カードＩＤの照合を行わないで、カードタイプの照合のみを行う。
【００８６】
図１０の動作フローのステップＳ１００４において、カードタイプがＢであると判断されると、図１２の動作フローに移行する。
まず、ＩＣカードサーバ２のＩＣカードリーダライタ７の制御がＯＮであるか否かを判断する（ステップＳ１２０１）。ＩＣカードリーダライタ７の制御がＯＮの場合は、これをＯＦＦにする（ステップＳ１２０２）。ＩＣカードリーダライタ７の制御がＯＦＦになると、検索手段２ｄがカードタイプＢのレコードを検索し、そのレコードに登録されているＩＰアドレスのクライアント端末へＵＳＢ仮想接続を行う（ステップＳ１２０３、Ｓ１２０４）。
【００８７】
次に、ステップＳ１２０５においてレコードの削除要求を受信したか否かを判断する。受信すれば当該レコードを削除する（ステップＳ１２０６）。
次に、ＵＳＢ仮想接続が切断されたかどうかを判断し（ステップＳ１２０７）、切断された場合は、ステップＳ１２０６にてレコードを削除したかどうかを判断する（ステップＳ１２０８）。削除した場合は、ＩＣカードリーダライタ７の制御をＯＮにする（ステップＳ１２０９）。ステップＳ１２０６において、削除していない場合は、次のレコードがあるかどうかを判断する（ステップＳ１２１２）。
【００８８】
次のレコードがない場合は、ステップＳ１２１４に進む。次のレコードがある場合は、次のレコードを確認し（ステップＳ１２１３）、カードタイプがＢであるかどうかを判断する（ステップＳ１２１１）。カードタイプがＢであれば、再びステップＳ１２０１に戻る。カードタイプがＢではなく、さらに次のレコードがない場合は（ステップＳ１２１２）、ＩＣカードリーダライタ７の制御がＯＮであるか否かを判断する（ステップＳ１２１４）。ＩＣカードリーダライタ７の制御がＯＦＦの場合は、それをＯＮにする（ステップＳ１２１５）。
【００８９】
以上が、カードタイプＢの場合のＵＳＢ仮想接続についての動作フローである。次に、カードタイプがＢの場合とＡまたはＣの場合の違いを説明する。カードタイプＢの場合は、ＵＳＢ仮想接続を行う前にカードＩＤの照合を行わない点が異なる。カードタイプＢのカードＩＤはＩＣカードリーダライタの読み取りごとにその値が異なるので、カードＩＤを基準とした照合ができないからである。よって、カードタイプＢと判断された場合、そのままＵＳＢ仮想接続を行う。これが図１２で示されるステップＳ１２０１からステップＳ１２１５の動作フローである。
【００９０】
カードタイプＢの動作フローにおいて、ユーザ情報の照合の結果、照合ＯＫならば、その後の動作はカードタイプＡまたはＣの場合と同様である。ユーザ情報の照合が行われ、照合ＮＧであれば、ＵＳＢ仮想接続を切断する。かかる切断をうけると、カード情報管理部の検索手段は、カード登録情報テーブルに登録された次のカードタイプＢのレコードを検索する。そしてカードタイプＢのレコードがあれば、そのレコードのクライアント端末に対してＵＳＢ仮想接続を行い、当該クライアント端末において再びユーザ情報の照合処理を行う。このようにカードタイプがＢの場合は、ユーザ情報の正当な認証を得られるまで、カード登録情報テーブルに登録された複数レコード（カードタイプがＢのレコード）を順に確認していく。
【００９１】
図１、図１３および図１４を用いてクライアント端末３の動作の詳細を説明する。
まず、図１３を用いてクライアント端末から印刷要求を行う際の動作フローを説明する。
【００９２】
ユーザは、クライアント端末３の印刷アプリケーション３１を操作して印刷を指示する（ステップＳ１３０１）。これを受けて、印刷アプリケーション３１はオペレーティングシステムを経由してプリンタドライバ３２に印刷指示を与える。プリンタドライバ３２は、かかる印刷指示に基づき、印刷対象となるデータをＰＤＬ等のプリンタ装置６で解釈可能な形式へと変換し、印刷データとしてプリントスプーラ（図示せず）へと与える。
【００９３】
次に、ポートモニタ３３は、プリンタドライバ３２からの指令により起動する。ポートモニタ３３は、ＩＣカードアプリケーション３４に対してＩＣカードのカードＩＤ、カードタイプ、ユーザ情報の取得を指示する。かかる指示を受けて、ＩＣカードアプリケーション３４はＩＣカードリーダライタ５にＩＣカードが置かれているかどうかを判断する。ＩＣカードが置かれており読取可能であれば、カードＩＤ、カードタイプ、ユーザ情報を取得する（ステップＳ１３０２）。取得が成功すると、ＩＣカードアプリケーション３４は、ＩＣカードのカードＩＤ、カードタイプ、ユーザ情報を記憶する。また、プリントスプーラはプリンタドライバ３２から受け取った印刷データをハードディスク等のスプール領域に記憶する（ステップＳ１３０３）。次に、ＩＣカードアプリケーション３４は、カードＩＤ、カードタイプをポートモニタ３３に与える。ポートモニタ３３は、カードＩＤ、カードタイプをＩＣカードサーバ２に送信する（ステップＳ１３０４）。
【００９４】
次に図１４を用いてＩＣカードサーバに接続されたＩＣカードリーダライタに入力されたＩＣカードの照合を行う動作フローを説明する。
【００９５】
まず、クライアント端末３は、印刷データがスプール領域に記憶されているかどうかを判断している（ステップＳ１４０１）。印刷データがスプール領域に記憶されている場合、ＩＣカードサーバ２からのＵＳＢ仮想接続の確立要求を待っている（ステップＳ１４０２）。一定期間が経過してもＵＳＢ仮想接続の確立要求がなかった場合は、タイムアウトと判断し（ステップＳ１４０３）、印刷データ、カードＩＤ、カードタイプ、ユーザ情報を削除する（ステップＳ１４０９）。ＩＣカードサーバ２からＵＳＢ仮想接続の確立要求を受けた場合、これに応答してＵＳＢ仮想接続を確立する。これにより、クライアント端末３からＩＣカードサーバ２に接続されたＩＣカードリーダライタ７が制御可能となる。
【００９６】
ＵＳＢ仮想接続が確立されると、クライアント端末３のＩＣカードアプリケーション３４は、ＩＣカードサーバ２に接続されたＩＣカードリーダライタ７に入力されたＩＣカードのユーザ情報を取得する（ステップＳ１４０４）。当該取得したユーザ情報と、既に取得しているユーザ情報とを照合し（ステップＳ１４０５）、照合ＮＧであれば、ＵＳＢ仮想接続を切断する（ステップＳ１４１０）。照合ＯＫであれば、ＩＣカードサーバ２のレコードの削除要求を行い（ステップＳ１４０６）、ＵＳＢ仮想接続の切断要求を行う（ステップＳ１４０７）。
【００９７】
次に、クライアント端末３のポートモニタ３３は、スプール領域に保存されている印刷データを取得し、これをＩＣカードサーバ２に送信する（ステップＳ１４０８）。そして、カードＩＤ、カードタイプ、ユーザ情報を削除する（ステップＳ１４０９）。
【００９８】
上記では、ＵＳＢ仮想接続を切断してから印刷データを送信したが、ＵＳＢ仮想接続を切断する前に、印刷データを送信してもよい。このようにすると、印刷データを送信した後に、ＵＳＢ仮想接続を用いて印刷後の印刷情報や課金情報などの周辺機器用情報をＩＣカードのユーザ情報に書き込むことができる。
【００９９】
次に実施例２について説明する。図１５は実施例２におけるＩＣカード情報認証システムの機能ブロック図である。実施例１と異なる点は、プリンタ装置６がネットワーク４に直接接続されている点である。そのため、ＩＣカードサーバ２にプリントサーバ機能部が存在しない。クライアント端末３の機能ブロックは実施例１と同じである。
【０１００】
実施例２のクライアント端末のハードウェア構成は実施例１と同様である。
【０１０１】
実施例２のＩＣカードサーバのハードウェア構成を図１６に示す。プリンタ装置がネットワークに直結されるので、プリンタＩ／Ｆがない点が実施例１とは異なる。
【０１０２】
実施例２の動作について説明する。
ＵＳＢ仮想接続を確立し、ユーザ情報の照合を行うまでの手順は、実施例１と同様である。ユーザ情報の照合により正当な認証を得られた場合、ポートモニタは、ＩＣカードサーバではなくネットワーク上のプリンタ装置に対して印刷データを送信する。なお、送信すべきプリンタ装置のＩＰアドレスは予めポートモニタに登録しておけばよい。すなわち、実施例２のポートモニタは、ユーザからの印刷指示により印刷処理が開始されると、カードＩＤ、カードタイプをＩＣカードサーバに送信する。そして、ＵＳＢ仮想接続を確立し、ユーザ情報の照合を行った後、照合ＯＫであれば、ポートモニタに登録されたプリンタ装置へと印刷データを送信する。
【０１０３】
なお、上記では、プリンタ装置のＩＰアドレスをクライアント端末のポートモニタに登録しておいたが、ＩＣカードサーバ側に登録しておいてもよい。この場合、ＩＣカードサーバ側からポートモニタにプリンタ装置のＩＰアドレスを通知することにより、ポートモニタは送信すべきプリンタ装置のＩＰアドレスを知ることができる。
【０１０４】
次に実施例３について説明する。図１７は実施例３のＩＣカード情報認証システムの機能ブロック図である。
【０１０５】
クライアント端末３の機能ブロックについて説明する。
実施例１と異なる点は、印刷データの送信処理においてもＵＳＢ仮想接続を行う点である。図１７に示されるように、クライアント端末３のポートモニタ３３から出力される印刷データはＵＳＢ上位ドライバ３６を経てＵＳＢ仮想ドライバ３８へ渡される。ポートモニタ３３は、プリンタ装置がクライアント端末のローカルＵＳＢＩ／Ｆに接続されているものとして認識している。従って、ポートモニタ３３は、印刷データをネットワーク４に送信する処理を行うのではなく、あくまでもローカルのＵＳＢＩ／Ｆに接続されたプリンタ装置へ送信するのと同じ処理を行うのである。そのため、ポートモニタ３３は印刷データをＵＳＢ上位ドライバ３６へと与える。ＵＳＢ上位ドライバ３６は、ＵＳＢ仮想ドライバ３８へとこれを与える。そしてＵＳＢ仮想ドライバ３８によりＩＰパケットにカプセル化され、ネットワーク４に送信されるのである。なお、カードＩＤ、カードタイプは、実施例１および２と同様、ポートモニタ３３からネットワーク制御部３９を経由してＩＣカードサーバに送信される。上記以外の構成は、実施例１と同様である。
【０１０６】
ＩＣカードサーバ２の機能ブロックについて説明する。
実施例１と異なる点は、印刷データの受信処理においてもＵＳＢ仮想接続を行う点である。図に示されるように、ネットワーク制御部２５で受信された印刷データはＵＳＢ仮想ドライバ２６へと与えられる。ＵＳＢ仮想ドライバ２６は、カプセル化を解除し、印刷データをホストコントローラドライバ２１へと与え、ホストコントローラドライバ２１は印刷データをプリンタ装置６へ送信する。上記以外の構成は、実施例１と同様である。
【０１０７】
クライアント端末のハードウェア構成は実施例１および実施例２と同様である。
【０１０８】
ＩＣカードサーバのハードウェア構成については、実施例２と同様である。プリンタ装置は、ＩＣカードサーバのＵＳＢＩ／Ｆに接続される。実施例１では、ＩＣカードサーバがプリントサーバとして機能していたので、ＩＣカードサーバとプリンタ装置とのプリンタＩ／Ｆは、ＩＥＥＥ１２８４を利用していた。しかし、実施例３では、ＵＳＢドライバスタックの内部に仮想ＵＳＢドライバを登録し、ネットワークを透過したプリンタ装置の制御を行っているので、プリンタ装置とのインタフェースはＵＳＢＩ／Ｆが利用される。なお、ＩＣカードリーダライタとのインタフェースは、実施例１と同じく、ＵＳＢＩ／Ｆとなる。
【０１０９】
次に、実施例３のＩＣカード情報認証システムにおけるクライアント端末とＩＣカードサーバのデータフローを、図１７および図１８を参照しながら説明する。図中の括弧書きの番号は、図８と同様に説明の括弧書き番号の柱書きに対応している。
【０１１０】
例として、クライアント端末３の印刷アプリケーション３１から印刷を行う場合について以下に処理フローを説明する。なお、以下では、実施例１と異なる点を説明する。
実施例１と異なるのは、（８）の印刷データの送信がＵＳＢ仮想接続を経由して行われている点である。ＵＳＢ仮想接続が確立し、クライアント端末３にてユーザ情報の正当な認証が得られた場合、ポートモニタ３３はスプール領域から印刷データを受信し、これをＵＳＢ上位ドライバ３６へ与える。ＵＳＢ上位ドライバ３６は、印刷データをＵＳＢ仮想ドライバ３８へ与え、ＵＳＢ仮想ドライバ３８は、これをＩＣカードサーバ２へ送信する。ＩＣカードサーバ２はこれを受信すると、ＵＳＢ仮想ドライバ２６、ホストコントローラドライバ２１を経由してプリンタ装置６に送信する。これにより、印刷データをプリンタ装置６において印刷出力する。
【０１１１】
なお、クライアント端末３とプリンタ装置６とのＵＳＢ仮想接続の確立について、図１８では（６）においてＩＣカードリーダライタ７のＵＳＢ仮想接続の確立と同時に行っている。しかし、ＵＳＢ仮想接続の確立のタイミングは任意に決定することができ、例えば、ＩＣカードリーダライタ７のＵＳＢ仮想接続を先に行い、ＩＣカードの認証を得られた後に、プリンタ装置６とのＵＳＢ仮想接続の確立を行うという手順で実施しても良い。
【０１１２】
以上、本発明の実施例を説明してきたが、具体的な構成は上記各実施例に限られるものではなく、特許請求の範囲に記載された範囲内において種々の変形が可能である。
【０１１３】
例えば、上記各実施例では、ユーザ情報の照合により正当な認証が得られた後、データを送信または受信する周辺機器としてプリンタ装置を示したが、これ以外の周辺機器（複合機、Ｗｅｂカメラ、スキャナ等）を用いることもできる。
【０１１４】
また、上記各実施例では、説明の便宜上、ネットワーク上に１台のクライアント端末と１台のＩＣカードサーバが接続されている例で説明したが、これらがネットワーク上に複数台あってもよい。また、ＩＣカードサーバに接続されるＵＳＢデバイスが複数台あってもよい。例えば、１台のＩＣカードサーバに２台のプリンタ装置をＵＳＢケーブルで接続し、ＵＳＢ仮想接続を経由して印刷するプリンタ装置をユーザが適宜選択できるように構成してもよい。
【０１１５】
また、上記各実施例では、仮想接続を行うインタフェースの規格をＵＳＢとしたが、これ以外の規格を用いることもできる。例えば、ＩＥＥＥ１３９４のコマンドをネットワークプロトコルにカプセル化して、ＩＥＥＥ１３９４による仮想接続を実現することもできる。
【０１１６】
また、上記各実施例では、カードタイプがＡまたはＣの場合でも、ＵＳＢ仮想接続を確立したが、カードタイプがＢの場合のみＵＳＢ仮想接続を確立するようにしてもよい。すなわち、カードタイプがＡまたはＣの場合には、ＩＣカードサーバでカードＩＤの照合が行われるので、これをもってＩＣカードの照合処理が終了したとして、ＵＳＢ仮想接続を確立することなく印刷データの送信処理を行わせるのである。
【０１１７】
また、上記各実施例では、カードタイプがＡまたはＣの場合でも、ＵＳＢ仮想接続を確立し、ユーザ情報の照合を行ったが、既にカードＩＤによる照合がＩＣカードサーバにて行われているので、ユーザ情報の照合を行わず、ＵＳＢ仮想接続ではユーザ情報の読込処理や書込処理のみを行ってもよい。
【０１１８】
また、上記各実施例では、ハードウェア上、プリンタ装置とＩＣカードサーバを別体として構成したが、一体として構成してもよい。
【産業上の利用可能性】
【０１１９】
本発明のＩＣカード情報認証システムは、セキュリティ印刷システムなどＩＣカードを利用するシステムに利用できる。
【図面の簡単な説明】
【０１２０】
【図１】実施例１のＩＣカード情報認証システムの機能ブロック図
【図２】ＩＣカード構造の模式図
【図３】ＩＣカードサーバにおけるカード情報管理部関連の機能ブロック図
【図４】カード登録情報テーブル
【図５】カプセル化されたデータのフォーマット図
【図６】実施例１乃至３のクライアント端末のハードウェア構成図
【図７】実施例１のＩＣカードサーバのハードウェア構成図
【図８】本発明のＩＣカード情報認証システムにおけるクライアント端末とＩＣカードサーバのデータフロー図
【図９】ＩＣカード情報登録にかかるＩＣカードサーバの動作フローチャート
【図１０】カードタイプ判定までの動作フローチャート
【図１１】カードＩＤ確認のフローチャートにおけるカードタイプＡ／Ｃの場合の確認フローチャート
【図１２】カードＩＤ確認のフローチャートにおけるカードタイプＢの場合の確認フローチャート
【図１３】クライアント端末における印刷要求のフローチャート
【図１４】クライアント端末における認証のフローチャート
【図１５】実施例２のＩＣカード情報認証システムの機能ブロック図
【図１６】実施例２および実施例３のＩＣカードサーバのハードウェア構成図
【図１７】実施例３のＩＣカード情報認証システムの機能ブロック図
【図１８】本発明のＩＣカード情報認証システムにおけるクライアント端末とＩＣカードサーバのデータフロー図（印刷データの送信にＵＳＢ仮想接続を用いる場合）
【符号の説明】
【０１２１】
１    ＩＣカード情報認証システム
２    ＩＣカードサーバ
３    クライアント端末
４    ネットワーク
５，７    ＩＣカードリーダライタ（ＩＣカードＲ／Ｗ）
６    プリンタ装置
８    ＩＣカード
【図１】
2008282064.tif 000003
【図２】
2008282064.tif 000004
【図３】
2008282064.tif 000005
【図４】
2008282064.tif 000006
【図５】
2008282064.tif 000007
【図６】
2008282064.tif 000008
【図７】
2008282064.tif 000009
【図８】
2008282064.tif 000010
【図９】
2008282064.tif 000011
【図１０】
2008282064.tif 000012
【図１１】
2008282064.tif 000013
【図１２】
2008282064.tif 000014
【図１３】
2008282064.tif 000015
【図１４】
2008282064.tif 000016
【図１５】
2008282064.tif 000017
【図１６】
2008282064.tif 000018
【図１７】
2008282064.tif 000019
【図１８】
2008282064.tif 000020