(57)【要約】  セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行される方法である。周辺コンポーネントを含むクライアントコンピュータが提供される。各周辺コンポーネントは、プロセッサによって、他の周辺コンポーネントのプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成されている。各周辺コンポーネントのプロセッサは、指定されたデータタイプの対応するデータを符号化するようにさらに構成されている。各周辺コンポーネントは、プロセッサによって、周辺コンポーネントと、クライアントコンピュータとの通信を許可されたリモートコンピュータとの間に、セキュアピアツーピア通信チャネルを確立するように構成されるとともに、セキュア通信チャネルを介して許可されたリモートコンピュータと周辺コンポーネントとの間で通信されるデータを符号化するようにさらに構成されている。符号化されたデータは、周辺コンポーネントの他のプロセッサによって復号することができない。【選択図】図１
2021519486.tif 000002
【特許請求の範囲】
【請求項１】
セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行される方法であって、
（ａ）少なくとも２の周辺コンポーネントを含むクライアントコンピュータを提供する段階を備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、
当該方法は、前記コンポーネントのうちの各周辺コンポーネントに関して、さらに、プロセッサによって、
（ｂ）周辺コンポーネントと、前記クライアントコンピュータとの通信を許可されたリモートコンピュータとの間に、セキュアピアツーピア通信チャネルを確立する段階と、
（ｃ）セキュア通信チャネルを介して許可されたリモートコンピュータと周辺コンポーネントとの間で通信されるデータを符号化する段階とを備え、符号化されたデータが、前記周辺コンポーネントの他のプロセッサによって復号できないことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
（ｂ）の段階が、
ｉ．リモートコンピュータの公開鍵を含む非対称鍵を使用してリモートコンピュータを認証するステップと、
ｉｉ．周辺コンポーネントに知られている秘密鍵を含む非対称鍵を使用して周辺コンポーネントを認証するステップと、
ｉｉｉ．認証されたリモートコンピュータと認証された周辺コンポーネントとに知られた通信鍵を確立するステップとをさらに含み、通信鍵が、クライアントコンピュータとリモートコンピュータとの間のデータの符号化に使用可能であることを特徴とする方法。
【請求項３】
請求項１または２に記載の方法において、
セキュア通信チャネルを介して通信するためにデータを符号化することには、
ｉ．セキュア通信チャネルを介して送信するためのデータを暗号化すること、または
ｉｉ．セキュア通信チャネルを介して受信したデータを復号することが含まれることを特徴とする方法。
【請求項４】
請求項１乃至３の何れか一項に記載の方法において、
前記少なくとも２の周辺コンポーネントのうちの２つがそれぞれキーボードおよびディスプレイであり、キーボードのプロセッサが、キーストロークデータタイプの対応するデータを処理するように構成され、ディスプレイのプロセッサが、ディスプレイデータタイプの対応するデータを処理するように構成されていることを特徴とする方法。
【請求項５】
請求項１乃至４の何れか一項に記載の方法において、
前記クライアントコンピュータが、前記少なくとも２の周辺コンポーネントの何れからも分離されたプロセッサモジュールを有しておらず、前記クライアントコンピュータとリモートコンピュータとの間の通信が、前記少なくとも２の周辺コンポーネントによって達成されることを特徴とする方法。
【請求項６】
請求項１乃至５の何れか一項に記載の方法において、
前記クライアントコンピュータが、危険に曝される可能性があるプロセッサモジュールをさらに含み、かつ前記少なくとも２の周辺コンポーネントの何れからもさらに分離されており、（ｂ）の段階がさらに、
周辺コンポーネントとプロセッサモジュールとの間にセキュアピアツーピア通信チャネルを確立するステップを含み、プロセッサモジュールとリモートコンピュータとの間に、セキュアプロセッサ／リモートコンピュータピアツーピア通信チャネルが確立されることを特徴とする方法。
【請求項７】
請求項６に記載の方法において、
（ｃ）の段階がさらに、
Ｃ１）データを符号化して、符号化データを生じさせるステップと、
Ｃ２）セキュア通信チャネルを介して符号化データをプロセッサモジュールに送信するステップとを含み、
符号化データをプロセッサモジュールからセキュアプロセッサ／リモートコンピュータ通信チャネルを介して許可されたリモートコンピュータに送信するために、符号化データは、危険に曝される可能性のあるプロセッサモジュールによって復号することはできず、それにより、プロセッサモジュールの使用状況にかかわらず、周辺コンポーネントと認証されたリモートコンピュータとの間のセキュア通信を実現することを特徴とする方法。
【請求項８】
請求項１乃至７の何れか一項に記載の方法において、
周辺コンポーネントの少なくとも１のグループについて、プロセッサが、当該グループのあるモジュールに関連付けられた第１のデータタイプのデータを、当該グループの他のモジュールの第２の互換性のないタイプのデータに変換することが可能であり、当該方法がさらに、
ｄ）周辺コンポーネントの前記グループのうちの他の周辺コンポーネントとの間で、セキュアピアツーピア通信チャネルを確立する段階と、
ｅ）セキュア通信チャネルを介してある周辺コンポーネントと他の周辺コンポーネントとの間で通信するためにデータを符号化する段階であって、符号化されたデータが、前記グループ以外の他の周辺コンポーネントによって復号することができない、段階と、
ｆ）第１のタイプのデータを第２のタイプのデータに変換すること、またはそれとは逆に変換することによって、共通のデータタイプで周辺コンポーネントの前記グループ間の通信を容易にする段階とを含むことを特徴とする方法。
【請求項９】
請求項１乃至８の何れか一項に記載の方法において、
認証されたリモートコンピュータがクラウド上に存在することを特徴とする方法。
【請求項１０】
セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行される方法であって、
ａ．少なくとも２の周辺コンポーネントを含むクライアントコンピュータを提供する段階を備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、前記クライアントコンピュータは、危険に曝される可能性がありかつ前記少なくとも２の周辺コンポーネントの何れからもさらに分離されるプロセッサモジュールをさらに含み、
当該方法は、前記モジュールの各周辺コンポーネントに関して、さらに、
ｂ．周辺コンポーネントと、前記クライアントコンピュータとの通信を許可されたリモートコンピュータとの間に、セキュアピアツーピア通信チャネルを確立する段階であって、セキュア通信チャネルを確立することが、リモートコンピュータと周辺コンポーネントとに知られた通信鍵を確立することを含み、通信鍵が、周辺コンポーネントとリモートコンポーネントとの間のデータの符号化のために使用可能である、段階と、
ｃ．周辺コンポーネントとプロセッサモジュールとの間にセキュアピアツーピア通信チャネルを確立する段階とを含み、プロセッサモジュールとリモートコンピュータとの間に、セキュアプロセッサ／リモートコンピュータピアツーピア通信チャネルが確立されることを特徴とする方法。
【請求項１１】
請求項１０に記載の方法において、
ｄ．データを符号化して、符号化データを生じさせるステップと、
ｅ．セキュア通信チャネルを介して符号化データをプロセッサモジュールに送信するステップとを含み、
符号化データをプロセッサモジュールからセキュアプロセッサ／リモートコンピュータ通信チャネルを介して許可されたリモートコンピュータに送信するために、符号化データは、危険に曝される可能性のあるプロセッサモジュールによって復号することができず、それにより、危険に曝される可能性のあるプロセッサモジュールの使用状況にかかわらず、クライアントコンピュータと認証されたリモートコンピュータとの間のセキュア通信を実現することを特徴とする方法。
【請求項１２】
請求項１０または１１に記載の方法において、
ｆ．プロセッサモジュールにより、セキュアプロセッサ／リモートコンピュータ通信チャネルを介して、許可されたリモートコンピュータから送信された符号化データを受信する段階であって、符号化データがプロセッサモジュールにより復号できないものである、段階と、
ｇ．対応するセキュア通信チャネルを介して、周辺コンポーネントによって符号化データを受信する段階と、
周辺コンポーネントのプロセッサによって、
ｈ．符号化データを復号する段階とをさらに含み、
それにより、危険に曝される可能性のあるプロセッサモジュールの使用状況に関係なく、プロセッサモジュールの使用状況に関係なく、周辺コンポーネントと許可されたリモートコンピュータとの間のセキュア通信を実現することを特徴とする方法。
【請求項１３】
セキュアクライアントコンピュータを提供するためにコンピュータに実行される方法であって、
ａ．少なくとも２の周辺コンポーネントを含むクライアントコンピュータを提供する段階を備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、周辺コンポーネントの少なくとも１のグループについて、プロセッサは、当該グループのあるモジュールに関連付けられた第１のデータタイプのデータを、当該グループの他のモジュールの第２の互換性のないデータタイプのデータに変換することが可能であり、当該方法がさらに、
ｂ．周辺コンポーネントの前記グループのうちの他の周辺コンポーネントとの間でセキュアピアツーピア通信を確立する段階と、
ｃ．セキュア通信チャネルを介してある周辺コンポーネントと他の周辺コンポーネントとの間で通信するためのデータを符号化する段階であって、符号化されたデータは、前記グループ以外の他の周辺コンポーネントによって復号することができない、段階と、
ｄ．第１のタイプのデータを第２のタイプのデータに変換することにより、またはその逆に変換することにより、共通のデータタイプで周辺コンポーネントの前記グループ間の通信を容易にする段階とを備えることを特徴とする方法。
【請求項１４】
セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行されるシステムであって、
少なくとも２の周辺コンポーネントを含むクライアントコンピュータを備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、
コンポーネントのうちの各周辺コンポーネントが、プロセッサによって、
周辺コンポーネントと、前記クライアントコンピュータとの通信を許可されたリモートコンピュータとの間に、セキュアピアツーピア通信チャネルを確立し、かつ、
セキュア通信チャネルを介して許可されたリモートコンピュータと周辺コンポーネントとの間で通信されるデータを符号化するように構成され、符号化されたデータが、前記周辺コンポーネントの他のプロセッサによって復号できないことを特徴とするシステム。
【請求項１５】
請求項１４に記載のシステムにおいて、
クライアントコンピュータが、前記少なくとも２の周辺コンポーネントの何れからも分離されたプロセッサモジュールを有しておらず、クライアントコンピュータとリモートコンピュータとの間の通信が、前記少なくとも２の周辺コンポーネントによって達成されることを特徴とするシステム。
【請求項１６】
請求項１４または１５に記載のシステムにおいて、
認証されたリモートコンピュータのプロセッサが、コンポーネントのうちの第１の認証された周辺コンポーネントから、対応する第１の信頼できるチャネルを介して、第１のデータタイプの符号化されたデータを受信し、それを第１の周辺コンポーネントに関連付けられた第１の通信鍵を使用して復号し、それを処理可能なデータに変換するように構成され、プロセッサが、処理可能なデータを第２のデータタイプのデータに変換し、それを第２の認証された周辺コンポーネントに関連付けられた第２の通信鍵を使用して符号化して、それを対応する第２の信頼できるチャネルを介して第２の認証された周辺コンポーネントに送信するようにさらに構成されていることを特徴とするシステム。
【請求項１７】
請求項１４乃至１６の何れか一項に記載のシステムにおいて、
認証されたリモートコンピュータがクラウド上に存在することを特徴とするシステム。
【請求項１８】
セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行されるシステムであって、
少なくとも２の周辺コンポーネントを含むクライアントコンピュータを備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、前記クライアントコンピュータが、危険に曝される可能性がありかつ前記少なくとも２の周辺コンポーネントの何れからも分離されるプロセッサモジュールをさらに含み、
コンポーネントのうちの各周辺コンポーネントは、プロセッサによって、
周辺コンポーネントと、クライアントコンピュータと通信することを許可されたリモートコンピュータとの間にセキュアピアツーピア通信チャネルを確立するように構成され、このセキュアピアツーピア通信チャネルの確立には、リモートコンピュータおよび周辺コンポーネントに知られている通信鍵を確立することが含まれ、前記通信鍵が、周辺コンポーネントとリモートコンポーネントとの間のデータの符号化に使用可能であり、
コンポーネントのうちの各周辺コンポーネントはさらに、プロセッサによって、
周辺コンポーネントとプロセッサモジュールとの間にセキュアピアツーピア通信チャネルを確立するように構成されており、プロセッサモジュールとリモートコンピュータとの間に、セキュアプロセッサ／リモートコンピュータのピアツーピア通信チャネルが確立されることを特徴とするシステム。
【請求項１９】
セキュアクライアントコンピュータを提供するためにコンピュータに実行されるシステムであって、
少なくとも２の周辺コンポーネントを含むクライアントコンピュータを備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、周辺コンポーネントの少なくとも１のグループについて、プロセッサは、当該グループのあるコンポーネントに関連付けられた第１のデータタイプのデータを、当該グループの他のコンポーネントの第２の互換性のないタイプのデータに変換することが可能であり、
コンポーネントのうちの周辺コンポーネントは、プロセッサによって、
周辺コンポーネントの前記グループのうちの他の周辺コンポーネントとの間でセキュアピアツーピア通信を確立し、
セキュア通信チャネルを介してある周辺コンポーネントと他の周辺コンポーネントとの間で通信するためにデータを符号化するように構成され、符号化されたデータが、前記グループ以外の他の周辺コンポーネントによって復号することができず、
コンポーネントのうちの周辺コンポーネントはさらに、プロセッサによって、
第１のタイプのデータを第２のタイプのデータに変換することにより、またはその逆に変換することにより、共通のデータタイプで周辺コンポーネントの前記グループ間の通信を容易にするように構成されていることを特徴とするシステム。
【請求項２０】
請求項１乃至９の何れか一項に記載の方法を実行するためにコンピュータによって実行可能な命令のプログラムを有形に具現化する非一時的なコンピュータ可読メモリ。
【請求項２１】
請求項１０乃至１２に記載の方法を実行するためにコンピュータによって実行可能な命令のプログラムを有形に具現化する非一時的なコンピュータ可読メモリ。
【請求項２２】
請求項１３に記載の方法を実行するためにコンピュータによって実行可能な命令のプログラムを有形に具現化する非一時的なコンピュータ可読メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の主題は、リモートセキュア端末に関するものである。
【背景技術】
【０００２】
クラウドベースのサービスの利用が益々増加していることから、（クラウド上に存在する可能性がある）リモートサーバに対して動作するセキュアクライアントコンピュータ（例えば、リモートデスクトップ、ラップトップ、携帯電話など）のトランスポートセキュリティ（セキュアトンネルなど）とペイロードセキュリティ（すなわち、クライアントコンピュータとリモートサーバとの間で送信されるコンテンツ）の両方を達成するための課題が増えている。（トランスポートセキュリティおよび／またはペイロードセキュリティに悪影響を及ぼす可能性がある）クライアントコンピュータの危殆化を低減または排除するために、様々なアプローチが提示されている。
【０００３】
例えば、Ｉｎｔｅｌ（登録商標）Ｓｋｙｌａｋｅ（商標）および後に導入されるプラットフォームを組み込んだクライアントコンピュータは、“Ｉｎｔｅｌ  Ｓｏｆｔｗａｒｅ  Ｇｕａｒｄ  Ｅｘｔｅｎｓｉｏｎ”（ＳＧＸ）（商標）ソリューションを利用し、これは、信頼できないＯＳ（オープンソース）コードなどの他のコードとともに存在および実行することができる、エンクレイブされたセキュア環境を作成するＣＰＵの新しい実行モードである。このエンクレイブされたセキュア環境は、クライアントコンピュータの周辺コンポーネント（例えば、キーボード、スクリーン、カメラなど）が危険に曝されたとしても、高いセキュリティレベルを維持することができる。
【０００４】
特定のＳＧＸ（商標）ソリューションの限界の一つは、特定のベンダやプラットフォームのバージョンでしか動作しないことである。
【発明の概要】
【０００５】
本開示の主題の一態様によれば、セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行される方法が提供され、この方法が、
（ａ）少なくとも２の周辺コンポーネントを含むクライアントコンピュータを提供する段階を備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、
当該方法は、前記コンポーネントのうちの各周辺コンポーネントに関して、さらに、プロセッサによって、
（ｂ）周辺コンポーネントと、前記クライアントコンピュータとの通信を許可されたリモートコンピュータとの間に、セキュアピアツーピア通信チャネルを確立する段階と、
（ｃ）セキュア通信チャネルを介して許可されたリモートコンピュータと周辺コンポーネントとの間で通信されるデータを符号化する段階とを備え、符号化されたデータは、前記周辺コンポーネントの他のプロセッサによって復号することができない。
【０００６】
本開示の主題の一実施形態によれば、方法がさらに提示され、
（ｂ）の段階が、
ｉ．リモートコンピュータの公開鍵を含む非対称鍵を使用してリモートコンピュータを認証するステップと、
ｉｉ．周辺コンポーネントに知られている秘密鍵を含む非対称鍵を使用して周辺コンポーネントを認証するステップと、
ｉｉｉ．認証されたリモートコンピュータと認証された周辺コンポーネントとに知られた通信鍵を確立するステップとをさらに含み、通信鍵が、クライアントコンピュータとリモートコンピュータとの間のデータの符号化に使用可能である。
【０００７】
本開示の主題の一実施形態によれば、方法がさらに提示され、
セキュア通信チャネルを介して通信するためにデータを符号化することには、
ｉｖ．セキュア通信チャネルを介して送信するためのデータを暗号化すること、または
ｖ．セキュア通信チャネルを介して受信したデータを復号することが含まれる。
【０００８】
本開示の主題の一実施形態によれば、方法がさらに提示され、
前記少なくとも２の周辺コンポーネントのうちの２つがそれぞれキーボードおよびディスプレイであり、キーボードのプロセッサが、キーストロークデータタイプの対応するデータを処理するように構成され、ディスプレイのプロセッサが、ディスプレイデータタイプの対応するデータを処理するように構成されている。
【０００９】
本開示の主題の一実施形態によれば、方法がさらに提示され、
前記クライアントコンピュータが、前記少なくとも２の周辺コンポーネントの何れからも分離されたプロセッサモジュールを有しておらず、前記クライアントコンピュータとリモートコンピュータとの間の通信が、前記少なくとも２の周辺コンポーネントによって達成される。
【００１０】
本開示の主題の一実施形態によれば、方法がさらに提示され、
前記クライアントコンピュータが、危険に曝される可能性があるプロセッサモジュールをさらに含み、かつ前記少なくとも２の周辺コンポーネントの何れからもさらに分離されており、（ｂ）の段階がさらに、
周辺コンポーネントとプロセッサモジュールとの間にセキュアピアツーピア通信チャネルを確立するステップを含み、プロセッサモジュールとリモートコンピュータとの間に、セキュアプロセッサ／リモートコンピュータピアツーピア通信チャネルが確立される。
【００１１】
本開示の主題の一実施形態によれば、方法がさらに提示され、
（ｃ）の段階がさらに、
Ｃ１）データを符号化して、符号化データを生じさせるステップと、
Ｃ２）セキュア通信チャネルを介して符号化データをプロセッサモジュールに送信するステップとを含み、
符号化データをプロセッサモジュールからセキュアプロセッサ／リモートコンピュータ通信チャネルを介して許可されたリモートコンピュータに送信するために、符号化データは、危険に曝される可能性のあるプロセッサモジュールによって復号することができず、それにより、プロセッサモジュールの使用状況にかかわらず、周辺コンポーネントと認証されたリモートコンピュータとの間のセキュア通信を実現する。
【００１２】
本開示の主題の一実施形態によれば、方法がさらに提示され、
周辺コンポーネントの少なくとも１のグループについて、プロセッサが、グループのあるモジュールに関連付けられた第１のデータタイプのデータを、グループの他のモジュールの第２の互換性のないタイプのデータに変換することが可能であり、当該方法がさらに、
ｄ）周辺コンポーネントのグループのうちの他の周辺コンポーネントとの間で、セキュアピアツーピア通信チャネルを確立する段階と、
ｅ）セキュア通信チャネルを介してある周辺コンポーネントと他の周辺コンポーネントとの間で通信するためにデータを符号化する段階であって、符号化されたデータが、グループ以外の他の周辺コンポーネントによって復号することができない、段階と、
ｆ）第１のタイプのデータを第２のタイプのデータに変換すること、またはそれとは逆に変換することによって、共通のデータタイプで周辺コンポーネントのグループ間の通信を容易にする段階とを含む。
【００１３】
本開示の主題の一実施形態によれば、方法がさらに提示され、
認証されたリモートコンピュータがクラウド上に存在する。
【００１４】
本開示の主題の一態様によれば、セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行される方法が提供され、この方法が、
少なくとも２の周辺コンポーネントを含むクライアントコンピュータを提供する段階を備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、前記クライアントコンピュータは、危険に曝される可能性がありかつ前記少なくとも２の周辺コンポーネントの何れからもさらに分離されるプロセッサモジュールをさらに含み、
当該方法は、前記モジュールの各周辺コンポーネントに関して、さらに、
周辺コンポーネントと、前記クライアントコンピュータとの通信を許可されたリモートコンピュータとの間に、セキュアピアツーピア通信チャネルを確立する段階であって、セキュア通信チャネルを確立することが、リモートコンピュータと周辺コンポーネントとに知られた通信鍵を確立することを含み、通信鍵が、周辺コンポーネントとリモートコンポーネントとの間のデータの符号化のために使用可能である、段階と、
周辺コンポーネントとプロセッサモジュールとの間にセキュアピアツーピア通信チャネルを確立する段階とを含み、プロセッサモジュールとリモートコンピュータとの間に、セキュアプロセッサ／リモートコンピュータピアツーピア通信チャネルが確立される。
【００１５】
本開示の主題の一実施形態によれば、方法がさらに提示され、
データを符号化して、符号化データを生じさせるステップと、
セキュア通信チャネルを介して符号化データをプロセッサモジュールに送信するステップとを含み、
符号化データをプロセッサモジュールからセキュアプロセッサ／リモートコンピュータ通信チャネルを介して許可されたリモートコンピュータに送信するために、符号化データは、危険に曝される可能性のあるプロセッサモジュールによって復号することができず、それにより、危険に曝される可能性のあるプロセッサモジュールの使用状況にかかわらず、クライアントコンピュータと認証されたリモートコンピュータとの間のセキュア通信を実現する。
【００１６】
本開示の主題の一実施形態によれば、方法がさらに提示され、
プロセッサモジュールにより、セキュアプロセッサ／リモートコンピュータ通信チャネルを介して、許可されたリモートコンピュータから送信された符号化データを受信する段階であって、符号化データがプロセッサモジュールにより復号できないものである、段階と、
対応するセキュア通信チャネルを介して、周辺コンポーネントによって符号化データを受信する段階と、
周辺コンポーネントのプロセッサによって、
符号化データを復号する段階とをさらに含み、
それにより、危険に曝される可能性のあるプロセッサモジュールの使用状況に関係なく、プロセッサモジュールの使用状況に関係なく、周辺コンポーネントと許可されたリモートコンピュータとの間のセキュア通信を実現する。
【００１７】
本開示の主題の一態様によれば、セキュアクライアントコンピュータを提供するためにコンピュータに実行される方法が提供され、クライアントコンピュータが、少なくとも２の周辺コンポーネントを含み、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、周辺コンポーネントの少なくとも１のグループについて、プロセッサは、グループのあるモジュールに関連付けられた第１のデータタイプのデータを、グループの他のモジュールの第２の互換性のないデータタイプのデータに変換することが可能であり、当該方法がさらに、
ａ．周辺コンポーネントのグループのうちの他の周辺コンポーネントとの間でセキュアピアツーピア通信を確立する段階と、
ｂ．セキュア通信チャネルを介してある周辺コンポーネントと他の周辺コンポーネントとの間で通信するためのデータを符号化する段階であって、符号化されたデータは、グループ以外の他の周辺コンポーネントによって復号することができない、段階と、
ｃ．第１のタイプのデータを第２のタイプのデータに変換することにより、またはその逆に変換することにより、共通のデータタイプで周辺コンポーネントのグループ間の通信を容易にする段階とを備える。
【００１８】
本開示の主題の一態様によれば、セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行されるシステムが提供され、このシステムが、
少なくとも２の周辺コンポーネントを含むクライアントコンピュータを備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、
コンポーネントのうちの各周辺コンポーネントが、プロセッサによって、
周辺コンポーネントと、前記クライアントコンピュータとの通信を許可されたリモートコンピュータとの間に、セキュアピアツーピア通信チャネルを確立し、かつ、
セキュア通信チャネルを介して許可されたリモートコンピュータと周辺コンポーネントとの間で通信されるデータを符号化するように構成され、符号化されたデータは、前記周辺コンポーネントのプロセッサによって復号することができない。
【００１９】
本開示の主題の実施形態によれば、システムがさらに提示され、
クライアントコンピュータが、前記少なくとも２の周辺コンポーネントの何れからも分離されたプロセッサモジュールを有しておらず、クライアントコンピュータとリモートコンピュータとの間の通信が、前記少なくとも２の周辺コンポーネントによって達成される。
【００２０】
本開示の主題の実施形態によれば、システムがさらに提示され、
認証されたリモートコンピュータのプロセッサが、コンポーネントのうちの第１の認証された周辺コンポーネントから、対応する第１の信頼できるチャネルを介して、第１のデータタイプの符号化されたデータを受信し、それを第１の周辺コンポーネントに関連付けられた第１の通信鍵を使用して復号し、それを処理可能なデータに変換するように構成され、プロセッサが、処理可能なデータを第２のデータタイプのデータに変換し、それを第２の認証された周辺コンポーネントに関連付けられた第２の通信鍵を使用して符号化して、それを対応する第２の信頼できるチャネルを介して第２の認証された周辺コンポーネントに送信するようにさらに構成されている。
【００２１】
本開示の主題の実施形態によれば、システムがさらに提示され、
認証されたリモートコンピュータがクラウド上に存在する。
【００２２】
本開示の主題の一態様によれば、セキュアクライアントコンピュータとリモートコンピュータとの間の通信を提供するためにコンピュータに実行されるシステムが提供され、このシステムが、
少なくとも２の周辺コンポーネントを含むクライアントコンピュータを備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、前記クライアントコンピュータが、危険に曝される可能性がありかつ前記少なくとも２の周辺コンポーネントの何れからも分離されるプロセッサモジュールをさらに含み、
コンポーネントのうちの各周辺コンポーネントは、プロセッサによって、
周辺コンポーネントと、クライアントコンピュータと通信することを許可されたリモートコンピュータとの間にセキュアピアツーピア通信チャネルを確立するように構成され、このセキュアピアツーピア通信チャネルの確立には、リモートコンピュータおよび周辺コンポーネントに知られている通信鍵を確立することが含まれ、前記通信鍵が、周辺コンポーネントとリモートコンポーネントとの間のデータの符号化に使用可能であり、
コンポーネントのうちの各周辺コンポーネントはさらに、プロセッサによって、
周辺コンポーネントとプロセッサモジュールとの間にセキュアピアツーピア通信チャネルを確立するように構成されており、プロセッサモジュールとリモートコンピュータとの間に、セキュアプロセッサ／リモートコンピュータのピアツーピア通信チャネルが確立される。
【００２３】
本開示の主題の一態様によれば、セキュアクライアントコンピュータを提供するためにコンピュータに実行されるシステムが提供され、このシステムが、
少なくとも２の周辺コンポーネントを含むクライアントコンピュータを備え、各周辺コンポーネントは、プロセッサによって、前記少なくとも２の周辺コンポーネントの他のプロセッサによって処理される周辺コンポーネントデータタイプと互換性のないデータタイプの対応する周辺コンポーネントデータを処理するように構成され、各周辺コンポーネントのプロセッサは、前記データタイプの対応するデータを符号化するようにさらに構成され、周辺コンポーネントの少なくとも１のグループについて、プロセッサは、グループのあるコンポーネントに関連付けられた第１のデータタイプのデータを、グループの他のコンポーネントの第２の互換性のないタイプのデータに変換することが可能であり、
コンポーネントのうちの周辺コンポーネントは、プロセッサによって、
周辺コンポーネントのグループのうちの他の周辺コンポーネントとの間でセキュアピアツーピア通信を確立し、
セキュア通信チャネルを介してある周辺コンポーネントと他の周辺コンポーネントとの間で通信するためにデータを符号化するように構成され、符号化されたデータが、グループ以外の他の周辺コンポーネントによって復号することができず、
コンポーネントのうちの周辺コンポーネントはさらに、プロセッサによって、
第１のタイプのデータを第２のタイプのデータに変換することにより、またはその逆に変換することにより、共通のデータタイプで周辺コンポーネントのグループ間の通信を容易にするように構成されている。
【００２４】
本開示の主題の一実施形態によれば、本開示の主題の様々な実施形態の方法の段階を実行するためにコンピュータによって実行可能な命令のプログラムを有形に具現化する非一時的なコンピュータ可読メモリがさらに提示されている。
【００２５】
本発明の一態様の文脈の中で説明された実施形態は、同様に、必要な変更を加えて、本発明の他の態様に適用することができる。
【図面の簡単な説明】
【００２６】
本発明を理解し、それが実際にどのように実施され得るのかを理解するために、添付の図面を参照しながら、非限定的な例として実施形態を説明する。
【図１】図１は、本開示の主題の特定の実施形態に係る、セキュアクライアントコンピュータを提供するためのシステムの機能ブロック図を示している。
【図２】図２は、本開示の主題の特定の実施形態に係る、システムオンチップ（ＳＯＣ）の機能ブロック図を示している。
【図３】図３は、本開示の主題の特定の実施形態に係る、図１のシステムにおける一連の動作の一般化されたフローチャートを示している。
【図４】図４は、本開示の主題の特定の実施形態に係る、周辺コンポーネントとリモートコンピュータとの間でセキュア通信チャネルを確立するための一連の動作のフローチャートを示している。
【図５】図５は、本開示の主題の別の態様の特定の実施形態に係る、セキュアクライアントコンピュータを提供するためのシステムの機能ブロック図を示している。
【図６】図６は、本開示の主題の特定の実施形態に係る、図５のシステムにおけるセキュア通信チャネルを生成するための一連の動作の一般化されたフローチャートを示している。
【図７】図７は、本開示の主題の特定の実施形態に係る、例えば図６のフローチャートに従って確立されたセキュア通信チャネルを使用する一連の動作を示している。
【図８】図８は、本開示の主題の他の特定の実施形態に係る、例えば図６のフローチャートに従って確立されたセキュア通信チャネルを使用する一連の動作を示している。
【図９】図９は、本開示の主題の別の態様の特定の実施形態に係る、セキュアクライアントコンピュータを提供するためのシステムの機能ブロック図を示している。
【図１０】図１０は、本開示の主題の特定の実施形態に係る、図９のシステムにおけるセキュア通信チャネルを生成するための一連の動作の一般化されたフローチャートを示している。
【図１１】図１１は、本開示の主題の特定の実施形態に係る、例えば図９のフローチャートに従って確立されたセキュア通信チャネルを利用するための一連の動作を示している。
【発明を実施するための形態】
【００２７】
以下の詳細な説明では、本発明の完全な理解を提供するために、多くの具体的な詳細が記載されている。しかしながら、当業者であれば、本開示の主題がそれらの具体的な詳細なしに実施され得ることが理解されるであろう。他の例では、本開示の主題が不明瞭とならないように、周知の方法、手順、コンポーネントおよび回路は、詳細には記載されていない。
【００２８】
特に明記されていない限り、以下の説明から明らかなように、本明細書の全体を通して、「認証」、「通信」、「送信」、「コーディング」、「解釈」、「促進」、「提供」、「確立」、「処理」、「コンピューティング」、「提示」、「比較」、「生成」、「評価」、「照合」、「更新」などの用語を利用した説明は、データを操作および／または他のデータに変換するコンピュータの１または複数の動作および／または１または複数のプロセスを指し、上記データが電子、量などの物理的なものとして示され、かつ／または上記データが物理オブジェクトを示していることが理解されよう。コンピュータまたはプロセッサという用語は、非限定的な例として、本出願で開示される、クライアントコンピュータ、リモートコンピュータ、プロセッサ、プロセッサモジュールを含む、データ処理能力を有する任意の種類の１または複数のハードウェアベースの電子デバイスを網羅するように拡張的に解釈されるべきである。
【００２９】
本明細書で使用される「非一時的なメモリ」および「非一時的な記憶媒体」という用語は、本開示の主題に適した任意の揮発性または不揮発性コンピュータメモリを網羅するように拡張的に解釈されるべきである。
【００３０】
本明細書中の教示に係る動作は、所望の目的のために特別に構成されたコンピュータによって実行されるものであっても、または非一時的なコンピュータ可読記憶媒体に記憶されたコンピュータプログラムによって、所望の目的のために特別に構成された汎用コンピュータによって実行されるものであってもよい。
【００３１】
本開示の主題の実施形態は、特定のプログラミング言語を参照して記載されていない。本明細書に記載のように、本開示の主題の教示を実施するために様々なプログラミング言語を使用できることが理解されよう。
【００３２】
このことを念頭に置いて、図１を参照すると、本開示の主題の特定の実施形態に係るシステムの機能ブロック図が示されている。図示のシステム１００は、この例では２つの周辺コンポーネント１０２、１０３を有することができるクライアントコンピュータ１０１を含む。クライアントコンピュータは、それ自体既知のネットワーク（まとめて１０５で示される）を介してリモートコンピュータ１０４（例えば、クラウドに存在するサーバ）に接続することができ、周辺コンポーネントとリモートコンピュータ１０４との間にセキュア通信を提供するように構成されている。周辺コンポーネントの非限定的な例としては、キーボードマイクロフォン、トラッキングデバイス、またはそれらの組合せ（例えば、キーボードおよびマウス）などの入力コンポーネント、ディスプレイコンポーネントなどの出力コンポーネント、および／または他のコンポーネント（必ずしも入力または出力である必要はない）が挙げられる。各周辺コンポーネントは、所与のデータタイプの対応する周辺コンポーネントデータを処理するように構成されている。例えば、キーボードコンポーネントの場合、データタイプは、スキャンコードやキーコードなどのキーストローク関連データである。所与の周辺コンポーネント（例えば、キーボード）に関連付けられたデータタイプは、１または複数の他の周辺コンポーネント（例えば、ディスプレイ）のうちの１つ（または複数）のデータタイプとは異なる可能性があることに留意されたい。特定の実施形態によれば、データタイプが互いに互換性のある他の２以上の周辺コンポーネント（同一のタイプのもの、例えば２つのキーボードまたは異なるタイプのものの何れか）が存在してもよい。特定の実施形態によれば、周辺コンポーネント１０７の物理的部分（例えば、ディスプレイの場合はスクリーン、物理的キーボードのキーストローク、および関連する電子機器／ハードウェア）は、指定されたデータタイプを含むデータを生成および処理するためのプロセッサ１０６に関連付けることができる。
【００３３】
プロセッサ１０６は、後でより詳細に説明するように、指定されたデータタイプの対応するデータを符号化するための符号化モジュール１０８を実行するように構成することができる。ネットワークモジュールは、通信、例えばリモートコンピュータ１０４との通信を容易にするように構成されている。後でさらに詳述するように、プロセッサは、所与のデータタイプのデータを、他のデータタイプと互換性のある別のデータタイプに変換するためのデータ互換性モジュール１１０（例えば、ドライバ）を実行するように構成することができる。図１は、後でより詳細に説明するように、秘密鍵などのデータを格納するためのストレージモジュール１１１（非一時的なコンピュータ可読記憶媒体）をさらに示している。
【００３４】
符号化モジュール１０８およびネットワークモジュール１０９（後者は、ネットワーク１０５を介してリモートサーバ１０４との通信を容易にすることができる）は、図２を参照して後述するように、１または複数のシステムオンチップ（ＳＯＣ）上に存在し得る。
【００３５】
特定の実施形態によれば、周辺コンポーネント（図１の例では、可能性のあるＮ個（Ｎ＞２）のうちの２個のみが示されている）は、それ自体が既知のラップトップ、デスクトップ、セルラーデバイスなどのクライアントコンピュータ１０１の一部を形成することができ、または他の特定の実施形態によれば、周辺コンポーネントのうちの２以上は、リモートに存在し、ネットワークを介して通信することができ、それによって、それ自体が既知の１の物理的なクライアントコンピュータに必ずしも存在するとは限らないことに留意されたい。
【００３６】
周辺コンポーネント１０３は、必要な変更を加えて、同様のブロックおよびモジュールを含むことができる。例えば、周辺コンポーネント１０３がディスプレイである場合、物理コンポーネント１０７は、異なるものであってもよく、あるいはディスプレイコンポーネントに適したものであってもよい。
【００３７】
ここでリモートコンピュータ１０４に目を向けると、プロセッサ１１２と、それぞれの周辺機器１０２、１０３と通信するためのネットワークモジュール１１３、１１４とを含む。プロセッサ１１２は、互換性のないデータタイプ間の変換のための１または複数のデータ互換性モジュールの一部を形成可能なドライバモジュール１１４、１１５を実行するように構成することができ、例えば、ドライバ１１５は、プロセッサ１１２で実行されている適切なアプリケーションモジュール（図示省略）による更なる処理のために、キーボードコンポーネント１０２からネットワークモジュール１１２を介して（後述するセキュアチャネル１０５（１）を介して）受信したキーストロークデータタイプを変換することができる。同様に、ドライバ１１６は、プロセッサ１１２で実行されている適切なアプリケーションモジュール（図示省略）によって処理された出力データを、ネットワークモジュール１１４を介して（後述するセキュアチャネル１０５（２）を介して）ディスプレイコンポーネント１０３に送信されるディスプレイタイプのデータに変換することができる。リモートサーバへの通信データが、符号化、例えば（後述するように）暗号化される場合、リモートコンピュータは、例えばデータを復号するために、かつ／またはその逆に、周辺コンポーネントの符号化モジュールによってデコードされるデータを暗号化するために、符号化モジュール１１７を利用することができる。プロセッサは、図１には示されていないストレージモジュール（非一時的なコンピュータ可読記憶媒体）に動作可能に結合されている。
【００３８】
本発明は、例示としてのみ提供されるリモートコンピュータの特定のアーキテクチャに拘束されるものではなく、任意のそれ自体既知のアーキテクチャを適用することができる。
【００３９】
図１の実施形態では、周辺コンポーネントが１つのローカルクライアントコンピュータ１０１に収容されているが、これは必ずしもそれに限られるものではなく、例えば、２以上のコンポーネントがネットワークを介して通信し、それにより、必ずしも同じ物理的位置に存在するとは限らないことにも留意されたい。このため、特定の実施形態によれば、クライアントコンピュータは、１つの場所に常駐するローカルコンピュータであってもよいし、他の実施形態によれば、必ずしも１つの場所に常駐していなくてもよい。
【００４０】
図２を参照すると、本開示の主題の特定の実施形態に係る、より詳細なシステムオンチップ（ＳＯＣ）２００の機能ブロック図が示されている。このように、ＳＯＣ２００は、例えば１または複数のドライバを含むデータ互換性モジュール１１０を実行するように構成されたプロセッサ１０６を含むことができる。プロセッサは、本実施形態では暗号演算を実行することが可能な暗号化セマンティクスモジュール２０２を含む符号化モジュールにさらに構成することができる。プロセッサは、この例では、外部検証および設定データ（例えば、スマートカード、サブキーおよびニトロキーなどから）を読み取ることが可能な、トラステッドプラットフォームモジュール（ＴＰＭ）２０３および外部ソースモジュール２０４を含むストレージ１１１に動作可能に結合されている。特定のモジュールの動作については、後でより詳細に説明する。ネットワークモジュール２０５は、例えば、８０３．１１Ｘ、Ｂｌｕｅｔｏｏｔｈ（ＬＥ）Ｔｈｕｎｄｅｒｂｏｌｔ等のうちの１または複数を利用する通信スタックであってもよい。図１を参照した説明では、１つのＳＯＣを利用しているが、同様に、図２を参照して説明したものと同様のまたは変更された機能を集合的に有し得る２以上のＳＯＣを利用することもできる。
【００４１】
このように、上記の図１、図２および下記の図５および図９に示すように、プロセッサ（１０６）（または１１２、何れの場合でも）は、非一時的なコンピュータ可読記憶媒体上に実装されたコンピュータ可読命令に従って、複数の機能モジュールを実行するように構成することができる。
【００４２】
本開示の主題の教示は、図１を参照して説明したシステムおよび／またはコンピュータおよび／またはプロセッサシステムに拘束されないことに留意されたい。同等のおよび／または変更された機能は、別の方法で統合または分割することができ、ソフトウェアとファームウェアおよび／またはハードウェアの適切な組合せで実装し、適切なデバイスで実行することができる。また、当業者であれば、データストレージを別の方法で連結または分割することができること、データベースを他のシステムと共有できること、またはサードパーティの機器を含む他のシステムによって提供できることも容易に理解するであろう。
【００４３】
以下の記載は、説明のみを目的として、周辺コンポーネント間のセキュア通信を確立するために提供されている。当業者であれば、本開示の主題の教示が、同様に、１または複数の周辺コンポーネントと１または複数のリモートコンピュータとの間のセキュア通信にも適用可能であることを容易に理解するであろう。
【００４４】
このことを念頭に置いて、図３を参照すると、本開示の主題の特定の実施形態に係る、リモートコンピュータ（例えば、図面の１０４）と例えば１または複数の周辺コンポーネント１０２および／または１０３（同じクライアントのコンピュータ内に存在するか、または存在しない）との間でセキュア通信を確立するための一連の操作の一般化されたフローチャートが示されている。周辺コンポーネントは、最初に、周辺コンポーネントと、周辺コンポーネントと通信することを許可されたリモートサーバコンピュータとの間に、セキュアピアツーピア通信チャネルを確立することができる（３０１）。これは、セキュアチャネル（例えば、トンネル）を生成し、セキュアトンネルを介してセキュアなペイロード（例えば、符号化されたデータ）の通信を容易にすることができる。図１の例では、周辺コンポーネント１０２が例えばキーボードであると仮定した場合、セキュア通信チャネルが、１０５１として模式的に描かれている。その結果、周辺コンポーネント間の通信チャネルは、コンテンツと同様に（理論的に通信チャネルが危険に曝されている場合でも）保護される。
【００４５】
次に、周辺コンポーネントは、符号化モジュールを利用して、セキュア通信トンネルを介して認証されたリモートサーバ（例えば、１０４）と周辺コンポーネントとの間で通信されるデータを符号化することができ（３０２）、符号化されたデータ（例えば、指定された符号化ペイロード）は、周辺コンポーネントの他の（特定の実施形態によればすべての他の）符号化モジュールによって復号できないようになっている。本明細書で使用される解読不能（または復号不能）（または解読できないまたは復号できない）という用語は、合理的に利用可能な処理能力を使用して、例えば、非対称鍵のための少なくとも２０４８ビット、または対称鍵のための少なくとも２５６ビットを使用して、解読（復号）することができないことを含むように、解釈されるべきである。これらの値は、時間の経過とともに改善されるであろう利用可能な合理的な処理能力に応じて変わる可能性がある。
【００４６】
ここで図４を参照すると、本発明の特定の実施形態に係る、図３で論じた周辺コンポーネントとリモートコンピュータとの間のセキュア通信チャネルを確立する一連の動作のフローチャートが示されている。このように、４０１において、周辺コンポーネント、例えば１０２は、リモートサーバのみに知られている秘密鍵を含む非対称鍵を使用して、リモートサーバを認証することができる。より具体的には、リモートサーバは、その秘密鍵によって署名されたメッセージを送信することができ、周辺コンポーネントは、リモートサーバの対応する公開鍵を（例えば外部の信頼できるソースから）抽出して、（リモートサーバの公開鍵を使用して）そのように暗号化されたメッセージを解読し、それによってリモートサーバを認証することができる。
【００４７】
その後、４０２において、周辺コンポーネントは、周辺コンポーネントに知られている（そしておそらくは周辺コンポーネントのみにしか知られていない）秘密鍵を含む非対称鍵（例えば、ＴＰＭから抽出されたもの）を使用して、メッセージを暗号化し、リモートコンピュータは、この特定の周辺コンポーネントの対応する公開鍵を使用してメッセージを解読し、それによって周辺コンポーネントを認証することができる。二重認証が達成されると、クライアントコンピュータとリモートサーバとの間のセキュアピアツーピア通信チャネルが確立される。
【００４８】
本明細書および特許請求の範囲の全体を通して、非対称鍵（例えば、秘密鍵）を使用して暗号化することは「署名」の一例として解釈され、対応する非対称鍵（例えば、公開鍵）を使用して復号（解読）することは「検証」の一例として解釈され得ることに留意されたい。
【００４９】
その後、４０３では、認証されたリモートサーバと認証された周辺コンポーネントに知られている（そしておそらくは他の周辺コンポーネントには知られていない）通信鍵（例えば、対称鍵）が生成される。対称鍵は、クライアントコンピュータとリモートサーバとの間のデータの符号化に使用可能である。一例としては、通信鍵を確立するために、周辺コンポーネントは、ＴＰＭ２０３および外部ソースデータ２０４の何れか一方または両方からプロプライエタリデータを抽出し、それらを結合して、通信鍵を生成することができる。本発明は、通信鍵を生成するこの特定の態様に拘束されるものではない。
【００５０】
特定の実施形態によれば、通信鍵を認証済みリモートサーバに送信するために、そのように生成された通信鍵が、周辺コンポーネントの秘密鍵およびリモートコンピュータの公開鍵によって暗号化され、認証済み周辺コンポーネントからリモートコンピュータに、それらの間に既に確立されたセキュアチャネル（例えば、１０５）を介して送信されるようにしてもよい。通信鍵は、リモートコンピュータの公開鍵によって暗号化されているため、既に認証されたリモートサーバ（段階４０１を参照）だけが（そのサーバだけが知っているその対応する秘密鍵を使用して）解読することができることが保証される。次に、リモートコンピュータは、既に認証された周辺コンポーネントの公開鍵（上記段階４０１を参照）を使用して、周辺コンポーネントの対応する秘密鍵によって暗号化された通信鍵を解読および抽出することとなる。このようにして、認証済み周辺コンポーネントと認証済みリモートコンピュータとの間で通信鍵が確立される。この通信鍵は、符号化されたデータ（セキュアペイロード）を送信するために、それらのみに知られているものとなる。
【００５１】
本発明は、通信鍵を確立する特定の方法に拘束されるものではない。例えば、手順は、通信鍵を規定するリモートコンピュータから開始し、その秘密鍵で暗号化した後、認証された周辺コンポーネントの公開鍵で暗号化するようにしてもよい。その後、認証された周辺コンポーネントは、認証されたリモートコンピュータの公開鍵と自身の秘密鍵を使用して、通信鍵を解読および抽出し、符号化データを送信し、安全なペイロードを実現する。
【００５２】
上述した（周辺コンポーネント側での）計算段階は、例えば、プロセッサ１０６上で実行される暗号化セマンティクスモジュール２０２（図２）で実行されるものであってもよく、上述した（リモートコンピュータを参照した）計算段階は、プロセッサ１１１上で実行される符号化モジュール１１７（図１）で実行されるものであってもよい。
【００５３】
安全な通信鍵を確立した後、それは、セキュアペイロードを実現するために、セキュア通信チャネルを介して通信されるデータを符号化すべく、符号化モジュール１０８（例えば、暗号化セマンティクスモジュール２０２）によって、例えば４０４で使用されるようにしてもよい。これは、セキュア通信チャネル（例えばトンネル）を介して送信するためのデータを暗号化すること、またはセキュア通信トンネルを介して受信したデータを復号することを含むことができる。
【００５４】
同じことが、他の周辺コンポーネント１０３（例えば、ディスプレイ）が、リモートコンピュータ１０４との間でセキュア通信チャネル（１０５２として模式的に示されている）を確立する場合にも当てはまる。
【００５５】
キーボード周辺コンポーネント（ここでは、図２に示すように、物理コンポーネント１０７が物理的キーパッドを示し、プロセッサ１０６は関連データを処理する）とリモートサーバとの間でセキュア通信を確立するための一連の動作の非限定的な例を以下に示す。本発明は、当然のことながら、この例に拘束されるものではない。
【００５６】
ａ．キーボード−クライアント側（例えば、図１の１０２）
ｉ．ユーザは、外部認証デバイス（スマートカード、ニトロキーなど）をプラグインする。
ｉｉ．ユーザは、デバイスに対して認証を行う（例えば、生体認証を介して）。
ｉｉｉ．ＴＰＭ（２０３）はファームウェアの状態を検証し、有効であればファームウェアを起動する。
ｉｖ．ファームウェアは、外部検証デバイス（２０４）から設定データを読み取る。
設定情報には、以下のものが含まれる（ただし、これらに限定されない）。
１．ローカルネットワークの設定および資格情報
２．リモートホストの設定および資格情報
指定された段階（ｉ）から（ｉｖ）は、非限定的な方法でチップを検証し、ユーザを認証する段階を例示している。データの一部は、例えば、認証されるリモートコンピュータのアドレス、および／またはユーザデータ（例えば、生体認証データおよび／またはユーザパスワードなど、通信鍵の一部を形成する可能性のあるデータ）など、後の段階で使用される場合がある。
ｖ．ファームウェアは、現在読み込まれている設定に基づいてデバイスをプロビジョニングする（設定情報は本質的に一時的なものである）。特定のキーボード周辺コンポーネントを検証し、コンポーネントの設定を抽出し、コンポーネントの初期化を行う。その後
ｖｉ．キーボードコンポーネントは、上記の図３および図４を参照して説明したように、（例えば、提供された設定データに基づいて）周辺コンポーネントおよびリモートコンピュータを認証することを含む、リモートコンピュータ（サーバ）へのセキュアチャネル（この例では、セキュアトランスポート（例えば、ＶＰＮ））を確立する。
ｖｉｉ．対称鍵（通信鍵の一例）は、上記の図３および４を参照して述べたように、認証されたデバイスの間で生成される。この例では、キーボードからのキーストロークが読み取られ、（同じ外部鍵ストアに基づく）第２の提供された鍵に暗号化されることが含まれる。これは、エンドツーエンド暗号化（ペイロード暗号化）、およびトランスポート暗号化を作成するためである。
ｖｉｉｉ．その後、暗号化されたペイロード（コードデータの一例）は、キーボードコンポーネントとリモートコンピュータとの間のセキュアチャネル（トンネル）を介して（通信鍵を使用して）送信される。
特定の実施形態によれば、トランスポート層は、エッジデバイス（例えば、ファイアウォール、ＶＰＮコンセントレータなど）で終端することができるが、ホストオペレーティングシステムレベルで終端することができることに留意されたい。
【００５７】
ｂ．リモートコンピュータ側（例えば、図１の１０４）  
ｉ．トランスポート層（例えば、ＶＰＮ）が確立される。これは、リモートコンピュータ側で実行される対応するセキュアチャネル部（クライアント側の（ｖｉ）を参照）である。
ｉｉ．クライアントデバイスは、クライアントのプロビジョニングされた鍵に基づいて認証される。（上述したキーボード周辺機器の認証）。
ｉｉｉ．認証が成功すると、仮想デバイスが、リモートコンピュータのオペレーティングシステムに提示される（仮想ＨＩＤ（キーボード））。
（ｉｖ）符号化されたデータは、前述したように、（リモートコンピュータがその生成に参加した）確立された通信（例えば、対称）鍵を使用して受信または送信される。例えば、Ｉｎｇｒｅｓｓ暗号化されたペイロード（例えば、指定された対称鍵を使用）は、ソフトウェアドライバによって復号されて、非暗号化された標準スキャンコードをもたらす。
（ｖ）スキャンコードは、デバイスのドライバを介してＯＳに配信される。
【００５８】
このすべてを念頭に置いて、符号化されたデータは、認証済みのリモートサーバと認証された所与の認証済みの周辺コンポーネント（例えば、１０２、キーボードなど）との間で、符号化されたデータが他の周辺機器によって解読できないセキュアチャネル（例えば、１０５１）を介して、交換することができる。同様に、リモートコンピュータと別の周辺コンポーネント（例えば、ディスプレイ１０３）との間で、図３の特定のシーケンス（および、例えば図４の特定の実施形態）を利用して、認証済みリモートサーバと別の周辺コンポーネントとの間で、符号化されたデータ（典型的には別のタイプのもの）を、別のセキュアチャネル（例えば１０５２）を介して交換することができ、その別のセキュアチャネルでは、所与の認証済み周辺コンポーネントに指定された符号化データ又は所与の認証済み周辺コンポーネントに由来する符号化データは、他の周辺コンポーネントによって解読することができない。
【００５９】
２以上のセキュア周辺コンポーネント（指定された方法で）が同じローカルコンピュータに存在する（または周辺機器が同じ物理的な場所に存在しない）という非限定的なシナリオを考慮すると、例えばサードパーティのハッキングによって本質的に危険に曝される可能性のある汎用プロセッサのような危険に曝され易いプロセッサを利用するローカルコンピュータよりも非常に安全性の高い、セキュアローカルコンピュータが達成される。危険に曝され易いプロセッサのこの定義は、ＣＰＵによって実行される特定のコマンドを使用して、特定のプロセスのみがメモリへのアクセスが許容されるような方法で、特定のプロセスのためのメモリセクションへのアクセスを制限するためのシステム／機能を含まないプロセッサ（例えば、ＣＰＵ）を包含することができる。そのようなＣＰＵでは、ＯＳカーネルは、その時点でそのＣＰＵ上で行われている計算の内容を読み取ることができ、よって、危険に曝されたカーネルは、そのＣＰＵ上で行われているあらゆる計算を危険に曝すことになる。本発明は、この定義に拘束されるものではない。
【００６０】
さらに、特定の実施形態に係るローカルコンピュータでは（または周辺機器が同じ物理的な場所に存在しない場合でも）、実質的にデータはクライアント側には保持されずに、（例えば、クラウド内の）セキュアリモートサーバにのみ保持される。
【００６１】
特定の実施形態に係るこのソリューションは、例えば、Ｉｎｔｅｌ（登録商標）Ｓｋｙｌａｋｅ（商標）や、「Ｉｎｔｅｌ  Ｓｏｆｔｗａｒｅ  Ｇｕａｒｄ  Ｅｘｔｅｎｓｉｏｎ」（ＳＧＸ）（商標）を利用してセキュア環境を実現する後で導入されるプラットフォームを組み込んだローカルコンピュータよりも、コストが低く、互換性がある。本発明は、特定のＳＧＸ（商標）に拘束されるものではない。
【００６２】
特定の実施形態によれば、このソリューションは、クライアントコンピュータでのアクティビティの「全体像」を把握するために、１つの周辺コンポーネントだけでなく、むしろすべて（またはほぼすべての）周辺コンポーネントをハッキングする必要性があり、それが、各周辺コンポーネントが他のものとは独立して保護されているためにより困難である、という事実により有利である。
【００６３】
本発明の様々な実施形態に係る教示を利用する、例えば図１のアーキテクチャでは、クライアントコンピュータ（周辺コンポーネントのみを採用）に「汎用」処理能力がないことは、例えばリモートの保護されたクラウド環境上に存在するサーバなどのリモートコンピュータの処理能力によって満たされ得る。
【００６４】
本開示の主題の教示は、図３および図４に示すフローチャートによっても、図１および図２に示す特定のモジュールによっても拘束されないことに留意されたい。例えば、図示の操作は、図示の順序から外れて生じることがある。操作の一部は、実質的に同時にまたは逆の順序で実行することができる。
【００６５】
図５を参照すると、本開示の主題の別の態様に係る、セキュアクライアントコンピュータを提供するためのシステムの機能ブロック図が示されている。周辺コンポーネント（例えば、１０２、１０３−および場合によっては図５に示されていない他のコンポーネント）およびリモートコンピュータ１０４は、図１および図２を参照して説明したものと同様であり、クライアントコンピュータ１０１に収容されるものであってもよく、この実施形態では、例えば、危殆化され易いコンピュータモジュール５０１を採用することによって、追加の処理能力を含むことができる。後者は、例えば、市販のＩｎｔｅｌ（商標）またはＡＭＤ（商標）のＣＰＵのような、クライアントコンピュータに取り付けられた市販のＣＰＵであってもよい。危殆化され易いという用語は、上述した非限定的な例によって規定されているように、合理的なサードパーティのハッキング技術を適用することによって危殆化され易いプロセッサを含むと解釈されるべきである。図５から容易に分かるように、周辺コンポーネントとリモートコンピュータとの間の通信は、コンピュータモジュール５０１を通過するものであり、また、コンピュータモジュール５０１が危殆化され易いという特性により、周辺コンポーネントおよびリモートサーバから発生するデータまたはその逆は、プロセッサモジュール５０１でハッキングされる可能性があるため、安全であると見なすことはできない。
【００６６】
したがって、プロセッサモジュール５０１は、（例えば、図１の実施形態と比較して）クライアントコンピュータに計算能力を追加することができるが、危殆化され易く、明らかに不利である。このため、危殆化され易いプロセッサモジュールも採用したアーキテクチャにおいて、クライアントコンピュータとリモートサーバ間のセキュア通信を得るための方法が提供されている。
【００６７】
すなわち、特定の実施形態によれば、周辺コンポーネントの各々は、周辺コンポーネント（例えば、１０２）と、それと通信することを許可されたリモートコンピュータ（例えば、１０４）との間に、セキュアピアツーピア通信チャネルを確立することができる。この目的のために、セキュア通信チャネル（例えば、１０５１）を確立することができ、それには、リモートコンピュータ（１０４）と周辺コンポーネント（１０２）のみに知られている通信鍵（例えば、対称鍵）を確立することが含まれ、通信鍵は、図１から図４を参照して上述したように、周辺コンポーネントとリモートコンピュータとの間のデータの符号化のために使用することができる。
【００６８】
図６を参照すると、本開示の主題の特定の実施形態に係る、図５のシステムにおけるセキュア通信チャネルを生成するための一連の操作の一般化されたフローチャートが示されている。
【００６９】
便宜上、プロセッサモジュール５０１という用語が使用されるときはいつでも、上述した問題で危殆化され易いプロセッサモジュールを指すことを意味しているとする。
【００７０】
このため、６０１では、周辺コンポーネント（例えば、１０２）とプロセッサモジュール（例えば、５０１）との間に、安全なピアツーピア通信チャネル（例えば、５０２（１））が確立される。６０２では、プロセッサ５０１とリモートコンピュータ１０４との間に、セキュアプロセッサ／リモートサーバピアツーピア通信チャネル（例えば、５０３）が確立される。同様に、６０１では、周辺コンポーネント（例えば、１０３）とプロセッサモジュール（例えば、５０１）との間に、セキュアピアツーピア通信チャネル（例えば、５０２（２））が確立される。特定のセキュア通信チャネルを生成することは、それぞれの周辺コンポーネント（１０２、１０３）とコンピュータ（５０１）を認証することを含み、それにより、図１および図３および図４の関連フローチャートを参照して詳述したように、セキュアトランスポートチャネル（１０５（１）、１０５（２））を確立する同様のプロセスにおいて、必要な変更を加えて、セキュアトランスポート（５０２（１）および５０２（２）をそれぞれ））を達成することができる。
【００７１】
図７を参照すると、本開示の主題に係る、例えば図６のフローチャートに従って確立されたセキュア通信チャネルを利用する一連の操作が示されている。
【００７２】
より具体的には、７０１において、周辺コンポーネント（例えば、１０２）の符号化モジュールが、リモートコンピュータに指定されたデータ（例えば、符号化されたキーボードストローク）を符号化するために利用することができる。次いで、７０２では、符号化されたデータを、セキュア通信チャネル（例えば、５０２（１））を介してプロセッサモジュールに送信することができる。その後、符号化されたデータを、既に確立されたセキュアプロセッサ／リモートサーバ通信チャネル５０３を介して、プロセッサモジュールから許可されたリモートサーバ（例えば、１０４）に送信することができる（７０３）。
【００７３】
符号化されたデータ（例えば、符号化されたキーストローク）は、リモートコンピュータ（例えば、１０４）と周辺コンポーネント（例えば、１０２）とに知られた（おそらくこの周辺コンポーネントにしか知られておらず、他の周辺コンポーネントには知られていない）通信鍵（例えば、対称鍵）を使用して生成されたため、この符号化されたデータは、プロセッサモジュールによって復号することができず、よって、プロセッサ５０１が危殆化されて、符号化されたデータがプロセッサ５０１内で傍受されたとしても、それを解読することはできず、それにより、プロセッサモジュールの利用に関わらず、クライアントコンピュータと許可されたサーバコンピュータ（リモートコンピュータ）との間のセキュア通信が実現されることに留意されたい。
【００７４】
図８を参照すると、本開示の主題に係る、セキュア通信チャネルを利用する一連の操作が示されている。この例では、符号化されたデータは、リモートコンピュータ（例えば、１０４）から周辺コンポーネント（例えば、ディスプレイコンポーネント１０３）に伝送され、これには、（８０１において）プロセッサモジュール５０１で、セキュアプロセッサ／リモートサーバ通信チャネル５０３を介して、許可されたリモートサーバ１０４によって送信された符号化されたデータを受信することが含まれている。上述したように、符号化されたデータは、プロセッサモジュールによって復号することができない。
【００７５】
その後、８０２では、符号化されたデータが、プロセッサ５０１からセキュア通信チャネル５０２２を介してディスプレイ周辺コンポーネント１０３に送信される。
【００７６】
次いで、８０３では、ディスプレイ周辺コンポーネントの符号化モジュールが、符号化データを復号するために利用され、それにより、プロセッサモジュール５０１の利用に関わらず、ディスプレイ周辺コンポーネントと許可されたサーバコンピュータ１０４との間のセキュア通信が達成される。
【００７７】
第１の態様（図１を参照して説明）および第２の態様（図５を参照して説明）で例示された周辺コンポーネントが、本質的に一方向のキーボード発信およびディスプレイ受信によって使用されているのに対して、他の実施形態によれば、他の双方向の周辺コンポーネントを、リモートコンピュータとの間で符号化されたデータを送受信するために使用することができることに留意されたい。
【００７８】
図６〜図８の文脈では、符号化されたデータという用語は、その変形として、例えばプロセッサ５０１によって追加された追加データを含むと解釈されるべきであることに留意されたい。
【００７９】
また、特定の実施形態によれば、２つのアーキテクチャ（例えば、図１および図５のアーキテクチャ）を組み合わせて、周辺コンポーネントがリモートコンピュータと直接通信するか、またはプロセッサモジュールを介して通信することを可能にすること、またどちらの場合においても、同様に、リモートコンピュータが周辺コンポーネントと直接通信するか、またはコンピュータを介して通信することができることにも留意されたい。
【００８０】
本開示の主題の教示は、図６〜図８に示すフローチャートの何れにも、また図５に示す特定のモジュールにも拘束されないことに留意されたい。例えば、図示の操作は、図示の順序から外れて生じ得る。操作の一部は、実質的に同時にまたは逆の順序で実行することもできる。
【００８１】
本発明の別の態様に目を向けると、図９には、本開示の主題の特定の実施形態に係る、セキュアクライアントコンピュータを提供するためのシステムの機能ブロック図が示されている。
【００８２】
周辺コンポーネント（例えば、１０２、１０３、および場合によっては図９に示されていない他のコンポーネント）は、図１および図２を参照して説明したものと類似しており、クライアントコンピュータ１０１に収容することができる。この実施形態では、危殆化され易いプロセッサモジュール（例えば、図５の５０１）、およびリモートコンピュータ（例えば、１０４）の使用が回避され得ることに留意されたい。
【００８３】
すなわち、特定の実施形態によれば、周辺コンポーネント（例えば、１０３）の各々は、別の周辺コンポーネント（例えば、１０２）に直接、セキュアピアツーピア通信チャネル（９０１）を確立することができる。このようなセキュア通信チャネルの確立は、周辺コンポーネントのそれぞれのグループのみに知られている通信鍵（例えば、対称鍵）の確立を含むことができる。通信鍵は、後述するように、それぞれの周辺コンポーネント間のデータの符号化に使用可能である。
【００８４】
図１０は、本開示の主題の特定の実施形態に係る、図９のシステムにおける一連の操作の一般化されたフローチャートを示している。
【００８５】
最初に、周辺モジュールのグループのある周辺コンポーネント（例えば、１０２）と他の周辺コンポーネント（１０２）との間で、セキュアピアツーピア通信チャネルが確立される（１００１）。
【００８６】
次に（１００２）、例えば周辺コンポーネント１０２の符号化モジュール（図２参照）が、ある周辺コンポーネントと他の周辺コンポーネントとの間でセキュア通信チャネルを介して通信されるデータを符号化するために利用され、符号化されたデータは、他の（特定の実施形態によればすべての他の）周辺コンポーネント（図９には示されていない）の符号化モジュールによって復号することができない。
【００８７】
グループの周辺コンポーネントの何れかまたは両方のデータ互換性モジュール（図３を参照）は、第１のタイプのデータを第２のタイプのデータに変換するために、またはその逆に変換するために利用することができ（１００３）、それにより、共通のデータタイプで周辺コンポーネント間の通信を容易にすることができる。
【００８８】
図１１を参照すると、本開示の主題に係る、セキュア通信チャネルを利用する一連の操作が示されている。この例では、符号化されたデータが、第１の周辺コンポーネント（例えば、キーボード１０２）から周辺コンポーネント（例えば、ディスプレイコンポーネント１０３）に伝達され、それには（１１０１において）、セキュア通信チャネル９０１を介して符号化されたデータを送信することが含まれる。
【００８９】
次いで、１１０２において、ディスプレイ周辺コンポーネントの符号化モジュールが、符号化されたデータを復号するために利用され、それにより、ディスプレイ周辺コンポーネントとキーボード周辺コンポーネント１０４との間のセキュア通信が達成される。
【００９０】
グループの第１および第２の周辺コンポーネントの何れかにおいて、データ互換性モジュールを利用して（１１０３）、データを共通のデータタイプ（後者の例では、キーボードおよびディスプレイ）に変換することができる。
【００９１】
符号化されたデータ（例えば、符号化されたキーストローク）は、周辺コンポーネント（例えば、１０２および１０３）に知られている（そしておそらく、それらにしか知られていない）通信鍵（例えば、対称鍵）を使用して生成されたものであるため、他の周辺コンポーネント（グループ内の他の周辺コンポーネントを除く）によって復号できないことに留意されたい。
【００９２】
周辺コンポーネントから周辺コンポーネントへのセキュア通信チャネルは、（上記の図３および図４を参照して説明した本発明の第１の態様の特定の実施形態のように）リモートコンピュータを介さずに直接的なセキュア通信を容易にすることに留意されたい。例えば、キーボード周辺コンポーネント（例えば、１０２）で入力され、ディスプレイ周辺コンポーネント（例えば、１０３）で表示されるパスワードを考える。このように得られるトランスポートセキュリティおよびペイロードセキュリティのおかげで、コンポーネントまたはチャネルの何れかが危険に曝される可能性は、保護されていないコンポーネント／チャネルよりも低く、よって、本発明の第３の態様の特定の実施形態によれば、パスワードなどの機密データの伝達は、リモートコンピュータを利用しなくても実現可能である。例えばキーボード関連のデータタイプ対ディスプレイ関連のデータタイプのように、周辺機器間のデータタイプに互換性がない場合、データ互換性モジュール（例えば、ドライバ）は、それ自体既知であるように、例えばキーストロークを表示されるピクセルに変換するための共通のデータタイプを提供することができる。
【００９３】
また、第１の態様（図１を参照して説明）、第２の態様（図５を参照して説明）および第３の態様（図９を参照して説明）で例示される周辺コンポーネントは、本質的に一方向（キーボードの発信およびディスプレイの受信）であるが、他の双方向の周辺コンポーネントを、リモートコンピュータとの間で符号化されたデータを送受信するために使用できることにも留意されたい。
【００９４】
また、特定の実施形態によれば、２つのアーキテクチャ（例えば、図１および図９のアーキテクチャ）を組み合わせて、周辺コンポーネントが、リモートコンピュータを介して、かつ／または直接、別の周辺コンポーネントと通信することを可能にすることができることにも留意されたい。
【００９５】
また、本明細書では、（例えば、セキュア通信チャネル、または例えば通信鍵の共有などの文脈で）周辺コンポーネントのグループを参照しているが、それは、２つの周辺コンポーネントに適用することもでき、あるいは、本開示の主題の特定の実施形態によれば、２以上（例えば、３以上）の周辺コンポーネントに適用できることにも留意されたい。同様に、周辺コンポーネントおよびリモートコンピュータへの言及がなされる場合はいつでも、本開示の主題の特定の実施形態によれば、例えば、セキュア通信チャネルまたは例えば通信鍵を共有するという文脈で、２以上の周辺コンポーネントおよびリモートコンピュータに適用することができる。
【００９６】
明確にするために、別個の実施形態の文脈で説明されている本開示の主題の特定の特徴は、単一の実施形態において組み合わせて提供できることも理解されよう。反対に、単一の実施形態の文脈で説明されている、本開示の主題の様々な特徴は、別個に、または任意の適当なサブコンビネーションで提供することもできる。
【００９７】
「ｍａｙ（してもよい）」、「ｃａｎ（することができる）」またはそれらの変化形などの条件付き言語の使用は、主題の１または複数の例が、主題の１または複数の他の例が必ずしも特定の方法、手順、コンポーネントおよび特徴を含むとは限らないが、主題の１または複数の例が含まれることを伝えるものとして解釈されるべきである。このため、そのような条件付きの言語は、一般に、特定の記載された方法、手順、コンポーネントまたは回路が、主題のすべての例に必ずしも含まれることを示唆することを意図したものではない。さらに、非条件言語の使用は、特定の記載された方法、手順、コンポーネントまたは回路が、主題のすべての例に必ずしも含まれることを示唆するものではない。
【００９８】
本発明は、その用途において、本明細書に含まれるか又は図面に示される記載に述べられた詳細に限定されないことを理解されたい。本発明は、他の実施形態が可能であり、様々な方法で実施および実行することができる。このため、本明細書で用いられている表現および用語は、説明を目的とするものであり、限定的なものと見なされるべきではないことを理解されたい。よって、当業者であれば、本開示の基礎となる概念が、本開示の主題のいくつかの目的を遂行するための他の構造、方法およびシステムを設計するための基礎として容易に利用できることを理解するであろう。
【００９９】
また、本発明に係るシステムは、少なくとも部分的には、適切にプログラムされたコンピュータ上に実装されてもよいことが理解されるであろう。同様に、本発明は、本発明の方法を実行するためにコンピュータによって読み取り可能なコンピュータプログラムを企図している。さらに、本発明は、本発明の方法を実行するためにコンピュータによって実行可能な命令のプログラムを有形に具現化する非一時的なコンピュータ可読メモリも企図している。
【０１００】
当業者であれば、添付の特許請求の範囲で規定された本発明の範囲から逸脱することなく、上述した本発明の実施形態に様々な修正および変更を適用できることを容易に理解するであろう。
【図１】
2021519486.tif 000003
【図２】
2021519486.tif 000004
【図３】
2021519486.tif 000005
【図４】
2021519486.tif 000006
【図５】
2021519486.tif 000007
【図６】
2021519486.tif 000008
【図７】
2021519486.tif 000009
【図８】
2021519486.tif 000010
【図９】
2021519486.tif 000011
【図１０】
2021519486.tif 000012
【図１１】
2021519486.tif 000013
【国際調査報告】
2021519486.tif 000014
2021519486.tif 000015
2021519486.tif 000016
2021519486.tif 000017