IP Library Granted Patent US 9,367,692
Granted Patent B2
US 9,367,692 · App. 14/500,411 · Granted Jun 14, 2016

System and method for validating components during a booting process

Inventors: John R. Brown (Boynton Beach, FL); John Irwin Perret-Gentil (Boca Raton, FL)
Assignee: OPENPEAK INC.
G06F21/575G06F9/4403G06F21/71G06F21/74G06F2221/2105
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,367,692
App. No.
14/500,411
Granted
Jun 14, 2016
Kind
B2
Abstract

A method and system for validating components during a booting process of a computing device are described herein. The method can include the steps of detecting a power up signal and in response to detecting the power up signal, progressively determining whether software components of the computing device are valid. If the software components are determined to be valid, the computing device may be permitted to move to an operational state. If, however, at least some of the software components are determined to be not valid, the computing device may be prevented from moving to the operational state. In one arrangement, if the computing device is prevented from moving to the operational state, corrective action can be taken in an effort to permit the computing device to move to the operational state.

Claims (26)

1. A system for validating components during a secure booting process of a computing device, comprising:

a first memory circuit component, wherein the first memory circuit component is configured to store microcode and a bootloader, wherein the microcode is the lowest level of a plurality of software components and the bootloader is the next level of the plurality of the software components;

a second memory circuit component that is configured to store an operating system;

a controller, wherein the controller is configured to:

in response to a power on signal, execute a bootstrap and determine whether the microcode is valid;

if the microcode is valid and only if the microcode is valid, execute the microcode and determine whether the bootloader is valid;

if the bootloader is valid and only if the bootloader is valid, execute the bootloader and determine whether the operating system is valid; and

cause an administrator to be notified in the event that the secure booting process is unable to be completed; and

a third memory circuit component that is configured to store secure values that are used in comparison with signatures that are generated from the microcode, the bootloader, and the operating system for the validation of the microcode, the bootloader, and the operating system.

2. The system according to claim 1 , wherein the controller is further configured to cause a user of the computing device to be notified of the failure of the secure booting process.

3. The system according to claim 1 , wherein the failure of the secure booting process is caused by unauthorized changes to a root file system of the computing device, unauthorized changes to the operating system of the computing device or installation of unpermitted content.

4. The system according to claim 1 , wherein the first memory circuit component includes a secure partition that is configured to store the microcode.

5. The system according to claim 1 , wherein the computing device is a managed computing device and the secure booting process ensures that the managed computing device is in compliance with limitations that are imposed on the managed computing device.

6. A method for validating components during a secure booting process of a computing device, wherein the computing device includes a first memory circuit component, a second memory circuit component, and a third memory circuit component, comprising:

storing microcode and a bootloader in the first memory circuit component, wherein the microcode is the lowest level of a plurality of software components of the computing device and the bootloader is the next level of the plurality of the software components;

storing an operating system in the second memory circuit component;

storing secure values in a third memory circuit component;

in response to a power-on signal, executing a bootstrap and determining whether the microcode is valid;

if the microcode is valid and only if the microcode is valid, executing the microcode and determining whether the bootloader is valid;

if the bootloader is valid and only if the bootloader is valid, executing the bootloader and determining whether the operating system is valid;

notifying an administrator in the event that the secure booting process is unable to be completed; and

comparing the secure values stored in the third memory circuit component with signatures that are generated from the microcode, the bootloader, and the operating system for the validation of the microcode, the bootloader, and the operating system.

7. The method according to claim 6 , further comprising notifying a user of the computing device of the failure of the secure booting process.

8. The method according to claim 6 , wherein the failure of the secure booting process is caused by unauthorized changes to a root file system of the computing device, unauthorized changes to the operating system of the computing device or installation of unpermitted content.

9. The method according to claim 6 , wherein the first memory circuit component includes a secure partition and wherein storing the microcode in the first memory circuit component comprises storing the microcode in the secure partition of the first memory circuit component.

10. The method according to claim 6 , wherein the computing device is a managed computing device and the secure booting process ensures that the managed computing device is in compliance with limitations that are imposed on the managed computing device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2018
From: NI, HAO
To: OPENPEAK LLC
Reel/Frame 047675/0378 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: OPENPEAK, INC.
To: OPENPEAK LLC
Reel/Frame 042752/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: BROWN, JOHN R.; PERRET-GENTIL, JOHN IRWIN
To: OPENPEAK INC.
Reel/Frame 033850/0107 →
Continuity (3)
Continuation 13542833 · Jul 6, 2012
Provisional Application 61506017 · Jul 8, 2011
Related Publication 20150149757A1 · May 28, 2015