Information processing apparatus and method of controlling the same
AssigneeCanon Kabushiki Kaisha
InventorJunichi Goda
Life of this patent
Estimating the term…
Abstract
An information processing apparatus having at least a first controller and a second controller. The second controller includes a CPU and a first storage for storing, in a non-volatile manner, a first program to be executed by the CPU. When the information processing apparatus is started up, the first controller verifies a presence or absence of alteration of the first program stored in the first storage, and causes the CPU to start up after confirming by the verification that the first program has not been altered.
Claims16
An information processing apparatus having at least a first controller and a second controller, wherein the first controller comprises:
- a first CPU;
- a second CPU;
- a ROM configured to store, in a non-volatile manner, a boot program that is executed by the first CPU;
- a first storage configured to store, in a non-volatile manner, a first program that is executed by the second CPU;
- wherein the second controller includes a third CPU and a second storage for storing, in a non-volatile manner, a second program to be executed by the third CPU,
- wherein when the information processing apparatus is started up, the first CPU executes the boot program stored in the ROM to verify a presence or absence of alteration of the first program stored in the first storage,
- wherein after confirming that the first program has not been altered, the first CPU causes the second CPU to start up and the second CPU executes the first program stored in the first storage and verifies a presence or absence of alteration of the second program stored in the second storage, and
- wherein the first controller causes the third CPU to start up after confirming that the second program has not been altered.
An information processing apparatus having at least a first controller and a second controller, wherein
- the first controller comprises:
- a first CPU;
- a second CPU;
- a ROM configured to store, in a non-volatile manner, a boot program that is executed by the first CPU;
- and
- a first storage configured to store, in a non-volatile manner, a first program that is executed by the second CPU, wherein the second CPU obtains a hash value of a second program stored in a second storage, and
- wherein the second controller comprises:
- a third CPU;
- and
- the second storage configured to store, in a non-volatile manner, the second program that is executed by the third CPU,
- wherein, when the information processing apparatus is started up, the first CPU executes the boot program stored in the ROM to verify a presence or absence of alteration of the first program stored in the first storage,
- wherein after confirming that the first program has not been altered, the first CPU causes the second CPU to start up and the second CPU executes the first program stored in the first storage and verifies a presence or absence of alteration of the second program based on the obtained hash value, and
- wherein the first controller causes the third CPU to start up after confirming that the second program has not been altered.
An information processing apparatus having a first controller comprising a first CPU and a second CPU, and a first communication hardware module, and a second controller comprising a third CPU and a second communication hardware module, wherein
- when the information processing apparatus is started up, the first CPU executes a boot program to verify a first program of the second CPU, and the second CPU executes the first program which is confirmed to be valid to verify a second program to be executed by the third CPU, and
- the first communication hardware module communicates the first program of the second CPU to the second communication hardware module before the second CPU executes the first program,
- wherein the first controller causes the third CPU to start up after confirming that the second program has not been altered.
A method of controlling an information processing apparatus comprising at least a first controller having a first CPU, a second CPU, a ROM storing a boot program executed by the first CPU, and a first storage storing a first program that is executed by the second CPU, and a second controller having a third CPU and a second storage storing a second program to be executed by the third CPU in a non-volatile manner, the method comprising:
- when the information processing apparatus is started up, executing, by the first CPU, the boot program stored in the ROM to verify a presence or absence of alteration of the first program stored in the first storage;
- after confirming by the verification that the first program has not been altered, executing, by the second CPU, the first program stored in the first storage and verifying a presence or absence of alteration of the second program stored in the second storage;
- and
- causing, by the first controller, the third CPU to start up after confirming by the verification that the second program has not been altered.
A method of controlling an information processing apparatus comprising at least a first controller having a first CPU, a second CPU, a ROM storing a boot program executed by the first CPU and a first storage storing a first program that is executed by the second CPU, and a second controller having a third CPU and a second storage storing a second program to be executed by the third CPU in a non-volatile manner, the method comprising:
- when the information processing apparatus is started up, executing, by the first CPU, the boot program stored in the ROM to verify a presence or absence of alteration of the first program stored in the first storage;
- obtaining a hash value of the second program stored in the second storage;
- after confirming that the first program has not been altered, causing the second CPU to start up and executing, by the second CPU, the first program stored in the first storage and verifying a presence or absence of alteration of the second program based on the obtained hash value;
- and
- causing, by the first controller, the third CPU to start up after confirming that the second program has not been altered.
Dependencies are inferred from the claim text.