安全なデータ伝送を提供するためのシステム及び方法
ユーザによって起動されたローカルコンピュータ装置上のアプリケーションプログラムによる認証に基づいて、入力されたデータを暗号化することを含む実施例を実現するシステム及び方法を提供する。ユーザによって生成された暗号化済み入力データは、遠隔コンピュータ装置に伝送されるために、ローカルコンピュータ装置と関連したネットワークコミュニケーションインタフェースに送られる。遠隔コンピュータは、受け取ったデータを復号化し、復号化された入力データに基づいて、最初の復号化されたデータに関連する暗号化された応答データを生成する。暗号化された応答データは、遠隔コンピュータからローカルコンピュータに送られ、暗号化された応答データは、ネットワークコミュニケーションインタフェースを通じてローカルコンピュータに受信され、復号化される。ローカルコンピュータは、復号化された応答データをディスプレイに表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本特許文書の開示の一部には、著作権保護を受ける題材が含まれる。この著作権所有者は、この特許文書あるいは特許開示のいずれかが特許商標庁のファイルあるいは記録文書に掲載されているときには、その複製に対する異議を有しないが、そうでないときには、すべての著作権を完全に保有するものである。
【0002】
本発明は、一般には所望の通信モードに合致させるために、更に詳しくは、安全な通信が必要であるか、あるいは、安全でない通信が必要であるかに基づいて、安全通信路、あるいは、非安全通信路をもたらすために、通信路を切り換えるためのシステム及び方法に関する。
【発明の開示】
【課題を解決するための手段】
【0003】
本発明のある実施形態によれば、データを通信するための方法が提供される。この方法は、1つ以上の入力装置からデータを受信し、第1のコンピュータから第1の通信モードが選択されたことを示す第1の指示を受信した場合、第1のコンピュータへデータを伝送すること含んでもよい。このデータは、第1のコンピュータから第2の通信モードが選択されたことを示す第2の指示を受信した場合、第2のコンピュータへ伝送されてもよい。
【0004】
本発明の別の実施形態によれば、第1のコンピュータは、ユーザが第1のコンピュータにおいて第1のアプリケーションプログラムを起動したことに応じて、第1の指示を送信してもよい、それによって、第1のコンピュータは、ユーザが第1のコンピュータにおいて第2のアプリケーションプログラムを起動したことに応じて、第2の指示を送信してもよい。
【0005】
本発明の別の実施形態によれば、第1のコンピュータから第2の指示を受信した場合、第2のコンピュータから伝送される、データへの応答を受信してもよい。第1のコンピュータから第2の指示を受信した場合、第1のコンピュータへ受信された応答を伝送してもよい。
【0006】
本発明の別の実施形態によれば、第2のコンピュータへデータを伝送することは、第1のコンピュータのネットワークインターフェイスを使用し、第2のコンピュータへデータを伝送し、応答を受信することは、第1のコンピュータのネットワークインターフェイスを使用し、伝送された入力データへの応答を第2のコンピュータから受信する、ことを含んでもよい。
【0007】
本発明の別の実施形態によれば、第2のコンピュータへ入力データを伝送することは、そのデータを暗号化し、暗号化されたデータを第2のコンピュータへ伝送することを含んでもよい。
【0008】
本発明の別の実施形態によれば、第2のコンピュータから受信した応答は暗号化されてもよい。さらに、第1のコンピュータへ受信された応答を伝送することは、その受信された応答を復号化し、復号化された受信された応答を第1のコンピュータへ伝送することを含んでもよい。
【0009】
本発明の別の実施形態によれば、データを通信するためのシステムは、第2のコンピュータから第1の通信モードが選択されたことを示す第1の指示を受信した場合、1つ以上の入力装置からデータを受信し、データを第2のコンピュータへ伝送する、ようにプログラムされていてもよい少なくとも第1のコンピュータを含む。データは、第2のコンピュータから第2の通信モードが選択されたことを示す第2の指示を受信した場合、第3のコンピュータへ伝送されてもよい。
【0010】
本発明の別の実施形態によれば、第2のコンピュータは、ユーザが第2のコンピュータにおいて第1のアプリケーションプログラムを起動したことに応じて第1の指示を送信してもよい、また、第2のコンピュータは、ユーザが第2のコンピュータにおいて第2のアプリケーションプログラムを起動したことに応じて第2の指示を送信してもよい。
【0011】
本発明の別の実施形態によれば、第1のコンピュータは、第2のコンピュータから第2の指示を受信した場合、第3のコンピュータから伝送される、データへの応答を受信する、ようにプログラムされていてもよい。受信された応答は、第2のコンピュータから第2の指示を受信した場合、第2のコンピュータへ伝送されてもよい。
【0012】
本発明の別の実施形態によれば、第1のコンピュータは、第2のコンピュータのネットワークインターフェイスを使用し、第3のコンピュータへデータを伝送するようにプログラムされている。伝送されたデータは、第2のコンピュータのネットワークインターフェイスを使用し、第3のコンピュータから受信される。
【0013】
本発明の別の実施形態によれば、第1のコンピュータは、第3のコンピュータへデータを伝送することが、そのデータを暗号化し、暗号化されたデータを第3のコンピュータへ伝送する、ことを含んでもよいようにプログラムされている。
【0014】
本発明の別の実施形態によれば、第3のコンピュータから受信した応答は暗号化されており、また、第1のコンピュータは、第2のコンピュータへ受信された応答を伝送することが、受信された応答を復号化し、復号化された受信された応答を第2のコンピュータへ伝送する、ことを含んでもよいようにプログラムされている。
【0015】
本発明の別の実施形態によれば、暗号化装置を使用する通信ネットワークを介してデータ通信を提供する方法が提供される。この方法は、ユーザを認証する暗号化装置に基づいて、第1のデータを暗号化することを含んでもよい、ここで、暗号化された第1のデータは、暗号化装置から第2のコンピュータへの伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい。第2のコンピュータにおいて、暗号化された第1のデータは復号化されてもよい、また、暗号化された第2のデータは、復号化された第1のデータに応じて生成されてもよい。生成された暗号化された第2のデータは、暗号化装置への伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい、また、暗号化装置において、第1のコンピュータに関連したインターフェイスを介して受信された送信後の暗号化された第2のデータは、復号化されてもよい。第1のコンピュータは、復号化された第2のデータに基づいて、動作を実行してもよい。
【0016】
本発明の別の実施形態によれば、ユーザを認証することは、認証プロセスを開始するためのアプリケーションプログラムを起動することを含んでもよい。
【0017】
本発明の別の実施形態によれば、認証プロセスは、暗号化装置と第1のコンピュータとの間に接続状態をもたらす、起動されたアプリケーションプログラムを含んでもよい。
【0018】
本発明の別の実施形態によれば、認証プロセスは、アプリケーションプログラムによって生成されたプロンプトを受信し、ユーザに関連した指紋パターンを走査し、検出する、ことを含んでもよい。
【0019】
本発明の別の実施形態によれば、復号化された第2のデータは、第2のコンピュータ装置によって処理された第1のデータに応じて生成された表示データを含んでもよい。
【0020】
本発明の別の実施形態によれば、インターフェイスは、ユニバーサルシリアルバス(USB)インターフェイス及びネットワークインターフェイスを含んでもよい。
【0021】
本発明の別の実施形態によれば、第1のデータは、キーボード装置、マウス装置、及び/又は、周辺装置によって生成されてもよい。
【0022】
本発明の別の実施形態によれば、第1のコンピュータへ結合された暗号化装置を使用し、第1のコンピュータと第2のコンピュータとの間で通信ネットワークを介してデータ通信する方法が提供される。この方法は、データ通信に関連したアプリケーションプログラムの起動に基づいて、第1のデータを暗号化装置で暗号化することを含んでもよく、ここで、暗号化された第1のデータは、暗号化装置から第2のコンピュータへの伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい。第2のコンピュータにおいて、暗号化された第1のデータは、復号化されてもよい、また、暗号化された第2のデータは、復号化された第1のデータに応じて生成されてもよく、ここで、生成された暗号化された第2のデータは、暗号化装置への伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい。また、暗号化装置において、第1のコンピュータに関連したインターフェイスを介して受信された送信後の暗号化ずみ第2のデータは、復号化されてもよく、ここで、暗号化装置は、復号化ずみ第2のデータを第1のコンピュータによって処理されるために、第1のコンピュータへ提供してもよい。
【0023】
本発明の別の実施形態によれば、第1のデータは、キーボード装置、マウス装置、及び/又は周辺装置によって生成されてもよい。
【0024】
本発明の別の実施形態によれば、アプリケーションプログラムは、第1のコンピュータに存在していてもよく、第2のコンピュータに存在している第2のアプリケーションプログラムと交信してもよい。第2のアプリケーションは、第2のデータを生成してもよく、第1のコンピュータにおけるアプリケーションプログラムは、復号化された第2のデータを表示してもよい。
【0025】
本発明の別の実施形態によれば、アプリケーションプログラムは、暗号化装置に存在していてもよく、また、第2のアプリケーションプログラムと交信してもよく、ここで、第2のアプリケーションは、第2のデータを生成してもよく、暗号化装置におけるアプリケーションプログラムは、復号化された第2のデータを表示してもよい。
【0026】
本発明の別の実施形態によれば、通信ネットワークはインターネットを含んでもよい。
【0027】
本発明の別の実施形態によれば、第1のデータを暗号化することは、アプリケーションプログラムに関連するウィンドウが焦点されていることに基づいて、暗号化装置で第1のデータを暗号化する、ことを含んでもよい。
【0028】
本発明の別の実施形態によれば、第1のコンピュータと第2のコンピュータとの間で通信ネットワークを介して安全なデータ伝送を生成するための安全なシステムが提供される。本システムは、1つ以上の入力装置から第1のデータを受信するために適合された切換装置と、安全なデータ伝送に関連し、起動されているアプリケーションプログラムに基づいて、受信された第1のデータを暗号化するために、切換装置から転送された第1のデータを受信するように適合された暗号化装置と、第1のコンピュータに関連し、通信ネットワークを介して第2のコンピュータへの伝送するための暗号化された第1のデータを受信するように適合されたインターフェイスと、第1のコンピュータに関連したディスプレイ装置と、を含んでもよく、ここで、第2のコンピュータは、暗号化された第1のデータを受信してもよく、暗号化された第2のデータを生成してもよい。第2のコンピュータにおいて生成された暗号化された第2のデータは、通信ネットワークからインターフェイスによって受信され、転送のために切換装置へ送信されてもよく、ここで、切換装置は、暗号化された第2のデータを復号化するために、暗号化装置へ暗号化された第2のデータを転送してもよい。切換装置は、暗号化装置からディスプレイ装置におけて表示するために、第1のコンピュータへ、復号化された第2のデータを転送してもよい。
【0029】
本発明の別の実施形態によれば、インターフェイスはネットワークインターフェイスを含んでもよい。
【0030】
本発明の別の実施形態によれば、バイオメトリック認証装置は、ユーザに認証プロセスを実行するよう促すアプリケーションプログラムと通信してもよい。暗号化装置は、入力データを暗号化するのに先立ってユーザを認証してもよい。
【0031】
本発明の別の実施形態によれば、バイオメトリック認証装置は、指紋スキャナを含んでもよい。
【0032】
本発明の別の実施形態によれば、切換装置は、1つ以上の入力装置と、第1のコンピュータと、暗号化装置との間でデータ切り換えを提供するUSB制御装置を含んでもよい。
【0033】
本発明の別の実施形態によれば、クライアントコンピュータとともに動作する入力装置から入力を受信しクライアントコンピュータとともに動作するディスプレイ装置に情報を表示するサーバコンピュータと交信しているアプリケーションに安全性を提供する方法を提供する。この方法は、クライアントコンピュータへ入力された非暗号化データを提供することなく、入力装置を介して入力されたアプリケーションに関連するデータを暗号化することを含んでもよい。この暗号化されたデータは、ネットワークを介してサーバコンピュータへ伝送されるが、ここで、サーバコンピュータへ伝送された暗号化されたデータは復号化される。このサーバコンピュータは、復号化されたデータに基づいて動作してもよい、また、クライアントコンピュータにおける表示のためのデータを提供してもよい。サーバコンピュータによって提供されたデータは、クライアントコンピュータのディスプレイ装置に表示されるために伝送されてもよく、ここで、ディスプレイ装置は、サーバコンピュータによって提供された伝送されたデータを表示してもよい。
【0034】
本発明の別の実施形態によれば、サーバコンピュータによって提供されたデータは、このようなデータをクライアントコンピュータへの伝送に先立って暗号化されてもよく、このようなデータは、伝送の後に、及び、表示の前に、復号化されてもよい。復号化されたデータは、クライアントコンピュータのディスプレイ装置に表示されてもよい。
【0035】
本発明の別の実施形態によれば、クライアントコンピュータへ伝送された暗号化されたデータは、クライアントコンピュータとは独立して復号化されてもよく、また、このような復号化されたデータは、ディスプレイ装置におけて表示されるためにクライアントコンピュータへ提供されてもよい。
【0036】
本発明の別の実施形態によれば、入力装置は、キーボード、及び/又は、ポインティングデバイスを含んでもよい。
【0037】
本発明の別の実施形態によれば、複数のアプリケーションと相互作用し、クライアントコンピュータと動作する入力装置からの入力を受信するサーバコンピュータと通信する、これら1つ以上のアプリケーションのうちの少なくとも1つのアプリケーションへ安全性を提供する、クライアントコンピュータのための方法が提供される。この方法は、以下のステップを含んでもよい。クライアントコンピュータにおいて、少なくとも1つのアプリケーションが、焦点の合っているウィンドウを含む場合、入力装置を介して入力された少なくとも1つのアプリケーションに関連しているデータは、入力された非暗号化データをクライアントコンピュータへ提供されることなく、暗号化されてもよい。この暗号化されたデータは、ネットワークを介してサーバコンピュータへ伝送されてもよく、ここで、サーバコンピュータへ伝送された暗号化されたデータは、復号化されてもよい。このサーバコンピュータは、復号化されたデータに基づいて作動するとともに、クライアントコンピュータによって動作されるデータを提供してもよい。提供されたデータは、クライアントコンピュータへ伝送されてもよく、ここで、クライアントコンピュータは、提供されたそのデータに基づいて動作してもよい。少なくとも1つのアプリケーションが、クライアントコンピュータにおいて焦点の合っているウィンドウを含まない場合、入力装置を介して入力されたデータは、クライアントコンピュータによって処理されるために、暗号化されることなくクライアントコンピュータへ提供されてもよい。
【0038】
本発明の別の実施形態によれば、入力装置及びクライアントコンピュータへ連結された装置において、選択されたアプリケーションに関連するデータは、暗号化されてもよい。
【0039】
本発明の別の実施形態によれば、キーボードの出力部は、少なくとも1つの動作中のアプリケーションに関連したウィンドウに焦点が合っている場合、その少なくとも1つの動作中のアプリケーションと動作するために、クライアントコンピュータへ結合された装置の出力部へ結合されてもよい。
【0040】
本発明の別の実施形態によれば、キーボードの出力部は、少なくとも1つの動作中のアプリケーションに関連したウィンドウに焦点が合っている場合、クライアントコンピュータへ連結された装置の出力部へ自動的に結合されてもよい。
【発明を実施するための最良の形態】
【0041】
本発明は、添付図面の図に例示されており、これらの図は、例示的なものであって限定的なものではなく、また、それらの中で類似した符号は、類似部品あるいは対応部品を示すことを意図している。
【0042】
図1は、本発明のある実施形態によるデータ通信システム10を例示している。このデータ通信システム10には、ユーザコンピュータ12、アクセスされるコンピュータ(「アクセス型コンピュータ(accessed computer)」とも称される)18、ネットワーク20、及び切換用(switching)システム22が備えられている。
【0043】
ユーザコンピュータ12には、ユーザによって操作される任意のコンピュータが含まれてもよい。本発明のある実施形態では、ユーザコンピュータ12もまた、他のコンピュータからのデータを受信するとともにそのデータに作用することができる。例えば、ユーザコンピュータ12には、サーバから受信したデータを受信しかつ表示することのできるPC、ワークステーション、あるいはPDAが含まれてもよい。ユーザコンピュータ12に関連したものは、ユーザへ出力をもたらすための1つ以上の出力装置14、例えばディスプレイあるいはプリンタであってもよい。また、マウス及び/又はキーボードのような1つ以上のデータ入力装置16が、切換用システム22を介してユーザコンピュータ12と交信するようになっていてもよい。
【0044】
本発明のある実施形態では、ユーザコンピュータ12には、複数の通信モードの1つが望ましいことを切換用システム22へ指示するための機能性もまた含まれる。それぞれの通信モードは、例えば、その通信の受信端部での異なったコンピュータのような異なった通信宛先によって特徴付けられることができる。例えば、ユーザコンピュータ12が2つ以上のアプリケーションプログラムを同時に実行することができる場合、ユーザコンピュータ12は、第1組、第2組、あるいは第3組のアプリケーションプログラムからそれぞれある1つのアプリケーションプログラムが動作中であるかどうかに基づいて、第1、第2、あるいは第3の通信モードが望ましい旨の切換用システム22への指示をもたらすことができる。例えば、動作中のアプリケーションプログラムには、焦点の合っていることを示すアプリケーションプログラムウィンドウが含まれてもよい。
【0045】
アクセス型コンピュータ18には、他のコンピュータと交信することのできる任意のコンピュータが含まれてもよい。例えば、アクセス型コンピュータ18には、ネットワークを介してクライアントと交信することのできるコンピュータサーバが含まれてもよい。必要があれば、アクセス型コンピュータ18は、例えば暗号化及び復号化を利用する確実な方法で、他のコンピュータと交信することができる。
【0046】
アクセス型コンピュータ18はネットワーク20を介して切換用システム22と交信する。ここで、このネットワークは、コンピュータシステムが、以下の1つ以上、すなわち、私設回線、専用回線、有線あるいは無線のLAN及びWAN、及びインターネットの1つ以上を含むが、これらに限定されるものではなく、交信することができる通信路を含むように、広く使用されている。
【0047】
更に、切換用システム22を介してアクセス型コンピュータ18と交信するネットワークには、ユーザコンピュータ12が含まれてもよい。例えば、図2に示され、かつ、以下で更に説明されるように、切換用システム22は、ユーザコンピュータ12と、ユーザコンピュータ12及びアクセス型コンピュータ18の間に通信路をもたらすネットワーク、例えばネットワーク24とを介して、アクセス型コンピュータ18と交信するものであってもよい。通信路という用語は、物理的通信路、論理的通信路、あるいはこれらの組み合わせを示すために、ここでは広く使用されている。
【0048】
切換用システム22によって、入力装置16とユーザコンピュータ12との間に、また、入力装置16とアクセス型コンピュータ18(ネットワーク20を介する)との間に、通信路がもたらされる。切換用システム22は、(a)複数の通信モードのうちの1つが望ましい旨の指示に基づいてこれらの通信路の間で入力装置16を動的に切り換えるとともに、(b)動作中の通信路の受信端部でデータを入力装置16からこのコンピュータシステムへ伝送するように機能する。
【0049】
先に述べたように、切換用システム22は、ユーザコンピュータ12から、複数の通信モードのうちの1つが望ましい旨の指示を受信することができる。例えば、ユーザコンピュータ12は、動作中の第1組のアプリケーションからの1つのアプリケーションに基づいて第1の通信モードが望ましい旨の指示を、切換用システム22へ送信することができ、かつ、この指示を受信したときに切換用システム22は、入力装置16とユーザコンピュータ12との間の通信路を動作状態にすることができる。動作中の第2組のアプリケーションの内の1つのアプリケーションに基づいて、第2通信モードが望ましい旨の指示を、ユーザコンピュータ12が切換用システム22へ送信すると、切換用システム22は、入力装置16とアクセス型コンピュータ18との間の通信路を動作状態にすることができる。
【0050】
本発明のある実施形態では、入力装置16とアクセス型コンピュータ18との間の通信路が動作状態にある通信モードにおいて、切換用システム22は、アクセス型コンピュータ18からデータを受信するとともに受信したそのデータをユーザコンピュータ12へ転送するように機能する。例えば、動作中の第2組のアプリケーションからの1つのアプリケーションに基づいて第2通信モードが望ましい旨の指示をユーザコンピュータ12が切換用システム22へ送信する例では、切換用システム22は、入力装置16からアクセス型コンピュータ18へデータを伝送して、そこでこのデータを処理し、切換用システム22へ返答を送信することができる。切換用システム22は次いで、その返答をユーザコンピュータ12へ、例えば動作中の第2組のアプリケーションから、作用、例えばユーザへの表示を行うためのアプリケーションに伝送することができる。
【0051】
必要があれば、切換用システム22は、例えば暗号化及び復号化を利用する確実な方法で、他のコンピュータシステムと交信することができる。従って、先の例では、切換用システム22は、データをネットワーク20の向こうのアクセス型コンピュータ18へ伝送する前に、入力装置16からのそのデータを暗号化することができる。アクセス型コンピュータ18は次いで、そのデータを復号化し、それを処理し、また、暗号化された返答を切換用システム22へ伝送することができる。切換用システム22は次いで、この返答をユーザコンピュータ12へ伝送するのに先立って、それを復号化することができる。
【0052】
切換用システム22には、上で説明された機能を実行することのできる任意のコンピュータシステムが含まれてもよい。これらの機能は、ハードウェアあるいはソフトウェアあるいはこれらの組み合わせによって、実施することができる。切換用システム22と機能を実行できるコンポーネントとの異なった実施形態の例は、以下で更に説明される。
【0053】
図1及び図2には、単独のアクセス型コンピュータ18が示されているが、このような任意の数のシステムは、通信路どうしの間で入力装置16を、上で説明されたものに類似した方法で、それぞれ動的に切り換える切換用システム22が含まれる場合を、本発明の範囲内に収容することができる。例えば、5つの通信モードが、入力装置16と、ユーザコンピュータ12及び異なった4つのアクセス型コンピュータのような異なった5つの通信宛先との間の通信路に、それぞれ対応するようにすることができる。
【0054】
コンピュータという用語はここでは、コンピュータのハードウェアとソフトウェアとを意味するために、あるいはコンピュータのソフトウェアだけを意味するために、広く使用されている。例えば、上で述べた4つのアクセス型コンピュータはすべて、同一のハードウェアプラットフォームにおいて同時に常駐している別個のサーバプリケーションであってもよい。
【0055】
上で説明された本発明の実施形態は、ユーザがコンピュータ、例えばアクセス型コンピュータ18へのアクセスを希望しているものの、そのユーザのコンピュータ、例えばユーザコンピュータ12が信頼できるコンピュータではないという場合、有利であり得る。例えば、そのユーザのコンピュータは、キータッチのようなコンピュータへのデータ入力が監視されかつ第3者へ伝送されるときには、ウイルスのような外側からの攻撃に対して脆弱であるかもしれない。このような場合において、上で説明された本発明の実施形態によれば、ユーザが、例えばユーザコンピュータ12における対応クライアントアプリケーションによって、アクセス型コンピュータ18へのアクセスを試みると、切換用システム22は、入力装置16からのデータを、処理のためにアクセス型コンピュータ18へ導くことができるとともに、アクセス型コンピュータ18から受信した応答を、作用、例えばユーザへの表示のためにユーザコンピュータ12におけるクライアントアプリケーションへ送信することができる。従って、そのような場合には、アクセスされるコンピュータのために意図されたユーザからのデータ入力は、このユーザのコンピュータを通して送信されず、また、上で述べた攻撃に対して脆弱なものではない。
【0056】
上で述べたように、アクセス型コンピュータ18は、例えば暗号化及び復号化を利用する確実な方法で、他のコンピュータと交信することができる。例えば、アクセス型コンピュータ18とユーザコンピュータ12とは、トランスポート層セキュリティ(TLS)プロトコルを利用すると、確実に交信することができる。
【0057】
図3は、安全通信をもたらす、本発明のある実施形態によるデータ通信システムを例示している。安全なデータ通信システム100には、先に説明したように、切換用システム102が含まれる。図3の実施形態に示されているように、切換用システム102には、データ切換装置104と暗号化装置106とが含まれる。また、安全な通信システム100には、上で説明したように、ユーザコンピュータ108とアクセス型コンピュータ110とが含まれる。図3に示されたように、ユーザコンピュータ108は、ネットワーク112を介してアクセス型コンピュータ110と交信状態にある。図3の実施形態では、ディスプレイ装置114が、ユーザコンピュータ108と、マウス116及び/又はキーボード118のような1つ以上のデータ入力装置とに、関連付けられている。図3の実施形態によれば、アクセス型コンピュータ110には1つ以上のサーバコンピュータが含まれてもよい。
【0058】
入力データをもたらす他の装置が、代わりに利用されてもよい。例えば、キーボード116及びマウス118に加えて、あるいはこれらの代わりに、データは、タッチスクリーンディスプレイ、音声認識システム、及び/又は、入力データをもたらすことのできる別の周辺装置を使用して、入力されてもよい。
【0059】
システム100の様々なコンポーネントどうしのデータ通信は、通信路P1、P2、P3、P4及びP5に沿って行われるが、これらの通信路のそれぞれには、先に述べたように、物理的通信路、あるいは論理的通信路、あるいはこれらの組み合わせが含まれてもよい。それぞれの通信路には、光ファイバー媒体、無線手段(例えば高周波及び赤外線)、あるいはデータ転送媒体に基づいたケーブルのような異なった通信媒体が採用されてもよい。
【0060】
図3の実施形態によれば、通信路P2は、少なくとも2つの論理的通信路(例えばP2a及びP2b)が含まれる物理的通信路である。以下で更に説明するように、通信路P2aでは、ローカル処理(例えば、ユーザコンピュータ108におけるプログラム実行による)のために、切換用システム102とユーザコンピュータ108との間でデータが搬送される。以下で更に説明するように、通信路P2bでは、アクセス型コンピュータ110への転送及びそこからの転送(例えば、ネットワーク112にわたる通信のためにユーザコンピュータ108のネットワークインターフェイスを使用する)のために、切換用システム102とユーザコンピュータ108との間でデータが搬送される。
【0061】
マウス116及びキーボード118から受信された入力データは、通信路P1に沿ってデータ切換装置104へ送信される。データ切換装置104は、そのデータが通信路P3に沿って暗号化装置106へ切り換えられるべきものであるかどうかを判定する。安全モード通信セッションが確立されていると、入力データは、通信路P1及びP3を介して暗号化装置106へ転送されてもよい。あるいは、安全モード通信セッションが必要でないときには、通信路P1に沿う入力データは、ローカル処理(例えば、ユーザコンピュータ108におけるプログラム実行による)のために、通信路P2aに沿ってユーザコンピュータ108へ転送されるように、切り換えられる。
【0062】
ユーザコンピュータ108によって生成されたディスプレイ情報は、ディスプレイ装置114に表示される。このディスプレイ情報は、ユーザコンピュータ108におけるプログラム実行の結果として、あるいはネットワーク112にわたるアクセス型コンピュータ110からユーザコンピュータ108によって受信されたデータ情報の結果として、生成されてもよい。
【0063】
データは、ユーザコンピュータ108とアクセス型コンピュータ110との間で送信されるとともに受信される。例えば、暗号化された入力データは、通信路P1及びP3に沿って暗号化装置106へ送信されてもよい。暗号化の次に、暗号化済み済みデータは、通信路P3及びP2bを介してユーザコンピュータ108へ送信され、ここで、その暗号化済みデータは、ユーザコンピュータ108のネットワークインターフェイス(図示せず)を介して、通信路P4及びP5に沿ってアクセス型コンピュータ110へ伝送される。これは、復号化済みデータがユーザコンピュータ108によって局部的に処理されないときの、安全な動作モードである。代わりに、それは、処理のためにアクセス型コンピュータ110へ送信され、これによって、アクセス型コンピュータ110が、復号化の際に暗号化済みデータを処理するために、単に処理されてもよい。
【0064】
あるいは、例えば、暗号化されなかった入力データは、ローカル処理のために、通信路P1及びP2aを介して、ユーザコンピュータ108へ送信される。ユーザコンピュータ108による非暗号化入力データの処理の後に、非暗号化データは、ユーザコンピュータ108におけるプログラム実行によって生成され、次いで、ユーザコンピュータ108のネットワークインターフェイスを介して、通信路P4及びP5に沿ってアクセス型コンピュータ110へ送信される。また、ユーザコンピュータ108で局部的に処理された非暗号化入力データは、ディスプレイ装置114に表示される。これは、入力データがコンピュータ108によって直接処理されるときの、非安全な動作モードである。
【0065】
アクセス型コンピュータ110によって生成されたデータは、ネットワーク112にわたる安全なデータ伝達のためのユーザの要件及び要望に基づいて、暗号化されるあるいは暗号化される。例えば、ユーザコンピュータ108におけるプログラム実行へアドレス指定された、アクセス型コンピュータ110から受信された非暗号化データは、データがアドレス指定するプログラムによって、ユーザコンピュータ108により局部的に処理されてもよい。アクセス型コンピュータ110から受信され、かつ、ユーザコンピュータ108によって局部的に処理された非暗号化データは、その後、ディスプレイ装置114においてユーザへ表示されてもよい。あるいは、例えば、ユーザコンピュータ108による偶発的処理のためにアクセス型コンピュータ110によって生成された暗号化済みデータは、通信路P5及びP4を介して、ユーザコンピュータ108へ送信されてもよい。この暗号化済みデータは、切換用システム102へアドレス指定される。従って、この暗号化済みデータが、ユーザコンピュータ108のネットワークインターフェイスによって受信されると、この暗号化済みデータは、通信路P2bに沿って切換用システム102及び切換装置104へ伝送される。この暗号化済みデータは、切換装置104で受信され、通信路P3を介して暗号化装置106へ転送され、ここで、この暗号化済みデータは復号化される。この復号化処理の次に、復号化済みデータは、通信路P3を介して切換装置104へ送信され、ここで、復号化済みデータは、通信路P2aを介してユーザコンピュータ108へ転送される。この復号化済みデータは、その後、ユーザコンピュータ108で、ディスプレイ114において表示されるために、局部的に処理される。
【0066】
図4A及び図4Bは、本発明のある実施形態による暗号化モードの動作の作用的フローチャートを例示している。このフローチャートは、図3に示された安全なデータ通信システム100に関連して記載されている。ステップ202において、暗号化装置106は、切換用システム102を形成するために、コネクタ、無線リンク、あるいは他の適切な連結/通信手段(図示せず)によって切換装置104へ接続される。これは、暗号化装置106及び切換装置104が単一のユニットの内部にあらかじめ一体化されている場合は、必要でない。切換用システム102は、ユニバーサルシリアルバス(USB)接続及び/又は他の接続媒体及びプロトコルによって、ユーザコンピュータ108と入力装置116及び118との間に接続することができる。例えば、マウス116及びキーボード118からの入力データは、通信路P1によって表示されたように、USB接続を介して切換用システム102へ接続されてもよい。同様に、切換用システム102とユーザコンピュータ108との間の接続もまた、通信路P2によって表示されたように、USB接続を介して起きることもある。暗号化装置106が、切換装置104へ取り付けられる取り外し可能な装置であるときには、それは、接続を確立するための様々なコネクタを組み込むことができる。いったん取り付けられると、暗号化装置106は、通信路P3を介して切換装置104の間でデータをやりとりする。
【0067】
ステップ204において、切換用システム102が、入力装置116及び118とユーザコンピュータ108との間に接続されると(ステップ202)、ユーザは、ユーザコンピュータ108のユーザとアクセス型コンピュータ110との間の安全なデータ通信をもたらすために、ユーザコンピュータ108においてアプリケーションプログラムを起動することができる。アプリケーションプログラムが起動されると(ステップ204)、以下で更に説明されるように、認証処理を開始するために、ステップ206において、アプリケーションプログラムは切換装置104及び暗号化装置106と通信を行う。この認証処理によって、ユーザの認証がされると、切換用システム102を介してユーザコンピュータ108とアクセス型コンピュータ110との間の安全な暗号化データ通信が始まる。
【0068】
ステップ206において、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、切換用システム102がユーザコンピュータ108へ接続されているかどうかを判定する。切換用システム102がユーザコンピュータ108へ接続されているときには、ステップ208において、そのアプリケーションプログラムは、切換用システム102を使用して認証処理を遂行するようにユーザに促す(例えば、ディスプレイ装置114において)。切換用システム102には、ユーザに認証処理を開始するように促すディスプレイが含まれてもよい。例えば、切換用システム102には、ディスプレイ114によってユーザを促すアプリケーションプログラム(ユーザコンピュータ108における)に加えて、ユーザに彼らの人差し指を、切換用システム102と交信状態にあるかあるいは切換用システム102の内部に組み込まれた、指紋検出パッドの上に置くように促す表示が組み込まれてもよい。切換装置はその後、読み取られた指紋に基づいて、そのユーザが認識されたユーザかどうかを判定する。この認証処理はステップ209a、209b及び209cに示されている。指紋が検出されると(ステップ209a)、その指紋は、ステップ209bにおいて、切換用システム102の指定ユーザ(例えば、この装置を使用することが認証されたユーザ)に関連した記憶済み照合用指紋と比較される。読み取られた指紋と照合用指紋とが一致すると、切換用システム102はそのユーザを認証する(ステップ209c)。ステップ210において、ユーザが首尾よく認証されたことが判定されると(例えば指紋検出)、ステップ212において、切換用システム102が、交信を開始して、ユーザコンピュータ108にて実行されるアプリケーションプログラムにユーザが認証されたことを通知する。ステップ210において、ユーザが認証されなかったと判定されると、ステップ208及び209に示されるように、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、ユーザに、切換用システム102を利用して認証処理を行うように引き続き促すであろう。
【0069】
切換用システム102の中には、上で説明されたバイオメトリック手段に加えて、あるいはその手段に代わるものとして、他の認証手段が組み込まれてもよい。例えば、切換用システム102の内部には、パスワード保護型及び/又は個人識別コード(PIN)型のコード入力機能を使用することができる。
【0070】
ユーザコンピュータ108にて実行されるアプリケーションプログラムが、切換用システム102によって、ユーザが認証されたという承認を受信すると、ステップ214において、このアプリケーションプログラムは、切換用システム102への安全なデータ伝送についての要求を送信する。
【0071】
この要求が切換用システム102によって受信された後には、図4Bに示されたように、ステップ216において、切換用システム102においてマウス116及びキーボード118から受信されたデータ入力値は、切換装置104及び通信路P1及びP3を介して暗号化のために暗号化装置106へ転送される。このようにして、入力データは、安全な通信セッションが利用されるときに、暗号化されることなくユーザコンピュータ108へ到達することが制限される。
【0072】
ステップ220において、切換用システム102は、暗号化済みデータをアクセス型コンピュータ110へ転送するために、ユニバーサルシリアルバス(USB)コネクタを介して、その暗号化済みデータをユーザコンピュータ108へ送信する。例えば、暗号化装置106は、ユーザコンピュータ108及びアクセス型コンピュータ110のネットワークインターフェイス(例えばイーサネット(登録商標))によって認識されたネットワークプロトコルによって、その暗号化済みデータをネットワークパケットの中へフォーマットすることができるとともに、このネットワークパケットをアクセス型コンピュータ110へ転送することができる。このネットワークパケットは次いで、切換装置104により、通信路P3及びP2bに沿ってユーザコンピュータ108へ転送される。切換用システム102の内部に組み込まれた切換装置104とユーザコンピュータ108との間の接続性はUSBによって確立されているが、切換用システム102とユーザコンピュータ108との間でデータを結合するために、他の物理的コネクタ及び伝送プロトコルもまた利用されてもよい。
【0073】
ステップ222において、USB接続されたユーザコンピュータ108によってネットワークパケットが受信されるが、その理由は、そのネットワークパケットが、ユーザコンピュータ108へアドレス指定されるのではなく、ネットワーク112を介してそのアドレス指定された宛先へ、例えばアクセス型コンピュータ110において実行されるアプリケーションプログラムへ伝送されるために、ユーザコンピュータ108のネットワークインターフェイスへ付与されるからである。
【0074】
ステップ224において、ネットワークパケットがアドレス指定されたアクセス型コンピュータ110において、実行されるアプリケーションプログラムが、そのパケットの中に含まれた、暗号化済み入力データを受信するとともにそれを処理する。アクセス型コンピュータ110において実行されるアプリケーションプログラムは、ユーザコンピュータ108にて実行されるアプリケーションプログラムに関連していてもよく、それによって、アクセス型コンピュータ110において実行されるアプリケーションプログラムは、切換用システム102から受信された、暗号化済み入力データを処理し、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、アクセス型コンピュータ110からこの処理済みデータを受信してそれに作用を及ぼす(例えばそれを表示する)。
【0075】
アクセス型コンピュータ110が暗号化済み入力データを受信すると、このアプリケーションプログラムは、アクセス型コンピュータ110でこのデータを復号化する。この入力データには、アクセス型コンピュータ110でこのアプリケーションプログラムによって実行されるリモートウェブサイトに関連した表示済みウェブページにおいて、あるオプションを選択するためのマウスクリックが含まれてもよい。このウェブページは、局部的にアクセスされてもよく、ユーザコンピュータ108に関連したディスプレイ114に表示されてもよい。この入力データにはまた、アクセスされたウェブページにおける1つ以上のフィールドの中へ入力するためのキーボードデータが含まれてもよい。一般に、アクセス型コンピュータ110において実行されるウェブサイトあるいはアプリケーションプログラムとの間でデータをやりとりする周辺装置からの任意のデータには、入力データが含まれてもよい。
【0076】
ステップ226において、アクセス型コンピュータ110において実行されるアプリケーションプログラムは復号化済み入力データを処理する。入力データに基づいて、このアプリケーションプログラムは、ユーザコンピュータ108にて実行されるアプリケーションプログラムによって使用するための応答データを生成する。例えば、暗号化済み入力データに、アクセス型コンピュータ110において実行されるウェブサイトに関連したウェブページの特徴、あるいは、オプションにおけるマウスクリックが含まれる場合、このアプリケーションプログラムは、アクセス型コンピュータ110で、ユーザが選択したオプションに関連したウェブページグラフィックスを生成することにより、マウスクリックを処理する。このように、このアプリケーションプログラムは、アクセス型コンピュータ110でそれを処理するとともに、入力データに関連したグラフィックスを生成することにより、入力データに応答する。この応答データ(例えば画像データ)は、ユーザコンピュータ108にて実行されるアプリケーションプログラムによる偶発的処理のために、暗号化されるとともにネットワーク112を介して切換用システム102へ(ユーザコンピュータ108のネットワークインターフェイスを介して)伝送される。この暗号化済み応答データはユーザコンピュータ108のネットワークインターフェイスによって受信され、また、このデータが切換用システム102へアドレス指定され、かつ、ユーザコンピュータ108へ転送されないので、ネットワークインターフェイスは、通信路P5、P4、及びP2bによって表示されたように、そのデータをユーザコンピュータ108のUSBポートへ、また、切換用システム102の上へ送信する。
【0077】
ステップ228において、切換用システム102の内部に組み込まれた切換装置104は、暗号化された応答データを暗号化装置106へ転送する。暗号化装置106では、暗号化された応答データが復号化されるとともに、切換装置104へ返送される(通信路P3)。切換装置104は、復号化された応答データを通信路P2に沿ってユーザコンピュータ108のUSB接続へ転送する、あるいは、ここで、復号化された応答データは、ユーザコンピュータ108にて実行されるアプリケーションプログラムによって処理される。このアプリケーションプログラムは次いで、復号化された応答データをディスプレイ装置114に表示する(通信路P6)。
【0078】
図4A及び図4Bの実施形態に例示された様々なステップは、暗号化モードにて動作の間に、生成された入力データがユーザコンピュータ108によって受信される前に暗号化される、ということを示している。このことは、通信路P1、P3、P2aによって示されている。このように、図3、図4A及び図4Bに示された実施形態によれば、この暗号化済みデータは、ユーザコンピュータ108によって局部的に処理されることがない。これは、処理のために、通信ネットワークを介して、遠隔の安全サイト、例えばアクセス型コンピュータ110へ伝送される。アクセス型コンピュータ110においてこのデータは、通信路P4及びP5によって示されるように、復号化されるとともに処理される。処理されると応答データが生成されるが、このデータは、暗号化されるとともに、ユーザコンピュータ108を介して切換用システム102へ返送される。この応答データは、切換用システム102による復号化の後だけ、ユーザへの表示のためにユーザコンピュータ108へ送信される。このことは、認証済みソースから送信される応答データが、ユーザが予想したデータである、ということを保証する。ユーザコンピュータ108は、別のコンピュータ、例えばアクセス型コンピュータ110で行われた処理の結果である応答データを、表示するために処理することが可能である。これにより、安全な双方向性リンクが提供され、ここでの処理は、確実に伝送された入力データに直接的に反応する安全なサイトで行われる。
【0079】
ユーザコンピュータ108にて実行されるアプリケーションプログラムは、ユーザコンピュータ108へアクセス型コンピュータ110からダウンロードされてもよい、あるいは、切換用システム102の内部における記憶装置からユーザコンピュータ108の中に記憶されるとともに、ユーザコンピュータ108によって実行されてもよい。いったんダウンロードされると、アプリケーションプログラムは、例えば、ユーザコンピュータ108において認証ルーチンを局部的に実行することができる。あるいは、例えば、アプリケーションプログラムによって実行された認証ルーチンは、ユーザコンピュータ108から局部的にではなく、アクセス型コンピュータ110からアクセスすることができる。別の実施形態によれば、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、暗号化装置106からアクセスすることができる、とともに、暗号化装置106から完全に実行することができる。
【0080】
図5〜図8は、本発明のある実施形態による安全モードにおいて作動するようになるユーザコンピュータ108にて実行される異なったアプリケーションプログラムの効果を示すフローチャートである。これらの効果は、図3において示された実施形態を利用して説明される。システム100の安全モード動作の間に、ユーザコンピュータ108にて実行されるアプリケーションプログラムは初めに、暗号化済み入力データがネットワーク112を介してアクセス型コンピュータ110へ伝送されるのに先立って、認証処理を促進する。認証に続いて、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムが動作アプリケーション(例えば、ディスプレイ装置114に稼働ウィンドウとして示されているこのアプリケーションプログラムに関連したウィンドウによって表示されたような)となる。その後、このアプリケーションプログラムに関連したウィンドウは、ユーザコンピュータ108でのユーザがユーザコンピュータ108にて実行される異なったアプリケーションプログラムで処理するように決定したかどうかに基づいて、「焦点が合って」(例えば、稼働中のウィンドウとして示された)いるかもしれないし、あるいは「焦点が合って」いないかもしれない。図5は、ユーザコンピュータ108において実行される安全モードアプリケーションプログラムが稼働アプリケーションであることを停止したときに、本発明のデータ通信システムが作動することのできる1つの方法を示しているフローチャートである。例えば、この安全モードアプリケーションプログラムが起動して、ユーザが認証された後に、ユーザはユーザコンピュータ108にて実行される別のアプリケーションプログラムで処理するように切り換えることができる。
【0081】
ステップ300において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、ウィンドウの焦点が失われたという指示を受信する。例えば、この安全モードアプリケーションプログラムは、ユーザコンピュータ108のオペレーティングシステムから、このアプリケーションがウィンドウ焦点を失ったことを指示する通知を受信することができる。次いで、ステップ310において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、安全モードが終了されたという表示を切換用システム102へ送信する。その結果、ステップ320において、切換用システム102は、入力データを、入力装置116及び118から通信路P2aによってユーザコンピュータ108まで、暗号化されない状態で送信することができる。
【0082】
図6は、安全モードアプリケーションプログラムがユーザコンピュータ108において再開されるときに、本発明のデータ通信システムが作動することのできる1つの方法を示すフローチャートである。例えば、安全モードアプリケーションプログラムが起動され、かつ、ユーザが認証された後に、ユーザは、ユーザコンピュータ108において実行され、安全モードアプリケーションプログラムからウィンドウの焦点を失わせるとともにバッククラウンドで引き続き実行される別のアプリケーションプログラムで処理するように切り換えることができる。その後、ユーザは、ユーザコンピュータ108において、再びそれで処理するように選択するとともに、それを動作中のアプリケーションプログラムとすることで、安全モードアプリケーションプログラムを再開することができる。
【0083】
ステップ330において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、ウィンドウ焦点が得られたという指示を受信する。例えば、この安全モードアプリケーションプログラムは、ユーザコンピュータ108におけるオペレーティングシステムから、このアプリケーションがウィンドウの焦点を得たという通知を受信することができる。次いで、ステップ340において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、安全モードが開始されたという指示を、切換用システム102へ送信する。その結果、ステップ380において、切換用システム102は、入力装置116及び118からの入力データを暗号化のために暗号化装置106へ転送し、次いで、その暗号化済み入力データを、通信路P4及びP4及びネットワーク112を介してアクセス型コンピュータ110への伝送するために、通信路P2bによって、ユーザコンピュータ108へ送信する。
【0084】
安全モードアプリケーションプログラムがユーザコンピュータ108において再開された場合、本発明のデータ通信システムが作動することができる別の方法を、図7のフローチャートに示す。図6のステップと同一の参照符号が付されている図7のステップは、図6に関連して上で説明されたものと同じ方式で遂行される。図7において、安全モードアプリケーションプログラムがウィンドウの焦点を得たという指示をそのアプリケーションプログラムが受信し(ステップ330)、安全モードが開始されたことをアプリケーションプログラムが切換用システム102へ通知した(ステップ340)後に、処理はステップ360から続けられてもよいが、ここでは、安全モードを開始する前に、切換用システム102は、例えば、図4Aのステップ209a、209b、及び209cに関連して先に説明されたものと同じような方法で、ユーザを再び認証することを試みる。ステップ370において切換用システム102は、ユーザが認証されたかどうかを判定する。この判定が否定的なものであれば、処理はステップ360へ戻り、そこで、ユーザは、再びユーザ自身を認証するように要求される。この判定が肯定的なものであれば、処理は、上で図6に関連して説明されたように、ステップ380から続けられる。
【0085】
図8は、安全モードアプリケーションプログラムがユーザコンピュータ108において再開されたときに本発明のデータ通信システムが作動することができる、別の方法を例示しているフローチャートを示している。図6及び図7のステップと同じ参照符号を有している図8のステップは、上で図6及び図7に関連して説明されたものと同じ方法で遂行される。図8において、安全モードアプリケーションプログラムがウィンドウの焦点を得たという指示をそのアプリケーションプログラムが受信し(ステップ330)、安全モードが開始されたことをそのアプリケーションプログラムが切換用システム102へ通知した(ステップ340)後に、処理はステップ350から続けられてもよいが、ここでは、安全モードを開始する前に、切換用システム102は、所定時間間隔が経過したかどうかを判定する。この時間間隔は、製造の時点に設定されてもよく、あるいはユーザによって設定されてもよい。この判定が否定的なものであれば、次いで処理は、ステップ380から続けられてもよい。この判定が肯定的なものであれば、切換用システム102は、図7のステップ360及び上でステップ370に関連して説明されたものと同じように、安全モードを開始する前にユーザを再び認証することを試みる。
【0086】
図9は、本発明のある実施形態による切換用システムのコンポーネントを例示するためのブロック図である。切換用システム400には、プロセッサ402(例えば、Freescale Semiconductor,Inc.によって提供されたMC9328MXL)、メモリ装置404(例えば、PSRAM及びフラッシュメモリ)、ディスプレイ406(例えば、カラーOLEDディスプレイ)、指紋スキャナ408(例えば、Atmelによって提供されたFingerChip(登録商標)AT77C104B)、音声エンコーダ/デコーダ410、(例えば、VLSI Solution Oyによって提供されたVS1002D)、外部コネクタ412、及びUSB制御装置414(例えば、Cypress Semiconductor,Corp.によって提供されたCYC67200)が含まれる。以下で更に説明されるように、プロセッサ402は、メモリ装置404に記憶されたプログラムに基づいて、上で述べた切換用システムの機能(例えば、切り換え、暗号化、及び復号化)を遂行する。以下で更に説明されるように、プロセッサ402は、切換用システム400における他のコンポーネントの動作を制御するものでもある。これまたメモリ装置404に記憶された制御プログラム(切換用システム制御プログラムあるいはSSCPと称される)が、以下で更に説明されるように、プロセッサ402の動作を制御する。
【0087】
プロセッサ402には、プロセッサ402が、複数の特徴的な機能を可能とするUSB装置として機能するように構成された、USB装置モジュールコンポジットが含まれる。このような機能のそれぞれは、標準的なUSBデバイスクラスものであってよい。例えば、以下で更に説明されるように、プロセッサ402がUSBホストへいったん接続されると、このUSB装置モジュールは、プロセッサ402がUSBマスストレージデバイス(大容量記憶装置)及びUSB通信装置(例えば、イーサネット(登録商標)エミュレーション装置)として認識される(例えば、USBホストによって)とともに、USBマスストレージデバイス及びUSB通信装置(例えば、イーサネット(登録商標)エミュレーション装置)として機能することを可能とする。
【0088】
ディスプレイ406は、切換用システムのユーザが、様々なプロンプトを受信するための表示を行う。例えば、ディスプレイ406は、ユーザに彼らの人差し指を指紋プリントスキャナ408の上に置くように促すことができる(例えば、「スキャンパッドの上に人差し指を置いて下さい」)。このディスプレイ406によれば、それ自体とユーザコンピュータとの間の接続の確立に関連している状況情報をユーザにもたらすこともできる(例えば、「接続障害が検出されました」)。
【0089】
メモリ装置404は、切換用システム400のためのメモリ記憶を提供する。上で述べたように、メモリ装置404は、プロセッサ402によって実行されるプログラムを記憶する。また、メモリ装置404は、読み取られた指紋データ、様々な暗号化/復号化プログラムデータ、データバッファリング、制御プログラムデータ、及び他のデータを記憶してもよい。
【0090】
指紋スキャナ408は、指紋検出パッドと、ユーザの指紋(例えば、メモリ装置404に記憶されたような)に関連したデータを生成するスキャナを含んでもよい。認証の間に読み取られた指紋は、ユーザの指紋の真正コピーと比較されてもよい。認証は、ユーザの指紋の真正コピーと読み取りコピーとが同一であるか、あるいは相関関係にあるときには、完全であると見なされる。
【0091】
音声エンコーダ/デコーダ410は、いくつかの音声に関連したオプションをユーザにもたらしてもよい。例えば、外部コネクタ412の1つから受信された音声データは、装置410によって、音声データファイルとしてデジタル化されるとともに暗号化されてもよい。音声データは、メモリ404に記憶されてもよいともに、通信ネットワークを介して別のコンピュータ装置へ伝送されてもよい。それはまた、装置410での暗号化処理に続いて、リモート位置へ直接伝送されてもよい。エンコーダ/デコーダ410は、記憶されるか(例えばメモリ404)あるいはダウンロードされた音声ファイル(例えばMP3音楽ファイル)を再生用に処理するために、利用されてもよい。
【0092】
外部コネクタ412は、USBソケット、マイクロフォン入力ジャック、及び/又は、音声出力部(例えばヘッドフォンソケット)を含んでもよい。例えば、メモリ404の中に記憶された復号化済み音声音楽ファイルは、ヘッドフォンジャックへ出力されてもよい。
【0093】
USB制御装置414は、USBハブ接続用プロセッサ402として、また、ユーザコンピュータ108(図1)への1つ以上の入力生成装置(例えば、マウス及びキーボード)として動作する。制御装置414の細部は、図10に示されている。
【0094】
制御装置414には、対応するシリアルインターフェイスエンジン(SIE)431のある第1USBポート430、対応するSIE433のある第2USBポート432、汎用I/O(GPIO)インターフェイス436、及び、プロセッサ438が含まれる。USBポート430によって、制御装置414とユーザコンピュータ108との間の接続性がもたらされる。同様に、USBポート432によって、入力装置116及び118(例えば、マウス及びキーボード)が制御装置414へ接続される。プロセッサ402は、GPIOインターフェイス436を介して制御装置414とつながっている。プロセッサ402は、データ(例えば、入力データ、制御データ、及びアプリケーションデータ)を、GPIOインターフェイス436を介して、制御装置414へ送信するとともに制御装置414から受信する。
【0095】
切換用システム400は、の図4A〜図6を再び参照するとともにそれらの中におけるフローチャートにおいて、切換用システム400の状況を詳しく述べることで、更に説明することができる。図4Aによれば、ステップ202において、この切換用システムはユーザコンピュータ及び入力装置へ接続される。いったん接続されると、ユーザコンピュータ108(本実施形態ではUSBホストシステムを含む)は、切換用システム400を、複合USB装置(上述したように、USBマスストレージデバイス機能とUSBイーサネット(登録商標)エミュレーション装置機能とを含む)が取り付けられる、USBハブとして認識する。ユーザコンピュータ108もまた、入力装置116及び118を、このハブへ取り付けられたUSB入力装置として認識する。切換用システム400がいったん接続されると、切換用システム制御プログラム(SSCP)がプロセッサ402で開始される。
【0096】
更に、切換用システム400がいったん接続されると、多数の論理的通信チャネル、例えば、それぞれのUSB装置に対応している1つ以上のUSBパイプが確立される。切換用システム400のこのような状況では、上述した論理的通信路P2a及びP2bは、ヒューマンインターフェイス装置(HID)クラスの装置(例えば入力装置116及び118)に関連したすべてのチャネルとイーサネット(登録商標)エミュレーション装置機能に関連したチャネルとに、それぞれ対応している。
【0097】
まず接続されると、切換用システム400は非安全モードで動作する。このモードでは、USB制御装置であるプロセッサ438は、SIM433にI/Oポート432から受信したデータ(例えば、I/Oポート432へ接続された入力装置116及び118から受信した入力データ)を、SIM431へ転送するように指示し、SIM431は、このデータを、I/Oポート430を介してユーザコンピュータ108のUSBホストシステムへ送信する。
【0098】
ステップ204において、ユーザコンピュータ108で実行される安全モードアプリケーションプログラムが起動される。上述したように、このアプリケーションプログラムは、切換用システム400のメモリ装置404の中に記憶されてもよい。従って、このアプリケーションプログラムは、USBマスストレージデバイスの中に記憶された実行可能ファイルとして、(例えば、ユーザコンピュータ108のオペレーティングシステムのファイルシステムによって)ユーザへ提示される。ユーザはその後、ユーザコンピュータ108で、このアプリケーションプログラムを、ユーザコンピュータ108のオペレーティングシステムに関連した従来の方法(例えば、このアプリケーションプログラムに対応しているファイルを表示しているアイコンをダブルクリックする等)で起動してもよい。
【0099】
ステップ206において、ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムは、切換用システムが接続されているかどうかを判定する。このことは、切換装置104(図3)の内部に組み込まれたUSB制御装置による切換用システム102(図3)の存在についての照会を行う、安全モードアプリケーションプログラムによって遂行することができる。アプリケーションプログラムは、切換用システム102(図3)に関連した接続及び認証処理の間は、リモートシステム110(図3)と交信状態にある。
【0100】
ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムが、ユーザに、切換用システムを利用して彼ら自身を認証するように促した(ステップ208)後に、この切換用システムは、ステップ209a、209b、及び209cに従ってユーザを認証することを試みる。このことは、プロセッサ402が、ステップ209a、209b、及び209cをプロセッサ402に関して先に記載された方法で実行するために、また、ディスプレイ406を利用してユーザを促すために、更に、指紋スキャナ408を利用してユーザから指紋データを得るために、メモリ装置404の中に記憶された認証プログラムを起動する切換用システム制御プログラムによって遂行されてもよい。
【0101】
ステップ212において、この切換用システムは、ユーザが認証されたことを、ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムへ通知する。このことは、ユーザコンピュータ108にて実行されるこの安全モードアプリケーションプログラムへ、指示を送信する切換用システム制御プログラムによって遂行されてもよい。
【0102】
ステップ214において、ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムは、安全モードが開始されるように要求する。このことは、USB(すなわちリンクP2)を介して切換用システム制御プログラムへ指示を送信するユーザコンピュータ108にて実行されるこの安全モードアプリケーションによって遂行することができる。
【0103】
切換用システム制御プログラムは、この要求を受信すると、安全モードを開始するために、GPIOインターフェイス436を介して、USB制御プロセッサ438へ安全モードに入るように命じる指示を送信する。次いで、USB制御プロセッサ438が、SIE433に、データのSIE431への転送を停止し、代わりに、USBポート432からのデータをGPIOインターフェイス436によってプロセッサ402へ転送するように指示する。この転送変更は、I/Oポート432へ接続された入力装置のUSB状態を変更することなく遂行される。その結果、ユーザコンピュータ108におけるUSBホストシステムにとっては、USB入力装置(例えば、マウス116及びキーボード118)は、安全モードの継続時間にわたって、それらからのデータが上流からUSBホストシステムへ流れるのが阻止されるとしても、接続されているとともに充分に作動可能であるようにみえる。
【0104】
必要があれば、USB制御装置プロセッサ438は、安全モードを開始するようにする命令を特定の通信路、例えばGPIOインターフェイス436を介して受信されたときにだけその命令を認識するように、構成されてもよい。このことは、それが、ユーザコンピュータにおいて存在している不正プログラムに対立するものとしての安全モードを開始ようにする命令が、プロセッサ402から受信される公算を増大させる、という点で有利である。
【0105】
図4Bによれば、ステップ216において入力データは、切換用システムによって受信され、暗号化のために暗号化装置へ転送される。切換用システム400においては、安全モードの間に、入力装置116及び118からのデータは、I/Oポート432を介してSIE433によって受信され、GPIO436を介してプロセッサ402へ転送される。プロセッサ402にて実行される切換用システム制御プログラムは次いで、そのデータを暗号化するために、メモリ装置404から暗号化プログラムを実行する。
【0106】
ステップ220において、切換用システムは、その暗号化済みデータをネットワークパケットとしてフォーマットし、それをユーザコンピュータへ送信する。切換用システム400(図9)においては、この切換用システム制御プログラムは、暗号化済みデータを、暗号化プログラムから受信し、USBイーサネット(登録商標)エミュレーション装置クラスの機能に、暗号化済みデータをアクセス型コンピュータ110のIPアドレスへ送信するように指示する。この暗号化済みデータが送信されるIPアドレスの割り当ては、リモートアクセス型コンピュータ110(図3)において、動的ホスト制御プロトコル(DHCP)によって実施される。このUSBイーサネット(登録商標)エミュレーション装置クラスの機能は、そのイーサネット(登録商標)プロトコルに従って暗号化済みデータをフォーマットし、このイーサネット(登録商標)パケットをUSBデータとしてカプセル化し、このUSBデータをイーサネット(登録商標)パケット(暗号化済み入力データを含む)を超えて、ユーザコンピュータ108のUSBホストシステムへ送信する。
【0107】
ステップ222において、ネットワークパケットは、アクセス型コンピュータにて実行される安全モードアプリケーションプログラムへ送信される。切換用システム400が含まれる実施形態において、ユーザコンピュータ108のUSBホストシステムは、イーサネット(登録商標)パケットを受信すると、ネットワーク112を介してアクセス型コンピュータ110へ伝送するために、ユーザコンピュータ108のネットワークインターフェイスへ送る。
【0108】
アクセス型コンピュータ110は、そのイーサネット(登録商標)パケットを受信した(ステップ224)後に、その中に収容された暗号化済み入力データを復号化するとともに処理して応答を生成し、その応答を暗号化し、次いで、その暗号化済み応答を切換用システムへ伝達する(ステップ226)。
【0109】
ステップ228において、この暗号化済み応答は、切換用システムによって受信され、復号化され、次いで、動作のために、ユーザコンピュータにて実行されるアプリケーションプログラムへ送信される。切換用システム400が含まれる本発明の実施形態においては、アクセス型コンピュータ110からの暗号化済み応答を収容しているイーサネット(登録商標)パケットが、ユーザコンピュータ108のネットワークインターフェイスへ到達する。このイーサネット(登録商標)パケットは、切換用システム400のUSBイーサネット(登録商標)エミュレーション装置クラスの機能へアドレス指定されるので、このイーサネット(登録商標)パケットはユーザコンピュータ108のUSBホストシステムへ送られ、そこで、このイーサネット(登録商標)パケットは、USBを介した移送のために、USBパケットに包まれる。このUSBパケットは、SIE431で受信されて、GPIOインターフェイス436を介して、プロセッサ402において実行されるUSBイーサネット(登録商標)エミュレーション装置クラスの機能へ転送される。プロセッサ402において、このUSBイーサネット(登録商標)エミュレーション装置クラスの機能は、イーサネット(登録商標)パケットから暗号化済み応答データを抽出し、それを、応答を復号化するためにメモリ装置404から復号化プログラムを起動する切換用システム制御プログラムへ送る。この切換用システム制御プログラムは、次いで、この復号化済み応答データをユーザコンピュータ108にて実行される安全モードアプリケーションプログラムへ送信する。この切換用システム制御プログラムと、ユーザコンピュータ108にて実行されるこの安全モードアプリケーションプログラムとの間の通信は、USBを介して行われる。ユーザコンピュータ108にて実行されるこの安全モードアプリケーションプログラムは、この切換用システムをUSBイーサネット(登録商標)装置として認識して、それとの間で、USBインターフェイスを越えるイーサネット(登録商標)を介して通信を行う。
【0110】
上述したように、図5及び図6は、本発明のある実施形態による安全モードにおいて動作状態になる、ユーザコンピュータ108にて実行される異なったアプリケーションの効果を説明している。先に述べたように、図5は、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムが動作アプリケーションであることを停止した場合に動作する、本発明のデータコミュニケーションシステムにおける1つの方法を示しているフローチャートである。図5によれば、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、ウィンドウの焦点が失われたという表示を受信する(ステップ300)。すると、ステップ310において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、安全モードが終了されたという指示を切換用システム102へ送信する。切換用システム102を含む本発明の実施形態においては、このことは、安全モードが終了されたという指示を切換用システム制御プログラムへ送信する安全モードアプリケーションプログラムによって遂行されてもよい。このことは、USBのエンドポイント通信チャネルを介して達成することができ、ここで、切換用システム102(すなわち、エンドポイント装置)は、USBドライバインターフェイスユーザコンピュータ108(すなわちUSBホスト装置)によって、イーサネット(登録商標)装置として認識される。
【0111】
ステップ320において、切換用システムは、入力データを、入力装置から通信路P2aによってユーザコンピュータまで、暗号化されない状態で送信することができる。切換用システム400の状況では、非安全モードを開始するようにそれに命令する指示が、GPIOインターフェイス436を介して、USB制御装置プロセッサ438へ送信される。USB制御装置プロセッサ438は次いで、SIM433に、このデータをI/Oポート432から受信してそれをSIM431へ転送するように指示を行い、SIM431は、このデータを、I/Oポート430を介してユーザコンピュータ108におけるUSBホストシステムへ送信する。
【0112】
先に言及したように、図6は、安全モードアプリケーションプログラムがユーザコンピュータ108で再開される場合、本発明のデータ通信システムが動作することができる1つの方法を示すフローチャートである。図6によれば、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムが、ウィンドウ焦点が得られたという表示を受信し(ステップ330)、安全モードが開始されたという指示を切換用システムへ送信する(ステップ340)。切換用システム400が含まれる本発明の実施形態においては、この後者のステップは、安全モードが開始されたという指示を切換用システム制御プログラムへ送信する安全モードアプリケーションプログラムによって遂行されてもよい。
【0113】
次いで、ステップ380において、切換用システムは、入力装置からの入力データを暗号化のために暗号化装置へ転送し、次いで、その暗号化済み入力データを、通信路P2bを介してアクセス型コンピュータへの伝送するためにユーザコンピュータへ送信する。切換用システム400において、このことは、切換システム制御プログラムが安全モードを開始するようにそれに命令する指示をGPIOインターフェイス436によってUSB制御装置プロセッサ438へ送信されることで、遂行されてもよい。USB制御装置プロセッサ438は次いで、SIE433に、データのSIE431への転送を停止し、代わりに、USBポート432からのデータをGPIOインターフェイス436によってプロセッサ402へ転送するように指示する。入力装置116及び118からの入力データは、次いで、暗号化のために切換用システム制御プログラムへ転送され、更に、上で説明したものと同じ方法で、アクセス型コンピュータ110へ送信される。
【0114】
図11A及び図11Bは、切換用システム102(図3)が組み込まれるシステムの代替の実施形態を例示している。図11Aにおいて、コンピュータ(例えば、図3に示されたコンピュータ108)の内部に普通に組み込まれたネットワークインターフェイス502が、切換用システム504の中に一体化されている。本実施形態では、暗号化されたデータは、ネットワーク506を介して、処理のためのサーバあるいはリモートコンピュータ508へ直接送信される。この装置504が、暗号化/復号化及び/又は認証の要件をまったく有さない別のウェブサイトへアクセスするために利用される場合、非安全モードで機能する。非安全モードでは、インターフェイス502によって別のサイトから受信されたデータは、切換装置512によって暗号化装置505へ転送されてもよい。暗号化装置505において、受信データは、暗号化装置によって処理される(暗号化/復号化なしで)とともに、切換装置512を介してディスプレイ装置510へ送信されてもよい。例えば、暗号化装置505には、インターネットアクセスをもたらすためのインターネットブラウザプログラムが含まれてもよい。アクセスされたウェブページデータは、リモートサーバ(例えばコンピュータ508)から通信ネットワーク506を介して切換用システム504へ送信され、ここで、そのデータはインターフェイス502によって受信される。インターフェイス502から、受信済みウェブページデータは、切換装置512によって暗号化装置505へ転送される。このウェブページデータは次いで、切換装置512によってディスプレイ装置510へ転送されるのに先立って、暗号化装置505において実行されるブラウザプログラムによって処理される。
【0115】
しかしながら、装置504が安全モードで使用される場合、リモートコンピュータ508から受信された暗号化済みデータが暗号化装置505によりいったん復号化されると、復号化されたこの受信データは、ディスプレイ装置510に表示されてもよい。ディスプレイ装置510は、ディスプレイドライバ(例えばVGAカード)と安全装置504へ接続されるモニターとが含まれてもよい。図11Bにおいて、安全装置516は安全装置504(図11A)とは同一であるが、装置516(図11B)には一体化型ディスプレイ装置が含まれる。この一体化型ディスプレイ装置は、暗号化装置518(また、図4のディスプレイ406も参照)の内部に組み込まれてもよい。あるいは、専用のディスプレイ装置を安全装置516へ直接、取り付けてもよい。図11A及び図11Bに例示された両方の安全装置504及び516には、それぞれ異なった外部ディスプレイ装置で使用するための複数のディスプレイドライバが含まれてもよい。従って、それぞれの装置504,516には、接続体をこれらのディスプレイ装置へ支持するための1つ以上の外部コネクタが組み込まれてもよい。
【0116】
本発明は、好ましい実施形態に関連して説明し例示してきたが、多くの変形及び修正を本発明の範囲から逸脱することなく施すことができることは、当業者に明らかである。本発明は、従って、上で述べられた方法論あるいは構成の厳密な細部に限定されるものではなく、そのような変形及び修正は、本発明の範囲内に含まれるものと意図されている。これらの処理それ自体に必要あるいは固有である範囲を除いて、本開示において説明された方法あるいは処理のステップあるいは段階への特定の順序は、図面を含めて何の意味もない。多くの事例において、処理ステップの順序は、説明された方法の目的、効果あるいは趣旨を変更することなく変えることができる。
【図面の簡単な説明】
【0117】
【図1】図1は、本発明の実施形態によるデータ通信システムを例示するためのブロック図である。
【図2】図2は、本発明の実施形態による切換用システムを含むデータ通信システムを例示するブロック図である。
【図3】図3は、本発明の実施形態によるデータ通信システムの安全伝送路を例示する概略図である。
【図4A】図4Aは、本発明の実施形態による安全モードにおける切換用システムの動作を例示するフローチャートである。
【図4B】図4Bは、本発明の実施形態による安全モードにおける切換用システムの動作を例示するフローチャートである。
【図5】図5は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図6】図6は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図7】図7は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図8】図8は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図9】図9は、本発明の実施形態による切換用システムのコンポーネントを例示するブロック図である。
【図10】図10は、本発明の実施形態によるUSB制御装置のブロック図である。
【図11A】図11Aは、本発明の実施形態による切換用システムが組み込まれるシステムの代替の実施形態を例示するシステムブロック図である。
【図11B】図11Bは、本発明の実施形態による切換用システムが組み込まれるシステムの代替の実施形態を例示するシステムブロック図である。
【技術分野】
【0001】
本特許文書の開示の一部には、著作権保護を受ける題材が含まれる。この著作権所有者は、この特許文書あるいは特許開示のいずれかが特許商標庁のファイルあるいは記録文書に掲載されているときには、その複製に対する異議を有しないが、そうでないときには、すべての著作権を完全に保有するものである。
【0002】
本発明は、一般には所望の通信モードに合致させるために、更に詳しくは、安全な通信が必要であるか、あるいは、安全でない通信が必要であるかに基づいて、安全通信路、あるいは、非安全通信路をもたらすために、通信路を切り換えるためのシステム及び方法に関する。
【発明の開示】
【課題を解決するための手段】
【0003】
本発明のある実施形態によれば、データを通信するための方法が提供される。この方法は、1つ以上の入力装置からデータを受信し、第1のコンピュータから第1の通信モードが選択されたことを示す第1の指示を受信した場合、第1のコンピュータへデータを伝送すること含んでもよい。このデータは、第1のコンピュータから第2の通信モードが選択されたことを示す第2の指示を受信した場合、第2のコンピュータへ伝送されてもよい。
【0004】
本発明の別の実施形態によれば、第1のコンピュータは、ユーザが第1のコンピュータにおいて第1のアプリケーションプログラムを起動したことに応じて、第1の指示を送信してもよい、それによって、第1のコンピュータは、ユーザが第1のコンピュータにおいて第2のアプリケーションプログラムを起動したことに応じて、第2の指示を送信してもよい。
【0005】
本発明の別の実施形態によれば、第1のコンピュータから第2の指示を受信した場合、第2のコンピュータから伝送される、データへの応答を受信してもよい。第1のコンピュータから第2の指示を受信した場合、第1のコンピュータへ受信された応答を伝送してもよい。
【0006】
本発明の別の実施形態によれば、第2のコンピュータへデータを伝送することは、第1のコンピュータのネットワークインターフェイスを使用し、第2のコンピュータへデータを伝送し、応答を受信することは、第1のコンピュータのネットワークインターフェイスを使用し、伝送された入力データへの応答を第2のコンピュータから受信する、ことを含んでもよい。
【0007】
本発明の別の実施形態によれば、第2のコンピュータへ入力データを伝送することは、そのデータを暗号化し、暗号化されたデータを第2のコンピュータへ伝送することを含んでもよい。
【0008】
本発明の別の実施形態によれば、第2のコンピュータから受信した応答は暗号化されてもよい。さらに、第1のコンピュータへ受信された応答を伝送することは、その受信された応答を復号化し、復号化された受信された応答を第1のコンピュータへ伝送することを含んでもよい。
【0009】
本発明の別の実施形態によれば、データを通信するためのシステムは、第2のコンピュータから第1の通信モードが選択されたことを示す第1の指示を受信した場合、1つ以上の入力装置からデータを受信し、データを第2のコンピュータへ伝送する、ようにプログラムされていてもよい少なくとも第1のコンピュータを含む。データは、第2のコンピュータから第2の通信モードが選択されたことを示す第2の指示を受信した場合、第3のコンピュータへ伝送されてもよい。
【0010】
本発明の別の実施形態によれば、第2のコンピュータは、ユーザが第2のコンピュータにおいて第1のアプリケーションプログラムを起動したことに応じて第1の指示を送信してもよい、また、第2のコンピュータは、ユーザが第2のコンピュータにおいて第2のアプリケーションプログラムを起動したことに応じて第2の指示を送信してもよい。
【0011】
本発明の別の実施形態によれば、第1のコンピュータは、第2のコンピュータから第2の指示を受信した場合、第3のコンピュータから伝送される、データへの応答を受信する、ようにプログラムされていてもよい。受信された応答は、第2のコンピュータから第2の指示を受信した場合、第2のコンピュータへ伝送されてもよい。
【0012】
本発明の別の実施形態によれば、第1のコンピュータは、第2のコンピュータのネットワークインターフェイスを使用し、第3のコンピュータへデータを伝送するようにプログラムされている。伝送されたデータは、第2のコンピュータのネットワークインターフェイスを使用し、第3のコンピュータから受信される。
【0013】
本発明の別の実施形態によれば、第1のコンピュータは、第3のコンピュータへデータを伝送することが、そのデータを暗号化し、暗号化されたデータを第3のコンピュータへ伝送する、ことを含んでもよいようにプログラムされている。
【0014】
本発明の別の実施形態によれば、第3のコンピュータから受信した応答は暗号化されており、また、第1のコンピュータは、第2のコンピュータへ受信された応答を伝送することが、受信された応答を復号化し、復号化された受信された応答を第2のコンピュータへ伝送する、ことを含んでもよいようにプログラムされている。
【0015】
本発明の別の実施形態によれば、暗号化装置を使用する通信ネットワークを介してデータ通信を提供する方法が提供される。この方法は、ユーザを認証する暗号化装置に基づいて、第1のデータを暗号化することを含んでもよい、ここで、暗号化された第1のデータは、暗号化装置から第2のコンピュータへの伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい。第2のコンピュータにおいて、暗号化された第1のデータは復号化されてもよい、また、暗号化された第2のデータは、復号化された第1のデータに応じて生成されてもよい。生成された暗号化された第2のデータは、暗号化装置への伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい、また、暗号化装置において、第1のコンピュータに関連したインターフェイスを介して受信された送信後の暗号化された第2のデータは、復号化されてもよい。第1のコンピュータは、復号化された第2のデータに基づいて、動作を実行してもよい。
【0016】
本発明の別の実施形態によれば、ユーザを認証することは、認証プロセスを開始するためのアプリケーションプログラムを起動することを含んでもよい。
【0017】
本発明の別の実施形態によれば、認証プロセスは、暗号化装置と第1のコンピュータとの間に接続状態をもたらす、起動されたアプリケーションプログラムを含んでもよい。
【0018】
本発明の別の実施形態によれば、認証プロセスは、アプリケーションプログラムによって生成されたプロンプトを受信し、ユーザに関連した指紋パターンを走査し、検出する、ことを含んでもよい。
【0019】
本発明の別の実施形態によれば、復号化された第2のデータは、第2のコンピュータ装置によって処理された第1のデータに応じて生成された表示データを含んでもよい。
【0020】
本発明の別の実施形態によれば、インターフェイスは、ユニバーサルシリアルバス(USB)インターフェイス及びネットワークインターフェイスを含んでもよい。
【0021】
本発明の別の実施形態によれば、第1のデータは、キーボード装置、マウス装置、及び/又は、周辺装置によって生成されてもよい。
【0022】
本発明の別の実施形態によれば、第1のコンピュータへ結合された暗号化装置を使用し、第1のコンピュータと第2のコンピュータとの間で通信ネットワークを介してデータ通信する方法が提供される。この方法は、データ通信に関連したアプリケーションプログラムの起動に基づいて、第1のデータを暗号化装置で暗号化することを含んでもよく、ここで、暗号化された第1のデータは、暗号化装置から第2のコンピュータへの伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい。第2のコンピュータにおいて、暗号化された第1のデータは、復号化されてもよい、また、暗号化された第2のデータは、復号化された第1のデータに応じて生成されてもよく、ここで、生成された暗号化された第2のデータは、暗号化装置への伝送されるために、第1のコンピュータに関連したインターフェイスへ送信されてもよい。また、暗号化装置において、第1のコンピュータに関連したインターフェイスを介して受信された送信後の暗号化ずみ第2のデータは、復号化されてもよく、ここで、暗号化装置は、復号化ずみ第2のデータを第1のコンピュータによって処理されるために、第1のコンピュータへ提供してもよい。
【0023】
本発明の別の実施形態によれば、第1のデータは、キーボード装置、マウス装置、及び/又は周辺装置によって生成されてもよい。
【0024】
本発明の別の実施形態によれば、アプリケーションプログラムは、第1のコンピュータに存在していてもよく、第2のコンピュータに存在している第2のアプリケーションプログラムと交信してもよい。第2のアプリケーションは、第2のデータを生成してもよく、第1のコンピュータにおけるアプリケーションプログラムは、復号化された第2のデータを表示してもよい。
【0025】
本発明の別の実施形態によれば、アプリケーションプログラムは、暗号化装置に存在していてもよく、また、第2のアプリケーションプログラムと交信してもよく、ここで、第2のアプリケーションは、第2のデータを生成してもよく、暗号化装置におけるアプリケーションプログラムは、復号化された第2のデータを表示してもよい。
【0026】
本発明の別の実施形態によれば、通信ネットワークはインターネットを含んでもよい。
【0027】
本発明の別の実施形態によれば、第1のデータを暗号化することは、アプリケーションプログラムに関連するウィンドウが焦点されていることに基づいて、暗号化装置で第1のデータを暗号化する、ことを含んでもよい。
【0028】
本発明の別の実施形態によれば、第1のコンピュータと第2のコンピュータとの間で通信ネットワークを介して安全なデータ伝送を生成するための安全なシステムが提供される。本システムは、1つ以上の入力装置から第1のデータを受信するために適合された切換装置と、安全なデータ伝送に関連し、起動されているアプリケーションプログラムに基づいて、受信された第1のデータを暗号化するために、切換装置から転送された第1のデータを受信するように適合された暗号化装置と、第1のコンピュータに関連し、通信ネットワークを介して第2のコンピュータへの伝送するための暗号化された第1のデータを受信するように適合されたインターフェイスと、第1のコンピュータに関連したディスプレイ装置と、を含んでもよく、ここで、第2のコンピュータは、暗号化された第1のデータを受信してもよく、暗号化された第2のデータを生成してもよい。第2のコンピュータにおいて生成された暗号化された第2のデータは、通信ネットワークからインターフェイスによって受信され、転送のために切換装置へ送信されてもよく、ここで、切換装置は、暗号化された第2のデータを復号化するために、暗号化装置へ暗号化された第2のデータを転送してもよい。切換装置は、暗号化装置からディスプレイ装置におけて表示するために、第1のコンピュータへ、復号化された第2のデータを転送してもよい。
【0029】
本発明の別の実施形態によれば、インターフェイスはネットワークインターフェイスを含んでもよい。
【0030】
本発明の別の実施形態によれば、バイオメトリック認証装置は、ユーザに認証プロセスを実行するよう促すアプリケーションプログラムと通信してもよい。暗号化装置は、入力データを暗号化するのに先立ってユーザを認証してもよい。
【0031】
本発明の別の実施形態によれば、バイオメトリック認証装置は、指紋スキャナを含んでもよい。
【0032】
本発明の別の実施形態によれば、切換装置は、1つ以上の入力装置と、第1のコンピュータと、暗号化装置との間でデータ切り換えを提供するUSB制御装置を含んでもよい。
【0033】
本発明の別の実施形態によれば、クライアントコンピュータとともに動作する入力装置から入力を受信しクライアントコンピュータとともに動作するディスプレイ装置に情報を表示するサーバコンピュータと交信しているアプリケーションに安全性を提供する方法を提供する。この方法は、クライアントコンピュータへ入力された非暗号化データを提供することなく、入力装置を介して入力されたアプリケーションに関連するデータを暗号化することを含んでもよい。この暗号化されたデータは、ネットワークを介してサーバコンピュータへ伝送されるが、ここで、サーバコンピュータへ伝送された暗号化されたデータは復号化される。このサーバコンピュータは、復号化されたデータに基づいて動作してもよい、また、クライアントコンピュータにおける表示のためのデータを提供してもよい。サーバコンピュータによって提供されたデータは、クライアントコンピュータのディスプレイ装置に表示されるために伝送されてもよく、ここで、ディスプレイ装置は、サーバコンピュータによって提供された伝送されたデータを表示してもよい。
【0034】
本発明の別の実施形態によれば、サーバコンピュータによって提供されたデータは、このようなデータをクライアントコンピュータへの伝送に先立って暗号化されてもよく、このようなデータは、伝送の後に、及び、表示の前に、復号化されてもよい。復号化されたデータは、クライアントコンピュータのディスプレイ装置に表示されてもよい。
【0035】
本発明の別の実施形態によれば、クライアントコンピュータへ伝送された暗号化されたデータは、クライアントコンピュータとは独立して復号化されてもよく、また、このような復号化されたデータは、ディスプレイ装置におけて表示されるためにクライアントコンピュータへ提供されてもよい。
【0036】
本発明の別の実施形態によれば、入力装置は、キーボード、及び/又は、ポインティングデバイスを含んでもよい。
【0037】
本発明の別の実施形態によれば、複数のアプリケーションと相互作用し、クライアントコンピュータと動作する入力装置からの入力を受信するサーバコンピュータと通信する、これら1つ以上のアプリケーションのうちの少なくとも1つのアプリケーションへ安全性を提供する、クライアントコンピュータのための方法が提供される。この方法は、以下のステップを含んでもよい。クライアントコンピュータにおいて、少なくとも1つのアプリケーションが、焦点の合っているウィンドウを含む場合、入力装置を介して入力された少なくとも1つのアプリケーションに関連しているデータは、入力された非暗号化データをクライアントコンピュータへ提供されることなく、暗号化されてもよい。この暗号化されたデータは、ネットワークを介してサーバコンピュータへ伝送されてもよく、ここで、サーバコンピュータへ伝送された暗号化されたデータは、復号化されてもよい。このサーバコンピュータは、復号化されたデータに基づいて作動するとともに、クライアントコンピュータによって動作されるデータを提供してもよい。提供されたデータは、クライアントコンピュータへ伝送されてもよく、ここで、クライアントコンピュータは、提供されたそのデータに基づいて動作してもよい。少なくとも1つのアプリケーションが、クライアントコンピュータにおいて焦点の合っているウィンドウを含まない場合、入力装置を介して入力されたデータは、クライアントコンピュータによって処理されるために、暗号化されることなくクライアントコンピュータへ提供されてもよい。
【0038】
本発明の別の実施形態によれば、入力装置及びクライアントコンピュータへ連結された装置において、選択されたアプリケーションに関連するデータは、暗号化されてもよい。
【0039】
本発明の別の実施形態によれば、キーボードの出力部は、少なくとも1つの動作中のアプリケーションに関連したウィンドウに焦点が合っている場合、その少なくとも1つの動作中のアプリケーションと動作するために、クライアントコンピュータへ結合された装置の出力部へ結合されてもよい。
【0040】
本発明の別の実施形態によれば、キーボードの出力部は、少なくとも1つの動作中のアプリケーションに関連したウィンドウに焦点が合っている場合、クライアントコンピュータへ連結された装置の出力部へ自動的に結合されてもよい。
【発明を実施するための最良の形態】
【0041】
本発明は、添付図面の図に例示されており、これらの図は、例示的なものであって限定的なものではなく、また、それらの中で類似した符号は、類似部品あるいは対応部品を示すことを意図している。
【0042】
図1は、本発明のある実施形態によるデータ通信システム10を例示している。このデータ通信システム10には、ユーザコンピュータ12、アクセスされるコンピュータ(「アクセス型コンピュータ(accessed computer)」とも称される)18、ネットワーク20、及び切換用(switching)システム22が備えられている。
【0043】
ユーザコンピュータ12には、ユーザによって操作される任意のコンピュータが含まれてもよい。本発明のある実施形態では、ユーザコンピュータ12もまた、他のコンピュータからのデータを受信するとともにそのデータに作用することができる。例えば、ユーザコンピュータ12には、サーバから受信したデータを受信しかつ表示することのできるPC、ワークステーション、あるいはPDAが含まれてもよい。ユーザコンピュータ12に関連したものは、ユーザへ出力をもたらすための1つ以上の出力装置14、例えばディスプレイあるいはプリンタであってもよい。また、マウス及び/又はキーボードのような1つ以上のデータ入力装置16が、切換用システム22を介してユーザコンピュータ12と交信するようになっていてもよい。
【0044】
本発明のある実施形態では、ユーザコンピュータ12には、複数の通信モードの1つが望ましいことを切換用システム22へ指示するための機能性もまた含まれる。それぞれの通信モードは、例えば、その通信の受信端部での異なったコンピュータのような異なった通信宛先によって特徴付けられることができる。例えば、ユーザコンピュータ12が2つ以上のアプリケーションプログラムを同時に実行することができる場合、ユーザコンピュータ12は、第1組、第2組、あるいは第3組のアプリケーションプログラムからそれぞれある1つのアプリケーションプログラムが動作中であるかどうかに基づいて、第1、第2、あるいは第3の通信モードが望ましい旨の切換用システム22への指示をもたらすことができる。例えば、動作中のアプリケーションプログラムには、焦点の合っていることを示すアプリケーションプログラムウィンドウが含まれてもよい。
【0045】
アクセス型コンピュータ18には、他のコンピュータと交信することのできる任意のコンピュータが含まれてもよい。例えば、アクセス型コンピュータ18には、ネットワークを介してクライアントと交信することのできるコンピュータサーバが含まれてもよい。必要があれば、アクセス型コンピュータ18は、例えば暗号化及び復号化を利用する確実な方法で、他のコンピュータと交信することができる。
【0046】
アクセス型コンピュータ18はネットワーク20を介して切換用システム22と交信する。ここで、このネットワークは、コンピュータシステムが、以下の1つ以上、すなわち、私設回線、専用回線、有線あるいは無線のLAN及びWAN、及びインターネットの1つ以上を含むが、これらに限定されるものではなく、交信することができる通信路を含むように、広く使用されている。
【0047】
更に、切換用システム22を介してアクセス型コンピュータ18と交信するネットワークには、ユーザコンピュータ12が含まれてもよい。例えば、図2に示され、かつ、以下で更に説明されるように、切換用システム22は、ユーザコンピュータ12と、ユーザコンピュータ12及びアクセス型コンピュータ18の間に通信路をもたらすネットワーク、例えばネットワーク24とを介して、アクセス型コンピュータ18と交信するものであってもよい。通信路という用語は、物理的通信路、論理的通信路、あるいはこれらの組み合わせを示すために、ここでは広く使用されている。
【0048】
切換用システム22によって、入力装置16とユーザコンピュータ12との間に、また、入力装置16とアクセス型コンピュータ18(ネットワーク20を介する)との間に、通信路がもたらされる。切換用システム22は、(a)複数の通信モードのうちの1つが望ましい旨の指示に基づいてこれらの通信路の間で入力装置16を動的に切り換えるとともに、(b)動作中の通信路の受信端部でデータを入力装置16からこのコンピュータシステムへ伝送するように機能する。
【0049】
先に述べたように、切換用システム22は、ユーザコンピュータ12から、複数の通信モードのうちの1つが望ましい旨の指示を受信することができる。例えば、ユーザコンピュータ12は、動作中の第1組のアプリケーションからの1つのアプリケーションに基づいて第1の通信モードが望ましい旨の指示を、切換用システム22へ送信することができ、かつ、この指示を受信したときに切換用システム22は、入力装置16とユーザコンピュータ12との間の通信路を動作状態にすることができる。動作中の第2組のアプリケーションの内の1つのアプリケーションに基づいて、第2通信モードが望ましい旨の指示を、ユーザコンピュータ12が切換用システム22へ送信すると、切換用システム22は、入力装置16とアクセス型コンピュータ18との間の通信路を動作状態にすることができる。
【0050】
本発明のある実施形態では、入力装置16とアクセス型コンピュータ18との間の通信路が動作状態にある通信モードにおいて、切換用システム22は、アクセス型コンピュータ18からデータを受信するとともに受信したそのデータをユーザコンピュータ12へ転送するように機能する。例えば、動作中の第2組のアプリケーションからの1つのアプリケーションに基づいて第2通信モードが望ましい旨の指示をユーザコンピュータ12が切換用システム22へ送信する例では、切換用システム22は、入力装置16からアクセス型コンピュータ18へデータを伝送して、そこでこのデータを処理し、切換用システム22へ返答を送信することができる。切換用システム22は次いで、その返答をユーザコンピュータ12へ、例えば動作中の第2組のアプリケーションから、作用、例えばユーザへの表示を行うためのアプリケーションに伝送することができる。
【0051】
必要があれば、切換用システム22は、例えば暗号化及び復号化を利用する確実な方法で、他のコンピュータシステムと交信することができる。従って、先の例では、切換用システム22は、データをネットワーク20の向こうのアクセス型コンピュータ18へ伝送する前に、入力装置16からのそのデータを暗号化することができる。アクセス型コンピュータ18は次いで、そのデータを復号化し、それを処理し、また、暗号化された返答を切換用システム22へ伝送することができる。切換用システム22は次いで、この返答をユーザコンピュータ12へ伝送するのに先立って、それを復号化することができる。
【0052】
切換用システム22には、上で説明された機能を実行することのできる任意のコンピュータシステムが含まれてもよい。これらの機能は、ハードウェアあるいはソフトウェアあるいはこれらの組み合わせによって、実施することができる。切換用システム22と機能を実行できるコンポーネントとの異なった実施形態の例は、以下で更に説明される。
【0053】
図1及び図2には、単独のアクセス型コンピュータ18が示されているが、このような任意の数のシステムは、通信路どうしの間で入力装置16を、上で説明されたものに類似した方法で、それぞれ動的に切り換える切換用システム22が含まれる場合を、本発明の範囲内に収容することができる。例えば、5つの通信モードが、入力装置16と、ユーザコンピュータ12及び異なった4つのアクセス型コンピュータのような異なった5つの通信宛先との間の通信路に、それぞれ対応するようにすることができる。
【0054】
コンピュータという用語はここでは、コンピュータのハードウェアとソフトウェアとを意味するために、あるいはコンピュータのソフトウェアだけを意味するために、広く使用されている。例えば、上で述べた4つのアクセス型コンピュータはすべて、同一のハードウェアプラットフォームにおいて同時に常駐している別個のサーバプリケーションであってもよい。
【0055】
上で説明された本発明の実施形態は、ユーザがコンピュータ、例えばアクセス型コンピュータ18へのアクセスを希望しているものの、そのユーザのコンピュータ、例えばユーザコンピュータ12が信頼できるコンピュータではないという場合、有利であり得る。例えば、そのユーザのコンピュータは、キータッチのようなコンピュータへのデータ入力が監視されかつ第3者へ伝送されるときには、ウイルスのような外側からの攻撃に対して脆弱であるかもしれない。このような場合において、上で説明された本発明の実施形態によれば、ユーザが、例えばユーザコンピュータ12における対応クライアントアプリケーションによって、アクセス型コンピュータ18へのアクセスを試みると、切換用システム22は、入力装置16からのデータを、処理のためにアクセス型コンピュータ18へ導くことができるとともに、アクセス型コンピュータ18から受信した応答を、作用、例えばユーザへの表示のためにユーザコンピュータ12におけるクライアントアプリケーションへ送信することができる。従って、そのような場合には、アクセスされるコンピュータのために意図されたユーザからのデータ入力は、このユーザのコンピュータを通して送信されず、また、上で述べた攻撃に対して脆弱なものではない。
【0056】
上で述べたように、アクセス型コンピュータ18は、例えば暗号化及び復号化を利用する確実な方法で、他のコンピュータと交信することができる。例えば、アクセス型コンピュータ18とユーザコンピュータ12とは、トランスポート層セキュリティ(TLS)プロトコルを利用すると、確実に交信することができる。
【0057】
図3は、安全通信をもたらす、本発明のある実施形態によるデータ通信システムを例示している。安全なデータ通信システム100には、先に説明したように、切換用システム102が含まれる。図3の実施形態に示されているように、切換用システム102には、データ切換装置104と暗号化装置106とが含まれる。また、安全な通信システム100には、上で説明したように、ユーザコンピュータ108とアクセス型コンピュータ110とが含まれる。図3に示されたように、ユーザコンピュータ108は、ネットワーク112を介してアクセス型コンピュータ110と交信状態にある。図3の実施形態では、ディスプレイ装置114が、ユーザコンピュータ108と、マウス116及び/又はキーボード118のような1つ以上のデータ入力装置とに、関連付けられている。図3の実施形態によれば、アクセス型コンピュータ110には1つ以上のサーバコンピュータが含まれてもよい。
【0058】
入力データをもたらす他の装置が、代わりに利用されてもよい。例えば、キーボード116及びマウス118に加えて、あるいはこれらの代わりに、データは、タッチスクリーンディスプレイ、音声認識システム、及び/又は、入力データをもたらすことのできる別の周辺装置を使用して、入力されてもよい。
【0059】
システム100の様々なコンポーネントどうしのデータ通信は、通信路P1、P2、P3、P4及びP5に沿って行われるが、これらの通信路のそれぞれには、先に述べたように、物理的通信路、あるいは論理的通信路、あるいはこれらの組み合わせが含まれてもよい。それぞれの通信路には、光ファイバー媒体、無線手段(例えば高周波及び赤外線)、あるいはデータ転送媒体に基づいたケーブルのような異なった通信媒体が採用されてもよい。
【0060】
図3の実施形態によれば、通信路P2は、少なくとも2つの論理的通信路(例えばP2a及びP2b)が含まれる物理的通信路である。以下で更に説明するように、通信路P2aでは、ローカル処理(例えば、ユーザコンピュータ108におけるプログラム実行による)のために、切換用システム102とユーザコンピュータ108との間でデータが搬送される。以下で更に説明するように、通信路P2bでは、アクセス型コンピュータ110への転送及びそこからの転送(例えば、ネットワーク112にわたる通信のためにユーザコンピュータ108のネットワークインターフェイスを使用する)のために、切換用システム102とユーザコンピュータ108との間でデータが搬送される。
【0061】
マウス116及びキーボード118から受信された入力データは、通信路P1に沿ってデータ切換装置104へ送信される。データ切換装置104は、そのデータが通信路P3に沿って暗号化装置106へ切り換えられるべきものであるかどうかを判定する。安全モード通信セッションが確立されていると、入力データは、通信路P1及びP3を介して暗号化装置106へ転送されてもよい。あるいは、安全モード通信セッションが必要でないときには、通信路P1に沿う入力データは、ローカル処理(例えば、ユーザコンピュータ108におけるプログラム実行による)のために、通信路P2aに沿ってユーザコンピュータ108へ転送されるように、切り換えられる。
【0062】
ユーザコンピュータ108によって生成されたディスプレイ情報は、ディスプレイ装置114に表示される。このディスプレイ情報は、ユーザコンピュータ108におけるプログラム実行の結果として、あるいはネットワーク112にわたるアクセス型コンピュータ110からユーザコンピュータ108によって受信されたデータ情報の結果として、生成されてもよい。
【0063】
データは、ユーザコンピュータ108とアクセス型コンピュータ110との間で送信されるとともに受信される。例えば、暗号化された入力データは、通信路P1及びP3に沿って暗号化装置106へ送信されてもよい。暗号化の次に、暗号化済み済みデータは、通信路P3及びP2bを介してユーザコンピュータ108へ送信され、ここで、その暗号化済みデータは、ユーザコンピュータ108のネットワークインターフェイス(図示せず)を介して、通信路P4及びP5に沿ってアクセス型コンピュータ110へ伝送される。これは、復号化済みデータがユーザコンピュータ108によって局部的に処理されないときの、安全な動作モードである。代わりに、それは、処理のためにアクセス型コンピュータ110へ送信され、これによって、アクセス型コンピュータ110が、復号化の際に暗号化済みデータを処理するために、単に処理されてもよい。
【0064】
あるいは、例えば、暗号化されなかった入力データは、ローカル処理のために、通信路P1及びP2aを介して、ユーザコンピュータ108へ送信される。ユーザコンピュータ108による非暗号化入力データの処理の後に、非暗号化データは、ユーザコンピュータ108におけるプログラム実行によって生成され、次いで、ユーザコンピュータ108のネットワークインターフェイスを介して、通信路P4及びP5に沿ってアクセス型コンピュータ110へ送信される。また、ユーザコンピュータ108で局部的に処理された非暗号化入力データは、ディスプレイ装置114に表示される。これは、入力データがコンピュータ108によって直接処理されるときの、非安全な動作モードである。
【0065】
アクセス型コンピュータ110によって生成されたデータは、ネットワーク112にわたる安全なデータ伝達のためのユーザの要件及び要望に基づいて、暗号化されるあるいは暗号化される。例えば、ユーザコンピュータ108におけるプログラム実行へアドレス指定された、アクセス型コンピュータ110から受信された非暗号化データは、データがアドレス指定するプログラムによって、ユーザコンピュータ108により局部的に処理されてもよい。アクセス型コンピュータ110から受信され、かつ、ユーザコンピュータ108によって局部的に処理された非暗号化データは、その後、ディスプレイ装置114においてユーザへ表示されてもよい。あるいは、例えば、ユーザコンピュータ108による偶発的処理のためにアクセス型コンピュータ110によって生成された暗号化済みデータは、通信路P5及びP4を介して、ユーザコンピュータ108へ送信されてもよい。この暗号化済みデータは、切換用システム102へアドレス指定される。従って、この暗号化済みデータが、ユーザコンピュータ108のネットワークインターフェイスによって受信されると、この暗号化済みデータは、通信路P2bに沿って切換用システム102及び切換装置104へ伝送される。この暗号化済みデータは、切換装置104で受信され、通信路P3を介して暗号化装置106へ転送され、ここで、この暗号化済みデータは復号化される。この復号化処理の次に、復号化済みデータは、通信路P3を介して切換装置104へ送信され、ここで、復号化済みデータは、通信路P2aを介してユーザコンピュータ108へ転送される。この復号化済みデータは、その後、ユーザコンピュータ108で、ディスプレイ114において表示されるために、局部的に処理される。
【0066】
図4A及び図4Bは、本発明のある実施形態による暗号化モードの動作の作用的フローチャートを例示している。このフローチャートは、図3に示された安全なデータ通信システム100に関連して記載されている。ステップ202において、暗号化装置106は、切換用システム102を形成するために、コネクタ、無線リンク、あるいは他の適切な連結/通信手段(図示せず)によって切換装置104へ接続される。これは、暗号化装置106及び切換装置104が単一のユニットの内部にあらかじめ一体化されている場合は、必要でない。切換用システム102は、ユニバーサルシリアルバス(USB)接続及び/又は他の接続媒体及びプロトコルによって、ユーザコンピュータ108と入力装置116及び118との間に接続することができる。例えば、マウス116及びキーボード118からの入力データは、通信路P1によって表示されたように、USB接続を介して切換用システム102へ接続されてもよい。同様に、切換用システム102とユーザコンピュータ108との間の接続もまた、通信路P2によって表示されたように、USB接続を介して起きることもある。暗号化装置106が、切換装置104へ取り付けられる取り外し可能な装置であるときには、それは、接続を確立するための様々なコネクタを組み込むことができる。いったん取り付けられると、暗号化装置106は、通信路P3を介して切換装置104の間でデータをやりとりする。
【0067】
ステップ204において、切換用システム102が、入力装置116及び118とユーザコンピュータ108との間に接続されると(ステップ202)、ユーザは、ユーザコンピュータ108のユーザとアクセス型コンピュータ110との間の安全なデータ通信をもたらすために、ユーザコンピュータ108においてアプリケーションプログラムを起動することができる。アプリケーションプログラムが起動されると(ステップ204)、以下で更に説明されるように、認証処理を開始するために、ステップ206において、アプリケーションプログラムは切換装置104及び暗号化装置106と通信を行う。この認証処理によって、ユーザの認証がされると、切換用システム102を介してユーザコンピュータ108とアクセス型コンピュータ110との間の安全な暗号化データ通信が始まる。
【0068】
ステップ206において、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、切換用システム102がユーザコンピュータ108へ接続されているかどうかを判定する。切換用システム102がユーザコンピュータ108へ接続されているときには、ステップ208において、そのアプリケーションプログラムは、切換用システム102を使用して認証処理を遂行するようにユーザに促す(例えば、ディスプレイ装置114において)。切換用システム102には、ユーザに認証処理を開始するように促すディスプレイが含まれてもよい。例えば、切換用システム102には、ディスプレイ114によってユーザを促すアプリケーションプログラム(ユーザコンピュータ108における)に加えて、ユーザに彼らの人差し指を、切換用システム102と交信状態にあるかあるいは切換用システム102の内部に組み込まれた、指紋検出パッドの上に置くように促す表示が組み込まれてもよい。切換装置はその後、読み取られた指紋に基づいて、そのユーザが認識されたユーザかどうかを判定する。この認証処理はステップ209a、209b及び209cに示されている。指紋が検出されると(ステップ209a)、その指紋は、ステップ209bにおいて、切換用システム102の指定ユーザ(例えば、この装置を使用することが認証されたユーザ)に関連した記憶済み照合用指紋と比較される。読み取られた指紋と照合用指紋とが一致すると、切換用システム102はそのユーザを認証する(ステップ209c)。ステップ210において、ユーザが首尾よく認証されたことが判定されると(例えば指紋検出)、ステップ212において、切換用システム102が、交信を開始して、ユーザコンピュータ108にて実行されるアプリケーションプログラムにユーザが認証されたことを通知する。ステップ210において、ユーザが認証されなかったと判定されると、ステップ208及び209に示されるように、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、ユーザに、切換用システム102を利用して認証処理を行うように引き続き促すであろう。
【0069】
切換用システム102の中には、上で説明されたバイオメトリック手段に加えて、あるいはその手段に代わるものとして、他の認証手段が組み込まれてもよい。例えば、切換用システム102の内部には、パスワード保護型及び/又は個人識別コード(PIN)型のコード入力機能を使用することができる。
【0070】
ユーザコンピュータ108にて実行されるアプリケーションプログラムが、切換用システム102によって、ユーザが認証されたという承認を受信すると、ステップ214において、このアプリケーションプログラムは、切換用システム102への安全なデータ伝送についての要求を送信する。
【0071】
この要求が切換用システム102によって受信された後には、図4Bに示されたように、ステップ216において、切換用システム102においてマウス116及びキーボード118から受信されたデータ入力値は、切換装置104及び通信路P1及びP3を介して暗号化のために暗号化装置106へ転送される。このようにして、入力データは、安全な通信セッションが利用されるときに、暗号化されることなくユーザコンピュータ108へ到達することが制限される。
【0072】
ステップ220において、切換用システム102は、暗号化済みデータをアクセス型コンピュータ110へ転送するために、ユニバーサルシリアルバス(USB)コネクタを介して、その暗号化済みデータをユーザコンピュータ108へ送信する。例えば、暗号化装置106は、ユーザコンピュータ108及びアクセス型コンピュータ110のネットワークインターフェイス(例えばイーサネット(登録商標))によって認識されたネットワークプロトコルによって、その暗号化済みデータをネットワークパケットの中へフォーマットすることができるとともに、このネットワークパケットをアクセス型コンピュータ110へ転送することができる。このネットワークパケットは次いで、切換装置104により、通信路P3及びP2bに沿ってユーザコンピュータ108へ転送される。切換用システム102の内部に組み込まれた切換装置104とユーザコンピュータ108との間の接続性はUSBによって確立されているが、切換用システム102とユーザコンピュータ108との間でデータを結合するために、他の物理的コネクタ及び伝送プロトコルもまた利用されてもよい。
【0073】
ステップ222において、USB接続されたユーザコンピュータ108によってネットワークパケットが受信されるが、その理由は、そのネットワークパケットが、ユーザコンピュータ108へアドレス指定されるのではなく、ネットワーク112を介してそのアドレス指定された宛先へ、例えばアクセス型コンピュータ110において実行されるアプリケーションプログラムへ伝送されるために、ユーザコンピュータ108のネットワークインターフェイスへ付与されるからである。
【0074】
ステップ224において、ネットワークパケットがアドレス指定されたアクセス型コンピュータ110において、実行されるアプリケーションプログラムが、そのパケットの中に含まれた、暗号化済み入力データを受信するとともにそれを処理する。アクセス型コンピュータ110において実行されるアプリケーションプログラムは、ユーザコンピュータ108にて実行されるアプリケーションプログラムに関連していてもよく、それによって、アクセス型コンピュータ110において実行されるアプリケーションプログラムは、切換用システム102から受信された、暗号化済み入力データを処理し、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、アクセス型コンピュータ110からこの処理済みデータを受信してそれに作用を及ぼす(例えばそれを表示する)。
【0075】
アクセス型コンピュータ110が暗号化済み入力データを受信すると、このアプリケーションプログラムは、アクセス型コンピュータ110でこのデータを復号化する。この入力データには、アクセス型コンピュータ110でこのアプリケーションプログラムによって実行されるリモートウェブサイトに関連した表示済みウェブページにおいて、あるオプションを選択するためのマウスクリックが含まれてもよい。このウェブページは、局部的にアクセスされてもよく、ユーザコンピュータ108に関連したディスプレイ114に表示されてもよい。この入力データにはまた、アクセスされたウェブページにおける1つ以上のフィールドの中へ入力するためのキーボードデータが含まれてもよい。一般に、アクセス型コンピュータ110において実行されるウェブサイトあるいはアプリケーションプログラムとの間でデータをやりとりする周辺装置からの任意のデータには、入力データが含まれてもよい。
【0076】
ステップ226において、アクセス型コンピュータ110において実行されるアプリケーションプログラムは復号化済み入力データを処理する。入力データに基づいて、このアプリケーションプログラムは、ユーザコンピュータ108にて実行されるアプリケーションプログラムによって使用するための応答データを生成する。例えば、暗号化済み入力データに、アクセス型コンピュータ110において実行されるウェブサイトに関連したウェブページの特徴、あるいは、オプションにおけるマウスクリックが含まれる場合、このアプリケーションプログラムは、アクセス型コンピュータ110で、ユーザが選択したオプションに関連したウェブページグラフィックスを生成することにより、マウスクリックを処理する。このように、このアプリケーションプログラムは、アクセス型コンピュータ110でそれを処理するとともに、入力データに関連したグラフィックスを生成することにより、入力データに応答する。この応答データ(例えば画像データ)は、ユーザコンピュータ108にて実行されるアプリケーションプログラムによる偶発的処理のために、暗号化されるとともにネットワーク112を介して切換用システム102へ(ユーザコンピュータ108のネットワークインターフェイスを介して)伝送される。この暗号化済み応答データはユーザコンピュータ108のネットワークインターフェイスによって受信され、また、このデータが切換用システム102へアドレス指定され、かつ、ユーザコンピュータ108へ転送されないので、ネットワークインターフェイスは、通信路P5、P4、及びP2bによって表示されたように、そのデータをユーザコンピュータ108のUSBポートへ、また、切換用システム102の上へ送信する。
【0077】
ステップ228において、切換用システム102の内部に組み込まれた切換装置104は、暗号化された応答データを暗号化装置106へ転送する。暗号化装置106では、暗号化された応答データが復号化されるとともに、切換装置104へ返送される(通信路P3)。切換装置104は、復号化された応答データを通信路P2に沿ってユーザコンピュータ108のUSB接続へ転送する、あるいは、ここで、復号化された応答データは、ユーザコンピュータ108にて実行されるアプリケーションプログラムによって処理される。このアプリケーションプログラムは次いで、復号化された応答データをディスプレイ装置114に表示する(通信路P6)。
【0078】
図4A及び図4Bの実施形態に例示された様々なステップは、暗号化モードにて動作の間に、生成された入力データがユーザコンピュータ108によって受信される前に暗号化される、ということを示している。このことは、通信路P1、P3、P2aによって示されている。このように、図3、図4A及び図4Bに示された実施形態によれば、この暗号化済みデータは、ユーザコンピュータ108によって局部的に処理されることがない。これは、処理のために、通信ネットワークを介して、遠隔の安全サイト、例えばアクセス型コンピュータ110へ伝送される。アクセス型コンピュータ110においてこのデータは、通信路P4及びP5によって示されるように、復号化されるとともに処理される。処理されると応答データが生成されるが、このデータは、暗号化されるとともに、ユーザコンピュータ108を介して切換用システム102へ返送される。この応答データは、切換用システム102による復号化の後だけ、ユーザへの表示のためにユーザコンピュータ108へ送信される。このことは、認証済みソースから送信される応答データが、ユーザが予想したデータである、ということを保証する。ユーザコンピュータ108は、別のコンピュータ、例えばアクセス型コンピュータ110で行われた処理の結果である応答データを、表示するために処理することが可能である。これにより、安全な双方向性リンクが提供され、ここでの処理は、確実に伝送された入力データに直接的に反応する安全なサイトで行われる。
【0079】
ユーザコンピュータ108にて実行されるアプリケーションプログラムは、ユーザコンピュータ108へアクセス型コンピュータ110からダウンロードされてもよい、あるいは、切換用システム102の内部における記憶装置からユーザコンピュータ108の中に記憶されるとともに、ユーザコンピュータ108によって実行されてもよい。いったんダウンロードされると、アプリケーションプログラムは、例えば、ユーザコンピュータ108において認証ルーチンを局部的に実行することができる。あるいは、例えば、アプリケーションプログラムによって実行された認証ルーチンは、ユーザコンピュータ108から局部的にではなく、アクセス型コンピュータ110からアクセスすることができる。別の実施形態によれば、ユーザコンピュータ108にて実行されるアプリケーションプログラムは、暗号化装置106からアクセスすることができる、とともに、暗号化装置106から完全に実行することができる。
【0080】
図5〜図8は、本発明のある実施形態による安全モードにおいて作動するようになるユーザコンピュータ108にて実行される異なったアプリケーションプログラムの効果を示すフローチャートである。これらの効果は、図3において示された実施形態を利用して説明される。システム100の安全モード動作の間に、ユーザコンピュータ108にて実行されるアプリケーションプログラムは初めに、暗号化済み入力データがネットワーク112を介してアクセス型コンピュータ110へ伝送されるのに先立って、認証処理を促進する。認証に続いて、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムが動作アプリケーション(例えば、ディスプレイ装置114に稼働ウィンドウとして示されているこのアプリケーションプログラムに関連したウィンドウによって表示されたような)となる。その後、このアプリケーションプログラムに関連したウィンドウは、ユーザコンピュータ108でのユーザがユーザコンピュータ108にて実行される異なったアプリケーションプログラムで処理するように決定したかどうかに基づいて、「焦点が合って」(例えば、稼働中のウィンドウとして示された)いるかもしれないし、あるいは「焦点が合って」いないかもしれない。図5は、ユーザコンピュータ108において実行される安全モードアプリケーションプログラムが稼働アプリケーションであることを停止したときに、本発明のデータ通信システムが作動することのできる1つの方法を示しているフローチャートである。例えば、この安全モードアプリケーションプログラムが起動して、ユーザが認証された後に、ユーザはユーザコンピュータ108にて実行される別のアプリケーションプログラムで処理するように切り換えることができる。
【0081】
ステップ300において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、ウィンドウの焦点が失われたという指示を受信する。例えば、この安全モードアプリケーションプログラムは、ユーザコンピュータ108のオペレーティングシステムから、このアプリケーションがウィンドウ焦点を失ったことを指示する通知を受信することができる。次いで、ステップ310において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、安全モードが終了されたという表示を切換用システム102へ送信する。その結果、ステップ320において、切換用システム102は、入力データを、入力装置116及び118から通信路P2aによってユーザコンピュータ108まで、暗号化されない状態で送信することができる。
【0082】
図6は、安全モードアプリケーションプログラムがユーザコンピュータ108において再開されるときに、本発明のデータ通信システムが作動することのできる1つの方法を示すフローチャートである。例えば、安全モードアプリケーションプログラムが起動され、かつ、ユーザが認証された後に、ユーザは、ユーザコンピュータ108において実行され、安全モードアプリケーションプログラムからウィンドウの焦点を失わせるとともにバッククラウンドで引き続き実行される別のアプリケーションプログラムで処理するように切り換えることができる。その後、ユーザは、ユーザコンピュータ108において、再びそれで処理するように選択するとともに、それを動作中のアプリケーションプログラムとすることで、安全モードアプリケーションプログラムを再開することができる。
【0083】
ステップ330において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、ウィンドウ焦点が得られたという指示を受信する。例えば、この安全モードアプリケーションプログラムは、ユーザコンピュータ108におけるオペレーティングシステムから、このアプリケーションがウィンドウの焦点を得たという通知を受信することができる。次いで、ステップ340において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、安全モードが開始されたという指示を、切換用システム102へ送信する。その結果、ステップ380において、切換用システム102は、入力装置116及び118からの入力データを暗号化のために暗号化装置106へ転送し、次いで、その暗号化済み入力データを、通信路P4及びP4及びネットワーク112を介してアクセス型コンピュータ110への伝送するために、通信路P2bによって、ユーザコンピュータ108へ送信する。
【0084】
安全モードアプリケーションプログラムがユーザコンピュータ108において再開された場合、本発明のデータ通信システムが作動することができる別の方法を、図7のフローチャートに示す。図6のステップと同一の参照符号が付されている図7のステップは、図6に関連して上で説明されたものと同じ方式で遂行される。図7において、安全モードアプリケーションプログラムがウィンドウの焦点を得たという指示をそのアプリケーションプログラムが受信し(ステップ330)、安全モードが開始されたことをアプリケーションプログラムが切換用システム102へ通知した(ステップ340)後に、処理はステップ360から続けられてもよいが、ここでは、安全モードを開始する前に、切換用システム102は、例えば、図4Aのステップ209a、209b、及び209cに関連して先に説明されたものと同じような方法で、ユーザを再び認証することを試みる。ステップ370において切換用システム102は、ユーザが認証されたかどうかを判定する。この判定が否定的なものであれば、処理はステップ360へ戻り、そこで、ユーザは、再びユーザ自身を認証するように要求される。この判定が肯定的なものであれば、処理は、上で図6に関連して説明されたように、ステップ380から続けられる。
【0085】
図8は、安全モードアプリケーションプログラムがユーザコンピュータ108において再開されたときに本発明のデータ通信システムが作動することができる、別の方法を例示しているフローチャートを示している。図6及び図7のステップと同じ参照符号を有している図8のステップは、上で図6及び図7に関連して説明されたものと同じ方法で遂行される。図8において、安全モードアプリケーションプログラムがウィンドウの焦点を得たという指示をそのアプリケーションプログラムが受信し(ステップ330)、安全モードが開始されたことをそのアプリケーションプログラムが切換用システム102へ通知した(ステップ340)後に、処理はステップ350から続けられてもよいが、ここでは、安全モードを開始する前に、切換用システム102は、所定時間間隔が経過したかどうかを判定する。この時間間隔は、製造の時点に設定されてもよく、あるいはユーザによって設定されてもよい。この判定が否定的なものであれば、次いで処理は、ステップ380から続けられてもよい。この判定が肯定的なものであれば、切換用システム102は、図7のステップ360及び上でステップ370に関連して説明されたものと同じように、安全モードを開始する前にユーザを再び認証することを試みる。
【0086】
図9は、本発明のある実施形態による切換用システムのコンポーネントを例示するためのブロック図である。切換用システム400には、プロセッサ402(例えば、Freescale Semiconductor,Inc.によって提供されたMC9328MXL)、メモリ装置404(例えば、PSRAM及びフラッシュメモリ)、ディスプレイ406(例えば、カラーOLEDディスプレイ)、指紋スキャナ408(例えば、Atmelによって提供されたFingerChip(登録商標)AT77C104B)、音声エンコーダ/デコーダ410、(例えば、VLSI Solution Oyによって提供されたVS1002D)、外部コネクタ412、及びUSB制御装置414(例えば、Cypress Semiconductor,Corp.によって提供されたCYC67200)が含まれる。以下で更に説明されるように、プロセッサ402は、メモリ装置404に記憶されたプログラムに基づいて、上で述べた切換用システムの機能(例えば、切り換え、暗号化、及び復号化)を遂行する。以下で更に説明されるように、プロセッサ402は、切換用システム400における他のコンポーネントの動作を制御するものでもある。これまたメモリ装置404に記憶された制御プログラム(切換用システム制御プログラムあるいはSSCPと称される)が、以下で更に説明されるように、プロセッサ402の動作を制御する。
【0087】
プロセッサ402には、プロセッサ402が、複数の特徴的な機能を可能とするUSB装置として機能するように構成された、USB装置モジュールコンポジットが含まれる。このような機能のそれぞれは、標準的なUSBデバイスクラスものであってよい。例えば、以下で更に説明されるように、プロセッサ402がUSBホストへいったん接続されると、このUSB装置モジュールは、プロセッサ402がUSBマスストレージデバイス(大容量記憶装置)及びUSB通信装置(例えば、イーサネット(登録商標)エミュレーション装置)として認識される(例えば、USBホストによって)とともに、USBマスストレージデバイス及びUSB通信装置(例えば、イーサネット(登録商標)エミュレーション装置)として機能することを可能とする。
【0088】
ディスプレイ406は、切換用システムのユーザが、様々なプロンプトを受信するための表示を行う。例えば、ディスプレイ406は、ユーザに彼らの人差し指を指紋プリントスキャナ408の上に置くように促すことができる(例えば、「スキャンパッドの上に人差し指を置いて下さい」)。このディスプレイ406によれば、それ自体とユーザコンピュータとの間の接続の確立に関連している状況情報をユーザにもたらすこともできる(例えば、「接続障害が検出されました」)。
【0089】
メモリ装置404は、切換用システム400のためのメモリ記憶を提供する。上で述べたように、メモリ装置404は、プロセッサ402によって実行されるプログラムを記憶する。また、メモリ装置404は、読み取られた指紋データ、様々な暗号化/復号化プログラムデータ、データバッファリング、制御プログラムデータ、及び他のデータを記憶してもよい。
【0090】
指紋スキャナ408は、指紋検出パッドと、ユーザの指紋(例えば、メモリ装置404に記憶されたような)に関連したデータを生成するスキャナを含んでもよい。認証の間に読み取られた指紋は、ユーザの指紋の真正コピーと比較されてもよい。認証は、ユーザの指紋の真正コピーと読み取りコピーとが同一であるか、あるいは相関関係にあるときには、完全であると見なされる。
【0091】
音声エンコーダ/デコーダ410は、いくつかの音声に関連したオプションをユーザにもたらしてもよい。例えば、外部コネクタ412の1つから受信された音声データは、装置410によって、音声データファイルとしてデジタル化されるとともに暗号化されてもよい。音声データは、メモリ404に記憶されてもよいともに、通信ネットワークを介して別のコンピュータ装置へ伝送されてもよい。それはまた、装置410での暗号化処理に続いて、リモート位置へ直接伝送されてもよい。エンコーダ/デコーダ410は、記憶されるか(例えばメモリ404)あるいはダウンロードされた音声ファイル(例えばMP3音楽ファイル)を再生用に処理するために、利用されてもよい。
【0092】
外部コネクタ412は、USBソケット、マイクロフォン入力ジャック、及び/又は、音声出力部(例えばヘッドフォンソケット)を含んでもよい。例えば、メモリ404の中に記憶された復号化済み音声音楽ファイルは、ヘッドフォンジャックへ出力されてもよい。
【0093】
USB制御装置414は、USBハブ接続用プロセッサ402として、また、ユーザコンピュータ108(図1)への1つ以上の入力生成装置(例えば、マウス及びキーボード)として動作する。制御装置414の細部は、図10に示されている。
【0094】
制御装置414には、対応するシリアルインターフェイスエンジン(SIE)431のある第1USBポート430、対応するSIE433のある第2USBポート432、汎用I/O(GPIO)インターフェイス436、及び、プロセッサ438が含まれる。USBポート430によって、制御装置414とユーザコンピュータ108との間の接続性がもたらされる。同様に、USBポート432によって、入力装置116及び118(例えば、マウス及びキーボード)が制御装置414へ接続される。プロセッサ402は、GPIOインターフェイス436を介して制御装置414とつながっている。プロセッサ402は、データ(例えば、入力データ、制御データ、及びアプリケーションデータ)を、GPIOインターフェイス436を介して、制御装置414へ送信するとともに制御装置414から受信する。
【0095】
切換用システム400は、の図4A〜図6を再び参照するとともにそれらの中におけるフローチャートにおいて、切換用システム400の状況を詳しく述べることで、更に説明することができる。図4Aによれば、ステップ202において、この切換用システムはユーザコンピュータ及び入力装置へ接続される。いったん接続されると、ユーザコンピュータ108(本実施形態ではUSBホストシステムを含む)は、切換用システム400を、複合USB装置(上述したように、USBマスストレージデバイス機能とUSBイーサネット(登録商標)エミュレーション装置機能とを含む)が取り付けられる、USBハブとして認識する。ユーザコンピュータ108もまた、入力装置116及び118を、このハブへ取り付けられたUSB入力装置として認識する。切換用システム400がいったん接続されると、切換用システム制御プログラム(SSCP)がプロセッサ402で開始される。
【0096】
更に、切換用システム400がいったん接続されると、多数の論理的通信チャネル、例えば、それぞれのUSB装置に対応している1つ以上のUSBパイプが確立される。切換用システム400のこのような状況では、上述した論理的通信路P2a及びP2bは、ヒューマンインターフェイス装置(HID)クラスの装置(例えば入力装置116及び118)に関連したすべてのチャネルとイーサネット(登録商標)エミュレーション装置機能に関連したチャネルとに、それぞれ対応している。
【0097】
まず接続されると、切換用システム400は非安全モードで動作する。このモードでは、USB制御装置であるプロセッサ438は、SIM433にI/Oポート432から受信したデータ(例えば、I/Oポート432へ接続された入力装置116及び118から受信した入力データ)を、SIM431へ転送するように指示し、SIM431は、このデータを、I/Oポート430を介してユーザコンピュータ108のUSBホストシステムへ送信する。
【0098】
ステップ204において、ユーザコンピュータ108で実行される安全モードアプリケーションプログラムが起動される。上述したように、このアプリケーションプログラムは、切換用システム400のメモリ装置404の中に記憶されてもよい。従って、このアプリケーションプログラムは、USBマスストレージデバイスの中に記憶された実行可能ファイルとして、(例えば、ユーザコンピュータ108のオペレーティングシステムのファイルシステムによって)ユーザへ提示される。ユーザはその後、ユーザコンピュータ108で、このアプリケーションプログラムを、ユーザコンピュータ108のオペレーティングシステムに関連した従来の方法(例えば、このアプリケーションプログラムに対応しているファイルを表示しているアイコンをダブルクリックする等)で起動してもよい。
【0099】
ステップ206において、ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムは、切換用システムが接続されているかどうかを判定する。このことは、切換装置104(図3)の内部に組み込まれたUSB制御装置による切換用システム102(図3)の存在についての照会を行う、安全モードアプリケーションプログラムによって遂行することができる。アプリケーションプログラムは、切換用システム102(図3)に関連した接続及び認証処理の間は、リモートシステム110(図3)と交信状態にある。
【0100】
ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムが、ユーザに、切換用システムを利用して彼ら自身を認証するように促した(ステップ208)後に、この切換用システムは、ステップ209a、209b、及び209cに従ってユーザを認証することを試みる。このことは、プロセッサ402が、ステップ209a、209b、及び209cをプロセッサ402に関して先に記載された方法で実行するために、また、ディスプレイ406を利用してユーザを促すために、更に、指紋スキャナ408を利用してユーザから指紋データを得るために、メモリ装置404の中に記憶された認証プログラムを起動する切換用システム制御プログラムによって遂行されてもよい。
【0101】
ステップ212において、この切換用システムは、ユーザが認証されたことを、ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムへ通知する。このことは、ユーザコンピュータ108にて実行されるこの安全モードアプリケーションプログラムへ、指示を送信する切換用システム制御プログラムによって遂行されてもよい。
【0102】
ステップ214において、ユーザコンピュータにて実行されるこの安全モードアプリケーションプログラムは、安全モードが開始されるように要求する。このことは、USB(すなわちリンクP2)を介して切換用システム制御プログラムへ指示を送信するユーザコンピュータ108にて実行されるこの安全モードアプリケーションによって遂行することができる。
【0103】
切換用システム制御プログラムは、この要求を受信すると、安全モードを開始するために、GPIOインターフェイス436を介して、USB制御プロセッサ438へ安全モードに入るように命じる指示を送信する。次いで、USB制御プロセッサ438が、SIE433に、データのSIE431への転送を停止し、代わりに、USBポート432からのデータをGPIOインターフェイス436によってプロセッサ402へ転送するように指示する。この転送変更は、I/Oポート432へ接続された入力装置のUSB状態を変更することなく遂行される。その結果、ユーザコンピュータ108におけるUSBホストシステムにとっては、USB入力装置(例えば、マウス116及びキーボード118)は、安全モードの継続時間にわたって、それらからのデータが上流からUSBホストシステムへ流れるのが阻止されるとしても、接続されているとともに充分に作動可能であるようにみえる。
【0104】
必要があれば、USB制御装置プロセッサ438は、安全モードを開始するようにする命令を特定の通信路、例えばGPIOインターフェイス436を介して受信されたときにだけその命令を認識するように、構成されてもよい。このことは、それが、ユーザコンピュータにおいて存在している不正プログラムに対立するものとしての安全モードを開始ようにする命令が、プロセッサ402から受信される公算を増大させる、という点で有利である。
【0105】
図4Bによれば、ステップ216において入力データは、切換用システムによって受信され、暗号化のために暗号化装置へ転送される。切換用システム400においては、安全モードの間に、入力装置116及び118からのデータは、I/Oポート432を介してSIE433によって受信され、GPIO436を介してプロセッサ402へ転送される。プロセッサ402にて実行される切換用システム制御プログラムは次いで、そのデータを暗号化するために、メモリ装置404から暗号化プログラムを実行する。
【0106】
ステップ220において、切換用システムは、その暗号化済みデータをネットワークパケットとしてフォーマットし、それをユーザコンピュータへ送信する。切換用システム400(図9)においては、この切換用システム制御プログラムは、暗号化済みデータを、暗号化プログラムから受信し、USBイーサネット(登録商標)エミュレーション装置クラスの機能に、暗号化済みデータをアクセス型コンピュータ110のIPアドレスへ送信するように指示する。この暗号化済みデータが送信されるIPアドレスの割り当ては、リモートアクセス型コンピュータ110(図3)において、動的ホスト制御プロトコル(DHCP)によって実施される。このUSBイーサネット(登録商標)エミュレーション装置クラスの機能は、そのイーサネット(登録商標)プロトコルに従って暗号化済みデータをフォーマットし、このイーサネット(登録商標)パケットをUSBデータとしてカプセル化し、このUSBデータをイーサネット(登録商標)パケット(暗号化済み入力データを含む)を超えて、ユーザコンピュータ108のUSBホストシステムへ送信する。
【0107】
ステップ222において、ネットワークパケットは、アクセス型コンピュータにて実行される安全モードアプリケーションプログラムへ送信される。切換用システム400が含まれる実施形態において、ユーザコンピュータ108のUSBホストシステムは、イーサネット(登録商標)パケットを受信すると、ネットワーク112を介してアクセス型コンピュータ110へ伝送するために、ユーザコンピュータ108のネットワークインターフェイスへ送る。
【0108】
アクセス型コンピュータ110は、そのイーサネット(登録商標)パケットを受信した(ステップ224)後に、その中に収容された暗号化済み入力データを復号化するとともに処理して応答を生成し、その応答を暗号化し、次いで、その暗号化済み応答を切換用システムへ伝達する(ステップ226)。
【0109】
ステップ228において、この暗号化済み応答は、切換用システムによって受信され、復号化され、次いで、動作のために、ユーザコンピュータにて実行されるアプリケーションプログラムへ送信される。切換用システム400が含まれる本発明の実施形態においては、アクセス型コンピュータ110からの暗号化済み応答を収容しているイーサネット(登録商標)パケットが、ユーザコンピュータ108のネットワークインターフェイスへ到達する。このイーサネット(登録商標)パケットは、切換用システム400のUSBイーサネット(登録商標)エミュレーション装置クラスの機能へアドレス指定されるので、このイーサネット(登録商標)パケットはユーザコンピュータ108のUSBホストシステムへ送られ、そこで、このイーサネット(登録商標)パケットは、USBを介した移送のために、USBパケットに包まれる。このUSBパケットは、SIE431で受信されて、GPIOインターフェイス436を介して、プロセッサ402において実行されるUSBイーサネット(登録商標)エミュレーション装置クラスの機能へ転送される。プロセッサ402において、このUSBイーサネット(登録商標)エミュレーション装置クラスの機能は、イーサネット(登録商標)パケットから暗号化済み応答データを抽出し、それを、応答を復号化するためにメモリ装置404から復号化プログラムを起動する切換用システム制御プログラムへ送る。この切換用システム制御プログラムは、次いで、この復号化済み応答データをユーザコンピュータ108にて実行される安全モードアプリケーションプログラムへ送信する。この切換用システム制御プログラムと、ユーザコンピュータ108にて実行されるこの安全モードアプリケーションプログラムとの間の通信は、USBを介して行われる。ユーザコンピュータ108にて実行されるこの安全モードアプリケーションプログラムは、この切換用システムをUSBイーサネット(登録商標)装置として認識して、それとの間で、USBインターフェイスを越えるイーサネット(登録商標)を介して通信を行う。
【0110】
上述したように、図5及び図6は、本発明のある実施形態による安全モードにおいて動作状態になる、ユーザコンピュータ108にて実行される異なったアプリケーションの効果を説明している。先に述べたように、図5は、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムが動作アプリケーションであることを停止した場合に動作する、本発明のデータコミュニケーションシステムにおける1つの方法を示しているフローチャートである。図5によれば、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、ウィンドウの焦点が失われたという表示を受信する(ステップ300)。すると、ステップ310において、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムは、安全モードが終了されたという指示を切換用システム102へ送信する。切換用システム102を含む本発明の実施形態においては、このことは、安全モードが終了されたという指示を切換用システム制御プログラムへ送信する安全モードアプリケーションプログラムによって遂行されてもよい。このことは、USBのエンドポイント通信チャネルを介して達成することができ、ここで、切換用システム102(すなわち、エンドポイント装置)は、USBドライバインターフェイスユーザコンピュータ108(すなわちUSBホスト装置)によって、イーサネット(登録商標)装置として認識される。
【0111】
ステップ320において、切換用システムは、入力データを、入力装置から通信路P2aによってユーザコンピュータまで、暗号化されない状態で送信することができる。切換用システム400の状況では、非安全モードを開始するようにそれに命令する指示が、GPIOインターフェイス436を介して、USB制御装置プロセッサ438へ送信される。USB制御装置プロセッサ438は次いで、SIM433に、このデータをI/Oポート432から受信してそれをSIM431へ転送するように指示を行い、SIM431は、このデータを、I/Oポート430を介してユーザコンピュータ108におけるUSBホストシステムへ送信する。
【0112】
先に言及したように、図6は、安全モードアプリケーションプログラムがユーザコンピュータ108で再開される場合、本発明のデータ通信システムが動作することができる1つの方法を示すフローチャートである。図6によれば、ユーザコンピュータ108にて実行される安全モードアプリケーションプログラムが、ウィンドウ焦点が得られたという表示を受信し(ステップ330)、安全モードが開始されたという指示を切換用システムへ送信する(ステップ340)。切換用システム400が含まれる本発明の実施形態においては、この後者のステップは、安全モードが開始されたという指示を切換用システム制御プログラムへ送信する安全モードアプリケーションプログラムによって遂行されてもよい。
【0113】
次いで、ステップ380において、切換用システムは、入力装置からの入力データを暗号化のために暗号化装置へ転送し、次いで、その暗号化済み入力データを、通信路P2bを介してアクセス型コンピュータへの伝送するためにユーザコンピュータへ送信する。切換用システム400において、このことは、切換システム制御プログラムが安全モードを開始するようにそれに命令する指示をGPIOインターフェイス436によってUSB制御装置プロセッサ438へ送信されることで、遂行されてもよい。USB制御装置プロセッサ438は次いで、SIE433に、データのSIE431への転送を停止し、代わりに、USBポート432からのデータをGPIOインターフェイス436によってプロセッサ402へ転送するように指示する。入力装置116及び118からの入力データは、次いで、暗号化のために切換用システム制御プログラムへ転送され、更に、上で説明したものと同じ方法で、アクセス型コンピュータ110へ送信される。
【0114】
図11A及び図11Bは、切換用システム102(図3)が組み込まれるシステムの代替の実施形態を例示している。図11Aにおいて、コンピュータ(例えば、図3に示されたコンピュータ108)の内部に普通に組み込まれたネットワークインターフェイス502が、切換用システム504の中に一体化されている。本実施形態では、暗号化されたデータは、ネットワーク506を介して、処理のためのサーバあるいはリモートコンピュータ508へ直接送信される。この装置504が、暗号化/復号化及び/又は認証の要件をまったく有さない別のウェブサイトへアクセスするために利用される場合、非安全モードで機能する。非安全モードでは、インターフェイス502によって別のサイトから受信されたデータは、切換装置512によって暗号化装置505へ転送されてもよい。暗号化装置505において、受信データは、暗号化装置によって処理される(暗号化/復号化なしで)とともに、切換装置512を介してディスプレイ装置510へ送信されてもよい。例えば、暗号化装置505には、インターネットアクセスをもたらすためのインターネットブラウザプログラムが含まれてもよい。アクセスされたウェブページデータは、リモートサーバ(例えばコンピュータ508)から通信ネットワーク506を介して切換用システム504へ送信され、ここで、そのデータはインターフェイス502によって受信される。インターフェイス502から、受信済みウェブページデータは、切換装置512によって暗号化装置505へ転送される。このウェブページデータは次いで、切換装置512によってディスプレイ装置510へ転送されるのに先立って、暗号化装置505において実行されるブラウザプログラムによって処理される。
【0115】
しかしながら、装置504が安全モードで使用される場合、リモートコンピュータ508から受信された暗号化済みデータが暗号化装置505によりいったん復号化されると、復号化されたこの受信データは、ディスプレイ装置510に表示されてもよい。ディスプレイ装置510は、ディスプレイドライバ(例えばVGAカード)と安全装置504へ接続されるモニターとが含まれてもよい。図11Bにおいて、安全装置516は安全装置504(図11A)とは同一であるが、装置516(図11B)には一体化型ディスプレイ装置が含まれる。この一体化型ディスプレイ装置は、暗号化装置518(また、図4のディスプレイ406も参照)の内部に組み込まれてもよい。あるいは、専用のディスプレイ装置を安全装置516へ直接、取り付けてもよい。図11A及び図11Bに例示された両方の安全装置504及び516には、それぞれ異なった外部ディスプレイ装置で使用するための複数のディスプレイドライバが含まれてもよい。従って、それぞれの装置504,516には、接続体をこれらのディスプレイ装置へ支持するための1つ以上の外部コネクタが組み込まれてもよい。
【0116】
本発明は、好ましい実施形態に関連して説明し例示してきたが、多くの変形及び修正を本発明の範囲から逸脱することなく施すことができることは、当業者に明らかである。本発明は、従って、上で述べられた方法論あるいは構成の厳密な細部に限定されるものではなく、そのような変形及び修正は、本発明の範囲内に含まれるものと意図されている。これらの処理それ自体に必要あるいは固有である範囲を除いて、本開示において説明された方法あるいは処理のステップあるいは段階への特定の順序は、図面を含めて何の意味もない。多くの事例において、処理ステップの順序は、説明された方法の目的、効果あるいは趣旨を変更することなく変えることができる。
【図面の簡単な説明】
【0117】
【図1】図1は、本発明の実施形態によるデータ通信システムを例示するためのブロック図である。
【図2】図2は、本発明の実施形態による切換用システムを含むデータ通信システムを例示するブロック図である。
【図3】図3は、本発明の実施形態によるデータ通信システムの安全伝送路を例示する概略図である。
【図4A】図4Aは、本発明の実施形態による安全モードにおける切換用システムの動作を例示するフローチャートである。
【図4B】図4Bは、本発明の実施形態による安全モードにおける切換用システムの動作を例示するフローチャートである。
【図5】図5は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図6】図6は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図7】図7は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図8】図8は、本発明の実施形態によるデータ通信システムが安全モードアプリケーションプログラムを動作させる方法とアプリケーションプログラムのウィンドウの焦点に基づいた切換用システムとを例示するフローチャートである。
【図9】図9は、本発明の実施形態による切換用システムのコンポーネントを例示するブロック図である。
【図10】図10は、本発明の実施形態によるUSB制御装置のブロック図である。
【図11A】図11Aは、本発明の実施形態による切換用システムが組み込まれるシステムの代替の実施形態を例示するシステムブロック図である。
【図11B】図11Bは、本発明の実施形態による切換用システムが組み込まれるシステムの代替の実施形態を例示するシステムブロック図である。
【特許請求の範囲】
【請求項1】
1つ以上の入力装置からデータを受信し、
第1のコンピュータから、第1の通信モードが選択されたことを示す第1の指示を受信した場合、前記第1のコンピュータへ前記データを伝送し、
前記第1のコンピュータから、第2の通信モードが選択されたことを示す第2の指示を受信した場合、前記第2のコンピュータへ前記データを伝送する、
ことを含む、データを通信するための方法。
【請求項2】
前記第1のコンピュータは、ユーザが前記第1のコンピュータにおいて、第1のアプリケーションプログラムを起動したことに応じて、前記第1の指示を送信し、
前記第1のコンピュータは、ユーザが前記第1のコンピュータにおいて、第2のアプリケーションプログラムを起動したことに応じて、前記第2の指示を送信する、
請求項1に記載の方法。
【請求項3】
前記第1のコンピュータから前記第2の指示を受信した場合、前記第2のコンピュータから伝送される、前記データへの応答を受信し、
前記第1のコンピュータから前記第2の指示を受信した場合、前記第1のコンピュータへ、受信された前記応答を伝送する、
ことを含む、請求項1に記載の方法。
【請求項4】
前記第2のコンピュータへ前記データを伝送することは、
前記第1のコンピュータのネットワークインターフェイスを使用し、前記第2のコンピュータへ前記データを伝送する、ことを含み、
応答を受信することは、
前記第1のコンピュータのネットワークインターフェイスを使用し、伝送された入力データへの応答を前記第2のコンピュータから受信する、ことを含む、
請求項3に記載の方法。
【請求項5】
前記第2のコンピュータへ前記入力データを伝送することは、
前記データを暗号化し、
暗号化された前記データを前記第2のコンピュータへ伝送する、
ことを含む、請求項1に記載の方法。
【請求項6】
前記第2のコンピュータから受信した前記応答は暗号化され、前記第1のコンピュータへ、受信された前記応答を伝送することは、
前記受信された応答を復号化し、
復号化された受信された前記応答を前記第1のコンピュータへ伝送する、
ことを含む、請求項3に記載の方法。
【請求項7】
少なくとも第1のコンピュータを含む、データを通信するためのシステムであって、
前記第1のコンピュータは、
1つ以上の入力装置からデータを受信し、
第1の通信モードが選択されたことを示す第1の指示を第2のコンピュータから受信した場合、第2のコンピュータへ前記データを伝送し、
第2の通信モードが選択されたことを示す第2の指示を第2のコンピュータから受信した場合、第3のコンピュータへ前記データを伝送する、
ようにプログラムされている、
データを通信するためのシステム。
【請求項8】
前記第2のコンピュータは、ユーザが前記第2のコンピュータにおいて、前記第1のアプリケーションプログラムを起動したことに応じて、前記第1の指示を送信し、
前記第2のコンピュータは、ユーザが前記第2のコンピュータにおいて、前記第2のアプリケーションプログラムを起動したことに応じて、前記第2の指示を送信する、
請求項7に記載のシステム。
【請求項9】
前記第1のコンピュータは、
前記第2のコンピュータから前記第2の指示を受信した場合、前記第3のコンピュータからの伝送される、前記データへの応答を受信し、
前記第2のコンピュータから前記第2の指示を受信した場合、前記第2のコンピュータへ、受信された応答を伝送する、
ようにプログラムされている、
請求項7に記載のシステム。
【請求項10】
前記第1のコンピュータは、
前記第2のコンピュータのネットワークインターフェイスを使用し、前記第3のコンピュータへ前記データを伝送し、
前記第2のコンピュータの前記ネットワークインターフェイスを使用し、前記伝送されたデータへの応答を前記第3のコンピュータから受信する、
ようにプログラムされている、
請求項9に記載のシステム。
【請求項11】
前記第1のコンピュータは、
第3のコンピュータへ前記データを伝送することが、
前記データを暗号化し、
暗号化された前記データを前記第3のコンピュータへ伝送する、
ことを含むようにプログラムされている、
請求項7に記載のシステム。
【請求項12】
前記第3のコンピュータから受信した前記応答は、暗号化されており、
前記第1のコンピュータは、
第2のコンピュータへ、受信された応答を伝送することが、
前記受信された応答を復号化し、
復号化された受信された前記応答を前記第2のコンピュータへ伝送する、
ことを含むようにプログラムされている、
請求項9に記載のシステム。
【請求項13】
暗号化装置を使用する通信ネットワークを介してデータ通信を提供する方法であって、
前記方法は、
ユーザを認証する前記暗号化装置に基づいて第1のデータを暗号化し、
暗号化された前記第1のデータは、第2のコンピュータへの伝送するために、前記暗号化装置から第1のコンピュータに関連したインターフェイスへ送信され、
前記第2のコンピュータにおいて、暗号化された前記第1のデータを復号化し、復号化された前記第1のデータに応じて暗号化された第2のデータを生成し、
生成された暗号化された前記第2のデータを、前記暗号化装置へ伝送するために、前記第1のコンピュータに関連した前記インターフェイスへ送信し、
前記暗号化装置において、前記第1のコンピュータに関連した前記インターフェイスを介して受信した、送信された暗号化された前記第2のデータを復号化し、
前記第1のコンピュータは、復号化された前記第2のデータに基づいて動作する、
データ通信を提供する方法。
【請求項14】
前記ユーザを認証することは、認証処理を開始するためのアプリケーションプログラムを起動する、
ことを含む、請求項13に記載の方法。
【請求項15】
前記認証処理は、起動された前記アプリケーションプログラムが、前記暗号化装置と前記第1のコンピュータとの間に接続状態をもたらす、
ことを含む、請求項14に記載の方法。
【請求項16】
前記認証処理は、前記アプリケーションプログラムによって生成されたプロンプトを受信し、前記ユーザに関連した指紋パターンを走査し、検出する、
ことを含む、請求項14に記載の方法。
【請求項17】
復号化された前記第2のデータは、前記第2のコンピュータ装置によって処理された前記第1のデータに応じて生成された表示データを含む、請求項13に記載の方法。
【請求項18】
前記インターフェイスは、ユニバーサルシリアルバス(USB)インターフェイス及びネットワークインターフェイスを含む、請求項13に記載の方法。
【請求項19】
前記第1のデータは、キーボード装置によって生成される、請求項13に記載の方法。
【請求項20】
前記第1のデータは、マウス装置によって生成される、請求項13に記載の方法。
【請求項21】
前記第1のデータは、周辺装置によって生成される、請求項13に記載の方法。
【請求項22】
第1のコンピュータに結合された暗号化装置を使用して、前記第1のコンピュータと第2のコンピュータとの間で通信ネットワークを介してデータ通信を提供する方法であって、
前記方法は、
前記データ通信に関連したアプリケーションプログラムの起動に基づいて、前記暗号化装置において第1のデータを暗号化し、
暗号化された前記第1のデータは、前記第2のコンピュータへ伝送するために、前記暗号化装置から、前記第1のコンピュータに関連したインターフェイスへ送信され、
前記第2のコンピュータにおいて、暗号化された前記第1のデータを復号化し、復号化された前記第1のデータに応じて暗号化された第2のデータを生成し、
生成された暗号化された前記第2のデータを、前記暗号化装置へ伝送するために、前記第1のコンピュータに関連した前記インターフェイスへ送信し、
前記暗号化装置において、前記第1のコンピュータに関連した前記インターフェイスを介して受信した、送信された暗号化された前記第2のデータを復号化し、
前記暗号化装置が、復号化された前記第2のデータを、前記第1のコンピュータによる処理のために前記第1のコンピュータへ提供する、
データ通信を提供する方法。
【請求項23】
前記第1のデータは、キーボード装置によって生成される、請求項22に記載の方法。
【請求項24】
前記第1のデータは、マウス装置によって生成される、請求項22に記載の方法。
【請求項25】
前記第1のデータは、周辺装置によって生成される、請求項22に記載の方法。
【請求項26】
前記アプリケーションプログラムは、前記第1のコンピュータに存在し、前記第2のコンピュータに存在している第2のアプリケーションプログラムと通信し、
前記第2のアプリケーションは、前記第2のデータを生成し、
前記第1のコンピュータにおける前記アプリケーションプログラムは、前記復号化された第2のデータを表示する、
請求項22に記載の方法。
【請求項27】
前記アプリケーションプログラムは、前記暗号化装置に存在し、第2のアプリケーションプログラムと通信し、
前記第2のアプリケーションは、前記第2のデータを生成し、
前記暗号化装置における前記アプリケーションプログラムは、前記復号化された第2のデータを表示する、
請求項22に記載の方法。
【請求項28】
前記通信ネットワークは、インターネットを含む、請求項22に記載の方法。
【請求項29】
第1のデータを暗号化することは、前記アプリケーションプログラムに関連するウィンドウが焦点されていることに基づいて、前第1のデータを、記暗号化装置において暗号化する、
ことを含む、請求項22に記載の方法。
【請求項30】
第1のコンピュータと第2のコンピュータとの間で、通信ネットワークを介して安全なデータ伝送を生成するための安全なシステムであって、
前記システムは、
1つ以上の入力装置から第1のデータを受信するために適合された切換装置と、
受信した前記第1のデータを前記安全なデータ伝送に関連し、起動されているアプリケーションプログラムに基づいて暗号化するために、前記切換装置から転送された前記第1のデータを受信するよう適合された暗号化装置と、
前記第1のコンピュータに関連し、前記通信ネットワークを介して、暗号化された前記第1のデータを受信するとともに暗号化された第2のデータを生成する前記第2のコンピュータへ伝送するために、暗号化された前記第1のデータを受信するように適合されたインターフェイスと、
前記第1のコンピュータに関連したディスプレイ装置と、
を備え、
前記第2のコンピュータにおいて生成された暗号化された前記第2のデータは、前記通信ネットワークから前記インターフェイスによって受信され、転送のために前記切換装置へ送信され、前記切換装置は、暗号化された前記第2のデータを復号化するために、暗号化された前記第2のデータを前記暗号化装置へ転送し、前記切換装置は、復号化された前記第2のデータを前記ディスプレイ装置における表示のために、前記暗号化装置から前記第1のコンピュータへ転送する、
システム。
【請求項31】
前記インターフェイスは、ネットワークインターフェイスを含む、請求項30に記載のシステム。
【請求項32】
前記アプリケーションプログラムと通信し、ユーザに認証処理を遂行するように促し、前記暗号化装置が前記入力データを暗号化するのに先立って前記ユーザを認証する、バイオメトリック認証装置を更に含む、請求項30に記載のシステム。
【請求項33】
前記バイオメトリック装置は、指紋スキャナを含む、請求項30に記載のシステム。
【請求項34】
前記切換装置は、前記1つ以上の入力装置と、前記第1のコンピュータと、前記暗号化装置との間のデータ切り換えを提供するUSB制御装置を含む、請求項30に記載のシステム。
【請求項35】
サーバコンピュータと通信しているアプリケーションに安全性を提供する方法であって、
サーバコンピュータは、クライアントコンピュータとともに動作する入力装置からの入力を受信し、前記クライアントコンピュータとともに動作するディスプレイ装置に情報を表示し、
前記方法が、
前記クライアントコンピュータへ入力された非暗号化データを提供することなく、前記入力装置を介して入力された前記アプリケーションに関連しているデータを、暗号化し、
ネットワークを介して、暗号化された前記データを、前記サーバコンピュータへ伝送し、
前記サーバコンピュータへ伝送された暗号化された前記データを復号化し、
前記サーバコンピュータが、復号化された前記データに基づいて動作し、前記クライアントコンピュータにおける表示のためのデータを提供し、
前記クライアントコンピュータのディスプレイ装置に表示するために、前記サーバコンピュータによって提供された前記データを伝送し、
前記サーバコンピュータによって提供された伝送された前記データを、前記ディスプレイ装置に表示する、
方法。
【請求項36】
前記クライアントコンピュータへの伝送に先立って、前記サーバコンピュータによって提供された前記データを暗号化し、
暗号化された前記データを、伝送の後に、表示に先立って復号化し、
復号化された前記データを、前記クライアントコンピュータの前記ディスプレイ装置に表示する、
ことを含む、請求項35に記載の方法。
【請求項37】
前記クライアントコンピュータへ伝送された暗号化された前記データは、前記クライアントコンピュータと独立して復号化され、
復号化された前記データは、前記ディスプレイ装置において表示されるために前記クライアントコンピュータへ提供される、
請求項36に記載の方法。
【請求項38】
前記入力装置は、キーボードを含む、請求項35に記載の方法。
【請求項39】
前記入力装置は、ポインティングデバイスを含む、請求項35に記載の方法。
【請求項40】
複数のアプリケーションと相互作用し、複数の該アプリケーションの少なくとも1つへ安全性を提供する、クライアントコンピュータのための方法であって、
複数の前記アプリケーションは、クライアントコンピュータによって動作する入力装置からの入力を受信するサーバコンピュータと通信し、
前記方法が、
前記クライアントコンピュータにおいて、少なくとも1つの前記アプリケーションが、焦点の合っているウィンドウを含む場合、
前記クライアントコンピュータへ入力された非暗号化データを提供することなく、前記入力装置を介して入力された前記少なくとも1つのアプリケーションに関連しているデータを、暗号化し、
ネットワークを介して、暗号化されたデータを、前記サーバコンピュータへ伝送し、
前記サーバコンピュータへ伝送された暗号化された前記データを復号化し、
前記サーバコンピュータが、復号化された前記データに基づいて動作し、前記クライアントコンピュータによって動作されるデータを提供し、
提供された前記データを、前記クライアントコンピュータへ伝送し、
前記クライアントコンピュータは、提供されたデータに基づいて動作し、
前記クライアントコンピュータにおいて、少なくとも1つの前記アプリケーションが、焦点の合っているウィンドウを含まない場合、
前記クライアントコンピュータによって処理されるために、前記入力装置を介して入力された前記データを、暗号化することなく前記クライアントコンピュータへ提供する、
方法。
【請求項41】
前記入力装置及び前記クライアントコンピュータへ結合された装置において、選択されたアプリケーションに関連するデータを暗号化する、
ことを含む、請求項40に記載の方法。
【請求項42】
少なくとも1つの動作中の前記アプリケーションに関連した前記ウィンドウに焦点が合っている場合、前記少なくとも1つの動作中のアプリケーションで動作させるために、前記キーボードの出力部を前記クライアントコンピュータへ結合された装置の出力部に結合する、
ことを含む、請求項41に記載の方法。
【請求項43】
少なくとも1つの動作中の前記アプリケーションに関連した前記ウィンドウに焦点が合っている場合、前記キーボードの出力部を前記クライアントコンピュータへ連結された装置の出力部に自動的に連結する、
ことを含む、請求項42に記載の方法。
【請求項1】
1つ以上の入力装置からデータを受信し、
第1のコンピュータから、第1の通信モードが選択されたことを示す第1の指示を受信した場合、前記第1のコンピュータへ前記データを伝送し、
前記第1のコンピュータから、第2の通信モードが選択されたことを示す第2の指示を受信した場合、前記第2のコンピュータへ前記データを伝送する、
ことを含む、データを通信するための方法。
【請求項2】
前記第1のコンピュータは、ユーザが前記第1のコンピュータにおいて、第1のアプリケーションプログラムを起動したことに応じて、前記第1の指示を送信し、
前記第1のコンピュータは、ユーザが前記第1のコンピュータにおいて、第2のアプリケーションプログラムを起動したことに応じて、前記第2の指示を送信する、
請求項1に記載の方法。
【請求項3】
前記第1のコンピュータから前記第2の指示を受信した場合、前記第2のコンピュータから伝送される、前記データへの応答を受信し、
前記第1のコンピュータから前記第2の指示を受信した場合、前記第1のコンピュータへ、受信された前記応答を伝送する、
ことを含む、請求項1に記載の方法。
【請求項4】
前記第2のコンピュータへ前記データを伝送することは、
前記第1のコンピュータのネットワークインターフェイスを使用し、前記第2のコンピュータへ前記データを伝送する、ことを含み、
応答を受信することは、
前記第1のコンピュータのネットワークインターフェイスを使用し、伝送された入力データへの応答を前記第2のコンピュータから受信する、ことを含む、
請求項3に記載の方法。
【請求項5】
前記第2のコンピュータへ前記入力データを伝送することは、
前記データを暗号化し、
暗号化された前記データを前記第2のコンピュータへ伝送する、
ことを含む、請求項1に記載の方法。
【請求項6】
前記第2のコンピュータから受信した前記応答は暗号化され、前記第1のコンピュータへ、受信された前記応答を伝送することは、
前記受信された応答を復号化し、
復号化された受信された前記応答を前記第1のコンピュータへ伝送する、
ことを含む、請求項3に記載の方法。
【請求項7】
少なくとも第1のコンピュータを含む、データを通信するためのシステムであって、
前記第1のコンピュータは、
1つ以上の入力装置からデータを受信し、
第1の通信モードが選択されたことを示す第1の指示を第2のコンピュータから受信した場合、第2のコンピュータへ前記データを伝送し、
第2の通信モードが選択されたことを示す第2の指示を第2のコンピュータから受信した場合、第3のコンピュータへ前記データを伝送する、
ようにプログラムされている、
データを通信するためのシステム。
【請求項8】
前記第2のコンピュータは、ユーザが前記第2のコンピュータにおいて、前記第1のアプリケーションプログラムを起動したことに応じて、前記第1の指示を送信し、
前記第2のコンピュータは、ユーザが前記第2のコンピュータにおいて、前記第2のアプリケーションプログラムを起動したことに応じて、前記第2の指示を送信する、
請求項7に記載のシステム。
【請求項9】
前記第1のコンピュータは、
前記第2のコンピュータから前記第2の指示を受信した場合、前記第3のコンピュータからの伝送される、前記データへの応答を受信し、
前記第2のコンピュータから前記第2の指示を受信した場合、前記第2のコンピュータへ、受信された応答を伝送する、
ようにプログラムされている、
請求項7に記載のシステム。
【請求項10】
前記第1のコンピュータは、
前記第2のコンピュータのネットワークインターフェイスを使用し、前記第3のコンピュータへ前記データを伝送し、
前記第2のコンピュータの前記ネットワークインターフェイスを使用し、前記伝送されたデータへの応答を前記第3のコンピュータから受信する、
ようにプログラムされている、
請求項9に記載のシステム。
【請求項11】
前記第1のコンピュータは、
第3のコンピュータへ前記データを伝送することが、
前記データを暗号化し、
暗号化された前記データを前記第3のコンピュータへ伝送する、
ことを含むようにプログラムされている、
請求項7に記載のシステム。
【請求項12】
前記第3のコンピュータから受信した前記応答は、暗号化されており、
前記第1のコンピュータは、
第2のコンピュータへ、受信された応答を伝送することが、
前記受信された応答を復号化し、
復号化された受信された前記応答を前記第2のコンピュータへ伝送する、
ことを含むようにプログラムされている、
請求項9に記載のシステム。
【請求項13】
暗号化装置を使用する通信ネットワークを介してデータ通信を提供する方法であって、
前記方法は、
ユーザを認証する前記暗号化装置に基づいて第1のデータを暗号化し、
暗号化された前記第1のデータは、第2のコンピュータへの伝送するために、前記暗号化装置から第1のコンピュータに関連したインターフェイスへ送信され、
前記第2のコンピュータにおいて、暗号化された前記第1のデータを復号化し、復号化された前記第1のデータに応じて暗号化された第2のデータを生成し、
生成された暗号化された前記第2のデータを、前記暗号化装置へ伝送するために、前記第1のコンピュータに関連した前記インターフェイスへ送信し、
前記暗号化装置において、前記第1のコンピュータに関連した前記インターフェイスを介して受信した、送信された暗号化された前記第2のデータを復号化し、
前記第1のコンピュータは、復号化された前記第2のデータに基づいて動作する、
データ通信を提供する方法。
【請求項14】
前記ユーザを認証することは、認証処理を開始するためのアプリケーションプログラムを起動する、
ことを含む、請求項13に記載の方法。
【請求項15】
前記認証処理は、起動された前記アプリケーションプログラムが、前記暗号化装置と前記第1のコンピュータとの間に接続状態をもたらす、
ことを含む、請求項14に記載の方法。
【請求項16】
前記認証処理は、前記アプリケーションプログラムによって生成されたプロンプトを受信し、前記ユーザに関連した指紋パターンを走査し、検出する、
ことを含む、請求項14に記載の方法。
【請求項17】
復号化された前記第2のデータは、前記第2のコンピュータ装置によって処理された前記第1のデータに応じて生成された表示データを含む、請求項13に記載の方法。
【請求項18】
前記インターフェイスは、ユニバーサルシリアルバス(USB)インターフェイス及びネットワークインターフェイスを含む、請求項13に記載の方法。
【請求項19】
前記第1のデータは、キーボード装置によって生成される、請求項13に記載の方法。
【請求項20】
前記第1のデータは、マウス装置によって生成される、請求項13に記載の方法。
【請求項21】
前記第1のデータは、周辺装置によって生成される、請求項13に記載の方法。
【請求項22】
第1のコンピュータに結合された暗号化装置を使用して、前記第1のコンピュータと第2のコンピュータとの間で通信ネットワークを介してデータ通信を提供する方法であって、
前記方法は、
前記データ通信に関連したアプリケーションプログラムの起動に基づいて、前記暗号化装置において第1のデータを暗号化し、
暗号化された前記第1のデータは、前記第2のコンピュータへ伝送するために、前記暗号化装置から、前記第1のコンピュータに関連したインターフェイスへ送信され、
前記第2のコンピュータにおいて、暗号化された前記第1のデータを復号化し、復号化された前記第1のデータに応じて暗号化された第2のデータを生成し、
生成された暗号化された前記第2のデータを、前記暗号化装置へ伝送するために、前記第1のコンピュータに関連した前記インターフェイスへ送信し、
前記暗号化装置において、前記第1のコンピュータに関連した前記インターフェイスを介して受信した、送信された暗号化された前記第2のデータを復号化し、
前記暗号化装置が、復号化された前記第2のデータを、前記第1のコンピュータによる処理のために前記第1のコンピュータへ提供する、
データ通信を提供する方法。
【請求項23】
前記第1のデータは、キーボード装置によって生成される、請求項22に記載の方法。
【請求項24】
前記第1のデータは、マウス装置によって生成される、請求項22に記載の方法。
【請求項25】
前記第1のデータは、周辺装置によって生成される、請求項22に記載の方法。
【請求項26】
前記アプリケーションプログラムは、前記第1のコンピュータに存在し、前記第2のコンピュータに存在している第2のアプリケーションプログラムと通信し、
前記第2のアプリケーションは、前記第2のデータを生成し、
前記第1のコンピュータにおける前記アプリケーションプログラムは、前記復号化された第2のデータを表示する、
請求項22に記載の方法。
【請求項27】
前記アプリケーションプログラムは、前記暗号化装置に存在し、第2のアプリケーションプログラムと通信し、
前記第2のアプリケーションは、前記第2のデータを生成し、
前記暗号化装置における前記アプリケーションプログラムは、前記復号化された第2のデータを表示する、
請求項22に記載の方法。
【請求項28】
前記通信ネットワークは、インターネットを含む、請求項22に記載の方法。
【請求項29】
第1のデータを暗号化することは、前記アプリケーションプログラムに関連するウィンドウが焦点されていることに基づいて、前第1のデータを、記暗号化装置において暗号化する、
ことを含む、請求項22に記載の方法。
【請求項30】
第1のコンピュータと第2のコンピュータとの間で、通信ネットワークを介して安全なデータ伝送を生成するための安全なシステムであって、
前記システムは、
1つ以上の入力装置から第1のデータを受信するために適合された切換装置と、
受信した前記第1のデータを前記安全なデータ伝送に関連し、起動されているアプリケーションプログラムに基づいて暗号化するために、前記切換装置から転送された前記第1のデータを受信するよう適合された暗号化装置と、
前記第1のコンピュータに関連し、前記通信ネットワークを介して、暗号化された前記第1のデータを受信するとともに暗号化された第2のデータを生成する前記第2のコンピュータへ伝送するために、暗号化された前記第1のデータを受信するように適合されたインターフェイスと、
前記第1のコンピュータに関連したディスプレイ装置と、
を備え、
前記第2のコンピュータにおいて生成された暗号化された前記第2のデータは、前記通信ネットワークから前記インターフェイスによって受信され、転送のために前記切換装置へ送信され、前記切換装置は、暗号化された前記第2のデータを復号化するために、暗号化された前記第2のデータを前記暗号化装置へ転送し、前記切換装置は、復号化された前記第2のデータを前記ディスプレイ装置における表示のために、前記暗号化装置から前記第1のコンピュータへ転送する、
システム。
【請求項31】
前記インターフェイスは、ネットワークインターフェイスを含む、請求項30に記載のシステム。
【請求項32】
前記アプリケーションプログラムと通信し、ユーザに認証処理を遂行するように促し、前記暗号化装置が前記入力データを暗号化するのに先立って前記ユーザを認証する、バイオメトリック認証装置を更に含む、請求項30に記載のシステム。
【請求項33】
前記バイオメトリック装置は、指紋スキャナを含む、請求項30に記載のシステム。
【請求項34】
前記切換装置は、前記1つ以上の入力装置と、前記第1のコンピュータと、前記暗号化装置との間のデータ切り換えを提供するUSB制御装置を含む、請求項30に記載のシステム。
【請求項35】
サーバコンピュータと通信しているアプリケーションに安全性を提供する方法であって、
サーバコンピュータは、クライアントコンピュータとともに動作する入力装置からの入力を受信し、前記クライアントコンピュータとともに動作するディスプレイ装置に情報を表示し、
前記方法が、
前記クライアントコンピュータへ入力された非暗号化データを提供することなく、前記入力装置を介して入力された前記アプリケーションに関連しているデータを、暗号化し、
ネットワークを介して、暗号化された前記データを、前記サーバコンピュータへ伝送し、
前記サーバコンピュータへ伝送された暗号化された前記データを復号化し、
前記サーバコンピュータが、復号化された前記データに基づいて動作し、前記クライアントコンピュータにおける表示のためのデータを提供し、
前記クライアントコンピュータのディスプレイ装置に表示するために、前記サーバコンピュータによって提供された前記データを伝送し、
前記サーバコンピュータによって提供された伝送された前記データを、前記ディスプレイ装置に表示する、
方法。
【請求項36】
前記クライアントコンピュータへの伝送に先立って、前記サーバコンピュータによって提供された前記データを暗号化し、
暗号化された前記データを、伝送の後に、表示に先立って復号化し、
復号化された前記データを、前記クライアントコンピュータの前記ディスプレイ装置に表示する、
ことを含む、請求項35に記載の方法。
【請求項37】
前記クライアントコンピュータへ伝送された暗号化された前記データは、前記クライアントコンピュータと独立して復号化され、
復号化された前記データは、前記ディスプレイ装置において表示されるために前記クライアントコンピュータへ提供される、
請求項36に記載の方法。
【請求項38】
前記入力装置は、キーボードを含む、請求項35に記載の方法。
【請求項39】
前記入力装置は、ポインティングデバイスを含む、請求項35に記載の方法。
【請求項40】
複数のアプリケーションと相互作用し、複数の該アプリケーションの少なくとも1つへ安全性を提供する、クライアントコンピュータのための方法であって、
複数の前記アプリケーションは、クライアントコンピュータによって動作する入力装置からの入力を受信するサーバコンピュータと通信し、
前記方法が、
前記クライアントコンピュータにおいて、少なくとも1つの前記アプリケーションが、焦点の合っているウィンドウを含む場合、
前記クライアントコンピュータへ入力された非暗号化データを提供することなく、前記入力装置を介して入力された前記少なくとも1つのアプリケーションに関連しているデータを、暗号化し、
ネットワークを介して、暗号化されたデータを、前記サーバコンピュータへ伝送し、
前記サーバコンピュータへ伝送された暗号化された前記データを復号化し、
前記サーバコンピュータが、復号化された前記データに基づいて動作し、前記クライアントコンピュータによって動作されるデータを提供し、
提供された前記データを、前記クライアントコンピュータへ伝送し、
前記クライアントコンピュータは、提供されたデータに基づいて動作し、
前記クライアントコンピュータにおいて、少なくとも1つの前記アプリケーションが、焦点の合っているウィンドウを含まない場合、
前記クライアントコンピュータによって処理されるために、前記入力装置を介して入力された前記データを、暗号化することなく前記クライアントコンピュータへ提供する、
方法。
【請求項41】
前記入力装置及び前記クライアントコンピュータへ結合された装置において、選択されたアプリケーションに関連するデータを暗号化する、
ことを含む、請求項40に記載の方法。
【請求項42】
少なくとも1つの動作中の前記アプリケーションに関連した前記ウィンドウに焦点が合っている場合、前記少なくとも1つの動作中のアプリケーションで動作させるために、前記キーボードの出力部を前記クライアントコンピュータへ結合された装置の出力部に結合する、
ことを含む、請求項41に記載の方法。
【請求項43】
少なくとも1つの動作中の前記アプリケーションに関連した前記ウィンドウに焦点が合っている場合、前記キーボードの出力部を前記クライアントコンピュータへ連結された装置の出力部に自動的に連結する、
ことを含む、請求項42に記載の方法。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【公表番号】特表2009−512069(P2009−512069A)
【公表日】平成21年3月19日(2009.3.19)
【国際特許分類】
【出願番号】特願2008−535597(P2008−535597)
【出願日】平成18年10月9日(2006.10.9)
【国際出願番号】PCT/US2006/039376
【国際公開番号】WO2007/047195
【国際公開日】平成19年4月26日(2007.4.26)
【出願人】(507382153)ブルームバーグ・ファイナンス・エル・ピー (7)
【氏名又は名称原語表記】Bloomberg Finance L.P.
【住所又は居所原語表記】731 Lexington Avenue, New York, New York 10022, U.S.A.
【Fターム(参考)】
【公表日】平成21年3月19日(2009.3.19)
【国際特許分類】
【出願日】平成18年10月9日(2006.10.9)
【国際出願番号】PCT/US2006/039376
【国際公開番号】WO2007/047195
【国際公開日】平成19年4月26日(2007.4.26)
【出願人】(507382153)ブルームバーグ・ファイナンス・エル・ピー (7)
【氏名又は名称原語表記】Bloomberg Finance L.P.
【住所又は居所原語表記】731 Lexington Avenue, New York, New York 10022, U.S.A.
【Fターム(参考)】
[ Back to top ]