JP6026462B2 - ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行 - Google Patents

ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行 Download PDF

Info

Publication number
JP6026462B2
JP6026462B2 JP2014106374A JP2014106374A JP6026462B2 JP 6026462 B2 JP6026462 B2 JP 6026462B2 JP 2014106374 A JP2014106374 A JP 2014106374A JP 2014106374 A JP2014106374 A JP 2014106374A JP 6026462 B2 JP6026462 B2 JP 6026462B2
Authority
JP
Japan
Prior art keywords
secure
processor
point
software
execution
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.)
Expired - Fee Related
Application number
JP2014106374A
Other languages
English (en)
Other versions
JP2014194804A (ja
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
Publication of JP2014194804A publication Critical patent/JP2014194804A/ja
Application granted granted Critical
Publication of JP6026462B2 publication Critical patent/JP6026462B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、概してマイクロプロセッサシステムに関しており、より具体的には、トラステッドな、あるいはセキュアな環境で動作できるマイクロプロセッサシステムに関する。
ローカルあるいは遠隔マイクロコンピュータで金融および個人的な取引を行う数の増加が、「トラステッドな」、あるいは「セキュアな」マイクロプロセッサ環境の構築の原動力となってきた。これら環境が解決しようとする課題は、プライバシー欠如、あるいはデータ破損あるいは乱用である。ユーザは自分のプライベートなデータを公にしたくないし、自分のデータを変更されたり、あるいは不適切な処理に利用されたくない。これらの例には、過失による医療記録の流出、あるいはオンライン銀行あるいはその他の保管所からの電子資金盗用が含まれる。同様に、コンテンツプロバイダは、デジタルコンテンツ(例えば、音楽、その他の音声、ビデオ、あるいは他の種類のデータ一般)が許可なくコピーされるのを防ぎたいと思っている。
既存のトラステッドなシステムには、完結した一式のトラステッドなソフトウェアが利用されているものがある。この方法は実装が比較的簡単であるが、共通の市販のオペレーティングシステムおよびアプリケーションソフトウェアでの同時利用ができないという不利な点がある。この不利な点により、このようなトラステッドなシステムは受容が限られる。
他の方策では、システムが、互いにバスを介して接続されたプロセッサを内蔵することが要求される。
本願を、同様の参照番号が同様の部材を示す添付図面において、限定ではなく例示により示す。
マイクロプロセッサシステムで実行される例示的なソフトウェア環境を示す図である。
本発明の一実施形態による、ある例示的なトラステッドな、あるいはセキュアなソフトウェアモジュールおよび例示的なシステム環境を示す図である。
本発明の一実施形態による例示的なトラステッドな、あるいはセキュアなソフトウェア環境を示す図である。
本発明の方法の一実施形態による、ソフトウェアおよびその他の処理ブロックのフローチャートである。
以下の記載では、マイクロプロセッサシステムにおけるトラステッドなセキュアな環境を初期化する技法を記載する。以下の記載において、論理実装、ソフトウェアモジュール割り当て、暗号化技法、バス信号化技法、および動作の詳細などの幾多もの特定の詳細を述べて、本発明のより完全な理解を助ける。しかし、本発明がこのような特定の詳細なしに実施できることは当業者であれば理解する。他の場合においては、本発明を曖昧にしないように、制御構造、ゲートレベル回路、および完全なソフトウェア命令列は詳細に示していない。当業者であれば、含めた記載を読めば、必要以上の実験なしに、適切な機能を実装することができる。発明はマイクロプロセッサシステムの形で開示される。しかし、本発明は、デジタル信号プロセッサ、ミニコンピュータ、あるいはメインフレームコンピュータでも実施することができる。
図1を参照すると、マイクロプロセッサシステムで実行される例示的ソフトウェア環境を示す図が示されている。図1に示すソフトウェアはトラステッドでない(アントラステッド)。高優先度レベルで動作する際、オペレーティングシステム150のサイズおよび定期的な更新により、任意のトラステッドな分析を適時に実施することが非常に難しくなる。オペレーティングシステムの多くが、優先度が最大レベルである優先度リングゼロ(0)に在る。アプリケーション152、154、156は、これよりずっと低い優先度を持ち、典型的に優先度リング3に在る。異なる優先度リングが在ること、およびオペレーティングシステム150およびアプリケーション152、154、156をこれら異なる優先度リングに分類することで、オペレーティングシステム150が提供する機能の信頼性に関する決定に基づき、トラステッドなモードで図1のソフトウェアの動作を行うことができるように一見思われる。しかし実際上は、このような信頼性に関する決定はしばしば実用的ではない。この課題を生じる要素には、オペレーティングシステム150のサイズ(コードのライン数)、オペレーティングシステム150が幾らもの更新(新たなコードモジュールおよびパッチ)を受信する可能性があるという事実、およびオペレーティングシステム150が、オペレーティングシステムの開発業者以外の者が供給するデバイスドライバなどのコードモジュールを含みうるという事実、などがある。オペレーティングシステム150は、Microsoft(登録商標)、Windows(登録商標)、Linux、あるいはSolaris(登録商標)などの一般的なもの、あるいは任意の他の適切な既知の、あるいは入手可能なオペレーティングシステムであってよい。特定の種類のあるいは名称のアプリケーションあるいはオペレーティングシステムの運用は重要ではない。
図2を参照すると、ある例示的なトラステッドな、あるいはセキュアなソフトウェアモジュールおよび例示的なシステム環境200が示されている。図2の実施形態においては、プロセッサ202、プロセッサ212、プロセッサ222、およびオプションとして他のプロセッサ(不図示)を別個のハードウェア資源として示している。図2は三つのプロセッサを示しているが、本発明の実施形態は任意の数のプロセッサを含みえ、これは単一のプロセッサをも含みうる。
システム200はさらに、下に示す任意の他のシステムあるいは他のロジックとともに、入力/出力(I/O)コントローラあるいはハブを含みうるチップセット240を含む。他の実施形態は、図2に示す部材の代わりに、あるいはそれに加えて、他の部材を含みえ、これら任意の数のプロセッサあるいは他の部材は、それらの互いに対する配置などで異なっていてよい。
プロセッサ202、212、222は、コア203、205、213、215、223、および225など、一以上の実行コアを含みうる。幾らかの実施形態においては、プロセッサあるいはコアを、一以上の物理的プロセッサあるいはコア上で動作する別個のハードウェア実行スレッドで置き換えてもよい。これらスレッドは、追加的な物理的プロセッサの属性の多くを所有する。多数の物理的プロセッサおよびプロセッサ上の多数のスレッドを任意に組み合わせて説明する便宜上の一般的表現として「論理プロセッサ」という用語を利用して、一つの物理的プロセッサあるいは一以上の物理的プロセッサで動作するスレッドを記載する。故に、一つのシングルスレッドプロセッサは論理プロセッサとして考えられ、マルチスレッドあるいはマルチコアプロセッサは多数の論理プロセッサとして考えられうる。
プロセッサ202、212、222はさらに、コアなしロジック201、211、および221などの「コアなし」ロジックを含みえ、ここで「コアなし」ロジックは、実行コアのうちのいずれからも別離されるロジックである。コアなしロジックは、そこにあるプロセッサに関する情報を記憶するのに利用されうるレジスタ207、217、227などの、レジスタ、あるいは任意のほかの記憶位置を含みうる。これらレジスタあるいは記憶位置はプログラムできる、あるいはハードコードされえ、このような情報は、対応するプロセッサに含まれる数のコアおよび/または論理プロセッサを含みうる。レジスタ207、217、227は、電源投入時のリセット中に更新される標準グローバルメモリマップレジスタ(standard global memory mapped register)であってよい。
プロセッサ202、212、222はさらに、セキュアなあるいはトラステッドな動作を支援する特別な回路あるいは論理部材を含みうる。例えば、プロセッサ202は、安全入力(SENTER)ロジック204を含むことで、トラステッドな動作を始めうる特別なSENTER命令の実行を支援しうる。プロセッサ202はさらに、特別なSENTER動作を支援すべくプロセッサおよび他の部材間の特別な相互接続メッセージを支援すべく相互接続メッセージロジック206を含みうる。特別な相互接続メッセージは、システムの安全性あるいは信頼性を様々な理由から増加させうる。プロセッサ202、212、222、あるいはチップセット240などの回路部材は、それらが本開示の実施形態の適切な論理部材を含む場合にのみ、このようなメッセージを発行しうる、あるいはそれに対して応答しうる。従って、特別な相互接続メッセージの交換を成功させることで、適切なシステム構成の確保を助けうる。特別な相互接続メッセージはさらに、プラットフォーム構成レジスタ278のリセットなどの、通常は禁止されているべきアクティビティを許可しうる。潜在的に敵意のある信用のおかれないコードがある相互接続処理上でスパイをする能力は、特別な相互接続メッセージを、特別な安全命令に対して発行することで、削減されうる。SENTERロジック204、相互接続メッセージロジック206、および本発明の実施形態で利用される任意の他のロジックは、ロジック回路、マイクロコード、およびファームウェアを含む任意の既知の方策により実装されうる。
さらに、プロセッサ202は、セキュアな初期化動作を支援すべくセキュアなメモリ208を含みうる。一実施形態においては、セキュアなメモリ208は、特別なモードで動作してもよいプロセッサ202の内部キャッシュであってよい。代替実施形態においては、セキュアなメモリ208は特別なメモリであってよい。プロセッサ212およびプロセッサ222などの他のプロセッサはさらに、SENTERロジック214、224、バスメッセージロジック216、226、およびセキュアなメモリ218、228を含みうる。
「チップセット」は、接続プロセッサ(一または複数)用のメモリおよび/またはI/O動作を支援する一群の回路およびロジックとして定義されうる。一つのチップセットの個々の部材は、単一のチップ、一対のチップ上にまとめられてよく、あるいは多数のプロセッサを含む多数のチップ間で分散されてもよい。図2の実施形態においてチップセット240は、プロセッサ202、212、222のI/O動作を支援する回路およびロジックを含みうるが、ここで各プロセッサはメモリ動作を支援する回路およびロジックを含む。その代わりに、チップセット240はさらに、プロセッサ202、212、222のメモリ動作を支援する回路およびロジックを含みうる。チップセット240の機能は、代替実施形態においては、一以上の物理デバイス間に割り当てられうる。
チップセット240はさらに、特別なSENTER動作を支援するPTPファブリック230上の特別な相互メッセージを支援すべく、自身の相互接続メッセージロジック242を含みうる。これら特別な相互接続メッセージには、鍵レジスタ244の内容をプロセッサ202、212、あるいは222に対して転送することで、プロセッサに対して、特別な「QUIESCE」インジケータ246を設定あるいはクリアして、チップセット240に、システム200をquieseあるいはde−quieseさせる、あるいはプロセッサにより特別な「QUIESCED」フラグ248を検査させることを許可することを含みうる。バスメッセージロジック242のさらなる特徴は、「EXISTS」レジスタ270内のシステム200のプロセッサの存在あるいは参加をレジスタすることであってよい。
プロセッサ202、212、222は互いに、チップセット240に対して、および任意の他の部材あるいはエージェントに対して、ポイントツーポイント(PTP)相互接続ファブリック230により接続されてよい。プロセッサ202、212、および222、およびチップセット240は、PTPファブリック230に接続すべく、および互いに対しておよびシステム200に存在あるいは参加する任意の他のエージェントに対してメッセージを送受信すべく、それぞれインタフェースユニット209、219、229、および239の各々を含んでよい。インタフェースユニット209、219、229、および239の各々は、任意の数の他の部材と通信する任意の数の一方向性および/または双方向性ポートを含みうる。通信は、任意のあるいは全てのリンク層、プロトコル層、ルーティング層、搬送層、物理層、および任意の他の同様の層によりフレームされたメッセージおよび/またはデータを表す信号を含むパケットがエージェント間で(ポイントツーポイント)送信される層型のポイントツーポイント相互接続アーキテクチャによりPTPファブリック230を介して行われる。故に、インタフェースユニット209、219、229、および239の各々は、各層に対応する信号を生成する回路あるいはロジックを含みうる。パケットはさらに、検知あるいはエラー訂正用の、重複するあるいは他の情報を含みうる。
トークン276は、一以上のプラットフォーム構成レジスタ(PCR)278、279を含み、チップセット230に接続されてよい。一実施形態においては、トークン276は、特別な安全フィーチャを含みえ、一実施形態では、TCPA(www.trustedpc.comから入手可能)発行の2001年12月1日付けのバージョン1.1a、Trusted Computing Platform Alliance(TCPA)Main Specificationに開示されている、トラステッドなプラットフォームモジュール(TPM)281を含みうる。
システム環境200で識別される二つのソフトウェア部材は、Secure Virtual Machine Monitor(SVMM)282モジュールおよびSecure Initialization Authenticated Code(SINIT−AC)280モジュールである。SVMM282モジュールは、システムディスクあるいは他の大容量記憶装置に記憶でき、必要に応じて他の場所に移動あるいはコピーされうる。一実施形態においては、セキュアな起動プロセス開始の前に、SVMM282を、システム200内の一以上のメモリページに移動あるいはコピーしてよい。セキュアなエンタープロセスに続いて、SVMM282がシステム内で最も優先度の高いコードとして動作し得る仮想マシン環境が作成され得、作成された仮想マシン内のオペレーティングシステムあるいはアプリケーションによりあるシステム資源への直接アクセスが許可あるいは否認するのに利用され得る。
セキュアなエンタープロセスが必要とするアクションの幾らかは、簡単なハードウェア実装の範囲を超える場合があり、代わりに実行が暗に信用されうるソフトウェアモジュールを利用することができるという利点がある。一実施形態においては、これらアクションはAuthenticated(SINIT)Codeとして実行されうる。一例示的アクションは、セキュアな環境の正しいインタスタンス化を支援する構成を確保すべく、システム構成の重要な部分を表す様々な制御を必要としうる。第2の例示的アクションは、SVMM282モジュールの識別情報を算出およびレジスタして、それへのシステム制御を転送することを含む。ここで、「レジスタ」とは、SVMM282の信頼尺度を、例えばPCR278あるいはPCR279などのレジスタあるいは他の記憶位置に配置することを意味する。この第2のアクションがとられると、SVMM282の信頼性が潜在的なシステムユーザにより調査されうる。
SINITコードは、プロセッサあるいはチップセットの製造業者により作成されうる。この理由から、SINITコードはチップセット240のセキュアな起動の支援を信頼される。SINITコードを分配すべく、一実施形態においては、公知の暗号ハッシュが全SINITコードからなっており、これにより「ダイジェスト」として知られている値を生成する。一実施形態においては、ダイジェストは160ビット値を生成する。ダイジェストは、その後、秘密鍵により暗号化され、一実施形態においてはプロセッサの製造業者により保持され、デジタル署名を形成しうる。SINITコードは対応するデジタル署名により束ねられると、この組み合わせがSINIT認証コード(SINIT−AC)280として言及されうる。以下に記載するようにSINIT−AC280のコピーは後に有効性を確認される(validate)。
SINIT−AC280は、システムディスクあるいは他の大容量記憶装置あるいは固定媒体に記憶され得、必要に応じて他の位置に移動あるいはコピーされ得る。一実施形態においては、セキュアな起動プロセスの開始前に、SINIT−AC280をシステム200の一以上のメモリページに移動あるいはコピーして、SINIT−ACのメモリレジデントコピーを形成しうる。
オペレーティングシステムなどのシステム200上で動く任意の優先ソフトウェアは、論理プロセッサ上のセキュアな起動プロセスを開始してよく、これは開始論理プロセッサ(initiating logical processor)(ILP)と称される。本例のプロセッサ202はILPであるが、PTPファブリック230上の任意のプロセッサもILPである場合がある。SINIT−AC280のメモリレジデントコピーもSVMM282のメモリレジデントコピーもいずれも、今回信頼性があるとして考慮され得ない。
ILP(プロセッサ202)はセキュアな起動プロセスを開始すべく特別な命令を実行する。この特別な命令はセキュアなエンター(SENTER)命令として証され得、SENTERロジック204により支援され得る。SENTER命令は第1にシステム200の全ての論理プロセッサがチップセット240(例えばEXISTSレジスタ270)に登録されているかを検証する。各プロセッサおよび、PTPファブリック230に接続される他のエージェントは、レジスタ207、217、および227などのレジスタあるいは他の記憶位置を含み、自身の含む論理プロセッサの数を示す。これらレジスタは読み出されて、システムトポロジーが正確にチップセット240で表されているかを検証する。
この検証の後、SENTER命令はQUIESCEインジケータ246に書き込み、チップセット240に対してシステム200を休止させる(quiesce)。チップセット240はPTPファブリック230上でハンドシェイク列を開始して、一つのプロセッサ(休止状態マスター)を除く、PTPファブリック230上の全てのプロセッサおよび他のエージェントに休止状態に入らせる。本実施形態においては、プロセッサ202がILPであるとともに休止状態マスターである。休止列は「STOP_REQ」信号をマスターでないプロセッサに対して各々送信して、各マスターでないプロセッサのイベント処理を終了させ、それらのバッファをドレインさせ、「STOP_ACK」信号をチップセット240に戻してそれらが休止状態に入ったことを承認させる。休止状態は、命令を何ら実行せず、PTPファブリック230上に処理を何ら生成しない状態のことである。チップセット240がチップセット240に登録されている全ての論理プロセッサを代表してSTOP_ACK信号を各エージェントから受信した後、QUIESCEDフラグ248が設定されてよい。マスターのプロセッサは、セキュアな初期化認証モジュールを実行する前に休止状態に入ったことを検証すべくチップセット内のインジケータレジスタを読み出してよい。また、セキュアな仮想マシン監視モジュールを実行する前に休止状態に入ったことを検証すべくチップセット内のインジケータレジスタを読み出してよい。
システムが休止した後、SENTER命令が安全モジュールを安全に実行しうることを以下に記す。この目的上、PTPファブリック230は依然機能的であり、TPM281は依然休止状態マスターに対して入手できる。安全モジュールの実行が完了すると、休止状態マスターはQUIESCEインジケータ246をクリアして、チップセット240に対してシステム200を休止状態から抜けさせる。
安全モジュールを実行すべく、ILP(プロセッサ202)は、SINIT‐AC280に含まれるSINITコードを認証およびその後実行する目的から第1にSINIT−AC280および鍵284の写し両方をセキュアなメモリ208に移動しうる。一実施形態においては、このセキュアなメモリ208は、ILP(プロセッサ202)の内部キャッシュであってよく、特別なモードで動作していてよい。鍵284はSINIT−AC280モジュールに含まれるデジタル署名を暗号化するのに利用される秘密鍵に対応する公開鍵を表しており、デジタル署名を検証してSINITコードを認証するのに利用される。一実施形態においては、鍵284は、場合としてはSENTERロジック204の一部としてプロセッサに予め記憶されている場合もある。別の実施形態においては、鍵284はチップセット240の読み出し専用鍵レジスタ244に記憶され、ILPより読み出されてよい。また別の実施形態においては、プロセッサあるいはチップセットの鍵レジスタ244は、実際に鍵284の暗号化ダイジェストを保持していてよく、ここで鍵284そのものがSINIT−AC280モジュールに含まれている。この最後の実施形態においては、ILPは鍵レジスタ244からダイジェストを読み出し、SINIT−AC280に埋め込まれた鍵284の等価暗号化ハッシュ(equivalent cryptographic hash)を算出して、二つのダイジェストを比較し、供給された鍵284が実際にトラステッドか確かめる。
SINIT−ACのコピーおよび公開鍵のコピーはセキュアなメモリ208内に存在してよい。ILPは公開鍵のコピーを利用してSINIT−ACのコピーに含まれるデジタル署名を復号することでSINIT−ACの写しが有効性を確認される。この復号により、暗号化ハッシュダイジェストの原本を生成する。新たに算出されたダイジェストがこの原ダイジェストに整合している場合、SINIT−ACのコピーおよびそれに含まれるSINITコードはトラステッドであると考えられる。
ILPは、以下に概略を示すように、セキュアなトークン276内のプラットフォーム構成レジスタ272に対してSINIT−ACモジュールの暗号化ダイジェスト値を書き込むことで、SINIT−ACモジュールの唯一の識別情報を登録する。SENTER命令のILP実行は、ILPのセキュアなメモリ208内に保持されるSINITコードのトラステッドなコピーに実行制御を転送することで終了しうる。トラステッドなSINITコードはシステムテストおよび構成アクションを実行して、上述のレジスタの定義に則りSVMMのメモリレジデントコピーを登録してよい。
SVMMのメモリレジデントコピーの登録は、幾らかの方法で行うことができる。一実施形態においては、ILP上で動くSENTER命令は、安全トークン276内のPCR278にSINIT−ACの算出されたダイジェストを書き込む。次に、トラステッドなSINITコードは、メモリレジデントSVMMの算出されたダイジェストを、同じPCR278あるいは安全トークン276内の別のPCR279に書き込むことができる。SVMMダイジェストが同じPCR278に書き込まれる場合、安全トークン276は、新たな値(SVMMダイジェスト)で原コンテンツ(SINITダイジェスト)をハッシュして、結果をPCR278に書き込む。第1(初期化)のPCR278への書き込みがSENTER命令に限定される実施形態においては、結果であるダイジェストはシステムの信頼ルート(a root of trust)として利用されうる。
トラステッドなSINITコードはその実行を完了して、SVMMの識別情報をPCRに登録すると、SINITコードはILP実行制御をSVMMに転送しうる。典型的な実施形態においては、ILPにより実行される第1のSVMM命令は、SVMMの初期化ルーチンを表しうる。システム200は、以下の図3の説明で概略を示すように、目下実行しているSVMMのコピーの監督下で、トラステッドなモードで動作することができる。ここからは、システム全体は、以下の図3の説明で概略を示すように、トラステッドなモードで動作することができる。
図3を参照すると、本発明の一実施形態による例示的なトラステッドなあるいはセキュアなソフトウェア環境が示されている。図3の実施形態においては、トラステッドなソフトウェアおよびトラステッドでないソフトウェアは、同時にロードされて同時に単一のコンピュータシステム上で実行されうる。SVMM350は、一以上のトラステッドでないオペレーティングシステム340およびトラステッドでないアプリケーション310〜330からハードウェア資源380への直接アクセスを選択的に許可あるいは禁止する。この文脈において、「トラステッドでない」とは、必ずしもオペレーティングシステムあるいはアプリケーションが故意に不正を行っていることを意味するとは限らず、相互作用するコードのサイズおよび種類により、ソフトウェアが所望の通りに行動すること、およびこの実行に干渉するウィルスあるいは他の異質のコードがないこと、を確実にアサートすることが実際的でないことを意味する。典型的な実施形態においては、トラステッドでないコードは、今日のパーソナルコンピュータで見られる通常のオペレーティングシステムおよびアプリケーションからなる場合がある。
SVMM350はさらに、一以上のトラステッドなあるいはセキュアなカーネル360から、および一以上のトラステッドなアプリケーション370から、ハードウェア資源380への直接アクセスを選択的に許可あるいは禁止する。このようなトラステッドな、あるいはセキュアなカーネル360およびトラステッドなアプリケーション370は、トラステッドな分析をそれに対して行う能力を支援すべく寸法および機能が限られうる。トラステッドなアプリケーション370は、セキュアな環境下で実行可能な任意のソフトウェアコード、プログラム、ルーチン、あるいは一式のルーチンでありうる。故に、トラステッドなアプリケーション370は、様々なアプリケーション、あるいはコード列でありえ、あるいはJavaアプレットのような比較的小さいアプリケーションでありえる。
システム資源保護あるいは優先度を変更しうるオペレーティングシステム340あるいはカーネル360により通常実行される命令あるいは動作は、SVMM350によりトラップ、選択的に許可、部分的に許可、あるいは拒絶されうる。一例として、典型的な実施形態においては、このかわりに、通常オペレーティングシステム340あるいはカーネル360により実行されるプロセッサのページテーブルの変更命令が、SVMM350によりトラップされえ、これにより、要求が仮想マシンのドメイン外でページ優先度を変更しようと試みなかったことを確かめうる。
図4を参照すると、本発明の一実施形態における方法400におけるソフトウェアおよび他のプロセスブロックのフローチャートが示されている。
方法400のブロック410において論理プロセッサは、後続のSENTER命令によりアクセス可能なSINIT−ACおよびSVMMモジュールのコピーを作成する。本例においては、ILPはSINIT−ACおよびSVMMコードを大容量記憶装置から物理メモリにロードする。代替的実施形態においては、ILPだけでなくて任意の論理プロセッサがこれを行ってよい。プロセッサは、ブロック412で示されるように、SENTER命令を実行することでILPとなる。
ブロック420においては、SENTER命令は、システム200内の全ての論理プロセッサがチップセット240に(例えばEXISTSレジスタ270に)登録されているか検証する。チップセットは、ポイントツーポイントファブリックに連結されるプロセッサを含むエージェントのリストを維持する。ブロック422において、SENTER命令は、QUIESCEインジケータ246に書き込んで、チップセット240にシステム200を休止させる。ブロック424において、チップセット240は、「STOP_REQ」信号を各マスターでないプロセッサに送り、各マスターでないプロセッサにそれらの処理を終了させ、それらのバッファをドレインさせ、「STOP_ACK」信号をチップセット240に戻してそれらが休止状態に入ったことを通知する。ブロック426において、QUIESCEDフラグ248を設定して、チップセット240がSTOP_ACK信号を、チップセット240に登録されている全ての論理プロセッサを代表して、全てのエージェントから受信したことを示す。
ブロック430において、ILPはチップセットの公開鍵およびSINIT−ACのメモリレジデントコピーを、安全に実行すべく自身のセキュアなメモリに移動する。ブロック432において、ILPは鍵を使ってSINIT−ACのセキュアなメモリレジデントコピーの有効性を確認して実行する。SINIT−ACの実行により、システム構成およびSVMMコピーのテストを行ってよく、その後SVMMの識別情報を登録して、最後にブロック434にてSVMMの実行を開始する。ブロック436において、休止状態のマスターはWUIESCEインジケータ246をクリアして、ブロック438でチップセット240に対してシステム200を休止状態から復帰させる。
以下に本発明の実施形態の一例を示す。
[実施形態1]
システムであって、
セキュアなエンター命令を実行する第1のプロセッサと、
前記セキュアなエンター命令の実行中に、前記システムを休止状態に入らせるチップセットと、を含むシステム。
[実施形態2]
前記第1のプロセッサを前記チップセットに連結するポイントツーポイントファブリックをさらに含む、実施形態1に記載のシステム。
[実施形態3]
前記ポイントツーポイントファブリックにより前記チップセットに連結される第2のプロセッサをさらに含み、
前記チップセットは、前記セキュアなエンター命令の実行中に、さらに前記第2のプロセッサを前記休止状態に入らせる、実施形態2に記載のシステム。
[実施形態4]
前記チップセットは、さらに前記システムを、前記第1のプロセッサおよび前記チップセットだけが前記ポイントツーポイントファブリックを介して通信する前記休止状態に入らせる、実施形態2に記載のシステム。
[実施形態5]
トラステッドなプラットフォームモジュールをさらに含み、
前記トラステッドなプラットフォームモジュールは前記休止状態中に前記第1のプロセッサにアクセス可能である、実施形態1に記載のシステム。
[実施形態6]
前記第1のプロセッサは、セキュアな初期化認証コードモジュールをさらに実行する、実施形態1に記載のシステム。
[実施形態7]
前記第1のプロセッサは、セキュアな仮想マシン監視モジュールをさらに実行する、実施形態1に記載のシステム。
[実施形態8]
前記チップセットは、前記チップセットが前記システムを前記休止状態に入らせるべく前記第1のプロセッサにアクセス可能なインジケータを含む、実施形態1に記載のシステム。
[実施形態9]
前記チップセットは、
前記チップセットが前記システムを前記休止状態に入らせるべく前記第1のプロセッサにアクセス可能なインジケータと、
前記システムの各プロセッサの識別情報を示す第1の記憶位置と、を含み、
前記第2のプロセッサは、前記第2のプロセッサが前記ポイントツーポイントファブリックに接続されていることを示す第2の記憶位置を含み、
前記第1のプロセッサは、前記チップセットに前記システムを前記休止状態に入らせるべく前記インジケータにアクセスする前に前記第2のプロセッサの識別情報(identity)が前記第1の記憶位置に示されていることを検証するロジックを含む、実施形態3に記載のシステム。
[実施形態10]
ポイントツーポイントファブリックを介してチップセットに連結される第1のプロセッサ上で、セキュアなエンター命令の実行を開始することと、
セキュアなエンター命令の実行中に、前記チップセットに、前記ポイントツーポイントファブリックに連結される第2のプロセッサを休止状態に入らせることと、を含む方法。
[実施形態11]
前記チップセットが、前記ポイントツーポイントファブリックに連結されるエージェントのリストを維持することをさらに含む、実施形態10に記載の方法。
[実施形態12]
前記第2のプロセッサを介して前記ポイントツーポイントファブリックに連結されるエージェントの数を識別する、前記第2のプロセッサ内の記憶位置を読み出すことをさらに含む、実施形態11に記載の方法。
[実施形態13]
前記休止状態中に前記第1のプロセッサが、トラステッドなプラットフォームモジュールにアクセスすることをさらに含む、実施形態10に記載の方法。
[実施形態14]
セキュアな初期化認証モジュールを実行することをさらに含む、実施形態13に記載の方法。
[実施形態15]
前記セキュアな初期化認証モジュールを実行する前に前記休止状態に入ったことを検証すべく前記チップセット内のインジケータを読み出すことをさらに含む、実施形態14に記載の方法。
[実施形態16]
セキュアな仮想マシン監視モジュールを実行することをさらに含む、実施形態13に記載の方法。
[実施形態17]
前記セキュアな仮想マシン監視モジュールを実行する前に前記休止状態に入ったことを検証すべく前記チップセット内のインジケータを読み出すことをさらに含む、実施形態16に記載の方法。
[実施形態18]
前記休止状態に入る前に、前記第2のプロセッサに、自身のイベント処理を終了させ、自身のバッファをドレインさせることをさらに含む、実施形態10に記載の方法。
[実施形態19]
前記休止状態に入ったことを通知すべく前記チップセットに信号を送る前記第2のプロセッサをさらに含む、実施形態18に記載の方法。
[実施形態20]
セキュアな動作の初期化を呼び出すべく第1の命令を実行するセキュアなエンターロジックと、
チップセットに対して、ポイントツーポイントファブリックを介して前記チップセットに連結されるエージェントを休止状態に入らせる相互接続メッセージロジック(interconnection messaging logic)と、を含むプロセッサ。
前述の記載において、本発明を特定の例示的実施形態により記載してきた。しかし、添付請求項に示す本発明の幅広い精神および範囲から逸脱しない範囲で、様々な変形例および変更例を考えられることが明らかである。故に、明細書および図面は、限定的な意味ではなくて例示的な意味で捉えられるべきである。

Claims (10)

  1. プロセッサであって、
    セキュアな起動プロセスを開始するセキュアなエンター命令に応答して、
    前記プロセッサにポイントツーポイント相互接続を介して連結された他のプロセッサに、休止状態に入らせ、自身が前記休止状態に入ったことを確認する信号を前記プロセッサ及び前記他のプロセッサにポイントツーポイント相互接続を介して連結されたチップセットに向けて送らせ、
    前記他のプロセッサが、前記休止状態に入ったことを確認し、
    前記他のプロセッサが休止状態に入ったことを確認した後で、セキュアな起動ソフトウエアをセキュアなメモリにコピーし、
    前記セキュアなメモリ内の前記セキュアな起動ソフトウエアの実行を開始し、
    前記セキュアな起動ソフトウエアの実行の後に、プロセッサ実行制御をセキュアな仮想マシンモニタに転送して、前記セキュアな仮想マシンモニタの自己初期化ルーチンを実行する、
    SENTERロジックと、
    前記ポイントツーポイント相互接続に連結されるエージェントの数を識別し、システムトポロジーが正確に表されているかを検証するために用いられるレジスタと、
    プラットフォーム構成レジスタをリセットするための複数のプロセッサ間の特別な相互接続メッセージを送信する相互接続メッセージロジックと、
    を備えるプロセッサ。
  2. 前記ロジックは、前記セキュアな起動ソフトウエアを前記セキュアなメモリにコピーし、前記セキュアなメモリ中の前記セキュアな起動ソフトウエアを検証する、
    請求項1に記載のプロセッサ。
  3. 前記ロジックは、前記セキュアな起動ソフトウエアに制御を転送することで、前記セキュアな起動ソフトウエアの実行を開始する
    請求項1又は2に記載のプロセッサ。
  4. 前記他のプロセッサが前記セキュアな環境において実行を開始する位置を供給する
    請求項1から3のいずれか1項に記載のプロセッサ。
  5. ポイントツーポイント相互接続に連結されるエージェントの数を識別し、システムトポロジーが正確に表されているかを検証するために用いられるレジスタを含む第1のプロセッサにより、前記第1のプロセッサにポイントツーポイント相互接続を介して連結された第2のプロセッサに、休止状態に入らせ、自身が前記休止状態に入ったことを確認する信号を前記第1のプロセッサ及び前記第2のプロセッサにポイントツーポイント相互接続を介して連結されたチップセットに向けて送らせること、前記第2のプロセッサが前記休止状態に入ったことを確認すること、及び、前記第2のプロセッサが休止状態に入ったことを確認した後でセキュアな起動ソフトウエアをセキュアなメモリにコピーすることを含み、セキュアな起動プロセスを開始するセキュアなエンター命令を実行する段階と、
    前記セキュアなエンター命令に応答して、前記第1のプロセッサにより、前記セキュアなメモリ内の前記セキュアな起動ソフトウエアを実行する段階と、
    前記セキュアな起動ソフトウエアの実行の後に、プロセッサ実行制御をセキュアな仮想マシンモニタに転送して、前記セキュアな仮想マシンモニタの自己初期化ルーチンを実行する段階と、
    相互接続メッセージロジックにより、プラットフォーム構成レジスタをリセットするための複数のプロセッサ間の特別な相互接続メッセージを送信する段階と、
    を含む方法。
  6. 前記セキュアなエンター命令に応じて、前記セキュアなメモリ内の前記セキュアな起動ソフトウエアを検証する段階をさらに含む、
    請求項5に記載の方法。
  7. 前記セキュアなエンター命令に応じて、前記セキュアなメモリ内の前記セキュアな起動ソフトウエアを検証する段階は、
    前記セキュアな起動ソフトウエアのデジタル署名を使用する段階を含む、
    請求項6に記載の方法。
  8. 前記セキュアな起動ソフトウエアの前記デジタル署名は、前記セキュアな起動ソフトウエアのハッシュから生成される、
    請求項7に記載の方法。
  9. 前記セキュアな環境において前記第2のプロセッサが実行を開始する位置を提供する段階をさらに含む、
    請求項5から8のいずれか1項に記載の方法。
  10. ポイントツーポイント相互接続に連結されるエージェントの数を識別し、システムトポロジーが正確に表されているかを検証するために用いられるレジスタを含み、セキュアな起動プロセスを開始するセキュアなエンター命令に応じて、第2のプロセッサに休止状態に入らせ、自身が前記休止状態に入ったことを確認する信号を第1のプロセッサ及び前記第2のプロセッサにポイントツーポイント相互接続を介して連結されたチップセットに向けて送らせ、セキュアな起動ソフトウエアをセキュアなメモリにコピーし、前記セキュアなメモリ内の前記セキュアな起動ソフトウエアの実行を開始する前記第1のプロセッサ、及び、
    前記第1のプロセッサに前記ポイントツーポイント相互接続を介して連結し、前記セキュアなメモリ内の前記セキュアな起動ソフトウエアの検証の後に、前記第1のプロセッサにより提供された位置における前記セキュアな環境において実行を開始する前記第2のプロセッサを含み、
    前記第1のプロセッサは、前記セキュアな起動ソフトウエアの実行の後に、プロセッサ実行制御をセキュアな仮想マシンモニタに転送して、前記セキュアな仮想マシンモニタの自己初期化ルーチンを実行し、
    前記第1のプロセッサは、前記セキュアなメモリに前記セキュアな起動ソフトウエアをコピーする前に、前記第2のプロセッサが前記休止状態に入ったことを確認し、
    前記第1のプロセッサは、プラットフォーム構成レジスタをリセットするための複数のプロセッサ間の特別な相互接続メッセージを送信する相互接続メッセージロジックを備える、
    システム。
JP2014106374A 2006-05-26 2014-05-22 ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行 Expired - Fee Related JP6026462B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/442,230 2006-05-26
US11/442,230 US8973094B2 (en) 2006-05-26 2006-05-26 Execution of a secured environment initialization instruction on a point-to-point interconnect system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011259595A Division JP6012166B2 (ja) 2006-05-26 2011-11-28 プロセッサ、方法、及びシステム

Publications (2)

Publication Number Publication Date
JP2014194804A JP2014194804A (ja) 2014-10-09
JP6026462B2 true JP6026462B2 (ja) 2016-11-16

Family

ID=38750970

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2009506817A Expired - Fee Related JP4883459B2 (ja) 2006-05-26 2007-05-25 ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
JP2011259595A Expired - Fee Related JP6012166B2 (ja) 2006-05-26 2011-11-28 プロセッサ、方法、及びシステム
JP2014106374A Expired - Fee Related JP6026462B2 (ja) 2006-05-26 2014-05-22 ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
JP2016133348A Pending JP2016197436A (ja) 2006-05-26 2016-07-05 ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2009506817A Expired - Fee Related JP4883459B2 (ja) 2006-05-26 2007-05-25 ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
JP2011259595A Expired - Fee Related JP6012166B2 (ja) 2006-05-26 2011-11-28 プロセッサ、方法、及びシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016133348A Pending JP2016197436A (ja) 2006-05-26 2016-07-05 ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行

Country Status (7)

Country Link
US (3) US8973094B2 (ja)
JP (4) JP4883459B2 (ja)
KR (1) KR101263061B1 (ja)
CN (1) CN101454751B (ja)
DE (1) DE112007001321T5 (ja)
TW (1) TWI431533B (ja)
WO (1) WO2007140300A1 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8973094B2 (en) * 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system
US9304964B2 (en) * 2006-06-30 2016-04-05 Intel Corporation Separable transport layer in cache coherent multiple component microelectronic systems
US9143328B2 (en) 2008-05-16 2015-09-22 Hewlett-Packard Development Company, L.P. System and method for providing a system management command
US8989705B1 (en) 2009-06-18 2015-03-24 Sprint Communications Company L.P. Secure placement of centralized media controller application in mobile access terminal
US8578138B2 (en) * 2009-08-31 2013-11-05 Intel Corporation Enabling storage of active state in internal storage of processor rather than in SMRAM upon entry to system management mode
WO2011078855A1 (en) * 2009-12-22 2011-06-30 Intel Corporation Method and apparatus to provide secure application execution
US9087200B2 (en) 2009-12-22 2015-07-21 Intel Corporation Method and apparatus to provide secure application execution
US9921967B2 (en) 2011-07-26 2018-03-20 Intel Corporation Multi-core shared page miss handler
EP2817755B1 (en) * 2012-02-20 2021-03-24 Intel Corporation Directed wakeup into a secured system environment
US8712407B1 (en) 2012-04-05 2014-04-29 Sprint Communications Company L.P. Multiple secure elements in mobile electronic device with near field communication capability
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US8862181B1 (en) 2012-05-29 2014-10-14 Sprint Communications Company L.P. Electronic purchase transaction trust infrastructure
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9066230B1 (en) 2012-06-27 2015-06-23 Sprint Communications Company L.P. Trusted policy and charging enforcement function
US9053042B2 (en) * 2012-06-27 2015-06-09 Intel Corporation Method, system, and device for modifying a secure enclave configuration without changing the enclave measurement
US8649770B1 (en) * 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US8863252B1 (en) 2012-07-25 2014-10-14 Sprint Communications Company L.P. Trusted access to third party applications systems and methods
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US8954588B1 (en) 2012-08-25 2015-02-10 Sprint Communications Company L.P. Reservations in real-time brokering of digital content delivery
US8752140B1 (en) 2012-09-11 2014-06-10 Sprint Communications Company L.P. System and methods for trusted internet domain networking
US9747102B2 (en) 2012-12-28 2017-08-29 Intel Corporation Memory management in secure enclaves
US9323686B2 (en) 2012-12-28 2016-04-26 Intel Corporation Paging in secure enclaves
US9189411B2 (en) 2012-12-28 2015-11-17 Intel Corporation Logging in secure enclaves
US20140189246A1 (en) * 2012-12-31 2014-07-03 Bin Xing Measuring applications loaded in secure enclaves at runtime
US9037854B2 (en) * 2013-01-22 2015-05-19 Amazon Technologies, Inc. Privileged cryptographic services in a virtualized environment
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
US8881977B1 (en) 2013-03-13 2014-11-11 Sprint Communications Company L.P. Point-of-sale and automated teller machine transactions using trusted mobile access device
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9049186B1 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone re-provisioning and re-use capability for refurbished mobile devices
US9049013B2 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
US8984592B1 (en) 2013-03-15 2015-03-17 Sprint Communications Company L.P. Enablement of a trusted security zone authentication for remote mobile device management systems and methods
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US9069952B1 (en) 2013-05-20 2015-06-30 Sprint Communications Company L.P. Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9703733B2 (en) 2014-06-27 2017-07-11 Intel Corporation Instructions and logic to interrupt and resume paging in a secure enclave page cache
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
KR101799343B1 (ko) * 2016-05-16 2017-11-22 주식회사 코인플러그 인증 정보의 사용 방법, 파기 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
KR101780636B1 (ko) * 2016-05-16 2017-09-21 주식회사 코인플러그 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
US10552344B2 (en) 2017-12-26 2020-02-04 Intel Corporation Unblock instruction to reverse page block during paging

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603000A (en) * 1989-05-15 1997-02-11 Dallas Semiconductor Corporation Integrated circuit memory with verification unit which resets an address translation register upon failure to define one-to-one correspondences between addresses and memory cells
US5339405A (en) 1992-03-30 1994-08-16 International Business Machines Corporation Command quiesce function
US5758141A (en) * 1995-02-10 1998-05-26 International Business Machines Corporation Method and system for selective support of non-architected instructions within a superscaler processor system utilizing a special access bit within a machine state register
US5694617A (en) * 1995-03-31 1997-12-02 International Business Machines Corporation System for prioritizing quiesce requests and recovering from a quiescent state in a multiprocessing system with a milli-mode operation
US5659750A (en) * 1995-05-15 1997-08-19 Nvidia Corporation Apparatus for context switching of input/output devices in responses to commands from unprivileged application programs
US5905861A (en) * 1996-12-02 1999-05-18 Lovell; William S. Data authentication circuit
JP3546678B2 (ja) 1997-09-12 2004-07-28 株式会社日立製作所 マルチos構成方法
JP2000076216A (ja) * 1998-09-02 2000-03-14 Nec Corp マルチプロセッサシステム及びそのプロセッサ二重化方法並びにその制御プログラムを記録した記録媒体
US6493741B1 (en) * 1999-10-01 2002-12-10 Compaq Information Technologies Group, L.P. Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit
JP3749640B2 (ja) * 1999-10-15 2006-03-01 株式会社東芝 Icカード利用装置、icカード及び記憶媒体
US6754829B1 (en) * 1999-12-14 2004-06-22 Intel Corporation Certificate-based authentication system for heterogeneous environments
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
JP3576945B2 (ja) 2000-09-13 2004-10-13 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステムにおける命令実行方法及びその装置
JP2002197047A (ja) * 2000-10-31 2002-07-12 Hewlett Packard Co <Hp> 入力/出力読出しデータがプロセッサローカルキャッシュに直接配置されるコンピュータシステム
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US7103771B2 (en) 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
GB0205046D0 (en) * 2002-03-05 2002-04-17 Bitarts Ltd Security arrangement
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030229794A1 (en) 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US7379418B2 (en) * 2003-05-12 2008-05-27 International Business Machines Corporation Method for ensuring system serialization (quiesce) in a multi-processor environment
US20050114687A1 (en) * 2003-11-21 2005-05-26 Zimmer Vincent J. Methods and apparatus to provide protection for firmware resources
US9189230B2 (en) * 2004-03-31 2015-11-17 Intel Corporation Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution
US7698552B2 (en) 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
US20060059269A1 (en) * 2004-09-13 2006-03-16 Chien Chen Transparent recovery of switch device
US8145816B2 (en) 2004-09-15 2012-03-27 Intel Corporation System and method for deadlock free bus protection of resources during search execution
US7934076B2 (en) 2004-09-30 2011-04-26 Intel Corporation System and method for limiting exposure of hardware failure information for a secured execution environment
US20060288209A1 (en) * 2005-06-20 2006-12-21 Vogler Dean H Method and apparatus for secure inter-processor communications
US7822978B2 (en) * 2005-07-22 2010-10-26 Intel Corporation Quiescing a manageability engine
US8286002B2 (en) * 2005-12-02 2012-10-09 Alcatel Lucent Method and apparatus for providing secure remote access to enterprise networks
US8973094B2 (en) 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system

Also Published As

Publication number Publication date
JP6012166B2 (ja) 2016-10-25
JP2014194804A (ja) 2014-10-09
JP2009534763A (ja) 2009-09-24
US20160085965A1 (en) 2016-03-24
JP2016197436A (ja) 2016-11-24
KR101263061B1 (ko) 2013-05-09
TWI431533B (zh) 2014-03-21
US20070277223A1 (en) 2007-11-29
JP4883459B2 (ja) 2012-02-22
KR20090005219A (ko) 2009-01-12
TW200820081A (en) 2008-05-01
WO2007140300A1 (en) 2007-12-06
CN101454751A (zh) 2009-06-10
CN101454751B (zh) 2016-01-20
US8973094B2 (en) 2015-03-03
JP2012089147A (ja) 2012-05-10
US20130212672A1 (en) 2013-08-15
DE112007001321T5 (de) 2009-04-23

Similar Documents

Publication Publication Date Title
JP6026462B2 (ja) ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
JP6404283B2 (ja) 安全な環境を初期化する命令を実行するシステムおよび方法
US8583908B2 (en) Enhanced network and local boot of Unified Extensible Firmware Interface images
US7028149B2 (en) System and method for resetting a platform configuration register

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160523

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160823

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: 20160913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161012

R150 Certificate of patent or registration of utility model

Ref document number: 6026462

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

LAPS Cancellation because of no payment of annual fees