Connect public, paid and private patent data with Google Patents Public Datasets

Trusted computer platform

Info

Publication number
WO2004003824A1
WO2004003824A1 PCT/US2003/020620 US0320620W WO2004003824A1 WO 2004003824 A1 WO2004003824 A1 WO 2004003824A1 US 0320620 W US0320620 W US 0320620W WO 2004003824 A1 WO2004003824 A1 WO 2004003824A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
platform
policy
module
device
initialization
Prior art date
Application number
PCT/US2003/020620
Other languages
French (fr)
Inventor
Willard Wiseman
David Grawrock
Original Assignee
Intel Corporation
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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

An apparatus may include a root of trust for measurement (RTM) module coupled to a verified platform security property policy module and a comparison module. The comparison module may operate to prevent transfer of control to an opening system (and/or halt the boot process) if a policy included in the platform security property policy module is violated. A system may include a memory coupled to a processor, a platform security property policy module, and a comparison module. The memory may include an RTM. A method may include beginning execution at an entry point within an RTM, determining that the RTM is trustworthy, determining that a main initialization code associated with a platform is trustworthy and transferring control to the main initialization code, and otherwise, refraining from transferring control to the main initialization code.

Description

TRUSTED COMPUTER PLATFORM

Related Applications

This application is related to co-pending application serial number 09/751,897 titled "A Method of Creating a Secure Boot That Enforces Proper User Authentication and Enforces Hardware Configurations", filed on December 27, 2000, which is commonly assigned to the assignee of the present invention.

Technical Field The present invention relates generally to apparatus, systems, and methods providing security for computational platforms. More particularly, the present invention relates to apparatus, systems, and methods used to provide hardware and software authentication, as may occur in trusted computing platforms.

Background Information

In a world increasingly influenced by the existence of networks connecting a widespread array of computing resources, the topics of data security, information protection, and user privacy have never been more important. Personal computers (PCs) typically offer an open architecture as an industry standard which can be used to build a ubiquitous computing platform. Trust in the platform, however, has not commonly been part of such designs. As used herein, the term "platform" can be taken to mean any type of device, including hardware, firmware, software, or any combination of these, whose activity is directed according to a plurality of programmed instructions.

Typically, platforms execute under the control of an Operating System (OS) when applications are to be executed. Operating Systems and pre-Operating System components are complex and require a loading (i.e., "boot") process to load them into the platform's memory. The platform loads the OS when the platform transitions from a power-off or suspend state to a power-on state, or when a reset signal is applied to the platform's reset line. Herein, the term "platform reset" may be used to refer to any of these conditions. The platform initialization code includes two components: the Platform Initialization Boot Block (PIBB) and the Main Platform Initialization Code (MPIC). After a platform reset occurs, the central processing unit (CPU) begins execution at a well known and defined location within the PIBB. This code is intentionally small, robust, and secure. The PIBB executes code to enable devices on the platform necessary for the Main Platform Initialization Code to execute. The PIBB then passes control of the platform to the Main Platform Initialization Code.

The Main Platform Initialization Code performs necessary functions to complete the initialization of the platform. Such functions may include initializing devices embedded within the platform, and locating and initializing optional plug-in or embedded adapters (having their own device initialization code). After this, the Main Platform Initialization Code locates the OS Loader and executes it. The OS Loader, in turn, loads the OS into memory and begins executing the OS. At this point, the platform is considered in the OS-present state and is fully under control of the loaded OS.

Whenever an untrusted platform loads an OS, violations of security policies can result without ever connecting the platform to a network. Thus, trusted computing is gaining importance in all aspects of computational operations, even when such operations are conducted apart from a network.

Brief Description of the Drawings

FIG. 1 is a block diagram of an apparatus, an article including a machine- accessible medium, and a system according to various embodiments of the invention;

FIG. 2 is a block diagram of a policy module according to an embodiment of the invention; and

FIGs. 3 A and 3B are flow diagrams illustrating a method of verifying trust in a platform according to an embodiment of the invention.

Detailed Description of the Embodiments In the following detailed description of various embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which are shown by way of illustration, and not of limitation, specific embodiments in which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments of the invention is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Trust is established when a first entity (e.g., a program executing on behalf of a person or organization) acquires a basis to believe that the status, configuration and responses received from a second entity (e.g., a personal computer) are precisely as they are represented to the first entity. The Trusted Computing Platform Alliance (TCPA) has developed a standard to provide the industry with a set of operating conditions that enables trust in computing platforms and environments. This standard, "The TCPA Main Specification", version 1.1a, November 12, 2001, can currently be found at www- trustedcomputing-org (to avoid inadvertent hyperlinks the periods in the preceding URL have been replaced by dashes). As an integral part of each platform, the TCPA Main Specification defines computing environment elements which operate to protect information within business and personal computing communications. Existing software- based security services are inadequate to provide proof that a platform is trusted. The TCPA Main Specification details mechanisms which, when implemented in a platform, will provide increased confidence and enable enhancements of existing services as well as the provision of new services.

The TCPA Main Specification also defines a set of components that can be trusted to operate as expected. When embedded in a platform, these components will reliably measure and report information about the environment in that platform. This "integrity check" feature of the components complements and enhances software-only security services. The components include an isolated computing engine whose processes can be trusted because they cannot be altered. These trusted processes include protected storage, digital signature, and Public Key Infrastructure (PKI) data exchange.

