JP6274678B2 - Reliable service interaction - Google Patents

Reliable service interaction Download PDF

Info

Publication number
JP6274678B2
JP6274678B2 JP2016158055A JP2016158055A JP6274678B2 JP 6274678 B2 JP6274678 B2 JP 6274678B2 JP 2016158055 A JP2016158055 A JP 2016158055A JP 2016158055 A JP2016158055 A JP 2016158055A JP 6274678 B2 JP6274678 B2 JP 6274678B2
Authority
JP
Japan
Prior art keywords
controller
secure
logic
remote service
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016158055A
Other languages
Japanese (ja)
Other versions
JP2017021813A (en
Inventor
フェガデ、ヴィナイ
ケーヒル、コナー
バクシ、サンジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to JP2016158055A priority Critical patent/JP6274678B2/en
Publication of JP2017021813A publication Critical patent/JP2017021813A/en
Application granted granted Critical
Publication of JP6274678B2 publication Critical patent/JP6274678B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本明細書に記載される主題は、概ね電子デバイスの分野に関し、より詳細には、電子デバイスを使用して、信用できるサービスインタラクションを実装するシステムおよび方法に関する。   The subject matter described herein relates generally to the field of electronic devices, and more particularly to systems and methods for implementing trusted service interactions using electronic devices.

悪意のあるソフトウェア(マルウェア)は、許可されない個人が使用するために、支払いクレデンシャルを含む個人情報を盗むべく使用されることがある。例としては、マルウェアは、ディスプレイになりすまし、またはディスプレイモジュールへの入力をスヌープすることにより、ユーザの秘密入力を盗み得る。支払いクレデンシャルを入手すると、マルウェアまたはそのユーザは、ユーザに代わって不正な取引を行い得る。この脅威は、情報を危険にさらすおそれがあるため、オンラインでの活動を行おうとしない人口の比率に対する影響を有する。これにより、オンライン商取引により得ることができる効率を減少させ、関係する個人が購入する財および役務の量を制限することになり、オンライン商取引の成長に限界を与える可能性がある。   Malicious software (malware) may be used to steal personal information, including payment credentials, for use by unauthorized individuals. As an example, a malware may steal a user's secret input by impersonating a display or snooping input to the display module. Once the payment credentials are obtained, the malware or its user may conduct fraudulent transactions on behalf of the user. This threat has an impact on the proportion of the population that does not attempt to do online activities because it can endanger information. This reduces the efficiency that can be gained through online commerce and limits the amount of goods and services purchased by the individuals involved, which can limit online commerce growth.

これらの問題に対する既存の解決法は、電子デバイスのオペレーティングシステム内にホストされているという事実のゆえに、有用性および/またはセキュリティにおいて限界があり、これが常に脆弱性の問題点であり、または外部に取り付けるハードウェアデバイスを要求し、これにより消費者の使い易さの要因に限界を与える。従って、電子取引に安全なコンピューティング環境を提供するためのシステムおよび技術は、効用を見出し得る。   Existing solutions to these problems are limited in usability and / or security due to the fact that they are hosted within the operating system of the electronic device, which has always been a vulnerability issue or externally Requires a hardware device to install, which limits the ease of use for consumers. Accordingly, systems and techniques for providing a secure computing environment for electronic transactions may find utility.

添付の図面を参照して、詳細な説明は記載される。
いくつかの実施形態に係る、信用できるサービスインタラクションのためのインフラストラクチャを含むように適合され得る、例示的な電子デバイスの概略図である。 いくつかの実施形態に係る、信用できるサービスインタラクションのための例示的なアーキテクチャのハイレベルな概略図である。 いくつかの実施形態に係る、信用できるサービスインタラクションを実装するための方法におけるオペレーションを例示するフローチャートである。 いくつかの実施形態に係る信用できるサービスインタラクションを実装するように適合される電子デバイスの概略図である。
The detailed description is described with reference to the accompanying figures.
1 is a schematic diagram of an example electronic device that may be adapted to include an infrastructure for trusted service interaction, according to some embodiments. FIG. FIG. 3 is a high-level schematic diagram of an example architecture for trusted service interaction, according to some embodiments. 6 is a flowchart illustrating operations in a method for implementing trusted service interactions, according to some embodiments. FIG. 3 is a schematic diagram of an electronic device adapted to implement trusted service interaction according to some embodiments.

本明細書において、電子デバイスに信用できるサービスインタラクションを実装するための例示的なシステムおよび方法が説明される。以下の説明において、様々な実施形態の完全な理解を提供するべく、多くの具体的な詳細が記載される。しかし、具体的な詳細を用いずに様々な実施形態を実施し得ることを当業者は理解するであろう。他の例において、特定の実施形態を不明確にしないようにするべく、周知の方法、手順、構成要素、および回路は、詳細に例示または説明されていない。   Described herein are exemplary systems and methods for implementing trusted service interactions with electronic devices. In the following description, numerous specific details are set forth in order to provide a thorough understanding of various embodiments. However, one of ordinary skill in the art appreciates that various embodiments can be practiced without the specific details. In other instances, well-known methods, procedures, components, and circuits have not been illustrated or described in detail so as not to obscure the specific embodiments.

図1は、いくつかの実施形態に係る、信用できるサービスインタラクションを実装するように適合され得る例示的なシステム100の概略図である。一実施形態において、システム100は、電子デバイス108と、スクリーン104を含むディスプレイ102、1または複数のスピーカ106、キーボード110、1または複数の他のI/Oデバイス112、およびマウス114を有する1または複数の付属する入力/出力デバイスとを備える。他のI/Oデバイス112は、タッチスクリーン、音声起動式入力デバイス、トラックボール、測位デバイス、加速度計/ジャイロスコープ、およびシステム100がユーザからの入力を受信することを可能にするその他のデバイスを含んでもよい。   FIG. 1 is a schematic diagram of an example system 100 that may be adapted to implement trusted service interactions, according to some embodiments. In one embodiment, the system 100 includes an electronic device 108 and a display 102 including a screen 104, one or more speakers 106, a keyboard 110, one or more other I / O devices 112, and a mouse 114. A plurality of attached input / output devices. Other I / O devices 112 include touch screens, voice activated input devices, trackballs, positioning devices, accelerometers / gyroscopes, and other devices that allow the system 100 to receive input from the user. May be included.

様々な実施形態において、電子デバイス108は、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末、携帯電話、エンタテインメントデバイス、または別のコンピューティングデバイスとして実施し得る。電子デバイス108は、システムハードウェア120およびメモリ130を含み、これは、ランダムアクセスメモリおよび/またはリードオンリメモリとして実装され得る。ファイルストア180は、コンピューティングデバイス108に通信的に結合され得る。ファイルストア180は、例えば1または複数のハードドライブ、CD‐ROMドライブ、DVD‐ROMドライブ、または他のタイプのストレージデバイスなど、コンピューティングデバイス108の内部にあってもよい。ファイルストア180は、例えば1または複数の外部ハードドライブ、ネットワーク接続したストレージ、またはクラウドストレージネットワーク等の別個のストレージネットワークなど、コンピュータ108の外部にあってもよい。   In various embodiments, electronic device 108 may be implemented as a personal computer, laptop computer, personal digital assistant, mobile phone, entertainment device, or another computing device. The electronic device 108 includes system hardware 120 and memory 130, which may be implemented as random access memory and / or read only memory. File store 180 may be communicatively coupled to computing device 108. The file store 180 may be internal to the computing device 108, such as one or more hard drives, CD-ROM drives, DVD-ROM drives, or other types of storage devices. The file store 180 may be external to the computer 108, such as one or more external hard drives, a networked storage, or a separate storage network such as a cloud storage network.

システムハードウェア120は、1または複数のプロセッサ122、グラフィックスプロセッサ124、ネットワークインターフェース126、およびバス構造128を含み得る。一実施形態において、プロセッサ122は、米国カリフォルニア州Santa Claraのインテル株式会社から市販されるインテル(登録商標)コア2デュオ(登録商標)プロセッサとして実装され得る。本明細書において使用するように、「プロセッサ」という用語は、マイクロプロセッサ、マイクロコントローラ、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セット(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他のタイプのプロセッサもしくは処理回路等であるが、これらに限定されないいずれのタイプの計算要素も意味する。   The system hardware 120 may include one or more processors 122, a graphics processor 124, a network interface 126, and a bus structure 128. In one embodiment, the processor 122 may be implemented as an Intel® Core 2 Duo® processor commercially available from Intel Corporation of Santa Clara, California. As used herein, the term “processor” refers to a microprocessor, microcontroller, complex instruction set computing (CISC) microprocessor, reduced instruction set (RISC) microprocessor, very long instruction word (VLIW) microprocessor. It refers to any type of computing element, such as but not limited to a processor, or any other type of processor or processing circuit.

グラフィックスプロセッサ124は、グラフィックスオペレーションおよび/またはビデオオペレーションを管理するアジャンクトプロセッサとして機能することができる。グラフィックスプロセッサ124は、プロセッサ122のパッケージング内、もしくはコンピューティングシステム100のマザーボード上に一体化してもよく、またはマザーボード上の拡張スロットを介して結合してもよい。   Graphics processor 124 may function as an adjunct processor that manages graphics operations and / or video operations. Graphics processor 124 may be integrated within the packaging of processor 122 or on the motherboard of computing system 100, or may be coupled through an expansion slot on the motherboard.

一実施形態において、ネットワークインターフェース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月を参照)であろう。   In one embodiment, the network interface 126 is a wired interface, such as an Ethernet interface (see, eg, the Institute of Electrical and Electronics Engineers / IEEE 802.3-2002), or an interface compliant with IEEE 802.11a, b, or g. (For example, the IEEE standard for IT communication and information exchange between LAN / MAN systems-Part 2: wireless LAN medium access control (MAC) and physical layer (PHY) specification amendments 4, more in 2.4 GHz band It may be a wireless interface such as a high data rate extension, see 802.11G-2003). Another example of a wireless interface is the General Packet Radio Service (GPRS) interface (eg, Guidelines for GPRS Handset Requirements, Global System for Wireless Communications / GSM Association, 3.0.1 Edition, 2002 12 See the moon).

バス構造128は、システムハードウェア128の様々なコンポーネントを接続する。一実施形態において、バス構造128は、メモリバス、周辺バス、もしくは外部バス、ならびに/または11ビットバス、工業規格アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェントドライブエレクトロニクス(IDE)、VESAローカルバス(VLB)、周辺構成要素相互接続(PCI)、ユニバーサルシリアルバス(USB)、アドバンストグラッフィックスポート(AGP)、パーソナルコンピュータメモリカード国際協会(PCMCIA)バス、およびスモールコンピュータシステムインターフェース(SCSI)を含むが、これらに限定されない利用可能な様々なバスアーキテクチャを使用するローカルバスのうちのいくつかのタイプのバス構造の1または複数であってもよい。   Bus structure 128 connects the various components of system hardware 128. In one embodiment, the bus structure 128 includes a memory bus, peripheral bus, or external bus, and / or an 11-bit bus, industry standard architecture (ISA), microchannel architecture (MSA), extended ISA (EISA), intelligent drive electronics. (IDE), VESA local bus (VLB), peripheral component interconnect (PCI), universal serial bus (USB), advanced graphics port (AGP), Personal Computer Memory Card International Association (PCMCIA) bus, and small computer system interface (SCSI) one or more of several types of bus structures among local buses using various available bus architectures including, but not limited to: It may be.

メモリ130は、コンピューティングデバイス108のオペレーションを管理するためのオペレーティングシステム140を含み得る。一実施形態において、オペレーティングシステム140は、システムハードウェア120にインターフェースを提供するハードウェアインターフェースモジュール154を含む。更に、オペレーティングシステム140は、コンピューティングデバイス108のオペレーションにおいて使用されるファイルを管理するファイルシステム150と、コンピューティングデバイス108上で実行する処理を管理する処理制御サブシステム152とを含んでもよい。   Memory 130 may include an operating system 140 for managing the operation of computing device 108. In one embodiment, the operating system 140 includes a hardware interface module 154 that provides an interface to the system hardware 120. Further, the operating system 140 may include a file system 150 that manages files used in the operation of the computing device 108 and a process control subsystem 152 that manages the processes that execute on the computing device 108.

オペレーティングシステム140は、システムハードウェア120と共に動作し、遠隔リソースからのデータパケットおよび/またはデータストリームを送受信し得る、1または複数の通信インターフェースを含み(または管理し)得る。オペレーティングシステム140は、オペレーティングシステム140とメモリ130内に常駐する1または複数のアプリケーションモジュールとの間にインターフェースを提供する、システム呼出しインターフェースモジュール142を更に含み得る。オペレーティングシステム140は、UNIX(登録商標)オペレーティングシステムもしくはそのいずれかの派生物(例えばLinux(登録商標)、Solaris等)、またはウィンドウズ(登録商標)ブランドのオペレーティングシステム、または他のオペレーティングシステムとして実施してもよい。   The operating system 140 may include (or manage) one or more communication interfaces that operate with the system hardware 120 and may send and receive data packets and / or data streams from remote resources. The operating system 140 may further include a system call interface module 142 that provides an interface between the operating system 140 and one or more application modules that reside in the memory 130. The operating system 140 may be implemented as a UNIX® operating system or any derivative thereof (eg, Linux®, Solaris, etc.), a Windows® operating system, or other operating system. May be.

いくつかの実施形態において、システム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をセキュアな状態、すなわち、ハッカーによる攻撃に対して耐性を有するようにさせ得る。   In some embodiments, the system 100 may comprise a low power embedded processor, referred to herein as a trusted execution complex 170. The trusted execution complex 170 may be implemented as a separate integrated circuit located on the system 100 motherboard. In the embodiment illustrated in FIG. 1, the trusted execution complex 170 includes a processor 172, a memory module 174, an authentication module 176, an I / O module 178, and a secure sprite generator 179. In some embodiments, the memory module 164 may comprise a persistent flash memory module, and the authentication module 174 may be implemented as a logical instruction encoded in a persistent memory module, such as firmware or software. The I / O module 178 may comprise a serial I / O module or a parallel I / O module. Since the trusted execution complex 170 is physically separate from the main processor 122 and the operating system 140, the trusted execution complex 170 is secured in a secure state, ie, attack by hackers, so that it cannot be tampered with. May have.

いくつかの実施形態において、信用できる実行複合体は、ホスト電子デバイスと遠隔のコンピューティングデバイス、例えばオンライン商取引サイト等との間の1または複数の取引のための信用できるサービスインタラクションを確実にするべく、使用され得る。図2は、いくつかの実施形態に係る、信用できるサービスインタラクションのための例示的なアーキテクチャのハイレベルな概略図である。図2を参照すると、ホストデバイス210は、信用できない実行複合体および信用できる実行複合体を有するものとして特徴付けられ得る。ホストデバイス210をシステム100として実施する場合、信用できる実行複合体は、信用できる実行複合体170により実装され得るが、信用できない実行複合体は、システム100のメインプロセッサ122およびオペレーティングシステム140により実装され得る。いくつかの実施形態において、信用できる実行複合体は、メインプロセッサ122のセキュアな部分において実装され得る。   In some embodiments, the trusted execution complex is to ensure trusted service interaction for one or more transactions between the host electronic device and a remote computing device, such as an online commerce site. Can be used. FIG. 2 is a high-level schematic diagram of an exemplary architecture for trusted service interaction, according to some embodiments. Referring to FIG. 2, host device 210 may be characterized as having an untrusted execution complex and a trusted execution complex. When host device 210 is implemented as system 100, the trusted execution complex can be implemented by trusted execution complex 170, while the untrusted execution complex is implemented by main processor 122 and operating system 140 of system 100. obtain. In some embodiments, the trusted execution complex can be implemented in a secure portion of the main processor 122.

図2において例示するように、取引を開始する遠隔のエンティティは、図2において取引システムとして識別され、電子商取引ウェブサイト等として実施され、通信ネットワーク240を介してホストデバイスに結合することができる。使用するときに、電子デバイス108の所有者またはオペレータは、ネットワークを介して、ブラウザ220または他のアプリケーションソフトウェアを使用して取引システム250にアクセスし、システム250上でセキュアな取引を開始することができる。   As illustrated in FIG. 2, the remote entity that initiates the transaction is identified as a transaction system in FIG. 2, implemented as an electronic commerce website or the like, and can be coupled to the host device via the communication network 240. In use, the owner or operator of the electronic device 108 may access the trading system 250 using the browser 220 or other application software over the network and initiate a secure transaction on the system 250. it can.

認証モジュール176は、単体で、または認証プラグイン222、入力/出力モジュール178、およびセキュアなスプライトジェネレータ179と組み合わせて、ダイアログボックス280を介して、信用できるサービスインタラクションを確実にするための手順を実装し得る。   The authentication module 176 implements procedures to ensure reliable service interaction, either alone or in combination with the authentication plug-in 222, the input / output module 178, and the secure sprite generator 179 via the dialog box 280. Can do.

信用できるサービスインタラクションを実装するための様々な構造のシステムを説明したので、いくつかの実施形態に係る、信用できるサービスインタラクションを実装するための方法におけるオペレーションを例示するフローチャートである、図3を参照してシステムの動作態様を説明する。いくつかの実施形態において、図3のフローチャートに図示したオペレーションは、単体で、または他のモジュールと組み合わせて、信用できる実行複合体170の認証モジュール176により実装され得る。   Having described various structured systems for implementing trusted service interactions, see FIG. 3, which is a flowchart illustrating operations in a method for implementing trusted service interactions, according to some embodiments. The operation mode of the system will be described. In some embodiments, the operations illustrated in the flowchart of FIG. 3 may be implemented by the authentication module 176 of the trusted execution complex 170 alone or in combination with other modules.

概観としては、いくつかの実施形態において、電子デバイスは、信用できない実行複合体、例えばブラウザにおいて実行するアプリケーションからのインターネット商取引サービス等、遠隔サービスへのサービス要求を開始し得る。サービス要求に応答して、遠隔サービスは、電子デバイスにクレデンシャルを提供することができる。遠隔サービスからのクレデンシャルの受信に応答して、プラグインモジュール222は、信用できる実行複合体における認証モジュール176から認証サービスを呼び出すことができる。いくつかの実施形態において、認証サービスは、遠隔サービスとの通信セッションを管理するためのオペレーションを実装し得る。   As an overview, in some embodiments, an electronic device may initiate a service request to a remote service, such as an Internet commerce service from an untrusted execution complex, eg, an application executing in a browser. In response to the service request, the remote service can provide the credentials to the electronic device. In response to receiving credentials from the remote service, the plug-in module 222 can invoke the authentication service from the authentication module 176 in the trusted execution complex. In some embodiments, the authentication service may implement operations for managing a communication session with a remote service.

図3を参照すると、オペレーション305で、電子デバイス上で実行するブラウザは、遠隔サービスへの要求を開始する。再度、例示によれば、遠隔サービスは電子商取引サイト等であり得、要求は、サイトが提供するセキュアなサービスにアクセスするための要求であり得る。オペレーション310で、要求は、電子デバイスのユーザからの遠隔サービスで受信される。いくつかの実施形態において、要求は、要求デバイスおよび/またはアプリケーションを一意に識別する識別子を含み得、要求も一意に識別し得る。例えば識別子は、要求が生成された時期を識別するタイムスタンプを含んでもよい。   Referring to FIG. 3, at operation 305, a browser executing on the electronic device initiates a request for a remote service. Again, by way of example, the remote service can be an electronic commerce site or the like, and the request can be a request to access a secure service provided by the site. At operation 310, the request is received at a remote service from a user of the electronic device. In some embodiments, the request may include an identifier that uniquely identifies the requesting device and / or application, and the request may also be uniquely identified. For example, the identifier may include a time stamp that identifies when the request was generated.

要求に応答して、オペレーション315で、遠隔サービスは証明書、例えばプライベートキーまたはインフラストラクチャキー等をサービス要求へのレスポンスに添付し、オペレーション320で、遠隔サービスは、要求を開始したブラウザにレスポンスを送信する。オペレーション325で、ブラウザはレスポンスを受信する。認証プラグイン222は、レスポンスが証明書を含むことを検出し、それに応答して遠隔サービスとのセキュアな通信セッションを開始および管理するべく、認証モジュール176への要求を開始し、その要求についてのレスポンス(オペレーション320)を転送する。   In response to the request, at operation 315, the remote service attaches a certificate, such as a private key or infrastructure key, to the response to the service request, and at operation 320, the remote service sends a response to the browser that initiated the request. Send. In operation 325, the browser receives a response. Authentication plug-in 222 detects that the response includes a certificate, and in response initiates a request to authentication module 176 to initiate and manage a secure communication session with the remote service. Transfer the response (operation 320).

オペレーション330で、セキュアなコントローラにおける認証モジュール176は、遠隔サービスから要求および関連する証明書を受信し、オペレーション335で、セキュアなコントローラにおける認証モジュール176は、証明書を認証する。いくつかの実施形態において、認証モジュール176は、遠隔検証システム260を用いて証明書を認証することができる。   At operation 330, the authentication module 176 at the secure controller receives the request and associated certificate from the remote service, and at operation 335, the authentication module 176 at the secure controller authenticates the certificate. In some embodiments, the authentication module 176 can authenticate the certificate using the remote verification system 260.

証明書が検証されると、オペレーション340で、セキュアなスプライトジェネレータ179は、電子デバイスのディスプレイ上でセキュアなダイアログボックス280を生成する。オペレーション345で、入力/出力モジュール178は、ダイアログボックス280のビットマップにおいて実装された入力/出力オペレーションは、信用できる実行複合体に対してのみ可視になるように、ダイアログボックス280をロックする。ダイアログボックス280がロックされると、ダイアログボックス280において実装された入力/出力オペレーションは、信用できない実行複合体に対して可視にならない。   Once the certificate is verified, at operation 340, the secure sprite generator 179 generates a secure dialog box 280 on the display of the electronic device. At operation 345, input / output module 178 locks dialog box 280 such that input / output operations implemented in the bitmap of dialog box 280 are visible only to trusted execution complexes. When dialog box 280 is locked, input / output operations implemented in dialog box 280 are not visible to untrusted execution complexes.

図2を手短に参照すると、いくつかの実施形態において、ダイアログボックス280は、ユーザ名のエントリのための第1のウィンドウ282と、パスワードのエントリのための第2のウィンドウ284とを含み得る。更に、ダイアログボックス280は、ディスプレイ上のキーボード286等の入力機構を含み得る。ユーザは、キーボード286を使用して自身のユーザ名および/またはパスワードを入力してもよい。   Referring briefly to FIG. 2, in some embodiments, the dialog box 280 may include a first window 282 for entry of a username and a second window 284 for entry of a password. Further, the dialog box 280 may include an input mechanism such as a keyboard 286 on the display. The user may enter his username and / or password using keyboard 286.

再び図3を参照すると、オペレーション350で、セキュアなコントローラにおける認証モジュール176は、ダイアログボックス280を介してユーザから認証入力を受信する。オペレーション355および360で、セキュアな通信接続は、セキュアなコントローラの認証モジュール176と遠隔サービスとの間で確立される。いくつかの実施形態において、セキュアな接続の確立には、暗号キーを交換するためのハンドシェイク手順を伴うことがある。あるいは、仮想プライベートネットワーク(VPN)のトンネリングは、遠隔サービスと認証モジュール176との間で確立してもよい。   Referring back to FIG. 3, at operation 350, the authentication module 176 at the secure controller receives authentication input from the user via the dialog box 280. In operations 355 and 360, a secure communication connection is established between the secure controller authentication module 176 and the remote service. In some embodiments, establishing a secure connection may involve a handshake procedure for exchanging cryptographic keys. Alternatively, virtual private network (VPN) tunneling may be established between the remote service and the authentication module 176.

オペレーション365で、認証モジュール176は、ダイアログボックス280を介して受信されたクレデンシャル(すなわちユーザ名およびパスワードの組み合わせ)を遠隔サービスに転送し、遠隔サービスは、オペレーション370でクレデンシャルを認証する。   At operation 365, authentication module 176 forwards the credentials (ie, username and password combination) received via dialog box 280 to the remote service, which authenticates the credentials at operation 370.

オペレーション375および380で、セキュアなコントローラおよび遠隔サービスは、セキュアな通信セッションを実行する。いくつかの実施形態において、セキュアな通信セッションは、セキュアな通信セッションにおける入力および出力が、信用できる実行複合体に対してのみ可視になり、従って信用できない実行複合体において実行するマルウェアまたは他のアプリケーションによりスヌープすることができないように、セキュアなスプライトジェネレータ179により生成されたダイアログボックス280を介して行うことができる。   At operations 375 and 380, the secure controller and remote service perform a secure communication session. In some embodiments, a secure communication session is a malware or other application where the inputs and outputs in the secure communication session are only visible to the trusted execution complex and thus run in the untrusted execution complex Can be done via the dialog box 280 generated by the secure sprite generator 179 so that it cannot be snooped by.

通信セッションが終了すると、セキュアなコントローラにおける認証モジュール176は、ダイアログボックス280をリリースして閉じることができ(オペレーション385)、ディスプレイの制御を信用できない実行複合体に返す。   When the communication session ends, the authentication module 176 at the secure controller can release and close the dialog box 280 (operation 385), returning display control to the untrusted execution complex.

上記のように、いくつかの実施形態において、電子デバイスは、コンピュータシステムとして実施してもよい。図4は、いくつかの実施形態に係る、コンピュータシステム400の概略図である。コンピュータシステム400は、コンピューティングデバイス402および電源アダプタ404(例えば、電力をコンピューティングデバイス402に供給するための)を含む。コンピューティングデバイス402は、ラップトップ(またはノートブック)コンピュータ、携帯情報端末、デスクトップコンピューティングデバイス(例えば、ワークステーションまたはデスクトップコンピュータ)、およびラックマウントコンピューティングデバイス等、任意の好適なコンピューティングデバイスであり得る。   As noted above, in some embodiments, the electronic device may be implemented as a computer system. FIG. 4 is a schematic diagram of a computer system 400 according to some embodiments. Computer system 400 includes a computing device 402 and a power adapter 404 (eg, for supplying power to computing device 402). The computing device 402 is any suitable computing device, such as a laptop (or notebook) computer, a personal digital assistant, a desktop computing device (eg, a workstation or desktop computer), and a rack mount computing device. obtain.

電源は、1または複数のバッテリーパック、交流(AC)アウトレット(例えば、変圧器および/または電源アダプタ404等のアダプタを介する)、自動車用電源、および飛行機用電源等のうち1または複数の電源からコンピューティングデバイス402の様々なコンポーネントへと(例えば、コンピューティングデバイス電源406を介して)提供され得る。いくつかの実施形態において、電源アダプタ404は、電源出力(例えば、約110VAC〜240VACのACアウトレット電圧)を約7VDC〜12.6VDCの範囲の直流(DC)電圧に変圧することができる。従って、電源アダプタ404は、AC/DCアダプタであってもよい。   The power source is from one or more power sources among one or more battery packs, alternating current (AC) outlets (e.g., via an adapter such as a transformer and / or power adapter 404), an automotive power source, an aircraft power source, etc. It can be provided to various components of computing device 402 (eg, via computing device power supply 406). In some embodiments, the power adapter 404 can transform a power output (eg, an AC outlet voltage of about 110 VAC to 240 VAC) to a direct current (DC) voltage in the range of about 7 VDC to 12.6 VDC. Therefore, the power adapter 404 may be an AC / DC adapter.

コンピューティングデバイス402は、1または複数の中央処理装置(CPU)408も含み得る。いくつかの実施形態において、CPU408は、カリフォルニア州Santa Claraのインテル(登録商標)株式会社から市販されるペンティアム(登録商標)IIプロセッサ群、ペンティアム(登録商標)IIIプロセッサ、ペンティアム(登録商標)IVを含む、ペンティアム(登録商標)群のプロセッサ、コア2デュオプロセッサ、またはアトムプロセッサの1または複数のプロセッサであり得る。あるいは、インテルのアイテニアム(登録商標)、XEON(商標)、およびセレロン(登録商標)プロセッサ等の他のCPUを使用してもよい。また、他の製造者の1または複数のプロセッサを使用してもよい。更には、プロセッサは、シングルコアまたはマルチコアの設計を有していてもよい。   Computing device 402 may also include one or more central processing units (CPUs) 408. In some embodiments, the CPU 408 uses a Pentium® II processor family, a Pentium® III processor, a Pentium® IV, commercially available from Intel® Corporation of Santa Clara, Calif. It may be one or more processors of a Pentium® family of processors, a core 2 duo processor, or an atom processor. Alternatively, other CPUs such as Intel's Itanium (R), XEON (TM), and Celeron (R) processors may be used. One or more processors from other manufacturers may also be used. Furthermore, the processor may have a single-core or multi-core design.

チップセット412は、CPU408と結合または一体化してもよい。チップセット412は、メモリ制御ハブ(MCH)414を含み得る。MCH414は、メインシステムメモリ418に結合されたメモリコントローラ416を含み得る。メインシステムメモリ418は、CPU408、またはシステム400に含まれるその他のデバイスにより実行される命令のデータまたはシーケンスを格納する。いくつかの実施形態において、メインシステムメモリ418は、ランダムアクセスメモリ(RAM)を含むが、メインシステムメモリ418は、ダイナミックRAM(DRAM)、およびシンクロナスDRAM(SDRAM)等の他のメモリタイプを使用して実装してもよい。追加のデバイスも、複数のCPUおよび/または複数のシステムメモリ等のバス410に結合してもよい。   The chipset 412 may be combined with or integrated with the CPU 408. Chipset 412 may include a memory control hub (MCH) 414. The MCH 414 may include a memory controller 416 that is coupled to the main system memory 418. Main system memory 418 stores data or sequences of instructions executed by CPU 408 or other devices included in system 400. In some embodiments, main system memory 418 includes random access memory (RAM), but main system memory 418 uses other memory types such as dynamic RAM (DRAM) and synchronous DRAM (SDRAM). May be implemented. Additional devices may also be coupled to the bus 410, such as multiple CPUs and / or multiple system memories.

MCH414は、グラフィックスアクセラレータ422に結合されたグラフィックスインターフェース420も含み得る。いくつかの実施形態において、グラフィックスインターフェース420は、アクセラレーテッドグラフィックスポート(AGP)を介してグラフィックスアクセラレータ422に結合される。いくつかの実施形態において、ディスプレイ(フラットパネルディスプレイ等)440は、例えば、ビデオメモリまたはシステムメモリ等のストレージデバイスに格納された画像のデジタル表現を、ディスプレイにより解釈および表示されるディスプレイ信号に変換する信号変換機を介して、グラフィックスインターフェース420に結合してもよい。ディスプレイデバイスにより生成されるディスプレイ440の信号は、ディスプレイにより解釈され、ディスプレイ上に表示される前に、様々な制御デバイスを通り得る。   The MCH 414 may also include a graphics interface 420 coupled to the graphics accelerator 422. In some embodiments, the graphics interface 420 is coupled to the graphics accelerator 422 via an accelerated graphics port (AGP). In some embodiments, a display (such as a flat panel display) 440 converts a digital representation of an image stored in a storage device, such as a video memory or system memory, into a display signal that is interpreted and displayed by the display. It may be coupled to the graphics interface 420 via a signal converter. The display 440 signal generated by the display device may be interpreted by the display and passed through various control devices before being displayed on the display.

ハブインターフェース424は、MCH414をプラットフォーム制御ハブ(PCH)426に結合する。PCH426は、コンピュータシステム400に結合された入力/出力(I/O)デバイスにインターフェースを提供する。PCH426は、周辺構成要素相互接続(PCI)バスに結合してもよい。従って、PCH426は、PCIバス430にインターフェースを提供するPCIブリッジ428を含む。PCIブリッジ428は、CPU408と周辺デバイスとの間にデータバスを提供する。更に、カリフォルニア州Santa Claraのインテル(登録商標)株式会社により市販されるPCIエクスプレス(商標)アーキテクチャ等、他のタイプのI/O相互接続トポロジを使用してもよい。   Hub interface 424 couples MCH 414 to a platform control hub (PCH) 426. PCH 426 provides an interface to input / output (I / O) devices coupled to computer system 400. PCH 426 may be coupled to a peripheral component interconnect (PCI) bus. Accordingly, the PCH 426 includes a PCI bridge 428 that provides an interface to the PCI bus 430. The PCI bridge 428 provides a data bus between the CPU 408 and peripheral devices. In addition, other types of I / O interconnect topologies may be used, such as the PCI Express ™ architecture marketed by Intel® Corporation of Santa Clara, California.

PCIバス430は、オーディオデバイス432、および1または複数のディスクドライブ434に結合してもよい。他のデバイスをPCIバス430に結合してもよい。更に、CPU408およびMCH414を組み合わせて単一のチップを形成してもよい。更に、他の実施形態において、グラフィックスアクセラレータ422は、MCH414内に含まれ得る。   The PCI bus 430 may be coupled to the audio device 432 and one or more disk drives 434. Other devices may be coupled to the PCI bus 430. Further, the CPU 408 and the MCH 414 may be combined to form a single chip. Further, in other embodiments, graphics accelerator 422 may be included within MCH 414.

更に、様々な実施形態において、PCH426に結合された他の周辺機器としては、インテグレーティドドライブエレクトロニクス(IDE)またはスモールコンピュータシステムインターフェース(SCSI)のハードドライブ、ユニバーサルシリアルバス(USB)ポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー(登録商標)ディスクドライブ、およびデジタル出力サポート(例えば、デジタルビデオインターフェース(DVI))等が挙げられ得る。従って、コンピューティングデバイス402は、揮発性および/または不揮発性メモリを含んでもよい。   Further, in various embodiments, other peripheral devices coupled to PCH 426 include integrated drive electronics (IDE) or small computer system interface (SCSI) hard drive, universal serial bus (USB) port, keyboard, Examples include a mouse, a parallel port, a serial port, a floppy disk drive, and a digital output support (eg, digital video interface (DVI)). Accordingly, the computing device 402 may include volatile and / or nonvolatile memory.

このように、本明細書において、電子デバイスにおいて信用できるサービスインタラクションを実装するためのアーキテクチャおよび関連する方法が説明される。いくつかの実施形態において、アーキテクチャは、遠隔サービスと信用できる実行複合体との間にセキュアな通信を確立するべく、電子デバイスプラットフォームに埋め込まれたハードウェア機能を使用する。実行複合体は、セキュアな通信セッションの少なくとも一部が実行され得るセキュアなダイアログボックスを提示する、信用できる実行複合体において実装され得る。いくつかの実施形態において、信用できる実行複合体は、遠隔のデバイス、例えばドングルにおいて実装され得る。   Thus, described herein are architectures and associated methods for implementing trusted service interactions in electronic devices. In some embodiments, the architecture uses hardware functionality embedded in the electronic device platform to establish secure communication between the remote service and the trusted execution complex. The execution complex can be implemented in a trusted execution complex that presents a secure dialog box in which at least a portion of the secure communication session can be executed. In some embodiments, the trusted execution complex may be implemented in a remote device, such as a dongle.

本明細書において言及される「論理命令」という用語は、1または複数の論理オペレーションを実行するための1または複数のマシンにより理解され得る表現に関する。例えば、論理命令は、1または複数のデータオブジェクト上で1または複数のオペレーションを実行するためのプロセッサコンパイラにより解釈可能な命令を含み得る。しかし、これは機械可読命令の単なる例であり、実施形態は、この点において限定されない。   The term “logical instructions” as referred to herein relates to expressions that can be understood by one or more machines for performing one or more logical operations. For example, logical instructions may include instructions that can be interpreted by a processor compiler for performing one or more operations on one or more data objects. However, this is merely an example of machine-readable instructions and embodiments are not limited in this respect.

本明細書において言及される「コンピュータ可読媒体」という用語は、1または複数のマシンにより理解可能な表現を維持することができる媒体に関する。例えば、コンピュータ可読媒体は、コンピュータ可読命令またはコンピュータ可読データを格納するための1または複数のストレージデバイスを備え得る。そのようなストレージデバイスは、例えば、光、磁気、または半導体のストレージ媒体等のストレージ媒体を備え得る。しかし、これはコンピュータ可読媒体の単なる例であり、実施形態はこの点において限定されない。   The term “computer-readable medium” as referred to herein relates to media capable of maintaining expressions which are understandable by one or more machines. For example, a computer readable medium may comprise one or more storage devices for storing computer readable instructions or computer readable data. Such a storage device may comprise a storage medium such as, for example, an optical, magnetic, or semiconductor storage medium. However, this is merely an example of a computer readable medium and embodiments are not limited in this respect.

本明細書において言及される「論理」という用語は、1または複数の論理オペレーションを実行するための構造に関する。例えば、論理は、1または複数の入力信号に基づいて1または複数の出力信号を提供する回路を備え得る。そのような回路は、デジタル入力を受信し、デジタル出力を提供する有限状態の機械、または1または複数のアナログ入力信号に応答して1または複数のアナログ出力信号を提供する回路を備え得る。そのような回路は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)において提供され得る。また、論理は、処理回路と組み合わせてメモリ内に格納された機械可読命令を含み、そのような機械可読命令を実行し得る。しかし、これらは、論理を提供し得る構造の単なる例であり、実施形態はこの点において限定されない。   The term “logic” as referred to herein relates to a structure for performing one or more logical operations. For example, the logic may comprise circuitry that provides one or more output signals based on one or more input signals. Such circuitry may comprise a finite state machine that receives the digital input and provides a digital output, or a circuit that provides one or more analog output signals in response to the one or more analog input signals. Such circuits can be provided in application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). The logic may also include machine-readable instructions stored in memory in combination with processing circuitry to execute such machine-readable instructions. However, these are merely examples of structures that can provide logic, and embodiments are not limited in this respect.

