JP4837985B2 - System and method for securely booting a computer having a trusted processing module - Google Patents

System and method for securely booting a computer having a trusted processing module Download PDF

Info

Publication number
JP4837985B2
JP4837985B2 JP2005353934A JP2005353934A JP4837985B2 JP 4837985 B2 JP4837985 B2 JP 4837985B2 JP 2005353934 A JP2005353934 A JP 2005353934A JP 2005353934 A JP2005353934 A JP 2005353934A JP 4837985 B2 JP4837985 B2 JP 4837985B2
Authority
JP
Japan
Prior art keywords
computer
secret
boot
value
data
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
JP2005353934A
Other languages
Japanese (ja)
Other versions
JP2006323814A (en
Inventor
ディー.レイ ケニス
アンソニー シュワルツ ジュニア ジェームズ
ハンター ジェミー
ディー.シュワルツ ジョナサン
トム ステファン
イングランド ポール
ハンフィリーズ ラッセル
Original Assignee
マイクロソフト コーポレーション
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
Priority to US11/031,161 priority Critical
Priority to US11/031,161 priority patent/US7725703B2/en
Application filed by マイクロソフト コーポレーション filed Critical マイクロソフト コーポレーション
Publication of JP2006323814A publication Critical patent/JP2006323814A/en
Application granted granted Critical
Publication of JP4837985B2 publication Critical patent/JP4837985B2/en
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Description

本発明は、一般に、コンピューティングの分野に関する。 The present invention relates generally to the field of computing. より具体的には、本発明は、ブート中に用いられるデータの無許可の修正を防止し、ブート中にのみ必要とされるリソースへのブート後のアクセスを防止することによって、コンピュータのセキュリティを強化するためのシステムおよび方法を提供する。 More particularly, the present invention is to prevent unauthorized modification of data used during boot, by preventing access after booting the resources needed only during boot, the security of the computer to provide a system and method for enhancing.

セキュリティは、コンピュータ・ユーザにとって、広く行きわたった問題になった。 Security, for computer users, became a problem that widespread. ウイルス、ワーム、トロイの木馬、個人情報の盗難、ソフトウェア、およびメディア・コンテンツの違法コピー、およびデータ破壊の脅威を使用する恐喝が横行している。 Viruses, worms, Trojan horses, identity theft, software, and media piracy of content, and extortion to use the threat of data corruption are rampant. オペレーティング・システムは、こうした攻撃を防ぐために、多数のセキュリティ機能を提供することができる。 The operating system, in order to prevent such attacks, it is possible to provide a number of security features. しかしながら、オペレーティング・システムのセキュリティ機能は、これらがディスエーブルにされた場合に無効になる。 However, the security features of the operating system, become invalid when they are disabled. こうしたセキュリティ機能をディスエーブルにすることが試みられた場合、オペレーティング・システムのブート中に試みられる可能性が高い。 If the attempts have been made to these security features disabled, it is likely to be tried in the boot of the operating system. ブート後、オペレーティング・システムは、該オペレーティング・システム自体および該オペレーティング・システムが管理するデータおよびプロセスを保護するために、多数の適切な機能を所定位置に有することができる。 After boot, the operating system, in order to protect the data and process the operating system itself and the operating system manages, may have a number of appropriate functions in position. しかしながら、ブート中には、まだ、これらの機能を初期化することができず、バイパスおよび/または不正変更に対して無防備である。 However, during boot, yet, can not be initialized these functions, it is vulnerable to bypass and / or tampering.

現在のところオペレーティング・システムによって用いられる例示的なセキュリティ機能は、暗号化されたファイル・システム(EFS)および信頼できるプラットフォーム・モジュール(TPM)である。 Currently example security features for use by the operating system is an encrypted file system (EFS) and trusted platform module (TPM). EFS機能は、選択された機密データを暗号化する。 EFS feature encrypts sensitive data selected. オペレーティング・システムは、ユーザがログオンするまでEFSデータにアクセスする必要がない。 The operating system does not need to access EFS data until a user logs on. オペレーティング・システムのブート後、ユーザは、ログオン・プロセスに対してパスワードを提供することができる。 After booting of the operating system, the user is able to provide a password for the logon process. このパスワードは、EFSデータを解読することができる解読鍵へのアクセスを許可するものである。 This password is intended to allow access to the decryption key can decrypt the EFS data. 一例として、MICROSOFT WINDOWS(登録商標)オペレーティング・システムは、SYSKEYの可用性に依存して、これらのプロセスの正しい性能を行うことによって、種々のプロセスを保護するために用いられるシステム・キー即ち「SYSKEY」を使用する。 As an example, MICROSOFT WINDOWS (R) operating system, depending on the availability of SYSKEY, by performing the correct performance of these processes, i.e. the system key used to protect various processes "SYSKEY" to use. 例えば、オペレーティング・システムによって暗号化された形で格納されるEFSデータを解読するのに必要とされる鍵を、SYSKEYから導き出すことが可能である。 For example, the key needed to decrypt EFS data that is stored in encrypted form by the operating system, it is possible to derive from the SYSKEY.

したがって、制限的な動作を行うのに必要とされる鍵は、ログオン手続きによって保護される。 Therefore, the key needed to carry out the limiting operation is protected by logon procedure. 一般に、ユーザは、システムの使用を開始する前に、ユーザ自身を正しく認証しなければならない。 In general, the user is, before you start using the system, must be properly authenticated the user itself. 鍵の使用は、ユーザが正しく認証する場合にのみイネーブルにされる。 The use of keys, the user is only enabled to authenticate correctly. しかしながら、鍵へのアクセスを保護するためにログオン手続きを用いることは、オペレーティング・システムが正しいログオン手続きを読み込んだこと、および稼動中の非認識(rogue)コードによって、該鍵の使用が他の方法でイネーブルにされなかったことを仮定する。 However, it is possible to read the operating system is correct logon procedure, and the non-recognition (rogue) code running, use of said key is any other method of using the logon procedure to protect access to the key in assuming that has not been enabled. 正しいオペレーティング・システム・ローダーの代わりに、ブート中に非認識オペレーティング・システム・ローダーを使用した場合、この非認識ローダーは、オペレーティング・システムを用いて非認識ログオン・プログラムを読み込ませることがある。 Instead of the correct operating system loader, when using the non-recognition operating system loader in the boot, the non-recognition loader may be loaded non-recognition logon program using the operating system. この非認識ログオン・プログラムは、適正なパスワードの入力なしに、EFS鍵の使用をイネーブルにすることができる。 This non-recognition logon program, without the input of the appropriate password, it is possible to enable the use of EFS key. オペレーティング・システムを読み込むことで、セキュリティ侵害の機会がもたらされるので、こうした状況で鍵を保護するには、オペレーティング・システムの読み込みを正しく行うことが確認できる状況のもとで、オペレーティング・システムを読み込むことが必要である。 By reading the operating system, because the chance of a security breach is brought, to protect the key in this situation, under the situation where it can be confirmed to read the operating system properly, load the operating system It is necessary.

EFSは、ブートされたオペレーティング・システムによってサポートされる機能であるので、ブート・プロセス中に漏れる特定のデータの保護に、同じような効果はない。 EFS is because a feature supported by a booted operating system, the protection of the particular data being compromised during the boot process, not the same effect. EFSは、幾つかのシステム・サービスに必要とされる秘密、ネットワーク・サービス(例えば、個人のサーバまたは公開ウェブ・サーバ)によって使用されるデータベース、および企業のドメインに接続するためのRAS資格証明書のような、ユーザがログオンする前に必要とされるユーザ・データを保護することができない。 EFS is a secret that is required for some system services, network services (e.g., personal server or public web server) RAS credentials for connecting the database, and the corporate domain used by like, the user can not protect user data that is required before logging on.

信頼できる処理モジュール(TPM)は、コンピュータ上で動作するソフトウェアの信頼性を保証する。 Reliable processing module (TPM) ensures the reliability of the software running on the computer. 一般に、このことは、信頼できるデータの測定値をTPMにサブミットし、TPMに依存して該測定値がどんなものであるべきかを判断することによって達成される。 In general, this is, submit a measurement of reliable data on the TPM, it is achieved by the measured value depending on the TPM to determine whether to be anything. コンピュータ・セキュリティは、多くの場合、ソフトウェア・コンポーネントの動作を予測できることに依存している。 Computer security is dependent on being able to predict many of the case, the operation of the software components. 一般に、システムのセキュリティは、周知の良好な状態から進行する、動作が理解されている周知のプログラムが、予測可能な方法で動作するという前提から生じる。 In general, the system of security, proceeding from a known good state, known program operation is understood, arises from the assumption that operate in a predictable manner. 逆に、一般に、周知のプログラムを交換するかまたは変更することによって、あるいはその動作が理解されていない状態でプログラムを実行することによって、セキュリティの妨害(その設計者が考えた以外の方法でコンピュータ・システムを動作させることを含むことができる)を実現することができる。 Conversely, in general, by either or change to replace the well-known program or a computer by executing a program in a state where its operation is not understood, interfere with the security (otherwise than its designers thought, system can be made comprises operating) can be realized. したがって、コンピューティング環境にセキュリティを提供する1つの態様は、周知のプログラムが用いられ、該プロセスが周知の良好な状態から進行することを確認するステップを含む。 Accordingly, one aspect of providing security to the computing environment, known programs are used, comprising the step of the process to verify that proceeding from a known good state. データのハッシュ値のような測定値は、以前にTPM内に秘匿された(sealed)値と合致するので、TPMは、そのデータがどんなものであるべきかを検証することによって、このことを達成する。 Measurement such as a hash value of the data, so consistent with concealed (sealed) value in the TPM previously, TPM, by which the data is to verify whether should be what, accomplish this to.

EFSと同様に、TPMは、ブートされたコンピュータ上で動作しているアプリケーションの完全性に関して一定の保証を提供するようにうまく使用された。 As with EFS, TPM has been successfully used to provide certain guarantees an integrity of applications running on a booted computer. TPMに対して、多数の付加的な制限も存在する。 Against TPM, there are also a number of additional limitations. 例えば、標準的な方法でTPMを用いるマシンは、現場で再構成することができない(例えば、会議中にネットワークカードをラップトップに挿入することなど)。 For example, a machine that uses the TPM in a standard way, can not be reconfigured in the field (for example, such as inserting a network card in a laptop during a meeting). TPMは、初期化されたオペレーティング・システムに、厳しい制限と複雑性を与える。 TPM is, in initialized operating system, give the severe limitations and complexity.

今日の大部分のTPMは、現在のところ、非特許文献1において入手可能な、「Trusted Platform Module(TPM)仕様バージョン1.2」という名称のTRUSTED COMPUTING GROUP(登録商標)(TCG)規格に準拠している。 TPM of the majority of today is currently available in the non-patent literature 1, TRUSTED COMPUTING GROUP (registered trademark), entitled "Trusted Platform Module (TPM) Specification Version 1.2" (TCG) compliant with the standard doing. TPMは、プラットフォームにより実行されるコードの信頼を確立するために、コンピューティング・プラットフォームに組み込むことができるサブシステムである。 TPM is to establish trust code executed by the platform, is a subsystem that may be incorporated into computing platforms. セキュリティおよび暗号コミュニティが、セキュリティを提供するための機構を評価することを可能にし、顧客の理解および新しいソフトウェア機能の信頼を深めるので、信頼のおけるコードを確立するための機構の標準化は、有益なことである。 Security and encryption community, make it possible to evaluate the mechanism for providing security, since deepen the trust of understanding and new software features of the customer, standardization of the mechanism for establishing a reliable code, useful it is. このことはまた、TCG(登録商標)によって考えられ、促進されるような規格の実装および改良におけるイノベーションを促進する。 This also contemplated by the TCG (registered trademark), to promote innovation in standard implementations and modifications as promoted. TCG(登録商標)仕様に述べられるように、「製造者は、様々な能力およびコストポイントを有するサブシステムをインストールすることにより、市場で競合するであろう」。 TCG As noted in (registered trademark) specification, "manufacturer, by installing subsystems with varying capabilities and cost points, will compete in the market."

オペレーティング・システムによって用いられる上記の例示的なセキュリティ機構は、ブートをセキュリティ保護するための幾つかの技術によって補われる。 The above exemplary security mechanisms employed by operating systems are supplemented by some techniques for securing boot. マシンのグローバル・パスワードを用いて秘密を保護するために、マシンのパスワード認証を用いることができる。 In order to protect the secret by using a global password of the machine, it is possible to use the password authentication of the machine. しかしながら、このことは、マシンがブートする前にパスワードを入力することを必要とする。 However, this machine requires you to enter a password before booting. マシンの多数のユーザがパスワードを共有しなければならないことが、第1のセキュリティ欠陥である。 That a number of the user's machine does not have to share a password, which is the first of the security flaws. 第2の欠陥は、パスワードの入力のための典型的なユーザ・インターフェースを与えることができないので、使いやすさの問題が生じることである。 Second defect, since it can not provide an exemplary user interface for entering a password is that the usability problems. このことは、タブレット型PCの場合、特に面倒である。 This means that, in the case of a tablet PC, a particularly troublesome. マシンのグローバル・パスワードは、紙に書かれ、マシンの前に置かれることが多い。 Global password of the machine, written on paper, are often placed in front of the machine. したがって、パスワードは有効であるが、高い頻度で望まれるタイプの高度なユーザ保護を可能にするものではない。 Thus, the password is effective, does not allow for sophisticated user protection of the type desired in high frequency.

第2に、秘密は、取り外し可能なメディア上に格納することができる。 Second, secret can be stored on removable media. また、この特徴は、セキュリティの観点から理論上有効なものであるが、実際は問題になることが多い。 Also, this feature is those theoretically effective in terms of security, in fact it is often a problem. この場合の基本的な問題は、使用に適したシステムの働きを保証するために、取り外し可能なメディアが、ほとんどの場合マシンの内部に残されるという点である。 The basic problem in this case is to ensure the function of the system suitable for use, removable media, is that is left inside the most cases the machine.
安全なオペレーティング・システム・ブートの適切な保証がない場合、コンピュータ上のデータを保護するユーザの能力は、該コンピュータ上で動作しているオペレーティング・システムのセキュリティ機能ではなく、こうしたコンピュータが固定されている建物のセキュリティによって制限される。 If there is no appropriate guarantees secure operating system boot, the ability of the user to protect the data on the computer, not the security features of the operating system running on the computer, such a computer is fixed It is limited by the building of the security you are. ラップトップの人気と、コンピュータの盗難、特にラップトップの盗難の増加につれて、コンピュータが窃盗犯の手に入ったときに、オペレーティング・システムのセキュリティが危険にさらされないままであることを可能にする解決法が好ましい。 And the popularity of laptop, computer theft, especially as the increase in laptop theft, solve the computer when you enter into the hands of thieves, to allow the operating system of security remains that are not exposed to danger the law is preferable.

ブート・プロセスをセキュリティ保護するためにTPMを用いるシステムおよび方法は、大部分が未開拓のままである。 The system and method using a TPM to secure a boot process remain largely unexplored. ブート・プロセスにおいてTPMを使用することに加えて、ブート・プロセスの保守を行い、こうしたコンピュータ上のデータへのアクセスを制御するためのシステムおよび方法が、有用であることが判明した。 In addition to using the TPM in the boot process, performs maintenance of the boot process, systems and methods for controlling access to data on such a computer has been found to be useful. こうしたシステムおよび方法の説明は、特許文献1、特許文献2、および特許文献3に見出すことができる。 Description of such systems and methods can be found in Patent Document 1, Patent Document 2, and Patent Document 3. また、特許文献4も全体的に本発明に関連している。 Also related to the overall invention also Patent Document 4.

に出願された「Systems and Methods for Boot Recovery in a Secure Boot Process on a Computer with a Hardware Security Module」という名称の米国特許第 号(代理人整理番号MSFT4634/311226.01号) It filed a "Systems and Methods for Boot Recovery in a Secure Boot Process on a Computer with a Hardware Security Module" US Pat. No. entitled to (Attorney Docket No. MSFT4634 / 311226.01) に出願された「Systems and Methods for Updating a Secure Boot Process on a Computer with a Hardware Security Module」という名称の米国特許第 号(代理人整理番号MSFT4784/312086.01号) Filed in the "Systems and Methods for Updating a Secure Boot Process on a Computer with a Hardware Security Module" US Pat. No. entitled (Attorney Docket No. MSFT4784 / 312086.01) に出願された「Systems and Methods for Controlling Access to Data on a Computer with a Secure Boot Process」という名称の米国特許出願第___号(代理人整理番号MSFT4635/311227.01号) Filed to the entitled "Systems and Methods for Controlling Access to Data on a Computer with a Secure Boot Process," US patent application Ser. No. ______ (Attorney Docket No. MSFT4635 / 311227.01) 2004年6月30日に出願された「Systems and method for protected operating system boot using state validation」という名称の米国特許出願番号第10/882,134号 Filed on June 30, 2004, entitled "Systems and method for protected operating system boot using state validation" of the name of US patent application Ser. No. 10 / 882,134

上記に鑑みて、本発明は、ソフトウェア・コンポーネントの完全性メトリックを検証するための信頼できるプラットフォーム・モジュール(TPM)を有するコンピュータを、安全にブートするためのシステムおよび方法を提供するものである。 In view of the above, the present invention is to provide a system and method for a computer having a software component integrity metrics trusted platform module to verify the (TPM), safety boots. 本発明と共に用いるTPMは、秘密を、複数のプラットフォーム構成レジスタ(PCR)値に秘匿することができる。 TPM for use with the present invention, it is possible to conceal the secret, the plurality of platform configuration register (PCR) value. PCR値は、ブート・コンポーネントを測定することによって取得することができる。 PCR values ​​may be obtained by measuring boot components. 秘密が秘匿された時点よりブート・コンポーネントが修正されていない場合には、適切なシステム・ブートのために、秘密を取得することができる。 If the secret is not modified boot component from the time of the concealed, for proper system boot, it is possible to acquire the secrets. ブート・コンポーネントの予想されるハッシュ値をPCR内に置くことができ、該予想される値が正しい場合に秘密を開示することができる。 A hash value that is expected boot components can be placed in a PCR, it is possible to disclose the secret if the expected value is correct. 次に、秘密を用いて、ディスク上の場所から実際のブート・コンポーネントを解読することができる。 Then, it is possible by using the secret, to decrypt the actual boot component from a location on disk. 解読されたブート・コンポーネントのハッシュ値を計算し、その結果を予想される値と比較することができる。 It calculates a hash value of the decrypted boot component may be compared with the value expected results. 別の例は、ブート・プロセスの異なる時点において取得可能な、PCR値に秘匿することができる2つの秘密を使用することを伴う。 Another example involves the use of different obtainable at the time, the two secrets can be concealed in the PCR value in the boot process. 第1の秘密は、第1の複数のPCR値が読み込まれたときのみアクセス可能となり、第2の秘密は、第1の複数の値の1つまたは複数が新しい値と置き換えられた後にのみアクセス可能となり、これにより、該第2の秘密へのアクセスを許可するために、必然的に第1の秘密への更なるアクセスが無効にされる。 The first secret is first becomes accessible only when a plurality of PCR values ​​are loaded, a second secret is accessible only after one or more of the first plurality of values ​​has been replaced with the new value possible and will, thereby, to allow access to the second secret inevitably further access to the first secret is disabled. 本発明の他の利点および特徴が、以下に説明される。 Other advantages and features of the present invention are described below.

本発明に従ってコンピュータを安全にブートするためのシステムおよび方法が、添付図面を参照してさらに説明される。 System and method for securely booting a computer in accordance with the present invention is further described with reference to the accompanying drawings.

本発明の種々の実施形態の完全な理解を提供するために、以下の説明および図面において特定の具体的な詳細が述べられる。 In order to provide a thorough understanding of various embodiments of the present invention, certain specific details are set forth in the following description and drawings. しかしながら、本発明の種々の実施形態を不必要に分かりにくくするのを避けるために、以下の開示において、コンピューティングおよびソフトウェア技術と関連することが多い特定の公知の詳細については述べられない。 However, in order to avoid obscuring the various embodiments of the present invention unnecessarily, in the following disclosure, not described details are often specific known associated with computing and software technology. さらに、関連分野の当業者であれば、下記に記載される詳細の1つまたは複数がなくても本発明の他の実施形態を実施できることを理解するであろう。 Furthermore, one of ordinary skill in the pertinent art will understand that they can practice other embodiments of even the present invention one or more without the details described below. 最後に、以下の開示においては、ステップおよびシーケンスを参照して種々の方法が説明されるが、このような説明は、本発明の実施形態を明確に実施するためのものであり、ステップおよび該ステップのシーケンスを本発明の実施に必要なものとみなすべきではない。 Finally, in the following disclosure, various methods with reference to steps and sequences are described, such description is for a clear implementation of embodiments of the present invention, the steps and the step of the sequence should not be regarded as necessary in the practice of the present invention.

以下の詳細な説明は、一般に、上述のような本発明の概略に従っており、必要に応じて、本発明の種々の態様および実施形態の定義をさらに説明し、展開している。 The following detailed description is, generally, follows the outline of the present invention as described above, if necessary, the definition of the various aspects and embodiments of the present invention is further described, has developed. この目的のために、この詳細な説明は、まず、本発明に関連したソフトウェアおよび/またはハードウェア技術を実装するのに適した、図1のコンピューティング環境について述べる。 To this end, this detailed description, first, suitable for implementing the software and / or hardware techniques associated with the present invention, describes the computing environment of FIG. 現代のコンピューティング技術が、多数の別個の装置にわたって実施できることを強調するために、ネットワーク化されたコンピューティング環境が、基本的なコンピューティング環境の拡張として図2に示される。 Modern computing techniques, in order to emphasize that the invention can be practiced over a number of separate devices, networked computing environment is shown in Figure 2 as an extension of the basic computing environment.

次に、ハードウェア・セキュリティ・モジュール(HSM)を利用するコンピューティング・プラットフォームの概要が、図3と関連して提供され、どのように測定値をHSMにサブミットすることができるか、これらの測定値が正しい場合、どれを構成して鍵をシステム・リソースに戻すことができるかを説明する。 Next, outline of the computing platform using a hardware security module (HSM) is provided in connection with FIG. 3, how the measurements can be submitted to HSM, these measurements If the value is correct, constitute a much explaining how it is possible to return the key to the system resources. 図3に示されるHSMは、当業者により容易に認識されるHSMであるTPMであることに注意されたい。 HSM shown in Figure 3, it should be noted that it is TPM is HSM that is readily recognized by those skilled in the art. また、ブート時またはその後に関与するソフトウェア・コンポーネントの更なる処理は、TPMによって保護される秘密の開示を条件として行うことができる。 Also, further processing of software components involved in boot or thereafter can be carried out secret disclosure of which is protected by the TPM as a condition. 次に、ブート・プロセスにおけるソフトウェア・コンポーネントによるTPMの使用が、図4に示される。 Next, use of the TPM by software components in the boot process is shown in Fig. 図5は、図4のもののようなソフトウェア・コンポーネントによってTPMを使用するための1つの一般的なパターンを示しており、そこでは、次のソフトウェア・コンポーネントの読み込みおよび実行は、次のコンポーネントの実行可能なコードのハッシュ値の確認を条件としている。 Figure 5 is a software component, such as that of Figure 4 shows one general pattern for use a TPM, a where the reads and executes the following software components, execution of the following components It is subject to the confirmation of the hash value of the possible code.

図5a、図6、図7、および図8においては、ブート・プロセスにおけるプラットフォーム構成レジスタ(PCR)と呼ばれるTPMレジスタの使用の態様が、より詳細に説明される。 Figures 5a, 6, 7, and 8, aspects of the use of the TPM registers, referred to as platform configuration registers (PCR) in the boot process is described in greater detail. 図5aは、特定の組のブート・コンポーネントが所定位置にない限り、ブート・プロセスが進行できないことを保証するためのシステムおよび方法を示す。 Figure 5a, unless a predetermined position a particular set of boot components, illustrates a system and method for ensuring that the boot process can not proceed. 図6は、コンピュータをうまくブートすることが、例示的なコンポーネント即ちブート・マネージャをうまく暗号化し、測定することに結びついている、図5aに示されるシステムおよび方法の一例を実証している。 6, be successfully boot the computer successfully encrypts exemplary components i.e. boot manager is tied to measuring, demonstrating an example of a system and method shown in Figure 5a. 図7および図8は、ブート・プロセスがオペレーティング・システムをうまく起動し、これらのリソース(通常、1つまたは複数のディスク・パーティション上に常駐する)を必要としなくなった後、ブートのために必要とされるシステム・リソースへのアクセスを防止するための機構を示す。 7 and 8, start the boot process operating system well, these resources (usually resident on one or more disk partitions) was no longer requires, necessary for boot It shows a mechanism for preventing access to system resources that are.

例示的なコンピューティングおよびネットワーク化環境 図1のコンピューティング・システム環境100は、適切なコンピューティング環境の一例にすぎず、本発明の使用範囲または機能に関して何らかの制限を示唆するように意図されるものではない。 Exemplary computing and computing system environment 100 in a networked environment Figure 1 is only one example of a suitable computing environment, which is intended to suggest any limitation as to scope of use or functionality of the invention is not. コンピューティング環境100は、例示的なオペレーティング環境100に示されるコンポーネントのいずれか1つまたは組み合わせに対して何らかの依存関係または要件を有するものとして解釈すべきでもない。 Computing environment 100, nor should be interpreted as having any dependency or requirement with respect to any one or combination of components illustrated in the exemplary operating environment 100.

本発明は、多数の他の汎用または特殊用途コンピューティング・システム環境または構成と共に動作可能である。 The present invention is operational with numerous other general purpose or special purpose computing system environments or configurations. 本発明と共に用いるのに適した周知のコンピューティング・システム、環境、および/または構成の例には、これらに限定されるものではないが、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルドまたはラップトップ型装置、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、上記のシステムまたは装置のいずれかを含む分散型コンピューティング環境などが含まれる。 Examples of well known computing systems, environments, and / or configurations that may be suitable for use with the present invention, but are not limited to, personal computers, server computers, hand-held or laptop devices , multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PC, a mini computer, mainframe computers, distributed computing, including any of the above systems or devices and the like environment.

本発明は、コンピュータによって実行される、プログラム・モジュールのようなコンピュータ実行可能命令の一般的文脈に即して実装することができる。 The present invention may be implemented in line with the general context of the the computer-executable instructions, such as program modules, being executed by a computer. 一般に、プログラム・モジュールは、特定のタスクを実行するかまたは特定の抽象データの型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。 Generally, program modules include routines that implement the type of or implement particular abstract data that perform particular tasks, programs, objects, components, data structures. 本発明はまた、通信ネットワークを通してリンクされるリモート処理装置によってタスクが実行される分散型コンピューティング環境においても実施することができる。 The present invention also may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. 分散型コンピューティング環境において、プログラム・モジュールは、メモリ記憶装置を含む、ローカルおよびリモート・コンピュータ・ストレージ・メディアの両方に配置することができる。 In a distributed computing environment, program modules include a memory storage device may be located in both local and remote computer storage media.

図1を参照すると、本発明を実施するための例示的なシステムが、コンピュータ121の形態の汎用コンピューティング装置を含む。 Referring to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 121. コンピュータ121のコンポーネントは、これらに限られるものではないが、処理ユニット101、システム・メモリ103、および、システム・メモリを含む種々のシステム・コンポーネントを処理ユニット101に結合させるシステム・バス102を含むことができる。 Components of computer 121 may include, but are not limited to, a processing unit 101, a system memory 103, and, to a system bus 102 for coupling to the processing unit 101 various system components including the system memory can. システム・バス102は、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス・アーキテクチャのいずれかを用いるローカル・バスを含むバス構造体のうちの幾つかのタイプのいずれかとすることができる。 System bus 102 may be any of several types of bus structures, including a local bus using any of a memory bus or memory controller, a peripheral bus, and a variety of bus architectures . 限定ではなく一例として、こうしたアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standard Association(VESA)ローカル・バス、およびメザニン・バスとしても知られているPeripheral Component Interconnect(PSI)バスを含む。 By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standard Association (VESA) local bus, and mezzanine bus also includes a known Peripheral Component Interconnect (PSI) bus as.

HSMは図1に示されていないが、こうした装置は、本発明を実施するコンピュータの一部とすることができる。 HSM is not shown in Figure 1, such a device may be part of a computer that implements the present invention. 以下に図3を参照して説明されるように、図3は、コンピュータのコンポーネントと一体化されたHSM(図3の実施形態におけるTPM)を示す。 As described below with reference to FIG. 3, FIG. 3 shows the HSM that is integrated with components of a computer (TPM in the embodiment of FIG. 3). 代表的な環境においては、一定範囲のセキュリティ機能を提供するために、マザーボードに溶接されたハードウェアか、あるいはチップセットまたは図1のもののようなコンピュータの他のハードウェア・コンポーネントと一体化されたハードウェア・チップとすることができる。 In a typical environment, to provide a security function in a certain range, integrated with other hardware components of the computer, such as if the hardware is welded to the motherboard, or those of chipset or 1 it can be a hardware chip. しかしながら、本明細書の目的上、HSMは、ハードウェアまたはソフトウェア内に実装することができ、本発明の動作のために必要な信頼できる機能、即ちHSMにサブミットされる測定値の比較および検証、並びに暗号化されたメモリ・リソースへのアクセスのための鍵の開示できる機能ユニットとして広く定義されることを理解すべきである。 However, for purposes of this specification, HSM can be implemented in hardware or software, comparison and verification of the trusted functionality, i.e. measurements submitted to HSM necessary for the operation of the present invention, and it should be understood that broadly defined as a key disclosure can function unit for access to encrypted memory resources. TPMは、業界標準TPMのためのTCG(登録商標)仕様に説明されるような、一定範囲の他の機能を提供することもできる。 TPM, such as described in TCG (registered trademark) specifications for an industry standard TPM, it is also possible to provide other functions within a predetermined range.

コンピュータ121は、一般に、種々のコンピュータ可読メディアを含む。 Computer 121 typically includes a variety of computer readable media. コンピュータ可読メディアは、コンピュータ121によってアクセスすることができる何らかの使用可能なメディアとすることができ、揮発性メディアおよび不揮発性メディアの両方、並びに取り外し可能なメディアおよび取り外し不能なメディアの両方を含む。 Computer readable media can be any available media that can be accessed by the computer 121, including both volatile and nonvolatile media, and both removable media and non-removable media. 限定ではなく一例として、コンピュータ可読メディアは、コンピュータ・ストレージ・メディアおよび通信メディアを含むことができる。 By way of example and not limitation, computer readable media may comprise computer storage media and communication media. コンピュータ・ストレージ・メディアは、コンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータのような情報の格納のための何らかの方法または技術に実装される揮発性メディアおよび不揮発性メディア、並びに取り外し可能メディアおよび取り外し不能メディアの両方を含む。 Computer storage media includes computer-readable instructions, data structures, program modules, or some other method or volatile and nonvolatile media implemented in technology for storage of information such as data, as well as removable, It includes both media and non-removable media. コンピュータ・ストレージ・メディアは、これらに限られるものではないが、RAM、ROM、EEPROM、フラッシュ・メモリ、または他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を格納するために用いることができ、コンピュータ121によってアクセスできる他の何らかのメディアを含む。 Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, It can be used to store magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or the desired information and any other media that can be accessed by computer 121. 通信メディアは、一般に、コンピュータ可読命令、データ構造、プログラム・モジュール、あるいは搬送波のような変調されたデータ信号または他の搬送機構における他のデータを具体化し、何らかの情報伝達メディアを含む。 Communication media typically embodies computer readable instructions, other data in data structures, program modules or modulated data signal, or other transport mechanism, such as a carrier wave, includes any information delivery media. 「変調されたデータ信号」という用語は、信号内の情報をエンコードするような方法で設定または変更された特性の1つまたは複数を有する信号を意味する。 The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. 限定ではなく一例として、通信メディアは、有線ネットワークまたは直接有線接続のような有線メディア、音響、RF、赤外線、または他の無線メディアのような無線メディアを含む。 By way of example and not limitation, communication media includes wired network or wired media such as a direct-wired connection, RF, wireless media such as an infrared or other wireless media. 上記のいずれかの組み合わせをも、コンピュータ可読メディアの範囲内に含ませるべきである。 Any combination of the above should also be included within the scope of computer readable media.

システム・メモリ103は、読取り専用メモリ(ROM)104およびランダム・アクセス・メモリ(RAM)106のような揮発性および/または不揮発性メモリの形態のコンピュータ・ストレージ・メディアを含む。 System memory 103 includes read only memory (ROM) 104 and volatile and / or computer storage media in the form of non-volatile memory such as random access memory (RAM) 106. 起動中などにコンピュータ121内の要素間の情報転送を助ける基本ルーチンを含む基本入出力システム105(BIOS)は、一般に、ROM104内に格納されている。 Output system 105, containing the basic routines that help to transfer information between elements within computer 121, such as during start (BIOS) are typically stored in the ROM 104. RAM106は、一般に、処理ユニット101に直ちにアクセス可能な、および/または処理ユニット101によって現在動作しているデータおよび/またはプログラム・モジュールを含む。 RAM106 typically includes immediately accessible to the processing unit 101, and / or by the processing unit 101 to data and / or program modules that are currently operating. 限定ではなく一例として、図1は、オペレーティング・システム107、アプリケーション・プログラム108、他のプログラム・モジュール109、およびプログラム・データ110を示す。 By way of example and not limitation, Figure 1 illustrates operating system 107, application programs 108, other program modules 109, and program data 110.

コンピュータ121はまた、他の取り外し可能/固定の、揮発性/不揮発性のコンピュータ・ストレージ・メディアを含むこともできる。 Computer 121 also includes other removable / fixed, volatile / nonvolatile computer storage media. ほんの一例として、図1は、固定の不揮発性磁気メディアとの間で読み取りまたは書き込みを行うハードディスク・ドライブ112と、取り外し可能な不揮発性磁気ディスク119との間で読み取りまたは書き込みを行う磁気ディスク・ドライブ118と、CD ROMまたは他の光メディアのような取り外し可能な不揮発性光ディスク253との間で読み取りまたは書き込みを行う光ディスク・ドライブ120とを示す。 By way of example only, FIG. 1, a magnetic disk drive that reads from or writes to a hard disk drive 112 that reads from or writes to a nonvolatile magnetic media fixed, removable, nonvolatile magnetic disk 119 and 118, showing the optical disk drive 120 that reads from or writes to a removable, nonvolatile optical disk 253 such as a CD ROM or other optical media. 例示的なオペレーティング環境に用いることができる他の取り外し可能/固定の、揮発性/不揮発性コンピュータ・ストレージ・メディアは、これらに限られるものではないが、磁気テープ・カセット、フラッシュメモリ・カード、デジタル多用途ディスク、デジタル・ビデオテープ、ソリッドステートRAM、ソリッドステートROMなどを含む。 Exemplary of addition can be used for the operating environment of the removable / non-removable, volatile / nonvolatile computer storage media include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, including digital video tape, solid state RAM, and solid state ROM. ハードディスク・ドライブ112は、一般に、インターフェース111のような固定のメモリ・インターフェースを通してシステム・バス102に接続され、磁気ディスク・ドライブ118および光ディスク・ドライブ120は、一般に、インターフェース117のような取り外し可能なメモリ・インターフェースを通してシステム・バス102に接続される。 The hard disk drive 112 is typically connected through a fixed memory interface such as interface 111 to the system bus 102, a magnetic disk drive 118 and optical disk drive 120 are typically removable memory such as interface 117 - through an interface connected to the system bus 102.

上記に説明され、図1に示されるドライブおよびこれに関連したコンピュータ・ストレージ・メディアは、コンピュータ可読命令、データ構造、プログラム・モジュール、およびコンピュータ121のための他のデータを格納する。 Above described, the drive and computer storage media associated therewith shown in FIG. 1, the computer readable instructions, data structures, program modules, and other data for the computer 121. 図1においては、例えば、ハードディスク・ドライブ112は、オペレーティング・システム113、アプリケーション・プログラム114、他のプログラム・モジュール115、およびプログラム・データ116を格納するように示されている。 In Figure 1, for example, hard disk drive 112 is illustrated as storing operating system 113, application programs 114, other program modules 115, and program data 116. これらのコンポーネントは、オペレーティング・システム107、アプリケーション・プログラム108、他のプログラム・モジュール109、およびプログラム・データ110と同じものにしても、異なるものにしてもよいことに注意されたい。 These components include an operating system 107, application programs 108, be the same as the other program modules 109, and program data 110 Note that it may be different. オペレーティング・システム113、アプリケーション・プログラム114、他のプログラム・モジュール115、およびプログラム・データ116には、少なくともこれらが異なるコピーであることを示すために、ここでは異なる番号が与えられている。 Operating system 113, the application programs 114, other program modules 115, and program data 116, to illustrate that, at a minimum, it is different copies are given different numbers here. ユーザは、キーボード128、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティング・デバイス127のような入力装置を通して、コマンドおよび情報をコンピュータ121に入力することができる。 User, a keyboard 128, and generally mice, through an input device such as a trackball or pointing device 127 called a touch pad, may enter commands and information into the computer 121. 他の入力装置(図示せず)は、マイク、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。 Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. これらおよび他の入力装置は、多くの場合、システム・バスに結合されたユーザ入力インターフェース126を通して処理ユニット101に接続されるが、パラレルポート、ゲームポート、またはユニバーサル・シリアル・バス(USB)のような他のインターフェースおよびバス構造体によって接続することもできる。 These and other input devices are often connected to the processing unit 101 through a user input interface 126 that is coupled to the system bus, as a parallel port, game port or a universal serial bus (USB) but it may be connected by such other interface and bus structures. モニタ139または他のタイプの表示装置もまた、ビデオ・インターフェース232のようなインターフェースを介してシステム・バス102に接続される。 Monitor 139 or other type of display device is also connected via an interface, such as a video interface 232 to the system bus 102. モニタに加えて、コンピュータは、出力周辺インターフェース123を通して接続することができる、スピーカ138およびプリンタ137のような他の周辺出力装置を含むこともできる。 In addition to the monitor, computers may be connected through an output peripheral interface 123 may also include other peripheral output devices such as speakers 138 and printer 137.

コンピュータ121は、リモート・コンピュータ131のような1つまたは複数のリモート・コンピュータへの論理接続を用いて、ネットワーク化環境において動作することができる。 Computer 121 can use logical connections to one or more remote computers, such as a remote computer 131 operates in a networked environment. リモート・コンピュータ131は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の共通のネットワーク・ノードとすることができ、一般的には、コンピュータ121に関連して上述された要素の多くまたは全てを含むが、図1には、メモリ記憶装置132だけが示された。 Remote computer 131 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, in general, of the elements described above relative to the computer 121 It includes many or all, in FIG. 1, only a memory storage device 132 has been illustrated. 図1に示される論理接続は、ローカル・エリア・ネットワーク(LAN)135および広域エリア・ネットワーク(WAN)130を含むが、他のネットワークを含むこともできる。 The logical connections depicted in Figure 1 include a local area network (LAN) 135 and a wide area network (WAN) 130, but may also include other networks. こうしたネットワーク環境は、事務所、企業全体にわたるコンピュータ・ネットワーク、イントラネット、およびインターネットにおいて当たり前のことである。 Such networking environments, office, is commonplace in computer networks, intranets and the Internet, enterprise-wide.

LANネットワーク環境に用いられるとき、コンピュータ121は、ネットワーク・インターフェースまたはアダプタ134を通してLAN135に接続される。 When used in a LAN networking environment, the computer 121 is connected to the LAN135 through a network interface or adapter 134. WANネットワーク環境に用いられるとき、コンピュータ121は、一般に、モデム129、またはインターネットのようなWAN130にわたって通信を確立するための他の手段を含む。 When used in a WAN networking environment, the computer 121 typically includes other means for establishing communications over modem 129 or WAN130 such as the Internet. 内蔵式にも、外付け式にもできるモデム129は、ユーザ入力インターフェース126または他の適切な機構を介して、システム・バス102に接続することができる。 To built-in modem 129 that can be the external expression can be through a user input interface 126 or other appropriate mechanism, connected to the system bus 102. ネットワーク化環境においては、コンピュータ121に関連して示されたプログラム・モジュールまたはその一部を、リモートのメモリ記憶装置内に格納することができる。 In a networked environment, program modules or portions thereof depicted relative to the computer 121, may be stored in the remote memory storage device. 限定ではなく一例として、図1は、リモート・アプリケーション・プログラム133をメモリ装置132上に常駐するものとして示す。 By way of example and not limitation, FIG. 1 shows as residing remote application programs 133 in the memory device 132. 示されるネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を用い得ることも理解されるであろう。 Network connections shown are exemplary, it will also be understood that may use other means of establishing a communications link between the computers.

ここに説明される種々の技術は、ハードウェアまたはソフトウェア、または必要に応じてその両方の組み合わせと共に実装できることを理解すべきである。 Various techniques described herein, it should be understood that implemented with a combination of both depending on hardware or software, or need. このように、本発明の方法および装置、並びにその特定の態様または部分は、フロッピィ・ディスケット、CD−ROM、ハードドライブ、または他のいずれか機械可読ストレージ・メディアのような、有形メディアに具体化されたプログラム・コード(即ち命令)の形態を取ることができ、そこで、該プログラム・コードがコンピュータのようなマシンに読み込まれ、該マシンによって実行されたときに、該マシンが本発明を実施するための装置となる。 Thus, methods and apparatus, as well as certain aspects or portions thereof of the present invention, floppy diskettes, CD-ROM, such as a hard drive or any other machine-readable storage medium, tangibly media been able to take the form of program code (i.e. instruction) where the program code is loaded into the machine, such as a computer, when executed by the machine, the machine carrying out the present invention It becomes an apparatus for. プログラム可能なコンピュータ上でプログラム・コードを実行する場合には、コンピューティング装置は、一般に、プロセッサ、該プロセッサによって読取り可能なストレージ・メディア(揮発性および不揮発性のメモリおよび/または記憶素子を含む)、少なくとも1つの入力装置、並びに少なくとも1つの出力装置を含む。 In the case of program code execution on programmable computers, the computing device (including volatile and non-volatile memory and / or storage elements) generally include a processor, readable storage media by the processor , at least one input device, and at least one output device. 1つまたは複数のプログラムが、例えばAPI、再使用可能な制御装置などを用いて、本発明に関連して説明されたプロセスを実行または利用することができる。 One or more programs, such as API, by using a reusable controller can execute or use the process described in connection with the present invention. こうしたプログラムは、コンピュータ・システムと通信するために、高レベルの手続き型言語またはオブジェクト指向言語で実装することが好ましい。 These programs, in order to communicate with a computer system, it is preferable to implement a high-level procedural language, or an object-oriented language. しかしながら、所望であれば、プログラムをアセンブリ言語または機械語で実装することもできる。 However, if desired, it is also possible to implement the program in assembly language or machine language. いずれの場合も、言語は、コンパイルされた言語または解釈された言語とすることができ、ハードウェア実装と組み合わせることもできる。 In any case, the language may be a compiled or interpreted language, can be combined with hardware implementations.

例示的な実施形態は、1つまたは複数の独立型コンピュータ・システムに即して本発明の利用に言及するが、本発明はそのように限定されるのではなく、寧ろネットワーク・コンピューティング環境または分散型コンピューティング環境のような何らかのコンピューティング環境と共に実施することができる。 Although exemplary embodiments refer to utilizing the present invention with reference to one or more stand-alone computer system, the invention is not so limited, but rather a network computing environment, or it can be implemented with any computing environment, such as a distributed computing environment. さらに、本発明は、複数の処理チップまたは装置内に、または複数の処理チップまたは装置にわたって実装することができ、同様に複数の装置にわたって保存を行うこともできる。 Furthermore, the present invention provides a plurality of processing chips or the apparatus, or a plurality of processing chips or be implemented over device can also perform conserved across multiple devices as well. こうした装置は、パーソナル・コンピュータ、ネットワーク・サーバ、手持ち式装置、スーパーコンピュータ、または自動車および航空機のような他のシステムに内蔵されたコンピュータを含むことができる。 Such devices may include personal computers, network servers, handheld devices, supercomputers, or automobiles and computer incorporated in other systems such as an aircraft.

図2において、例示的なネットワーク化コンピューティング環境が提供される。 2, an exemplary networked computing environment is provided. 当業者であれば、ネットワークは、あらゆるコンピュータまたは他のクライアントまたはサーバ装置を接続することができ、あるいは分散型コンピューティング環境において接続できることを理解することができる。 Those skilled in the art, the network can recognize that the invention can be connected at any computer or other client or can be connected to the server device or distributed computing environment. この点で、如何なる数の処理、メモリ、または記憶ユニット、および如何なる数のアプリケーションおよび同時に生じるプロセスをも有する、いずれのコンピュータ・システムまたは環境も、提供されるシステムおよび方法と共に用いるのに適していると考えられる。 In this regard, the processing of any number of memory or storage units, and also has applications and occur simultaneously process any number, any computer system or environment, are suitable for use with the systems and methods provided it is conceivable that.

分散型コンピューティングは、コンピューティング装置とシステムとの間の交換によって、コンピュータ・リソースおよびサービスを共有する。 Distributed computing by exchange between computing devices and systems, sharing computer resources and services. これらのリソースおよびサービスには、情報の交換、ファイルのキャッシュ保管およびディスク保管が含まれる。 These resources and services include the exchange of information, cache storage and disk storage for files. 分散型コンピューティングは、ネットワーク接続性を利用し、クライアントが全体的な力を利用して、企業全体に利益をもたらすことを可能にする。 Distributed computing takes advantage of network connectivity, the client is using the entire force, makes it possible to benefit the entire enterprise. この点で、種々の装置は、ここで説明されるプロセスに関係させ得るアプリケーション、オブジェクト、またはリソースを有することができる。 In this regard, a variety of devices may have here capable of related to the process described applications, objects or resources.

図2は、例示的なネットワーク化または分散型コンピューティング環境の概略図を提供する。 Figure 2 provides a schematic diagram of an exemplary networked or distributed computing environment. この環境は、コンピューティング装置271、272、276および277、並びにオブジェクト273、274および275、並びにデータベース278を含む。 This environment includes a computing device 271,272,276 and 277, as well as objects 273 and 274 and 275, and a database 278. これらのエンティティ271、272、273、274、275、276、277、および278の各々は、プログラム、方法、データ・ストア、プログラム可能な論理などを含むかまたはこれらを利用することができる。 Each of these entities 271,272,273,274,275,276,277, and 278, programs, methods, data stores, can be used or these including programmable logic. エンティティ271、272、273、274、275、276、277、および278は、PDA、音声/ビデオ装置、MP3プレイヤー、パーソナル・コンピュータなどのような同じまたは異なる装置の部分にわたることができる。 Entity 271,272,273,274,275,276,277, and 278, PDA, audio / video apparatus, it is possible over the same or a different device portion, such as MP3 players, personal computers. 各々のエンティティ271、272、273、274、275、276、277、および278は、通信ネットワーク270を介して、別のエンティティ271、272、273、274、275、276、277、および278と通信することができる。 Each entity 271,272,273,274,275,276,277, and 278, via the communication network 270, to communicate with another entity 271,272,273,274,275,276,277, and 278 be able to. この点で、いずれのエンティティも、データベース278または他の記憶素子の保守および更新を担うことができる。 In this regard, any entity may also be responsible for maintenance and updating of a database 278 or other storage element.

このネットワーク270は、これ自体が、サービスを図2のシステムに提供する他のコンピューティング・エンティティを含むことができ、これ自体が、多数の相互接続されたネットワークを表すことができる。 The network 270, which itself may comprise other computing entities that provide services to the system of FIG. 2, which itself may represent multiple interconnected networks. 本発明の態様によると、各々のエンティティ271、272、273、274、275、276、277、および278は、他のエンティティ271、272、273、274、275、276、277、および278の1つまたは複数のサービスを要求するために、API、または他のオブジェクト、ソフトウェア、ファームウェア、および/またはハードウェアを利用できる別個の関数型プログラム・モジュールを含むことができる。 According to an aspect of the present invention, each entity 271,272,273,274,275,276,277, and 278, one of the other entities 271,272,273,274,275,276,277, and 278 or multiple services to request may include API, or other object, software, firmware, and / or a separate functional program module that can use hardware.

275のようなオブジェクトは、別のコンピューティング装置276上でホストすることができることも理解できるであろう。 Objects such as 275, could also understand that may be hosted on another computing device 276. このように、示される物理的環境は、接続された装置をコンピュータとして示しているが、こうした例証は単に例示的なものであり、物理的環境は、代替的に、PDA、テレビ、MP3プレイヤー等のような種々のデジタル装置、およびインターフェース、のようなソフトウェア・オブジェクト、COMオブジェクト等を含むものとして示すまたは説明することができる。 Thus, the physical environment depicted, while indicating the connected devices as computers, such illustration is merely exemplary, physical environment may alternatively, PDA, TV, MP3 players, etc. various digital device, and the interface can be software objects, shown as including a COM object, etc. or be described as like.

分散型コンピューティング環境をサポートする種々のシステム、コンポーネント、およびネットワーク構成が存在する。 Various systems for distributed computing environment, components, and network configurations exist. 例えば、コンピューティング・システムは、有線または無線のシステム、ローカル・ネットワークまたは広域分散型ネットワークによって、互いに接続することができる。 For example, computing systems, wired or wireless systems, by local networks or widely distributed networks can be connected to each other. 現在、多くのネットワークは、広域分散型コンピューティングにインフラストラクチャを提供し、多くの異なるネットワークを含むインターネットに結合されている。 Currently, many networks, providing infrastructure for widely distributed computing and are coupled to the Internet include many different networks. インターネットに結合されていてもいなくても、提供されたシステムおよび方法と共にこうした何らかのインフラストラクチャを用いることができる。 Or may not be coupled to the Internet, it can be used such some infrastructure with providing systems and methods.

ネットワーク・インフラストラクチャは、クライアント/サーバ、ピア・ツー・ピア、またはハイブリッド型アーキテクチャのようなネットワーク・トポロジーのホストをイネーブルにする。 Network infrastructure, client / server, peer-to-peer or a network topology of the host, such as a hybrid architecture, to enable. 「クライアント」とは、これが関係していない別のクラスまたはグループのサービスを使用するクラスまたはグループのメンバーである。 The "client", which is a member of a class or group that uses the services of another class or group to which it is not involved. コンピューティングにおいては、クライアントとは、別のプログラムによって提供されるサービスを要求するプロセス、即ち大ざっぱに言えば1組の命令またはタスクである。 In computing, a client, a process that requests a service provided by another program, i.e., a set of instructions or tasks roughly speaking. クライアント・プロセスは、他のプログラムまたはサービス自体についてのいずれの作業詳細も「知る」必要なく、要求されたサービスを利用する。 The client process, any of the work detail is also "know" without the need for other program or the service itself, to use the requested service. クライアント/サーバ・アーキテクチャ、特にネットワーク化されたシステムにおいては、クライアントは、通常、例えばサーバのような別のコンピュータによって提供される共有ネットワーク・リソースにアクセスするコンピュータである。 Client / server architecture, particularly a networked system, a client is a computer that accesses shared network resources provided usually, for example, by another computer such as a server. 図2の例においては、状況によって、いずれのエンティティ271、272、273、274、275、276、277、および278も、クライアント、サーバ、またはその両方と見なすことができる。 In the example of FIG. 2, the situation, any entity 271,272,273,274,275,276,277, and 278 may be considered a client, a server, or both.

サーバは、一概には言えないが、通常、インターネットのようなリモート・ネットワークまたはローカル・ネットワークにわたってアクセス可能なリモート・コンピュータ・システムである。 Server is not be generalized, usually, a remote computer system accessible over a remote network or local network, such as the Internet. クライアント・プロセスは、第1のコンピュータ・システムにおいてアクティブになることができ、サーバ・プロセスは、第2のコンピュータ・システムにおいてアクティブになることができ、通信メディア上で互いに通信し、これにより分散機能が与えられ、多数のクライアントがサーバの情報収集能力を利用することが可能になる。 The client process in a first computer system can be active, the server process, in a second computer system can be active, and communicate with one another over a communications medium, thereby balancing given a large number of clients it is possible to use the information-gathering capabilities of the server. いずれのソフトウェア・オブジェクトをも、多数のコンピューティング装置またはオブジェクトにわたって分散させることができる。 Any of software objects may be distributed across multiple computing devices or objects.

クライアントおよびサーバは、プロトコル層によって与えられた機能を利用して、互いに通信する。 The client and server utilizing the functionality provided by protocol layer, to communicate with each other. 例えば、HyperText Transfer Protocol(HTTP)は、World Wide Web(WWW)即ち「ウェブ」と共に用いられる一般的なプロトコルである。 For example, HyperText Transfer Protocol (HTTP) is a common protocol used in conjunction with the World Wide Web (WWW), or "web". 一般に、インターネット・プロトコル(IP)アドレスのようなコンピュータ・ネットワーク・アドレス、またはUniversal Resourse Locator(URL)のような他の参照を用いて、サーバ・コンピュータまたはクライアント・コンピュータを互いに識別することができる。 In general, using the other reference such as the Internet Protocol (IP) computer network address such as an address or Universal Resourse Locator, (URL), it can be used to identify the server computer or client computers to each other. ネットワーク・アドレスは、URLアドレスと呼ぶことができる。 The network address can be referred to as a URL address. 通信メディアを通して通信を提供することができ、例えば、大容量の通信のために、TCP/IP接続を介してクライアントおよびサーバを互いに結合させることができる。 May provide communication over a communication medium, for example, for communication of large capacity, it can be coupled to the client and server to each other via a TCP / IP connection.

図1の一般的なフレームワークに従って構築できる多様なコンピューティング環境、および図2のもののようなネットワーク環境のコンピューティングにおいて生じ得る更なる多様性に鑑みると、ここに提供されたシステムおよび方法を、多少なりとも特定のコンピューティング・アーキテクチャに制限されるものとして解釈することはできない。 Various computing environments that may be constructed according to the general framework of Figure 1, and further may occur Naru In view of the diversity in the computing network environment such as that of FIG. 2, the systems and methods provided herein, any way it can not be construed as limited to the particular computing architecture. 代わりに、本発明は、いずれの単一の実施形態に限定すべきでもなく、寧ろ、本発明の範囲は、添付の特許請求の範囲に従った広がりおよび範囲において解釈すべきである。 Instead, the present invention is neither to be limited to any single embodiment, but rather, the scope of the invention should be construed in breadth and scope in accordance with the appended claims.

例示的な TPMのセキュリティ保護されたブート・シーケンス 本発明の実施形態は、安全なブート・プロセスにおいてTPMを使用する。 Embodiment of an exemplary TPM of secure boot sequence the invention uses a TPM in a secure boot process. TPMは、図3のコンピュータ・アーキテクチャとの関連で示される。 TPM is illustrated in the context of a computer architecture of Figure 3. 本発明の実施形態に用いることが考えられるTPMは、TCG(登録商標)1.2準拠にすることができるが、PCR内に配置されたもののような測定値を検証し、該測定値が正しい場合に秘密を開示するように、HSMを用いることができる。 TPM contemplated for use in the embodiment of the present invention, TCG although (registered trademark) can be 1.2 compliant, verifies the measured values, such as those located in the PCR, measured value is correct as disclosed the secret case, it is possible to use the HSM.

この点で、図3は、図1のもののようなコンピュータの極めて一般化された図において、メモリ305へのアクセスを有するCPU300を示す。 In this regard, FIG. 3, in a very generalized diagram of a computer such as that of FIG. 1 shows a CPU300 having access to the memory 305. CPU300は、幾つかのセキュリティ機能をTPM301に依存することができる。 CPU300 can be dependent on a number of security features to TPM301. 一般に、CPU300は、まず、ブート・プロセス内に含まれるデータの測定を行い、これらの測定値は、秘匿されたPCR値304に示されるように、TPM301に安全に格納することができる。 In general, CPU 300 first performs a measurement of the data contained in the boot in the process, these measurements are as shown in PCR value 304 concealed, it can be securely stored in TPM301. 種々の実施形態において、本明細書の図面に示される種々のPCR値304および303は、実際には、TCG(登録商標)1.2仕様に定義されるような代数式によって拡張された1つまたは複数の単一の格納先に格納できることに注意されたい。 In various embodiments, various PCR values ​​304 and 303 shown in the drawings herein, in fact, one extended by an algebraic formula, as defined in TCG (TM) 1.2 specification or Note that you can store a plurality of the single storage location.

秘密302は、TPM301内の特定のPCR値304に秘匿することができる。 The secret 302 may be concealed to a particular PCR values ​​304 in TPM301. TPM301から秘密302を取り出すために、正しいPCR値をPCR303に入力しなければならない。 To retrieve the secrets 302 from TPM301, you must enter the correct PCR values ​​in PCR 303. これらの正しい値は、TPM301内に秘匿されたPCR値304を得るために測定されたものと同じデータを測定することによって得ることができる。 These correct values ​​may be obtained by measuring the same data that was measured to obtain PCR values ​​304 concealed within TPM301. 多数の秘密302を種々のPCR304内に秘匿することができる。 It is possible to conceal the number of secret 302 in various PCR304. 例えば、第1の秘密Aを取り出すために、正しい値がPCR[1]、PCR[2]、およびPCR[3]内に格納されていることが必要である。 For example, to retrieve a first secret A, the correct value is PCR [1], PCR [2], and PCR [3] it is necessary that they are stored in. 第2の秘密Bを得るために、PCR[4]内に第4の正しい値が必要である。 To obtain a second secret B, and requires a fourth correct value in PCR [4].

TPM301内に秘匿された測定値の値と合致しない測定値がPCR303内に置かれた場合には、TPM301に秘密302の開示が要求されたとき、その開示に失敗する。 If the measured value does not match the value of the concealed measurements in TPM301 is placed in the PCR303 when the disclosure of the secret 302 is requested TPM301, it fails the disclosure. 正しい測定値がPCR303内に置かれた場合には、秘密302の開示が要求されたとき、TPM301を信頼し、秘密302を開示することができる。 If the correct measured value is placed in the PCR303 when the disclosure of the secret 302 is requested, trust TPM301, may disclose secret 302. したがって、この用途についての「正しい」測定値または正しい値は、秘密302が秘匿される測定値であり、これによりTPM301による秘密302の開示が可能になる。 Therefore, the "correct" measurement, or correct value for this application is a measure of the secret 302 is concealed, it is possible to disclose the secret 302 by thereby TPM301. 幾つかの実施形態においては、正しい測定値は、悪質なコードの測定値とすることができることに注意されたい。 In some embodiments, the correct measurements, it is noted that it can be a measure of malicious code. これは、例えば、TPM301内に秘匿された最初の測定値304が壊れていた場合である。 This is the case, for example, it had broken the first measurement value 304 concealed within TPM301.

特定の測定値に秘匿される秘密は、如何なるデータとすることもできる。 The secret to be concealed to a particular measurement can be any data. 一般に、秘密302は、解読鍵および/またはバイナリ・ラージ・オブジェクト(BLOB)の形態を取る。 In general, the secret 302, take the form of a decryption key and / or binary large object (BLOB). 一般に、鍵は、データを解読するのに用いることができる情報を提供する。 In general, the key provides information that can be used to decrypt the data. 秘匿されたBLOBは、鍵、および有用な他のデータを含むことができる。 Concealed BLOB may include keys, and other useful data. この点で、当業者には理解されるように、鍵をBLOBと置き換えること、およびその逆に置き換えることによって、ここで説明される種々の技術の等価物を構築することができる。 In this respect, as will be appreciated by those skilled in the art, to replace the key BLOB, and by replacing vice versa, it is possible to construct the equivalent of the various techniques described herein. したがって、CPU300が、正しい測定値を303のPCRにサブミットする場合、鍵のような対応する秘密302が要求されたとき、TPM301は、該秘密302を開示することができる。 Accordingly, CPU 300 is, when submitting the correct measurements to PCR of 303, when the corresponding private 302 such as a key is requested, TPM301 may disclose the secret 302. 次に、302からの鍵を用いて、CPU300によってアクセス可能なメモリ305の一部を解読することができる。 Next, using the key from the 302, you can decrypt the part of the accessible memory 305 by CPU 300. 本発明の実施形態においては、図3に示されるように、TPM301は、3つの秘密A、B、およびCへのアクセスを許可するように構成することができる。 In embodiments of the present invention, as shown in FIG. 3, TPM301 can be configured to allow three secret A, B, and access to the C. 必要とされる種々のPCR値に秘密302を秘匿することができ、よって、特定の測定が行われた後にのみアクセス可能になる。 Can be concealed secret 302 to the various PCR values ​​required, therefore, only it becomes accessible after a particular measurement was made. これらの3つの鍵、即ち3つの秘密は、ここでは、第1のものはブート・アクセス専用秘密、第2のものはボリューム制限秘密(volume−bound secret)、第3のものはパスワード秘密と呼ばれる。 These three keys, namely three of the secret, here, the first of those boot access only secret, the second one volume restriction secret (volume-bound secret), the third of what is referred to as a password secret .

TPMに関係した活動は、ログ307内に格納することができる。 Activities related to the TPM, can be stored in the log 307. 幾つかの実施形態において、ログ307は、コンピュータのBIOSによって維持することができる。 In some embodiments, the log 307 may be maintained by the computer's BIOS. いずれかの他のプロセスが、ログ307の維持を担当することもできる。 Any other process, can also be responsible for the maintenance of log 307. したがって、ソフトウェア・コンポーネント308または他のデータ309のようなデータが測定されてPCR303内に入れられる場合には、ログ307において測定されたデータを識別することができる。 Therefore, when placed in the software component 308 or the data is measured PCR303 as other data 309 can identify the measured data in the log 307. 秘密開示要求がなされた場合には、ログ307において要求イベントを識別することができる。 If the secret disclosed request is made, it is possible to identify the request event in the log 307. これらは、TPMに関係した活動をログ307内に格納する2つの例にすぎず、ログ307は、他の広範囲のイベントおよび活動の記録を含むことができる。 These are only two examples of storing the activities related to TPM in the log 307, the log 307 can include a recording of a wide range of other events and activities.

一般に、TPM301は、Static Root of Trust Measurement(SRTM)と共に動作し、信頼できる測定を行い、それらをTPM301にサブミットする。 Generally, TPM301 operates with Static Root of Trust Measurement (SRTM), perform a reliable measurement, submitting them to the TPM301. しかしながら、DRTM Nexusの使用などを通して安全な測定を行うための他のプロセスも利用可能である。 However, other processes for secure measurement, such as through the use of DRTM Nexus are available. 本発明の実施形態は、こうした方法でSRTMのような信頼できる測定プロセスを用いることができ、この点で、SRTMは、初期ディスク・ベースのブート・コードを測定するために、ここで説明される(プロセスおよびRTMとも呼ばれる)種々のソフトウェア・コンポーネントによって用いられるBIOS標準SRTMとすることができる。 Embodiments of the present invention may use a trusted measurement process such as SRTM in this way, in this respect, SRTM, in order to measure the initial disk based boot code, as described herein (also called processes and RTM) can be BIOS standard SRTM used by the various software components. システムはまた、オペレーティング・システムをブートする初期段階を測定できるように、SRTMを拡張し、オペレーティング・システムをブートする初期段階に含まれる他のコードおよび重要なデータを測定することもできる。 The system also so as to measure the early stages of booting an operating system, to extend the SRTM, it is also possible to measure other code and critical data contained in the initial stage of booting the operating system. PCR303が、いずれから得られた値をも含み得ることに注意されたい。 PCR303 It should be noted that may also include a value obtained from either. この値は、ソフトウェア・コンポーネント308または他のデータ309のようなデータの測定値とすることができる。 This value may be a measured value of the data, such as software components 308 or other data 309. 本発明は、データの測定値、またはPCR303内に置かれた他の値の何らかの排他的な組み合わせに限定されるものではない。 The present invention is not limited to any exclusive combination of other values ​​placed measurements of data, or the PCR303 on.

TPMのセキュリティ保護されたブート・プロセスにおいて、図3に表示される構成を用いて、図4に示される例示的なソフトウェア・コンポーネントを測定し、その測定値をPCR303内に格納することができる。 In secure boot process TPM, using the configuration that is shown in Figure 3, to measure the exemplary software components illustrated in FIG. 4, it is possible to store the measured value in the PCR 303. 本発明の実施形態によって測定されるように選択することができる、図4に示されるブート・コンポーネント、具体的にはディスク・ベースのコード・コンポーネントは、滅多に変更しないことが知られており、簡単に攻撃を受けやすい。 Can be selected to be measured by embodiments of the present invention, the boot component, in particular a disk-based code components shown in Figure 4, are rarely known not to change, susceptible to easy attack. したがって、ここで説明されるような条件付きの保守および更新プロセスによる以外は、特定のブート・コンポーネントが変更されないままにすることにより、データ・セキュリティを著しく向上させるのに支払う価格が比較的少なく済む。 Therefore, here except by conditional maintenance and update process as described, by leaving unchanged a particular boot component, prices paid to significantly improve the data security requires relatively small .

図4を参照すると、コンピュータに例示的なブート・プロセスを提供するための、一連のソフトウェア・コンポーネント400−407が示される。 Referring to FIG. 4, to provide an exemplary boot process on a computer, a set of software components 400-407 is shown. 本発明は、示された特定のコンポーネントにも、コンポーネントのシーケンスにも制限されるものではない。 The present invention is also the particular components illustrated, but is not limited to the sequence of components. 示されたコンポーネントは、連続的に読み込むことができ、Core Root of Trust for Measurement(CRTM)400で開始し、ここでは単一のソフトウェア・コンポーネント407として一般化されたオペレーティング・システム(OS)407のコンポーネントで終了する。 The indicated components can be loaded continuously, starting with Core Root of Trust for Measurement (CRTM) 400, where the generalized operating system (OS) 407 as a single software component 407 to end in the component. コンポーネントを読み込むことにより、コンポーネントが、メモリおよびCPUのようなコンピュータのリソースにアクセスできるようになる、コンポーネントの命令をCPUによって実行することができる。 By reading the component, the component will be able to access the memory and computer resources such as CPU, it may be executed by CPU instructions components. 図4のコンポーネントが悪質なものであるかまたは壊れている場合には、コンポーネントが読み込まれると、これをセキュリティ手段の回避のために用いることができる。 When the components of FIG. 4 is or is corrupted ones vicious, when a component is loaded, it is possible to use this for the avoidance of security measures. したがって、本発明に適合するコンピュータをブートするためのプロセスは、コンポーネントの実行を可能にする前に、コンポーネントまたは複数のコンポーネントを測定し、1つまたは複数のPCR303内に入れるステップを含む。 Thus, the process for booting a compatible computer in the present invention, before allowing execution of the component, measuring the components or more components, comprising the step of placing one or more in the PCR 303. TPM内に秘匿される、信頼できる測定値304の組に秘匿される秘密302次第で、ブートを成功させることができる。 Is concealed within TPM, secret 302 depending in which is concealed in a reliable set of measurements 304, it is possible to successfully boot. しかしながら、本発明はまた、悪質なコードの測定値をTPM内に秘匿する可能性もあることに注意されたい。 However, that the invention is also be noted that there could be concealed measurements of malicious code in the TPM. 秘匿時に悪質なコードが動作している場合、ブートのためにこれらの測定値を必要とする。 If malicious code when confidentiality is operating, requiring these measurements for the boot. 理想的には、秘密は、信頼できるコードの測定値304に秘匿される。 Ideally, the secret is concealed in the measurement value 304 of trusted code. PCR303内に置かれた測定値が正しい場合には、302からの秘密を開示することができ、マシンが安全なブート状態で進行することが可能になる。 If the measured value placed in the PCR303 is correct, it is possible to disclose the secret from 302, the machine is allowed to proceed in a safe boot state. 秘密302を開示するプロセスが、図5に示される。 The process of disclosing secret 302, shown in FIG.

幾つかの使用シナリオにおいて、マシンの所有者は、自分達がそのマシンの構成を「ロック」したいと決定し、以前に検証されたものに加えて、ROMベースのコードがこれまでに実行されていないことを保証することができる。 In some usage scenarios, the machine of the owner, their is the configuration of the machine is determined to want to "lock", in addition to those that have been previously verified, have ROM-based code is executed so far it is possible to guarantee that there is no. この場合、マシンの所有者は、使用されることになる付加的なPCR302を選択することによって、検証プロセスに含まれるより多くのソフトウェア・コンポーネント(BIOS、オプションROM)を構成することができる。 In this case, the machine owner, may be configured by selecting the additional PCR302 to be used, a number of software components than are included in the validation process (BIOS, option ROM). 所有者は、自分達が、TPM301によって検証されるマインのパスワードをさらに利用したいと決定することもできる。 The owner, their will, can also be determined and want to further use of the Mine of the password, which is verified by TPM301. このことは、セキュリティが、本発明の標準的な実施形態において一般に提供できる上記のものを拡張することを可能にし、ユーザが、使いやすさと対照してマシンのセキュリティを評価することを可能にする。 This security, make it possible to extend those described above can provide generally in standard embodiments of the present invention, the user, with ease and control makes it possible to evaluate the security of the machine .

図5は、次のソフトウェア・コンポーネントを読み取る前に、次のソフトウェア・コンポーネントの完全性を保証する、TPMを用いるための技術を示す。 5, before reading the next software component, to ensure the integrity of the following software components, shows a technique for using a TPM. 図4のコンポーネントのような一連のコンポーネント内に適切な命令を配置することによって、図5のステップを実行することができる。 By placing appropriate instructions in a series of components such as the components of FIG 4, it is possible to perform the steps of FIG. この点で、図5のプロセスは、CRTMコンポーネントの実行で開始することができる508。 At this point, the process of FIG. 5 can be started in the execution of the CRTM component 508. CRTMおよび図4の他のコンポーネントの一部または全てのようなコンポーネントは、別のコンポーネントを測定し、その結果を図3の303からのようなPCR内に置くための命令を支持することができる。 Components such as some or all of the other components of the CRTM and 4 measures the different components, it is possible to support the instructions for placing the result in a PCR, such as from 303 in Fig. 3 . そうした命令を支持するコンポーネントは、Root of Trust for Measurement(RTM)と呼ばれることもあり、上述のようなSRTMを使用するための命令を含むことができる。 Components for supporting such a command may also be referred to as Root of Trust for Measurement (RTM), it can include instructions for using SRTM as mentioned above. したがって、ブート・ブロックがブート・マネージャを測定する場合には、該ブート・ブロックは、該ブート・マネージャのためのRTMとして働く。 Thus, if the boot block measures the boot manager, the boot block serves as an RTM for the boot manager.

RTMは、次のコンポーネントをメモリに読み込み500、次に、次のコンポーネントの測定を行い501、その測定値をPCRに加えることができる502。 RTM reads the following components in the memory 500, then 501 was measured for the following components may be added to the measured value to the PCR 502. RTMが、鍵またはTPMからBLOBのような秘密を必要とする場合には503、こうした秘密を要求することができ、TPMは、その秘密にアクセスするのに必要とされる全てのPCRについて正しいPCR値が読み込まれた場合にのみ、要求された秘密を開示する。 RTM is, in the case that requires a secret, such as a BLOB from the key or the TPM 503, may request such secrets, the TPM, correct PCR for all PCR required to access the secret only if the value has been read, it discloses the requested secret. したがって、TPMから取り出された情報に基づいて、秘密の開示を試みることができる504。 Therefore, based on the information retrieved from the TPM, it may attempt to disclose the secret 504. ステップ505において開示が成功した場合には、次のコンポーネントと、下記に説明される他の動作を読み取るステップを含む付加的なステップを取ることができる。 In the case where disclosure is successful step 505 can take additional steps, including the step of reading the following components, other operations are described below. 開示が成功しなかった場合には、PCR内の値が正しくない可能性があり、よって、実行コードが壊れている可能性がある。 If the disclosure is not successful, there is a possibility the value of the PCR is not correct, therefore, there may be corrupted executable code. ステップ507においてエラーが生じることがあり、例えば、コンピュータのディスク上のデータの暗号化を用い、解読鍵を出すのをやめることによって、コンピュータ上に格納された機密情報にアクセスできなくなることを保証するために、適切な手段を取ることができる。 May in step 507 an error occurs, for example, using the encrypted data on the disk of a computer, by cease issuing a decryption key, to ensure made it impossible to access sensitive information stored on the computer in order, it is possible to take appropriate means. あるいはまた、例えば、システムを正しいPCR値を生成する状態に復旧させること、またはユーザが、図3からの値302内の秘匿された新しいPCR値を許可するのを認証することによって、システムを維持するためのプロセスを実施することができる。 Alternatively, for example, maintenance can be restored to a state that produces the correct PCR values ​​system, or user, by authenticating the to allow concealed new PCR value within the value 302 from FIG. 3, the system the process for may be implemented. こうしたプロセスが、以下に説明される。 Such processes are described below. 示されるように、ステップ503において秘密が必要とされない場合には、如何なる秘密も必要とすることなく、次のコンポーネントを読み込むことができる。 As shown, when not needed secret in step 503, without also requiring any secret, it is possible to read the next component.

図4および図5を一緒に参照し、本発明のシステムおよび方法に適合する例示的なブート・プロセスを示すことができる。 Referring FIGS. 4 and 5 together, it is possible to indicate a system and exemplary boot process compatible with the process of the present invention. 最初に、基本入出力システム(BIOS)401を読み込み、CRTM400を読み込み、測定することができる。 First, read the basic input output system (BIOS) 401, it is possible to read the CRTM400, measured. この測定は、例えば、BIOS上でハッシュを行い、次にハッシュの測定値をPCRにサブミットすることによって行うことができる。 This measurement, for example, performs a hash on the BIOS, then the measured value of the hash can be done by submitting to the PCR. 次に、BIOSの実行が可能になり、BIOSは、マスター・ブート・レコード(MBR)402のためのRTMとして働くことができる。 Next, enables execution of BIOS, BIOS can serve as a RTM for the Master Boot Record (MBR) 402. MBRを測定してPCRに格納することができ、次に、MBR402の実行が許可される。 By measuring the MBR can be stored in PCR, then execution of MBR402 is permitted. MBRは、ブート・セクタ・コンポーネント403を測定することができ、次に該ブート・セクタ・コンポーネント403の実行が許可される。 MBR may measure a boot sector component 403, then execution of the boot sector component 403 is permitted. 読み込み、測定し、PCRに書き込み、次のコンポーネントに移行するというこのパターンは、各コンポーネント404、405、406、および407、並びにオペレーティング・システム407内のいずれかのコンポーネントによって、必要に応じて繰り返すことができる。 Read, measured, write to PCR, this pattern to shift to the next component, each component 404, 405, 406, and 407, as well as by any of the components of the operating system 407, repeating as needed can. 図5に示されるように、本発明の付加的な態様は、このプロセスの変形を含み、この変形は、途中のどの時点でも秘密を要求し、用いることができる。 As shown in FIG. 5, an additional aspect of the present invention comprises a variant of this process, this variant may request a secret at any point in the middle, it can be used. この点で、本発明の実施形態は、次のコンポーネントに移行する前に実行できる付加的なステップを通して、高度のセキュリティを提供する。 In this regard, embodiments of the present invention, through additional steps that can be performed before moving to the next component, provides a high degree of security. これらの付加的なステップは、正しいPCR値を測定することによって取得される秘密を条件としてマシンのブートを成功させ、これにより、ブートに用いられるデータの一部または全てが、秘密が秘匿されたときのままであることが保証される。 These additional steps, correct PCR values ​​a successful boot of the machine, subject to a secret that is acquired by measuring, by which some or all of the data used to boot the secret is concealed it is guaranteed remain in that at the time. 付加的なステップはまた、ブート中に必要であるがその後は必要でないブート後のリソースへのアクセスを防止する働きもできる。 Additional steps may also, it is necessary during boot then can also serve to prevent access to the resources since boot not required.

次のコンポーネントに移行する前に、コンポーネント400−406の一部に、解読鍵、BLOB、または他の解読鍵などへのアクセスを可能にする保護情報とすることができる秘密を取り出すことを要求することによって、図4および図5の基本的プロセスを強化することができる。 Before moving to the next component, some components 400-406, and requests the decryption key, BLOB, or other to retrieve the secret may be protected information that allows access decryption keys to such, by, it is possible to enhance the basic processes of FIGS. このように、本発明の実施形態は、ブート・プロセス内の戦略的時点において1つまたは複数の秘密にアクセスするときに、オペレーティング・システムによる有用な動作の性能を調整することができる。 Thus, embodiments of the present invention, when accessing the one or more secret at strategic point in the boot process, it is possible to adjust the performance of useful operations by an operating system. 測定されるコード・モジュール401−406(ここではコンポーネントおよび/またはソフトウェア・プロセスとも呼ばれる)のいずれかが変更されたことが発見された場合には、重要な秘密を伏せることができる。 When that one of the measured code module 401-406 (also referred to herein as components and / or software processes) changes is found, it can be withheld important secrets. 伏せることができる秘密の例は、「SYSKEY」(サービスによって用いられるパスワードのような局所的な秘密を解読するために、LSASSによって用いられる)、コンピュータのハードドライブまたはディスク・パーティション上に格納される実質的に全てを解読するためのボリューム暗号化鍵、およびEFSのような高レベルのシステム保護によって要求される秘密である。 Examples of secrets that may be withheld are "SYSKEY" (to decrypt the local secret such as a password used by the service, used by LSASS), it is stored on the hard drive or disk partition computer it is a secret that is required by a substantially volume encryption key to decrypt all, and high levels of system protection such as EFS. 次に、高レベルの保護は、SRTMより汎用性のある方法で、カタログを用いて検証することができる。 Next, a high level of protection can be in a way that is more SRTM versatile, it verified using the catalog.

マシンうまくブートできる状態にマシンを修理するために、ここに説明される安全なブート・プロセスに加えて、以下に説明されるシステムおよび方法を実施することができる。 To repair the machine ready for machine work boot, in addition to the secure boot processes described herein, it is possible to implement the systems and methods described below.

例示的な付加的なブート保護技術 次のコンポーネントに移行する前に次のコンポーネントを測定するように、複数のソフトウェア・コンポーネントを構成することができる、図4および図5を参照して理解できるもののようなブート・シーケンスにおいて、コンピュータ上に格納されたデータのセキュリティをさらに高める幾つかの付加的な予防措置を取ることができる。 Before migrating to an exemplary additional boot protection technology following components to measure the following components, it is possible to configure more software components, but can be understood with reference to FIGS. 4 and 5 in the boot sequence such as may be some additional precautions to further enhance the security of data stored on the computer. これらの付加的な予防措置が、このセクションの主題である。 These additional precautions are the subject of this section. ここに説明される予防措置のいずれかまたは全てを本発明の実施形態に組み込むことができる。 Any or all of the precautions to be described herein may be incorporated into embodiments of the present invention. 1つの好ましい実施形態においては、以下に説明されるように、ここに説明される予防措置の全てが用いられる。 In one preferred embodiment, as described below, all precautions described herein is used. しかしながら、本発明はこうした実施に限定されるものでない。 However, the present invention is not limited to such embodiments.

最初に図5aを参照すると、こうしたプラットフォームの完全性において秘密の公開を調整することによって、コンピュータのブートを、オペレーティング・システムに先行するコンポーネントの完全性に結びつけることができる。 Referring first to FIG. 5a, the integrity of these platforms by adjusting the public secret, may be tied to boot the computer, the integrity of the components that precede the operating system. 最初に、図5aの概念的概観が与えられ、次に、図5aのより詳細な説明が与えられる。 First, it is given a conceptual overview of Fig. 5a, then a more detailed description of Figure 5a is applied.

最初に、ブート・マネージャのようなソフトウェア・コンポーネントの公に知られたハッシュ値を用いて、PCRを拡張することができる。 First, by using a hash value publicly known software components such as a boot manager, PCR can be the expanding. このことは、開示可能なブート秘密をもたらすが、これは、全ての先行するソフトウェア・コンポーネントが信頼できる場合に満足の行くものである。 This is, leads to a disclosure can boot secret, this is satisfactory if all of the preceding software components can be trusted. ブート秘密を開示できる場合、全ての先行コンポーネントを信頼できる。 If you are able to disclose the boot secret, trusted all of the preceding component. この際に、例えばブート・マネージャのようなソフトウェア・コンポーネントの状態は知られていない。 In this case, for example, the state of the software component, such as a boot manager is not known.

次に、ブート秘密を解読することができ、ボリューム対称鍵を用いてオン・ザ・フライ式にシステム・パーティションを解読し、ブート・マネージャをメモリに読み込むことができる。 Then, it is possible to decrypt the boot secret to decrypt the system partition on the fly using a volume symmetric key can read the boot manager into memory.

第3に、これから解読される、メモリ内のブート・マネージャのハッシュ値を公知のハッシュ値と照合することによって、認証前ステップを統合することができる。 Third, now is decrypted by matching the known hash value hash of the boot manager in the memory, it is possible to integrate the pre-authentication step. ハッシュ値が合致する場合には、ブートは正常に進行することができる。 If the hash values ​​match, boot may proceed normally. ハッシュ値が正しくない場合には、PCRを無効にすることができる。 If the hash value is not correct, it is possible to disable the PCR. ハッシュ値が正しいことを確認する、少なくとも次の方法が存在する。 To verify that the hash value is correct, at least the following methods exist.
a. a. ブート・マネージャのハッシュ値を公に知られているハッシュ値と照合する。 To match the hash value that is known the hash value of the boot manager to the public. システムがブート秘密を開示できる場合には、公に知られたハッシュ値が有効であることが分かるので、含蓄的に、ブート・マネージャのハッシュ値が、ブートblobを開示するのに用いられるハッシュ値と合致する場合、該ブート・マネージャのハッシュ値が有効であることが分かる。 If the system can disclose the boot secret, so the hash value known publicly that it is understood that the effective, the implication, hash value hash of the boot manager is used to disclose the boot blob If consistent with, it can be seen hash value of the boot manager is valid.
b. b. ブート・マネージャのハッシュ値を秘匿された秘密に格納されたハッシュ値と照合する。 The hash value of the boot manager to match the hash value stored in the secret that has been kept secret.
c. c. 公に知られたブート・マネージャのハッシュ値を用いて異なるPCRを拡張し、2つのハッシュ値を比較する。 PCR extend the different using the hash value of the boot manager which is publicly known, comparing the two hash values.

ここで図5aをより詳細に参照すると、ステップ550において、現在のコンポーネントまたはRTMが実行中である。 Referring now to FIG. 5a in more detail, in step 550, a current component or RTM is running. 現在のRTMは、次のソフトウェア・コンポーネントに移行するために、次のステップを実行することができる。 Current RTM, in order to shift to the next software component, it is possible to perform the following steps. 予想される次のコンポーネントの測定値を、例えばPCR[a]のようなPCR内に読み込むことができる551。 The measurements of the following components expected, can be read in a PCR such as PCR [a] 551. 次に、RTMコンポーネントは、秘密を取り出そうと試みることができる552。 Then, RTM components, can attempt to retrieve the secret 552. PCR[a]が正しい値と共に読み込まれなかった場合には、現在のRTMは有効でなく、秘密へのアクセスを拒否することができ、これにより図5を参照して説明されたような通常のブートが阻止される。 PCR when [a] was not loaded with the correct value, the current RTM may not be valid, it is possible to deny access to the private, which by reference to the usual as described with FIG. 5 boot is prevented. 秘密を用いて、次のコンポーネントを解読することができる553。 553 can be used the secret, to decipher the following components. 次のコンポーネントが解読されるので、将来の攻撃者が、次のコンポーネントを分解工学し、修正して、予期しない方法で実行することは不可能である。 Since the following components is decrypted, future attackers, decomposed engineering the following components, by modifying, it is not possible to perform in an unexpected way. 解読された次のコンポーネントを測定し554、その測定値を、PCR[b]のようなPCR内に置くことができる555。 554 measures the decrypted following components, the measurements can be placed within PCR such as PCR [b] 555. RTMは、次に、PCR[a]および[b]の値を比較することができる556。 RTM may then compare the values ​​of PCR [a] and [b] 556. これらが合致する場合には、次のコンポーネントとすることができる次のコンポーネントに移行することができる558。 If these are met, you can transition to the next component, which may be the following components 558. これらが合致しない場合には、例えば、メモリの幾つかの所定部分を測定して、これらのPCR内に入れることによって、ターミナル値においてPCR[a]および[b]に上限を設けることができ、通常のブートを中止することができる559。 If these do not match, for example, by measuring the number of predetermined portions of the memory, by placing in these PCR, the upper limit may be provided to the PCR [a] and [b] in the terminal value, 559 to be able to stop the normal boot.

図6を参照すると、示されるフローチャートは、図5aに導入されたシステムおよび方法の実施形態を示し、ここでは、先行するコンポーネントの動作がうまくいった時に重要なブート・コンポーネントへのアクセスおよび該重要なブート・コンポーネントの完全性を調整するための、システムおよび方法を実施する多数のステップが示される。 Referring to FIG. 6, the flow chart shown illustrates an embodiment of the introduced systems and methods in Figure 5a, where the access to critical boot component when the operation of the preceding components is successful and the key for adjusting the integrity of such boot components, a number of steps to implement the systems and methods are shown. 図6に用いられる例示的なブート・コンポーネントはブート・マネージャであるが、いずれのコンポーネントも図6に実証される技術の主題となり得る。 Exemplary boot components used in FIG. 6 is a boot manager, it may be the subject of any of the techniques components also demonstrated in Fig. 本説明のために、図6のステップは、図4に照らして理解することができる。 For this explanation, the steps of FIG. 6 may be understood with reference to Figure 4. 複数のソフトウェア・コンポーネントを、連続的な方法で実行することができ、これらの1つまたは複数は、次のコンポーネントに移行する前に次のコンポーネントを測定することができる。 A plurality of software components, can be performed in a continuous manner, one of these or may measure the following components before moving to the next component.

この文脈において、ステップ612に示されるように、ブート・プロセスのある時点において、ブート・セクタのような第1のコンポーネントを読み込むことができる。 In this context, as shown in step 612, at some point in the boot process, you can read the first component, such as a boot sector. 次に、図5aに述べられる技術に従って、ブート・セクタを測定してPCR内に格納することができる。 It can then be stored according to techniques described in Figure 5a, by measuring the boot sector in the PCR. ステップ611に用いられる例示的なPCRはPCR[8]であるが、本発明は、いずれか特定のPCRに限定されるものではない。 Exemplary PCR used in step 611 is PCR [8], but the present invention is not limited to any particular PCR. 次に、コンピュータは、ブート・セクタ612の実行に移行することができる。 Then, the computer may transition to execution of the boot sector 612. ここで、ブート・セクタは、ブート・ブロックのためのRTMとして働くことができ、その際、該ブート・ブロックを測定してPCR[9]内に格納することができる608。 Here, the boot sector may serve as an RTM for the boot block, it is possible to store the time, by measuring the boot block into PCR [9] 608. 次に、コンピュータは、ブート・ブロックの実行に移行することができる600。 Then, the computer may transition to execution of the boot block 600. ここで、ブート・ブロックは、ブート・マネージャのためのRTMとして働き、次のステップにおける付加的なセキュリティ手段を実行することができる。 Here, the boot block serves as an RTM for the boot manager, may perform additional security measures in the next step.

このように、ブート・ブロックは、ブート・マネージャの予想される測定値をPCRに読み込むことができる601。 Thus, the boot block may be read expected measured value of the boot manager to PCR 601. 図6に用いられる例示的なPCRは、PCR10である。 Exemplary PCR used in Fig. 6 is a PCR10. PCR[8]、[9]、[10]に読み込まれる値、および制御するように構成された前のまたは次のPCRが正しい場合、こうした秘密がブート・ブロックによって要求されたとき、TPMは、秘密へのアクセスを許可することができる。 PCR [8], [9], [10] the value is read, and before that is configured to control or following PCR is correct, when such secret is requested by the boot block, TPM is it is possible to allow access to the secret. この秘密は、ブート・マネージャが格納されているハードディスクの一部のようなメモリの一部を解読するための解読鍵とすることができる。 The secret may be a decryption key for decrypting a portion of memory, such as a portion of the hard disk boot manager is stored. ステップ602に示されるように、この鍵は、ブート・ブロック・コンポーネントによって取り出すこともできる。 As shown in step 602, this key can also be retrieved by the boot block component. ブート・マネージャの正しい予想測定値を生成するためにブート・ブロックを要求することによって、第1の層のセキュリティが与えられ、正しくない値が与えられた場合には、TPMは、ブート・マネージャを解読するのに必要とされる鍵へのアクセスを拒否することができる。 By requiring the boot block to produce a correct expected reading of the boot manager, security is provided in the first layer, when an incorrect value is given, TPM is a boot manager it is possible to deny access to the key needed to decrypt.

正しい予想値が与えられた場合には、暗号化鍵を取り出し、次に、ステップ603において、該暗号化鍵を用いて、ブート・マネージャ・コンポーネントを解読することができる。 When the correct expected value is given, taking out the encryption key, then, in step 603, it is possible using this encryption key to decrypt the boot manager component. 次に、ブート・ブロックは、ブート・マネージャを解読するのに用いられる「ブート・アクセス専用」鍵を恒久的に廃棄するように構成することもできる604。 Next, the boot block may also be configured to permanently dispose of "boot access only" key used to decrypt the boot manager 604. ブート・マネージャまたは次に読み込まれるコンポーネントが壊れていた場合、鍵にアクセスすることができなくなり、よってアクセスできるデータが厳しく制限されるので、ブート・マネージャを読み込む前にブート・アクセス専用鍵を廃棄することによって、セキュリティの層を付加する。 If the boot manager or components that are loaded to the next was broken, it will not be able to access the key, and thus the access data that can be severely limited, to discard the boot access private-key before loading the boot manager it allows adding a layer of security. このことは、本発明の種々の実施形態について考慮されるように、コンピュータのハードディスクが殆ど完全に暗号化されているときに、特に言えることである。 This is to account for the various embodiments of the present invention, when the hard disk of the computer is almost fully encrypted is particularly true.

次に、コンポーネントのハッシュ値の計算のような、ブート・マネージャ・コンポーネントを測定することができる605。 Then, 605 can be measured, such as the calculation of the hash value of a component, the boot manager component. 測定値は、PCR13のような別のPCR内に格納することができる606。 Measurements can be stored in another PCR, such as PCR13 606. ステップ607に示されるように、PCR10およびPCR13内に格納された値を比較し、これらが合致するかどうかを判断することができる。 As shown in step 607, it is possible to compare the values ​​stored in PCR10 and PCR13, to determine whether they match. 合致しない場合には、ブート・マネージャが変更され、壊れたコードまたは悪質のコードを含む可能性があるという結論に達することができる。 If no match is changed boot manager can conclude that there is a possibility that contains corrupted code or malicious code. まだブート・マネージャ・コンポーネントの実行に移行されておらず、よって、まだ如何なる危害も加えることができないことを思い出されたい。 Not yet been migrated to the execution of the boot manager component, therefore, recall that still can not add any harm. ブート・マネージャが壊れている場合には、ブート・ブロックによって、適切なセキュリティ手段を取ることができる。 If the boot manager is broken, by the boot block, it is possible to take the appropriate security measures. したがって、コンピュータのブートは、ブート・マネージャのような重要なソフトウェア・コンポーネントの解読および測定の成功を条件として行うことができる。 Thus, the boot of the computer, can perform the successful decryption and measurement of critical software components, such as the boot manager as a condition.

図7および図8を参照すると、後でコンピューティング・リソースを制御するプロセスからのブート中に用いられる秘密を秘匿するのに用いることができる、例示的なシステムおよび方法が示されている。 Referring to FIGS. 7 and 8, which can later be used to conceal the secret used during boot from processes that control computing resources, shown exemplary system and method. 図7および図8に示されるプロセスは、コンピュータ・ハード・ドライブ上に多数ディスク・パーティションが現存する状況において特に有用であるが、種々の設定において有用であることが理解される他の利点も有している。 The process illustrated in FIGS. 7 and 8, but many disk partitions on a computer hard drive is particularly useful in situations where existing, other advantages to be understood to be useful in a variety of settings Yes doing. 図7および図8に示されるプロセスの1つの利点は、単一のパーティションに対して、ソフトウェア・コンポーネントによってアクセスを制限するために、これらのプロセスを用いることができる点である。 One advantage of the process shown in FIGS. 7 and 8, for a single partition, to restrict access by software components, is that it is possible to use these processes. ブートの初期段階のコンポーネントは、全てのディスク・パーティションへのアクセスを要求することが多いが、後の段階およびブート後のコンポーネントは、単一のパーティションに制限することができる。 Early stages of boot components are often requires access to all disk partitions, components after phase and boot later, it can be limited to a single partition. 図7および図8は、こうした制限を保証するための例示的なシステムおよび方法を示す。 7 and 8 show an exemplary system and method for ensuring such restriction.

図7は、図8に示されるプロセスのための設定を提供する。 Figure 7 provides a setting for the process illustrated in FIG. 図面の左側には、パーティションA700、パーティションB702、およびパーティションC704を含む、複数のディスク・パーティションが示されている。 The left side of the drawing, partition A700, partition B 702, and a partition C704, are shown a plurality of disk partitions. 当業者には理解されるように、一般に、701、703、および705のような予約されたパーティション内に格納される、ブートの初期段階に必要とされる情報を除いて、各々のパーティションを完全に暗号化することができる。 As will be appreciated by those skilled in the art, generally, 701 and 703, and 705 are stored in the reserved partition, such as, with the exception of the information needed for the early stages of boot, complete each partition it can be encrypted. 図4を参照して説明されるように連続的に読み込むことができるブート・ブロック706、ブート・マネージャ707、およびオペレーティング・システム(OS)ローダー708を含むソフトウェア・コンポーネントが、図7の下側に沿ってある。 Boot block 706 may be continuously read as reference to description of FIG 4, the boot manager 707, and software components including an operating system (OS) loader 708, the lower side of FIG. 7 It lies along. PCRx709、PCRy710、時間1のPCRz711、および時間2のPCRz712を含む、複数のPCRが、図7の中央に示されている。 PCRx709, PCRy710, time 1 PCRz711, and a time 2 PCRz712, a plurality of PCR, are shown in the middle of FIG. PCRは、一般に、文字ではなく番号によって識別されるが、幾つかの実施形態は図8に説明されるPCRを使用できるとはいえ、本発明が、使用される特定のPCRに制限されないことを強調するために、ここでは文字が用いられている。 PCR will generally be identified by not the character number, although the some embodiments may use PCR described in Figure 8, the present invention is, that it is not limited to the particular PCR used to emphasize, it is used herein characters. 図7のPCRは、図5を参照して説明される機能を果たし、(値を内部に置くことができ)、TPM713を信頼して、この値が正しいかどうかを示し、および/または正しい値が入力されたときに秘密へのアクセスを許可することができる。 PCR 7 plays the functions described with reference to FIG. 5, (can put a value therein), trust TPM713, indicates whether the value is correct, and / or correct values There can be granted access to the secret as they are entered.

図8に反映される実施形態のより詳細な説明に先立ち、図7を参照して一般的な概念を公式化することができる。 Prior to a more detailed description of the embodiments reflected in FIG. 8, it is possible to formulate a general concept with reference to FIG. TPM713を通して、鍵またはBLOB714のようなブート専用秘密にアクセスを獲得するために、時点1におけるPCRzの値のような1つまたは複数のPCRの第1の値711を必要とする。 Through TPM713, in order to gain access to the boot-only secret, such as a key or BLOB714, it requires a first value 711 for one or more of PCR as follows: the value of PCRz at time 1. コンピュータのブートの初期段階において要求されるように、ブート専用鍵またはBLOB714は、複数のパーティションからの情報を解読するのに有用である。 As required in the early stages of a computer boot, the boot-only key or BLOB714 is useful for decrypting information from a plurality of partitions. ボリューム制限鍵(volume−bound key)またはBLOB715へのアクセスを獲得するために、時点2におけるPCRz712のような1つまたは複数の第2のPCR値を必要とする。 To gain access to the volume-bound key (volume-bound key) or BLOB715, require one or more second PCR values, such as PCRz712 at time 2. ボリューム制限鍵またはBLOBは、パーティションA700からのデータを解読するためだけといった、パーティションのサブセットに対してのみ有用である。 Volume-bound key or BLOB is such only for decrypting data from partition A700, useful only for a subset of partitions. したがって、それぞれ異なる時間に同じPCRの異なる値を用い、これらの多数の値の適切な鍵への鍵またはBLOBのアクセスを調整することによって、下流側のソフトウェア・コンポーネントが、ブート・コンポーネントに使用可能な情報にアクセスするのを阻止することができる。 Thus, using different different values ​​of time in the same PCR respectively, by adjusting the key or BLOB access to an appropriate key a number of these values, the software components on the downstream side, can be used to boot components it can be prevented from accessing such information. ブートが適正に行われるためには、ボリューム制限鍵またはBLOB715にアクセスしなければならず、これは、ブート専用鍵またはBLOB714がもはやアクセス可能でなくなることを保証する。 To boot are performed properly has to access the volume-bound key or BLOB715, which ensures that the boot-only key or BLOB714 is no longer longer accessible. このシステムの付加的な利点が、特に図6に示されるシステムおよび方法と組み合わせて、当業者には明らかであろう。 An additional advantage of this system, especially in combination with the system and method depicted in FIG. 6, will be apparent to those skilled in the art.

図8を参照すると、図7に図式化されるようなシステムを実装するための種々の実施形態が示されている。 Referring to FIG. 8, there is shown various embodiments for implementing a system such as that diagrammed in Fig. したがって、ステップ800において、ブート・マネージャ・コンポーネントを読み込むことができる。 Accordingly, in step 800, it is possible to read the boot manager component. 図6の技術を組み込むシステムにおいては、そこに示されるプロセスに従って、ブート・マネージャを読み込むことができる。 In a system incorporating the technique of Figure 6, according to the process shown therein, it is possible to read the boot manager. 例えば、ステップ801において、ブート・マネージャのハッシュ値を測定してPCR10内に入れることができる。 For example, in step 801, it can be placed in PCR10 by measuring the hash value of the boot manager. 次に、TPMの使用には一般的なことだが、全ての以前の測定値だけでなく、例えばPCR[11]および[12]であり、まだ測定値と共に読み込まれていず、よって典型的にはゼロである初期値を保持するPCR[y]および[z]の値にも基づいて、ブート・アクセス専用鍵をTPMから取り出すことができる。 Next, it common practice to use the TPM, all well previous measurements, for example, PCR [11] and [12], Izu yet loaded with measurements, thus typically PCR [y] and for holding the initial value is zero also based on the value of [z], it is possible to retrieve the boot access only key from TPM. したがって、PCR[y]および[z]の初期値に基づいて、ステップ802において秘密を取り出すことができる。 Therefore, based on the initial value of PCR [y] and [z], it is possible to take out the secret in step 802.

さらに図8を参照すると、ステップ803およびステップ804において、OSローダーは、メモリ内に読み込み、ブート・マネージャによって測定することができる。 Still referring to FIG. 8, in step 803 and step 804, OS loader reads in memory may be measured by the boot manager. OSローダーのハッシュ値をPCR[y]内に置くことができる805。 805 a hash value of the OS loader may be placed in PCR [y]. このPCR[y]への変更は、ブート・アクセス専用秘密への将来のアクセスを事実上取り消すことになり、よって、秘密がブート・マネージャによって廃棄される場合、秘密は、下流側のコンポーネントに失われることに注意されたい。 Changes to this PCR [y] will become revoke virtually future access to the boot-access only secret, thus if the secret is disposed of by the boot manager, secret, lost downstream of the component it should be noted that crack. 次に、PCR[y]を、ブート・アクセス専用秘密内に格納されている値と比較することができる806。 Next, the PCR [y], may be compared with the value stored in the boot access only the secret 806. 例えば、ブート・アクセス専用秘密がBLOBである場合には、PCR値を該BLOBと共に格納することができる。 For example, if the boot access only secret is a BLOB, it may store the PCR value with the BLOB. 比較がうまくいった場合には、ブート・アクセス専用BLOBからボリューム制限鍵を抽出することができる807。 If the comparison is successful, it is possible to extract the volume restriction key from the boot access only BLOB 807. ボリューム制限鍵を測定してPCR[z]内に入れることができる808。 808 can be placed to measure the volume-bound key into PCR [z]. PCR[z]を通して、新しいPCR値に基づいたボリューム制限秘密へのアクセスを許可するように、TPMを構成することができる809。 Through PCR [z], to allow access to the volume limitations secret based on the new PCR values, it is possible to configure the TPM 809. したがって、ステップ809においてボリューム制限BLOBを獲得することにより、ブート・アクセス専用BLOBのアクセスしにくさを調整することができる。 Therefore, by acquiring a volume limit BLOB in step 809, it is possible to adjust the access to difficulty of the boot access only BLOB. この技術を利用する本発明の実施において、全ての次のプロセスを、ボリューム制限鍵またはBLOBに関連付けられたパーティションのサブセットに、事実上制限することができる。 In the practice of the present invention utilizing this technique, all the following processes, to a subset of partitions associated with the volume-bound key or BLOB, it is possible to effectively limit.

システム・データを保護するための例示的なブート検証プロセス 本発明の実施形態は、ユーザ・インターフェース(UI)を通して、ユーザのコマンドで動作し、構成することができるブート検証プロセスを提供することができる。 Embodiment of an exemplary boot verification process according to the invention for protecting a system data, through the user interface (UI), and operates at the user's command, it is possible to provide a boot validation process that can be configured . したがって、コントロールパネル・アプレットのようなプログラムを用いて、ユーザが本発明によるブート保護プロセスの動作をイネーブルにできるUIを使用可能にすることができる。 Thus, using a program such as the control panel applet, a user can enable a UI capable to enable operation of the boot protection process according to the present invention. マシンのユーザがそのマシンのTPMの所有権を取得していなかった場合には、UIは、まず所有権を取得するかまたはキャンセルするかの選択肢を提示することができる。 If the machine users did not take ownership of the TPM of the machine, UI can be first to present one of the choices to either or cancel to take ownership. 特定のブート・パーティションの選択をユーザに要求する、同様の選択肢を提示することもできる。 Requesting selection of a particular boot partition to the user may be presented a similar choice. 保護されたブートが、New Technology File System(NTFS)のような特定のファイル・システムのみで動作するように構成される場合には、ユーザは、そのファイル・システムを利用するブート・パーティションの選択を要求することができる。 Protected boot, when New Technology File System is configured to work only with a particular file system, such as (NTFS), the user, the selection of the boot partition that uses the file system it is possible to request.

保護されたブートがUIによってイネーブルにされると、自動プロセスは、セキュリティ保護されるべきトップレベルの秘密が、可能であれば再生成され、次に、秘密の開示に必要とされる予想PCRレジスタ値に秘匿されることを保証できる。 When protected boot is enabled by UI, an automatic process, the top-level secret to be security protected is possibly regenerated, then the expected PCR register required for the disclosure of the secret can ensure that the confidentiality of the value. 好ましい実施形態は、この操作のために、PCR[4]、PCR[8]から場合によってはPCR[15]までを利用することができる。 Preferred embodiments for this operation, PCR [4], can be utilized to PCR [15] In some cases the PCR [8]. パスワードに開示操作を代行させ、これを公に見える場所に格納することができる。 Password to delegate the disclosure operation, can be stored in a location visible publicly this. したがって、選択されたパスワードは、秘匿操作に使用されたものと異なるものにすることができる。 Accordingly, the selected password may be different from the one used in the concealment operation. この操作をサポートするために、TCG(登録商標)1.2TPMが好ましい。 To support this operation, TCG (registered trademark) 1.2TPM are preferred. より高いセキュリティを提供できるこのプロセスの変形により、より多くのPCRを指定することが可能になり、マシンの所有者がア開示用パスワードを指定し、これをブート・プロセスの初期に入力することが可能になる。 The deformation of the processes that can provide higher security, it is possible to specify more PCR, that the owner of the machine to specify a password for the A disclosure, and inputs the early in the boot process possible to become.

従来のPCまたはATコンピュータ(PCAT)システム、即ち従来技術のBIOSを用いるx86ベース・システムにおいては、MBRブート・セクタ、NTFSブート・セクタ、NTFSブート・ブロック、およびブート・マネージャを用いて、予想されるPCR値を判断することができる。 Conventional PC or AT computer (PCAT) system, i.e. in x86 based systems using prior art into BIOS, using MBR boot sector, NTFS boot sector, NTFS boot block and a boot manager is expected It may determine that PCR value. 予想されるPCR値についてのさらなる詳細が、例示的なブート・シーケンスと併せて以下に説明される。 Further for the expected PCR value details are set forth below in conjunction with exemplary boot sequence. 拡張ファームウェア・インターフェース(EFI)システムについて、EFIUシステム・パーティション(ESP)内の関連ファイルが測定される。 About Extensible Firmware Interface (EFI) system, relevant files EFIU the system partition (ESP) are measured. ブート・ボリューム暗号化を含む本発明の変形について、NTFSブート・ブロックを含む、そこまでのブートの初期部分について、ディスク暗号化鍵をPCRに秘匿することができる。 Deformation of the present invention, including a boot volume encryption, including NTFS boot block, the initial part of the boot up there, the disk encryption key can be concealed PCR.

リカバリー・シナリオを助けるために、CDROMを介するリカバリー、およびこうしたパーティションが存在する場合に特定のリカバリー・パーティションを介するリカバリー、および取り外し可能メディアおよび/またはパスワードのような第2の認証方法を介するリカバリーを含む、上記の秘密の他のコピーをブートするように秘匿することができる。 To help recovery scenario, recovery via CDROM, and recovery through a certain recovery partition if such a partition exists, and recovery via the second authentication method, such as removable media and / or password including, may be concealed to boot the other copies of the secret.

PCATシステムのための例示的なブート・プロセスが以下に提供される。 Exemplary boot process for the PCAT system is provided below. ここに表示されるプロセスもまた、図8および図9を参照して理解することができる。 Process appear here can also be understood with reference to FIGS.
・TCG(登録商標)1.2仕様によって要求されるように、BIOSを測定してPCR[0]内に入れるのを担う、ROMの読取り専用部分を実行することができる。 · TCG as required by (R) 1.2 specification, responsible to put into PCR [0] to measure the BIOS, it is possible to perform a read-only portion of ROM.
・BIOS構成パラメータを測定してPCR[1]内に入れる。 · To measure the BIOS configuration parameters placed in PCR [1] and.
・オプションROMを測定してPCR[2]内に入れる。 • The option ROM measured placed in a PCR [2] and.
・オプションROMパラメータを測定してPCR[3]内に入れる。 • The option ROM parameters measured placed in a PCR [3] and.
・MBRを測定してPCR[4]内に入れる。 · To measure the MBR placed in a PCR [4] and.
・パーティション・テーブルを測定してPCR[5]内に入れる。 • The partition table measured placed in a PCR [5] and.
・MBRを測定した後、BIOSが実行をMBRに転送する。 - After measuring the MBR, BIOS transfers execution to the MBR.
・MBRが、アクティブ・パーティションのNTFSブート・セクタを読み込み、これを測定してPCR[8]内に入れる。 · MBR is, read the NTFS boot sector of the active partition, and placed in a PCR [8] to measure this. 次に、MBRは、実行をこのブート・セクタ転送する。 Then, MBR is, the execution to the boot sector transfer.
・ブート・セクタは、ブート・ブロックをメモリ内に読み込む(一般に、8K)。 Boot sector reads the boot block in memory (typically, 8K). ブート・ブロックを測定してPCR[9]内に入れる(暗号化情報を除く)。 Measure the boot block placed in PCR [9] with (excluding encryption information). ボリュームが暗号化される場合には、この時点で暗号化情報が開示され、これを用いて、ディスクから読み込まれたいずれかの将来のセクタを解読する。 If the volume is encrypted, the encrypted information at this time is disclosed, and used to decipher one of the future sectors loaded from the disk.
・ブート・マネージャがディスクからメモリ内に読み込まれる。 Boot manager is read from disk into memory. ブート・マネージャを測定してPCR[10]に入れる。 To measure the boot manager placed in a PCR [10] and. 実行をブート・マネージャに転送する。 To transfer the execution to the boot manager. (上述のような1つの変形は、予想されるPCR[10]の測定値を秘匿されたデータの中に格納し、これを用いて、正しいブート・マネージャが測定されたことを検証することができる。) (One as described above deformation is stored in the data confidential measurements of PCR [10] to be expected, using this, that the correct Boot manager to verify that the measured it can.)
・ブート・マネージャは、重要なデータを測定してPCR[11]に入れる。 Boot manager, put the important data measured in PCR [11]. 重要なデータは、例えば、デバッガがイネーブルにされようとしているかどうかといったセキュリティに影響を与え得る情報を含むことができる。 Important data, for example, may include information that the debugger can affect the security and whether is about to be enabled. 幾つかの実施形態においては、PCR[11]が情報を用いて拡張されるまで、この情報に従って動作することができない。 In some embodiments, until PCR [11] is extended with information, it is impossible to operate in accordance with this information.
・ブート・マネージャは、OSローダーを選択してメモリに入れ、これを測定してPCR[12]に入れ、実行を該PCR[12]に転送する。 Boot manager, placed in the memory by selecting the OS loader to measure this placed in PCR [12], and transfers execution to the PCR [12].
・OSローダーは、重要なデータを測定してPCR[13]に入れる。 · OS loader, placed in a PCR [13] to measure the critical data.
・OSローダーは、PCR[4]、PCR[8]乃至[13]、および随意的にいずれかの付加的PCRを用いて、OSローダーによって用いられる秘密を開示する。 · OS loader, PCR [4], PCR [8] to [13], and optionally with any additional PCR, discloses a secret to be used by the OS loader.
・OSローダーは、「コード完全性(Code Integrity)」を転送し、システムのさらなる検証を行う。 · OS loader, to transfer the "code integrity (Code Integrity)", for further verification of the system.
・コード完全性は、フェーズ−0ドライバ、NTKRNL、およびHALのようなシステムによって読み込まれる将来のバイナリの各々を検証する。 Code integrity, phase -0 driver, verifying each future binary loaded by the system, such as NTKRNL, and HAL.
・NTKRNLは、LSASSおよびWinLoginを含む初期のシステム・プロセスを開始する。 · NTKRNL starts initial system processes, including LSASS and WinLogin.
・LSASSは、PCR[4]、PCR[8]乃至[13]、および随意的にいずれかの付加的PCRを用いて、SYSKEYを開示する。 · LSASS is, PCR [4], PCR [8] to [13], and optionally with any additional PCR, discloses SYSKEY. 開示に失敗した場合、LSASSは、原因を判断し、是正措置を示唆し、および/またはリカバリー情報を要求し、二次的な方法によって秘密を取得する。 Failure to disclose, LSASS determines the cause, suggest corrective action, and / or requests recovery information to obtain secrets by secondary method.
・解読されたブート・ボリュームにアクセスする全てのコードが、PCR[4]、PCR[8]および[9]、並びにいずれかの付加的な指定のPCRを用いて、ブート・ボリューム解読秘密を開示する。 · The decoded all code that accesses the boot volume was is, PCR [4], PCR [8] and [9], and using any additional specification of PCR, disclosed boot volume decryption secrets to.

EFIシステムにおいて、上記のプロセスに対する幾つかの変形が、有利である。 In EFI system, several variations to the above process is advantageous. 例えば、MBRを測定し、実行をこれに転送する代わりに、以下の動作を取ることができる。 For example, to measure the MBR, instead of transferring execution to it, can take the following operation. すなわち、 That is,
・オプションROMのものに加えて、ROMベースのドライバを測定し、PCR[2]に入れる。 Options In addition to the ROM, to measure the ROM based drivers placed in PCR [2].
・ブート・マネージャを含むディスク・ベースのドライバおよびモジュールを測定して、PCR[4]に入れる。 - a disk-based drivers and modules, including the boot manager was measured and placed in PCR [4].
・NTFSを理解するいずれかのEFIドライバが、ブート・ボリューム解読秘密を開示するための付加的な能力を有する。 - any of the EFI driver to understand NTFS has additional capacity to disclose the boot volume decryption secrets.

上記のプロセスおよびその変形は、標準的なコンピュータ・ブートの範囲を超える目的のために用いることができる。 The above process and variations thereof, may be used for purposes beyond the scope of a standard computer boot. 具体的には、2つの付加的な目的が考えられるが、本発明の付加的な使用もまた可能であり、本発明は、特定の設定または目的に限定されるものではない。 Specifically, two additional purposes are contemplated, additional use of the present invention are also possible, the present invention is not limited to a particular setting or purpose. 第1に、上記のプロセスは、ハイバネーション・ファイルの保護を含むように拡張することができる。 First, the above process can be extended to include protection of hibernation file. 第2に、上記のプロセスは、オペレーティング・システムの動作に必要とされるブート・ボリュームおよび他のボリュームの保護を含むように拡張することができる。 Second, the above process can be extended to include protection of the boot volume and other volumes required for the operation of the operating system.

ハイバネーション・ファイルの保護について、これは、ハイバネーション・ファイルの暗号化鍵および解読鍵を、使用可能な秘密の中に格納することによって達成することができる。 Protection of hibernation file, which is an encryption key and decryption key for hibernation file can be accomplished by storing in a usable secret. 暗号化鍵および解読鍵は、単一の対称鍵とすることができ、あるいは別の対称鍵をシールするのに用いられる非対称鍵とすることもできる。 Encryption key and decryption key may be a single symmetric key, or another symmetric key may be an asymmetric key used to seal. マシンが休止状態になるとき、ハイバネーション・ファイルを暗号化することができる。 When the machine is at rest, it is possible to encrypt the hibernation file. マシンが検証されたブート・コード経路を介してブートしない限り、ハイバネーション・ファイルを解読することはできず、よって、ハイバネーション・ファイル内に格納されたいずれの秘密も維持される。 As long as the machine does not boot from the boot code path has been verified, it is impossible to decrypt the hibernation file, therefore, any stored in hibernation file secret is maintained. マシンが検証されたコード経路を介してブートした場合には、ハイバネーション・ファイルは、検証されたコードによって解読され、良好に定義された実行経路で実行が再開され、実行環境のセキュリティを復旧させる。 If the machine is booted through the verification code path, hibernation file is decrypted by the validation code, well-defined executed in the execution path is resumed, to restore the security of the execution environment.

オペレーティング・システムの動作に必要とされるブート・ボリュームまたは他のボリュームの保護を達成することもできる。 It is also possible to achieve protection of the boot volume or another volume required for the operation of the operating system. この場合、全てのブート・ボリュームは、暗号化するおよび/または全体の完全性チェックを含むことができる。 In this case, all the boot volume may include and / or all of the integrity check to encrypt. 解読に必要とされる鍵は、検証されたブート・コードに対してのみ利用可能であり、次にそうした鍵を用いて、システムのブートを再開するのに必要とされる更なるコードおよびデータを解読する。 The key required for decryption is only available for verified boot code, then using such a key, the additional code and data required to resume the boot of the system to decipher. ディスクの完全性情報を更新するのに必要とされる鍵もまた、検証されたブート・コードに対してのみ利用可能である。 The key is required to update the integrity of information of the disk is also available only for verified boot code. 全体の完全性チェックを含むシステムは、ひとたび該システムが検証されたコードを実行していることが保証されると、更なる動作のために検証された完全性コードおよびデータだけを選択することができる。 System, including the entire integrity checking, that once when it is ensured that the system is executing code has been verified, to select only the integrity of code and data that is validated for further operation it can. 検証されたコードだけがこうした使用可能ビットを開示できるので、攻撃者がこうしたシステムを騙し、その完全性が有効であると信じさせることはできない。 Since only validated code may disclose such usable bits, attacker tricking such a system, it is impossible to convince its integrity is valid.

保護されたブート・プロセスを修復し、アップグレードするための例示的なシステムおよび方法 本発明の実施形態は、コンピュータを安全にブートするためのシステムおよび方法を診断し、修復し、アップグレードするためのプロセスを組み込むことができる。 Repair protected boot process embodiment of an exemplary system and method the present invention for upgrading diagnoses a system and method for securely booting a computer, repaired, the process for upgrading it can be incorporated. この目的のために、ブート・プロセス内の問題を診断するための第1の観察は、上述の保護されたブート・プロセスにおいて、秘密を開示するプロセスが、測定値が正しいかどうかを判断するための手段を提供するという点である。 To this end, a first observation for diagnosing problems in the boot process, the boot process which is protected above, the process of disclosing secret, since the measured value to determine whether the correct it is that it provides a means. したがって、2つの状態、すなわち測定されるコードのものを示す秘密が開示され、検証されたコードだけが実行される状態、または秘密が開示されず、検証されていないコードが実行された可能性があることを示す状態、のいずれかが存在する。 Therefore, the two states, that is, secret discloses that indicates what code to be measured, a state in which only validated code is executed or not secret disclosed, may code not verified is executed state indicating that, there either is. 診断のために、TCG準拠BIOSによって作成されたログを検査することによって、何が失敗したかを判断することが可能である。 For diagnosis, by examining the logs that have been created by the TCG-compliant BIOS, what it is possible to determine whether it has failed. 次に、エラーが意図的なものではなく偶発的なものであったときに、この情報を用いて問題を診断し、より多くの情報をフィードバックすることができる。 Then, it is possible to error when was accidental ones rather than intentional, to diagnose the problem by using this information, and feeds back more information.

上述の保護されたブート・プロセスは、TPMの利用によるシステムの自己検証に依存している。 Boot process, which is of the above-mentioned protection is dependent on the self-verification of the system through the use of TPM. 幾つかの実施形態においては、こうしたシステムが、実際には依然として有効であるときに、無効に見えることがある。 In some embodiments, these systems, when in fact it is still valid, there may appear disabled. システムが無効に見えるときには、本発明の種々の実施形態において、その一方または両方を使用可能にできる2つのレゾリューション・パスが存在する、すなわち、第1のものは、ログを検査することから得られた情報を用いて、システムを有効とみなすことができる状態に戻すことができ、第2のものは、システムを有効と見なすべきであることをユーザが認証できる。 When the system looks disabled, in various embodiments of the present invention, two resolution paths that can enable the one or both are present, i.e., the first one, from examining the log using the obtained information, it can be returned to a state that can be considered valid the system, the second one, the user can authenticate that should be considered as valid system.

システムを有効とみなすことができる状態に戻すために、ログ情報を用いて、TPMが測定値を無効とみなした理由を診断することができる。 To return to the state can be regarded as effective system, using the log information, it is possible to diagnose why the TPM is regarded as invalid measurements. 変更された何らかのコードを元の状態に戻すこともできる。 It is also possible to return the modified some code to the original state. あるいはまた、ユーザが、システム・ディスクをブートオフする前にネットワーク・ブートを試みることなどによって、普通でない方法でブートした場合に、コンピュータをリブートし、予想される方法でブートしようと試みる。 Alternatively, a user, such as by attempting a network boot before booting off system disk, when booted in an unusual way, reboot the computer attempts to boot at the expected methods.

製品に組み込み、システムを有効な状態に戻す実施形態を補うことができる多数の付加的な機能が存在する。 Incorporated into the product, a number of additional functions that can compensate for the embodiment to return the system to a valid state exists. 例えば、マシン上のハードウェアが壊れ、ディスクが他の方法で同一の種であるがマシンにマイグレートされる場合には、TPMの秘密鍵が異なっていてもよい。 For example, broken hardware on the machine, if the disk is the same species in other ways that are migrated to the machine, may be different from the private key of the TPM. この場合、マシンの代わりにユーザを認証することができる。 In this case, it is possible to authenticate the user instead of the machine. 多数の機構が、二次認証と呼ばれるものを行うことができる。 Numerous mechanisms can perform what is called the secondary authentication. このための証明書は、容易にアクセス可能なものにする必要はなく、例えば、マシンを再びイネーブルにするために電話をかけることを要求することができる。 Certificate for this is not readily necessary to ones accessible, for example, it may request a phone call to re-enable the machine. 二次認証は、一次TPM方法によって解読されるものと同じ秘密を提供し、これを別の方法で取得することができる。 Secondary authentication may provide the same secrets as that decrypted by the primary TPM method, to obtain this in another way. こうした実施形態は、一次認証方法と同じ方法を用いる場合と比べて、より強力なセキュリティを提供することができる。 Such an embodiment, in comparison with the case of using the same method as the primary authentication method, to provide stronger security. 例えば、マシンのパスワードを覚えやすい形にする必要はなく、全くランダムに生成することができる。 For example, it is not necessary to the password easy to remember the form of the machine, can be completely randomly generated. マシンがこの二次の方法による認証を必要とするとき、そのマシンのユーザは、IT部門に電話をかける。 When the machine requires authentication by the secondary of the method, the user of the machine, make a phone call to the IT department. IT部門は、最適なシステムを用いて、発信者の身元を検証し、該発信者にパスワードを読み上げる。 IT department, using the optimal system, to verify the identity of the caller, read the password to the calling party. パスワードが入力されたとき、上述のマイグレーション機構をこのシナリオに用い、秘密を新しいTPM PCR値に再秘匿することができる。 When a password is entered, using the above migration mechanism in this scenario, it is possible to re-conceal secret to the new TPM PCR values. さらに、こうしたシステムは、一度しか使用できないパスワードをもたらすパスワード・システムを用いることができ、二次認証機構のための新しいパスワードに再び秘匿された秘密には、新たな電話連絡を必要とする。 In addition, such a system, it is possible to use a password system that provides the password only once can not be used, in secret, which is again concealed in the new password for the secondary authentication mechanism, and requires a new phone call.

コンピュータを安全にブートするためのシステムおよび方法の実施形態は、容易にアップグレードできるように構成することかできる。 Embodiments of systems and methods for securely booting a computer may either be configured to be easily upgraded. 本発明の実施形態によって監視されるコードは滅多に変更されないが、これらのコード・モジュールの1つが最終的に変更されることは避けられない。 Code monitored by embodiments of the present invention is not changed rarely, one of these code modules but inevitably eventually be changed. さらに、安全なブート・プロセスに用いられる秘密は、システムが最初に構成されたときまたは上述のようなリカバリー後、TPMに秘匿することができる。 Moreover, a secret to be used in a secure boot process, the system can later first, such as when or above configured recovery to conceal the TPM.

1つまたは複数のブート・コンポーネントをアップグレードする第1の方法は、リカバリー後またはコード修正後に可能になるマイグレーションを利用することができ、TPM PCR値が求められるまで、一時的ストレージ内に格納することができる。 A first method for upgrading one or more boot components may be utilized migration made possible after the recovery or after code modification, until TPM PCR values ​​are determined, storing the temporary storage can. 多くの実施形態において、PCR値は現在のブートにおいて知られているので、このことは、リブートを必要としない。 In many embodiments, the PCR values ​​are known at the current boot, this does not require a reboot. しかしながら、コード・モジュールが変更された場合には、リブートすることは、新しいコード・モジュールが測定され、値がTPM PCRに格納されることを保証する。 However, if the code modules are changed, to reboot the new code modules are measured and values ​​to ensure that it is stored in the TPM PCR.

制御されたコード修正環境においては、1つまたは複数のコンポーネントをアップグレードする第2の方法を用いることができる。 In the control code modified environment, it is possible to use a second method for upgrading one or more components. この場合、新しいコード修正のために予想されるPCR値が予め求められ、システムがリブートされる前に予想されるPCR値に秘密を秘匿することができる。 In this case, it prompted PCR value expected for the new code modifications advance, it is possible to conceal the secret PCR value expected before the system is rebooted.

実行中のシステムは、限定でない次の選択肢、すなわち、 A running system, the following alternatives not limited to, i.e.,
・変更前、例えば、サービスパックは、それがOSローダーを変更することを知ることができる。 And change before, for example, service pack, it can be known that you change the OS loader.
・変更直後、例えば、ディスクが書式設定された後。 - immediately after the change, for example, after the disk has been formatted.
・検証されたシステムについての変更検出後、例えば、シャットダウン時に、システムは、コンポーネントが適法に修正されたことを通知し、マイグレーションをサイレントに行うことができる。 · After change detection for the verification systems, for example, at shutdown, the system notifies that the components have been duly corrected, it is possible to perform the migration silently.
・リカバーの一部として。 • As part of the recovery. 例えば、システムの起動時に、システムは、リカバーがなされたかどうかを判断し、マイグレーションを行うことができるので、次のブート後にリカバー機構を必要としない。 For example, at system startup, the system determines whether the recovery has been made, it is possible to perform the migration, does not require a recovery mechanism after the next boot.
の1つまたは複数に従って上述のマイグレーションを行うことができる。 Can according to one or more of performing a migration above.

安全なブート・プロセスを維持するための更に別のシステムは、TPMの外部に作成される多数の異なる鍵を提供することができる。 Secure boot process yet another to maintain the system can provide a number of different keys that are created outside the TPM. こうした鍵の各々は、同じRSAキーイング材料を用いることができるが、各々の鍵の使用は、異なるPCRの組および/またはパスワードにバインドしなければならない。 Each such key can use the same RSA keying material, use of each key must bind to a set and / or password different PCR. 事実、こうした付加的な鍵は、全く何にもバインドされなくてもよい。 In fact, these additional key, may not be completely bound to anything. こうした実施形態においては、少なくとも1つのBLOBを、全く何にもバインドされていない各々のディスク・ボリューム(例えば、パーティション)に関連付けることもできる。 In such an embodiment, at least one BLOB, the can also be associated with each disk volume that is not at all bound to anything (for example, partitions). 各々の鍵を異なるブート・コンポーネントから用い、BLOBのプライバシーを保証することができる。 Using each of the key from a different boot component, it is possible to guarantee the privacy of the BLOB. パスワード型鍵をリカバーのために用いることができ、RSAキーイング材料を預託することもできる。 It is possible to use a password-type key for recovery, it is also possible to deposit the RSA keying material.

この手法は、上述の安全なブート・プロセスとは僅かしか違わないが、保守およびサービスの点で著しい利点が明らかになる。 This approach, but differ only slightly from a safe boot process described above, significant advantages in terms of maintenance and service will become apparent. すなわち、RSAキーイング材料がTPMの外部で生成され、あらゆる鍵において同一であるという事実によって、このRSA材料は、一事業部門の従業員または全組織の従業員といった多数のユーザに対して、より大きな規模で使用することができる。 That, RSA keying material is generated outside the TPM, by the fact that it is identical in every key, this RSA material for a large number of users, such as employees or organizational employee a division, a larger it can be used on a scale. その結果、その組織のいずれかのマシンの開始およびサービスを可能にするマスター鍵を作成することができる。 As a result, it is possible to create a master key that enables the start and the service of any of the machines in the organization. 鍵は、依然として各々のTPMのSRKによって保護されているので、依然として鍵が安全であるとみなすことができる。 The key is still because it is protected by the SRK of each TPM, still it can be regarded as the key is secure. しかしながら、この実施形態においては、情報技術(IT)部門のような中枢部は、マシンごとに1つの鍵を格納する必要はなく、寧ろ、論理グループごとに1つの鍵を格納する必要がある。 However, in this embodiment, the central portion, such as information technology (IT) department does not have to store one key per machine, rather, it is necessary to store one key per logical group. また、多数のBLOBにわたって多数の鍵を格納するために、中枢部はブート・ブロック内にわずかに少ない記憶空間だけを必要とする。 Further, in order to store a large number of keys over multiple BLOB, the central unit requires only slightly less storage space in the boot block.

最後に、上述された実施形態において、管理者は、今やポリシーおよび新しいRSA鍵をプッシュダウンすることができるので、各マシンにおいて鍵が頻繁に変更される。 Finally, in the embodiments described above, the administrator, it is possible now push down policies and new RSA keys, the key in each machine is changed frequently. このことにより、マシンの保守費用が低減される。 Thus, maintenance costs of the machine is reduced.

完全ボリューム暗号化および保護されたブートを用いたデータへのアクセスの恒久的破壊 上述された安全なブート・プロセスの副産物は、完全ボリュームの暗号化、即ちパーティション内のほとんど全てのデータの暗号化を効率的且つ効果的にサポートできるという点である。 Byproduct of the secure boot process that is permanently destroyed above access to data using a full volume encryption and protected boot, encryption of the complete volume, i.e. almost all of the data in the partition encryption it is that efficiently and effectively support. このことは、秘密を破壊し、これによりコンピュータ上のデータにアクセスするのに必要とされる重要な情報の破壊に必要とされる労力を矮小化することができる。 This can destroy the secret, thereby dwarf the labor required for destruction of critical information needed to access the data on the computer. この有効なデータ破壊は、特定の設定、特に機密データの廃棄が望まれる場合、より具体的にはこうしたデータの迅速な破棄が望まれる場合に、有用である。 The valid data destruction, particular settings, especially when discarding the confidential data is desired, and more specifically when the rapid destruction of such data is desired, is useful.

本発明を実装するコンピュータを動作させるのに必要とされる秘密を削除することにより、ソフトウェアを再インストールすることなく、コンピュータが使用不能になり、該コンピューティング上のデータへのアクセスを恒久的に防止することができる。 By deleting the secret that is required to operate the computer to implement the present invention, without having to re-install the software, the computer becomes unavailable, the access to data on the computing permanently it is possible to prevent. これを達成するために、TPMの内部に格納された秘密を再設定することができる。 To accomplish this, it is possible to reconfigure the secret stored in the internal TPM. このことは、TPMの所有者を変更することにより、自明に行うことができる。 This can be achieved by changing the ownership of the TPM, can be trivially performed. TPMによって秘匿された秘密は、もはや有効でなくなる。 The secret which has been concealed by the TPM, is no longer valid. 二次的リカバリー機構を破壊する必要もある。 There is also a need to destroy the secondary recovery mechanism. しかしながら、リカバリー機構が現場から離れている場合には、この機構を破壊するまでの短い期間、マシンを一時的にディスエーブルにし、その後該マシンをリカバーさせる方法を提供することができる。 However, when the recovery mechanism is away from the scene a short time to destroy this mechanism, temporarily disabling the machine, it is possible to provide a subsequent method for recover the machine.

TPM内に格納された秘密およびいずれかのリカバー機構の両方が変更されたとき、マシンのコンテンツすなわちコードおよびデータの両方が、取得不能になる。 When both secret and any recovery mechanism are stored in the TPM has been changed, both content That code and data of the machine becomes impossible acquisition. このことにより、マシンのセキュリティの一掃が、極めて迅速に達成される。 Thus, wiped out of the security of the machine, is very quickly achieved. このような有効にセキュリティを一掃することの1つの利点は、これによりマシンの再販がより現実的になることである。 One advantage of wipe out such effective security, thereby is that the resale of the machine becomes more realistic.

本発明に関連したソフトウェアおよび/またはハードウェア技術を実装するのに適したコンピューティング環境を示す図である。 It is a diagram illustrating a computing environment suitable for implementing the software and / or hardware techniques associated with the present invention. 多数のネットワーク化装置にわたって現代のコンピューティング技術を実行できることを強調するために、図1の基本的なコンピューティング環境の拡張を提供する図である。 To emphasize that can run modern computing techniques over multiple networked devices, a diagram providing an extension of the basic computing environment of FIG. 信頼できるプラットフォーム・モジュール(TPM)を利用するコンピューティング・プラットフォームを示す図である。 It is a diagram illustrating a computing platform that utilizes a reliable platform module (TPM). 次のプロセスに移行する前に、複数のソフトウェア・コンポーネントが次のプロセスを測定する例示的なブート・プロセスを示す図である。 Before moving to the next process is a diagram illustrating an exemplary boot process more software components to measure the following process. 次のコンポーネントの実行を可能にする前に、次のソフトウェアまたはプロセスの完全性を保証する、TPMのようなハードウェア・セキュリティ・モジュール(HSM)を用いるための一般的な技術を示す図である。 Before allowing execution of the following components, is a diagram illustrating a general technique for using to guarantee the integrity of the following software or process, hardware security modules, such as TPM (HSM) . プロセスに用いられるデータの測定値がTPMによって検証されない限り、ブート・プロセスを進行できないことを確実にするためのシステムおよび方法を示す。 As long as the measured value of the data used in the process is not verified by the TPM, it illustrates a system and method for ensuring that it can not proceed the boot process. コンピュータをうまくブートすることが、例示的なコンポーネント即ちブート・マネージャをうまく解読し、測定することに結びついている、図5aに示されるシステムおよび方法の一例を示す図である。 To successfully boot the computer, well it decrypts exemplary components i.e. boot manager is tied to measuring a diagram showing an example of a system and method shown in Figure 5a. 一定時間リソースにアクセスするブート・コンポーネントを提供し、次にオペレーティング・システムを起動する前に、該リソースへのアクセスを無効にするためのアーキテクチャの動作を示す図である。 Providing boot components that access to a predetermined time resource, then before starting the operating system, is a diagram showing an operation of an architecture for disabling access to said resource. 図7のようなアーキテクチャにおいて実行される例示的なステップのためのフローチャートである。 It is a flowchart for exemplary steps performed in an architecture as shown in Figure 7.

符号の説明 DESCRIPTION OF SYMBOLS

100:コンピューティング・システム環境121:コンピュータ130:広域エリア・ネットワーク135:ローカル・エリア・ネットワーク300:CPU 100: computing system environment 121: Computer 130: wide area network 135: a local area network 300: CPU
301、503、504、713:TPM 301,503,504,713: TPM
302:秘密303、304、502:PCR 302: Secret 303,304,502: PCR
307:ログ 307: log

Claims (20)

  1. 記録された値を含み、サブミットされた値を前記記録された値と比較し、前記サブミットされた値が正しい場合に秘密を開示するハードウェア・セキュリティ・モジュール(HSM)を有する、コンピュータ上の安全なブート・プロセスのための命令を有するコンピュータ読取可能な記憶メディアであって、 Includes a recorded value, the submitted values ​​compared to the values ​​recorded, with a hardware security module to disclose the secret if the submitted values ​​are correct (HSM), secure on a computer a computer readable storage medium having instructions for a boot process,
    少なくとも1つの値をHSMにサブミットするための命令であって、前記値が正しい場合に前記HSMが秘密を開示する命令と、 At least one value to a command for submitting the HSM, and instructions for the HSM when the value is correct disclose secret,
    秘密を取り出すための命令と、 And instructions for taking out a secret,
    前記秘密を取り出した結果アクセス可能になる情報を用いてデータを解読するための命令であって、前記解読のための命令の実行が解読されたデータを生成する命令と、 Instructions for the A instruction for decrypting the data by using the results accessible to become information retrieved secret, generates data execution is decoded instruction for the decryption,
    前記解読されたデータなしで通常のブートを完了できないコンピュータ・ブート・プロセスの少なくとも一部のための命令と、 Instructions for at least a portion of the decrypted can not complete a normal boot without data computer boot process,
    を備えることを特徴とするコンピュータ読取可能な記憶メディア。 Computer-readable storage medium, characterized in that it comprises a.
  2. 前記HSMは、信頼できるプラットフォーム・モジュール(TPM)であり、少なくとも1つの値は、少なくとも1つのプラットフォーム構成レジスタ(PCR)内に置かれることを特徴とする請求項1に記載のコンピュータ読取可能な記憶メディア。 The HSM is reliable a platform module (TPM), at least one value, computer-readable storage according to claim 1, characterized in that it is placed in at least one platform configuration register (PCR) media.
  3. 前記解読されたデータは、コンピュータ・ブート・プロセスに用いられるソフトウェア・コンポーネントを含むことを特徴とする請求項1に記載のコンピュータ読取可能な記憶メディア。 The decrypted data is computer-readable storage medium according to claim 1, characterized in that it comprises a software component used in the computer boot process.
  4. 前記解読されたデータは、コンピュータ・プロセスを続けるために、前記コンピュータ・ブート・プロセスに用いられるソフトウェア・コンポーネントが必要とする情報を含むことを特徴とする請求項1に記載のコンピュータ読取可能な記憶メディア。 The decrypted data is to continue the computer process, a computer-readable storage according to claim 1, characterized in that it comprises an information software components used in the computer boot process requires media.
  5. 前記解読されたデータは、前記コンピュータ読取可能な記憶メディア上に格納されたデータにアクセスするために必要とされる情報を含むことを特徴とする請求項1に記載のコンピュータ読取可能な記憶メディア。 The decrypted data is computer-readable storage medium according to claim 1, characterized in that it comprises the information needed to access said stored on a computer-readable storage media data.
  6. 前記秘密をメモリから除去するための命令をさらに備えることを特徴とする請求項1に記載のコンピュータ読取可能な記憶メディア。 Computer-readable storage medium according to claim 1, characterized by further comprising instructions for removing the secret from memory.
  7. 記録された値を含み、サブミットされた値を前記記録された値と比較し、サブミットされた値が正しい場合に秘密を開示するハードウェア・セキュリティ・モジュール(HSM)を有するコンピュータであって、前記コンピュータはまた、 Includes a recorded value, the submitted values ​​compared to the values ​​recorded, a computer having a hardware security module to disclose the secret if the submitted values ​​are correct (HSM), the the computer is,
    少なくとも1つの値を該HSMにサブミットする手段であって、前記値が正しい場合に前記HSMが秘密を開示する手段と、 It means at least one value and means for submitting to the HSM, wherein said HSM when the value is correct disclose secret,
    秘密を取り出すための手段と、 And means for taking out a secret,
    前記秘密を取り出した結果アクセス可能になる情報を用いてデータを解読するための手段であって、前記解読するための手段の動作が解読されたデータを生成する手段と、 And means for decrypting data using information enables results accessible extracted the secret, means for generating a data operation is decryption of said means for decrypting,
    前記解読されたデータなしで通常のブートを完了できないコンピュータ・ブート・プロセスの少なくとも一部を含む手段と、 It means including at least a part of the decrypted without data computer boot process can not complete a normal boot,
    を備えることを特徴とするコンピュータ。 Computer, characterized in that it comprises a.
  8. 前記HSMは、信頼できるプラットフォーム・モジュール(TPM)であり、少なくとも1つの値は、プラットフォーム構成レジスタ(PCR)内に置かれることを特徴とする請求項7に記載のコンピュータ。 The HSM is reliable a platform module (TPM), at least one value, the computer according to claim 7, characterized in that it is placed in the platform configuration register (PCR).
  9. 前記解読されたデータは、前記コンピュータ・ブート・プロセスに用いられるソフトウェア・コンポーネントを含むことを特徴とする請求項7に記載のコンピュータ。 The decrypted data is a computer according to claim 7, characterized in that it comprises a software component used in the computer boot process.
  10. 前記解読されたデータは、コンピュータ・プロセスを続けるために、前記コンピュータ・ブート・プロセスに用いられるソフトウェア・コンポーネントが必要とする情報を含むことを特徴とする請求項7に記載のコンピュータ。 The decrypted data is to continue the computer process, according to claim 7, characterized in that it comprises an information software components used in the computer boot process requires computer.
  11. 前記解読されたデータはコンピュータ読取可能な記憶メディア上に格納されたデータにアクセスするために必要とされる情報を含むことを特徴とする請求項7に記載のコンピュータ。 The decrypted data is a computer according to claim 7, characterized in that it comprises the information needed to access the data stored on a computer readable storage medium.
  12. 前記秘密をメモリから除去するための手段をさらに備えることを特徴とする請求項7に記載のコンピュータ。 Computer according to claim 7, characterized by further comprising means for removing the secret from memory.
  13. 複数のパーティションと、記録された値を含み、サブミットされた値を前記記録された値と比較し、前記サブミットされた値が正しい場合に秘密を開示するハードウェア・セキュリティ・モジュール(HSM)とを有するコンピュータ上に、安全なブート・プロセスのための命令を有するコンピュータ読取可能な記憶メディアであって、前記コンピュータ読取可能な記憶メディアは、 A plurality of partitions, wherein the recorded values, the submitted values ​​compared to the values ​​recorded, and a hardware security module to disclose the secret if the submitted values ​​are correct (HSM) on a computer having, a computer readable storage medium having instructions for secure boot process, the computer-readable storage medium,
    少なくとも1つの値をHSMにサブミットする命令であって、前記値が正しい場合に前記HSMが秘密を開示することができる命令と、 At least one value comprising an instruction to submit the HSM, and instructions for the HSM when the value is correct may disclose secret,
    第1の秘密を取り出すための命令と、 And instructions for taking out the first secret,
    前記第1の秘密を記憶場所から除去するための命令と、 Instructions for removing the first secret from a memory location,
    少なくとも1つの第2の値を該HSMにサブミットするための命令であって、前記第2の値が正しい場合に前記HSMが前記第1の秘密ではなく第2の秘密を開示することができる命令と、 At least one second value a command for submitting to the HSM, can be the HSM when the second value is correct discloses a second secret instead of the first private instruction When,
    を備えることを特徴とするコンピュータ読取可能な記憶メディア。 Computer-readable storage medium, characterized in that it comprises a.
  14. 前記HSMは、信頼できるプラットフォーム・モジュール(TPM)であり、少なくとも1つの値および前記少なくとも1つの第2の値は、プラットフォーム構成レジスタ(PCR)内に置かれることを特徴とする請求項13に記載のコンピュータ読取可能な記憶メディア。 The HSM is a trusted platform module (TPM), at least one value and said at least one second value, according to claim 13, characterized in that it is placed in the platform configuration register (PCR) of computer-readable storage media.
  15. コンピュータ・ブート・プロセスの少なくとも一部のための命令をさらに備え、前記コンピュータ・ブート・プロセスは、前記第1の秘密なしで通常のブートを完了できないことを特徴とする請求項13に記載のコンピュータ読取可能な記憶メディア。 Further comprising instructions for at least a portion of a computer boot process, the computer boot process, the computer of claim 13, wherein it can not complete the first without secret normal boot readable storage media.
  16. コンピュータ読取可能な記憶メディアの少なくとも1つのパーティション上に格納されたほぼ全てのデータにアクセスするために、前記第2の秘密が必要とされることを特徴とする請求項13に記載のコンピュータ読取可能な記憶メディア。 Almost all to access the data, computer-readable of claim 13, wherein the second secret is required that is stored on at least one partition of a computer readable storage medium Do the storage media.
  17. 前記第1の値は、コンピュータ・ブート・プロセスに用いられるソフトウェア・コンポーネントのハッシュ値を含むことを特徴とする請求項13に記載のコンピュータ読取可能な記憶メディア。 The first value, a computer readable storage medium of claim 13, characterized in that it comprises a hash value of a software component used in the computer boot process.
  18. 前記第2の値は解読鍵のハッシュ値を含むことを特徴とする請求項13に記載のコンピュータ読取可能な記憶メディア。 Computer-readable storage medium of claim 13 wherein the second value, characterized in that it comprises a hash value of the decryption key.
  19. 前記第1の秘密および前記第2の秘密のうちの少なくとも1つは、バイナリ・ラージ・オブジェクト(BLOB)であることを特徴とする請求項13の記載のコンピュータ読取可能な記憶メディア。 Wherein at least one of the first secret and the second secret, computer-readable storage medium as claimed in claim 13, which is a binary large object (BLOB).
  20. 前記第1の秘密および前記第2の秘密のうちの少なくとも1つは解読鍵であることを特徴とする請求項13に記載のコンピュータ読取可能な記憶メディア。 The first secret and the computer-readable storage medium of claim 13 wherein at least one of the second secret is characterized by a decryption key.
JP2005353934A 2005-01-07 2005-12-07 System and method for securely booting a computer having a trusted processing module Active JP4837985B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/031,161 2005-01-07
US11/031,161 US7725703B2 (en) 2005-01-07 2005-01-07 Systems and methods for securely booting a computer with a trusted processing module

Publications (2)

Publication Number Publication Date
JP2006323814A JP2006323814A (en) 2006-11-30
JP4837985B2 true JP4837985B2 (en) 2011-12-14

Family

ID=36569935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005353934A Active JP4837985B2 (en) 2005-01-07 2005-12-07 System and method for securely booting a computer having a trusted processing module

Country Status (5)

Country Link
US (1) US7725703B2 (en)
EP (2) EP3125149A1 (en)
JP (1) JP4837985B2 (en)
KR (1) KR101219857B1 (en)
CN (1) CN1801091B (en)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506380B2 (en) * 2005-01-14 2009-03-17 Microsoft Corporation Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module
US7565553B2 (en) * 2005-01-14 2009-07-21 Microsoft Corporation Systems and methods for controlling access to data on a computer with a secure boot process
CN1885226A (en) * 2005-06-24 2006-12-27 网际威信控股公司 Data encryption and decryption method, and storage media executing the method, and encryption and decryption module
US7908483B2 (en) * 2005-06-30 2011-03-15 Intel Corporation Method and apparatus for binding TPM keys to execution entities
US20070022243A1 (en) * 2005-07-22 2007-01-25 John Rudelic Method and apparatus capable of disabling authenticated operations and guaranteed secure boot in a wireless platform
US8201240B2 (en) * 2005-09-16 2012-06-12 Nokia Corporation Simple scalable and configurable secure boot for trusted mobile phones
CN100428157C (en) * 2005-10-19 2008-10-22 联想(北京)有限公司 A computer system and method to check completely
US20070101401A1 (en) * 2005-10-27 2007-05-03 Genty Denise M Method and apparatus for super secure network authentication
CN100437502C (en) * 2005-12-30 2008-11-26 联想(北京)有限公司 Safety chip based virus prevention method
US7266475B1 (en) * 2006-02-16 2007-09-04 International Business Machines Corporation Trust evaluation
EP1826697A1 (en) * 2006-02-24 2007-08-29 Giga Games System, SL Method for booting and using software for AWP and B type amusing gaming machines, and for C type casino machines
JP4769608B2 (en) * 2006-03-22 2011-09-07 富士通株式会社 Start verification function information processing apparatus having a
US8190916B1 (en) * 2006-07-27 2012-05-29 Hewlett-Packard Development Company, L.P. Methods and systems for modifying an integrity measurement based on user authentication
US8510859B2 (en) 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US7987351B2 (en) * 2006-10-06 2011-07-26 Broadcom Corporation Method and system for enhanced boot protection
WO2008046101A2 (en) 2006-10-13 2008-04-17 Ariel Silverstone Client authentication and data management system
US8117429B2 (en) * 2006-11-01 2012-02-14 Nokia Corporation System and method for a distributed and flexible configuration of a TCG TPM-based local verifier
US7613872B2 (en) * 2006-11-28 2009-11-03 International Business Machines Corporation Providing core root of trust measurement (CRTM) for systems using a backup copy of basic input/output system (BIOS)
KR100850583B1 (en) 2006-12-01 2008-08-06 한국전자통신연구원 Method for processing command of TPM and Mobile device using the same
JP5001123B2 (en) * 2006-12-07 2012-08-15 パナソニック株式会社 Recording devices, integrated circuits, access control method, a program recording medium
JP2008171306A (en) * 2007-01-15 2008-07-24 Ricoh Co Ltd Electronic device and program
US8588421B2 (en) * 2007-01-26 2013-11-19 Microsoft Corporation Cryptographic key containers on a USB token
CN103124405A (en) * 2007-01-26 2013-05-29 交互数字技术公司 Method and apparatus for securing location information and access control using the location information
JP4903071B2 (en) * 2007-03-15 2012-03-21 株式会社リコー The information processing apparatus, a software updating method and an image processing apparatus
JP5116325B2 (en) * 2007-03-15 2013-01-09 株式会社リコー The information processing apparatus, a software updating method and an image processing apparatus
JP5096022B2 (en) 2007-03-15 2012-12-12 株式会社リコー The information processing apparatus, software verification method and software verification program
JP4890309B2 (en) * 2007-03-19 2012-03-07 株式会社リコー The information processing apparatus and an information protection method
JP4893411B2 (en) * 2007-03-28 2012-03-07 カシオ計算機株式会社 Terminal device and program
US8151262B2 (en) * 2007-03-30 2012-04-03 Lenovo (Singapore) Pte. Ltd. System and method for reporting the trusted state of a virtual machine
EP2760238B1 (en) * 2007-04-30 2016-07-27 InterDigital Technology Corporation A home (e)node-b with new functionality
US20080271145A1 (en) * 2007-04-30 2008-10-30 Schiller Mark R Tamper indication system and method for a computing system
US7805598B2 (en) * 2007-05-03 2010-09-28 Dell Products L.P. Auto-detecting and auto-correcting system state changes before booting into operating systems
KR101427646B1 (en) 2007-05-14 2014-09-23 삼성전자주식회사 Method and apparatus for checking integrity of firmware
US9098448B2 (en) * 2007-05-29 2015-08-04 Dell Products L.P. Intelligent boot services
CN100464341C (en) 2007-08-31 2009-02-25 深圳兆日技术有限公司 Generation and management method for digital content use trace based on reliable computing technology
US7853804B2 (en) * 2007-09-10 2010-12-14 Lenovo (Singapore) Pte. Ltd. System and method for secure data disposal
US7913074B2 (en) 2007-09-28 2011-03-22 Microsoft Corporation Securely launching encrypted operating systems
US8375440B2 (en) * 2007-10-15 2013-02-12 Microsoft Corporation Secure bait and switch resume
JP4775744B2 (en) * 2007-10-19 2011-09-21 インテル・コーポレーション Method and a program to launch a trusted coexistence environment
US8090937B2 (en) * 2007-11-02 2012-01-03 Dell Products L.P. System and method for managing booting of an information handling system
JP5085287B2 (en) * 2007-11-21 2012-11-28 株式会社リコー The information processing apparatus, validity verification method and validity verification program
US20090172378A1 (en) * 2007-12-28 2009-07-02 Kazmierczak Gregory J Method and system for using a trusted disk drive and alternate master boot record for integrity services during the boot of a computing platform
KR101611649B1 (en) 2008-01-18 2016-04-26 인터디지탈 패튼 홀딩스, 인크 Method and apparatus for enabling machine to machine communication
JP5399397B2 (en) 2008-01-30 2014-01-29 パナソニック株式会社 Secure boot method, the secure boot device, program, and integrated circuit
US8312534B2 (en) * 2008-03-03 2012-11-13 Lenovo (Singapore) Pte. Ltd. System and method for securely clearing secret data that remain in a computer system memory
US20090222635A1 (en) * 2008-03-03 2009-09-03 David Carroll Challener System and Method to Use Chipset Resources to Clear Sensitive Data from Computer System Memory
EP2291740A4 (en) * 2008-06-16 2012-03-07 Nokia Siemens Networks Oy Software loading method and apparatus
JP5309709B2 (en) * 2008-06-16 2013-10-09 株式会社リコー Software tampering detection method and apparatus
US8103909B2 (en) 2008-09-15 2012-01-24 Juniper Networks, Inc. Automatic hardware-based recovery of a compromised computer
US8341430B2 (en) * 2008-10-03 2012-12-25 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
US8411863B2 (en) * 2008-10-03 2013-04-02 Microsoft Corporation Full volume encryption in a clustered environment
US9230109B2 (en) 2008-10-07 2016-01-05 Microsoft Technology Licensing, Llc Trusted platform module security
WO2010041467A2 (en) * 2008-10-10 2010-04-15 Panasonic Corporation USING TRANSIENT PCRs TO REALISE TRUST IN APPLICATION SPACE OF A SECURE PROCESSING SYSTEM
WO2010041462A1 (en) * 2008-10-10 2010-04-15 パナソニック株式会社 Information processing device, information processing method, information processing program, and integrated circuit
US9086913B2 (en) 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US8923520B2 (en) * 2009-02-06 2014-12-30 Dell Products L.P. System and method for recovery key management
WO2010095432A1 (en) * 2009-02-18 2010-08-26 Panasonic Corporation Information processing device and information processing method
US9805196B2 (en) * 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
EP2404459A2 (en) 2009-03-06 2012-01-11 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
JP4947239B2 (en) 2009-03-31 2012-06-06 富士通株式会社 The information processing apparatus and a control method thereof having a configuration change validation
JP5287980B2 (en) * 2009-03-31 2013-09-11 富士通株式会社 The information processing apparatus activation control method and boot program of the information processing apparatus
CN102396251B (en) * 2009-04-15 2015-06-24 交互数字专利控股公司 Validation and/or authentication of device for communication with network
JP5493951B2 (en) 2009-04-17 2014-05-14 株式会社リコー The information processing apparatus, validity verification method and program
US8312272B1 (en) * 2009-06-26 2012-11-13 Symantec Corporation Secure authentication token management
CN102449634B (en) * 2009-07-01 2015-05-27 松下电器产业株式会社 Secure boot method and secure boot apparatus
KR101042857B1 (en) * 2009-09-03 2011-06-20 주식회사 잉카인터넷 method for blocking excution of hacking process
US8250379B2 (en) * 2009-10-13 2012-08-21 Microsoft Corporation Secure storage of temporary secrets
US8510569B2 (en) * 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
CN102004876B (en) * 2009-12-31 2012-07-18 郑州信大捷安信息技术股份有限公司 Security terminal reinforcing model and reinforcing method of tolerable non-trusted component
CN102214278B (en) * 2010-04-06 2013-04-10 国民技术股份有限公司 Creditability detection method of computer
US8904189B1 (en) * 2010-07-15 2014-12-02 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US20120084562A1 (en) * 2010-10-04 2012-04-05 Ralph Rabert Farina Methods and systems for updating a secure boot device using cryptographically secured communications across unsecured networks
US8627464B2 (en) 2010-11-02 2014-01-07 Microsoft Corporation Globally valid measured operating system launch with hibernation support
CN103202045B (en) 2010-11-05 2016-06-01 交互数字专利控股公司 Equipment testing, and remediation instructions distress
DE112011103048T8 (en) * 2010-11-18 2013-07-25 International Business Machines Corporation A method for authenticating a plurality of data processing systems
US8560845B2 (en) * 2011-01-14 2013-10-15 Apple Inc. System and method for tamper-resistant booting
US9317276B2 (en) * 2011-01-19 2016-04-19 International Business Machines Corporation Updating software
US20120233449A1 (en) * 2011-03-11 2012-09-13 Thibadeau Robert H Methods and systems for measuring trustworthiness of a self-protecting drive
JP5736994B2 (en) * 2011-06-15 2015-06-17 株式会社リコー The information processing apparatus, validity verification method, and a program
US8850177B2 (en) * 2011-07-08 2014-09-30 Openpeak Inc. System and method for validating components during a booting process
WO2013012436A1 (en) * 2011-07-18 2013-01-24 Hewlett-Packard Development Company, L.P. Reset vectors for boot instructions
US8732527B2 (en) * 2011-08-16 2014-05-20 Google Inc. Secure recovery apparatus and method
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US8812830B2 (en) 2011-08-31 2014-08-19 Microsoft Corporation Attestation protocol for securely booting a guest operating system
US9014023B2 (en) 2011-09-15 2015-04-21 International Business Machines Corporation Mobile network services in a mobile data network
JP5278520B2 (en) * 2011-10-17 2013-09-04 株式会社リコー The information processing apparatus, information protection method
US8775784B2 (en) 2011-11-11 2014-07-08 International Business Machines Corporation Secure boot up of a computer based on a hardware based root of trust
US8971192B2 (en) 2011-11-16 2015-03-03 International Business Machines Corporation Data breakout at the edge of a mobile data network
US8938621B2 (en) * 2011-11-18 2015-01-20 Qualcomm Incorporated Computing device integrity protection
US8892858B2 (en) 2011-12-29 2014-11-18 Intel Corporation Methods and apparatus for trusted boot optimization
JP5519712B2 (en) * 2012-01-20 2014-06-11 レノボ・シンガポール・プライベート・リミテッド Method and a computer to boot the computer
US8793504B2 (en) * 2012-02-22 2014-07-29 International Business Machines Corporation Validating a system with multiple subsystems using trusted platform modules and virtual platform modules
KR101897605B1 (en) * 2012-02-24 2018-09-12 삼성전자 주식회사 Method and apparatus for securing integrity of mobile termninal
US9262637B2 (en) * 2012-03-29 2016-02-16 Cisco Technology, Inc. System and method for verifying integrity of platform object using locally stored measurement
JP5310897B2 (en) * 2012-04-02 2013-10-09 株式会社リコー The information processing apparatus, a software updating method, and a recording medium
UA76687U (en) * 2012-07-04 2013-01-10 Владимир Евгеньевич Цвигун System for controlling operational system load
JP5961059B2 (en) * 2012-07-18 2016-08-02 キヤノン株式会社 Information processing apparatus and the start-up method
JP2012234580A (en) * 2012-09-05 2012-11-29 Ricoh Co Ltd Information processing apparatus, validity verification method and validity verification program
US9122873B2 (en) 2012-09-14 2015-09-01 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
JP5234217B2 (en) * 2012-11-14 2013-07-10 株式会社リコー The information processing apparatus, software update method and program
JP5500232B2 (en) * 2012-11-26 2014-05-21 株式会社リコー The information processing apparatus and an information protection method
JP5842800B2 (en) 2012-12-20 2016-01-13 カシオ計算機株式会社 Control system, information processing apparatus, the terminal apparatus, a control method and control program
US9465943B2 (en) * 2013-01-31 2016-10-11 Red Hat, Inc. Extension of a platform configuration register with a known value
US9280687B2 (en) * 2013-03-15 2016-03-08 Lenovo (Singapore) Pte. Ltd. Pre-boot authentication using a cryptographic processor
CN103218562A (en) * 2013-03-21 2013-07-24 东信和平科技股份有限公司 Reliable protection method and system for mobile terminal
US9594638B2 (en) * 2013-04-15 2017-03-14 Amazon Technologies, Inc. Host recovery using a secure store
US9619238B2 (en) 2013-04-15 2017-04-11 Amazon Technologies, Inc. Remote attestation of host devices
WO2014172205A1 (en) * 2013-04-15 2014-10-23 Amazon Technologies, Inc. Host recovery using a secure store
JP5574007B2 (en) * 2013-04-26 2014-08-20 株式会社リコー The information processing apparatus and an information protection method
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
JP5582231B2 (en) * 2013-07-18 2014-09-03 株式会社リコー The information processing apparatus, authenticity verification method, and recording medium
US9542568B2 (en) * 2013-09-25 2017-01-10 Max Planck Gesellschaft Zur Foerderung Der Wissenschaften E.V. Systems and methods for enforcing third party oversight of data anonymization
US9519498B2 (en) * 2013-12-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual machine assurances
KR20150104924A (en) 2014-03-07 2015-09-16 삼성전자주식회사 Electronic system having integrity verification device
CN103812648B (en) * 2014-03-13 2017-03-22 深圳数字电视国家工程实验室股份有限公司 Rsa key generating method and apparatus
CN104951316B (en) * 2014-03-25 2018-09-21 华为技术有限公司 One kind of method and apparatus for starting the trusted kernel
CN103927488A (en) * 2014-04-04 2014-07-16 西安电子科技大学 Trusted platform module aiming at trusted embedded system
US9672361B2 (en) * 2014-04-30 2017-06-06 Ncr Corporation Self-service terminal (SST) secure boot
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US10032029B2 (en) * 2014-07-14 2018-07-24 Lenovo (Singapore) Pte. Ltd. Verifying integrity of backup file in a multiple operating system environment
JP2016025616A (en) 2014-07-24 2016-02-08 レノボ・シンガポール・プライベート・リミテッド Method for protecting data stored in disk drive, and portable computer
JP6362483B2 (en) * 2014-09-02 2018-07-25 キヤノン株式会社 The information processing apparatus, information processing method, and program
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US9928080B2 (en) * 2014-09-30 2018-03-27 International Business Machines Corporation Hardware security module access management in a cloud computing environment
US10229272B2 (en) 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9584317B2 (en) 2014-10-13 2017-02-28 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9519787B2 (en) 2014-11-14 2016-12-13 Microsoft Technology Licensing, Llc Secure creation of encrypted virtual machines from encrypted templates
US9418246B2 (en) 2014-12-15 2016-08-16 Freescale Semiconductor, Inc. Decryption systems and related methods for on-the-fly decryption within integrated circuits
US9729319B2 (en) 2014-12-15 2017-08-08 Nxp Usa, Inc. Key management for on-the-fly hardware decryption within integrated circuits
US10120696B2 (en) * 2015-03-19 2018-11-06 Sony Corporation Method and device for controlling usability of a communication device
US9578020B2 (en) 2015-03-19 2017-02-21 Sony Corporation Module for controlling usability of a device
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US10223294B2 (en) 2015-09-01 2019-03-05 Nxp Usa, Inc. Fast secure boot from embedded flash memory
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US10210040B2 (en) 2016-01-28 2019-02-19 Nxp Usa, Inc. Multi-dimensional parity checker (MDPC) systems and related methods for external memories
US20170308704A1 (en) * 2016-04-20 2017-10-26 Sophos Limited Boot security
US10242195B2 (en) * 2016-07-22 2019-03-26 Hewlett Packard Enterprise Development Lp Integrity values for beginning booting instructions
US10177910B2 (en) * 2016-08-31 2019-01-08 Microsoft Technology Licensing, Llc Preserving protected secrets across a secure boot update
RU169208U1 (en) * 2016-09-22 2017-03-09 Российская Федерация, от имени которой выступает Министерство обороны Российской Федерации computer system
DE102017204081A1 (en) 2017-03-13 2018-09-13 Siemens Aktiengesellschaft Method and apparatus for checking the integrity of data stored in a predetermined memory area of ​​a memory data
US20180349608A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Method and Apparatus for Secure System Boot

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US6189100B1 (en) * 1998-06-30 2001-02-13 Microsoft Corporation Ensuring the integrity of remote boot client data
US6401208B2 (en) * 1998-07-17 2002-06-04 Intel Corporation Method for BIOS authentication prior to BIOS execution
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6643781B1 (en) * 1999-05-14 2003-11-04 Sun Microsystems, Inc. Method and apparatus for rendering stolen computing devices inoperable
US6757824B1 (en) * 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
DE60228027D1 (en) * 2001-07-06 2008-09-18 Texas Instruments Inc Safe boot loader for securing digital devices
US7779267B2 (en) * 2001-09-04 2010-08-17 Hewlett-Packard Development Company, L.P. Method and apparatus for using a secret in a distributed computing system
US7117121B2 (en) * 2001-09-11 2006-10-03 Zonar Compliance Systems, Llc System and process to ensure performance of mandated inspections
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US7191464B2 (en) 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7343493B2 (en) 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US6907522B2 (en) * 2002-06-07 2005-06-14 Microsoft Corporation Use of hashing in a secure boot loader
US7558958B2 (en) * 2002-06-13 2009-07-07 Microsoft Corporation System and method for securely booting from a network
US7216369B2 (en) * 2002-06-28 2007-05-08 Intel Corporation Trusted platform apparatus, system, and method
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
JP3724577B2 (en) * 2003-02-06 2005-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation The information processing apparatus, a control method for an information processing apparatus, and information processing apparatus control program
TWI319147B (en) * 2003-04-10 2010-01-01 Lenovo Singapore Pte Ltd Apparatus, motherboard, method and computer-readable storage medium recording instructions capable of determinging physical presence in a trusted platform in a computer system
JP2004355561A (en) * 2003-05-30 2004-12-16 Sony Corp Starting device
US7318150B2 (en) * 2004-02-25 2008-01-08 Intel Corporation System and method to support platform firmware as a trusted process
US20060047944A1 (en) * 2004-09-01 2006-03-02 Roger Kilian-Kehr Secure booting of a computing device
JP4562464B2 (en) * 2004-09-07 2010-10-13 富士通株式会社 The information processing apparatus
US7711942B2 (en) * 2004-09-23 2010-05-04 Hewlett-Packard Development Company, L.P. Computer security system and method

Also Published As

Publication number Publication date
KR20060081334A (en) 2006-07-12
KR101219857B1 (en) 2013-01-10
EP3125149A1 (en) 2017-02-01
CN1801091B (en) 2010-10-06
EP1679632A3 (en) 2006-08-02
CN1801091A (en) 2006-07-12
US7725703B2 (en) 2010-05-25
EP1679632A2 (en) 2006-07-12
JP2006323814A (en) 2006-11-30
EP1679632B1 (en) 2017-11-08
US20060155988A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
US8595483B2 (en) Associating a multi-context trusted platform module with distributed platforms
AU2009279430B2 (en) Secure computing environment to address theft and unauthorized access
JP6222592B2 (en) Verification of mobile applications of identity for the mobile application management
AU2010324789B2 (en) Approaches for a location aware client
CN101373437B (en) Accessing safety memory by embedded controller to increase system safety
KR101158184B1 (en) Protecting content on client platforms
CN101512536B (en) System and method for authenticating a gaming device
US9455955B2 (en) Customizable storage controller with integrated F+ storage firewall protection
JP4808279B2 (en) The computer-readable medium and method for unsealing the bit string
JP5427182B2 (en) Computer storage device having a read-only area and read-write areas of the separation-type, removable media component, system management interface, and a network interface
US8560857B2 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable program
US9559842B2 (en) Trusted key management for virtualized platforms
US8335931B2 (en) Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
US8539551B2 (en) Trusted virtual machine as a client
JP5635993B2 (en) Apparatus and method combines mobile device and a computer, to generate a secure personal each environment
CN103793654B (en) Active Management Server security guide for technical assistance
England et al. A trusted open platform
US20050141717A1 (en) Apparatus, system, and method for sealing a data repository to a trusted computing platform
CN102473213B (en) System and method for providing secure virtual machines
Deswarte et al. Remote integrity checking
CN102947795B (en) System and method for secure cloud computing
US20020157010A1 (en) Secure system and method for updating a protected partition of a hard drive
JP4689945B2 (en) Resource access method
US8555377B2 (en) Secure virtual machine
JP4144880B2 (en) Platform configuration measuring apparatus, program and method, platform configuration authentication apparatus, program and method, platform attestation apparatus, program and method, and, platform configuration disclosed apparatus, program and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110929

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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