The proposed behavior for a TCPA enabled device, a Trusted Platform Module (TPM), is to "report" the integrity of the platform, allowing the platform to boot to the OS even with untrusted components installed. This allows an external resource (e.g., a server on a network) to determine the trustworthiness of the platform but does not prevent access to the platform by the user. FIG. 1 is a block diagram of an apparatus, an article including a machine-accessible medium, and a system according to various embodiments of the invention. In one embodiment of the invention, an apparatus 100 for providing trust in a platform 102 may include a root of trust for measurement (RTM) module 104 and a platform security property policy module 106, 106'. The RTM 104 establishes the basis for trust in the platform 102. Thus, the platform user must first decide to trust the platform's RTM 102. Once that decision has been made, the apparatus 100 described herein can be used to provide a basis for trust in the remaining portions of the boot process.

As described herein, it is assumed that an unauthorized entity will not be able to modify the PIBB 108, which may be the RTM 104. It can also be assumed that all other components and/or modules within the platform 102 are subject to attack or modification, intentional or otherwise. Thus, various embodiments of the invention may act to prevent loading the OS 110 (typically included in a memory 111 or other storage device) within the platform 102, and may alert the platform user, if unauthorized modification to the platform's components occurs.

The TCPA Main Specification defines a set of trusted functions and shielded storage locations. These functions and storage locations are contained in a Trusted Platform Module (TPM) 112 that is typically, but not necessarily, embodied as a device permanently attached to the platform 102. Examples of shielded storage locations include Data Integrity Registers (DIR) 114, non-volatile registers that can only be modified by the platform owner, and Platform Configuration Registers (PCRs) 116 that contain values that measure the integrity of the platform 102. Part of the TCPA Main Specification defines hashing the value of targets and placing the hashed values into a shielded storage location, possibly combining the hashed values with previously-stored values. Such targets may include executable code, configuration data, a log of TCPA-defined information, and other items.

The platform security property policy module 106, possibly including information in the form of a policy table 118, may be included in the PIBB 108. The policy table 118 typically contains information that affects the operations of the platform during the boot process. As described herein, one of the DTRs 114 is the policy table DIR 120. The policy table DIR 120 (included in the TPM 112) contains information placed by the platform owner, or an authorized agent, to validate the PIBB 108 and by extension, the policy table 118. Thus, trust in the PIBB 108 and the policy module 106, 106' is established by measuring and comparing against a pre-loaded value placed into the policy table DIR 120 by an authorized, trusted entity (i.e., the policy module 106, 106' must be verified). The policy table 118 contains policies to which the platform 102 must adhere during the initialization/boot process.

Measurement is the action of obtaining a value that can be directly associated with the integrity of the entity. An example is calculating the hash value of a large byte stream, or for small values, the value itself may be used directly. Verification is comparing the measured value against a known, trusted value. Thus, as defined herein, "measuring" means to gather data about a component, optionally entering the gathered information into a log (which may be in an untrusted location), optionally hashing the gathered data values, and/or the logged values, and storing the data/hashed data into one of the PCRs 116.

"Comparing measurements" means comparing values in the policy table with the hashed or extended data from a PCR 116, or the log.

As noted above, the RTM module 104 may be a PIBB 108 associated with the platform 102, which includes an entry point 122. Assuming a processor 124 within the platform 102 is coupled to a reset line 126, the processor 124 will typically operate to begin execution at the entry point 122 upon receiving a reset signal 128 on the reset line 126 (i.e., a platform reset condition).

A comparison module 130 may be communicatively coupled to, and located within, the RTM module 104, the platform security property policy module 106, and various internal measurement functions 131. The comparison module 130 may operate to prevent transfer of control to the OS 110, and/or even to prevent the remainder of the boot process, if a policy Pl-Pn included in the verified platform security property policy module 106 is violated. In addition, if at any time during initialization of the platform 102 a component within the platform 102 violates a policy in the verified platform security property policy module 106, as detected by the comparison module 130, for example, the platform 102 may operate to alert the platform user (and/or possibly other devices via, for example, a network connection) that the platform 102 attempted to initialize using an invalid component.

Thus, the apparatus 100 may include an alert device 132 communicatively coupled to the processor 124, possibly using an alert device module 134. The alert device 132 may be actuated by the processor 124 to provide an alert signal 136 when a policy Pl-Pn included in the platform security property policy module 104 is violated. The alert device 132 may be a hardware mechanism used to alert the platform user that the platform has failed to complete the boot sequence due to non-conformance with one or more defined security policies Pl-Pn. The alert signal 136 may be a simple audible tone or sequence of tones, a light or flashes of light, tactile pulsations, remote messaging, etc. In addition, an alert or other message 140 may be sent, possibly using the alert device module 134 coupled to the comparison module 130, to another device across a network 142, usually by way of a network interface 144. After actuating the alert device 132, the platform 102 may enter a state requiring a platform reset condition (e.g., typically a hardware reset, described above) to continue.

The apparatus 100 may also have a memory 146 including an MPIC 148 associated with the platform 102. The memory 146 may be communicatively coupled to the platform 102, and the platform 102 may be communicatively coupled to the RTM module 104.

Prior to transferring control to the next part of the platform's initialization sequence, authorization must be obtained from the policy table 118. The policy table 118 can include raw hash values, extended PCR values, or identifiers to validation credentials. An identifier can be a pointer to a memory location, an index value, or any unique number that can be searched.

