Secure object having protected region, integrity tree, and unprotected region
AssigneeInternational Business Machines Corporation
InventorsRichard Harold Boivie, Peter T. Williams
Life of this patent
Estimating the term…
Abstract
A method and structure for a secure object, as tangibly embodied in a computer-readable storage medium. The secure object includes a cryptographically protected region containing at least one of code and data, an initial integrity tree that protects an integrity of contents of the cryptographically protected region; and an unprotected region that includes a loader, an esm (enter secure mode) instruction, and one or more communication buffers.
Claims32
A secure object that is protected against other software on a system, as tangibly embodied in a non-transitory computer-readable storage medium, said secure object comprising:
- a cryptographically protected region containing at least one of code and data;
- at least one integrity value that protects an integrity of contents of the cryptographically protected region;
- and
- an unencrypted region that includes an esm (enter secure mode) instruction that is used to enter a secure mode in which the secure object can access in unencrypted form the information in its cryptographically protected region.
14) A central processing unit (CPU) on a computer, said CPU comprising a support mechanism for an esm (enter secure mode) instruction for causing said CPU:
- to execute a secure object, said esm instruction using a system key to decrypt an operand and then uses the decrypted operand to load an encryption key register that enables the CPU to decrypt an encrypted secure object as portions of said secure object move from an external memory into the CPU;
- and
- uses information from the decrypted operand to load integrity information into the CPU that the CPU uses to check the integrity of secure object information loaded into the CPU from external memory,
- wherein said secure object comprises:
- a cryptographically protected region containing at least one of code and data;
- an initial integrity tree that protects an integrity of contents of the cryptographically protected region;
- and
- an unprotected region that includes an esm (enter secure mode) instruction, and one or more communication buffers to communicate with other entities such as an operating system or a remote entity.
A CPU (central processing unit) that includes support for an esm (enter secure mode) instruction for a secure object and that uses a system key to decrypt an operand that uses one encryption key for code, the code key, and a separate encryption key for data, the data key, said secure object being a single software entity comprising:
- a cryptographically protected region containing at least one of code and data;
- an initial integrity tree that protects an integrity of contents of the cryptographically protected region;
- and
- an unprotected region that includes a loader, an esm (enter secure mode) instruction, and one or more communication buffers, said secure object using at least one of said communication buffers to communicate with other entities such as an operating system or a remote entity.
A secure object comprising a data structure entity tangibly embodied in a non-transitory computer-readable storage medium as a single software entity, said secure object comprising both code and data, wherein both said code and said data are protected from other software both while the secure object is at rest in a file system and throughout execution, by reason that said secure object comprises:
- said code and data, both of which are cryptographically protected;
- integrity information that protects an integrity of the cryptographically protected code and data;
- and
- an unprotected region that includes an esm (enter secure mode) instruction, and one or more communication buffers.
A central processing unit (CPU) that includes support for an esm (enter secure mode) instruction that uses a system key not available to software on a computer system to decrypt an operand to obtain an encryption key and loads this key into a hardware register of said CPU so that a secure object that executes said esm instruction can access its encrypted information in the clear while other software on the computer cannot access said information.
Dependencies are inferred from the claim text.