Methods and arrangements to register code
AssigneeNone recorded
InventorsDavid I. Poisner, James A. Sutton, David W. Grawrock
Life of this patent
Estimating the term…
Loading patent…
AssigneeNone recorded
InventorsDavid I. Poisner, James A. Sutton, David W. Grawrock
Estimating the term…
Methods and arrangements to register code are described. Many embodiments may comprise determining an identity such as a hashed identity, digest value, digital signature, or the like, and registering resident code that defines a secure environment, to provide a basis for a system trustworthiness evaluation by another secure environment within the system, a secure environment within another system, a remote system, or the like. Some embodiments comprise transmitting an instruction to store the identity in a repository or memory inaccessible to insecure or untrustworthy hardware and/or software. Several embodiments may comprise verifying a request to access the identity. Other embodiments may comprise storing the identity in a temporary register, such as a register in a hub and/or in memory coupled with an input/output (I/O) hub or within a memory controller hub.
An apparatus, comprising:
A method, comprising:
A system, comprising:
A machine-readable medium containing instructions, which when executed by a machine, cause said machine to perform operations, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
No related US applications are recorded in the indexed filing history.
Backward citations are indexed for grants only.
Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems: certifying or…
Computing and data processing
Term end not estimated
The increasing number of financial and personal transactions being performed on local or remote computers has instigated a need for the establishment of trustable or secure environments. More particularly, the secure environment attempts to address a problem of loss of privacy. For example, private data like credit card data, medical report data, bank account data, or the like, stored on a computer to facilitate transactions, or even to manage personal finances, may be accessed, corrupted or abused by another user of the same computer or by a networked system via a local area network (LAN), a wide area network (WAN), or by system interconnections established through access to the Internet. Users do not want their private data made public, altered or used in inappropriate transactions, regardless of whether the private data resides only on their personal computer or on a remote computer as a result of a transaction involving the private data across a network.
Existing secure environments designed to prevent the loss of privacy include isolated systems that may utilize a closed set of only trusted software. Although theses systems do not account for attacks from within the network, such systems provide protection against outside attacks from potentially hostile code. Some of these systems, however, are disadvantageous to the extent that they do not allow the simultaneous use of common, commercially available operating system and application software. Further, the establishment of larger networks degrades the protections offered for these secure environments.
One solution includes isolation of a secure environment from an insecure environment within the system. Many of these implementations attempt to isolate the untrustworthy software or code from the secure environment, however, they inherently trust software such as the operating system. The operating system, for instance, may be trustworthy as received from the original manufacturer but may be corrupted by updates or upgrades from untrustworthy or potentially hostile sources. Any piece of hardware and/or software that has access to the memory, such as a processor, bus master, input/output (I/O) device, etc., can potentially corrupt the operating system prior to and/or during execution, compromising the integrity of the secure environment. Further, applications that are exposed to modification with interconnection to a network are isolated in the insecure environment, preventing access to and exchange of private data with other trustworthy systems. Thus, a side effect of the isolation characteristic of these systems prevents, for example, exchange of private data with an on-line banking system.
In the accompanying drawings, like references may indicate similar elements:
FIG. 1 depicts an embodiment of a processor-based system with a hub and token to register code for a secure environment.
FIG. 2 depicts an embodiment of an apparatus to register code for a secure environment.
The following is a detailed description of example embodiments of the invention depicted in the accompanying drawings. The example embodiments are in such detail as to clearly communicate the invention. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments. The variations of embodiments anticipated for the present invention are too numerous to discuss individually so the detailed descriptions below are designed to make such embodiments obvious to a person of ordinary skill in the art.
Methods and arrangements to register code are described. Many embodiments may comprise determining an identity such as a hashed identity, digest value, digital signature, or the like, and registering resident code that defines a secure environment, to provide a basis for a system trustworthiness evaluation by another secure environment within the system, a secure environment within another system, a remote system, or the like. Some embodiments comprise transmitting a privileged instruction to store the identity in a repository or memory inaccessible to insecure or untrustworthy hardware and/or software. Several embodiments may comprise verifying a request to access an identity in the repository or memory. Other embodiments may comprise storing the identity in a temporary register, such as a register in a hub and/or in memory coupled with an input/output (I/O) hub or within a memory controller hub. Further embodiments may register resident code upon entering or initiating a secure environment such as code for a secure virtual machine monitor (SVMM).
Referring now to FIG. 1, there is shown an embodiment of a processor-based system with a hub 110 and token 170 to register code for a secure environment. The embodiment may comprise processors such as processors 100, 101, 102, and 103; bus 105; hub 110; graphics device 130; bridge 140; memory 150; bus 160; and token 170. Processors 100, 101, 102, and 103 may execute instructions in response to requests from operating system software and application software. In particular, processors 100, 101, 102, and 103 may be coupled to hub 110 to execute memory-resident code and access the contents of memory 150. Processors 100, 101, 102, and 103 may also receive data from or transmit data to graphics device 130, bridge 140, and token 170.