(57)【要約】  トラストマネージャは、クライアントからクライアントアカウント情報を受信し、クライアントアカウント情報が有効であるか否かを判断し、セキュリティブローカーを介して電子通信内にある１つ以上の組み込み機器にアクセスするためにクライアントが認可されるか否かを判断する。トラストマネージャはまた、セキュリティブローカーからセキュリティブローカーアカウント情報を受信し、セキュリティブローカーアカウント情報が有効であるか否かを判断し、組み込み機器へのアクセスを提供するためにセキュリティブローカーが認可されるか否かを判断する。クライアントからのアカウント情報が有効であり、クライアントが少なくとも１つの組み込み機器にアクセスするために認可される場合、及び、セキュリティブローカーからのセキュリティブローカーアカウント情報が有効であり、セキュリティブローカーが少なくとも１つの組み込み機器へのアクセスを提供するために認可される場合、トラストマネージャはクライアントとセキュリティブローカーとの間のセキュア信頼接続を確立する。
2008510205.tif 000002
【特許請求の範囲】
【請求項１】
トラストマネージャによって実施され、組み込み機器にセキュアアクセスを提供するための方法であって、
クライアントからクライアントアカウント情報を受信し、
前記クライアントからの前記クライアントアカウント情報が有効であるか否かを判断し、
セキュリティブローカーを介して電子通信にある少なくとも１つの組み込み機器にアクセスするために、前記クライアントが認可されるか否かを判断し、
前記セキュリティブローカーからセキュリティブローカーアカウント情報を受信し、
前記セキュリティブローカーからの前記セキュリティブローカーアカウント情報が有効であるか否かを判断し、
少なくとも１つの組み込み機器へのアクセスを提供するために、前記セキュリティブローカーが認可されるか否かを判断し、
前記クライアントからの前記アカウント情報が有効であり、前記クライアントが少なくとも１つの組み込み機器にアクセスするために認可される場合、及び、前記セキュリティブローカーからの前記セキュリティブローカーアカウント情報が有効であり、前記セキュリティブローカーが少なくとも１つの組み込み機器へのアクセスを提供するために認可される場合、前記クライアントと前記セキュリティブローカーとの間のセキュア信頼接続を確立する
ことを含む方法。
【請求項２】
請求項１に記載の方法において、前記方法は、少なくとも１つの組み込み機器へのアクセスのために前記クライアントから要求を受信することに応じて実行される。
【請求項３】
請求項１に記載の方法において、前記方法は、少なくとも１つの組み込み機器へのアクセスを提供するために前記セキュリティブローカーから要求を受信することに応じて実行される。
【請求項４】
請求項１に記載の方法において、前記クライアントアカウント情報は、
前記クライアントのためのセキュリティ証明書と、
前記クライアントのための認可情報とを含む。
【請求項５】
請求項４に記載の方法において、前記クライアントのための前記セキュリティ証明書は、クライアント識別子とクライアント機密とを含む。
【請求項６】
請求項４に記載の方法において、前記クライアントのための前記認可情報は、機器アクセス許可を含む。
【請求項７】
請求項１に記載の方法において、前記クライアントアカウント情報が有効であるか否かの判断は、有効と認証されたクライアントアカウント情報と、前記クライアントから受信された前記クライアントアカウント情報とを比較することを含む。
【請求項８】
請求項７に記載の方法において、前記有効と認証されたクライアントアカウント情報は、前記トラストマネージャに記憶される。
【請求項９】
請求項１に記載の方法において、前記セキュリティブローカーアカウント情報は、
前記セキュリティブローカーのためのセキュリティ証明書と、
前記セキュリティブローカーのための認可情報とを含む。
【請求項１０】
請求項９に記載の方法において、前記セキュリティ証明書は、セキュリティブローカー識別子とセキュリティブローカー機密とを含む。
【請求項１１】
請求項９に記載の方法において、前記セキュリティブローカーのための前記認可情報は、機器提供許可を含む。
【請求項１２】
請求項１に記載の方法において、前記セキュリティブローカーアカウント情報が有効であるか否かの判断は、有効と認証されたセキュリティブローカーアカウント情報と、前記セキュリティブローカーから受信された前記セキュリティブローカーアカウント情報とを比較することを含む。
【請求項１３】
請求項１２に記載の方法において、前記有効と認証されたセキュリティブローカーアカウント情報は、前記トラストマネージャに記憶される。
【請求項１４】
セキュアアクセスを組み込み機器に提供するための方法を実施するために構成されるトラストマネージャであって、
プロセッサと、
前記プロセッサとともに電子通信内にあるメモリと、
前記メモリに記憶された指示とを備え、
前記指示は方法を実施するために実行可能であって、前記方法は、
クライアントからクライアントアカウント情報を受信し、
前記クライアントからの前記クライアントアカウント情報が有効であるか否かを判断し、
セキュリティブローカーを介して電子通信にある少なくとも１つの組み込み機器にアクセスするために、前記クライアントが認可されるか否かを判断し、
前記セキュリティブローカーからセキュリティブローカーアカウント情報を受信し、
前記セキュリティブローカーからの前記セキュリティブローカーアカウント情報が有効であるか否かを判断し、
少なくとも１つの組み込み機器へのアクセスを提供するために、前記セキュリティブローカーが認可されるか否かを判断し、
前記クライアントからの前記アカウント情報が有効であり、前記クライアントが少なくとも１つの組み込み機器にアクセスするために認可される場合、及び、前記セキュリティブローカーからの前記セキュリティブローカーアカウント情報が有効であり、前記セキュリティブローカーが少なくとも１つの組み込み機器へのアクセスを提供するために認可される場合、前記クライアントと前記セキュリティブローカーとの間のセキュア信頼接続を確立する
ことを含む、トラストマネージャ。
【請求項１５】
請求項１４に記載のトラストマネージャにおいて、前記方法は、少なくとも１つの組み込み機器へのアクセスのために前記クライアントから要求を受信することに応じて実行される。
【請求項１６】
請求項１４に記載のトラストマネージャにおいて、前記方法は、少なくとも１つの組み込み機器へのアクセスを提供するために前記セキュリティブローカーから要求を受信することに応じて実行される。
【請求項１７】
請求項１４に記載のトラストマネージャにおいて、前記クライアントアカウント情報は、前記クライアントのためのセキュリティ証明書と前記クライアントのための認可情報とを含み、前記セキュリティブローカーアカウント情報は、前記セキュリティブローカーのためのセキュリティ証明書と前記セキュリティブローカーのための認可情報とを含む。
【請求項１８】
組み込み機器にセキュアアクセスを提供するための方法を実施するための実行可能命令を含むコンピュータ読み込み可能な媒体であって、前記方法はトラストマネージャによって実施され、前記方法は
クライアントからクライアントアカウント情報を受信し、
前記クライアントからの前記クライアントアカウント情報が有効であるか否かを判断し、
セキュリティブローカーを介して電子通信にある少なくとも１つの組み込み機器にアクセスするために、前記クライアントが認可されるか否かを判断し、
前記セキュリティブローカーからセキュリティブローカーアカウント情報を受信し、
前記セキュリティブローカーからの前記セキュリティブローカーアカウント情報が有効であるか否かを判断し、
少なくとも１つの組み込み機器へのアクセスを提供するために、前記セキュリティブローカーが認可されるか否かを判断し、
前記クライアントからの前記アカウント情報が有効であり、前記クライアントが少なくとも１つの組み込み機器にアクセスするために認可される場合、及び、前記セキュリティブローカーからの前記セキュリティブローカーアカウント情報が有効であり、前記セキュリティブローカーが少なくとも１つの組み込み機器へのアクセスを提供するために認可される場合、前記クライアントと前記セキュリティブローカーとの間のセキュア信頼接続を確立する
ことを含む、コンピュータ読み込み可能な媒体。
【請求項１９】
請求項１８に記載のコンピュータ読み込み可能な媒体において、前記方法は、少なくとも１つの組み込み機器へのアクセスのために前記クライアントから要求を受信することに応じて実行される。
【請求項２０】
請求項１８に記載のコンピュータ読み込み可能な媒体において、前記方法は、少なくとも１つの組み込み機器へのアクセスを提供するために前記セキュリティブローカーから要求を受信することに応じて実行される。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的なコンピュータとコンピュータ関連技術に関する。より詳細には、本発明はトラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセス（secure access）を提供することに関する。
【背景技術】
【０００２】
コンピュータや通信技術は、急速な歩みで進み続けている。事実、コンピュータや通信技術は、人間の日常の多くの側面に関わる。例えば、今日消費者によって使用される多くの装置は、その装置内部に小型コンピュータを有する。これらの小型コンピュータは、精密さに関して様々なサイズ及び程度のものが提供されている。これらの小型コンピュータは、１つのマイクロコントローラから、全ての機能を持つ完全なコンピュータシステムまで、全てを含んでいる。例えば、これらの小型コンピュータは、マイクロコントローラのようなワンチップコンピュータ、コントローラのような１ボードのタイプのコンピュータ、ＩＢＭTM−ＰＣコンパチブルのような典型的なデスクトップコンピュータなどであっても良い。
【０００３】
コンピュータは、一般的に、そのコンピュータの心臓部に１つ以上のプロセッサを有する。プロセッサは、通常、異なる外部の入力と出力に相互接続されており、特定のコンピュータ又は装置を管理するために機能する。例えば、サーモスタットのプロセッサは、温度設定を選択するために使用されるボタン、温度を変えるための暖炉やエアコン、及び現在の温度をディスプレイ上から読んだり表示したりするための温度センサと接続できる。
【０００４】
多くの電気製品や装置などは、１つ以上の小型コンピュータを含んでいる。例えば、サーモスタット、暖炉、空調システム、冷蔵庫、電話機、タイプライタ、自動車、自動販売機、及び多くの異なるタイプの産業機器は、現在一般的に、小型コンピュータ又はプロセッサをそれらの内部に有する。コンピュータソフトウェアは、これらコンピュータのプロセッサを動かして、いかに所定のタスクを実行するかをプロセッサに指示する。例えば、サーモスタット上で動作するコンピュータソフトウェアは、特定の温度に達している場合エアコンの実行を止めたり、又は必要に応じて暖房機をオンにしたりすることができる。
【０００５】
装置、電気製品、ツールなどの一部であるこれらのタイプの小型コンピュータは、しばしば組込み機器又は組込みシステムと呼ばれる。（用語「組込み機器」と「組込みシステム」は本明細書において互換性を持って使用される）。組込みシステムは、通常、コンピュータハードウェアと、より大きいシステムの一部であるソフトウェアについて言及する。組込みシステムは、キーボード、マウス、及び／又はモニタなどの典型的な入出力装置を有することができない。通常、それぞれの心臓部で組み込まれているシステムは、１つ以上のプロセッサである。
【０００６】
照明システムは組込みシステムを組み込むことができる。照明システムの効力を監視し、制御するために組込みシステムを使用できる。例えば、組込みシステムは、照明システムの中で照明の明るさを薄暗くするための制御を与えることができる。あるいはまた、組込みシステムは、照明の明るさを強めるための制御を与えることができる。組込みシステムは、照明システム内の個々の照明内の特定の照明パターンを起動するための制御を与えることができる。組込みシステムは、照明システム内の個々のスイッチと結合できる。これらの組込みシステムは、個々の照明又は全体の照明システムにパワーアップ、パワーダウンするためのスイッチ対して指示できる。同様に、組込みシステムは、照明システム内の個々の照明と結合できる。それぞれの個々の照明の明るさ又は電源状態は、組込みシステムにより制御できる。
【０００７】
セキュリティシステムもまた、組込みシステムを組み込むことができる。組込みシステムは、セキュリティシステムを備える個人セキュリティセンサを制御するために使用できる。例えば、組込みシステムは、それぞれのセキュリティセンサを自動的に強化する制御を与えることができる。組込みシステムは、それぞれの個人セキュリティセンサと結合できる。例えば、組込みシステムは、動作センサと結合できる。動きが検出された場合、組込みシステムは、自動的に個々の動作センサをパワーアップして、動作センサを作動するための制御を与えることができる。動作センサの作動では、動作センサの中に配置されたＬＥＤパワーアップするための指示を与えたり、動作センサの出力部からアラームを出力したり、等を含むことができる。組込みシステムは、ドアを監視するセンサとも結合できる。組込みシステムは、ドアが開けられるか、又は閉じられるとき、作動するためにドアを監視するセンサに指示を与えることができる。同様に、組込みシステムは、窓を監視するセンサと結合できる。窓が開けられるか、閉じられた場合、組込みシステムは、窓のセンサモニタリングを作動するために指示を与えることができる。
【０００８】
携帯電話などのワイヤレス製品を制御するのにもまた、いくつかの組込みシステムを使用できる。組込みシステムは、携帯電話のＬＥＤディスプレイをパワーアップするための指示を与えることができる。組込みシステムは、携帯電話に関する音声通知をユーザに与えるために、携帯電話内のオーディオスピーカーもまた作動することができる。
【０００９】
家庭電化製品もまた、組込みシステムを組み込むことができる。家電は、従来の台所で通常使用される電気製品、例えば、ストーブ、冷蔵庫、電子レンジなどを含むことができる。家電はまた、ユーザの健康と快適な暮らしに関する電気製品を含むことができる。例えば、マッサージリクライニングシートは、組込みシステムを組み込むことができる。組込みシステムは、椅子の背もたれ部分を、ユーザの好みに従って自動的にもたれさせるための指示を与えることができる。組込みシステムはまた、リクライニングシート内の振動を、ユーザの好みに従って引き起こす椅子内の振動装置を始動するためにも指示を与えることができる。
【００１０】
家庭内で通常備えられる更なる製品もまた、組込みシステムを組み込むことができる。例えば、コンテナータンクを詰め替えるのに使用される水のレベルを制御するために、トイレ内で組込みシステムを使用できる。空気の流出を制御するためにジェットバス内で組込みシステムを使用できる。
【００１１】
上記のように、組込みシステムは、多くの異系統、資源、製品などを監視又は制御するために使用できる。インターネットとワールドワイドウェブの発展で、組込みシステムは、リモートで制御及び／又は監視されることができるように、ますますインターネットに接続されるようになる。ローカルエリアネットワークや広域ネットワークなどを含むコンピュータネットワークに、他の組込みシステムを接続できる。本明細書で用いられるように、用語「コンピュータネットワーク」（又は、単に「ネットワーク」）は、一連のノードが通信パスによって相互接続されるどのようなシステムをも示す。用語「ノード」は、コンピュータネットワークの一部として接続されるどのような装置をも示す。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
一部の組込みシステムは、コンピュータネットワークを用いて、他のコンピュータ機器に対してデータ及び／又はサービスを提供できる。あるいはまた、コンピュータネットワークを用いて他のコンピュータ機器に対するデータ及び／又はサービスを提供する典型的なコンピュータ又はコンピュータ機器が存在してもよい。時には、それはセキュア接続（secure connection）を維持するために要する機密の数を最小化するのに有益である。多くの機密の数を用いると、ネットワークを介して追加トラフィックを招く場合がある。これらの及び他の状況は、ネットワークを跨いだ通信の非効率性を招くかも知れない。システム及び方法がトラストマネージャとセキュリティブローカーを用いて組み込み機器に対するセキュアアクセス（secure access）を提供するのにおいて有効であるのであれば、利点を具現化できる。
【課題を解決するための手段】
【００１３】
トラストマネージャ及びセキュリティブローカーを用いて組み込み機器に対するセキュアアクセスを提供するためのシステム及び方法が開示される。典型的な実施例では、トラストマネージャは、セキュリティブローカーを介して電子通信内にある少なくとも１台の組み込み機器へのアクセスの要求をクライアントから受け取る。トラストマネージャは、クライアントからクライアントアカウント情報を受信し、クライアントアカウント情報が有効であるか否かを判断し、クライアントが組み込み機器にアクセスすることが認可されるか否かを判断する。トラストマネージャはまた、セキュリティブローカーからセキュリティブローカーアカウント情報を受信し、セキュリティブローカーアカウント情報が有効であるか否かを判断し、セキュリティブローカーが組み込み機器へのアクセスの提供することが認可されるか否かを判断する。クライアントからのクライアントアカウント情報が有効であり、クライアントが組み込み機器にアクセスすることが認可され、且つ、セキュリティブローカーからのセキュリティブローカーアカウント情報が有効であり、セキュリティブローカーが組み込み機器へのアクセスを提供することが認可される場合、トラストマネージャはクライアントとセキュリティブローカーとの間のセキュア信頼接続（secure trusted connection）を確立する。
【００１４】
組み込み機器へのアクセスのためにクライアントからの要求に応じて、まさに説明した方法を実行できる。あるいはまた、セキュリティブローカーからの要求に応じて、この方法を実行できる。
【００１５】
クライアントアカウント情報は、クライアントのためのセキュリティ証明書と、クライアントのための認可情報を含むことができる。クライアントのためのセキュリティ証明書は、クライアント識別子とクライアント機密を含むことができる。クライアントのための認可情報は、機器アクセス許可、すなわち、クライアントがアクセスすることを認可される機器を含むことができる。
【００１６】
同様に、セキュリティブローカーアカウント情報は、セキュリティブローカーのためのセキュリティ証明書と、セキュリティブローカーのための認可情報を含むことができる。セキュリティブローカーのためのセキュリティ証明書は、セキュリティブローカー識別子とセキュリティブローカー機密を含むことができる。セキュリティブローカーのための認可情報は、機器提供許可、すなわち、セキュリティブローカーがアクセスを提供することを認可される機器を含むことができる。
【発明を実施するための最良の形態】
【００１７】
本発明の例示された実施形態は、以下の説明と添付の特許請求の範囲から、添付図面と共により完全に明らかになる。これらの図面について理解することは、例示された実施形態についてのみ描いていることであり、従って、本発明の範囲の限定であることは考慮されない。本発明の例示された実施形態は、更なる特定性で説明され、添付図面を用いて詳しく述べる。
【００１８】
図面を参照しながら本発明の様々な実施例について説明する。同一参照番号は同一か機能上同様の要素を示す。本明細書において一様に説明し図面に示す本発明の実施例は、広く様々な異なる形態でアレンジし設計することができるであろう。それ故、図面で表される本発明の様々に例示された実施形態の以下のより詳細な説明は、本発明のクレームとしての範囲を限定する意図でなく、単に本発明の実施例を示す意図である。
【００１９】
「例」という言葉は、「実施例、実例、又は図示としての役目をすること」を意味するために本明細書においてもっぱら使用される。本明細書に「例」として記述されたどんな実施例も、他の実施例を越えて好ましい又は有利であると理解されるために必ずしも必要ではない。図面に実施例の種々の外観を提示するが、特別に示さなかったといって、比例するように必ずしも図面を作成するというわけではない。
【００２０】
本明細書に開示された実施例の多くの素材を、コンピュータソフトウェア、電子ハードウェア、又は両方の組合せとして、実施することができる。一般的に、明確にハードウェアとソフトウェアのこの互換性を示すために、それらの機能性において種々の装置について説明する。そのような機能性がハードウェア又はソフトウェアとして実施されるか否かは、システム全体に課された特殊なアプリケーションと設計制約条件に依存する。当業者は各特殊アプリケーションのために様々な方法で説明した機能性を実施することができるが、本発明の範囲から逸脱して、そのような実施決定を解釈するべきでない。
【００２１】
説明された機能性がコンピュータソフトウェアとして実施される場合、そのようなソフトウェアは、どのようなタイプの機械命令も含むことができるか、コンピュータ実行可能コードがメモリデバイスの中に位置し及び／又は電子信号としてシステムバス又はネットワーク上を伝送される。本明細書で説明される装置に関連する機能性を実施するソフトウェアは、ただ一つの指示、又は多くの指示を具備することができ、異なるプログラムの中といくつかのメモリデバイスにまたがって、様々な異なるコードセグメントに分散できる。
【００２２】
安全に連係する必要がある機器やクライアントのセキュアネットワークを提供することは、管理するのが難しく、いくつかの機器でも可能でさえないであろう。ネットワークのスケールが増大するのに従って、管理の問題は同様に増大するであろう。例えば、場合によっては何百万台もの機器のために、セキュリティ証明書を記憶し管理することは難しい。
【００２３】
セキュリティブローカーは、様々な機器へのアクセスを提供できる許可を承諾される。トラストマネージャは、クライアントとセキュリティブローカーとの間の信託を確立できる。機器は機器識別や機密のようなセキュリティ証明書を提供する能力を持たないため、トラストマネージャとセキュリティブローカーは有用であろう。機器はまた、必要とされるセキュリティプロトコルで通信できないであろう。トラストマネージャとセキュリティブローカーはまた、ネットワークのためにインストールし、構成され、管理できるセキュリティ証明書の数を減らすために有用であろう。数台の機器にセキュリティブローカーを接続することができる。トラストマネージャとともにセキュリティブローカーを用いると、トラストマネージャ上の各機器のための機密を記憶する必要性を排除できる。その代わりに、トラストマネージャは、各セキュリティブローカーあたり１つの機密を記憶する必要があるだけですむ。このことは、トラストマネージャに記憶された機密の数を極めて減少させることができる。
【００２４】
典型的なネットワークでは、セキュアアクセスポイントは、ネットワーク内のエンドポイント間に黙示信託（implied trust）を有することができる。セキュアアクセスポイントのこの黙示信託は、他方のエンドポイントからの無制限なアクセスに対し、一方のエンドポイントを開くことができる。この無制限なアクセスは、セキュリティ観点から問題が多い。
【００２５】
セキュアアクセスポイントの黙示信託と対称的に、セキュリティブローカーは、容認されたアクセスのタイプでセキュリティブローカーがセキュアアクセスを提供し制限できる機器を確立するトラストマネージャを用いることができる。セキュリティブローカーを通じて機器にアクセスするクライアントにとって、クライアントは特定の列挙された機器許可（device permissions）を有することが求められ、ブローカーは特定の列挙された機器プロキシ許可（device proxy permissions）を有することが求められるであろう。ある実施例では、クライアントがアクセスを承諾される場合、クライアントがアクセスを要求した機器へのアクセスを、セキュリティブローカーが提供できるということは、信頼できる。
【００２６】
図１は、一実施例による、トラストマネージャ１０８及びセキュリティブローカー１１０を用いて組み込み機器１０２に対するセキュアアクセスを提供するためのシステム１００を示すブロック図である。クライアント１０４は、トラストマネージャ１０８とセキュリティブローカー１１０とともに電子通信内にある。クライアント１０４、トラストマネージャ１０８、及びセキュリティブローカー１１０の間の通信は、１つ以上のネットワーク１０６を介して行うことができる。
【００２７】
機器１０２もまた、セキュリティブローカー１１０とともに電子通信内にある。機器１０２は１つ以上のネットワーク（図示せず）を介してセキュリティブローカー１１０と通信できる。もちろん、代替の実施例では、単体のクライアント１０４、セキュリティブローカー１１０又は機器１０２以上のものを含むことができる。
【００２８】
図２は、別の実施例による、トラストマネージャ２０８及びセキュリティブローカー２１０を用いて組み込み機器２０２に対するセキュアアクセスを提供するためのシステム２００を示すブロック図である。図１の実施例のように、システム２００はトラストマネージャ２０８を含んでいる。しかしながら、図２に表現された実施例では、システム２００は、複数のクライアント２０４、複数のセキュリティブローカー２１０、及び複数の機器２０２を含んでいる。具体的には、システム２００は、クライアント（Ａ）２０４ａ、クライアント（Ｂ）２０４ｂ、及びクライアント（Ｃ）２０４ｃを含んでいる。システム２００はまた、セキュリティブローカー（Ａ）２１０ａとセキュリティブローカー（Ｂ）２１０ｂを含んでいる。システム２００はさらに、機器（Ａ）２０２ａ、機器（Ｂ）２０２ｂ、機器（Ｃ）２０２ｃ、機器（Ｄ）２０２ｄ、機器（Ｅ）２０２ｅ、及び機器（Ｆ）２０２ｆを含んでいる。クライアント２０４、セキュリティブローカー２１０、及びトラストマネージャ２０８の間の通信は、１つ以上のコンピュータネットワーク２０６を介して行うことができる。セキュリティブローカー２１０ａ、２１０ｂはまた、複数の機器２０２とともに電子通信内にある。具体的には、セキュリティブローカー（Ａ）２１０ａは、機器（Ａ）２０２ａ、機器（Ｃ）２０２ｃ、及び機器（Ｄ）２０２ｄとともに電子通信内にある。セキュリティブローカー（Ｂ）２１０ｂは、機器（Ｂ）２０２ｂ、機器（Ｅ）２０２ｅ、及び機器（Ｆ）２０２ｆとともに電子通信内にある。
【００２９】
図３は、トラストマネージャ１０８及びセキュリティブローカー１１０を用いて組み込み機器１０２に対しセキュアアクセスを提供するための方法３００の一実施例を示すフローチャートである。方法３００によると、クライアント１０４は、トラストマネージャ１０８から所望の機器１０２へのアクセスを要求できる（３０２）。クライアント１０４は、例えば機器１０２上に記憶された情報又は機器１０２によって提供されるサービスを得るために、機器へのアクセスを所望できる。
【００３０】
クライアント１０４から受信された要求に応じて、トラストマネージャ１０８は、クライアントのアカウント情報を受信できる（３０４）。アカウント情報はセキュリティ証明書と認可情報とを含むことができる。セキュリティ証明書は、クライアント１０４を識別するために用いることができる。セキュリティ証明書は、クライアントＩＤとクライアント機密（client secret）を含むことができる。クライアントの１０４認可情報は、機器１０２上での実行を要請している固有の許可を特定できる。
【００３１】
トラストマネージャ１０８は、クライアントのアカウント情報の正当性について判断できる（３０６）。クライアントのアカウント情報の正当性についての判断（３０６）は、クライアント１０４を認証することを含むことができる。例えば、トラストマネージャ１０８は、クライアント１０４のために有効にされたセキュリティ証明書と、クライアント１０４によって提供されるセキュリティ証明書とを比較できる。有効にされたセキュリティ証明書は、トラストマネージャ１０８に記憶できる。もちろん、クライアント１０４を認証するために他の方法も利用できる。クライアントのアカウント情報の正当性についての判断（３０６）はまた、クライアント１０４が所望の機器１０２にアクセスするために認可されることの検証を含むことができる。これは、クライアント１０４のためのトラストマネージャ１０８に記憶されたそれらのものに対する認可情報に含まれる許可を評価することを含むことができる。
【００３２】
トラストマネージャ１０８は、セキュリティブローカー１１０のアカウント情報を要求できる（３０８）。クライアント１０４のアカウント情報と同様に、セキュリティブローカー１１０のアカウント情報は、セキュリティ証明書と認可情報とを含むことができる。セキュリティ証明書は、セキュリティブローカー１１０を識別するために用いることができる。セキュリティブローカー１１０のセキュリティ証明書は、セキュリティブローカーＩＤとセキュリティブローカー機密（security broker secret）とを含むことができる。セキュリティブローカー１１０認可情報は、機器許可を含むことができる。機器許可は、セキュリティブローカー１１０がアクセスを提供するために認可される機器１０２を示すことができる。トラストマネージャ１０８は、セキュリティブローカーのアカウント情報の正当性について判断できる（３１０）。セキュリティブローカー１１０アカウント情報の正当性についての判断（３１０）は、セキュリティブローカー１１０を認証することを含むことができる。例えば、トラストマネージャ１０８は、セキュリティブローカー１１０のために有効にされたセキュリティ証明書と、セキュリティブローカー１１０によって提供されるセキュリティ証明書とを比較できる。有効にされたセキュリティ証明書は、トラストマネージャ１０８に記憶できる。もちろん、セキュリティブローカー１１０を認証するために他の方法も利用できる。セキュリティブローカー１１０アカウント情報の正当性についての判断（３１０）はまた、所望の機器１０２へのアクセスを提供することが認可されていることを検証するために、セキュリティブローカー１１０のためにトラストマネージャ１０８に記憶されたそれらのものに対する認可情報に含まれる機器許可を評価することを含むことができる。これは、セキュリティブローカー１１０のための機器許可を評価することを含むことができる。
【００３３】
トラストマネージャ１０８が、クライアント１０４のアカウント情報とセキュリティブローカー１１０アカウント情報とが有効であると判断した場合、トラストマネージャ１０８は、セキュリティブローカー１１０を介して要求された機器１０２にアクセスすることをクライアント１０４に承諾することができる（３１２）。そして、セキュリティブローカー１１０は、要求された機器１０２へのアクセスをクライアント１０４に提供する（３１４）。
【００３４】
ある実施例では、クライアント１０４はセキュリティブローカー１１０へ中継できる。言い換えれば、トラストマネージャ１０８は、セキュリティブローカー１１０のためにクライアント１０４を通じて受信するという情報に基づいて、セキュリティブローカー１１０を認証できる。これが行われれば、トラストマネージャ１０８が直接セキュリティブローカー１１０からそれ自身のセキュリティ証明書を受信する必要がなくなる。さらに、他の実施例では、クライアント１０４は、機器１０２へのアクセスをトラストマネージャ１０８に要求するというアカウント情報を同時に提供できる。更なる実施例では、同時に、必要情報（クライアント情報とセキュリティブローカー情報）のすべてを、クライアント１０４からトラストマネージャ１０８まで渡すことができる。
【００３５】
図４は、一実施例による、クライアント４０４、トラストマネージャ４０８、及びセキュリティブローカー４１０間の通信を示すタイムチャート４００である。タイムチャート４００は時間軸４０１を含んでいる。
【００３６】
時刻ｔ１において、クライアント４０４は、機器１０２へのアクセスをトラストマネージャ４０８から要求する（４０５）。時刻ｔ２において、トラストマネージャ４０８は、クライアント４０４のアカウント情報を受信する（４２５）。上述したように、クライアント４０４のアカウント情報は、セキュリティ証明書（例えば、クライアントＩＤ、クライアント機密）と認可情報（例えば、要求された許可）を含むことができる。それに応じて、トラストマネージャ４０８は、クライアント４０４のアカウント情報の正当性について判断する。
【００３７】
時刻ｔ３において、トラストマネージャ４０８は、セキュリティブローカー４１０のアカウント情報を受信する（４４５）。それに応じて、トラストマネージャ４０８は、セキュリティブローカー４１０のアカウント情報の正当性について判断する。
【００３８】
トラストマネージャ４０８が、クライアント４０４のアカウント情報とセキュリティブローカー４１０のアカウント情報とを検証できた場合、時刻ｔ４において、トラストマネージャ４０８は、クライアント４０４にセキュリティブローカー４１０へのアクセスを提供する（４５５）。時刻ｔ５において、クライアント４０４はセキュリティブローカー４１０を通じて機器１０２にアクセスする（４６５）。図３に関連して言及したように、代替の実施例では、図４で言及された情報と異なるフローが異なる方法と組み合わされる。
【００３９】
図５は、別の実施例による、クライアント５０４、トラストマネージャ５０８、及びセキュリティブローカー５１０間の通信を示すタイムチャート５００である。タイムチャート５００は時間軸５０１を含んでいる。
【００４０】
時刻ｔ１において、機器１０２（図５には図示せず）は、クライアント５０４へのアクセスをトラストマネージャ５０８から要求する（５０５）。機器１０２は、この要求をセキュリティブローカー５１０を介して行う。代替の実施例では、セキュリティブローカー５１０は、機器１０２からの始動なしで、クライアント５０４へのアクセスを要求できる。時刻ｔ２において、トラストマネージャ５０８は、セキュリティブローカー５１０のアカウント情報を受信する（５２５）。上述したように、セキュリティブローカー５１０のアカウント情報は、セキュリティ証明書と認可情報とを含むことができる。セキュリティ証明書は、セキュリティブローカーＩＤとセキュリティブローカー機密とを含むことができる。認可情報は、機器許可を含むことができる。機器許可は、セキュリティブローカー５１０を通じてクライアント５０４へのアクセスを機器１０２に提供できるか否かを判断するために、トラストマネージャ５０８によって用いられることができる。トラストマネージャ５０８は、セキュリティブローカー５１０のアカウント情報の正当性について判断する。時刻ｔ３において、トラストマネージャ５０８は、クライアント５０４のアカウント情報を受信する（５４５）。トラストマネージャ５０８は、クライアント５０４のアカウント情報の正当性について判断する。
【００４１】
トラストマネージャ５０８が、クライアント５０４のアカウント情報とセキュリティブローカー５１０のアカウント情報とを検証できた場合、時刻ｔ４において、トラストマネージャ５０８は、セキュリティブローカー５１０にクライアント５０４へのアクセスを提供する（５５５）。時刻ｔ５において、セキュリティブローカー５１０は、クライアント５０４にアクセスし（５６５）、当初アクセスを要求された機器１０２は（５０５）、セキュリティブローカー５１０を介してクライアント５０４にアクセスできる。
【００４２】
図６は、トラストマネージャ６０８に記憶された構成要素の一実施例のブロック図である。トラストマネージャ６０８は、セキュリティブローカーアカウントデータベース６２０とクライアントアカウントデータベース６２２とを含むことができる。セキュリティブローカーアカウントデータベース６２０は、１つ以上のセキュリティブローカー１１０のためのセキュリティ証明書と認可情報とを含むことができる。クライアントアカウントデータベース６２２は、クライアント１０４のためのセキュリティ証明書と認可情報とを含むことができる。クライアントアカウントデータベース６２２及びセキュリティブローカーアカウントデータベース６２０に関する内容については、以下でさらに詳述する。トラストマネージャ６０８に提供されるアカウント情報の正当性について判断するためにトラストマネージャ６０８に記憶された認証及び認可プログラム６２４によって、これらのデータベース６２０、６２２を用いることができる。もちろん、データベース６２０、６２２からの別々のノード上に認証及び認可プログラム６２４がある状態で、トラストマネージャ６０８を実行することができる。
【００４３】
図７は、トラストマネージャ１０８に記憶されたクライアントアカウントデータベース７２２の一実施例のブロック図である。クライアントアカウントデータベース７２２は、クライアントアカウント情報７３０ａ、７３０ｂを含むことができる。クライアントアカウント情報７３０は、クライアントセキュリティ証明書７３２ａ、７３２ｂと、クライアント認可情報７４０ａ、７４０ｂとを含むことができる。クライアントセキュリティ証明書７３２ａ、７３２ｂは、クライアントＩＤ７３４ａ、７３４ｂと、クライアント機密７３６ａ、７３６ｂとを含むことができる。
【００４４】
クライアント認可情報７４０は、容認された許可７４２、７４４、７４６、７４８、７５０を含むことができる。容認された許可７４２、７４４、７４６、７４８、７５０は、アクセスを承諾されたクライアント１０４の機器１０２を示すことができ、従って、図７において「アクセス機器許可」と名づけられる。上述したように、クライアント１０４を識別するためと、機器１０２にアクセスすることが認可されるか否かを判断するために、クライアントアカウント情報７３０を用いることができる。
【００４５】
図８は、トラストマネージャ１０８に記憶されたセキュリティブローカーアカウントデータベース８２０の一実施例のブロック図である。セキュリティブローカーアカウントデータベース８２０は、セキュリティブローカーアカウント情報８５０ａ、８５０ｂを含むことができる。セキュリティブローカーアカウント情報８５０ａ、８５０ｂは、セキュリティブローカーセキュリティ証明書８５２ａ、８５２ｂと、セキュリティブローカー認可情報８６０ａ、８６０ｂとを含むことができる。セキュリティブローカーセキュリティ証明書８５２ａ、８５２ｂは、セキュリティブローカーＩＤ８５４ａ、８５４ｂと、セキュリティブローカー機密８５６ａ、８５６ｂとを含むことができる。
【００４６】
セキュリティブローカー認可情報８６０ａ、８６０ｂは、機器許可８６２ａ、８６２ｂ、８６２ｃ、８６２ｄ、８６２ｅを含むことができる。機器許可８６２は、セキュリティブローカー１１０がクライアント１０４にアクセスを提供することを認可される機器１０２を示すことができ、従って、図８において「提供機器許可」と名づけられる。上述したように、セキュリティブローカー１１０を識別するためと、機器１０２へのアクセスを提供することが認可されるか否かを判断するために、セキュリティブローカーアカウント情報８５０ａ、８５０ｂを用いることができる。
【００４７】
図９は、クライアント９０４に記憶された情報を図示したクライアント９０４の一実施例のブロック図である。クライアント９０４は、クライアントセキュリティ証明書９３２とクライアント認可情報９４０とを含むことができる。クライアントセキュリティ証明書９３２は、クライアントＩＤ９３４とクライアント機密９３６とを含むことができる。クライアントＩＤ９３４及びクライアント機密９３６は、メーカーによって提供されるか、またはクライアントインストーラによって提供される。あるいはまた、クライアントＩＤ９３４及びクライアント機密９３６は、製造やインストールの後にユーザによって選択されることもできる。あるいはまた、クライアントＩＤ９３４及びクライアント機密９３６は、クライアントが機器１０２に要求を始動するとき、ユーザによって提供されることも可能である。クライアント認可情報９４０は、アクセス機器許可９４２ａ、９４２ｅを含むことができる。
【００４８】
図１０は、セキュリティブローカー１０１０に記憶された情報を図示したセキュリティブローカー１０１０の一実施例のブロック図である。セキュリティブローカー１０１０は、セキュリティブローカーセキュリティ証明書１０５２とセキュリティブローカー認可情報１０６０とを含むことができる。セキュリティブローカーセキュリティ証明書１０５２は、セキュリティブローカーＩＤ１０３４とセキュリティブローカー機密１０３６とを含むことができる。クライアントＩＤ９３４及びクライアント機密９３６と同様に、セキュリティブローカー１０１０のメーカー又はインストーラは、セキュリティブローカーＩＤ１０３４及びセキュリティブローカー機密１０３６を提供できる。あるいはまた、ユーザは製造やインストールの後にセキュリティブローカーＩＤ１０３４及びセキュリティブローカー機密１０３６を選ぶことができる。セキュリティブローカー認可情報１０６０は、提供機器許可１０６２ａ、１０６２ｃ、１０６２ｄを含むことができる。これらの許可は、許可１０６２ａ、１０６２ｃ、１０６２ｄで特定されたそれぞれの機器を示すために、セキュリティブローカー１０１０の能力を示す。
【００４９】
図１１は、ネットワーク１０６内のトラストマネージャ１０８及びセキュリティブローカー１１０を用いて組み込み機器１０２へのセキュアアクセスを提供するための方法１１００であって、クライアント１０４によって始動される方法１１００の一実施例を示すフローチャートである。機器１０２にアクセスのためのクライアント１０４からの要求に応じて、トラストマネージャ１０８は、クライアント１０４を認証できる（１１０５）。クライアント１０４の認証（１１０５）には、クライアントのセキュリティ証明書９３２の受信を含むことができる。例えば、トラストマネージャ１０８は、クライアントＩＤ９３４とクライアント機密９３６とを受信できる。トラストマネージャ１０８は、トラストマネージャ１０８のクライアントアカウントデータベース６２２に記憶されたクライアントセキュリティ証明書７３２と、クライアントのセキュリティ証明書９３２とを比較することができる。
【００５０】
トラストマネージャ１０８は、クライアント１０４が認証されたか否かについて判断できる（１１１５）。クライアント１０４は、そのセキュリティ証明書９３２がトラストマネージャ１０８に記憶されたクライアントセキュリティ証明書７３２に対応する場合に認証される。トラストマネージャ１０８がクライアント１０４を認証できない場合、トラストマネージャ１０８は所望の機器１０２へのアクセスを拒絶する（１１９５）。しかしながら、トラストマネージャ１０８が、クライアント１０４が適切に認証されたと判断する場合（１１１５）、トラストマネージャ１０８は、クライアント１０４がアクセスを所望する機器１０２について判断できる（１１２５）。例えば、図９のクライアント９０４が図２の機器（Ａ）２０２ａにアクセスすることを試みるクライアントであれば、トラストマネージャ１０８は、クライアント９０４が機器（Ａ）２０２ａにアクセスすることを所望したと判断するであろう（１１２５）。
【００５１】
トラストマネージャ１０８は、クライアント１０４が所望の機器１０２にアクセスするために認可されるか否かについて判断できる（１１３５）。トラストマネージャ１０８は、クライアントの認可情報９４０を受信することによって、この判断（１１３５）をすることができる。例えば、トラストマネージャ１０８は、クライアントのアクセス機器許可９４２を受信できる。トラストマネージャ１０８は、トラストマネージャのクライアントアカウントデータベース６２２に記憶されたクライアント認可情報７４０と、クライアントの認可情報９４０とを比較することができる。
【００５２】
クライアント１０４が所望の機器１０２にアクセスすることを認可されない場合、トラストマネージャ１０８は、クライアント１０４が所望の機器１０２にアクセスすることを拒絶する（１１９５）。しかしながら、クライアント１０４が所望の機器１０２にアクセスすることを認可される場合、トラストマネージャ１０８は、所望の機器１０２へのアクセスを提供できるセキュリティブローカー１１０（もしあれば）について判断する（１１４５）。トラストマネージャ１０８は、所望の機器１０２へのアクセスを提供することを認可されるセキュリティブローカー１１０について判断するために（１１４５）、セキュリティブローカーアカウントデータベース６２０に問合せることで、この判断をすることができる（１１４５）。例えば、クライアント９０４が機器（Ａ）２０２ａへのアクセスを要求する場合、トラストマネージャ１０８は、機器（Ａ）２０２ａに関する提供機器（Ａ）許可８６２ａを持っているセキュリティブローカー１１０を検索するために、そのセキュリティブローカーアカウントデータベース６２０に問い合わせるであろう。
【００５３】
上述したとおり、トラストマネージャ１０８は、１台のセキュリティブローカー１１０とともに電子通信内にあっても良い。１台のセキュリティブローカー１１０しかないところでは、トラストマネージャ１０８は単に、セキュリティブローカー１１０が所望の機器１０２へのアクセスをクライアント１０４に提供することを認可されるか否かについて判断できる（１１５５）。
【００５４】
トラストマネージャ１０８が所望の機器１０２へのアクセスを提供することを認可されるセキュリティブローカー１１０を特定できない場合、トラストマネージャ１０８は、クライアント１０４が所望の機器１０２にアクセスすることを拒絶する（１１９５）。しかしながら、トラストマネージャ１０８が、機器許可８６２を適切に提供するセキュリティブローカー１１０を特定する場合、トラストマネージャ１０８は、そのセキュリティブローカー１１０を認証する（１１６５）。セキュリティブローカー１１０の認証（１１６５）は、セキュリティブローカーのセキュリティ証明書１０５２を受信することを含むことができる。例えば、トラストマネージャ１０８は、セキュリティブローカーＩＤ１０３４とセキュリティブローカー機密１０３６とを受信できる。トラストマネージャ１０８は、トラストマネージャのセキュリティブローカーアカウントデータベース６２０に記憶されたセキュリティブローカーセキュリティ証明書８５２と、セキュリティブローカーのセキュリティ証明書１０５２とを比較できる。セキュリティ証明書１０５２がトラストマネージャ１０８に記憶されたセキュリティブローカーセキュリティ証明書８５２に対応する場合、セキュリティブローカー１１０は認証される。
【００５５】
トラストマネージャ１０８がセキュリティブローカー１１０を認証できないと判断するなら（１１７５）、トラストマネージャ１０８は、クライアント１０４が要求された機器１０２にアクセスすることを拒絶する（１１９５）。しかしながら、トラストマネージャ１０８が、セキュリティブローカー１１０が首尾よく認証されたと判断する場合（１１７５）、トラストマネージャ１０８は、クライアント１０４とセキュリティブローカー１１０との間のセキュア信頼接続（secure trusted connection）を確立できる（１１８５）。代替の実施例では、クライアント１０４は、機器１０２へのアクセスを提供するべきであるセキュリティブローカー１１０を特定できる。この場合、判断（１１４５）は既に特定されるが、ブローカーアカウントデータベース６２０内のセキュリティブローカーセキュリティ証明書８５２をチェックすることによって、特定の正当性を尚検証することができる。
【００５６】
図１２は、ネットワーク１０６内のトラストマネージャ１０８及びセキュリティブローカー１１０を用いて組み込み機器１０２へのセキュアアクセスを提供するための方法１２００であって、セキュリティブローカー１１０によって始動される方法１２００の一実施例を示すフローチャートである。セキュリティブローカー１１０が機器１０２の代わりにクライアント１０４にアクセスする必要がある場合に、この方法１２００を用いることができる。
【００５７】
セキュリティブローカー１１０は、トラストマネージャ１０８からクライアント１０４へのアクセスを要求できる。それに応じて、トラストマネージャ１０８は、セキュリティブローカー１１０を認証できる（１２０５）。トラストマネージャ１０８は、セキュリティブローカー１１０が認証されたか否かについて判断できる（１２１５）。図１１の実施例と同様に、セキュリティブローカー１１０は、そのセキュリティ証明書１０５２がトラストマネージャ１０８に記憶されたセキュリティブローカーセキュリティ証明書８５２に対応する場合に認証される。
【００５８】
トラストマネージャ１０８がセキュリティブローカー１１０を認証できないという判断をする場合（１２１５）、トラストマネージャ１０８は、セキュリティブローカー１１０がクライアント１０４にアクセスすることを拒否する（１２８５）。しかしながら、トラストマネージャ１０８が、セキュリティブローカー１１０が適切に認証されたと判断する場合（１２１５）、トラストマネージャ１０８は、セキュリティブローカー１１０にアクセスを所望するクライアント１０４について判断できる（１２２５）。例えば、図２のセキュリティブローカー（Ｂ）２１０ｂが、図２のクライアント（Ｂ）２０４ｂにアクセスすることを試みている場合、トラストマネージャ１０８は、セキュリティブローカー（Ｂ）２１０ｂがクライアント（Ｂ）２０４ｂへのアクセスを所望したと判断する。
【００５９】
トラストマネージャ１０８は、セキュリティブローカー１１０が所望されたクライアント１０４に対して機器１０２の代理をすることが認可されるか否かについて判断できる（１２３５）。トラストマネージャ１０８は、セキュリティブローカーの１１０認可情報１０６０を受信することによって、この判断（１２３５）をすることができる。例えば、トラストマネージャ１０８は、セキュリティブローカーの提供機器許可１０６２を受信できる。トラストマネージャ１０８は、トラストマネージャのセキュリティブローカーアカウントデータベース６２０に記憶されたセキュリティブローカー認可情報８６０と、セキュリティブローカーの認可情報１０６０とを比較できる。
【００６０】
本実施例では、セキュリティブローカー１１０がクライアント１０４に対して機器１０２の代理をすることを認可されるか否かについて判断（１２３５）するために、提供機器許可１０６２を用いることができる。例えば、図２の実施例においてセキュリティブローカー（Ｂ）２１０ｂがクライアント（Ｂ）２０４ｂに対する機器（Ｂ）２０２ｂのための代理を所望する場合、トラストマネージャ２０８は、セキュリティブローカー（Ｂ）２１０ｂが機器（Ｂ）２０２ｂに接続され、クライアント（Ｂ）２０４ｂへのアクセスを容認することが認可されるか否かを判断する。トラストマネージャ２０８は、セキュリティブローカー（Ｂ）のアカウント情報８５０ｂが提供機器（Ｂ）許可８６２ｂを含んでいたか否かに関して判断するために、そのセキュリティブローカーアカウントデータベース６２０に問合せるであろう。トラストマネージャ２０８が、セキュリティブローカー（Ｂ）２１０ｂが提供機器（Ｂ）許可８６２ｂを含んでいると判断する場合、セキュリティブローカー（Ｂ）２１０ｂは、クライアント（Ｂ）２０４ｂに機器（Ｂ）２０２ｂにアクセスすること、及び、機器（Ｂ）２０２ｂにクライアント（Ｂ）２０４ｂにアクセスすることを容認することが認可される。
【００６１】
代替の実施例では、セキュリティブローカー１１０は、クライアント１０４に対する機器１０２のための代理を容認する別々の許可を有することができる。この別々の許可は、セキュリティブローカーアカウントデータベース６２０におけるセキュリティブローカー認可情報８６０に対応するトラストマネージャ１０８上に記憶できる。
【００６２】
トラストマネージャ１０８が、セキュリティブローカー１１０がクライアント１０４へのアクセスを提供することが認可されないと判断する場合（１２３５）、トラストマネージャ１０８は、セキュリティブローカー１１０がクライアント１０４にアクセスすることを拒絶する（１２８５）。しかしながら、トラストマネージャ１０８が、セキュリティブローカー１１０がクライアント１０４へのアクセスを提供することが認可されると判断する場合（１２３５）、トラストマネージャ１０８は、クライアント１０４を認証することを試みることができ（１２４５）、クライアント１０４が認証されたか否かについて判断できる（１２５５）。
【００６３】
トラストマネージャ１０８が、クライアント１０４が首尾よく認証されないと判断する場合（１２５５）、トラストマネージャ１０８は、セキュリティブローカー１１０がクライアント１０４にアクセスすることを拒絶する（１２８５）。しかしながら、トラストマネージャ１０８が、クライアント１０４が首尾よく認証されたと判断する場合（１２５５）、トラストマネージャ１０８はまた、クライアント１０４がセキュリティブローカーのクライアント１０４への１１０アクセスを容認することが認可されるか否かについて判断できる（１２６５）。これは、クライアントの認可情報９４０を受信すること、及び、トラストマネージャ１０８のクライアントアカウントデータベース６２２に保存されたクライアント認可情報７４０とそれとを比較することを含むことができる。
【００６４】
上述したように、クライアント認可情報７４０は、アクセス機器許可７４２を含むことができる。クライアント１０４がセキュリティブローカー１１０を通じて機器１０２にアクセスすることが認可されるか否かについて判断する（１２６５）ために、アクセス機器許可７４２を用いることができる。例えば、セキュリティブローカー（Ｂ）２１０ｂが機器（Ｂ）２０２ｂのためにクライアント（Ｂ）２０４ｂに対する代理を所望する場合、トラストマネージャ２０８は、クライアント（Ｂ）２０４ｂが機器（Ｂ）２０２ｂにアクセスすることが認可されるか否かを判断する。トラストマネージャ２０８は、クライアント（Ｂ）のアカウント情報７３０ｂにアクセス機器（Ｂ）許可７４２ｂが含まれているか否かを判断するために、クライアントアカウントデータベース６２２に問合せをするであろう。トラストマネージャ２０８が、クライアント（Ｂ）２０４ｂがアクセス機器（Ｂ）許可７４２ｂを含むと判断する場合、セキュア接続は、セキュリティブローカー（Ｂ）２１０ｂとクライアント（Ｂ）２０４ｂとの間で確立できる（１２７５）。
【００６５】
代替の実施例では、クライアント１０４は、セキュリティブローカー１１０が機器１０２のためにクライアント１０４に対する代理を容認するための別々の許可を有することができる。この別々の許可は、クライアントアカウントデータベース６２２におけるクライアント認可情報７４０に対応するトラストマネージャ１０８上に記憶できる。
【００６６】
トラストマネージャ１０８が、セキュリティブローカー１１０が機器１０２のためにクライアント１０４に対する代理を認可されないと判断する場合（１２６５）、トラストマネージャ１０８は、セキュリティブローカー１１０がクライアント１０４にアクセスすることを拒絶する（１２８５）。しかしながら、トラストマネージャ１０８が、セキュリティブローカー１１０が機器１０２のためにクライアント１０４に対する代理を認可されると判断するなら（１２６５）、トラストマネージャ１０８は、クライアント１０４とセキュリティブローカー１１０との間のセキュア信頼接続を確立できる（１２７５）。
【００６７】
図１３は、コンピュータ機器又は組み込み機器の一実施例で用いることができる構成機器のブロック図である。コンピュータ機器及び／又は組み込み機器は、クライアント１０４、セキュリティブローカー１１０、トラストマネージャ１０８、又は機器１０２として用いることができる。中央処理装置１３１０又はプロセッサは、バス１３１２を介して中央処理装置１３１０と結合されるその他の装置を含む機器１３０２の動作を制御するために提供される。ＣＰＵ１３１０は、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ又は当技術分野で既知のその他の機器として供されることができる。ＣＰＵ１３１０は、メモリ１３１４内に保存されたプログラムコードに基づいて、論理的及び算術演算を実行する。所定の実施例では、メモリ１３１４は、ＣＰＵ１３１０を含むオンボードでメモリであっても良い。例えば、マイクロコントローラは、しばしばオンボードメモリの所定の量を含む。
【００６８】
コンピュータ機器又は組み込み機器１３０２はまた、ネットワークインタフェース１３１６を含むことができる。ネットワークインタフェース１３１６は、機器１３０２と、ネットワーク１００に接続された他の機器との通信を容易にする。ネットワークは、ポケベルのネットワーク、セルラネットワーク、グローバルな通信ネットワーク、インターネット、コンピュータネットワーク、電話網であっても良い。ネットワークインタフェース１３１６は、標準プロトコルに従って、適用すべきネットワーク１０６のために動作する。
【００６９】
装置１３０２はまた、メモリ１３１４も含むことができる。メモリ１３１４は、一時的なデータを格納するためのＲＡＭ（Random Access Memory）を含むことができる。代わりに又は更に、メモリ１３１４は、一定のコードやコンフィギュレーションデータのような、より恒久的なデータを格納するためのＲＯＭ（Read-Only Memory）を含むことができる。メモリ１３１４は、ハードディスクドライブなどの磁気記憶装置としてもまた、供されることができる。メモリ１３１４は、電子的情報を格納できるどのようなタイプの電子装置であっても良い。
【００７０】
装置１３０２はまた、他の装置との通信を容易にするＣＯＭポート１３１８も含むことができる。装置１３０２はまた、キーボード、マウス、ジョイスティック、タッチスクリーン、モニタ、スピーカー、プリンタなどのような入出力装置１３２０も含むことができる。
【００７１】
本システム及び方法は、様々な場面に使用することができる。図１４は本システム及び方法を実施することができるシステムの１つの実施例を示している。図１４は、照明コントローラシステム１４０８を含む照明システム１４００の１つの実施例を示すブロック図である。図１４の照明システム１４００は、家庭内の種々の部屋に組み込むことができる。図示したように、システム１４００は、部屋（Ａ）１４０２、部屋（Ｂ）１４０４、及び部屋（Ｃ）１４０６を含んでいる。図１４では３つの部屋が示されているが、システム１４００は、家庭、居住、又は他の環境の中で、どのような数及び種類の部屋でも導入できる。
【００７２】
照明コントローラシステム１４０８は、システム１４００内で、追加組込みシステム及び装置を監視し、制御できる。１つの実施例において、部屋（Ａ）１４０２と部屋（Ｂ）１４０４は、それぞれスイッチ装置１４１４、１４１８を含んでいる。スイッチ装置１４１４、１４１８は、セカンダリ組込みシステム１４１６、１４２０もまた含むことができる。セカンダリ組込みシステム１４１６、１４２０は、照明コントローラシステム１４０８からの指示を受信できる。セカンダリ組込みシステム１４１６、１４２０は、その後これらの指示を実行できる。その指示は、種々の照明装置１４１０、１４１２、１４２２、１４２４の電源を入れたり、電源を切ったりすることを含むことができる。その指示は、種々の照明装置１４１０、１４１２、１４２２、１４２４の明るさを薄暗くしたり、明るさを増強したりすることを含むことができる。その指示は、種々のパターンの照明装置１４１０、１４１２、１４２２、１４２４の明るさをアレンジすることを更に含むことができる。セカンダリ組込みシステム１４１６、１４２０は、部屋（Ａ）１４０２と部屋（Ｂ）１４０４内にある各照明装置１４１０、１４１２、１４２２、１４２４を監視して制御するために、照明コントローラシステム１４０８を円滑にする。
【００７３】
照明コントローラシステム１４０８はまた、描かれた部屋（Ｃ）１４０６にセカンダリ組込みシステム１４２８を含む照明装置１４２６に直接指示を与えるかもしれない。照明コントローラシステム１４０８は、個別の照明装置１４２６をパワーアップ又はパワーダウンするために、セカンダリ組込みシステム１４２８に指示することができる。同様に、照明コントローラシステム１４０８から受信された指示は、個々の照明装置１４２６の明るさを薄暗くしたり、明るさを増強したりすることを含むことができる。
【００７４】
照明コントローラシステム１４０８はまた、システム１４００内の個々の照明装置１４３０及び１４３２に対して、監視し、直接指示を与えることができる。これらの指示は、以前に説明したものと同様の指示を含むことができる。
【００７５】
図１４の実施例において、照明コントローラシステム１４０８は、クライアント１０４として機能させることができる。照明コントローラシステム１４０８は、機器１０２として扱うことができる照明装置１４１０、１４１２、１４２２、１４２４、１４２６、１４３０、１４３２の１つへのアクセスを所望できる。セカンダリ組込みシステム１４１６、１４２０、１４２８は、セキュリティブローカー１１０と機器１０２の両方として機能できる。照明コントローラシステム１４０８は、トラストマネージャ１０８からセカンダリ組込みシステム１４１６、１４２０、１４２８へのアクセスを要求できる。トラストマネージャ１０８が、セカンダリ組込みシステム１４１６、１４２０、１４２８と照明コントローラシステム１４０８との間のセキュア信頼接続を承諾する場合、これらの照明装置はそれらのステータスに関するデータを提供できる。ステータスに関するデータとは、例えば、照明装置がオンであるかオフであるかということや、もしくは照明装置を通過する現在又は過去のワット数である。
【００７６】
図１５は、本発明の本システム及び方法を実施することができるシステムの追加実施例である。図１５は、セキュリティシステム１５００を示すブロック図である。描かれた実施例におけるセキュリティシステム１５００は、部屋（Ａ）１５０２、部屋（Ｂ）１５０４、部屋（Ｃ）１５０６で実施される。これらの部屋は、家庭又は他の閉じられた環境の範囲にあってもよい。システム１５００はまた、部屋（Ａ）１５０２、部屋（Ｂ）１５０４、及び部屋（Ｃ）１５０６がそれぞれ領域又は境界を表す開かれた環境で実施することもできる。
【００７７】
システム１５００は、セキュリティコントローラシステム１５０８を含んでいる。セキュリティコントローラシステム１５０８は、システム１５００内の種々の装置を監視し、情報を受信する。例えば、動作センサ１５１４、１５１８は、セカンダリ組込みシステム１５１６を含むことができる。動きがセカンダリ組込みシステム１５１６、１５２０を介して検出されるとき、動作センサ１５１４、１５１８は、動きのために即座に空間を監視し、セキュリティコントローラシステム１５０８に警告することができる。セキュリティコントローラシステム１５０８はまた、システム１５００内の種々の装置にも指示を与えることができる。例えば、セキュリティコントローラシステム１５０８は、窓センサ１５１０、１５２２とドアセンサ１５１２、１５２４を、パワーアップ又はパワーダウンするために、セカンダリ組込みシステム１５１６、１５２０へ指示を供給できる。１つの実施例において、セカンダリ組込みシステム１５１６、１５２０は、窓センサ１５１０、１５２２が窓の動きを検出した場合に、セキュリティコントローラシステム１５０８に通知する。同様に、セカンダリ組込みシステム１５１６、１５２０は、ドアセンサ１５１２、１５２４がドアの動きを検出した場合に、セキュリティコントローラシステム１５０８に通知する。セカンダリ組込みシステム１５１６、１５２０は、動作センサ１５１４、１５１８内に設置されたＬＥＤ（図示せず）を作動させるために、動作センサ１５１４、１５１８に対して指示できる。
【００７８】
セキュリティコントローラシステム１５０８はまた、システム１５００内の個々の装置を監視し、直接指示を与えることができる。例えば、セキュリティコントローラシステム１５０８は、動作センサ１５３０又は窓のセンサ１５３２を監視し、パワーアップ又はパワーダウンするための指示を与えることができる。セキュリティコントローラシステム１５０８はまた、センサ１５３０及びセンサ１５３２内でＬＥＤ（図示せず）又はオーディオの警告通知を作動させるために、動作センサ１５３０と窓のセンサ１５３２に対して指示もできる。
【００７９】
それぞれの個々の装置はまた、セカンダリ組込みシステムを含むことができるシステム１５００を備える。例えば、図１５はセカンダリ組込みシステム１５２８を含むドアセンサ１５２６を示している。セキュリティコントローラシステム１５０８は、以前説明したのと同じような方法で、セカンダリ組込みシステム１５２８を監視し、指示を与えることができる。
【００８０】
図１５の実施例において、セキュリティコントローラシステム１５０８は、クライアント１０４として機能させることができる。セキュリティコントローラシステム１５０８は、機器１０２として扱うことができるセンサ１５１０、１５１２、１５２２、１５２４、１５２６、１５３０、１５３２の１つへのアクセスを所望できる。セカンダリ組込みシステム１５１６、１５２０、１５２８は、セキュリティブローカー１１０と機器１０２の両方として機能できる。セキュリティコントローラシステム１５０８は、トラストマネージャ１０８からセカンダリ組込みシステム１５１６、１５２０、１５２８へのアクセスを要求できる。トラストマネージャ１０８が、セカンダリ組込みシステム１５１６、１５２０、１５２８とセキュリティコントローラシステム１５０８との間のセキュア信頼接続を承諾する場合、これらのセンサ１５１０、１５１２、１５２２、１５２４、１５２６、１５３０、１５３２は、それらのステータスに関するデータを提供できる。例えば、窓センサ１５１０、１５２２、１５３２は、それらが開かれるもしくは閉じられるか否かに関するデータを提供できる。
【００８１】
図１６は、ホームシステム１６００の１つの実施例を示すブロック図である。ホームシステム１６００は、照明システム１４００、セキュリティシステム１５００などの種々のシステムのモニタリングを容易にするホームコントローラ１６０８を含んでいる。ホームシステム１６００は、ユーザに、１つ以上の組込みシステムを通して、種々の装置とシステムを制御することを可能にしている。１つの実施例では、ホームコントローラシステム１６０８は、以前に図１４及び図１５に関連して説明したのと同じ方法で、情報を監視して提供する。描かれている実施例では、ホームコントローラ１６０８は、セカンダリ組込みシステム１６２０を介して暖房装置１６２４に指示を与える。暖房装置１６２４は、居住場所又はオフィスで通常備えられる暖炉又は他の加熱装置を含むことができる。ホームコントローラシステム１６０８は、セカンダリ組込みシステム１６２０を介して、暖房装置１６２４をパワーアップ又はパワーダウンするための指示を与えることができる。
【００８２】
同様に、ホームコントローラ１６０８は、ホームシステム１６００内の冷房装置１６３０などの装置を監視して、直接指示を与えることができる。冷房装置１６３０は、居住場所又はオフィスで通常備えられるエアコン又は他の冷却装置を含むことができる。セントラルホームコントローラ１６０８は、セントラル組込みシステム１６０８によってコントロールされた計測温度に応じてパワーアップ又はパワーダウンするように、冷房装置１６３０に指示できる。ホームシステム１６００は、以前に図１４及び図１５に関連して説明したのと同じ方法で機能する。
【００８３】
図１６の実施例において、ホームコントローラシステム１６０８は、クライアント１０４として機能させることができる。ホームコントローラシステム１６０８は、機器１０２としてそのすべてを扱うことができる窓センサ１６１０、ドアセンサ１６１２、暖房装置１６２４、冷房装置１６３０、又は照明装置１６２２、１６２６、１６３２へのアクセスを所望できる。セカンダリ組込みシステム１６１６、１６２０、１６２８は、セキュリティブローカー１１０と機器１０２の両方として機能できる。ホームコントローラシステム１６０８は、トラストマネージャ１０８からセカンダリ組込みシステム１６１６、１６２０、１６２８へのアクセスを要求できる。トラストマネージャ１０８が、セカンダリ組込みシステム１６１６、１６２０、１６２８とホームコントローラシステム１６０８との間のセキュア信頼接続に承諾する場合、これらの要素１６１０、１６１２、１６２２、１６２４、１６２６、１６３０、１６３２は、それらのステータスに関するデータを提供できる。例えば、暖冷房装置１６２４、１６３０は、それらのそれぞれの部屋１６０４、１６０６に現在の温度に関するデータを提供できる。暖冷房装置１６２４、１６３０は、それがオンであるかオフであるか、最近の電力使用状況、システムエラーなど、装置のステータスに関するデータも提供できる。
【００８４】
機器ネットワークを作成するためには、多くのタイプの組み込み機器や多くの理由がある。機器ネットワークアプリケーションのいくつかの実施例が詳しく説明される。述べられた実施例が包括的なものではないことは、当業者によって理解される。
【００８５】
機器ネットワークアプリケーションの一実施例は、リモート監視である。多くの有用な機器ネットワークは、リモート監視、１つのノードから別のノードまで情報の一方向転送を含む。これらのアプリケーションにおいて、プロバイダーは、リクエスタに対応して、ある情報を報告するスモールサーバとして通常機能する。プロバイダーはまた、それらの状態情報を加入者に公開するためにセットアップできる。リクエスタは、恐らくどれくらいの頻度でアップデートを送るのかを制限するいくつかの手段で、状態が変化するときは常に、定期報告かアップデートを求めることができる。何らかの事象または例外的な条件が生じるとき、リクエスタに通知するために、プロバイダーをセットアップできる。
【００８６】
機器ネットワークアプリケーションの別の実施例は、リモートコントロールである。リモートコントロールでは、リクエスタが何らかの特定の操作を呼び出すためにコマンドをプロバイダーに送ることができる。多くの場合、リモートコントロールは、ある種のフィードバックを含む。
【００８７】
機器ネットワークアプリケーションの更なる実施例は、分散制御システムである。機能とデータは、加算値を提供する分散システムを作成するために、ネットワークを通して結合や調整されることができる個々のプロバイダーに関連している。時には、これらの分散制御システムは、多かれ少なかれ自動的に確立できる。多くの場合、より洗練された機器は、構成、監視又は診断義務を実行するために、ピア・ツウ・ピアネットワークを接合する。そのようなシステムは、ピアとして通信するオブジェクトによって、または、マスタスレーブ構成を通して作成できる。そこでは、システムの各オブジェクトは、制御論理のすべてを含む単一の主要なノードと通信する。
【００８８】
ネットワークアプリケーションの各カテゴリと共に、リクエスタがプロバイダーに接続することができる様々な方法がある。比較的少ない数のプロバイダーが含まれる場合、リクエスタは、多かれ少なかれ対話型の方法でプロバイダーと通信するために、ウェブブラウザ、ページャ又はＷＡＰ機能を持った携帯電話でさえ用いることができる。しかしながら、プロバイダーの数が増大するのにつれて、これらの方法は役に立たなくなるかもしれない、そして、リクエスタはスプレッドシート又はデータベースアプリケーションなどの、より一般的なデータ管理手法を使うかもしれない。
【００８９】
様々なネットワークが時間とともに異なった技術で実施されるように、どのような多重ネットワークが同じ家又は施設に置かれるかで、それぞれがそれら自身プロトコルを用いて他のものと通信できない状況が生じる。この場合、ただ１つの、そして、より大きいネットワークを作成するために、様々なネットワークとプロトコルをブリッジすることができる。これで、プロバイダーのすべてとの対話を簡素化し、各プロバイダーにアクセスするための単独アプリケーションが可能になる。
【００９０】
さまざまな異なった技術と手法のどれかを使用することで、情報と信号を表すことができる。データ、指示、コマンド、情報、信号、ビット、シンボル、及びチップは、例えば、電圧、電流、電磁波、磁場又は粒子、光波又は粒子、又はそれのどのような組合せによって表すことができる上記の説明を通して参照できる。
【００９１】
本明細書に開示された実施例に関して説明した、種々の図示した論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組合せとして実施することができる。明確にハードウェアとソフトウェアのこの互換性を図示するために、種々の図示された装置、ブロック、モジュール、回路、及びステップは、一般的に上記の機能性に関して説明されている。そのような機能性がハードウェア又はソフトウェアとして実施されるか否かは、システム全体に課された特殊用途と設計制約条件に依存する。当業者は、各特殊用途のための様々な方法における説明された機能性を実施することができるが、本発明の範囲からの逸脱しながら、そのような実施判断を解釈するべきでない。
【００９２】
本明細書に開示された実施例に関して説明された図示した論理ブロック、モジュール、及び回路は、汎用プロセッサ、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array signal）又は他のプログラマブル論理デバイス、離散的なゲート又はトランジスタロジック、離散的なハードウェア機器、又は本明細書に記載された機能を実行するように設計されたどのような組合せでも、実施又は実行できる。汎用プロセッサは、マイクロプロセッサであっても良いが、代替として、プロセッサは、どのような従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態マシンであっても良い。プロセッサ又は、コンピュータ機器の組合せ、例えば、ＤＳＰとマイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアに関連した１つ以上のマイクロプロセッサ、又はいかなる他のそのような形態の組合せとしても実施することができる。
【００９３】
本明細書に開示された実施例に関して説明された方法又はアルゴリズムのステップは、直接的にハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、又は２つの組合せで、具体化されることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、又は当技術分野で既知の記憶媒体のいかなる他の形式にも常駐できる。例示された記憶媒体は、プロセッサが記憶媒体から情報を読み込んで、情報を書き込むことができるように、プロセッサと結合される。別の方法では、記憶媒体はプロセッサに不可欠であろう。プロセッサと記憶媒体は、ＡＳＩＣに常駐できる。ＡＳＩＣは、利用者端末に常駐できる。別の方法では、プロセッサと記憶媒体は、個別装置として利用者端末に常駐できる。
【００９４】
本明細書に開示された方法は、説明された方法を遂行するために、１つ以上のステップ又は動作を具備する。方法ステップ及び／又は動作は、本発明の範囲から逸脱しないで、互いに交換できる。言い換えれば、実施例の適切な動作のために、ステップ又は動作に特定の順序を要しない限り、特定のステップ及び／又は動作の順序及び／又は行使は、本発明の範囲を逸脱しないで変更できる。
【００９５】
本発明の特定の実施例とアプリケーションを図示して説明したが、本発明が本明細書に開示された正確な形態と装置に限定されないことを理解されるべきである。当分野の当業者にとって明白な種々の修正、変更、及びバリエーションは、本発明の趣旨と範囲から逸脱しないで、本明細書に開示した本発明のアレンジ、操作、及び方法やシステムの詳細を成しうることができるであろう。
【産業上の利用可能性】
【００９６】
本発明は組込みシステムに適用できる。
【図面の簡単な説明】
【００９７】
【図１】一実施例による、トラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセスを提供するためのシステムを示すブロック図である。
【図２】別の実施例による、トラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセスを提供するためのシステムを示すブロック図である。
【図３】トラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセスを提供するための方法の一実施例を示すフローチャートである。
【図４】ネットワーク内のトラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセスを提供するための方法であって、クライアントによって始動される方法を示すタイムチャートである。
【図５】ネットワーク内のトラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセスを提供するための方法であって、セキュリティブローカーによって始動される方法を示すタイムチャートである。
【図６】トラストマネージャに記憶された構成要素の一実施例のブロック図である。
【図７】トラストマネージャに保存されたクライアントアカウントデータベースの一実施例のブロック図である。
【図８】トラストマネージャに保存されたセキュリティブローカーアカウントデータベースの一実施例のブロック図である。
【図９】クライアント上に記憶された情報を図示したクライアントの一実施例のブロック図である。
【図１０】セキュリティブローカー上に記憶された情報を図示したセキュリティブローカーの一実施例のブロック図である。
【図１１】ネットワーク内のトラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセスを提供するための方法であって、クライアントによって始動される方法を示すフローチャートである。
【図１２】ネットワーク内のトラストマネージャ及びセキュリティブローカーを用いて組み込み機器へのセキュアアクセスを提供するための方法であって、セキュリティブローカーによって始動される方法を示すフローチャートである。
【図１３】セキュリティブローカーを通じてアクセスできるコンピュータ機器の一実施例で用いることができるハードウェア機器のブロック図である。
【図１４】本システム及び方法を実施することができる照明システムの一例を示す。
【図１５】本システム及び方法を実施することができるセキュリティシステムの一例を示す。
【図１６】本システム及び方法を実施することができるホームコントローラシステムの一例を示す。