本明細書において説明される方法のいくつかは、コンピュータ可読媒体上に論理命令として実行され得る。プロセッサ上で実行されると、論理命令により、プロセッサは、説明する方法を実装する専用マシンとしてプログラミングされる。プロセッサは、本明細書において説明される方法を実行するための論理命令により構成されると、説明する方法を行うための構造を構成する。あるいは、本明細書において説明される方法は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)等での論理に還元され得る   Some of the methods described herein may be performed as logical instructions on a computer-readable medium. When executed on a processor, the logic instructions program the processor as a dedicated machine that implements the methods described. When configured with logical instructions to perform the methods described herein, the processor forms a structure for performing the described methods. Alternatively, the methods described herein may be reduced to logic such as in a field programmable gate array (FPGA) or application specific integrated circuit (ASIC).

本明細書および特許請求の範囲において、「結合される」および「接続される」という用語は、その派生物と共に用い得る。特定の実施形態において、「接続される」は、2つまたはそれ以上の要素が物理的または電気的に互いに直に接触していることを示すべく、用い得る。「結合される」は、2つまたはそれ以上の要素が物理的または電気的に直に接触していることを意味し得る。しかし、「結合される」は、2つまたはそれ以上の要素が互いに直に接触していないことがあるが、互いになおも共働または相互作用し得ることも意味し得る。   In this specification and in the claims, the terms “coupled” and “connected” may be used with their derivatives. In certain embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements may not be in direct contact with each other, but may still cooperate or interact with each other.