Finally, before transferring control of the platform 102 to the OS Loader 150, the Main Platform Initialization Code 148 compares the overall configuration and load sequence of the platform 102 by checking the policy table 118 to determine that: there is a required set of components contained within the platform 102, the platform 102 doesn't contain disallowed components, and/or that a specified set of components have been loaded in a particular sequence. Thus, the platform 102 may include a memory 152 or other storage device which includes the platform configuration 154, as well as a platform endorsement credential 156, and a platform conformance credential 158. The TCPA also provides for several different types of credentials, including an Endorsement Credential, a Platform Credential, and a Validation Credential. The Endorsement Credential provides assurance that the platform contains a valid TPM. The Platform Credential provides assurance that the TPM is properly bound to the Platform. And the Validation Credential provides assurance that a device or Device Initialization Code is from the manufacturer named in the credential. The platform security property policy module 106 (and/or the policy table 118) may also include an Endorsement Credential, a Platform Conformance Credential, validations of these (e.g., a hash of the credentials) if they are external to the platform security property policy module 106, and/or a mandatory set of sequenced components.

The platform 102 may also include a memory 160 or other storage device which includes one or more device configurations 162 associated with one or more devices DEVl-DEVn and their respective Device Initialization Codes CODEl-CODEn 164. The memories 111, 152, and 160 maybe contiguous, and contained within a single larger memory 166, or the memories 111, 152, 160 may exist as part of components or devices physically separated from the platform 102

