本発明の実施形態について説明する。図1A、図1Bは、本発明の前提となるシステム構成、本発明の一態様のシステムをそれぞれ説明する図である。
図1Aにおいて、システム1Aは、情報端末20と、利用者(操作者)が該情報端末20の操作を行う周辺機器30-1~30-nと、情報端末20と周辺機器30-1~30-nとの間の通信を担う有線又は無線の通信インタフェース40-1~40-nを含む。情報端末20は、例えば運用監視システムを構成するPC(Personal Computer)等であってよい。この場合、運用監視システムは、例えば発電所等での発電量を制御監視する電力系統監視制御システムであってもよく、情報端末20は、操作卓として機能するPC等であってよい。また、情報端末20は、前述したように、例えば利用者共有アカウントが使用されるか、又はログイン機能を有さない情報端末等であってよい。以下の実施形態においても同様とされる。
なお、図1Aには、簡単のために、情報端末20は1台が例示されているが、情報端末20は複数台であってもよい(その台数に特に制限はない)。情報端末20に接続される周辺機器30-1~30-n、通信インタフェース40-1,…,40―nにおいてnは1以上とされる(すなわち、周辺機器30は1台であってもよい)。図面中の要素の参照符号において、特に、枝番を指定して区別する必要が無い場合(例えば個々の要素を区別して参照する必要がない場合)には、周辺機器30、通信インタフェース40等、枝番を付さずに記載される。以下の実施形態でも同様の記法とする。
図1Bに示すように、本発明の一態様に係るシステム1Bは、図1Aのシステム1Aに対して、情報端末20と周辺機器30の間に、操作認証を行う操作認証中継装置10(以下、「中継装置」と略記される)が配設される。中継装置10は周辺機器30-1~30-nと通信インタフェース40-1~40-nを介して接続される。情報端末20は中継装置10と通信インタフェース40-0を介して接続される。なお、中継装置10は、情報端末20と周辺機器30の間の通信経路(パス)間に論理的に接続される構成であればよい。この場合、中継装置10は、例えば情報端末20の匡体内等に配設される構成としてもよい。通信インタフェース40-0、40-1~40-nは、以下の実施形態で説明するように、同一の通信インタフェースであってもよく、異なる通信インタフェースを含むものであってもよい。
図1Bにおいて、利用者が情報端末20に対して操作を行う際に用いられる周辺機器(例えばキーボードやマウス等のポインティングデバイス等)を中継装置10を介して情報端末20に接続するようにしてもよい。一方、情報端末20の周辺機器であるLAN(Local Area Network)アダプタ等のNIC(Network Interface Card)や、HDD(Hard Disk Drive)等は、中継装置10を介さずに情報端末20に直接接続される構成としてもよい。
特に制限されないが、図1Bにおいて、情報端末20は、各利用者に共通のアカウントが用いられ、最初にログインした後、例えばシャットダウンするまで、ログイン状態とされる。あるいは、情報端末20はログイン機能を有さない情報端末であってもよい。
中継装置10は、周辺機器30を操作して情報端末20を利用する利用者の認証を行う認証部11と、認証部11での認証結果に基づき、周辺機器30と情報端末20との間の通信を遮断させる制御を行う認証部11とコントローラ12を備えている。
本実施形態において、中継装置10は、情報端末20からは、1つの周辺機器として認識される構成とされる。
本実施形態において、中継装置10は、周辺機器30からは情報端末として認識される構成としてもよい。
複数の周辺機器30に接続された中継装置10は、それ自体が、情報端末20からは、前記複数の周辺機器30の機能を有する1つの複合型周辺機器として認識される構成としてもよい。
中継装置10において、コントローラ12は、認証部11での前記認証結果である利用者の属性等に基づき、周辺機器30が通信インタフェース40を介して情報端末20との間で送信又は受信する操作イベントの通過、又は遮断する制御を行うようにしてもよい。
中継装置10において、コントローラ12は、
・利用者の認証結果と、
・周辺機器30の種別、および、操作イベントの組み合わせに応じて、周辺機器30が通信インタフェース40を介して情報端末20との間で送信又は受信する操作イベントの通過、又は遮断する制御を行うようにしてもよい。コントローラ12は、情報端末20と周辺機器30の間での操作イベントを記憶部に記憶してする構成としてもよい。
中継装置10において、コントローラ12は、認証部11での認証結果に応じて(該認証結果に基づき、又は、該認証結果の出力タイミングで)、適切な操作イベントを、周辺機器30に代わって(代理で)生成し、情報端末20に送信する構成としてもよい。
中継装置10において、認証部11は利用者の認証履歴を記憶部に記憶する構成としてもよい。コントローラ12は、利用者の認証履歴と、操作イベント履歴を付き合わせることで、利用者が周辺機器で30行った操作内容を抽出(特定)するようにしてもよい。
中継装置10において、認証部11は、利用者の生体認証、例えば顔認証等の認証結果(生体認証結果)に基づき、利用者に対応するアクセス権限情報を特定するようにしてもよい。コントローラ12は、認証部11での利用者に対応するアクセス権限情報に基づき、情報端末20と前記利用者が操作する周辺機器30との間の信号の中継を制御する構成としてもよい。
中継装置10においてコントローラ12は、利用者のアクセス権限情報を越えた周辺機器30の操作を検出すると、前記操作を無効化するか、警報を発する構成としてもよい。
中継装置10に接続される周辺機器30がマウスやキーボード等の入力装置を含む場合、中継装置10のコントローラ12は、認証部11で取得された利用者のアクセス権限情報に基づき、情報端末20の表示装置の画面に表示される情報を制御するか(例えば表示情報の輝度を制御して画面上の一部の表示内容を見えなく(あるいは見づらく)するか、表示信号を遮断する等)、あるいは、マウスやキーボード等の入力装置による前記表示装置の画面(例えば特定エリア)からの入力(例えばマウスカーソル操作)や画面上に表示されるアイコン、ボタン等の操作を制御するようにしてもよい。
中継装置10において、認証部11は、好ましくは、予め定められた時間間隔で繰り返し認証を行うようにしてもよい。
複数の周辺機器30が接続される中継装置10において、コントローラ12は、複数の周辺機器30を、情報端末20から見て、単一の周辺機器に見えるように、コントロールプレーンの機器識別情報を書き換えた上で、情報端末20に通知する構成としてもよい。この場合、情報端末20は、複数の周辺機器30が接続される中継装置10を、複数の周辺機器30の各機能を併せ持つ1つの擬似的な複合デバイスとして認識する動作を行う。また、中継装置10のコントローラ12は、中継装置10に接続される前記複数の周辺機器30が例えば周辺機器A、Bから周辺機器A、Cに変更されるというように、構成機器の種別に変更がある場合、前記機器識別情報とは異なる機器識別情報を、情報端末20側に通知する構成としてもよい。この場合、情報端末20は、種別が変更された複数の周辺機器30が接続される中継装置10を、複数の周辺機器30の各機能を併せ持つ1つの擬似的な複合デバイスとして認識する動作を行う。
コントローラ12は、中継装置10に接続された1つ又は複数の周辺機器30の種別や組み合わせが変更された場合、情報端末20との間の通信インタフェース(中継装置10を介して情報端末20と周辺機器30とに接続される通信インタフェース)のリセットが行われた後、情報端末20による機器識別処理が再度実行されるように制御する構成としてもよい。
図2は、図1Bを参照して説明した中継装置10におけるアクセス制御動作の一例を説明する図である。図2を参照すると、認証部11は、情報端末20の利用者の認証を行う(ステップS1)。該認証結果がOKであれば(ステップS2のYES)、認証部11は認証された利用者の属性情報(アクセス権限)を取得する(ステップS3)。この場合、中継装置10は、認証用の登録データや利用者の所属するグループのアクセス権限等を予め登録したデータベース等に、通信手段を介してアクセスし、認証された利用者の属性情報(所属部署、役職、アクセス権限情報等)を取得するようにしてもよい。中継装置10は、取得した認証用の登録データや利用者の属性情報の対応を中継装置10内のメモリ等にキャッシュするようにしてもよい。
中継装置10のコントローラ12は、認証部11での認証結果である利用者の属性情報(アクセス権限等)に応じて、周辺機器30と情報端末20間のデータ転送の許可(通過)、不許可(遮断)等を制御する(ステップS4)。ステップS4において、中継装置10において、コントローラ12は、利用者の属性情報(アクセス権限)の範囲を超える操作を検出した場合、該操作を無効化するか、もしくは、該操作に対し、警告を発生するようにしてもよい。
認証部11での認証結果がNG(失敗)であれば(ステップS2のNO)、中継装置10は、利用者による情報端末20のアクセス操作を不許可とする。すなわち、周辺機器30と情報端末20間のデータの転送を不許可とする(ステップS5)。このため、当該利用者は、情報端末20を周辺機器30側から操作することはできない。
中継装置10において、図2のステップS1―S5の一連の処理は、好ましくは、予め定められた所定時間間隔(例えば1秒単位等)で実行するようにしてもよい。この場合、中継装置10において、図2のステップS1―S5の処理を実行後、内蔵されるタイマ(不図示)等により予め定められた所定時間が経過した時点で、再び、図2のステップS1の認証処理を実行し、認証結果に基づき、ステップS3-S4、又は、ステップS5が実行される。
実施形態によれば、中継装置10において、コントローラ12は、認証部11での利用者(ユーザ)の識別結果に基づき、周辺機器30の操作(所定の操作)を実行した利用者を特定可能とする構成としてもよい。例えば、中継装置10において、コントローラ12は、周辺機器30と情報端末20間で転送される信号を監視し該転送の時刻等と対応させて履歴(操作イベント履歴)をとり、認証部11での利用者の認証結果とその時刻の履歴(何時何分にある人物が識別されたという情報)に基づき、該利用者の実行した操作に対応する周辺機器30と情報端末20間の操作イベントを抽出し、該利用者の操作履歴を詳細に把握できる構成としてもよい。
図3は、本発明の例示的な第1の実施形態を説明する図であり、図1Bを参照して説明したシステム1Bの一例を模式的に説明する図である。この実施形態では、図1Bの通信インタフェース40としてUSB(Universal Serial Bus)を用い、情報端末20の周辺機器30としてUSBキーボード30-1、USBマウス30-2を用い、認証部11として、カメラ13による利用者50の顔認証を行う構成を模式的に例示する図である。なお、USBキーボード30-1、USBマウス30-2等はこれらを区別して参照しない場合、単にUSBデバイス30という。また参照符号40(通信インタフェース)をUSBインタフェースという。
認証部11は、カメラ13で撮像された画像データを取得し、該画像データから利用者50の顔検出を行う。認証部11は、検出された顔画像と、予め登録されている人物(例えば従業員、契約社員等)の写真画像とを照合し、カメラ13で撮像された利用者が、予め登録されている人物のうち、どの人物であるかを識別する。なお、カメラ13は、情報端末20に搭載されたカメラ(画面上部に内蔵されるWebカメラ)等であってもよい。この場合、認証部11は、情報端末20はカメラ13で撮像された画像データ(デジタルデータ)を所定の通信手段を介して取得する。
認証部11は、顔認証の結果、登録済みの人物に一致すると判別された利用者50に関して、予め登録されているアクセス権限を参照して、該利用者50の情報端末20に関するアクセス権限情報をコントローラ12に出力する。
利用者50の情報端末20に関するアクセス権限情報として、該利用者50が、情報端末20からのパラメータ設定入力等が許可されている管理グループに所属するか、又は、情報端末20からのパラメータ設定入力等が許可されていない閲覧グループに所属するか等、グループ単位に管理されるアクセス権限の情報であってもよい。あるいは、情報端末20を操作する機会のある利用者の人数が少数である場合には、利用者毎に、アクセス権限を設定するようにしてもよいことは勿論である。
特に制限されないが、利用者50のアクセス権限情報によるアクセス制限の指定としては、例えば、
a)情報端末20に対する操作が許可されていない(周辺機器30の全てに対する操作が不許可)、
b)周辺機器30単位での許可/不許可、
c)周辺機器30における操作種別毎に許可/不許可、
d)情報端末20の表示画面上の許可/不許可、
等のいずれか又は複数の組み合わせの制御を指示するものであってもよい。
このうち、a)では、中継装置10において、該利用者50によるUSBキーボード30-1、USBマウス30-2での操作は不許可とされる。
中継装置10において、例えば、認証部11で顔認証した結果、該利用者50が登録された人物に一致しない場合(図2のステップS5)等に、認証部11からコントローラ12に対して、このアクセス制限の指定が行われる。
b)では、中継装置10において、例えば該利用者50によるUSBキーボード30-1の操作が不許可とされる等の制御が行われる。
c)では、中継装置10において、例えば該利用者50によるUSBマウス30-2の操作について、
・ホイール(中央ボタン)操作(スクロール操作、キーボードのCtrlキーとともにフォントの大きさの拡大・縮小操作)、
・左ボタン操作(例えば選択または決定)、
・右ボタン操作(機能・メニューの呼び出し)
の許可、不許可の制御が操作毎に行われる。あるいは、USBキーボード30-1の場合、例えば、該利用者50によるキー入力のうちEnterキーの入力の不許可とする等の制御が行われる。
d)では、中継装置10において、例えば情報端末20の画面上でのある特定エリアでの操作、バー、ボタン等の所定のアイコンに対する、該利用者50による操作毎に、該操作の許可、不許可の制御が行われる。
認証部11は、カメラ13から画像データを取得し、画像データから顔検出を行った結果、例えば、
・情報端末20を操作する利用者の顔が検出できないか(不在か席を離れる)、
・顔検出された人物の顔特徴量が、顔特徴量を登録した複数の人物のだれとも一致しない、
・顔認証の結果、登録された人物と判定されたが、該人物は、情報端末20に対する操作が許可されていない、
場合等、該当する周辺機器30に関して、利用者50によるアクセスが不許可である旨をコントローラ12に指示する。コントローラ12は、周辺機器30での操作を無効化するか、不図示の警報装置(スピーカ、表示灯)から警報を通知するようにしてもよい。
図3において、中継装置10は、情報端末20に対しては周辺機器(擬似的なUSBデバイス)として動作し、周辺機器30(USBキーボード30-1、USBマウス30-2)に対してUSBホストとして動作する。中継装置10のコントローラ12は、認証部11での識別結果に基づき、情報端末20からのポーリングに対して、周辺機器30(USBキーボード30-1、USBマウス30-2)から中継装置10に転送されたデータの返送の有無やデータの変更等の制御を行う。
図4は、図3の中継装置10におけるコントローラ12の通信機能の一例を説明する図である。USB通信は、コントローラ12にて一旦終端される。コントロールプレーンでは、コントローラ12のUSBホスト機能から受け取った接続デバイス情報(中継装置に接続される複数のUSBデバイス30からのデバイスディスクリプタ等)から、疑似的な複合デバイス情報の生成(例えば、ベンダID(USBインプリメンターズ・フォーラムから各ベンダに発行される)、プロダクトID(ベンダ各社がプロダクト毎にIDを自由に割り当てることができる)の書き換え)が行われ、コントローラ12内のUSBデバイス機能のデバイス情報として用いられ、情報端末20からのデバイス情報取得要求に対して、コントローラ12内のUSBデバイス機能は、擬似的な複合デバイス情報を情報端末20に送信する。擬似的な複合デバイス情報を受信した情報端末20は、コントローラ12内のUSBデバイス機能を、一つの疑似的な複合USBデバイスとして認識する。
データプレーンでは、コントローラ12内のUSBホスト機能、USBデバイス機能間でデータの転送・遮断が、認証結果に応じてデバイス毎に行われる。ポーリングは、それぞれのホスト・デバイス間で実施され、そのタイミングが同期している保証はない。コントローラ12は、配下のUSBデバイス30より受け取ったポーリング結果を、情報端末20のUSBホストから次回ポーリングを受けるまで保持しておくという動作をする。
以下、中継装置10におけるコントロールプレーン、データプレーンでの動作をさらに説明する。USBにおいて、USBデバイスとUSBホスト間の転送方式として、コントロール転送、インタラプト転送、アイソクロナス転送、バルク転送がある。このうち、コントロール転送はUSBデバイスの初期設定等に用いられる。インタラプト転送は、例えばUSBキーボードやUSBマウスなどのUSBデバイスに対してUSBホストから該USBデバイスへの割り込みによる少量の入力データの転送に用いられる。アイソクロナス転送は、スピーカ、マイク、電話、ビデオカンファレンスなどのように、音や動画を扱う装置において、ある決まった周期に、一定量のデータを転送するための転送に用いられる。バルク転送はプリンタやスキャナ等の大量データの転送に用いられる。
例えば、図5Aに示すように、USBキーボード30-1とUSBマウス30-2がそれぞれ中継装置10に1台ずつ接続されている場合に、中継装置10のコントローラ12は、情報端末20からみて、中継装置10のUSBデバイス機能が、USBキーボード30-1とUSBマウス30-2と機能の両方を持つ単一の擬似的な複合デバイス(composite device)として見えるように設定する。
図5Bに、模式的に示すように、USBにおいて、デバイスの構成はコンフィギュレーションディスクリプタによって表され、デバイスの機能は、インタフェースディスクリプタによって表される。図5Cに模式的に示すように、USB複合デバイスは、このインタフェースを複数持つことによって、複数の機能のデバイスとして動作する。本実施形態では、中継装置10のコントローラ12は、情報端末20から転送されるデバイスディスクリプタ要求(GET_DESCRIPTOR (DEVICE))に対して返送するデバイスディスクリプタの情報要素であるベンダID、プロダクトIDを書き換え、中継装置10が図5Cの構成を有するものであることを、情報端末20に通知する。ベンダIDとプロダクトIDは、接続されたUSBデバイスを特定するために用いられる。
次に、コントロールプレーンにおける中継装置10の動作(コントロール転送)の一例について説明する。前述したように、例えば複数のUSBデバイスが中継装置10に接続されている場合、中継装置10のコントローラ12は、情報端末20からみて、複数のUSBデバイスのそれぞれの機能を併せ持つ単一の擬似的な複合デバイス(composite device)として見えるように、情報端末2に対してデバイス情報(擬似的な複合デバイス情報)を通知する。USBデバイスにおいて、デバイス構成はデバイスディスクリプタやコンフィギュレーションディスクリプタ等によって表され、デバイスの機能はインタフェースディスクリプタ等によって表される。図5Cに模式的に示すように、複合USBデバイスは、インタフェースを複数持つことによって複数の機能のデバイスとして動作する。
中継装置10のコントローラ12の書き換え機能121は、情報端末20からコントロール転送でコントローラ12のUSBデバイス機能に送信されるデバイスディスクリプタ要求(GET_DESCRIPTOR (DEVICE))に対して、デバイスディスクリプタの情報要素であるベンダID、プロダクトIDを書き換え、擬似的な複合USBデバイスのデバイスディスクリプタを生成する。生成された擬似的な複合USBデバイスのデバイスディスクリプタは、コントローラ12のUSBデバイス機能を介して情報端末20に通知される。
図6は、本実施形態におけるUSBのプラグアンドプレイ(Plug and Play)接続手順の概略を説明する模式図である。例えば電源がオン状態の中継装置10のUSBポートにUSBキーボード30-1とUSBマウス30-2を接続する場合、図4のコントローラ12内のUSBホスト機能が、USBデバイス30に対して、図6におけるUSBホストとして動作するようにしてもよい。なお、特に制限されないが、中継装置10は、例えば商用交流電源から直流に変換するACアダプタ(AC-DCコンバータ)、直流電圧から所望の直流電圧を取り出すDC-DCコンバータ等によりDC電源電圧が内部回路に供給されるものとする。この場合、情報端末20から見て、図4のコントローラ12内のUSBデバイス機能は電源を内蔵している自己電源供給型(Self Powered)として機能する。
中継装置10のコントローラ12内のUSBホスト機能は、USBポートへUSBデバイス30のケーブルが接続されたこと(USBの2本のデータ信号線D+、D-のどちらかが3.3Vの状態)を検出すると(S11のアタッチ検出)、図4のコントローラ12内のUSBホスト機能は、1回目のリセット(RESET)を出力し(USBの2本のデータ信号線D+、D-をともに一定期間Lowレベルとする)(S12)、コントロール転送を開始する。
図4のコントローラ12内のUSBホスト機能は、デバイスディスクリプタ取得要求(GET_DESCRIPTOR(DEVICE))をUSBデバイスに送信する(S13)。USBデバイス(図4のUSBキーボード30等USBデバイス機能)は、デバイスディスクリプタの最初の8バイトを返送する(S21)。その直後、コントローラ12内のUSBホスト機能は、2回目のリセット(RESET)を掛ける(S14)。
図4のコントローラ12内のUSBホスト機能はアドレス設定要求(SET_ADDRESS)を送信する(S15)。USBデバイス(図4の30)は指定されたアドレスを設定し(S22)、図4のコントローラ12内のUSBホスト機能とUSBデバイス(図4の30)間はこのアドレスで通信する。続いて、図4のコントローラ12内のUSBホスト機能は、デバイスディスクリプタ取得要求(GET_DESCRIPTOR(DEVICE))を送信し(S16)、USBデバイス(図4の30)はデバイスディスクリプタの残り(ベンダID(idVendor)、プロダクトID(idProduct)を含む)を送信する(S23)。つづいて、図4のコントローラ12内のUSBホスト機能は、コンフィギュレーション取得要求(GET_DESCRIPTOR (CONFIGURATION))を送信し(S17)、USBデバイス(図4の30)はコンフィギュレーションを返す(S24)。
図4のコントローラ12内のUSBホスト機能は、コンフィギュレーション設定要求を送信し(S18)、USBデバイス30でのコンフィギュレーションが完了すると(S25)、中継装置10との間でデータの通信が可能となる。ただし、中継装置10が情報端末20に接続されていない場合、中継装置10はUSBデバイス30に対してポーリングを行わない構成としてもよい。
ここで、デバイスディスクリプタ(各デバイスに1つ、18バイト固定)は、USBクラス (bDeviceClass)、USBサブクラス (bDeviceSubClass)、ベンダID(idVendor)、プロダクトID(idProduct)、コンフィギュレーションディスクリプタの数の情報を含む。コンフィギュレーションディスクリプタは、デバイスの構成情報を記述し、構成の番号やインタフェース(インタフェースディスクリプタ)の数を含む。インタフェースディスクリプタは、デバイスの機能を表すためのディスクリプタであり、インタフェースの番号、USBクラス、サブクラス、プロトコル情報、エンドポイントの数を含む。エンドポイントディスクリプタ(7バイト固定)は、エンドポイントのデータ転送種別、転送方向、パケットサイズ、ポーリング時間を含む。
エンドポイントは、USBホストとUSBデバイス間の論理的な通信路の端点(終端)であり、FIFO(First In First Out)等のバッファからなる。情報端末20(USBホスト)は、データ通信を開始する前のコンフィギュレーション設定において、USBデバイスが持つエンドポイントの数とそれぞれのエンドポイントの転送方式、転送方向を決め、USBホスト機能に設定しておく。USBホストのバッファとUSBデバイスのエンドポイント(FIFOバッファ)同士が論理的な通信線であるパイプで接続される。実際に通信が始まると、USBデバイス側のコントローラは、USBバス上を流れるパケットを識別し、それぞれのエンドポイントに振り分ける。エンドポイント0はコントロール転送にだけ用いられる。
図4のコントローラ12の書き換え機能121は、USBデバイス30から取得したディスクリプタ情報に基づき、デバイスディスクリプタのベンダID、プロダクトIDの書き換えを行い、さらに、図5Cの複合USBデバイスのコンフィギュレーションに対応するデバイスディスクリプタ、コンフィギュレーションディスクリプタ、インタフェースディスクリプタ等を作成する。なお、中継装置10に1台のUSBデバイス30のみが接続されている場合、コントローラ12は、疑似的に1台のUSBデバイスとして情報端末20に通知するようにしてもよい。このとき、中継装置10のコントローラ12はUSBデバイス30から取得したディスクリプタのプロダクトIDを書き換えないようにしてもよい。
そして、中継装置10のUSBケーブル(プラグ)を情報端末20のUSBポートに接続した場合、情報端末20は図6のUSBホスト、中継装置10のコントローラ12内のUSBデバイス機能は、図6のUSBデバイスとして動作する。アタッチを検出してリセットを行った情報端末20は、図6のS13―S18を行い、中継装置10のコントローラ12内のUSBデバイス機能は、図6のS21-S25の処理を行う。すなわち、コントローラ12内のUSBデバイス機能は、情報端末20からのデバイスディスクリプタ要求(図6のS16)に対して、擬似的な複合USBデバイスのベンダID(idVendor)、プロダクトID(idProduct)に書き換えたデバイスディスクリプタを返送する(S23)。また、コントローラ12内のUSBデバイス機能は、情報端末20からのコンフィギュレーションディスクリプタ要求(S17)に対して、中継装置10のコンフィギュレーションとして、複合デバイスに対応するインタフェース数に設定したコンフィギュレーションディスクリプタを情報端末20に返送する。
情報端末20のオペレーティングシステム(OS)は、ベンダID(idVendor)、プロダクトID(idProduct)を、該USBデバイスに対するデバイスドライバを探し対応するデバイスドライバを起動する。なお、USBキーボード30-1とUSBマウス30-2はHID(Human Interface Device)デバイスクラスであるため、情報端末20では、標準デバイスドライバが各機器用にロードされる。以降、情報端末20、中継装置10間の対応するエンドポイント、中継装置10とUSBデバイス30間の対応するエンドポイント間での通信が行われる。
USBバス上において、データはフレームと呼ばれる単位(1msec(millisecond)周期)で転送される。図7Aに示すように、1フレームは、SOF(Start Of Frame)パケットで始まり、複数のトランザクションからなる。各トランザクションはトークンパケット、データパケット、ハンドシェイクパケットの各USBパケットからなる。
トークンパケットは、
・同期用のSYNCデータ(8ビット)、
・パケット種別を示すPID(Packet Identifier)(8ビット)、
・デバイスアドレス(ADDR)(7ビット)、
・エンドポイント(ENDP)(4ビット)、
・エラー検出用のCRC5(Cyclic Redundancy Check)(5ビット)からなる。
PIDは、
・IN(ホストへの転送)、
・OUT(ホストからデバイスのエンドポイントへの転送)、
・SOF(Start Of Frame;フレーム開始)、
・SETUP(コントロール転送)
のいずれかからなる。
データパケットは、SYNC、PID、CRC16(16ビットのCRC)からなる。
ハンドシェイクパケットのPIDには、ACK(デ―タ正常受信)、NAK(データ転送不成功)、STALL(エンドポイントのストール:デバイス側動作不能等)等がある。
インタラプト転送は、前述したように、USBキーボードやUSBマウス(HIDデバイス)など、少量の入力データ等の転送に用いられる。すなわち、USB2.0やUSB1.1等では、USBキーボード30-1、USBマウス30-2等のUSBデバイス30が能動的に操作されたことを情報端末20(USBホスト)に通知するのではなく、情報端末20が、巡回的な問い合わせ(ポーリング)を行うことにより、一定間隔でUSBキーボード30-1やUSBマウス30-2に問い合わせ、USBキーボード30-1やUSBマウス30-2が操作されたか確認する(USBキーボード30-1やUSBマウス30-2のエンドポイント(FIFOバッファ)にデータがあるか否か問い合わせる)。USBデバイス30の該エンドポイントにデータがある場合、USBデバイス30は、該データを情報端末20に送信する。なお、USB3.0ではポーリングは廃止され、USBデバイス30がデータを転送したい場合、USBデバイス30側からUSBホスト側に要求を出して通信を開始することもできる。
インタラプト入力転送の場合、例えば、図7Bに示すように、USBホストである情報端末20は、PIDが入力(IN)のトークンパケットをUSBデバイスに送信し、USBデバイスはUSBホストの割り込み(Interrupt)に関連したデータを含むデータパケット(DATA)をUSBホストに送信する。USBホストは、データパケットの受信に成功すると、肯定応答(ACK)をUSBデバイスに返す。なお、USBデバイスは、ホストからのINトークンパケット受信時(ポーリング時)、INトークンパケットで指定されたエンドポイント(割り込み先エンドポイント)に保留データがない場合、否定応答(NAK)をUSBホストに返す。また、USBデバイス側の割り込み先エンドポイントでエラーが発生している場合、USBデバイスは、エラー(STALL:デバイス側動作不能)を返す。さらに、USBホストからのINトークンパケットがエラーのとき、USBデバイスは、何も返さない。
インタラプト出力転送の場合、図7Cに示すように、USBホストである情報端末20は、PIDが出力(OUT)のトークンパケットを送信する。つづいて、USBホストは、1つ又は複数のデータパケット(DATA)をUSBデバイスに送信する。USBデバイスは、USBホストから送信された1つ又は複数のデータパケットの受信に成功すると、USBホストに対して、肯定応答(ACK)を返す。一方、USBデバイスは、USBホストからのデータパケットの受信に失敗すると(エンドポイントのバッファが空でない等)、USBホストに対して、否定応答(NAK)を返し、USBホストに対して、データパケットの再送を要求する。また、USBデバイスのエンドポイントのエラー等で動作不能の場合、USBデバイスは、USBホストに対してSTALLを返す。
図4において、中継装置10のコントローラ12内のUSBホスト機能からポーリング(例えばINトークンパケット)を受けたUSBデバイス30は、該USBデバイス30のエンドポイント(バッファ)に保持されているデータを含むデータパケットをコントローラ12のUSBホスト機能に返送する。
中継装置10のコントローラ12内のUSBホスト機能は、該USBデバイス30からのデータをコントローラ12内の通過・遮断制御機能122に受け渡す。
コントローラ12内の通過・遮断制御機能122は、コントローラ12内のUSBホスト機能から受け取ったデータを、認証部11での認証結果に基づき、例えば、
・コントローラ12内のUSBデバイス機に転送するか、
・破棄する
制御動作を行う。
コントローラ12内の通過・遮断制御機能122は、コントローラ12内のUSBホスト機能から受け取ったデータを転送する場合、コントローラ12内のUSBデバイス機能に該データを受け渡し、該データはコントローラ12内のUSBデバイス機能内のエンドポイントに設定される。
情報端末20からのポーリング(例えばINトークンパケット)を受けた中継装置10では、コントローラ12のUSBデバイス機能のエンドポイントにデータがある場合、該データをデータパケットにて返送する。なお、中継装置10のUSBホスト機能では、USBデバイス30からのデバイス接続情報(コンフィギュレーションディスクリプタ(インタフェース数を規定)、インタフェースディスクリプタ(エンドポイント数を規定)およびエンドポイントディスクリプタ)、情報端末20のUSBホスト機能では、コントローラ12内のUSBデバイス機能からのデバイス接続情報(コンフィギュレーションディスクリプタ(インタフェース数を規定)、インタフェースディスクリプタ(エンドポイント数を規定)およびエンドポイントディスクリプタ)によって、それぞれのUSBデバイス(USBデバイス機能)のエンドポイントの情報を得ることできる。
このように、ポーリングは、情報端末20(USBホスト)と中継装置10のUSBデバイス機能の間と、中継装置10のUSBホスト機能とUSBデバイス30との間でそれぞれ行われる。このため、コントローラ12内のUSBデバイス機能は、コントローラ12内のUSBホスト機能からポーリングに対して配下のUSBデバイス30から送信され、通過・遮断制御機能122を介して受信したデータを、情報端末20のUSBホストから次回ポーリングを受けるまでの間、保持しておく動作を行う。
また、コントローラ12の通過・遮断制御機能122は、コントローラ12内のUSBホスト機能との間でやり取りしたデータ、コントローラ12内のUSBデバイス機能との間でやり取りしたデータ、日時(時刻情報)、処理内容(USBデバイス30からのデータ廃棄等)、さらに、必要に応じて、コントローラ12内のUSBホスト機能から受け取ったデータから抽出可能な場合、該データから抽出されたUSBデバイス30での操作等を、履歴として記録するようにしてもよい。
コントローラ12の通過・遮断制御機能122は、認証部11にて現在認証されている利用者のアクセス権限が、USBデバイス30の特定の操作(USBマウスの特定のボタン操作)を不許可とするものである場合、例えば以下の制御を行うようにしてもよい。
USBデバイス30に対するポーリングに対してUSBデバイス30からのデータを受信したコントローラ12内のUSBホスト機能から該データを受信すると、通過・遮断制御機能122は該データを解析する。解析の結果、
・該データが、不許可の操作に該当しない場合、通過・遮断制御機能122は、該データをコントローラ12のUSBデバイス機能に転送する、
・該データが、不許可の操作に該当する情報(コード)を含む場合、通過・遮断制御機能122は、例えばデータを書き換えた上でコントローラ12内のUSBデバイス機能に転送する、
・該データが、不許可の操作に該当する情報(コード)を含む場合、通過・遮断制御機能122は、該データを破棄する、
等の制御を行うようにしてもよい。
前述したように、コントローラ12の通過・遮断制御機能122は、コントローラ12内のUSBホスト機能からのポーリングに対してUSBデバイス30から受信したデータを、認証部11での認証結果、すなわち利用者の属性に応じて、返送するか、遮断したりする制御を行う。
認証部11が利用者の認証の結果取得する属性情報としては、例えば、識別情報(ID)、所属部署や役職、アクセス権限情報等を用いてもよい。アクセス権限情報は、周辺機器に対する読み込み、書き込み等に関するアクセスの許可、不許可を制御するための情報であり、例えば、複数の利用者をアクセス権限に応じてグループ化し、所属するグループ(管理者グループ、閲覧者グループ等)で設定するようにしてもよい。
コントローラ12の通過・遮断制御機能122は、認証部11での認証結果に加え、USBデバイス30の種別や操作の内容の組み合わせに応じて、コントローラ12内のUSBホスト機能で受信したデータのコントローラ12内のUSBデバイス機能への転送(通過)、又は該データの廃棄(遮断)を行うようにしてもよい。
例えば、認証部11による認証結果から、利用者が閲覧者グループ(情報端末20の表示の閲覧が許可されているグループ)に属すると判定された場合、コントローラ12の通過・遮断制御機能122は、USBマウス30-2からコントローラ12内のUSBホスト機能を介して受信したデータのみをコントローラ12内のUSBデバイス機能へ転送(通過)するようにしてもよい。すなわち、この場合、コントローラ12の通過・遮断制御機能122は、USBキーボード30-1からコントローラ12内のUSBホスト機能を介して受信したデータを廃棄する。
あるいは、コントローラ12の通過・遮断制御機能122は、操作者がグループAに属すると判定された場合、USBマウス30-2からコントローラ12内のUSBホスト機能を介して受信したデータの中身を解析し、マウス操作のうち、例えば右クリック操作の操作データのみを選択的を廃棄(遮断)するようにしてもよい。
なお、USBマウス30-2、USBキーボード30-1等のHID(Human Interface Device)クラスでは、レポートと呼ばれる単位でデータを転送する。例えば、マウスの場合、
・X軸移動量、
・Y軸移動量、
・移動方向と前回データ出力時からの移動量、
・ボタンの状態(左右中央の各ボタンが押されているかどうかの情報)等といった情報をまとめたレポートを、コントローラ12内のUSBホスト機能からのポーリングに応答して返送する。
コントローラ12の通過・遮断制御機能122は、認証部11で取得されたアクセス権限情報が、マウスの右クリック操作のみを許可する場合、USBマウス30-2からコントローラ12内のUSBホスト機能を介して受信したデータを解析する。解析の結果、
・該データに含まれるレポートのボタンの状態が右ボタンの押下状態である場合に、通過・遮断制御機能122は、該データをコントローラ12内のUSBデバイス機能に転送(通過)し、
・データに含まれるレポートのボタン状態が他の状態を示すものである場合、通過・遮断制御機能122は、該データを廃棄(遮断)するようにしてもよい。
あるいは、コントローラ12の通過・遮断制御機能122は、認証部11により、利用者が別のグループBに属すると判定された場合、情報端末20の表示画面における特定のエリアのみでUSBマウス30-2のクリック操作を許可するようにしてもよい。
その際、コントローラ12の通過・遮断制御機能122は、マウスカーソル(マウスポインタ)が表示画面における特定のエリア上に位置する場合にのみ、USBマウス30-2からのクリック操作の操作信号データをコントローラ12内のUSBデバイス機能に転送(通過)し、特定のエリア以外の領域上でのUSBマウス30-2からのクリック操作信号データを遮断するようにしてもよい。この場合、コントローラ12の通過・遮断制御機能122は、情報端末20から表示画面の領域情報、マウスカーソル(マウスポインタ)の現在の位置情報を取得しておき、コントローラ12のUSBホスト機能によるポーリングに対してUSBマウス30-2から返送されるレポートに含まれるマウスの移動量からマウスカーソル(マウスポインタ)の画面上での位置にマッピングし、画面上でのマウスカーソル(マウスポインタ)の位置情報を取得するようにしてもよい。
あるいは、コントローラ12の通過・遮断制御機能122は、認証部11により、利用者がさらに別のグループCに属すると判定された場合、USBキーボード30-1から返送されるキーコードを監視し、例えばEnterキーの入力を遮断するようにしてもよい。すなわち、コントローラ12の通過・遮断制御機能122は、USBキーボード30-1からのデータが入力されたキーコード列の最後にEnterキーを含むデータである場合、該データを廃棄するようにしてもよい。あるいは、コントローラ12の通過・遮断制御機能122は、USBキーボード30-1から返送されたキー入力データのうち、Enterキーを削除したデータを、USBキーボード30-1のキー入力として、コントローラ12内のUSBデバイス機能に転送(通過)するようにしてもよい。
また、コントローラ12の通過・遮断制御機能122は、操作イベントを履歴(ログ)として記憶しておき、認証部11による認証結果のタイミングで、適切な操作イベントをUSBデバイス30の代理で発生するようにしてもよい。例えば、認証部11により認証された利用者によるUSBキーボード30-1のあるキーが押下(キーダウンイベント発生)された状態で、認証部11での認証結果に基づくアクセス権限が、USBキーボード30-1からのデータの通過から遮断に切り替わった場合、コントローラ12の通過・遮断制御機能122は、例えば当該遮断のタイミングで、当該キーのキーアップイベント相当情報をUSBキーボード30-1に代わって代理で生成し、生成した当該キーのキーアップイベント相当情報をコントローラ12内のUSBデバイス機能に転送するようにしてもよい。
なお、PS/2キーボード等では、キーの押下あるいは解放を検出すると、キーに固有のスキャンコードをCPU(Central Processing Unit)に送る。キーが押されたときに発生するスキャンコードをメイク(make)コード、離されたときに発生するものをブレイク(break)コードという。オートリピートの処理をキーボード側で行う場合、キーが押されている間、メイクコードを周期的に発生するが、キーを離した場合に、ブレイクコードが送信される。一方、USBキーボードでは、USBホストに、どのキーが離されたかを送るのではなく(ブレイク(break)コードはない)、USBホストからのポーリングに対してキーを離した後の状態を送ることになる。USBホストはUSBキーボードから送信された状態から、当該キーが離されたことを判定する。
中継装置10において、コントローラ12の通過・遮断制御機能122は、認証部11で認証結果による利用者のアクセス権限が、USBキーボード30-1のアクセス権限がアクセス許可から不許可に切り替わったタイミングで、操作イベント履歴を参照して、該タイミングの直前までキーダウンイベント状態であると判定した場合、当該キーのキーアップイベント相当情報(例えば当該キーと異なるキー(ダミーキー:例えば当該キーと異なる制御キー等が押された状態のデータ)を代理で生成し、コントローラ12内のUSBデバイス機能に転送するようにしてもよい。
情報端末20からのポーリングに対して、コントローラ12内のUSBデバイス機能は、コントローラ12の通過・遮断制御機能122が代理で生成したデータを返送する。このデータを受信した情報端末20では、当該キーが離されたこと(キーアップイベントの発生)を認識する。
なお、認証部11による利用者の認証は、好ましくは、繰り返し(例えば1秒に1回)行う。
図8は、図3の認証部11、コントローラ12の機能構成をブロック図にて例示した図である。認証部11は、画像データ取得部111、顔認証部112、アクセス権限取得部113を備えている。画像データ取得部111は、カメラ13で撮像された画像データを取得する。なお、カメラ13は、動画像で撮像した画像データをカメラ13内の巡回バッファ等に格納し、画像データ取得部111で動画像から例えば1フレームの画像データを抽出するようにしてもよい。あるいは、画像データ取得部111が、定期的に(例えば1秒間隔)、カメラ13に対して撮像開始コマンドを送信し、カメラ13から静止画像を取得するようにしてもよい。
顔認証部112は、画像データ取得部111から画像データ(例えば1フレーム分の画像データ)を取得し、該画像データから顔検出を行う。顔認証部112は、画像データ(1フレーム分の画像データ)に対して、例えば水平、垂直等のフィルタを用いてエッジを抽出することで、顔の輪郭(エッジ)を検出する。次に、顔認証部112は、検出した顔画像の特徴量を抽出する(例えば顔の特徴量の1つとして目間距離等を抽出してもよい)。
そして、顔認証部112は、抽出された顔特徴量と、予め登録データ記憶部16に記録されている登録データの人物毎(例えば従業員、契約社員、部外者等)の顔写真画像データ(顔特徴量)とを比較して、類似度を算出し、カメラ13で撮像された利用者が、予め登録されている人物のうち、どの人物であるかを識別する。登録データ記憶部16はRAM、EEPROM等の半導体メモリで構成してもよいし、HDD、SSD(Solid State Drive)等で構成してもよい。
顔認証部112は、利用者の顔認証が成功すると、アクセス権限取得部113に、顔認証された利用者の識別情報(ID)を出力する。
顔認証部112は、利用者の識別情報(ID)に基づき、予め登録データ記憶部16に記録されている登録データ(従業員の属性データ等)を参照して、該利用者の情報端末20に関するアクセス権限情報(例えば情報端末20からのパラメータ設定等が許可されているグループに所属するか、情報端末20からのパラメータ設定等が許可されていないグループに所属するか等)を抽出する。
図9Aに、登録データ記憶部16に記憶される登録データ161の一例を模式的に示す。なお、図9Aでは、簡単のため、登録データ記憶部16に記憶される登録データ161として、
・顔写真画像データ(顔特徴量)と、
・従業員(利用者)の属性データ(氏名、所属、役職等)、
・従業員(利用者)又は従業員(利用者)が属するグループのアクセス権限情報、
を1つのエントリとして例示しているが、登録データ161のデータ構造はかかる構成に制限されるものでないことは勿論である。例えば、顔写真画像データ(顔特徴量)、従業員の属性データ(所属、役職等)、該所属や役職等に対応するアクセス権限情報は、それぞれ別々の記憶装置に分散されている構成であってもよいことは勿論である。
また、顔写真画像データ(顔特徴量)、従業員の属性データ(所属、役職等)、アクセス権限情報は、不図示の管理データベースに記憶しておき、中継装置10の認証部11が顔認証を行う場合に、管理データベースから情報を取得するようにしてもよい。
あるいは、中継装置10の認証部11が管理データベースから情報を取得し、顔認証が成功した利用者に関する識別情報、顔写真画像データ(顔特徴量)、アクセス権限情報を、中継装置10の登録データ記憶部16にキャッシュとして保持するようにしてもよい。こうすることで、認証部11が、情報端末20を頻繁に操作する利用者や情報端末20に長時間にわたって操作する利用者の顔認証を行う(例えば1秒毎に行う)にあたり、中継装置10内の登録データ記憶部16にキャッシュされた登録データにヒットした情報を利用することができ、管理データベースへのアクセスを省略し顔認証処理の高速化に貢献する。顔写真画像データ(顔特徴量)として、顔写真(デジタル画像データ)であってもよいし、顔特徴量を記憶したものであってもよいし、顔写真と顔特徴量の両方を記憶するようにしてもよい。
なお、アクセス権限取得部113は、顔認証が成功した利用者のID、日時情報(タイムスタンプ)、アクセス権限を認証履歴記憶部17に記憶するようにしてもよい。その際、アクセス権限取得部113は同一利用者が連続して情報端末20の操作を行う場合、利用者に紐付けて認証開始時刻と認証失敗時刻とを対として記憶するようにしてもよい。認証履歴記憶部17は、RAM、EEPROM等の半導体メモリで構成してもよいし、HDD、SSD(Solid State Drive)等で構成してもよい。
さらに、図8を参照すると、コントローラ12は、図4を参照して説明した書き換え機能(書き換え部)121、通過・遮断制御機能(通過・遮断制御部)122と、USBデバイス機能123、USBホスト機能124とを備えている。通過・遮断制御機能(通過・遮断制御部)122は、認証部11での認証結果を受け、USBホスト機能124がUSBデバイス30から受信したデータを廃棄(遮断)するか、USBデバイス機能123への転送(通過)を制御する。
デバイス側接続部14はUSBコネクタ(ポート)等の物理的な通信インタフェースである。情報端末側接続部15はUSBケーブル等の物理インタフェースである。
書き換え機能121は、情報端末20からのデバイス情報取得要求に対して、USBデバイス30からのデバイス情報(デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インタフェースディスクリプタ)を書き換えたデバイス情報を情報端末20に送信する。
通過・遮断制御機能122は、認証部11により現在認証されている利用者のアクセス権限が、例えばUSBデバイス30の操作を不許可とするものである場合、USBホスト機能部124からのポーリングに対して、USBデバイス30から返送されたデータを廃棄し、操作イベント履歴記憶部18に、当該USBホスト機能124のポーリングのイベントと、日時(時刻情報)、処理内容(廃棄)等を記録してもよい。操作イベント履歴記憶部18は、RAM、EEPROM等の半導体メモリで構成してもよいし、HDD、SSD(Solid State Drive)等で構成してもよい。
なお、コントローラ12は、認証部11からのアクセス権限に基づき、通過・遮断制御機能122でUSBデバイス30からのデータパケットを廃棄したとき、アラーム装置(不図示)からアラームの通報(警報音、表示灯(赤ランプ)のフラッシュ等)を出力するようにしてもよい。
同様に、図2のステップS5で、認証部11で認証されない人物(例えば部外者)が情報端末20をアクセスしようとする場合にも、コントローラ12はアラームを通知するようにしてもよい。なお、警報装置(不図示)は、中継装置10内部に備えてもよいし、中継装置10と外付けで配置するようにしてもよい。
図9Bは、図8の認証履歴記憶部17に記憶される認証履歴171の一例を説明する図である。図9Bを参照すると、認証履歴171は、図4の認証部11での利用者の認証結果とその時刻、および該利用者のアクセス権限の履歴が模式的に示されている。なお、認証履歴記憶部17では、認証日時情報として、当該利用者が認証され続けた時間区間(認証開始時刻から席を立つなどして認証不能になるまでの時刻)を記録するようにしてもよい。
図9Cは、通過・遮断制御機能122によって、操作イベントを時刻情報と対応させて記録した操作イベント履歴記憶部18の一例を説明する図である。特に制限されないが、操作イベント履歴記憶部18に記憶される操作イベント履歴181は、履歴番号に対応させて、
・通過・遮断制御機能122がコントローラ12内のUSBホスト機能124との間でやり取りしたデータ、
・通過・遮断制御機能122がコントローラ12内のUSBデバイス機能123との間でやり取りしたデータ、
・日時情報(time stamp)、
・通過・遮断制御機能122でのデータの処理内容(通過、廃棄)、
・さらに、通過・遮断制御機能122がコントローラ12内のUSBホスト機能から受け取ったデータを解析した結果、該データの元となったUSBデバイス30での操作が抽出可能である場合、当該操作の各欄を備えたテーブルとして記憶される。
操作イベント履歴181において、周辺機器の操作欄には、通過・遮断制御機能122でUSBデバイス30からのデータを廃棄(遮断)した場合に、該データを解析して得られた操作を記録してしてもよい。図9Cの例では、履歴番号Nにおいて、USBデバイス30からのデータ(DATAN)が数値列+Enterキー入力を含み、通過・遮断制御機能122において、USBデバイス30におけるパラメータ入力と判定し、アクセス権限を越えているためデータを遮断していることが記録されている。なお、通過・遮断制御機能122において、該データを解析してもUSBデバイス30の該当する操作の抽出ができない場合には、その旨を記録するようにしてもよい。通過・遮断制御機能122において、USBデバイス30からのデータをコントローラ12内のUSBデバイス機能に転送する場合にも、該データを解析してもUSBデバイス30の該当する操作の抽出するようにしてもよい。
コントローラ12は、管理者等からの指示に応じて、操作イベント履歴記憶部18に記憶された操作イベント履歴181と、認証履歴記憶部17に記憶された認証履歴171とを付き合わせ、例えば、トランザクションNのポーリングに対してデータパケットを廃棄していることを検出し、その時点で操作している利用者のIDがAであることを検出する構成としてもよい。
コントローラ12は、USBデバイス30から受信したデータを、通過・遮断制御機能122で廃棄したことを、情報端末20、あるいは、不図示の管理サーバ等に通知するようにしてもよい。図9Cの操作イベント履歴181の例では、閲覧グループに所属する利用者Aが、数値列とEnterキーを入力し(すわなち、パラメータ等をUSBキーボード30-1から入力し)、中継装置10で該データを廃棄したことがわかる。
なお、コントローラ12は、認証部11からのアクセス権限に基づき、USBデバイス30からのデータを廃棄したとき、中継装置10の警報装置(不図示)にアラーム通報を出力する構成とした場合、該アラーム通報に利用者ID情報や氏名、USBデバイスでの操作内容等を含ませるようにしてもよい。
さらに、コントローラ12は、アラーム通報の内容を、廃棄したパケットに関連付けて、操作イベント履歴記憶部18に記録するようにしてもよい。
なお、電源オフ状態の中継装置10の2つのUSBポートにUSBデバイス30(USBキーボード30-1とUSBマウス30-2)が接続されており、情報端末20のUSBポートに中継装置10のUSBケーブルを接続しても、中継装置10の電源をオンとしないかぎり、コントローラ12内のUSBデバイス機能は、電源投入状態(Powered)とはならない。電源オフ状態の中継装置10に接続されているバスパワー型(Bus Powered)のUSBデバイス(USBキーボード30-1とUSBマウス30-2)も電源投入状態(Powered)とはならない。
USBキーボード30-1とUSBマウス30-2が接続され、情報端末20のUSBポートに接続されている中継装置10の電源をオンしたときに、中継装置10は電源投入状態(Powered)となり、情報端末20と中継装置10間のリセット、中継装置10とUSBデバイス30間のリセットが行われる。中継装置10のコントローラ12のUSBホスト機能は、USBキーボード30-1とUSBマウス30-2からデバイス情報(デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インタフェースディスクリプタ等)を取得し、コントローラ12の書き換え機能121は、前述した手順で、USBキーボード30-1とUSBマウス30-2の機能を併せ持つ擬似的な複合デバイス情報を生成し、コントローラ12のUSBデバイス機能は、情報端末20からのデバイス情報取得要求に対して擬似的な複合デバイス情報(デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インタフェースディスクリプタ等)を返送する。擬似的な複合デバイスのデバイスディスクリプタでは、プロダクトID欄(idProduct)の書き換えが行われ、コンフィギュレーションディスクリプタのインタフェース数が2とされ、2つのインタフェースディスクリプタが作成される。
また、電源オン状態の中継装置10にUSBデバイスが何も接続されていない状態で、中継装置10を情報端末20のUSBポートに接続した場合、リセットののち、情報端末20からのデバイスディスクリプタ要求(GET_DESCRIPTOR(DEVICE))が中継装置10に転送される(図6のS13)。中継装置10はデバイスディスクリプタを情報端末20に返さないようにしてもよい。このため、図6の2回目のリセット(図6のS14)、アドレス設定要求(SET_ADDR)(図6のS15)、残りのデバイスディスクリプタ要求(GET_DESCRIPTOR(DEVICE))(図6のS16)、コンフィギュレーションディスクリプタ要求(GET_DESCRIPTOR(CONFIGURATION))(図6のS17)、コンフィギュレーション設定要求(SET_CONFIGURATION)(図6のS18)は行われない。この場合、情報端末20において、中継装置10のデバイスドライバは不要である。
この状態で、中継装置10に例えば1台のUSBデバイス30が接続されると、中継装置10のコントローラ12のUSBホスト機能は、中継装置10とUSBデバイス30間のリセットを行い、USBデバイス30からデバイス情報(デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インタフェースディスクリプタ等)を取得する。情報端末20と中継装置10間でもリセットが行われ、中継装置10のコントローラ12のUSBデバイス機能は、情報端末20からのデバイス情報取得要求に対して、擬似的に1つのUSBデバイス30としてのデバイス情報を情報端末20に返送する。
その後、中継装置10にさらに別のUSBデバイス30が接続された場合、中継装置10は、再度、リセット等を行い、複数のUSBデバイス30からデバイス情報(デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インタフェースディスクリプタ等)を取得し、複数のUSBデバイス30を1つの擬似的な複合USBデバイスとしたデバイスディスクリプタ(プロダクトID欄:idProduct)に書き換え、コンフィギュレーションディスクリプタ(インタフェース数)を2とし、2つのインタフェースディスクリプタを作成し、情報端末20からのデバイス情報取得要求に対して返送するようにしてもよい。
上記した例では、中継装置10が自己電源供給型(Self Powered)である場合を説明したが、中継装置10に接続する周辺機器であるUSBデバイス30がマウスやキーボード等消費電流の比較的少ないデバイスである場合、情報端末20のUSBポートから電源供給(例えば1つのUSBポートあたりの電流500mA(milliampere)、電力2.5W)を受けるバスパワー型としてもよい。この場合、図8の各種記憶部16、17、18は、消費電流(消費電力)の点から、HDD等は用いず、例えばEEPROM等で構成してもよい。
中継装置10がバスパワー型の場合において、中継装置10のUSBケーブルを情報端末20のUSBポートに接続すると、中継装置10は電源投入状態(Powered)となる。ただし、リセット処理後の情報端末20からのデバイスディスクリプタ取得要求に対して、中継装置10は、自身のデバイスディスクリプタを返送しない。電源オンの状態となった中継装置10にUSBでデバイス30接続されると、自己電源供給型(Self Powered)の電源オンの中継装置10が情報端末20のUSBポートに接続している状態で、中継装置10(電源オン状態)にUSBデバイス30を接続した場合の前記手順と同じとなる。
中継装置10がバスパワー型の場合において、バスパワー型の複数のUSBデバイス30(USBキーボード30-1、USBマウス30-2)がUSBポートに接続されている中継装置10のUSBケーブルを情報端末20のUSBポートに接続すると、中継装置10は電源投入状態(Powered)となる。この場合も、中継装置10のコントローラ12のUSBホスト機能は、USBデバイス30(USBキーボード30-1、USBマウス30-2)からデバイス情報(デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インタフェースディスクリプタ等)を取得し、中継装置10のコントローラ12のUSBデバイス機能は、情報端末20からのデバイス情報取得要求に対して、擬似的に複合USBデバイスとしてのデバイス情報を情報端末20に返送する。
図10A、図10Bは、異なる構成の擬似的な複合USBデバイスを例示する図である。図10Aでは、USBキーボード30-1とUSBマウス30-2を1つの疑似複合デバイスとし、図10BではUSBキーボード30-1と2つのUSBマウス30-2、30-3のセットを1つの疑似的な複合USBデバイスとしている。図10A、図10Bでは、中継装置10が、デバイスディスクリプタに設定するプロダクトIDは互いに異なる。なお、2つのUSBマウス30-2、30-3に対して、OSは1つのマウスドライバを起動する。このため、二つのマウス対して画面のマウスポインタは1つであり、二つのマウスの操作は1つのマウスの操作となる。
図11Bは、USBキーボード30-1、USBマウス30-2が接続されている中継装置10(図11A)に対して、新たに別のUSBデバイス(USBマウス)30-3を接続する場合を説明する図である。中継装置10では、USBキーボード30-1、USBマウス30-2を、1つの擬似的な複合USBデバイス(プロダクトID=001)として、そのデバイスディスクリプタ、コンフィギュレーションディスクリプタ等を設定済みとする。
この状態で、中継装置10にUSBマウス30-3が接続されると、コントローラ12内のUSBホスト機能により、中継装置10とUSBデバイス30との間のUSBバスのリセットが実行され、複数のUSBデバイス30(USBキーボード30-1、USBマウス30-2、USBマウス30-3)のデバイス情報を取得し、USBキーボード30-1、USBマウス30-2、30-3の複数の機能を備えた1つの擬似的な複合USBデバイスの擬似的なデバイス情報を生成する。例えばコントローラ12の書き換え機能121では、擬似的なデバイス情報として、デバイスディスクリプタ(プロセスID=002))を生成し、コンフィギュレーション(インタフェース数=3)、3つのインタフェースディスクリプタを生成し、情報端末20からのデバイス情報取得要求に対して送信する。情報端末20では、デバイスディスクリプタ(プロセスID=002)に対応したデバイスドライバを起動する。
一方、図11Bの構成から、USBマウス30-3を中継装置10から引き抜いた場合、バスリセットが行われ、USBキーボード30-1、USBマウス30-2からなる1つの擬似的な複合USBデバイスのデバイス情報への書き換えが行われる。すなわち、コントローラ12の書き換え機能121では、デバイスディスクリプタ(プロセスID=001)、コンフィギュレーション(インタフェース数=2)の設定が行われる。
図12は、図1Bの構成において、周辺機器30として、情報端末20からみて入力デバイス(周辺機器30-1、30-2)と出力デバイス(周辺機器30-4)を接続した構成を例示する図である。通信インタフェース40-0、40-2と、通信インタフェース40-3、40-4は異なるインタフェースであってもよい。
図12において、出力デバイス(周辺機器30-4)はUSBデバイスであってもよいことは勿論である。この場合、図8においてコントローラ12内の通過・遮断制御機能122は、コントローラ12内のUSBデバイス機能123で受信した情報端末20からのデータを、認証部11における認証結果に基づき、コントローラ12内のUSBホスト機能124への転送(通過)、廃棄(遮断)を制御する。認証部11における認証結果(アクセス権限)がアクセス許可の場合、コントローラ12内のUSBホスト機能124は、通過・遮断制御機能122(図8参照)から受け取ったデータを、出力デバイス(USBデバイス30-4)に対してOUTトークンパケットを送信し、続いてデータパケットを送信する。なお、図12において、周辺機器(30-4)がUSB出力デバイスである場合、USBホスト、USBデバイス間の転送モードは、バルク転送であってもよい。もしくは、連続的かつリアルタイム性を必要とする出力USBデバイス等の場合、アイソクロナス転送であってもよい。
図13Aは、図11の周辺機器30-4として、例えばLCD(Liquid Crystal Display)デバイスを接続した構成例を示す図である。LCDデバイス30-4は、USBディスプレイであっても、他のインタフェースディスプレイであってもよい。
中継装置10のコントローラ12は、情報端末20からLCDデバイス30-4へ送信される映像情報を中継装置10でキャプチャし、認証部11で取得された利用者のアクセス権限情報に応じて、LCDディスプレイ(LCDディスプレイデバイス)30-4へ表示する映像の内容、あるいは輝度等を可変に制御するようにしてもよい。例えば、コントローラ12は、情報端末20からの映像情報を解析し、予め設定されたキーワードに関連する情報欄の表示を、利用者の所属部署、役職等に基づくアクセス権限に応じて、非表示(黒塗り表示)等するようにしてもよい。
図13Bは、情報端末20の表示部(LCDディスプレイ21)からの映像出力を分配器22で分岐して中継装置10に入力し、認証部11で識別されたアクセス権限に基づき、USBキーボード30-1、USBマウス30-2の入力を制御するようにしてもよい。中継装置10と分配器22のインタフェースは、例えばVGA(Video Graphics Array)、DVI(Digital Visual Interface)、HDMI(High-Definition Multimedia Interface:登録商標)等であってもよい。
図14A、図14Bは、図13Bにおける中継装置10の制御の一例を説明する図である。中継装置10は、情報端末20の表示部(LCDディスプレイ21)からの映像出力を入力し、画面(フレーム)情報を生成(更新)する。図14Aの画面において、コントローラ12は、マウスポインタ(マウスカーソル)212の形状をパタン認識するようにしてもよい。情報端末20の表示部(LCDディスプレイ21)に図14Aの画面が表示されている状態で、「パラメータ設定画面」が選択されると、図14Bの画面に更新される。マウスポインタ(マウスカーソル)212が更新ボタンの上に位置している場合、パラメータ設定のアクセス権限のない利用者の場合、USBマウス30-2の入力を遮断し、さらに、情報端末20の表示部(LCDディスプレイ21)の画面(映像信号)をオフする(画面に映像情報を表示しない)ようにしてもよい。
第2の実施形態として、前記第1の実施形態の中継装置10の機能の一部をUSBハブの一部の機能として実装したものである。第2の実施形態のシステム構成は、例えば図1B、図3を参照して説明した構成と同様とされる。また、第2の実施形態の中継装置10における周辺機器30に対する利用者のアクセス制御動作は、基本的に、図2を参照して説明した動作と同様とされる。
図15は、第2の実施形態を説明する図であり、前記第1の実施形態の説明で参照した図4に対応している。第2の実施形態において、中継装置10のコントローラ12は、コントロール転送の内容を覗き見て、どのようなUSBデバイスが接続されているか(どのデータ転送パイプにどのような機器が接続されているか)を把握することが可能である。中継装置10において、USBデバイスのデバイス接続情報(例えばデバイスディスクリプタ等)の書き換えは行わない。
図15の中継装置10では、中継装置10に接続する複数のUSBデバイス30を単一の疑似複合デバイスに集約することはせず、各USBデバイス30からのデバイスディスクリプタにおけるベンダID、プロダクトID等はそのまま情報端末20に転送される。すなわち、情報端末20からのデバイスディスクリプタ取得要求、コンフィギュレーションディスクリプタ取得要求やアドレス設定要求等(コントロール転送による要求)は、中継装置10のコントローラ12を介してUSBデバイス30にそのまま転送され、各要求に対するUSBデバイスからのデータパケット(各ディスクリプタ)もそのまま情報端末20転送される。
また、通過・遮断制御機能125は、データ転送の通過・遮断(ポーリングデータの書き換え)は、データ転送パイプのデータに対し、認証結果に応じて実行される。
情報端末20からは、中継装置10は透明(transparent)である。例えば情報端末20からUSBデバイス30へのデータの問い合わせ(ポーリング:INトークンパケット)又はOUTトークンパケットはそのままUSBデバイス30に転送されるようにしてもよい。
コントローラ12の通過・遮断制御機能125は、認証部11での認証結果に基づき、現在認証されている利用者のアクセス権限が、例えばUSBデバイス30の操作を不許可とするものである場合、情報端末20からUSBデバイス30へのデータの問い合わせ(ポーリング:INトークンパケット)に対して、USBデバイス30から返送されたデータパケットを廃棄するようにしてよい。
また、コントローラ12の通過・遮断制御機能125は、認証部11での認証結果に基づき、現在認証されている利用者のアクセス権限が、例えばUSBデバイス30の操作を不許可とするものである場合、コントローラ12の通過・遮断制御機能125は、当該USBデバイス30に対する情報端末20からのポーリング(INトークンパケット)やOUTトークンパケットを廃棄するように制御してもよい。
あるいは、コントローラ12の通過・遮断制御機能125は、情報端末20からのポーリング(INトークンパケット)に対して、例えばSTALL(デバイス側動作不能)を情報端末20に返すようにしてもよい。
なお、コントローラ12の通過・遮断制御機能125は、トランザクション単位に、操作イベント履歴を記録するようにしてもよい。特に制限されないが、通過・遮断制御機能125は、操作イベント履歴として、例えば、
・情報端末20からのINトークンパケット又はOUTトークンパケット等、
・日時情報(time stamp)、
・該ポーリングに対してUSBデバイス30から返送されたデータパケット、
・通過・遮断制御機能125による該データパケットの通過、廃棄等、あるいはハンドシェイクパケットSTALL返送等の処理内容、
・USBデバイス30から返送されたデータを解析して得られたUSBデバイス30での操作等を記録するようにしてもよい。
認証部11での認証結果が、利用者によるUSBデバイス30の操作のうちある特定操作を不許可とする場合、コントローラ12において、情報端末20からのポーリング(INトークンパケット)を受信すると、通過・遮断制御機能125は、データを解析し、例えば以下のような制御を行うようにしてもよい(ただし、以下に制限されない)。
・該データが、不許可の操作に該当しない場合、該データを含むデータパケットを情報端末20に返送する。
・該データが、不許可の操作に該当する情報(コード)を含む場合、データを書き換えた上で情報端末20に返送する。
・該データが、不許可の操作に該当する情報(コード)を含む場合、情報端末20からの該INトークンパケットに対するハンドシェイクパケットとしてSTALL(デバイス側動作不能)を返すか、情報端末20からのINトークンパケットに対して何も返さない。
また、コントローラ12の通過・遮断制御機能125は、認証部11での認証結果が、利用者によるUSBデバイス30(例えば表示デバイス等の出力デバイス)での情報閲覧を不許可とする場合、情報端末20からの該USBデバイス30に対するOUTトークンパケットに続くデータパケットを廃棄するようにしてもよい。あるいは、コントローラ12の通過・遮断制御機能125では、USBデバイス30(例えば表示デバイス)での表示データを、例えば利用者が判別不能又は見づらくするようにぼかしフィルタリング処理等の加工をした上でUSBデバイス30(例えば表示デバイス)に送信するようにしてもよい。
上記実施形態で説明した中継装置10は、例えば図16に示すように、コンピュータ装置500に実装してもよい。図16を参照すると、コンピュータ装置500は、プロセッサ(CPU(Central Processing Unit)、データ処理装置)501、半導体メモリ(例えばRAM(Random Access Memory)、ROM(Read Only Memory)、又は、EEPROM(Electrically Erasable and Programmable ROM)等)、HDD(Hard Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)等の少なくともいずれかを含む記憶装置502と、通信インタフェース503を備えている。記憶装置502に記憶されたプログラムを実行することで、前記実施形態で説明した中継装置10の認証部11、コントローラ12の機能を実現するようにしてもよい。通信インタフェース503は、図1Bの通信インタフェース40-0を含む。
なお、図16において、コンピュータ装置500は、プロセッサ501に接続する表示装置(アラーム通報用のLED(Light Emitting Diode)等の表示装置)を備えるか、通信インタフェース503が、外部の該表示装置に接続するNIC(Network Interface Card)等の通信インタフェースを含む構成としてもよい。あるいは、図14において、コンピュータ装置500は、プロセッサ501に接続する不図示の警報装置(警報音発生用スピーカ装置)を備えるか、外部の警報装置504(警報音発生用スピーカ装置、表示灯等)に接続するNIC等の通信インタフェース503’を含む構成としてもよい。また、通信インタフェース503は、従業員データを管理する管理データベース等に接続するNIC等の通信インタフェースを含む構成としてもよい。
上記実施形態の変形例として、利用者(従業員)が職場で所持する従業員カード(例えばRFID(Radio Frequency Identifier)カード、タグ)等であってもよい。この場合、利用者の顔写真画像データ、利用者ID、所属、役職、アクセス権限情報とともに、従業員カード(RFIDカード)に予め記憶しておき、認証部11では、従業員カード(RFIDカード)から、RFIDリーダで登録データを読み取り、カメラ13で撮像された利用者の顔画像と登録データを照合し、一致した場合、本人と判定し、アクセス権限情報をコントローラ12に出力するようにしてもよい。あるいは、顔認証以外にも、他の生体認証(例えば虹彩(Iris)認証等)を用いてもよい。
なお、上記実施形態において、通信インタフェースはUSBに制限されるものでないことは勿論である。例えば通信インタフェースをBluetooth(登録商標)等の無線LAN(Local Area Network)とし、周辺機器30のキーボード、マウス、LCDディスプレイを、例えばBluetoothキーボード、Bluetoothマウス、Bluetoothディスプレイ等としてもよい。
なお、上記の特許文献1の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
上記した実施形態は例えば以下のように付記される(ただし、以下に制限されない)。
(付記1)
情報端末と、前記情報端末と通信接続される1つ又は複数の周辺機器との間に接続される操作認証中継装置であって、
前記情報端末からは周辺機器として認識され、
前記周辺機器からは情報端末として認識され、
前記周辺機器を操作して前記情報端末を利用する利用者の認証を行う認証手段と、
前記認証手段による前記利用者の認証結果に基づき、前記周辺機器と前記情報端末との間の信号の中継を制御する制御手段を備えている、ことを特徴とする操作認証中継装置。
(付記2)
複数の周辺機器に接続された前記操作認証中継装置は、前記情報端末からは、前記複数の周辺機器のそれぞれの機能を具備する1つの複合型の周辺機器として認識される、ことを特徴とする付記1に記載の操作認証中継装置。
(付記3)
前記制御手段は、前記認証手段での前記認証結果である前記利用者の属性に基づき、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、ことを特徴とする付記1又は2に記載の操作認証中継装置。
(付記4)
前記制御手段は、さらに前記認証結果と、前記周辺機器の種別、および、前記操作イベントの組み合わせに応じて、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、ことを特徴とする付記1乃至3のいずれかに記載の操作認証中継装置。
(付記5)
前記制御手段は、前記情報端末と前記周辺機器の間での操作イベントを記憶部に記憶してする、ことを特徴とする付記1乃至4のいずれかに記載の操作認証中継装置。
(付記6)
前記認証手段からの前記認証結果に基づき、又は、前記認証手段からの前記認証結果の出力のタイミングで、前記周辺機器に代わって操作イベントを生成し、前記情報端末に送信する、ことを特徴とする付記1乃至5のいずれかに記載の操作認証中継装置。
(付記7)
前記認証手段が、前記利用者の認証履歴を記憶部に記憶し、
前記制御手段は、前記利用者の認証履歴と、前記操作イベント履歴を付き合わせることで、前記利用者が前記周辺機器で行った操作内容を抽出する、ことを特徴とする付記5又は6に記載の操作認証中継装置。
(付記8)
前記認証手段は、前記利用者の生体認証結果に基づき、前記利用者に対応するアクセス権限情報を特定し、
前記制御手段は、前記利用者に対応するアクセス権限情報に基づき、前記情報端末と前記利用者が操作する前記周辺機器との間の信号の転送を制御する、ことを特徴とする付記1乃至7のいずれかに記載の操作認証中継装置。
(付記9)
前記制御手段は、前記利用者のアクセス権限情報を越えた前記周辺機器の操作を検出すると、前記操作を無効化するか、警報を発する、の少なくともいずれかを行う、ことを特徴とする付記1乃至8のいずれかに記載の操作認証中継装置。
(付記10)
前記周辺機器が表示装置と入力装置を含み、前記制御手段は、前記利用者のアクセス権限情報に基づき、前記表示装置の画面に表示される情報、前記入力装置による前記表示装置の画面からの入力を制御する、ことを特徴とする付記1乃至9のいずれかに記載の操作認証中継装置。
(付記11)
前記認証手段は、予め定められた時間間隔で繰り返し認証を行う、ことを特徴とする付記1乃至10のいずれかに記載の操作認証中継装置。
(付記12)
前記制御手段は、前記中継装置に接続された複数の周辺機器を、前記情報端末から見て、単一の周辺機器に見えるように、コントロールプレーンの機器識別情報を書き換えた上で、前記情報端末に通知する、ことを特徴とする付記1乃至11のいずれかに記載の操作認証中継装置。
(付記13)
前記制御手段は、前記情報端末から見て単一の周辺機器として見えるように機器識別情報を書き換えた複数の周辺機器について、前記複数の周辺機器の構成機器の種別が異なる場合、前記機器識別情報とは異なる機器識別情報を、前記情報端末側に通知する、ことを特徴とする付記1乃至12のいずれかに記載の操作認証中継装置。
(付記14)
前記制御手段は、前記中継装置に接続された1つ又は複数の周辺機器の組み合わせが変更となった場合、前記情報端末との間の通信インタフェースのリセットの後、前記情報端末による機器識別処理が再度実行されるように制御する、ことを特徴とする付記1乃至13のいずれかに記載の操作認証中継装置。
(付記15)
情報端末と通信接続される複数の周辺機器が接続可能とされ、前記周辺機器と前記情報端末との間の通信を中継するハブ(例えばUSBハブ)を含む操作認証中継装置であって、
前記周辺機器を操作して前記情報端末を利用する利用者の認証を行う認証手段と、
前記認証手段による前記利用者の認証結果に基づき、前記周辺機器と前記情報端末との間の信号の中継を制御する制御手段を備えている、ことを特徴とする操作認証中継装置。
(付記16)
前記制御手段は、前記認証手段での前記認証結果である前記利用者の属性に基づき、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、ことを特徴とする付記15に記載の操作認証中継装置。
(付記17)
前記制御手段は、さらに前記認証結果と、前記周辺機器の種別、および、前記操作イベントの組み合わせに応じて、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、ことを特徴とする付記15又は16に記載の操作認証中継装置。
(付記18)
前記制御手段は、前記情報端末と前記周辺機器の間での操作イベントを記憶部に記憶してする、ことを特徴とする付記15乃至17のいずれかに記載の操作認証中継装置。
(付記19)
前記認証手段からの前記認証結果に基づき、又は、前記認証手段からの前記認証結果の出力のタイミングで、前記周辺機器に代わって操作イベントを生成し、前記情報端末に送信する、ことを特徴とする付記15乃至18のいずれかに記載の操作認証中継装置。
(付記20)
前記認証手段が、前記利用者の認証履歴を記憶部に記憶し、
前記制御手段は、前記利用者の認証履歴と、前記操作イベント履歴を付き合わせることで、前記利用者が前記周辺機器で行った操作内容を抽出する、ことを特徴とする付記18又は19に記載の操作認証中継装置。
(付記21)
前記認証手段は、前記利用者の生体認証結果に基づき、前記利用者に対応するアクセス権限情報を特定し、
前記制御手段は、前記利用者に対応するアクセス権限情報に基づき、前記情報端末と前記利用者が操作する前記周辺機器との間の信号の転送を制御する、ことを特徴とする付記15乃至20のいずれかに記載の操作認証中継装置。
(付記22)
前記制御手段は、前記利用者のアクセス権限情報を越えた前記周辺機器の操作を検出すると、前記操作を無効化するか、警報を発する、の少なくともいずれかを行う、ことを特徴とする付記15乃至21のいずれかに記載の操作認証中継装置。
(付記23)
前記周辺機器が表示装置と入力装置を含み、前記制御手段は、前記利用者のアクセス権限情報に基づき、前記表示装置の画面に表示される情報、前記入力装置による前記表示装置の画面からの入力を制御する、ことを特徴とする付記15乃至22のいずれかに記載の操作認証中継装置。
(付記24)
前記認証手段は、予め定められた時間間隔で繰り返し認証を行う、ことを特徴とする付記15乃至23のいずれかに記載の操作認証中継装置。
(付記25)
情報端末と、前記情報端末に通信接続され、前記情報端末に情報を入力する1つ又は複数の周辺機器との間に接続される中継装置による操作認証中継方法あって、
前記情報端末からは周辺機器として認識され、
前記周辺機器からは情報端末として認識され、
前記周辺機器を操作して前記情報端末を利用する利用者の認証を行い、
前記利用者の認証結果に基づき、前記利用者による前記周辺機器の操作信号の前記情報端末への中継を制御する、ことを特徴とする操作認証中継方法。
(付記26)
複数の周辺機器に接続された前記操作認証中継装置は、前記情報端末からは、前記複数の周辺機器のそれぞれの機能を具備する1つの複合型の周辺機器として認識される、ことを特徴とする付記25に記載の操作認証中継方法。
(付記27)
前記認証結果である前記利用者の属性に基づき、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、ことを特徴とする付記25又は26に記載の操作認証中継方法。
(付記28)
さらに前記認証結果と、前記周辺機器の種別、および、前記操作イベントの組み合わせに応じて、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、ことを特徴とする付記25乃至27のいずれかに記載の操作認証中継方法。
(付記29)
前記情報端末と前記周辺機器の間での操作イベントを記憶部に記憶してする、ことを特徴とする付記25乃至28のいずれかに記載の操作認証中継方法。
(付記30)
前記認証結果に基づき、又は、前記認証結果の出力のタイミングで、前記周辺機器に代わって操作イベントを生成し、前記情報端末に送信する、ことを特徴とする付記25乃至29のいずれかに記載の操作認証中継方法。
(付記31)
前記利用者の認証履歴を記憶部に記憶し、
前記利用者の認証履歴と、前記操作イベント履歴を付き合わせることで、前記利用者が前記周辺機器で行った操作内容を抽出する、ことを特徴とする付記29又は30に記載の操作認証中継方法。
(付記32)
前記利用者の生体認証結果に基づき、前記利用者に対応するアクセス権限情報を特定し、
前記利用者に対応するアクセス権限情報に基づき、前記情報端末と前記利用者が操作する前記周辺機器との間の信号の転送を制御する、ことを特徴とする付記25乃至31のいずれかに記載の操作認証中継方法。
(付記33)
前記利用者のアクセス権限情報を越えた前記周辺機器の操作を検出すると、前記操作を無効化するか、警報を発する、の少なくともいずれかを行う、ことを特徴とする付記25乃至32のいずれかに記載の操作認証中継方法。
(付記34)
前記周辺機器が表示装置と入力装置を含み、前記利用者のアクセス権限情報に基づき、前記表示装置の画面に表示される情報、前記入力装置による前記表示装置の画面からの入力を制御する、ことを特徴とする付記25乃至33のいずれかに記載の操作認証中継方法。
(付記35)
予め定められた時間間隔で繰り返し認証を行う、ことを特徴とする付記25乃至34のいずれかに記載の操作認証中継方法。
(付記36)
前記中継装置に接続された複数の周辺機器を、前記情報端末から見て、単一の周辺機器に見えるように、コントロールプレーンの機器識別情報を書き換えた上で、前記情報端末に通知する、ことを特徴とする付記25乃至35のいずれかに記載の操作認証中継方法。
(付記37)
前記情報端末から見て単一の周辺機器として見えるように機器識別情報を書き換えた複数の周辺機器について、前記複数の周辺機器の構成機器の種別が異なる場合、前記機器識別情報とは異なる機器識別情報を、前記情報端末側に通知する、ことを特徴とする付記25乃至36のいずれかに記載の操作認証中継方法。
(付記38)
前記中継装置に接続された1つ又は複数の周辺機器の組み合わせが変更となった場合、前記情報端末との間の通信インタフェースのリセットの後、前記情報端末による機器識別処理が再度実行されるように制御する、ことを特徴とする付記25乃至37のいずれかに記載の操作認証中継方法。
(付記39)
情報端末と通信接続される複数の周辺機器が接続可能とされ、前記周辺機器と前記情報端末との間の通信を中継するハブ機能による操作認証中継方法であって、
前記周辺機器を操作して前記情報端末を利用する利用者の認証を行い、
前記認証手段による前記利用者の認証結果に基づき、前記周辺機器と前記情報端末との間の信号の中継を制御する、ことを特徴とする操作認証中継方法。
(付記40)
情報端末と、前記情報端末に通信接続され、前記情報端末に情報を入力する1つ又は複数の周辺機器との間に接続される操作認証中継装置を構成するコンピュータに、
前記情報端末からは周辺機器として認識され、前記周辺機器からは情報端末として認識されるように制御する処理と、
前記周辺機器を操作して前記情報端末を利用する利用者の認証を行う認証処理と、
前記利用者の認証結果に基づき、前記利用者による前記周辺機器の操作信号の前記情報端末への中継を制御する制御処理と、
を実行させるプログラム。
(付記41)
複数の周辺機器に接続された前記操作認証中継装置が、前記情報端末からは、前記複数の周辺機器のそれぞれの機能を具備する1つの複合型の周辺機器として認識されるように制御する処理を前記コンピュータに実行させる付記40に記載のプログラム。
(付記42)
前記制御処理は、前記認証処理での前記認証結果である前記利用者の属性に基づき、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、付記40又は41に記載のプログラム。
(付記43)
前記制御処理は、さらに前記認証結果と、前記周辺機器の種別、および、前記操作イベントの組み合わせに応じて、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、付記40乃至42のいずれかに記載のプログラム。
(付記44)
前記制御処理は、前記情報端末と前記周辺機器の間での操作イベントを記憶部に記憶してする、付記40乃至43のいずれかに記載のプログラム。
(付記45)
前記認証処理からの前記認証結果に基づき、又は、前記認証処理からの前記認証結果の出力のタイミングで、前記周辺機器に代わって操作イベントを生成し、前記情報端末に送信する、付記40乃至44のいずれかに記載のプログラム。
(付記46)
前記認証処理が、前記利用者の認証履歴を記憶部に記憶し、
前記制御処理は、前記利用者の認証履歴と、前記操作イベント履歴を付き合わせることで、前記利用者が前記周辺機器で行った操作内容を抽出する、付記44又は45に記載のプログラム。
(付記47)
前記認証処理は、前記利用者の生体認証結果に基づき、前記利用者に対応するアクセス権限情報を特定し、
前記制御処理は、前記利用者に対応するアクセス権限情報に基づき、前記情報端末と前記利用者が操作する前記周辺機器との間の信号の転送を制御する、付記40乃至46のいずれかに記載のプログラム。
(付記48)
前記制御処理は、前記利用者のアクセス権限情報を越えた前記周辺機器の操作を検出すると、前記操作を無効化するか、警報を発する、の少なくともいずれかを行う、付記40乃至47のいずれかに記載のプログラム。
(付記49)
前記制御処理は、前記周辺機器が表示装置と入力装置を含み、前記制御処理は、前記利用者のアクセス権限情報に基づき、前記表示装置の画面に表示される情報、前記入力装置による前記表示装置の画面からの入力を制御する、付記40乃至48のいずれかに記載のプログラム。
(付記50)
前記認証処理は、予め定められた時間間隔で繰り返し認証を行う、付記40乃至49のいずれかに記載のプログラム。
(付記51)
前記制御処理は、前記中継装置に接続された複数の周辺機器を、前記情報端末から見て、単一の周辺機器に見えるように、コントロールプレーンの機器識別情報を書き換えた上で、前記情報端末に通知する、付記40乃至50のいずれかに記載のプログラム。
(付記52)
前記制御処理は、前記情報端末から見て単一の周辺機器として見えるように機器識別情報を書き換えた複数の周辺機器について、前記複数の周辺機器の構成機器の種別が異なる場合、前記機器識別情報とは異なる機器識別情報を、前記情報端末側に通知する、付記40乃至51のいずれかに記載のプログラム。
(付記53)
前記制御処理は、前記中継装置に接続された1つ又は複数の周辺機器の組み合わせが変更となった場合、前記情報端末との間の通信インタフェースのリセットの後、前記情報端末による機器識別処理が再度実行されるように制御する、付記40乃至52のいずれかに記載のプログラム。
(付記54)
情報端末と通信接続される複数の周辺機器が接続可能とされ、前記周辺機器と前記情報端末との間の通信を中継するハブを構成するコンピュータに、
前記周辺機器を操作して前記情報端末を利用する利用者の認証を行う認証処理と、
前記認証手段による前記利用者の認証結果に基づき、前記周辺機器と前記情報端末との間の信号の中継を制御する制御処理と、を実行させるプログラム。
(付記55)
前記制御処理は、前記認証処理での前記認証結果である前記利用者の属性に基づき、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、付記54に記載のプログラム。
(付記56)
前記制御処理は、さらに前記認証結果と、前記周辺機器の種別、および、前記操作イベントの組み合わせに応じて、前記周辺機器が通信インタフェースを介して前記情報端末との間で送信又は受信する操作イベントの通過、又は遮断する、付記54又は55に記載のプログラム。
(付記57)
前記制御処理は、前記情報端末と前記周辺機器の間での操作イベントを記憶部に記憶してする、付記54乃至56のいずれかに記載のプログラム。
(付記58)
前記認証処理からの前記認証結果に基づき、又は、前記認証処理からの前記認証結果の出力のタイミングで、前記周辺機器に代わって操作イベントを生成し、前記情報端末に送信する、付記54乃至57のいずれかに記載のプログラム。
(付記59)
前記認証処理が、前記利用者の認証履歴を記憶部に記憶し、
前記制御処理は、前記利用者の認証履歴と、前記操作イベント履歴を付き合わせることで、前記利用者が前記周辺機器で行った操作内容を抽出する、付記57又は58に記載のプログラム。
(付記60)
前記認証処理は、前記利用者の生体認証結果に基づき、前記利用者に対応するアクセス権限情報を特定し、
前記制御処理は、前記利用者に対応するアクセス権限情報に基づき、前記情報端末と前記利用者が操作する前記周辺機器との間の信号の転送を制御する、付記54乃至59のいずれかに記載のプログラム。
(付記61)
前記制御処理は、前記利用者のアクセス権限情報を越えた前記周辺機器の操作を検出すると、前記操作を無効化するか、警報を発する、の少なくともいずれかを行う、付記54乃至60のいずれかに記載のプログラム。
(付記62)
前記制御処理は、前記周辺機器が表示装置と入力装置を含み、前記制御処理は、前記利用者のアクセス権限情報に基づき、前記表示装置の画面に表示される情報、前記入力装置による前記表示装置の画面からの入力を制御する、付記54乃至61のいずれかに記載のプログラム。
(付記63)
前記認証処理は、予め定められた時間間隔で繰り返し認証を行う、付記54乃至62のいずれかに記載のプログラム。