Storage medium having stored therein boot program, information processing apparatus, information processing system, information processing method, semiconductor apparatus, and storage medium having stored therein program
AssigneeNintendo Co., Ltd.
InventorsYutaka MURAKAMI, Minoru HATAMOTO, Tatsuhiro SHIRAI
Life of this patent
Estimating the term…
Abstract
Identification information of a program read from outside, such as firmware, is acquired, and usability of a piece of key data in a range corresponding to the identification information is set, among a plurality of pieces of key data to be used for the program. As another example, based on new key data generated based on key data stored in advance in a memory and identification information, firmware corresponding to the identification information is decrypted.
Claims36
A non-transitory computer-readable storage medium having stored therein a boot program to be executed by a computer of an information processing apparatus before firmware is started, the boot program causing the computer to execute:
- acquiring identification information of the firmware;
- and
- setting usability of a piece of key data in a range corresponding to the identification information, among a plurality of pieces of key data to be used for the firmware.
An information processing apparatus comprising:
- a key data storage memory configured to store a plurality of pieces of key data to be used for firmware;
- and
- a computer processor configured to:
- execute a boot program;
- acquire identification information of the firmware in accordance with the execution of the boot program;
- set usability of a piece of key data in a range corresponding to the identification information, among the plurality of pieces of key data;
- and
- after the usability of the piece of key data is set, start the firmware corresponding to the acquired identification information.
An information processing system comprising:
- a key data storage memory configured to store a plurality of pieces of key data to be used for firmware;
- and
- a computer processor configured to:
- acquire identification information of the firmware in accordance with execution of a boot program;
- set usability of a piece of key data in a range corresponding to the identification information, among the plurality of pieces of key data;
- and
- after the usability of the piece of key data is set, start the firmware corresponding to the acquired identification information.
An information processing method to be performed before firmware is started, the information processing method comprising:
- acquiring identification information of the firmware;
- and
- setting usability of a piece of key data in a range corresponding to the identification information, among a plurality of pieces of key data to be used for the firmware.
A semiconductor device comprising:
- a processor;
- a first memory configured to store a boot program;
- and
- a second memory configured to store a plurality of pieces of key data, wherein
- in accordance with execution of the boot program stored in the first memory, the processor is configured to:
- acquire identification information of firmware;
- if a plurality of pieces of key data are stored in the second memory, set usability of a piece of key data in a range corresponding to the identification information, among the pieces of key data;
- and
- after the usability of the piece of key data is set, start the firmware corresponding to the acquired identification information.
An information processing apparatus, including a memory configured to store an internal program, for executing an external program subsequently to execution of the internal program, the information processing apparatus comprising:
- a key data storage memory configured to store a plurality of pieces of key data;
- and
- a computer processor configured to:
- acquire the external program from outside the information processing apparatus;
- acquire identification information of the external program;
- set usability of a piece of key data in a range corresponding to the identification information, among the pieces of key data stored in the key data storage memory;
- and
- after the usability of the piece of key data is set, start the acquired external program.
A non-transitory computer-readable storage medium having stored therein a program that cannot be updated and is executed by a computer of an information processing apparatus before a program that can be updated is started, the program causing the computer to execute:
- acquiring version information of the program that can be updated;
- and
- based on the acquired version information, setting usability of a piece of key data in a range corresponding to the version information, among a plurality of pieces of key data to be used for the program that can be updated.
A non-transitory computer-readable storage medium having stored therein a boot program to be executed by a computer of an information processing apparatus before firmware is started, the boot program causing the computer to execute:
- acquiring identification information of the firmware;
- based on key data stored in advance in a memory and the identification information, generating new key data;
- based on the generated key data, decrypting the firmware corresponding to the identification information;
- disabling generation of key data in the generation of the key data;
- and
- starting the decrypted firmware.
An information processing apparatus comprising:
- a key data storage memory configured to store key data to be used for firmware;
- and
- a computer processor configured to:
- execute a boot program;
- acquire identification information of the firmware in accordance with the execution of the boot program;
- based on the key data stored in the key data storage memory and the identification information, generate new key data;
- based on the generated key data, decrypt the firmware corresponding to the identification information;
- and
- disable generation of key data in the generation of the key data;
- and
- start the decrypted firmware.
An information processing system comprising:
- a key data storage memory configured to store key data to be used for firmware;
- and
- a computer processor configured to:
- execute a boot program;
- acquire identification information of the firmware in accordance with the execution of the boot program;
- based on the key data stored in the key data storage memory and the identification information, generate new key data;
- based on the generated key data, decrypt the firmware corresponding to the identification information;
- and
- disable generation of key data in the generation of the key data;
- and
- start the decrypted firmware.
An information processing method to be performed before firmware is started, the information processing method comprising:
- acquiring identification information of the firmware;
- based on key data stored in advance in a memory and the identification information, generating new key data;
- based on the generated key data, decrypting the firmware corresponding to the identification information;
- disabling generation of key data in the generation of the key data;
- and
- starting the decrypted firmware.
A semiconductor device comprising:
- a processor;
- a first memory configured to store a boot program;
- and
- a second memory configured to store key data, wherein
- in accordance with execution of the boot program stored in the first memory, the processor is configured to:
- acquire identification information of firmware;
- based on the key data stored in the second memory and the identification information, generate new key data;
- based on the generated key data, decrypt the firmware corresponding to the identification information;
- disable generation of key data in the generation of the key data;
- and
- start the decrypted firmware.
An information processing apparatus, including a memory configured to store an internal program, for executing an external program subsequently to execution of the internal program, the information processing apparatus comprising:
- a key data storage memory configured to store key data to be used for the external program;
- and
- a computer processor configured to:
- execute the internal program;
- acquire the external program from outside the information processing apparatus;
- acquire identification information of the external program in accordance with the execution of the internal program;
- based on the key data stored in the key data storage memory and the identification information, generate new key data;
- based on the generated key data, decrypt the external program corresponding to the identification information;
- disable generation of key data in the generation of the key data;
- and
- start the decrypted external program.
A non-transitory computer-readable storage medium having stored therein a program that cannot be updated and is executed by a computer of an information processing apparatus before a program that can be updated is started, the program that cannot be updated causing the computer to execute:
- acquiring version information of the program that can be updated;
- based on key data stored in advance in a memory and the acquired version information, generating new key data;
- based on the generated key data, decrypting the program that can be updated corresponding to the version information;
- disabling generation of key data in the generation of the key data;
- and
- starting the decrypted program that can be updated.
Dependencies are inferred from the claim text.