System and method for selecting a random processor to boot on a multiprocessor system
Abstract
A system and method for masking a boot sequence by providing a dummy processor are provided. With the system and method, one of the processors of a multiprocessor system is chosen to be a boot processor. The other processors of the multiprocessor system execute masking code that generates electromagnetic and/or thermal signatures that mask the electromagnetic and/or thermal signatures of the actual boot processor. The execution of the masking code on the non-boot processors preferably generates electromagnetic and/or thermal signatures that approximate the signatures of the actual boot code execution on the boot processor. One of the non-boot processors is selected to execute masking code that is different from the other masking code sequence to thereby generate a electromagnetic and/or thermal signature that appears to be unique from an external monitoring perspective.
Claims
exact text as granted — not AI-modified1 . A method, in a data processing system having a boot processor and a plurality of non-boot processors, for masking execution of a boot code sequence in the data processing system, comprising:
executing a boot code sequence on a boot processor to thereby boot the data processing system to an operational state; executing a first masking code sequence on at least one first non-boot processor, of the plurality of non-boot processors, to thereby generate at least one of electromagnetic or thermal signatures that approximate an electromagnetic or thermal signature of the execution of the boot code sequence on the boot processor, thereby masking the execution of the boot code sequence on the boot processor; and executing a second masking code sequence on a second non-boot processor, of the plurality of non-boot processors, to thereby generate at least one of electromagnetic or thermal signatures that are different from the electromagnetic or thermal signature of the execution of the boot code sequence on the boot processor, thereby making the second non-boot processor appear to be the boot processor.
2 . The method of claim 1 , further comprising:
randomly selecting the second masking code sequence from a plurality of masking code sequences.
3 . The method of claim 1 , further comprising:
randomly selecting the second non-boot processor from a plurality of non-boot processors.
4 . The method of claim 3 , wherein the at least one first non-boot processor is all non-boot processors of the plurality of non-boot processors that were not randomly selected to be the second non-boot processor.
5 . The method of claim 3 , wherein the second non-boot processor is randomly selected from the plurality of non-boot processors with each power-on reset operation of the data processing system.
6 . The method of claim 1 , further comprising:
randomly selecting the boot processor from a plurality of processors, wherein the plurality of processors comprise the boot processor, the at least one first non-boot processor, and the second non-boot processor.
7 . The method of claim 1 , wherein the data processing system is a heterogeneous multiprocessor system-on-a-chip having a first processor the operates according to a first instruction set and one or more second processors that operate according to a second instruction set different from the first instruction set.
8 . A data processing system comprising:
a boot processor; a plurality of non-boot processors; a boot code storage device coupled to the boot processor; and a masking code storage device coupled to the plurality of non-boot processors, wherein: a boot code sequence is executed on the boot processor to thereby boot the data processing system to an operational state, a first masking code sequence, from the masking code storage device, is executed on at least one first non-boot processor, of the plurality of non-boot processors, to thereby generate at least one of electromagnetic or thermal signatures that approximate an electromagnetic or thermal signature of the execution of the boot code sequence on the boot processor, thereby masking the execution of the boot code sequence on the boot processor, and a second masking code sequence, from the masking code storage device, is executed on a second non-boot processor, of the plurality of non-boot processors, to thereby generate at least one of electromagnetic or thermal signatures that are different from the electromagnetic or thermal signature of the execution of the boot code sequence on the boot processor, thereby making the second non-boot processor appear to be the boot processor.
9 . The system of claim B, further comprising pervasive logic coupled to the boot processor and the plurality of non-boot processors, wherein the pervasive logic randomly selects the second masking code sequence from a plurality of masking code sequences.
10 . The system of claim 8 , further comprising pervasive logic coupled to the boot processor and the plurality of non-boot processors, wherein the pervasive logic randomly selecting the second non-boot processor from the plurality of non-boot processors.
11 . The system of claim 10 , wherein the at least one first non-boot processor is all non-boot processors of the plurality of non-boot processors that were not randomly selected to be the second non-boot processor.
12 . The system of claim 10 , wherein the second non-boot processor is randomly selected from the plurality of non-boot processors with each power-on reset operation of the data processing system.
13 . The system of claim 8 , further comprising pervasive logic coupled to the boot processor and the plurality of non-boot processors, wherein the pervasive logic randomly selects the boot processor from a plurality of processors, wherein the plurality of processors comprise the boot processor and the plurality of non-boot processors.
14 . The system of claim 8 , wherein the data processing system is a heterogeneous multiprocessor system-on-a-chip having a first processor the operates according to a first instruction set and one or more second processors that operate according to a second instruction set different from the first instruction set.
15 . A computer program product comprising a computer useable medium having a computer readable program, wherein the computer readable program, when executed on a data processing system, causes the data processing system to:
execute a boot code sequence on a boot processor to thereby boot the data processing system to an operational state; execute a first masking code sequence on at least one first non-boot processor, of the plurality of non-boot processors, to thereby generate at least one of electromagnetic or thermal signatures that approximate an electromagnetic or thermal signature of the execution of the boot code sequence on the boot processor, thereby masking the execution of the boot code sequence on the boot processor; and execute a second masking code sequence on a second non-boot processor, of the plurality of non-boot processors, to thereby generate at least one of electromagnetic or thermal signatures that are different from the electromagnetic or thermal signature of the execution of the boot code sequence on the boot processor, thereby making the second non-boot processor appear to be the boot processor.
16 . The computer program product of claim 15 , wherein the computer readable program further causes the data processing system to:
randomly select the second masking code sequence from a plurality of masking code sequences.
17 . The computer program product of claim 15 , wherein the computer readable program further causes the data processing system to:
randomly select the second non-boot processor from a plurality of non-boot processors.
18 . The computer program product of claim 17 , wherein the at least one first non-boot processor is all non-boot processors of the plurality of non-boot processors that were not randomly selected to be the second non-boot processor.
19 . The computer program product of claim 17 , wherein the second non-boot processor is randomly selected from the plurality of non-boot processors with each power-on reset operation of the data processing system.
20 . The computer program product of claim 15 , wherein the computer readable program further causes the data processing system to:
randomly select the boot processor from a plurality of processors, wherein the plurality of processors comprise the boot processor, the at least one first non-boot processor, and the second non-boot processor.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.