(57)【特許請求の範囲】
【請求項１】
電子デバイスのためのセキュアなコントローラであって、
前記電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信し、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証し、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立し、
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力／出力オペレーションが前記セキュアなコントローラのみに対して可視となり、前記信用できない実行複合体に対して可視とならないように前記ダイアログボックスをロックし、
前記ダイアログボックスから、１または複数の認証クレデンシャルを含むユーザ入力を受信し、
前記１または複数の認証クレデンシャルを前記遠隔サービスに転送し、
前記遠隔サービスとのセキュアな通信セッションを実行する
論理を備えるセキュアなコントローラ。
【請求項２】
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、請求項１に記載のセキュアなコントローラ。
【請求項３】
前記信用できない実行複合体は、前記電子デバイスのメインプロセッサおよびオペレーティングシステムにより実装され、
前記セキュアなコントローラは、前記信用できない実行複合体から物理的に分離している、請求項１または２に記載のセキュアなコントローラ。
【請求項４】
前記論理は、前記セキュアな通信セッションを、前記セキュアな通信セッションにおける入力および出力が、前記セキュアなコントローラに対してのみ可視になり、前記信用できない実行複合体において実行するマルウェアまたは他のアプリケーションによるスヌープすることができないように、前記ダイアログボックスを介して実行する、請求項１〜３のいずれか１項に記載のセキュアなコントローラ。
【請求項５】
前記論理は更に、前記セキュアな通信セッションが終了すると、前記ダイアログボックスをリリースして閉じ、前記ディスプレイデバイスの制御を前記信用できない実行複合体に返す、請求項１〜４のいずれか１項に記載のセキュアなコントローラ。
【請求項６】
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、請求項１〜５のいずれか１項に記載のセキュアなコントローラ。
【請求項７】
電子デバイスであって、
ディスプレイと、
信用できないコンピューティング環境を実装するためのプロセッサと、
セキュアなコントローラであって、
前記電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信し、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証し、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立し、
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力／出力オペレーションが前記セキュアなコントローラにのみ可視となり、前記信用できない実行複合体に対して可視とならないように前記ダイアログボックスをロックし、
前記ダイアログボックスから、１または複数の認証クレデンシャルを含むユーザ入力を受信し、
前記１または複数の認証クレデンシャルを前記遠隔サービスに転送し、
前記遠隔サービスとのセキュアな通信セッションを実行する論理を含む
セキュアなコントローラと
を備える電子デバイス。
【請求項８】
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、請求項７に記載の電子デバイス。
【請求項９】
前記信用できない実行複合体は、前記電子デバイスの前記プロセッサおよびオペレーティングシステムにより実装され、
前記セキュアなコントローラは、前記信用できない実行複合体から物理的に分離している、請求項７または８に記載の電子デバイス。
【請求項１０】
前記論理は、前記セキュアな通信セッションを、前記セキュアな通信セッションにおける入力および出力が、前記信用できる実行複合体に対してのみ可視になり、前記信用できない実行複合体において実行するマルウェアまたは他のアプリケーションによるスヌープすることができないように、前記ダイアログボックスを介して実行する、請求項７〜９のいずれか１項に記載の電子デバイス。
【請求項１１】
前記論理は、前記セキュアな通信セッションが終了すると、前記ダイアログボックスをリリースして閉じ、前記ディスプレイデバイスの制御を前記信用できない実行複合体に返す、請求項７〜１０のいずれか１項に記載の電子デバイス。
【請求項１２】
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、請求項９〜１１のいずれか１項に記載の電子デバイス。
【請求項１３】
セキュアなコントローラに
電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信する手順と、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証する手順と、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立する手順と、
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義する手順と、
前記ダイアログボックスにおいて実行される複数の入力／出力オペレーションが前記セキュアなコントローラのみに対して可視となり、前記信用できない実行複合体に対して可視とならないように前記ダイアログボックスをロックする手順と、
前記ダイアログボックスから、１または複数の認証クレデンシャルを含むユーザ入力を受信する手順と、
前記１または複数の認証クレデンシャルを前記遠隔サービスに転送する手順と、
前記遠隔サービスとのセキュアな通信セッションを実行する手順と
を実行させるプログラム。
【請求項１４】
前記セキュアなコントローラに
前記遠隔サービスからセキュリティ証明書を受信する手順と、
前記セキュリティ証明書を検証する手順と
を更に実行させる、請求項１３に記載のプログラム。
【請求項１５】
前記信用できない実行複合体は、前記電子デバイスのメインプロセッサおよびオペレーティングシステムにより実装され、
前記セキュアなコントローラは、前記信用できない実行複合体から物理的に分離している、請求項１３または１４に記載のプログラム。
【請求項１６】
前記セキュアなコントローラに、前記セキュアな通信セッションを、前記セキュアな通信セッションにおける入力および出力が、前記セキュアなコントローラに対してのみ可視になり、前記信用できない実行複合体において実行するマルウェアまたは他のアプリケーションによるスヌープすることができないように、前記ダイアログボックスを介して実行させる、請求項１３〜１５のいずれか１項に記載のプログラム。
【請求項１７】
前記セキュアなコントローラに、前記セキュアな通信セッションが終了すると、前記ダイアログボックスをリリースして閉じさせ、前記ディスプレイデバイスの制御を前記信用できない実行複合体に返させる手順を更に実行させる、請求項１３〜１６のいずれか１項に記載のプログラム。
【請求項１８】
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、請求項１３〜１７のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書に記載される主題は、概ね電子デバイスの分野に関し、より詳細には、電子デバイスを使用して、信用できるサービスインタラクションを実装するシステムおよび方法に関する。
【０００２】
悪意のあるソフトウェア（マルウェア）は、許可されない個人が使用するために、支払いクレデンシャルを含む個人情報を盗むべく使用されることがある。例としては、マルウェアは、ディスプレイになりすまし、またはディスプレイモジュールへの入力をスヌープすることにより、ユーザの秘密入力を盗み得る。支払いクレデンシャルを入手すると、マルウェアまたはそのユーザは、ユーザに代わって不正な取引を行い得る。この脅威は、情報を危険にさらすおそれがあるため、オンラインでの活動を行おうとしない人口の比率に対する影響を有する。これにより、オンライン商取引により得ることができる効率を減少させ、関係する個人が購入する財および役務の量を制限することになり、オンライン商取引の成長に限界を与える可能性がある。
【０００３】
これらの問題に対する既存の解決法は、電子デバイスのオペレーティングシステム内にホストされているという事実のゆえに、有用性および／またはセキュリティにおいて限界があり、これが常に脆弱性の問題点であり、または外部に取り付けるハードウェアデバイスを要求し、これにより消費者の使い易さの要因に限界を与える。従って、電子取引に安全なコンピューティング環境を提供するためのシステムおよび技術は、効用を見出し得る。
【図面の簡単な説明】
【０００４】
添付の図面を参照して、詳細な説明は記載される。
【図１】いくつかの実施形態に係る、信用できるサービスインタラクションのためのインフラストラクチャを含むように適合され得る、例示的な電子デバイスの概略図である。
【図２】いくつかの実施形態に係る、信用できるサービスインタラクションのための例示的なアーキテクチャのハイレベルな概略図である。
【図３】いくつかの実施形態に係る、信用できるサービスインタラクションを実装するための方法におけるオペレーションを例示するフローチャートである。
【図４】いくつかの実施形態に係る信用できるサービスインタラクションを実装するように適合される電子デバイスの概略図である。
【発明を実施するための形態】
【０００５】
本明細書において、電子デバイスに信用できるサービスインタラクションを実装するための例示的なシステムおよび方法が説明される。以下の説明において、様々な実施形態の完全な理解を提供するべく、多くの具体的な詳細が記載される。しかし、具体的な詳細を用いずに様々な実施形態を実施し得ることを当業者は理解するであろう。他の例において、特定の実施形態を不明確にしないようにするべく、周知の方法、手順、構成要素、および回路は、詳細に例示または説明されていない。 
【０００６】
図１は、いくつかの実施形態に係る、信用できるサービスインタラクションを実装するように適合され得る例示的なシステム１００の概略図である。一実施形態において、システム１００は、電子デバイス１０８と、スクリーン１０４を含むディスプレイ１０２、１または複数のスピーカ１０６、キーボード１１０、１または複数の他のＩ／Ｏデバイス１１２、およびマウス１１４を有する１または複数の付属する入力／出力デバイスとを備える。他のＩ／Ｏデバイス１１２は、タッチスクリーン、音声起動式入力デバイス、トラックボール、測位デバイス、加速度計／ジャイロスコープ、およびシステム１００がユーザからの入力を受信することを可能にするその他のデバイスを含んでもよい。
【０００７】
様々な実施形態において、電子デバイス１０８は、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末、携帯電話、エンタテインメントデバイス、または別のコンピューティングデバイスとして実施し得る。電子デバイス１０８は、システムハードウェア１２０およびメモリ１３０を含み、これは、ランダムアクセスメモリおよび／またはリードオンリメモリとして実装され得る。ファイルストア１８０は、コンピューティングデバイス１０８に通信的に結合され得る。ファイルストア１８０は、例えば１または複数のハードドライブ、ＣＤ‐ＲＯＭドライブ、ＤＶＤ‐ＲＯＭドライブ、または他のタイプのストレージデバイスなど、コンピューティングデバイス１０８の内部にあってもよい。ファイルストア１８０は、例えば１または複数の外部ハードドライブ、ネットワーク接続したストレージ、またはクラウドストレージネットワーク等の別個のストレージネットワークなど、コンピュータ１０８の外部にあってもよい。
【０００８】
システムハードウェア１２０は、１または複数のプロセッサ１２２、グラフィックスプロセッサ１２４、ネットワークインターフェース１２６、およびバス構造１２８を含み得る。一実施形態において、プロセッサ１２２は、米国カリフォルニア州Ｓａｎｔａ  Ｃｌａｒａのインテル株式会社から市販されるインテル（登録商標）コア２デュオ（登録商標）プロセッサとして実装され得る。本明細書において使用するように、「プロセッサ」という用語は、マイクロプロセッサ、マイクロコントローラ、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、またはその他のタイプのプロセッサもしくは処理回路等であるが、これらに限定されないいずれのタイプの計算要素も意味する。
【０００９】
グラフィックスプロセッサ１２４は、グラフィックスオペレーションおよび／またはビデオオペレーションを管理するアジャンクトプロセッサとして機能することができる。グラフィックスプロセッサ１２４は、プロセッサ１２２のパッケージング内、もしくはコンピューティングシステム１００のマザーボード上に一体化してもよく、またはマザーボード上の拡張スロットを介して結合してもよい。
【００１０】
一実施形態において、ネットワークインターフェース１２６は、イーサネット（登録商標）インターフェース（例えば、米国電気電子学会／ＩＥＥＥ８０２．３‐２００２を参照）等の有線インターフェース、またはＩＥＥＥ８０２．１１ａ、ｂ、またはｇに準拠したインターフェース（例えば、ＬＡＮ／ＭＡＮシステム間のＩＴ通信および情報交換のためのＩＥＥＥ規格‐第２部：無線ＬＡＮ媒体アクセス制御（ＭＡＣ）および物理層（ＰＨＹ）の仕様書修正４、２．４ＧＨｚバンドにおけるより高いデータレートの拡張、８０２．１１Ｇ‐２００３を参照）等の無線インターフェースであり得る。無線インターフェースの別の例は、汎用パケット無線サービス（ＧＰＲＳ）インターフェース（例えば、ＧＰＲＳハンドセット要求項目についてのガイドライン、無線通信のグローバルシステム／ＧＳＭ（登録商標）アソシエーション、３．０．１版、２００２年１２月を参照）であろう。
【００１１】
バス構造１２８は、システムハードウェア１２８の様々なコンポーネントを接続する。一実施形態において、バス構造１２８は、メモリバス、周辺バス、もしくは外部バス、ならびに／または１１ビットバス、工業規格アーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＳＡ）、拡張ＩＳＡ（ＥＩＳＡ）、インテリジェントドライブエレクトロニクス（ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＢ）、周辺構成要素相互接続（ＰＣＩ）、ユニバーサルシリアルバス（ＵＳＢ）、アドバンストグラッフィックスポート（ＡＧＰ）、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）バス、およびスモールコンピュータシステムインターフェース（ＳＣＳＩ）を含むが、これらに限定されない利用可能な様々なバスアーキテクチャを使用するローカルバスのうちのいくつかのタイプのバス構造の１または複数であってもよい。
【００１２】
メモリ１３０は、コンピューティングデバイス１０８のオペレーションを管理するためのオペレーティングシステム１４０を含み得る。一実施形態において、オペレーティングシステム１４０は、システムハードウェア１２０にインターフェースを提供するハードウェアインターフェースモジュール１５４を含む。更に、オペレーティングシステム１４０は、コンピューティングデバイス１０８のオペレーションにおいて使用されるファイルを管理するファイルシステム１５０と、コンピューティングデバイス１０８上で実行する処理を管理する処理制御サブシステム１５２とを含んでもよい。
【００１３】
オペレーティングシステム１４０は、システムハードウェア１２０と共に動作し、遠隔リソースからのデータパケットおよび／またはデータストリームを送受信し得る、１または複数の通信インターフェースを含み（または管理し）得る。オペレーティングシステム１４０は、オペレーティングシステム１４０とメモリ１３０内に常駐する１または複数のアプリケーションモジュールとの間にインターフェースを提供する、システム呼出しインターフェースモジュール１４２を更に含み得る。オペレーティングシステム１４０は、ＵＮＩＸ（登録商標）オペレーティングシステムもしくはそのいずれかの派生物（例えばＬｉｎｕｘ（登録商標）、Ｓｏｌａｒｉｓ等）、またはウィンドウズ（登録商標）ブランドのオペレーティングシステム、または他のオペレーティングシステムとして実施してもよい。
【００１４】
いくつかの実施形態において、システム１００は、本明細書において信用できる実行複合体１７０と呼ばれる低出力組込型プロセッサを備え得る。信用できる実行複合体１７０は、システム１００のマザーボード上に位置する独立した一体化回路として実装し得る。図１に図示する実施形態において、信用できる実行複合体１７０は、プロセッサ１７２、メモリモジュール１７４、認証モジュール１７６、Ｉ／Ｏモジュール１７８、およびセキュアなスプライトジェネレータ１７９を備える。いくつかの実施形態において、メモリモジュール１６４は、永続的フラッシュメモリモジュールを備えてもよく、認証モジュール１７４は、永続的メモリモジュール、例えばファームウェアまたはソフトウェアにおいてエンコードされた論理命令として実装され得る。Ｉ／Ｏモジュール１７８は、直列Ｉ／Ｏモジュールまたは並列Ｉ／Ｏモジュールを備えてもよい。信用できる実行複合体１７０はメインプロセッサ１２２およびオペレーティングシステム１４０から物理的に分離しているので、改ざんできないように、信用できる実行複合体１７０をセキュアな状態、すなわち、ハッカーによる攻撃に対して耐性を有するようにさせ得る。
【００１５】
いくつかの実施形態において、信用できる実行複合体は、ホスト電子デバイスと遠隔のコンピューティングデバイス、例えばオンライン商取引サイト等との間の１または複数の取引のための信用できるサービスインタラクションを確実にするべく、使用され得る。図２は、いくつかの実施形態に係る、信用できるサービスインタラクションのための例示的なアーキテクチャのハイレベルな概略図である。図２を参照すると、ホストデバイス２１０は、信用できない実行複合体および信用できる実行複合体を有するものとして特徴付けられ得る。ホストデバイス２１０をシステム１００として実施する場合、信用できる実行複合体は、信用できる実行複合体１７０により実装され得るが、信用できない実行複合体は、システム１００のメインプロセッサ１２２およびオペレーティングシステム１４０により実装され得る。いくつかの実施形態において、信用できる実行複合体は、メインプロセッサ１２２のセキュアな部分において実装され得る。
【００１６】
図２において例示するように、取引を開始する遠隔のエンティティは、図２において取引システムとして識別され、電子商取引ウェブサイト等として実施され、通信ネットワーク２４０を介してホストデバイスに結合することができる。使用するときに、電子デバイス１０８の所有者またはオペレータは、ネットワークを介して、ブラウザ２２０または他のアプリケーションソフトウェアを使用して取引システム２５０にアクセスし、システム２５０上でセキュアな取引を開始することができる。
【００１７】
認証モジュール１７６は、単体で、または認証プラグイン２２２、入力／出力モジュール１７８、およびセキュアなスプライトジェネレータ１７９と組み合わせて、ダイアログボックス２８０を介して、信用できるサービスインタラクションを確実にするための手順を実装し得る。
【００１８】
信用できるサービスインタラクションを実装するための様々な構造のシステムを説明したので、いくつかの実施形態に係る、信用できるサービスインタラクションを実装するための方法におけるオペレーションを例示するフローチャートである、図３を参照してシステムの動作態様を説明する。いくつかの実施形態において、図３のフローチャートに図示したオペレーションは、単体で、または他のモジュールと組み合わせて、信用できる実行複合体１７０の認証モジュール１７６により実装され得る。
【００１９】
概観としては、いくつかの実施形態において、電子デバイスは、信用できない実行複合体、例えばブラウザにおいて実行するアプリケーションからのインターネット商取引サービス等、遠隔サービスへのサービス要求を開始し得る。サービス要求に応答して、遠隔サービスは、電子デバイスにクレデンシャルを提供することができる。遠隔サービスからのクレデンシャルの受信に応答して、プラグインモジュール２２２は、信用できる実行複合体における認証モジュール１７６から認証サービスを呼び出すことができる。いくつかの実施形態において、認証サービスは、遠隔サービスとの通信セッションを管理するためのオペレーションを実装し得る。
【００２０】
図３を参照すると、オペレーション３０５で、電子デバイス上で実行するブラウザは、遠隔サービスへの要求を開始する。再度、例示によれば、遠隔サービスは電子商取引サイト等であり得、要求は、サイトが提供するセキュアなサービスにアクセスするための要求であり得る。オペレーション３１０で、要求は、電子デバイスのユーザからの遠隔サービスで受信される。いくつかの実施形態において、要求は、要求デバイスおよび／またはアプリケーションを一意に識別する識別子を含み得、要求も一意に識別し得る。例えば識別子は、要求が生成された時期を識別するタイムスタンプを含んでもよい。
【００２１】
要求に応答して、オペレーション３１５で、遠隔サービスは証明書、例えばプライベートキーまたはインフラストラクチャキー等をサービス要求へのレスポンスに添付し、オペレーション３２０で、遠隔サービスは、要求を開始したブラウザにレスポンスを送信する。オペレーション３２５で、ブラウザはレスポンスを受信する。認証プラグイン２２２は、レスポンスが証明書を含むことを検出し、それに応答して遠隔サービスとのセキュアな通信セッションを開始および管理するべく、認証モジュール１７６への要求を開始し、その要求についてのレスポンス（オペレーション３２０）を転送する。
【００２２】
オペレーション３３０で、セキュアなコントローラにおける認証モジュール１７６は、遠隔サービスから要求および関連する証明書を受信し、オペレーション３３５で、セキュアなコントローラにおける認証モジュール１７６は、証明書を認証する。いくつかの実施形態において、認証モジュール１７６は、遠隔検証システム２６０を用いて証明書を認証することができる。
【００２３】
証明書が検証されると、オペレーション３４０で、セキュアなスプライトジェネレータ１７９は、電子デバイスのディスプレイ上でセキュアなダイアログボックス２８０を生成する。オペレーション３４５で、入力／出力モジュール１７８は、ダイアログボックス２８０のビットマップにおいて実装された入力／出力オペレーションは、信用できる実行複合体に対してのみ可視になるように、ダイアログボックス２８０をロックする。ダイアログボックス２８０がロックされると、ダイアログボックス２８０において実装された入力／出力オペレーションは、信用できない実行複合体に対して可視にならない。
【００２４】
図２を手短に参照すると、いくつかの実施形態において、ダイアログボックス２８０は、ユーザ名のエントリのための第１のウィンドウ２８２と、パスワードのエントリのための第２のウィンドウ２８４とを含み得る。更に、ダイアログボックス２８０は、ディスプレイ上のキーボード２８６等の入力機構を含み得る。ユーザは、キーボード２８６を使用して自身のユーザ名および／またはパスワードを入力してもよい。
【００２５】
再び図３を参照すると、オペレーション３５０で、セキュアなコントローラにおける認証モジュール１７６は、ダイアログボックス２８０を介してユーザから認証入力を受信する。オペレーション３５５および３６０で、セキュアな通信接続は、セキュアなコントローラの認証モジュール１７６と遠隔サービスとの間で確立される。いくつかの実施形態において、セキュアな接続の確立には、暗号キーを交換するためのハンドシェイク手順を伴うことがある。あるいは、仮想プライベートネットワーク（ＶＰＮ）のトンネリングは、遠隔サービスと認証モジュール１７６との間で確立してもよい。
【００２６】
オペレーション３６５で、認証モジュール１７６は、ダイアログボックス２８０を介して受信されたクレデンシャル（すなわちユーザ名およびパスワードの組み合わせ）を遠隔サービスに転送し、遠隔サービスは、オペレーション３７０でクレデンシャルを認証する。
【００２７】
オペレーション３７５および３８０で、セキュアなコントローラおよび遠隔サービスは、セキュアな通信セッションを実行する。いくつかの実施形態において、セキュアな通信セッションは、セキュアな通信セッションにおける入力および出力が、信用できる実行複合体に対してのみ可視になり、従って信用できない実行複合体において実行するマルウェアまたは他のアプリケーションによりスヌープすることができないように、セキュアなスプライトジェネレータ１７９により生成されたダイアログボックス２８０を介して行うことができる。
【００２８】
通信セッションが終了すると、セキュアなコントローラにおける認証モジュール１７６は、ダイアログボックス２８０をリリースして閉じることができ（オペレーション３８５）、ディスプレイの制御を信用できない実行複合体に返す。
【００２９】
上記のように、いくつかの実施形態において、電子デバイスは、コンピュータシステムとして実施してもよい。図４は、いくつかの実施形態に係る、コンピュータシステム４００の概略図である。コンピュータシステム４００は、コンピューティングデバイス４０２および電源アダプタ４０４（例えば、電力をコンピューティングデバイス４０２に供給するための）を含む。コンピューティングデバイス４０２は、ラップトップ（またはノートブック）コンピュータ、携帯情報端末、デスクトップコンピューティングデバイス（例えば、ワークステーションまたはデスクトップコンピュータ）、およびラックマウントコンピューティングデバイス等、任意の好適なコンピューティングデバイスであり得る。
【００３０】
電源は、１または複数のバッテリーパック、交流（ＡＣ）アウトレット（例えば、変圧器および／または電源アダプタ４０４等のアダプタを介する）、自動車用電源、および飛行機用電源等のうち１または複数の電源からコンピューティングデバイス４０２の様々なコンポーネントへと（例えば、コンピューティングデバイス電源４０６を介して）提供され得る。いくつかの実施形態において、電源アダプタ４０４は、電源出力（例えば、約１１０ＶＡＣ〜２４０ＶＡＣのＡＣアウトレット電圧）を約７ＶＤＣ〜１２．６ＶＤＣの範囲の直流（ＤＣ）電圧に変圧することができる。従って、電源アダプタ４０４は、ＡＣ／ＤＣアダプタであってもよい。
【００３１】
コンピューティングデバイス４０２は、１または複数の中央処理装置（ＣＰＵ）４０８も含み得る。いくつかの実施形態において、ＣＰＵ４０８は、カリフォルニア州Ｓａｎｔａ  Ｃｌａｒａのインテル（登録商標）株式会社から市販されるペンティアム（登録商標）ＩＩプロセッサ群、ペンティアム（登録商標）ＩＩＩプロセッサ、ペンティアム（登録商標）ＩＶを含む、ペンティアム（登録商標）群のプロセッサ、コア２デュオプロセッサ、またはアトムプロセッサの１または複数のプロセッサであり得る。あるいは、インテルのアイテニアム（登録商標）、ＸＥＯＮ（商標）、およびセレロン（登録商標）プロセッサ等の他のＣＰＵを使用してもよい。また、他の製造者の１または複数のプロセッサを使用してもよい。更には、プロセッサは、シングルコアまたはマルチコアの設計を有していてもよい。
【００３２】
チップセット４１２は、ＣＰＵ４０８と結合または一体化してもよい。チップセット４１２は、メモリ制御ハブ（ＭＣＨ）４１４を含み得る。ＭＣＨ４１４は、メインシステムメモリ４１８に結合されたメモリコントローラ４１６を含み得る。メインシステムメモリ４１８は、ＣＰＵ４０８、またはシステム４００に含まれるその他のデバイスにより実行される命令のデータまたはシーケンスを格納する。いくつかの実施形態において、メインシステムメモリ４１８は、ランダムアクセスメモリ（ＲＡＭ）を含むが、メインシステムメモリ４１８は、ダイナミックＲＡＭ（ＤＲＡＭ）、およびシンクロナスＤＲＡＭ（ＳＤＲＡＭ）等の他のメモリタイプを使用して実装してもよい。追加のデバイスも、複数のＣＰＵおよび／または複数のシステムメモリ等のバス４１０に結合してもよい。
【００３３】
ＭＣＨ４１４は、グラフィックスアクセラレータ４２２に結合されたグラフィックスインターフェース４２０も含み得る。いくつかの実施形態において、グラフィックスインターフェース４２０は、アクセラレーテッドグラフィックスポート（ＡＧＰ）を介してグラフィックスアクセラレータ４２２に結合される。いくつかの実施形態において、ディスプレイ（フラットパネルディスプレイ等）４４０は、例えば、ビデオメモリまたはシステムメモリ等のストレージデバイスに格納された画像のデジタル表現を、ディスプレイにより解釈および表示されるディスプレイ信号に変換する信号変換機を介して、グラフィックスインターフェース４２０に結合してもよい。ディスプレイデバイスにより生成されるディスプレイ４４０の信号は、ディスプレイにより解釈され、ディスプレイ上に表示される前に、様々な制御デバイスを通り得る。
【００３４】
ハブインターフェース４２４は、ＭＣＨ４１４をプラットフォーム制御ハブ（ＰＣＨ）４２６に結合する。ＰＣＨ４２６は、コンピュータシステム４００に結合された入力／出力（Ｉ／Ｏ）デバイスにインターフェースを提供する。ＰＣＨ４２６は、周辺構成要素相互接続（ＰＣＩ）バスに結合してもよい。従って、ＰＣＨ４２６は、ＰＣＩバス４３０にインターフェースを提供するＰＣＩブリッジ４２８を含む。ＰＣＩブリッジ４２８は、ＣＰＵ４０８と周辺デバイスとの間にデータバスを提供する。更に、カリフォルニア州Ｓａｎｔａ  Ｃｌａｒａのインテル（登録商標）株式会社により市販されるＰＣＩエクスプレス（商標）アーキテクチャ等、他のタイプのＩ／Ｏ相互接続トポロジを使用してもよい。
【００３５】
ＰＣＩバス４３０は、オーディオデバイス４３２、および１または複数のディスクドライブ４３４に結合してもよい。他のデバイスをＰＣＩバス４３０に結合してもよい。更に、ＣＰＵ４０８およびＭＣＨ４１４を組み合わせて単一のチップを形成してもよい。更に、他の実施形態において、グラフィックスアクセラレータ４２２は、ＭＣＨ４１４内に含まれ得る。
【００３６】
更に、様々な実施形態において、ＰＣＨ４２６に結合された他の周辺機器としては、インテグレーティドドライブエレクトロニクス（ＩＤＥ）またはスモールコンピュータシステムインターフェース（ＳＣＳＩ）のハードドライブ、ユニバーサルシリアルバス（ＵＳＢ）ポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー（登録商標）ディスクドライブ、およびデジタル出力サポート（例えば、デジタルビデオインターフェース（ＤＶＩ））等が挙げられ得る。従って、コンピューティングデバイス４０２は、揮発性および／または不揮発性メモリを含んでもよい。
【００３７】
このように、本明細書において、電子デバイスにおいて信用できるサービスインタラクションを実装するためのアーキテクチャおよび関連する方法が説明される。いくつかの実施形態において、アーキテクチャは、遠隔サービスと信用できる実行複合体との間にセキュアな通信を確立するべく、電子デバイスプラットフォームに埋め込まれたハードウェア機能を使用する。実行複合体は、セキュアな通信セッションの少なくとも一部が実行され得るセキュアなダイアログボックスを提示する、信用できる実行複合体において実装され得る。いくつかの実施形態において、信用できる実行複合体は、遠隔のデバイス、例えばドングルにおいて実装され得る。
【００３８】
本明細書において言及される「論理命令」という用語は、１または複数の論理オペレーションを実行するための１または複数のマシンにより理解され得る表現に関する。例えば、論理命令は、１または複数のデータオブジェクト上で１または複数のオペレーションを実行するためのプロセッサコンパイラにより解釈可能な命令を含み得る。しかし、これは機械可読命令の単なる例であり、実施形態は、この点において限定されない。
【００３９】
本明細書において言及される「コンピュータ可読媒体」という用語は、１または複数のマシンにより理解可能な表現を維持することができる媒体に関する。例えば、コンピュータ可読媒体は、コンピュータ可読命令またはコンピュータ可読データを格納するための１または複数のストレージデバイスを備え得る。そのようなストレージデバイスは、例えば、光、磁気、または半導体のストレージ媒体等のストレージ媒体を備え得る。しかし、これはコンピュータ可読媒体の単なる例であり、実施形態はこの点において限定されない。
【００４０】
本明細書において言及される「論理」という用語は、１または複数の論理オペレーションを実行するための構造に関する。例えば、論理は、１または複数の入力信号に基づいて１または複数の出力信号を提供する回路を備え得る。そのような回路は、デジタル入力を受信し、デジタル出力を提供する有限状態の機械、または１または複数のアナログ入力信号に応答して１または複数のアナログ出力信号を提供する回路を備え得る。そのような回路は、特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）において提供され得る。また、論理は、処理回路と組み合わせてメモリ内に格納された機械可読命令を含み、そのような機械可読命令を実行し得る。しかし、これらは、論理を提供し得る構造の単なる例であり、実施形態はこの点において限定されない。
【００４１】
本明細書において説明される方法のいくつかは、コンピュータ可読媒体上に論理命令として実行され得る。プロセッサ上で実行されると、論理命令により、プロセッサは、説明する方法を実装する専用マシンとしてプログラミングされる。プロセッサは、本明細書において説明される方法を実行するための論理命令により構成されると、説明する方法を行うための構造を構成する。あるいは、本明細書において説明される方法は、例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または特定用途向け集積回路（ＡＳＩＣ）等での論理に還元され得る
【００４２】
本明細書および特許請求の範囲において、「結合される」および「接続される」という用語は、その派生物と共に用い得る。特定の実施形態において、「接続される」は、２つまたはそれ以上の要素が物理的または電気的に互いに直に接触していることを示すべく、用い得る。「結合される」は、２つまたはそれ以上の要素が物理的または電気的に直に接触していることを意味し得る。しかし、「結合される」は、２つまたはそれ以上の要素が互いに直に接触していないことがあるが、互いになおも共働または相互作用し得ることも意味し得る。
【００４３】
本明細書において、「一実施形態」または「いくつかの実施形態」に言及する場合、実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも１つの実装に含まれることを意味する。本明細書の様々な箇所で「一実施形態において」の文言が現れる場合、その全てが同一の実施形態を指す場合もあり、指さない場合もある。
【００４４】
実施形態は、構造的特徴および／または方法論的動作に特有の言語で説明されるが、特許請求される主題は、記載される特定の特徴または動作に限定し得ないことを理解されたい。むしろ、特定の特徴および動作は、特許請求される主題を実装する見本形態として開示される。
［項目１］
電子デバイスのためのセキュアなコントローラであって、
前記電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信し、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証し、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立し、
セキュアなユーザインターフェースを確立し、
前記セキュアなユーザインターフェースを介してユーザから１または複数の認証クレデンシャルを収集し、
前記１または複数の認証クレデンシャルを前記遠隔サービスに転送し、
前記遠隔サービスとのセキュアな通信セッションを実行する
論理を備えるセキュアなコントローラ。
［項目２］
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、項目１に記載のセキュアなコントローラ。
［項目３］
前記論理は、更に、
前記遠隔サービスから認証のチャレンジを受信し、
ユーザから前記認証のチャレンジに対するレスポンスを受信し、
前記セキュアな通信接続を介して、前記遠隔サービスに対する前記レスポンスを転送する、項目１または２に記載のセキュアなコントローラ。
［項目４］
前記論理は、更に、
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力／出力オペレーションが前記セキュアなコントローラのみに対して可視となるように前記ダイアログボックスをロックし、
入力機構からユーザ入力を受信し、
前記セキュアな通信接続を介して前記ユーザ入力を前記遠隔サービスに転送する、項目１〜３のいずれか１項に記載のセキュアなコントローラ。
［項目５］
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、項目１〜４のいずれか１項に記載のセキュアなコントローラ。
［項目６］
前記論理は、更に、
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立し、
前記セキュアなチャネルを介して、前記ユーザの入力を前記セキュアなコントローラから前記アプリケーションに送信する、項目５に記載のセキュアなコントローラ。
［項目７］
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立するための前記論理は、前記アプリケーションを用いて前記識別子および前記要求を検証するための論理を含む、項目６に記載のセキュアなコントローラ。
［項目８］
電子デバイスであって、
ディスプレイと、
信用できないコンピューティング環境を実装するためのプロセッサと、
前記電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信し、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証し、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立し、
セキュアなユーザインターフェースを確立し、
前記セキュアなユーザインターフェースを介してユーザから１または複数の認証クレデンシャルを収集し、
前記１または複数の認証クレデンシャルを前記遠隔サービスに転送し、
前記遠隔サービスとのセキュアな通信セッションを実行する論理を含む
セキュアなコントローラと
を備える電子デバイス。
［項目９］
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、項目８に記載の電子デバイス。
［項目１０］
前記論理は、更に、
前記遠隔サービスから認証のチャレンジを受信し、
ユーザから前記認証のチャレンジに対するレスポンスを受信し、
前記セキュアな通信接続を介して、前記レスポンスを前記遠隔サービスに転送する、項目８または９に記載の電子デバイス。
［項目１１］
前記論理は、更に、
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力／出力オペレーションが前記セキュアなコントローラにのみ可視となるように前記ダイアログボックスをロックし、
入力機構からユーザ入力を受信し、
前記セキュアな通信接続を介して、前記ユーザ入力を前記遠隔サービスに転送する、項目８〜１０のいずれか１項に記載の電子デバイス。
［項目１２］
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、項目８〜１１のいずれか１項に記載の電子デバイス。
［項目１３］
前記論理は、更に、
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立し、
前記セキュアなチャネルを介して、ユーザ入力を前記セキュアなコントローラから前記アプリケーションに送信する、項目１２に記載の電子デバイス。
［項目１４］
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立するための前記論理は、前記アプリケーションを用いて前記識別子および前記要求を検証する論理を含む、項目１３に記載の電子デバイス。
［項目１５］
セキュアなコントローラに
電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信する手順と、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証する手順と、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立する手順と、
セキュアなユーザインターフェースを確立する手順と、
前記セキュアなユーザインターフェースを介して、１または複数の認証クレデンシャルをユーザから収集する手順と、
前記１または複数の認証クレデンシャルを前記遠隔サービスに転送する手順と、
前記遠隔サービスとのセキュアな通信セッションを実行する手順と
を実行させるプログラム。
［項目１６］
前記セキュアなコントローラに
前記遠隔サービスからセキュリティ証明書を受信する手順と、
前記セキュリティ証明書を検証する手順と
を更に実行させる、項目１５に記載のプログラム。
［項目１７］
前記セキュアなコントローラに
前記遠隔サービスから認証のチャレンジを受信する手順と、
ユーザから前記認証のチャレンジに対するレスポンスを受信する手順と、
前記セキュアな通信接続を介して、前記遠隔サービスへの前記レスポンスを転送する手順と
を更に実行させる、項目１５または１６に記載のプログラム。
［項目１８］
前記セキュアなコントローラに
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義する手順と、
前記ダイアログボックスにおいて実行される複数の入力／出力オペレーションが前記セキュアなコントローラのみに対して可視となるように前記ダイアログボックスをロックする手順と、
入力機構からユーザ入力を受信する手順と、
前記セキュアな通信接続を介して、前記ユーザ入力を前記遠隔サービスに転送する手順と
を更に実行させる、項目１５〜１７のいずれか１項に記載のプログラム。
［項目１９］
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、項目１８に記載のプログラム。
［項目２０］
前記セキュアなコントローラに
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立する手順と、
前記セキュアなチャネルを介して、前記ユーザ入力を前記セキュアなコントローラから前記アプリケーションに送信する手順と
を更に実行させる、項目１９に記載のプログラム。
［項目２１］
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立する手順は、前記アプリケーションを用いて前記識別子および前記要求を検証する手順を含む、項目２０に記載のプログラム。
【図１】
0005989894.tif 000002
【図２】
0005989894.tif 000003
【図３】
0005989894.tif 000004
【図４】
0005989894.tif 000005