IP Library Granted Patent US 9,275,196
Granted Patent B2
US 9,275,196 · App. 13/905,255 · Granted Mar 1, 2016

Implementing security functions using ROM

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,275,196
App. No.
13/905,255
Granted
Mar 1, 2016
Kind
B2
Abstract

Systems, methods, and other embodiments associated with implementing security functions in a read-only memory (ROM) are described. According to one embodiment, an device includes a read-only memory (ROM) that stores (i) a plurality of security functions and (ii) a mapping of locations of the plurality of security functions in the ROM. The device also includes a processing unit configured to, in response to a request by a process being executed by the processing unit, determine a location in the ROM of a security function using the mapping, and execute the security function for the process from the ROM.

Claims (37)

1. An apparatus, comprising:

a read-only memory (ROM) that stores (i) boot functions for initiating the apparatus, (ii) a plurality of security functions and (iii) a mapping of locations of the plurality of security functions in the ROM;

a processor configured to:

generate a callback to a security function of the plurality of security functions, wherein the callback is a function call for the security function to execute,

in response to the callback, determine a location in the ROM of the security function using the mapping, and

execute the security function upon branching to the location of the security function in the ROM according to the mapping,

wherein the processor is configured to use the mapping to select security functions of the plurality of security functions to execute when operating after booting.

2. The apparatus of claim 1 , wherein the ROM is a ROM basic input/output system (BIOS) that includes trusted boot functions that use the plurality of security functions to establish a trusted boot.

3. The apparatus of claim 1 , wherein the processor is configured to generate the callback in response to a process requesting the security function, and wherein the process is a process being executed by the processor after the processor has booted, and wherein the processor uses the plurality of security functions in the ROM to establish a trusted computing environment that extends security in the apparatus to after execution of the boot functions.

4. The apparatus of claim 1 , further comprising:

a random access memory (RAM) that stores a plurality of functions associated with a process executed by the processor, wherein the processor is configured (i) to access the RAM when executing the process to execute the plurality of functions that are not security functions and (ii) to access the ROM to execute the plurality of security functions.

5. The apparatus of claim 1 , wherein the processor is configured to generate the callback in response to a request from a process being executed by the processor, wherein the process is a kernel or a boot loader associated with the processor, and wherein the processor executes processes from the kernel after the boot loader is complete.

6. The apparatus of claim 1 , wherein the processor is configured to, while executing the security function from the ROM using the callback, establish a secure link to processes executed by the processor, wherein the plurality of security functions in the ROM are unmodifiable.

7. The apparatus of claim 1 , wherein the plurality of security functions are stored in the ROM to maintain the plurality of security functions as tamper proof, and wherein the plurality of security functions include a digital signature function, and a pseudo-random number generator.

8. The apparatus of claim 1 , wherein the plurality of security functions are integrated within the ROM and isolated from the boot functions to secure the plurality of security functions from tampering.

9. The apparatus of claim 1 , wherein the apparatus is manufactured by embedding the plurality of security functions in the ROM to securely store the plurality of security functions.

10. A method, comprising:

generating, by a processor, a callback to a security function stored in a read-only memory (ROM) associated with the processor, wherein the ROM includes boot functions for the processor, and wherein the callback is a function call for the security function to execute;

in response to the callback, determining a location in the ROM of the security function using a mapping of a plurality of security functions in the ROM; and

executing, by the processor, the security function upon branching to the location of the security function in the ROM according to the mapping,

wherein executing the security function includes selecting the security function from the ROM using the mapping when operating after the processor has booted.

11. The method of claim 10 , wherein the ROM is a ROM basic input/output system (BIOS) that includes trusted boot functions that use the plurality of security functions to establish a trusted boot.

12. The method of claim 10 , wherein generating the callback occurs in response to a process requesting the security function, and wherein the process is a process being executed by the processor after the processor has booted.

13. The method of claim 10 , further comprising:

accessing, by the processor, a random access memory (RAM) to execute a plurality of functions that are not security functions for a process; and

accessing, by the processor, the ROM to execute the plurality of security functions, wherein the plurality of security functions are stored in the ROM to maintain the plurality of security functions as tamper proof.

14. The method of claim 10 , wherein generating the callback by the processor occurs in response to a request from a process being executed by the processor, wherein the process is a kernel or a boot loader associated with the processor.

15. The method of claim 10 , wherein executing the security function from the ROM using the callback establishes a secure link to processes executed by the processor and wherein the plurality of security functions in the ROM are tamper proof.

16. The method of claim 10 , wherein the plurality of security functions are stored in the ROM to maintain the plurality of security functions as tamper proof, and wherein the plurality of security functions include a digital signature function, and a pseudo-random number generator function.

17. The method of claim 10 , wherein the plurality of security functions are integrated within the ROM and isolated from the boot functions to secure the plurality of security functions from tampering.

18. A device, comprising:

a read-only memory (ROM) that stores (i) a plurality of security functions and (ii) a mapping of locations of the plurality of security functions in the ROM;

a processing unit configured to:

in response to a request by a process being executed by the processing unit, determine a location in the ROM of a security function using the mapping, and

execute the security function for the process from the ROM, wherein the processing unit is configured to use the mapping to select security functions of the plurality of security functions to execute when operating after booting.

19. The device of claim 18 , wherein the ROM is a ROM basic input/output system (BIOS) that includes boot functions for initiating the device.

20. The device of claim 18 , wherein the device is a processor that is integrated within a system on a chip (SOC).

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2013
From: AKDEMIR, KAHRAMAN D.; AYTEK, TOLGA NIHAT
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 031533/0090 →
LICENSE Recorded Nov 2, 2013
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL, LTD.
Reel/Frame 031533/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2013
From: MARVELL INTERNATIONAL, LTD.
To: MARVELL WORLD TRADE LTD.
Reel/Frame 031533/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2013
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 031533/0097 →