本明細書において、「一実施形態」または「いくつかの実施形態」に言及する場合、実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実装に含まれることを意味する。本明細書の様々な箇所で「一実施形態において」の文言が現れる場合、その全てが同一の実施形態を指す場合もあり、指さない場合もある。   In this specification, references to "one embodiment" or "some embodiments" indicate that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation. means. When the phrase “in one embodiment” appears in various places in the specification, all of it may or may not refer to the same embodiment.

実施形態は、構造的特徴および/または方法論的動作に特有の言語で説明されるが、特許請求される主題は、記載される特定の特徴または動作に限定し得ないことを理解されたい。むしろ、特定の特徴および動作は、特許請求される主題を実装する見本形態として開示される。
[項目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に記載のプログラム。
Although embodiments are described in language specific to structural features and / or methodological operations, it is to be understood that the claimed subject matter may not be limited to the specific features or operations described. Rather, the specific features and acts are disclosed as sample forms of implementing the claimed subject matter.
[Item 1]
A secure controller for an electronic device,
Receiving a request for a secure communication session with a remote service from an application executing on the untrusted execution complex of the electronic device;
Verifying security credentials received from the remote service;
Establishing a secure communication connection between the secure controller and the remote service;
Establish a secure user interface,
Collect one or more authentication credentials from the user via the secure user interface;
Transferring the one or more authentication credentials to the remote service;
A secure controller comprising logic for executing a secure communication session with the remote service.
[Item 2]
The logic further includes:
Receiving a security certificate from the remote service;
Item 2. The secure controller according to item 1, wherein the security certificate is verified.
[Item 3]
The logic further includes:
Receiving an authentication challenge from the remote service;
Receiving a response to the authentication challenge from the user;
Item 3. The secure controller according to item 1 or 2, wherein the response to the remote service is transferred via the secure communication connection.
[Item 4]
The logic further includes:
Define a dialog box in the area of the display device coupled to the secure controller,
Lock the dialog box such that multiple input / output operations performed in the dialog box are only visible to the secure controller;
Receive user input from the input mechanism,
Item 4. The secure controller of any one of items 1-3, wherein the user input is transferred to the remote service via the secure communication connection.
[Item 5]
A request for trusted input from the user is received from an application executing on a processor coupled to the secure controller;
Item 5. The secure controller of any of items 1-4, wherein the request includes an identifier that uniquely identifies the application and the request.
[Item 6]
The logic further includes:
Establishing a secure channel between the secure controller and the application executing on the processor coupled to the secure controller;
Item 6. The secure controller of item 5, wherein the user input is transmitted from the secure controller to the application via the secure channel.
[Item 7]
The logic for establishing a secure channel between the secure controller and the application executing on the processor coupled to the secure controller verifies the identifier and the request using the application 7. The secure controller of item 6, including logic to do.
[Item 8]
An electronic device,
Display,
A processor for implementing an untrusted computing environment;
Receiving a request for a secure communication session with a remote service from an application executing on the untrusted execution complex of the electronic device;
Verifying security credentials received from the remote service;
Establishing a secure communication connection between the secure controller and the remote service;
Establish a secure user interface,
Collect one or more authentication credentials from the user via the secure user interface;
Transferring the one or more authentication credentials to the remote service;
An electronic device comprising: a secure controller including logic for executing a secure communication session with the remote service.
[Item 9]
The logic further includes:
Receiving a security certificate from the remote service;
Item 9. The electronic device according to Item 8, wherein the security certificate is verified.
[Item 10]
The logic further includes:
Receiving an authentication challenge from the remote service;
Receiving a response to the authentication challenge from the user;
Item 10. The electronic device according to Item 8 or 9, wherein the response is transferred to the remote service via the secure communication connection.
[Item 11]
The logic further includes:
Define a dialog box in the area of the display device coupled to the secure controller,
Locking the dialog box such that multiple input / output operations performed in the dialog box are only visible to the secure controller;
Receive user input from the input mechanism,
11. An electronic device according to any one of items 8 to 10, wherein the user input is transferred to the remote service via the secure communication connection.
[Item 12]
A request for trusted input from the user is received from an application executing on a processor coupled to the secure controller;
12. The electronic device according to any one of items 8 to 11, wherein the request includes an identifier that uniquely identifies the application and the request.
[Item 13]
The logic further includes:
Establishing a secure channel between the secure controller and the application executing on the processor coupled to the secure controller;
13. The electronic device of item 12, wherein user input is transmitted from the secure controller to the application via the secure channel.
[Item 14]
The logic for establishing a secure channel between the secure controller and the application executing on the processor coupled to the secure controller verifies the identifier and the request using the application Item 14. The electronic device according to Item 13, which includes logic to perform.
[Item 15]
Receiving a request for a secure communication session with a remote service from an application executing on an untrusted execution complex of an electronic device to a secure controller;
Verifying the security credentials received from the remote service;
Establishing a secure communication connection between the secure controller and the remote service;
Procedures to establish a secure user interface;
Collecting one or more authentication credentials from the user via the secure user interface;
Transferring the one or more authentication credentials to the remote service;
A program for executing a secure communication session with the remote service.
[Item 16]
Receiving a security certificate from the remote service to the secure controller;
16. The program according to item 15, wherein the program further executes a procedure for verifying the security certificate.
[Item 17]
Receiving an authentication challenge from the remote service to the secure controller;
Receiving a response to the authentication challenge from a user;
The program according to item 15 or 16, further comprising: a step of transferring the response to the remote service via the secure communication connection.
[Item 18]
Defining a dialog box in the area of the display device coupled to the secure controller to the secure controller;
Locking the dialog box such that multiple input / output operations performed in the dialog box are only visible to the secure controller;
Receiving user input from the input mechanism;
18. The program according to any one of items 15 to 17, further executing a procedure for transferring the user input to the remote service via the secure communication connection.
[Item 19]
A request for trusted input from the user is received from an application executing on a processor coupled to the secure controller;
The program according to item 18, wherein the request includes an identifier for uniquely identifying the application and the request.
[Item 20]
Establishing a secure channel between the secure controller and the application executing on the processor coupled to the secure controller;
The program according to item 19, further comprising: a step of transmitting the user input from the secure controller to the application via the secure channel.
[Item 21]
Establishing a secure channel between the secure controller and the application executing on the processor coupled to the secure controller comprises verifying the identifier and the request using the application; The program according to item 20, including.

Claims (22)

電子デバイスのためのコントローラであって、
コンピュータ可読メモリと、
少なくとも部分的にハードウェア論理を含む論理と
を備え、
前記論理は、
前記コントローラに結合されたディスプレイデバイスの領域に表示するために、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力/出力オペレーションが前記コントローラに対して可視となり、前記コントローラに通信可能に結合された信用できない実行複合体に対して可視とならないように前記ダイアログボックスをロックし、
前記ダイアログボックスに対するユーザ入力に基づいて、1または複数の認証クレデンシャルを受信し、
前記1または複数の認証クレデンシャルを使用して遠隔サービスとのセキュアな通信セッションを確立する
コントローラ。
A controller for an electronic device,
A computer readable memory;
Logic including at least partially hardware logic, and
The logic is
Define a dialog box to display in the area of the display device coupled to the controller,
Lock the dialog box so that multiple input / output operations performed in the dialog box are visible to the controller and not visible to untrusted execution complexes communicatively coupled to the controller. ,
Receiving one or more authentication credentials based on user input to the dialog box;
A controller that establishes a secure communication session with a remote service using the one or more authentication credentials.
少なくとも部分的にハードウェア論理を含む論理であって、
前記ディスプレイ上にセキュアなユーザインターフェースを確立し、
前記セキュアなユーザインターフェースを介してユーザから1または複数の認証クレデンシャルを収集し、
前記1または複数の認証クレデンシャルを前記遠隔サービスに転送する
論理を更に備える、請求項1に記載のコントローラ。
Logic that at least partially includes hardware logic,
Establishing a secure user interface on the display;
Collect one or more authentication credentials from the user via the secure user interface;
The one or more authentication credentials further comprises logic for transferring to the remote service, according to claim 1 controller.
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、請求項1または2に記載のコントローラ。
The logic further includes:
Receiving a security certificate from the remote service;
Verifying the security certificate, controller of claim 1 or 2.
前記論理は、更に、
前記遠隔サービスから認証のチャレンジを受信し、
ユーザから前記認証のチャレンジに対するレスポンスを受信し、
前記セキュアな通信接続を介して、前記遠隔サービスに対して前記レスポンスを転送する、請求項1〜のいずれか一項に記載のコントローラ。
The logic further includes:
Receiving an authentication challenge from the remote service;
Receiving a response to the authentication challenge from the user;
Via said secure communication connection, and transfers the response to the remote service, according to any one of claims 1 to 3 Controller.
前記論理は、更に、前記コントローラに結合されたプロセッサ上で実行するアプリケーションから信用できるユーザ入力のための要求を受信し、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、請求項1〜のいずれか1項に記載のコントローラ。
The logic further receives a request for trusted user input from an application executing on a processor coupled to the controller;
Wherein the request, the include applications and identifier that uniquely identifies the request, the controller according to any one of claims 1-4.
前記論理は、更に、
前記コントローラに結合された前記プロセッサ上で実行する前記アプリケーションと前記コントローラとの間にセキュアなチャネルを確立し、
前記セキュアなチャネルを介して、前記ユーザ入力を前記コントローラから前記アプリケーションに送信する、請求項に記載のコントローラ。
The logic further includes:
Establishing a secure channel between the application running on the processor coupled to the controller and the controller;
The controller of claim 5 , wherein the user input is sent from the controller to the application via the secure channel.
前記コントローラに結合された前記プロセッサ上で実行する前記アプリケーションと前記コントローラとの間にセキュアなチャネルを確立する論理は、前記アプリケーションを用いて前記識別子および前記要求を検証する論理を含む、請求項に記載のコントローラ。 Logic for establishing a secure channel between the application and the controller running on said processor coupled to said controller includes logic to verify the identifier and the request using the application, according to claim 6 Controller described in. 電子デバイスであって、
ディスプレイと、
信用できないコンピューティング環境を実装するためのプロセッサと、
コントローラであって、
前記コントローラに結合されたディスプレイデバイスの領域に表示するために、ダイアログボックスを定義し、
前記ダイアログボックスにおいて実行される複数の入力/出力オペレーションが前記コントローラに対して可視となり、前記コントローラに通信可能に結合された信用できない実行複合体に対して可視とならないように前記ダイアログボックスをロックし、
前記ダイアログボックスに対するユーザ入力に基づいて、1または複数の認証クレデンシャルを受信し、
前記1または複数の認証クレデンシャルを使用して遠隔サービスとのセキュアな通信セッションを確立する論理を含む
コントローラと
を備える電子デバイス。
An electronic device,
Display,
A processor for implementing an untrusted computing environment;
A controller,
Define a dialog box to display in the area of the display device coupled to the controller,
Lock the dialog box so that multiple input / output operations performed in the dialog box are visible to the controller and not visible to untrusted execution complexes communicatively coupled to the controller. ,
Receiving one or more authentication credentials based on user input to the dialog box;
An electronic device comprising logic that establishes a secure communication session with a remote service using the one or more authentication credentials.
前記論理は、更に、
前記ディスプレイ上にセキュアなユーザインターフェースを確立し、
前記セキュアなユーザインターフェースを介してユーザから1または複数の認証クレデンシャルを収集し、
前記1または複数の認証クレデンシャルを前記遠隔サービスに転送する、請求項に記載の電子デバイス。
The logic further includes:
Establishing a secure user interface on the display;
Collect one or more authentication credentials from the user via the secure user interface;
The electronic device of claim 8 , wherein the electronic device forwards the one or more authentication credentials to the remote service.
前記論理は、更に、
前記遠隔サービスからセキュリティ証明書を受信し、
前記セキュリティ証明書を検証する、請求項8または9に記載の電子デバイス。
The logic further includes:
Receiving a security certificate from the remote service;
The electronic device according to claim 8 or 9 , wherein the security certificate is verified.
前記論理は、更に、
前記遠隔サービスから認証のチャレンジを受信し、
ユーザから前記認証のチャレンジに対するレスポンスを受信し、
前記セキュアな通信接続を介して、前記遠隔サービスに対して前記レスポンスを転送する、請求項8〜10のいずれか一項に記載の電子デバイス。
The logic further includes:
Receiving an authentication challenge from the remote service;
Receiving a response to the authentication challenge from the user;
11. The electronic device according to any one of claims 8 to 10 , wherein the response is transferred to the remote service via the secure communication connection.
前記論理は、更に、前記コントローラに結合されたプロセッサ上で実行するアプリケーションから信用できるユーザ入力のための要求を受信し、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、請求項8〜11のいずれか1項に記載の電子デバイス。
The logic further receives a request for trusted user input from an application executing on a processor coupled to the controller;
The electronic device according to claim 8 , wherein the request includes an identifier that uniquely identifies the application and the request.
前記論理は、更に、
前記コントローラに結合された前記プロセッサ上で実行する前記アプリケーションと前記コントローラとの間にセキュアなチャネルを確立し、
前記セキュアなチャネルを介して、前記ユーザ入力を前記コントローラから前記アプリケーションに送信する、請求項12に記載の電子デバイス。
The logic further includes:
Establishing a secure channel between the application running on the processor coupled to the controller and the controller;
The electronic device of claim 12 , wherein the user input is transmitted from the controller to the application via the secure channel.
前記コントローラに結合された前記プロセッサ上で実行する前記アプリケーションと前記コントローラとの間にセキュアなチャネルを確立する論理は、前記アプリケーションを用いて前記識別子および前記要求を検証する論理を含む、請求項13に記載の電子デバイス。 Logic for establishing a secure channel between the application and the controller running on said processor coupled to said controller includes logic to verify the identifier and the request using the application, according to claim 13 The electronic device according to. コントローラに
前記コントローラに結合されたディスプレイデバイスの領域に表示するために、ダイアログボックスを定義する手順と、
前記ダイアログボックスにおいて実行される複数の入力/出力オペレーションが前記コントローラに対して可視となり、前記コントローラに通信可能に結合された信用できない実行複合体に対して可視とならないように前記ダイアログボックスをロックする手順と、
前記ダイアログボックスに対するユーザ入力に基づいて、1または複数の認証クレデンシャルを受信する手順と、
前記1または複数の認証クレデンシャルを使用して遠隔サービスとのセキュアな通信セッションを確立する手順と
を実行させるためのプログラム。
Defining a dialog box for display in an area of a display device coupled to the controller on the controller;
Lock the dialog box so that multiple input / output operations performed in the dialog box are visible to the controller and not visible to untrusted execution complexes communicatively coupled to the controller. Procedure and
Receiving one or more authentication credentials based on user input to the dialog box;
A program for executing a procedure for establishing a secure communication session with a remote service using the one or more authentication credentials.
前記コントローラに、
前記ディスプレイ上にセキュアなユーザインターフェースを確立する手順と、
前記セキュアなユーザインターフェースを介してユーザから1または複数の認証クレデンシャルを収集する手順と、
前記1または複数の認証クレデンシャルを前記遠隔サービスに転送する手順と
を更に実行させるための、請求項15に記載のプログラム。
In the controller,
Establishing a secure user interface on the display;
Collecting one or more authentication credentials from a user via the secure user interface;
The program according to claim 15 , further comprising: a step of transferring the one or more authentication credentials to the remote service.
前記コントローラに
前記遠隔サービスからセキュリティ証明書を受信する手順と、
前記セキュリティ証明書を検証する手順と
を更に実行させるための、請求項15または16に記載のプログラム。
Receiving a security certificate from the remote service in the controller;
The program according to claim 15 or 16 , for further executing the procedure of verifying the security certificate.
前記コントローラに、
前記遠隔サービスから認証のチャレンジを受信する手順と、
ユーザから前記認証のチャレンジに対するレスポンスを受信する手順と、
前記セキュアな通信接続を介して、前記遠隔サービスに対して前記レスポンスを転送する手順と
を更に実行させるための、請求項15〜17のいずれか一項に記載のプログラム。
In the controller,
Receiving an authentication challenge from the remote service;
Receiving a response to the authentication challenge from a user;
The program according to any one of claims 15 to 17 , further executing a procedure for transferring the response to the remote service via the secure communication connection.
前記コントローラに、前記コントローラに結合されたプロセッサ上で実行されるアプリケーションから信用できるユーザ入力のための要求を受信する手順を更に実行させ、
前記要求は、前記アプリケーションおよび前記要求を一意に識別する識別子を含む、請求項15〜18のいずれか1項に記載のプログラム。
Causing the controller to further execute a procedure for receiving a request for trusted user input from an application executing on a processor coupled to the controller;
The program according to any one of claims 15 to 18 , wherein the request includes an identifier for uniquely identifying the application and the request.
前記コントローラに、
前記コントローラに結合された前記プロセッサ上で実行する前記アプリケーションと前記コントローラとの間にセキュアなチャネルを確立する手順と、
前記セキュアなチャネルを介して、前記ユーザ入力を前記コントローラから前記アプリケーションに送信する手順と
を更に実行させるための、請求項19に記載のプログラム。
In the controller,
Establishing a secure channel between the controller running on the processor coupled to the controller and the controller;
The program according to claim 19 , further comprising: a step of transmitting the user input from the controller to the application via the secure channel.
前記コントローラに、前記アプリケーションを用いて前記識別子および前記要求を検証する手順を更に実行させるための、請求項20に記載のプログラム。 The program according to claim 20 , further causing the controller to execute a procedure of verifying the identifier and the request using the application. 請求項15〜21のいずれか一項に記載のプログラムを格納したコンピュータ可読記録媒体。 The computer-readable recording medium which stored the program as described in any one of Claims 15-21 .
JP2016158055A 2016-08-10 2016-08-10 Reliable service interaction Active JP6274678B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016158055A JP6274678B2 (en) 2016-08-10 2016-08-10 Reliable service interaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016158055A JP6274678B2 (en) 2016-08-10 2016-08-10 Reliable service interaction

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015506945A Division JP5989894B2 (en) 2012-04-17 2012-04-17 Reliable service interaction

Publications (2)

Publication Number Publication Date
JP2017021813A JP2017021813A (en) 2017-01-26
JP6274678B2 true JP6274678B2 (en) 2018-02-07

Family

ID=57888211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016158055A Active JP6274678B2 (en) 2016-08-10 2016-08-10 Reliable service interaction

Country Status (1)

Country Link
JP (1) JP6274678B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114898506B (en) * 2022-05-12 2023-06-27 南京百米需供应链管理有限公司 Intelligent cabinet control system and control method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
GB9922665D0 (en) * 1999-09-25 1999-11-24 Hewlett Packard Co A method of enforcing trusted functionality in a full function platform
JP2003122640A (en) * 2001-10-11 2003-04-25 Fujitsu Frontech Ltd Secret information protection system
US20080263672A1 (en) * 2007-04-18 2008-10-23 Hewlett-Packard Development Company L.P. Protecting sensitive data intended for a remote application
US8605044B2 (en) * 2010-02-12 2013-12-10 Maxim Integrated Products, Inc. Trusted display based on display device emulation
KR101938445B1 (en) * 2012-04-17 2019-04-11 인텔 코포레이션 Trusted service interaction

Also Published As

Publication number Publication date
JP2017021813A (en) 2017-01-26

Similar Documents

Publication Publication Date Title
JP5989894B2 (en) Reliable service interaction
KR101701277B1 (en) Scalable secure execution
JP5927681B2 (en) Authentication for applications related to network access
US9111081B2 (en) Remote direct memory access authentication of a device
US20120167194A1 (en) Client hardware authenticated transactions
JP2015508535A (en) Virtual point of sale management
US20140304649A1 (en) Trusted user interaction
JP6274678B2 (en) Reliable service interaction
US20140007221A1 (en) Secure image authentication
JP6172549B2 (en) Authentication for applications related to network access

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180105

R150 Certificate of patent or registration of utility model

Ref document number: 6274678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250