Tamper resistant microprocessor
AssigneeKabushiki Kaisha Toshiba
InventorsMikio Hashimoto, Keiichi Teramoto, Takeshi Saito, Kenji Shirakawa, Kensaku Fujimoto
Life of this patent
Estimating the term…
Abstract
Under a multi-task environment, a tamper resistant microprocessor saves a context information for one program whose execution is to be interrupted, where the context information contains information indicating an execution state of that one program and the execution code encryption key of that one program. An execution of that one program can be restarted by recovering the execution state of that one program from the saved context information. The context information can be encrypted by using the public key of the microprocessor, and then decrypted by using the secret key of the microprocessor.
Claims16
A microprocessor having a unique secret key and a unique public key corresponding to the unique secret key that cannot be read out to external, comprising:
- a reading unit configured to read out a plurality of programs encrypted by using different execution code encryption keys from an external memory;
- a decryption unit configured to decrypt the plurality of programs read out by the reading unit by using respective decryption keys;
- an execution unit configured to execute the plurality of programs decrypted by the decryption unit;
- a context information saving unit configured to save a context information for one program whose execution is to be interrupted, into a context information memory provided inside the microprocessor, or encrypt the context information by using the public key and save the encrypted context information into the external memory, the context information containing information indicating an execution state of the one program and the execution code encryption key by which the one program was encrypted when the one program was read out by the reading unit;
- and
- a restart unit configured to restart an execution of the one program by reading out the context information from the context information memory, and recovering the execution state of the one program by using the context information including the execution code encryption key, or reading out the encrypted context information from the external memory, decrypting the encrypted context information by using the secret key, and recovering the execution state of the one program from the decrypted context information,
- wherein the restart unit restarts the execution of the one program only when a decrypted execution code encryption key contained in the decrypted context information coincides with the execution code encryption key of the one program.
A microprocessor having a unique secret key and unique public key corresponding to the unique secret key that cannot be read out to external, comprising:
- a reading unit configured to read out a plurality of programs encrypted by using different execution code encryption keys from an external memory;
- a decryption unit configured to decrypt the plurality of programs read out by the reading unit by using respective decryption keys;
- an execution unit configured to execute the plurality of programs decrypted by the decryption unit;
- a context information saving unit configured to save a context information for one program whose execution is to be interrupted, into the external memory or a context information memory provided inside the microprocessor, the context information containing information indicating an execution state of the one program and the execution code encryption key of the one program;
- and
- a restart unit configured to restart an execution of the one program by reading out the context information from the external memory or the context information memory, and recovering the execution state of the one program from the context information,
- wherein the context information saving unit is configured to generate a random number as a temporary key, to encrypt the context information, and to save an encrypted context information into the external memory, the encrypted context information containing a first value obtained by encrypting information indicating the execution state of the one program by using the temporary key and a second value obtained by encrypting the temporary key by using the public key;
- and
- the restart unit is configured to restart the execution of the one program by reading out the encrypted context information from the external memory, decrypting the temporary key from the second value contained in the encrypted context information by using the secret key, decrypting the information indicating the execution state from the first value contained in the encrypted context information by using a decrypted temporary key, and recovering the execution state of the one program from a decrypted context information.
Dependencies are inferred from the claim text.