FIG. 2 is a block diagram of a policy module 206 according to an embodiment of the invention. As noted above, the policy table 218 included in the policy module 206 may be used to define the security properties of the platform, using one or more policies contained therein. Typically, the policy table 218 resides within the PIBB. Alternatively, the policy table 218 may reside outside the PIBB (see the location of module 106' in FIG. 1), but its measured value must be included with that of the PIBB when compared with the Policy Table DIR.

The policy table 218 may include several entries, typically grouped into policy sections 267, that define the security properties of the platform, such as: platform initialization code policies 268, platform configuration policies 270, device and device initialization code policies 272, optional or embedded device configuration policies 274, OS loader policies 276, OS Loader configuration policies 278 and other security-related rules and definitions. Each of the sections 267 may also include none, some, or all of the following: raw hashed policy values 280, extended policy values 282, validation credential identifiers 284, values identifying the Platform Endorsement Credential 286, values identifying the Platform Conformance Credential 288, and/or values identifying Validation Credentials 290.

Each entry typically includes a flag indicating the required policy for that section. For example, the section may contain only raw hashed values to be used to verify policy or it may contain only identifiers to validation credentials indicating that only components that have validation credentials are allowed for that particular section.

Verifying that a component or platform element/module satisfies the defined policies occurs by comparing measurements of the element/module with the appropriate policy table entry. There may be multiple entries pertaining to a single component or module in the policy table 218. None, some, or all entries may be required to match in order for that component or module to satisfy a defined policy. For example, a policy 274 for a required component 292 may include checking the raw hashed value 280, checking the extended hash values 282, validating at least one of the component's credentials 290, and then comparing the raw hashed value 280 with the specified values within the credential 290. If a component 292 fails to satisfy the associated policy 274, the entity that checked the component 292 may transfer control of the platform to the alert device module.

Referring back to FIG. 1, it is now easily understood that a platform 102 may include one or more of the following components: a processor 124, platform initialization code 194 (having a PIBB 108 and Main Platform Initialization Code 148), and various devices, such as embedded and/or optional devices DEVl-DEVn within the platform 102 which may contain their own respective device initialization codes CODEl-CODEn. The platform 102 typically also includes a device which includes or has the ability to access the OS loader 150, and a device which includes or has the ability to access the OS 110. Thus, in another embodiment of the invention, a system 196 may include a processor 124 coupled to a memory 198. The memory 198 may include an RTM 104 module, a platform security property policy module 106 (capable of being communicatively coupled to the memory 198), and a comparison module 130 (capable of being communicatively coupled to the memory 198). Thus, the memory 198 may include an initialization boot block, such as a PIBB 108. Typically, the comparison module 130 operates to prevent transfer of control to the operating system 110 or other pre-OS components (e.g., completely halting the boot process) when a policy included in the platform security property policy module 106 is violated. This may occur, for example, when measuring and comparing (i.e., verifying) the platform security policy module 106 against the value in the policy table DIR 120 included in the TPM 112 fails. In this embodiment, the comparison module 130 should be verified before it is trusted to make valid comparisons.

Still referring to FIG. 1, the system 196 may also include a reset line 126 coupled to the processor 124, wherein an entry point 122 included in the RTM 104 is executed by the processor 124 when a reset signal 128 is applied to the reset line 126 to initiate a Platform Reset condition. Finally, it should be noted that the system 196 may also include an alert device 132 communicatively coupled to the processor 124, wherein the alert device 132 may be actuated by the processor 124 so as to provide an alert signal 136 when a policy included in the verified platform security property policy module 106 is violated. Referring now to both FIGS. 1 and 2, the apparatus 100; RTM module 104; platform security property policy modules 106, 106', 206 (including each of the various elements within them); PIBB 108; TPM 112; DIRs 114; PCRs 116; policy tables 118, 218; processor 124; comparison module 130; internal measurement functions 131; alert device 132; alert device module 134; network interface 144; and the memories 111, 146, 152, 160, 166, 198 may all be characterized as "modules" herein. Such modules may include hardware circuitry, and/or a microprocessor and/or memory circuits, software program modules, and/or firmware, and combinations thereof, as desired by the architect of the apparatus 100 and system 196, and appropriate for particular embodiments of the invention.

One of ordinary skill in the art will understand that the apparatus and systems of the present invention can be used in applications other than for personal computers, and in applications other than for networks which include personal computers, and thus, the invention is not to be so limited. The illustrations of an apparatus 100 and a system 196 are intended to provide a general understanding of the structure of the present invention, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems which might make use of the structures described herein.

Applications which may include the novel apparatus and system of the present invention include electronic circuitry used in high-speed computers, communication and signal processing circuitry, modems, processor modules, embedded processors, and application-specific modules, including multilayer, multi-chip modules. Such apparatus and systems may further be included as sub-components within a variety of electronic systems, such as televisions, cellular telephones, personal computers, radios, vehicles, and others.

FIGs. 3 A and 3B are flow diagrams illustrating a method of verifying trust in a platform according to an embodiment of the invention. The method 313 may begin in FIG. 3 A at block 315 when a Platform Reset condition is sensed by a processor or other module within the platform. The processor may then begin execution of the entry point code at block 317.

The PIBB contains its own code to perform measurements (i.e., the internal measurement functions) because all other components at this time are untrusted. The PIBB, using this internal code, measures itself at block 319 and verifies that it satisfies policy according to the policy table DIR within the TPM at block 321 and 323. If the measurement does not satisfy the policy, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325. Optionally, the TPM may be disabled so that the platform behaves as an untrusted platform, but the boot process is allowed to continue. If the measurement satisfies the policy, then the policy table can be trusted, and the method 313 may continue with block 327.

Various embodiments of the invention disclosed herein involve using the PIBB to measure the Main Platform Initialization Code at block 327, and verify that it satisfies the policy at block 329. Still referring to block 327, if there are extensions to the Main Platform Initialization Code, the PIBB also measures the extensions and verifies that they ' satisfy the policy. Ifthe measurement results do not satisfy the policy at block 329, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325.

If the platform contains a Platform, Conformance, or endorsement credential(s), they are verified with the respective entries within the policy table at block 333. If the credentials do not verify, the platform does not satisfy policy. If the measurement does not satisfy the policy at block 335, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325. The Main Platform Initialization Code may be used to examine the platform for optional or embedded devices and their device initialization codes. However, before transferring control from the Main Platform Initialization Code to any device initialization code, the Main Platform Initialization Code should verify that the device and its device initialization code satisfies the policy at blocks 337 and 339. If the measurement does not satisfy the policy at block 339, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325.

Device initialization codes may validate the configuration of their associated devices. In this case, control may be transferred to the device initialization code at block 341. For each device, if there is an entry in the policy table related to a selected device, the device initialization code associated with that device may verify that the configuration of the associated device satisfies the policy at block 343, including any hidden components of the associated device. If the measurement does not satisfy the policy at block 345, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325. If it is determined that another policy table entry and associated device initialization code exist at block 347, then the code may be measured at block 337, and the process outlined by blocks 339, 341, 343, 345, and 347 can be repeated any number of times.

After all the device initialization codes have been executed and all devices have been initialized, the method 313 may continue on FIG. 3B at block 349, where the Main Platform Initialization Code may be used to gather information regarding the platform's configuration and verify that it satisfies policy at block 351. If the measurement does not satisfy the policy at block 351, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325. Upon completion of all Main Platform Initialization Code functions, the Main

Platform Initialization Code may locate the OS loader and verify that the OS loader satisfies policy at blocks 353 and 355. If the measurement does not satisfy the policy at block 355, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325. Prior to transferring control to the OS loader, the Main Platform Initialization Code may check the policy table for required, disallowed, and/or mandatory sets of sequenced components at block 357. The policy may require the presence of particular components; it may disallow particular components; or it may require a particular sequence of components. If any of the required conditions are not met, the platform does not satisfy policy at block 359, and control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325.

If the policy is satisfied at block 359, control is transferred to the OS loader at block 361. If the OS loader allows options, the OS loader may operate to verify that those options satisfy the policy at blocks 363 and 365. If the measurement does not satisfy the policy at block 365, then control is typically turned over to the alert device module and/or the alert device, and the platform user is alerted at block 325. If the policy is satisfied at block 365, then the OS loader is allowed to load the OS, and control of the platform is transferred to the OS at block 369. At this point, the method 313 ends.

In summary, the method 313 may include sensing a platform reset condition, beginning execution at an entry point within a root of trust for measurement (RTM), and determining that the RTM is trustworthy, which may include determining that a platform security property policy module associated with the RTM is trustworthy. Determining that the platform security property policy module associated with the RTM is trustworthy may include measuring a policy table and comparing the measurements with one or more values included in a DIR (included in a TPM).

The method may continue with determining that a main initialization code associated with a platform is trustworthy, and transferring control to the main initialization code. Otherwise, the method may operate by determining that a main initialization code associated with a platform is not trustworthy, and it may refrain from transferring control to the main initialization code. In addition, the method may operate by refraining from loading an operating system associated with the platform if a policy associated with the RTM is violated. The method may also include determining that a platform configuration does not violate a policy associated with the RTM, determining that a device does not violate a policy associated with the RTM, determining that a device initialization code associated with the device does not violate a policy associated with the RTM, and transferring control to the device initialization code. The method may also include determining that an operating system loader associated with the platform does not violate a policy associated with the RTM, determining that a selected group of components is present, and transferring control to an operating system loader associated with the platform. The method may also include determining that a selected group of disallowed components is not present, and transferring control to an operating system loader associated with the platform. Thus, referring back to FIG. 1, it is now easily understood that another embodiment of the invention may include an article 199, such as a computer, a memory system, a magnetic or optical disk, some other storage device, and/or any type of electronic device or system, comprising a machine-accessible medium 194 (e.g., a memory including an electrical, optical, or electromagnetic conductor) having associated data 108 (e.g. computer program instructions), which when accessed, results in a machine performing such actions as beginning execution at an entry point within a root of trust for measurement (RTM), determining that the RTM is trustworthy, determining that a main initialization code associated with a platform is trustworthy and transferring control to the main initialization code, and otherwise determining that a main initialization code associated with a platform is not trustworthy and refraining from transferring control to the main initialization code. Other actions may include determining that a platform configuration does not violate a policy associated with the RTM, determining that an operating system loader associated with the platform does not violate a policy associated with the RTM, determining that a selected group of components is present, and transferring control to an operating system loader associated with the platform. Similarly, determining that a selected group of disallowed components is not present, and transferring control to an operating system loader associated with the platform may also be included within the scope of such activities.

Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments of the present invention. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combinations of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. The scope of various embodiments of the invention includes any other applications in which the above structures and methods are used. Therefore, the scope of various embodiments of the invention should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.

It is emphasized that the Abstract is provided to comply with 37 C.F.R. § 1.72(b) requiring an Abstract that will allow the reader to quickly ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

In the foregoing Description of Embodiments of the Invention, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the invention require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Description of Embodiments of the Invention, with each claim standing on its own as a separate preferred embodiment.

Claims

ClaimsWhat is claimed is:
1. An apparatus, comprising: a root of trust for measurement (RTM) module; a platform security property policy module capable of being communicatively coupled to the RTM; and a comparison module capable of being communicatively coupled to the RTM module, the comparison module to prevent transfer of control to an operating system if a policy included in the platform security property policy module is violated.
2. The apparatus of claim 1, wherein the RTM module comprises an initialization boot block associated with a platform.
3. The apparatus of claim 2, wherein the initialization boot block includes an entry point capable of being executed by a processor upon reception of a reset signal on a reset line coupled to the processor so as to initiate a platform reset condition.
4. The apparatus of claim 1, further comprising: a memory including a main initialization code associated with a platform, wherein the memory is commumcatively coupled to the platform, and wherein the platform is communicatively coupled to the RTM module.
5. The apparatus of claim 1, further comprising: a trusted platform module (TPM) including a value associated with the platform security property policy module stored in a shielded storage location.
6. The apparatus of claim 1, further comprising: platform credentials included in the platform security property policy module.
7. The apparatus of claim 1, further comprising: a mandatory set of sequenced components included in the platform security property policy module.
8. A system, comprising: a memory including a root of trust for measurement (RTM); a platform security property policy module capable of being communicatively coupled to the memory; a comparison module capable of being commumcatively coupled to the memory, the comparison module to prevent transfer of control to an operating system when a policy included in the platform security property policy module is violated; and a processor capable of being communicatively coupled to the memory.
9. The system of claim 8, further comprising: a reset line communicatively coupled to the processor, wherein an entry point included in the RTM is to be executed by the processor when a reset signal is applied to the reset line so as to initiate a platform reset condition.
10. The system of claim 8, further comprising: a trusted platform module (TPM) including a value associated with the platform security property policy module and stored in a shielded storage location.
11. The system of claim 8, further comprising: an alert device communicatively coupled to the processor, wherein the alert device is to be actuated by the processor so as to provide an alert signal when a policy included in the platform security property policy module is violated.
12. A method, comprising: beginning execution at an entry point within a root of trust for measurement (RTM); determining that the RTM is trustworthy; determining that a main initialization code associated with a platform is trustworthy and transferring control to the main initialization code; and otherwise determining that a main initialization code associated with a platform is not trustworthy and refraining from transferring control to the main initialization code.
13. The method of claim 12, further comprising: sensing a platform reset condition.
14. The method of claim 12, further comprising: refraining from loading an operating system (OS) or other pre-OS components associated with the platform if a policy associated with the RTM is violated.
15. The method of claim 12, wherein the RTM is an initialization boot block associated with the platform.
16. The method of claim 12, wherein determining that the RTM is trustworthy further comprises: determimng that a policy table associated with the RTM is trustworthy by measuring the policy table to provide a measurement and comparing the measurement with a value stored in a shielded storage location within a trusted platform module.
17. The method of claim 12, further comprising: determining that a device does not violate a policy associated with the RTM; determining that a device initialization code associated with the device does not violate a policy associated with the RTM; and transferring control to the device initialization code.
18. An article comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing: beginning execution at an entry point within a root of trust for measurement (RTM); determining that the RTM is trustworthy; determimng that a main initialization code associated with a platform is trustworthy and transferring control to the main initialization code; and otherwise determining that a main initialization code associated with a platform is not trustworthy and refraining from transferring control to the main initialization code.
19. The article of claim 18, wherein the machine-accessible medium further includes data, which when accessed by the machine, results in the machine performing: determining that a platform configuration does not violate a policy associated with the RTM.
20. The article of claim 18, wherein the machine-accessible medium further includes data, which when accessed by the machine, results in the machine performing: determining that an operating system loader associated with the platform does not violate a policy associated with the RTM.
21. The article of claim 18, wherein the machine-accessible medium further includes data, which when accessed by the machine, results in the machine performing: determining that a selected group of components is present; and transferring control to an operating system loader associated with the platform.
22. The article of claim 18, wherein the machine-accessible medium further includes data, which when accessed by the machine, results in the machine performing: determining that a selected group of disallowed components is not present; and transferring control to an operating system loader associated with the platform.
PCT/US2003/020620 2002-06-28 2003-06-27 Trusted computer platform WO2004003824A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/185,391 2002-06-28
US10185391 US7216369B2 (en) 2002-06-28 2002-06-28 Trusted platform apparatus, system, and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES03742347T ES2381355T3 (en) 2002-06-28 2003-06-27 trusted computing platform
EP20030742347 EP1518158B1 (en) 2002-06-28 2003-06-27 Trusted computer platform

Publications (1)

Publication Number Publication Date
WO2004003824A1 true true WO2004003824A1 (en) 2004-01-08

Family

ID=29779616

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/020620 WO2004003824A1 (en) 2002-06-28 2003-06-27 Trusted computer platform

Country Status (5)

Country Link
US (1) US7216369B2 (en)
CN (1) CN100388150C (en)
EP (1) EP1518158B1 (en)
ES (1) ES2381355T3 (en)
WO (1) WO2004003824A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006002368A2 (en) * 2004-06-22 2006-01-05 Sun Microsystems, Inc. Systems and methods for securing a computer boot
EP2495681A2 (en) * 2011-01-11 2012-09-05 SafeNet, Inc. Remote pre-boot authentication

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103574B1 (en) * 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US7350228B2 (en) * 2001-01-23 2008-03-25 Portauthority Technologies Inc. Method for securing digital content
GB2376763B (en) * 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
US7380130B2 (en) * 2001-12-04 2008-05-27 Microsoft Corporation Methods and systems for authentication of components in a graphics system
US8041933B2 (en) * 2002-12-20 2011-10-18 The Invention Science Fund I Method and apparatus for selectively enabling a microprocessor-based system
US8881270B2 (en) 2002-12-20 2014-11-04 Creative Mines Llc Method and apparatus for selectively enabling a microprocessor-based system
US7694139B2 (en) * 2002-10-24 2010-04-06 Symantec Corporation Securing executable content using a trusted computing platform
US7210034B2 (en) * 2003-01-30 2007-04-24 Intel Corporation Distributed control of integrity measurement using a trusted fixed token
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
GB0307158D0 (en) * 2003-03-28 2003-04-30 Hewlett Packard Development Co Security policy in trusted computing systems
GB0307142D0 (en) * 2003-03-28 2003-04-30 Hewlett Packard Development Co Security attributes in trusted computing systems
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
JP4064914B2 (en) 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation The information processing apparatus, a server apparatus, a method for an information processing apparatus, a method for a server device and a device executable program
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7330977B2 (en) * 2003-12-30 2008-02-12 Lenovo Pte Ltd Apparatus, system, and method for secure mass storage backup
US7421588B2 (en) * 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform
US7526649B2 (en) * 2003-12-30 2009-04-28 Intel Corporation Session key exchange
US7574600B2 (en) * 2004-03-24 2009-08-11 Intel Corporation System and method for combining user and platform authentication in negotiated channel security protocols
US7664965B2 (en) 2004-04-29 2010-02-16 International Business Machines Corporation Method and system for bootstrapping a trusted server having redundant trusted platform modules
WO2005109184A1 (en) * 2004-05-08 2005-11-17 Intel Corporation Firmware interface runtime environment protection field
GB0411654D0 (en) * 2004-05-25 2004-06-30 Hewlett Packard Development Co A generic trusted platform architecture
US8006100B2 (en) 2004-06-10 2011-08-23 Oracle America, Inc. Enhancing trusted platform module performance
US8429423B1 (en) 2004-06-10 2013-04-23 Oracle America, Inc. Trusted platform modules
US7568225B2 (en) 2004-09-08 2009-07-28 Hewlett-Packard Development Company, L.P. System and method for remote security enablement
US7711942B2 (en) * 2004-09-23 2010-05-04 Hewlett-Packard Development Company, L.P. Computer security system and method
US8347078B2 (en) * 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US20060089917A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation License synchronization
US20060090085A1 (en) * 2004-10-23 2006-04-27 Mckenney Paul E Method and apparatus for improving computer security
US8176564B2 (en) * 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8464348B2 (en) * 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8336085B2 (en) * 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US20060106920A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Method and apparatus for dynamically activating/deactivating an operating system
US20060112018A1 (en) * 2004-11-24 2006-05-25 Microsoft Corporation Synchronizing contents of removable storage devices with a multimedia network
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing 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
GB0505746D0 (en) 2005-03-22 2005-04-27 Hewlett Packard Development Co Methods, devices and data structures for trusted data
US8725646B2 (en) * 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8972743B2 (en) * 2005-05-16 2015-03-03 Hewlett-Packard Development Company, L.P. Computer security system and method
US20060265758A1 (en) * 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7396257B2 (en) * 2005-05-26 2008-07-08 Itt Manufacturing Enterprises, Inc. Computer input/output (I/O) connector assembly having a security circuit disposed therein
US8353046B2 (en) * 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US7603707B2 (en) * 2005-06-30 2009-10-13 Intel Corporation Tamper-aware virtual TPM
US20070061535A1 (en) 2005-09-12 2007-03-15 Microsoft Corporation Processing unit enclosed operating system
US8201240B2 (en) * 2005-09-16 2012-06-12 Nokia Corporation Simple scalable and configurable secure boot for trusted mobile phones
US9268971B2 (en) * 2005-09-21 2016-02-23 Broadcom Corporation Secure processor supporting multiple security functions
US20070192580A1 (en) * 2006-02-10 2007-08-16 Challener David C Secure remote management of a TPM
US7581141B2 (en) * 2006-03-01 2009-08-25 Sun Microsystems, Inc. Kernel module compatibility validation
GB2440170B8 (en) * 2006-07-14 2014-07-16 Vodafone Plc Digital rights management
US20080077592A1 (en) * 2006-09-27 2008-03-27 Shane Brodie method and apparatus for device authentication
US9135444B2 (en) * 2006-10-19 2015-09-15 Novell, Inc. Trusted platform module (TPM) assisted data center management
JP4288292B2 (en) * 2006-10-31 2009-07-01 株式会社エヌ・ティ・ティ・ドコモ Operating system monitoring setting information generator apparatus and an operating system monitoring apparatus
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
GB0623101D0 (en) * 2006-11-20 2006-12-27 British Telecomm Secure network architecture
US20080178257A1 (en) * 2007-01-20 2008-07-24 Takuya Mishina Method for integrity metrics management
US20080184026A1 (en) * 2007-01-29 2008-07-31 Hall Martin H Metered Personal Computer Lifecycle
US20080235754A1 (en) * 2007-03-19 2008-09-25 Wiseman Willard M Methods and apparatus for enforcing launch policies in processing systems
WO2009051471A3 (en) * 2007-09-20 2009-07-16 Mimos Berhad Trusted computer platform method and system without trust credential
JP5385148B2 (en) * 2007-10-05 2014-01-08 パナソニック株式会社 Secure boot terminal, a secure boot process, the secure boot program, a recording medium and an integrated circuit
US7921286B2 (en) * 2007-11-14 2011-04-05 Microsoft Corporation Computer initialization for secure kernel
JP5399397B2 (en) * 2008-01-30 2014-01-29 パナソニック株式会社 Secure boot method, the secure boot device, program, and integrated circuit
US8661234B2 (en) * 2008-01-31 2014-02-25 Microsoft Corporation Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
US20100325625A1 (en) * 2008-02-13 2010-12-23 Osvaldo Diaz Managing electronic devices with different types of device location limited device management clients
US8479262B2 (en) * 2008-02-13 2013-07-02 Hewlett-Packard Development Company, L.P. Managing electronic devices using an electronic device as a root of trust
JP4932034B2 (en) * 2008-03-28 2012-05-16 パナソニック株式会社 Software update device, the software updating system, disabling method, and disabling program
JP2009278015A (en) * 2008-05-16 2009-11-26 Nec Corp Planar lightwave circuit and wavelength tunable laser apparatus with the same
US8103909B2 (en) * 2008-09-15 2012-01-24 Juniper Networks, Inc. Automatic hardware-based recovery of a compromised computer
US8923520B2 (en) 2009-02-06 2014-12-30 Dell Products L.P. System and method for recovery key management
CN102449634B (en) * 2009-07-01 2015-05-27 松下电器产业株式会社 Secure boot method and secure boot apparatus
US8938774B2 (en) * 2010-05-28 2015-01-20 Dell Products, Lp System and method for I/O port assignment and security policy application in a client hosted virtualization system
US8458490B2 (en) 2010-05-28 2013-06-04 Dell Products, Lp System and method for supporting full volume encryption devices in a client hosted virtualization system
US8990584B2 (en) 2010-05-28 2015-03-24 Dell Products, Lp System and method for supporting task oriented devices in a client hosted virtualization system
US8996851B2 (en) 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
US9208318B2 (en) 2010-08-20 2015-12-08 Fujitsu Limited Method and system for device integrity authentication
US9087196B2 (en) 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
US9256745B2 (en) * 2011-03-01 2016-02-09 Microsoft Technology Licensing, Llc Protecting operating system configuration values using a policy identifying operating system configuration settings
US8782389B2 (en) 2011-07-19 2014-07-15 Sandisk Technologies Inc. Storage device and method for updating a shadow master boot record
US8973158B2 (en) * 2011-07-20 2015-03-03 Microsoft Technology Licensing Llc Trust level activation
US8924737B2 (en) * 2011-08-25 2014-12-30 Microsoft Corporation Digital signing authority dependent platform secret
WO2013048422A1 (en) * 2011-09-30 2013-04-04 Hewlett-Packard Development Company, L.P. Virtualized device control in computer systems
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
US8949954B2 (en) 2011-12-08 2015-02-03 Uniloc Luxembourg, S.A. Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account
US9564952B2 (en) 2012-02-06 2017-02-07 Uniloc Luxembourg S.A. Near field authentication through communication of enclosed content sound waves
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US9152793B2 (en) * 2012-09-28 2015-10-06 Intel Corporation Methods, systems and apparatus to self authorize platform code
US8881280B2 (en) 2013-02-28 2014-11-04 Uniloc Luxembourg S.A. Device-specific content delivery
US9230081B2 (en) 2013-03-05 2016-01-05 Intel Corporation User authorization and presence detection in isolation from interference from and control by host central processing unit and operating system
US20140325652A1 (en) * 2013-04-25 2014-10-30 Uniloc Luxembourg S.A. Detection of device tampering
WO2014209322A1 (en) 2013-06-27 2014-12-31 Intel Corporation Continuous multi-factor authentication
US9239918B2 (en) 2013-10-02 2016-01-19 Andes Technology Corporation Method and apparatus for software-hardware authentication of electronic apparatus
US9830456B2 (en) * 2013-10-21 2017-11-28 Cisco Technology, Inc. Trust transference from a trusted processor to an untrusted processor
CN104573423B (en) * 2015-01-26 2017-10-31 无锡信捷电气股份有限公司 One kind of hardware and software encryption method plc
EP3073405A1 (en) * 2015-03-23 2016-09-28 ABB Technology AG Method and device providing secure vendor service access

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
WO2001061473A1 (en) * 2000-02-16 2001-08-23 Watchguard Technologies, Inc. Computer security using dual functional security contexts

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975950A (en) * 1988-11-03 1990-12-04 Lentz Stephen A System and method of protecting integrity of computer data and software
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6401208B2 (en) * 1998-07-17 2002-06-04 Intel Corporation Method for BIOS authentication prior to BIOS execution
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6625730B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Development Company, L.P. System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine
GB0020371D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Apparatus and method for establishing trust
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US7000249B2 (en) * 2001-05-18 2006-02-14 02Micro Pre-boot authentication system
GB2376763B (en) * 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US20030182561A1 (en) * 2002-03-25 2003-09-25 International Business Machines Corporation Tamper detection mechanism for a personal computer and a method of use thereof
US7343493B2 (en) * 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US6782349B2 (en) * 2002-05-03 2004-08-24 International Business Machines Corporation Method and system for updating a root of trust measurement function in a personal computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
WO2001061473A1 (en) * 2000-02-16 2001-08-23 Watchguard Technologies, Inc. Computer security using dual functional security contexts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006002368A2 (en) * 2004-06-22 2006-01-05 Sun Microsystems, Inc. Systems and methods for securing a computer boot
WO2006002368A3 (en) * 2004-06-22 2006-04-20 Sun Microsystems Inc Systems and methods for securing a computer boot
EP2495681A2 (en) * 2011-01-11 2012-09-05 SafeNet, Inc. Remote pre-boot authentication
EP2495681A3 (en) * 2011-01-11 2013-10-09 SafeNet, Inc. Remote pre-boot authentication

Also Published As

Publication number Publication date Type
US20040003288A1 (en) 2004-01-01 application
EP1518158A1 (en) 2005-03-30 application
US7216369B2 (en) 2007-05-08 grant
CN1678968A (en) 2005-10-05 application
CN100388150C (en) 2008-05-14 grant
ES2381355T3 (en) 2012-05-25 grant
EP1518158B1 (en) 2012-03-21 grant

Similar Documents

Publication Publication Date Title
Xu et al. Taint-Enhanced Policy Enforcement: A Practical Approach to Defeat a Wide Range of Attacks.
US5421006A (en) Method and apparatus for assessing integrity of computer system software
US20120255012A1 (en) System and method for below-operating system regulation and control of self-modifying code
US20080165952A1 (en) Secure Booting A Computing Device
US20070180509A1 (en) Practical platform for high risk applications
US20050262571A1 (en) System and method to support platform firmware as a trusted process
US7490352B2 (en) Systems and methods for verifying trust of executable files
US5448045A (en) System for protecting computers via intelligent tokens or smart cards
US20090013406A1 (en) Dynamic trust management
US20120255014A1 (en) System and method for below-operating system repair of related malware-infected threads and resources
Jaeger et al. PRIMA: policy-reduced integrity measurement architecture
US20090164800A1 (en) Secure End-of-Life Handling of Electronic Devices
US7313679B2 (en) Extended trusted computing base
US20130097659A1 (en) System and method for whitelisting applications in a mobile network environment
US5944821A (en) Secure software registration and integrity assessment in a computer system
US20050138409A1 (en) Securing an electronic device
US20120060030A1 (en) System and method of providing trusted, secure, and verifiable operating environment
US20050033969A1 (en) Secure execution architecture
US20060015718A1 (en) Use of kernel authorization data to maintain security in a digital processing system
US7461249B1 (en) Computer platforms and their methods of operation
US20090271863A1 (en) Identifying unauthorized privilege escalations
US20060161784A1 (en) Systems and methods for updating a secure boot process on a computer with a hardware security module
US20040168173A1 (en) Method and apparatus providing deception and/or altered execution of logic in an information system
US20040073806A1 (en) Encapsulation of a TCPA trusted platform module functionality within a server management coprocessor subsystem
US7401230B2 (en) Secure virtual machine monitor to tear down a secure execution environment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003742347

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20038199068

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003742347

Country of ref document: EP

NENP Non-entry into the national phase in:

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP