(58)【調査した分野】(Int.Cl.,DB名)
前記コントローラに結合された前記プロセッサ上で実行する前記アプリケーションと前記コントローラとの間にセキュアなチャネルを確立する論理は、前記アプリケーションを用いて前記識別子および前記要求を検証する論理を含む、請求項6に記載のコントローラ。
前記コントローラに結合された前記プロセッサ上で実行する前記アプリケーションと前記コントローラとの間にセキュアなチャネルを確立する論理は、前記アプリケーションを用いて前記識別子および前記要求を検証する論理を含む、請求項13に記載の電子デバイス。
【発明を実施するための形態】
【0005】
本明細書において、電子デバイスに信用できるサービスインタラクションを実装するための例示的なシステムおよび方法が説明される。以下の説明において、様々な実施形態の完全な理解を提供するべく、多くの具体的な詳細が記載される。しかし、具体的な詳細を用いずに様々な実施形態を実施し得ることを当業者は理解するであろう。他の例において、特定の実施形態を不明確にしないようにするべく、周知の方法、手順、構成要素、および回路は、詳細に例示または説明されていない。
【0006】
図1は、いくつかの実施形態に係る、信用できるサービスインタラクションを実装するように適合され得る例示的なシステム100の概略図である。一実施形態において、システム100は、電子デバイス108と、スクリーン104を含むディスプレイ102、1または複数のスピーカ106、キーボード110、1または複数の他のI/Oデバイス112、およびマウス114を有する1または複数の付属する入力/出力デバイスとを備える。他のI/Oデバイス112は、タッチスクリーン、音声起動式入力デバイス、トラックボール、測位デバイス、加速度計/ジャイロスコープ、およびシステム100がユーザからの入力を受信することを可能にするその他のデバイスを含んでもよい。
【0007】
様々な実施形態において、電子デバイス108は、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末、携帯電話、エンタテインメントデバイス、または別のコンピューティングデバイスとして実施し得る。電子デバイス108は、システムハードウェア120およびメモリ130を含み、これは、ランダムアクセスメモリおよび/またはリードオンリメモリとして実装され得る。ファイルストア180は、コンピューティングデバイス108に通信的に結合され得る。ファイルストア180は、例えば1または複数のハードドライブ、CD‐ROMドライブ、DVD‐ROMドライブ、または他のタイプのストレージデバイスなど、コンピューティングデバイス108の内部にあってもよい。ファイルストア180は、例えば1または複数の外部ハードドライブ、ネットワーク接続したストレージ、またはクラウドストレージネットワーク等の別個のストレージネットワークなど、コンピュータ108の外部にあってもよい。
【0008】
システムハードウェア120は、1または複数のプロセッサ122、グラフィックスプロセッサ124、ネットワークインターフェース126、およびバス構造128を含み得る。一実施形態において、プロセッサ122は、米国カリフォルニア州Santa Claraのインテル株式会社から市販されるインテル(登録商標)コア2デュオ(登録商標)プロセッサとして実装され得る。本明細書において使用するように、「プロセッサ」という用語は、マイクロプロセッサ、マイクロコントローラ、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セット(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他のタイプのプロセッサもしくは処理回路等であるが、これらに限定されないいずれのタイプの計算要素も意味する。
【0009】
グラフィックスプロセッサ124は、グラフィックスオペレーションおよび/またはビデオオペレーションを管理するアジャンクトプロセッサとして機能することができる。グラフィックスプロセッサ124は、プロセッサ122のパッケージング内、もしくはコンピューティングシステム100のマザーボード上に一体化してもよく、またはマザーボード上の拡張スロットを介して結合してもよい。
【0010】
一実施形態において、ネットワークインターフェース126は、イーサネット(登録商標)インターフェース(例えば、米国電気電子学会/IEEE802.3‐2002を参照)等の有線インターフェース、またはIEEE802.11a、b、またはgに準拠したインターフェース(例えば、LAN/MANシステム間のIT通信および情報交換のためのIEEE規格‐第2部:無線LAN媒体アクセス制御(MAC)および物理層(PHY)の仕様書修正4、2.4GHzバンドにおけるより高いデータレートの拡張、802.11G‐2003を参照)等の無線インターフェースであり得る。無線インターフェースの別の例は、汎用パケット無線サービス(GPRS)インターフェース(例えば、GPRSハンドセット要求項目についてのガイドライン、無線通信のグローバルシステム/GSM(登録商標)アソシエーション、3.0.1版、2002年12月を参照)であろう。
【0011】
バス構造128は、システムハードウェア128の様々なコンポーネントを接続する。一実施形態において、バス構造128は、メモリバス、周辺バス、もしくは外部バス、ならびに/または11ビットバス、工業規格アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、周辺構成要素相互接続(PCI)、ユニバーサルシリアルバス(USB)、アドバンストグラッフィックスポート(AGP)、パーソナルコンピュータメモリカード国際協会(PCMCIA)バス、およびスモールコンピュータシステムインターフェース(SCSI)を含むが、これらに限定されない利用可能な様々なバスアーキテクチャを使用するローカルバスのうちのいくつかのタイプのバス構造の1または複数であってもよい。
【0012】
メモリ130は、コンピューティングデバイス108のオペレーションを管理するためのオペレーティングシステム140を含み得る。一実施形態において、オペレーティングシステム140は、システムハードウェア120にインターフェースを提供するハードウェアインターフェースモジュール154を含む。更に、オペレーティングシステム140は、コンピューティングデバイス108のオペレーションにおいて使用されるファイルを管理するファイルシステム150と、コンピューティングデバイス108上で実行する処理を管理する処理制御サブシステム152とを含んでもよい。
【0013】
オペレーティングシステム140は、システムハードウェア120と共に動作し、遠隔リソースからのデータパケットおよび/またはデータストリームを送受信し得る、1または複数の通信インターフェースを含み(または管理し)得る。オペレーティングシステム140は、オペレーティングシステム140とメモリ130内に常駐する1または複数のアプリケーションモジュールとの間にインターフェースを提供する、システム呼出しインターフェースモジュール142を更に含み得る。オペレーティングシステム140は、UNIX(登録商標)オペレーティングシステムもしくはそのいずれかの派生物(例えばLinux(登録商標)、Solaris等)、またはウィンドウズ(登録商標)ブランドのオペレーティングシステム、または他のオペレーティングシステムとして実施してもよい。
【0014】
いくつかの実施形態において、システム100は、本明細書において信用できる実行複合体170と呼ばれる低出力組込型プロセッサを備え得る。信用できる実行複合体170は、システム100のマザーボード上に位置する独立した一体化回路として実装し得る。
図1に図示する実施形態において、信用できる実行複合体170は、プロセッサ172、メモリモジュール174、認証モジュール176、I/Oモジュール178、およびセキュアなスプライトジェネレータ179を備える。いくつかの実施形態において、メモリモジュール164は、永続的フラッシュメモリモジュールを備えてもよく、認証モジュール174は、永続的メモリモジュール、例えばファームウェアまたはソフトウェアにおいてエンコードされた論理命令として実装され得る。I/Oモジュール178は、直列I/Oモジュールまたは並列I/Oモジュールを備えてもよい。信用できる実行複合体170はメインプロセッサ122およびオペレーティングシステム140から物理的に分離しているので、改ざんできないように、信用できる実行複合体170をセキュアな状態、すなわち、ハッカーによる攻撃に対して耐性を有するようにさせ得る。
【0015】
いくつかの実施形態において、信用できる実行複合体は、ホスト電子デバイスと遠隔のコンピューティングデバイス、例えばオンライン商取引サイト等との間の1または複数の取引のための信用できるサービスインタラクションを確実にするべく、使用され得る。
図2は、いくつかの実施形態に係る、信用できるサービスインタラクションのための例示的なアーキテクチャのハイレベルな概略図である。
図2を参照すると、ホストデバイス210は、信用できない実行複合体および信用できる実行複合体を有するものとして特徴付けられ得る。ホストデバイス210をシステム100として実施する場合、信用できる実行複合体は、信用できる実行複合体170により実装され得るが、信用できない実行複合体は、システム100のメインプロセッサ122およびオペレーティングシステム140により実装され得る。いくつかの実施形態において、信用できる実行複合体は、メインプロセッサ122のセキュアな部分において実装され得る。
【0016】
図2において例示するように、取引を開始する遠隔のエンティティは、
図2において取引システムとして識別され、電子商取引ウェブサイト等として実施され、通信ネットワーク240を介してホストデバイスに結合することができる。使用するときに、電子デバイス108の所有者またはオペレータは、ネットワークを介して、ブラウザ220または他のアプリケーションソフトウェアを使用して取引システム250にアクセスし、システム250上でセキュアな取引を開始することができる。
【0017】
認証モジュール176は、単体で、または認証プラグイン222、入力/出力モジュール178、およびセキュアなスプライトジェネレータ179と組み合わせて、ダイアログボックス280を介して、信用できるサービスインタラクションを確実にするための手順を実装し得る。
【0018】
信用できるサービスインタラクションを実装するための様々な構造のシステムを説明したので、いくつかの実施形態に係る、信用できるサービスインタラクションを実装するための方法におけるオペレーションを例示するフローチャートである、
図3を参照してシステムの動作態様を説明する。いくつかの実施形態において、
図3のフローチャートに図示したオペレーションは、単体で、または他のモジュールと組み合わせて、信用できる実行複合体170の認証モジュール176により実装され得る。
【0019】
概観としては、いくつかの実施形態において、電子デバイスは、信用できない実行複合体、例えばブラウザにおいて実行するアプリケーションからのインターネット商取引サービス等、遠隔サービスへのサービス要求を開始し得る。サービス要求に応答して、遠隔サービスは、電子デバイスにクレデンシャルを提供することができる。遠隔サービスからのクレデンシャルの受信に応答して、プラグインモジュール222は、信用できる実行複合体における認証モジュール176から認証サービスを呼び出すことができる。いくつかの実施形態において、認証サービスは、遠隔サービスとの通信セッションを管理するためのオペレーションを実装し得る。
【0020】
図3を参照すると、オペレーション305で、電子デバイス上で実行するブラウザは、遠隔サービスへの要求を開始する。再度、例示によれば、遠隔サービスは電子商取引サイト等であり得、要求は、サイトが提供するセキュアなサービスにアクセスするための要求であり得る。オペレーション310で、要求は、電子デバイスのユーザからの遠隔サービスで受信される。いくつかの実施形態において、要求は、要求デバイスおよび/またはアプリケーションを一意に識別する識別子を含み得、要求も一意に識別し得る。例えば識別子は、要求が生成された時期を識別するタイムスタンプを含んでもよい。
【0021】
要求に応答して、オペレーション315で、遠隔サービスは証明書、例えばプライベートキーまたはインフラストラクチャキー等をサービス要求へのレスポンスに添付し、オペレーション320で、遠隔サービスは、要求を開始したブラウザにレスポンスを送信する。オペレーション325で、ブラウザはレスポンスを受信する。認証プラグイン222は、レスポンスが証明書を含むことを検出し、それに応答して遠隔サービスとのセキュアな通信セッションを開始および管理するべく、認証モジュール176への要求を開始し、その要求についてのレスポンス(オペレーション320)を転送する。
【0022】
オペレーション330で、セキュアなコントローラにおける認証モジュール176は、遠隔サービスから要求および関連する証明書を受信し、オペレーション335で、セキュアなコントローラにおける認証モジュール176は、証明書を認証する。いくつかの実施形態において、認証モジュール176は、遠隔検証システム260を用いて証明書を認証することができる。
【0023】
証明書が検証されると、オペレーション340で、セキュアなスプライトジェネレータ179は、電子デバイスのディスプレイ上でセキュアなダイアログボックス280を生成する。オペレーション345で、入力/出力モジュール178は、ダイアログボックス280のビットマップにおいて実装された入力/出力オペレーションは、信用できる実行複合体に対してのみ可視になるように、ダイアログボックス280をロックする。ダイアログボックス280がロックされると、ダイアログボックス280において実装された入力/出力オペレーションは、信用できない実行複合体に対して可視にならない。
【0024】
図2を手短に参照すると、いくつかの実施形態において、ダイアログボックス280は、ユーザ名のエントリのための第1のウィンドウ282と、パスワードのエントリのための第2のウィンドウ284とを含み得る。更に、ダイアログボックス280は、ディスプレイ上のキーボード286等の入力機構を含み得る。ユーザは、キーボード286を使用して自身のユーザ名および/またはパスワードを入力してもよい。
【0025】
再び
図3を参照すると、オペレーション350で、セキュアなコントローラにおける認証モジュール176は、ダイアログボックス280を介してユーザから認証入力を受信する。オペレーション355および360で、セキュアな通信接続は、セキュアなコントローラの認証モジュール176と遠隔サービスとの間で確立される。いくつかの実施形態において、セキュアな接続の確立には、暗号キーを交換するためのハンドシェイク手順を伴うことがある。あるいは、仮想プライベートネットワーク(VPN)のトンネリングは、遠隔サービスと認証モジュール176との間で確立してもよい。
【0026】
オペレーション365で、認証モジュール176は、ダイアログボックス280を介して受信されたクレデンシャル(すなわちユーザ名およびパスワードの組み合わせ)を遠隔サービスに転送し、遠隔サービスは、オペレーション370でクレデンシャルを認証する。
【0027】
オペレーション375および380で、セキュアなコントローラおよび遠隔サービスは、セキュアな通信セッションを実行する。いくつかの実施形態において、セキュアな通信セッションは、セキュアな通信セッションにおける入力および出力が、信用できる実行複合体に対してのみ可視になり、従って信用できない実行複合体において実行するマルウェアまたは他のアプリケーションによりスヌープすることができないように、セキュアなスプライトジェネレータ179により生成されたダイアログボックス280を介して行うことができる。
【0028】
通信セッションが終了すると、セキュアなコントローラにおける認証モジュール176は、ダイアログボックス280をリリースして閉じることができ(オペレーション385)、ディスプレイの制御を信用できない実行複合体に返す。
【0029】
上記のように、いくつかの実施形態において、電子デバイスは、コンピュータシステムとして実施してもよい。
図4は、いくつかの実施形態に係る、コンピュータシステム400の概略図である。コンピュータシステム400は、コンピューティングデバイス402および電源アダプタ404(例えば、電力をコンピューティングデバイス402に供給するための)を含む。コンピューティングデバイス402は、ラップトップ(またはノートブック)コンピュータ、携帯情報端末、デスクトップコンピューティングデバイス(例えば、ワークステーションまたはデスクトップコンピュータ)、およびラックマウントコンピューティングデバイス等、任意の好適なコンピューティングデバイスであり得る。
【0030】
電源は、1または複数のバッテリーパック、交流(AC)アウトレット(例えば、変圧器および/または電源アダプタ404等のアダプタを介する)、自動車用電源、および飛行機用電源等のうち1または複数の電源からコンピューティングデバイス402の様々なコンポーネントへと(例えば、コンピューティングデバイス電源406を介して)提供され得る。いくつかの実施形態において、電源アダプタ404は、電源出力(例えば、約110VAC〜240VACのACアウトレット電圧)を約7VDC〜12.6VDCの範囲の直流(DC)電圧に変圧することができる。従って、電源アダプタ404は、AC/DCアダプタであってもよい。
【0031】
コンピューティングデバイス402は、1または複数の中央処理装置(CPU)408も含み得る。いくつかの実施形態において、CPU408は、カリフォルニア州Santa Claraのインテル(登録商標)株式会社から市販されるペンティアム(登録商標)IIプロセッサ群、ペンティアム(登録商標)IIIプロセッサ、ペンティアム(登録商標)IVを含む、ペンティアム(登録商標)群のプロセッサ、コア2デュオプロセッサ、またはアトムプロセッサの1または複数のプロセッサであり得る。あるいは、インテルのアイテニアム(登録商標)、XEON(商標)、およびセレロン(登録商標)プロセッサ等の他のCPUを使用してもよい。また、他の製造者の1または複数のプロセッサを使用してもよい。更には、プロセッサは、シングルコアまたはマルチコアの設計を有していてもよい。
【0032】
チップセット412は、CPU408と結合または一体化してもよい。チップセット412は、メモリ制御ハブ(MCH)414を含み得る。MCH414は、メインシステムメモリ418に結合されたメモリコントローラ416を含み得る。メインシステムメモリ418は、CPU408、またはシステム400に含まれるその他のデバイスにより実行される命令のデータまたはシーケンスを格納する。いくつかの実施形態において、メインシステムメモリ418は、ランダムアクセスメモリ(RAM)を含むが、メインシステムメモリ418は、ダイナミックRAM(DRAM)、およびシンクロナスDRAM(SDRAM)等の他のメモリタイプを使用して実装してもよい。追加のデバイスも、複数のCPUおよび/または複数のシステムメモリ等のバス410に結合してもよい。
【0033】
MCH414は、グラフィックスアクセラレータ422に結合されたグラフィックスインターフェース420も含み得る。いくつかの実施形態において、グラフィックスインターフェース420は、アクセラレーテッドグラフィックスポート(AGP)を介してグラフィックスアクセラレータ422に結合される。いくつかの実施形態において、ディスプレイ(フラットパネルディスプレイ等)440は、例えば、ビデオメモリまたはシステムメモリ等のストレージデバイスに格納された画像のデジタル表現を、ディスプレイにより解釈および表示されるディスプレイ信号に変換する信号変換機を介して、グラフィックスインターフェース420に結合してもよい。ディスプレイデバイスにより生成されるディスプレイ440の信号は、ディスプレイにより解釈され、ディスプレイ上に表示される前に、様々な制御デバイスを通り得る。
【0034】
ハブインターフェース424は、MCH414をプラットフォーム制御ハブ(PCH)426に結合する。PCH426は、コンピュータシステム400に結合された入力/出力(I/O)デバイスにインターフェースを提供する。PCH426は、周辺構成要素相互接続(PCI)バスに結合してもよい。従って、PCH426は、PCIバス430にインターフェースを提供するPCIブリッジ428を含む。PCIブリッジ428は、CPU408と周辺デバイスとの間にデータバスを提供する。更に、カリフォルニア州Santa Claraのインテル(登録商標)株式会社により市販されるPCIエクスプレス(商標)アーキテクチャ等、他のタイプのI/O相互接続トポロジを使用してもよい。
【0035】
PCIバス430は、オーディオデバイス432、および1または複数のディスクドライブ434に結合してもよい。他のデバイスをPCIバス430に結合してもよい。更に、CPU408およびMCH414を組み合わせて単一のチップを形成してもよい。更に、他の実施形態において、グラフィックスアクセラレータ422は、MCH414内に含まれ得る。
【0036】
更に、様々な実施形態において、PCH426に結合された他の周辺機器としては、インテグレーティドドライブエレクトロニクス(IDE)またはスモールコンピュータシステムインターフェース(SCSI)のハードドライブ、ユニバーサルシリアルバス(USB)ポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー(登録商標)ディスクドライブ、およびデジタル出力サポート(例えば、デジタルビデオインターフェース(DVI))等が挙げられ得る。従って、コンピューティングデバイス402は、揮発性および/または不揮発性メモリを含んでもよい。
【0037】
このように、本明細書において、電子デバイスにおいて信用できるサービスインタラクションを実装するためのアーキテクチャおよび関連する方法が説明される。いくつかの実施形態において、アーキテクチャは、遠隔サービスと信用できる実行複合体との間にセキュアな通信を確立するべく、電子デバイスプラットフォームに埋め込まれたハードウェア機能を使用する。実行複合体は、セキュアな通信セッションの少なくとも一部が実行され得るセキュアなダイアログボックスを提示する、信用できる実行複合体において実装され得る。いくつかの実施形態において、信用できる実行複合体は、遠隔のデバイス、例えばドングルにおいて実装され得る。
【0038】
本明細書において言及される「論理命令」という用語は、1または複数の論理オペレーションを実行するための1または複数のマシンにより理解され得る表現に関する。例えば、論理命令は、1または複数のデータオブジェクト上で1または複数のオペレーションを実行するためのプロセッサコンパイラにより解釈可能な命令を含み得る。しかし、これは機械可読命令の単なる例であり、実施形態は、この点において限定されない。
【0039】
本明細書において言及される「コンピュータ可読媒体」という用語は、1または複数のマシンにより理解可能な表現を維持することができる媒体に関する。例えば、コンピュータ可読媒体は、コンピュータ可読命令またはコンピュータ可読データを格納するための1または複数のストレージデバイスを備え得る。そのようなストレージデバイスは、例えば、光、磁気、または半導体のストレージ媒体等のストレージ媒体を備え得る。しかし、これはコンピュータ可読媒体の単なる例であり、実施形態はこの点において限定されない。
【0040】
本明細書において言及される「論理」という用語は、1または複数の論理オペレーションを実行するための構造に関する。例えば、論理は、1または複数の入力信号に基づいて1または複数の出力信号を提供する回路を備え得る。そのような回路は、デジタル入力を受信し、デジタル出力を提供する有限状態の機械、または1または複数のアナログ入力信号に応答して1または複数のアナログ出力信号を提供する回路を備え得る。そのような回路は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)において提供され得る。また、論理は、処理回路と組み合わせてメモリ内に格納された機械可読命令を含み、そのような機械可読命令を実行し得る。しかし、これらは、論理を提供し得る構造の単なる例であり、実施形態はこの点において限定されない。
【0041】
本明細書において説明される方法のいくつかは、コンピュータ可読媒体上に論理命令として実行され得る。プロセッサ上で実行されると、論理命令により、プロセッサは、説明する方法を実装する専用マシンとしてプログラミングされる。プロセッサは、本明細書において説明される方法を実行するための論理命令により構成されると、説明する方法を行うための構造を構成する。あるいは、本明細書において説明される方法は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)等での論理に還元され得る
【0042】
本明細書および特許請求の範囲において、「結合される」および「接続される」という用語は、その派生物と共に用い得る。特定の実施形態において、「接続される」は、2つまたはそれ以上の要素が物理的または電気的に互いに直に接触していることを示すべく、用い得る。「結合される」は、2つまたはそれ以上の要素が物理的または電気的に直に接触していることを意味し得る。しかし、「結合される」は、2つまたはそれ以上の要素が互いに直に接触していないことがあるが、互いになおも共働または相互作用し得ることも意味し得る。
【0043】
本明細書において、「一実施形態」または「いくつかの実施形態」に言及する場合、実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実装に含まれることを意味する。本明細書の様々な箇所で「一実施形態において」の文言が現れる場合、その全てが同一の実施形態を指す場合もあり、指さない場合もある。
【0044】
実施形態は、構造的特徴および/または方法論的動作に特有の言語で説明されるが、特許請求される主題は、記載される特定の特徴または動作に限定し得ないことを理解されたい。むしろ、特定の特徴および動作は、特許請求される主題を実装する見本形態として開示される。
[項目1]
電子デバイスのためのセキュアなコントローラであって、
前記電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信し、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証し、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立し、
セキュアなユーザインターフェースを確立し、
前記セキュアなユーザインターフェースを介してユーザから1または複数の認証クレデンシャルを収集し、
前記1または複数の認証クレデンシャルを前記遠隔サービスに転送し、
前記遠隔サービスとのセキュアな通信セッションを実行する
論理を備えるセキュアなコントローラ。
[項目2]
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、項目1に記載のセキュアなコントローラ。
[項目3]
前記論理は、更に、
前記遠隔サービスから認証のチャレンジを受信し、
ユーザから前記認証のチャレンジに対するレスポンスを受信し、
前記セキュアな通信接続を介して、前記遠隔サービスに対する前記レスポンスを転送する、項目1または2に記載のセキュアなコントローラ。
[項目4]
前記論理は、更に、
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力/出力オペレーションが前記セキュアなコントローラのみに対して可視となるように前記ダイアログボックスをロックし、
入力機構からユーザ入力を受信し、
前記セキュアな通信接続を介して前記ユーザ入力を前記遠隔サービスに転送する、項目1〜3のいずれか1項に記載のセキュアなコントローラ。
[項目5]
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、項目1〜4のいずれか1項に記載のセキュアなコントローラ。
[項目6]
前記論理は、更に、
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立し、
前記セキュアなチャネルを介して、前記ユーザの入力を前記セキュアなコントローラから前記アプリケーションに送信する、項目5に記載のセキュアなコントローラ。
[項目7]
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立するための前記論理は、前記アプリケーションを用いて前記識別子および前記要求を検証するための論理を含む、項目6に記載のセキュアなコントローラ。
[項目8]
電子デバイスであって、
ディスプレイと、
信用できないコンピューティング環境を実装するためのプロセッサと、
前記電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信し、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証し、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立し、
セキュアなユーザインターフェースを確立し、
前記セキュアなユーザインターフェースを介してユーザから1または複数の認証クレデンシャルを収集し、
前記1または複数の認証クレデンシャルを前記遠隔サービスに転送し、
前記遠隔サービスとのセキュアな通信セッションを実行する論理を含む
セキュアなコントローラと
を備える電子デバイス。
[項目9]
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、項目8に記載の電子デバイス。
[項目10]
前記論理は、更に、
前記遠隔サービスから認証のチャレンジを受信し、
ユーザから前記認証のチャレンジに対するレスポンスを受信し、
前記セキュアな通信接続を介して、前記レスポンスを前記遠隔サービスに転送する、項目8または9に記載の電子デバイス。
[項目11]
前記論理は、更に、
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力/出力オペレーションが前記セキュアなコントローラにのみ可視となるように前記ダイアログボックスをロックし、
入力機構からユーザ入力を受信し、
前記セキュアな通信接続を介して、前記ユーザ入力を前記遠隔サービスに転送する、項目8〜10のいずれか1項に記載の電子デバイス。
[項目12]
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、項目8〜11のいずれか1項に記載の電子デバイス。
[項目13]
前記論理は、更に、
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立し、
前記セキュアなチャネルを介して、ユーザ入力を前記セキュアなコントローラから前記アプリケーションに送信する、項目12に記載の電子デバイス。
[項目14]
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立するための前記論理は、前記アプリケーションを用いて前記識別子および前記要求を検証する論理を含む、項目13に記載の電子デバイス。
[項目15]
セキュアなコントローラに
電子デバイスの信用できない実行複合体上で実行するアプリケーションから、遠隔サービスとのセキュアな通信セッションのための要求を受信する手順と、
前記遠隔サービスから受信されたセキュリティクレデンシャルを検証する手順と、
前記セキュアなコントローラと前記遠隔サービスとの間にセキュアな通信接続を確立する手順と、
セキュアなユーザインターフェースを確立する手順と、
前記セキュアなユーザインターフェースを介して、1または複数の認証クレデンシャルをユーザから収集する手順と、
前記1または複数の認証クレデンシャルを前記遠隔サービスに転送する手順と、
前記遠隔サービスとのセキュアな通信セッションを実行する手順と
を実行させるプログラム。
[項目16]
前記セキュアなコントローラに
前記遠隔サービスからセキュリティ証明書を受信する手順と、
前記セキュリティ証明書を検証する手順と
を更に実行させる、項目15に記載のプログラム。
[項目17]
前記セキュアなコントローラに
前記遠隔サービスから認証のチャレンジを受信する手順と、
ユーザから前記認証のチャレンジに対するレスポンスを受信する手順と、
前記セキュアな通信接続を介して、前記遠隔サービスへの前記レスポンスを転送する手順と
を更に実行させる、項目15または16に記載のプログラム。
[項目18]
前記セキュアなコントローラに
前記セキュアなコントローラに結合されたディスプレイデバイスの領域で、ダイアログボックスを定義する手順と、
前記ダイアログボックスにおいて実行される複数の入力/出力オペレーションが前記セキュアなコントローラのみに対して可視となるように前記ダイアログボックスをロックする手順と、
入力機構からユーザ入力を受信する手順と、
前記セキュアな通信接続を介して、前記ユーザ入力を前記遠隔サービスに転送する手順と
を更に実行させる、項目15〜17のいずれか1項に記載のプログラム。
[項目19]
前記ユーザからの信用できる入力のための要求は、前記セキュアなコントローラに結合されたプロセッサ上で実行されるアプリケーションから受信され、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、項目18に記載のプログラム。
[項目20]
前記セキュアなコントローラに
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立する手順と、
前記セキュアなチャネルを介して、前記ユーザ入力を前記セキュアなコントローラから前記アプリケーションに送信する手順と
を更に実行させる、項目19に記載のプログラム。
[項目21]
前記セキュアなコントローラと、前記セキュアなコントローラに結合された前記プロセッサ上で実行する前記アプリケーションとの間にセキュアなチャネルを確立する手順は、前記アプリケーションを用いて前記識別子および前記要求を検証する手順を含む、項目20に記載のプログラム。