# US 2019/0377583 A1 · Enabling multiple secure boot paths on a hardware platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0377583 A1
- Document ID: US20190377583A1
- Status: Published application
- Kind: A1
- Application number: 16/004,586
- Filed: 2018-06-11
- Published: 2019-12-12
- Earliest claimed: 2018-06-11
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Puneet Kumar; Mark Hayter; Willis Calkins; Duncan Laurie
- Web page: https://patentgrep.com/patent/US20190377583A1

## CPC

- G06F 9/441: {Multiboot arrangements, i.e. selecting an operating system to be loaded}
- G06F 21/44: Program or device authentication
- G06F 21/575: {Secure boot}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computing system is configured to securely boot different operating systems. The computing system includes one or more processors, a first memory device storing a first firmware element for booting a first operating system, a second memory device storing a second firmware element for booting a second operating system, a first security module configured to provide authentication for booting the first operating system, and a second security module configured to provide authentication for booting the second operating system. The computing system is configured such that, when the first security module is connected to the one or more processors, either the first operating system or the second operating system is selected for booting based on a selection signal, and when the first security module is not connected to the one or more processors, the second operating system is selected for booting.

## Claims

### Claim 1

A computing system, comprising:
one or more processors;
a first memory device operatively connected to the one or more processors, the first memory device storing a first firmware element for booting a first operating system;
a second memory device operatively connected to the one or more processors, the second memory device storing a second firmware element for booting a second operating system;
a first security module configured to provide authentication for booting the first operating system; and
a second security module operatively connected to the one or more processors, the second security module configured to provide authentication for booting the second operating system;
wherein:
when the first security module is operatively connected to the one or more processors, the one or more processors are configured to select either the first operating system or the second operating system to boot in response to a selection signal, and
when the first security module is not operatively connected to the one or more processors, the one or more processors are configure to boot the second operating system.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a selector circuit operatively connected to the one or more processors, the first memory device, and the second memory device;
wherein the selector circuit is configured to operatively connect one of the first memory device or the second memory device to the one or more processors based on the selection signal.

### Claim 3 (depends on 2)

The system of claim 2, wherein the selection signal is based on whether the first security module is operatively connected to the one or more processors.

### Claim 4 (depends on 2)

The system of claim 2, wherein the selector circuit is configured to enable or disable the first security module based on the selection signal.

### Claim 5 (depends on 1)

The system of claim 1, further comprising:
a removable peripheral component removably connected to the one or more processors;
wherein the first security module is mounted in the removable peripheral component.

### Claim 6 (depends on 5)

The system of claim 5, further comprising:
a selector circuit operatively connected to the one or more processors, the first memory device, the second memory device, and the removable peripheral component;
wherein the selector circuit is configured to operatively connect the first memory device to the one or more processors when the removable peripheral component is operatively connected to the selector circuit.

### Claim 7 (depends on 5)

The system of claim 5, wherein the removable peripheral component includes one or more features identifiable with the first operating system.

### Claim 8 (depends on 5)

The system of claim 5, wherein the removable peripheral component is a keyboard module.

### Claim 9 (depends on 8)

The system of claim 8, wherein the keyboard module includes one or more features identifiable with the first operating system.

### Claim 10 (depends on 9)

The system of claim 9, wherein the one or more identifiable features includes a layout of keys on the keyboard module.

### Claim 11 (depends on 5)

The system of claim 5, wherein the removable peripheral component is a circuit board.

### Claim 12 (depends on 1)

The system of claim 1, wherein the one or more processors comprise at least one of a central processing unit or an embedded controller.

### Claim 13 (depends on 1)

The system of claim 1, wherein at least one of the first memory device or the second memory device is a serial peripheral interface (SPI).

### Claim 14 (depends on 1)

The system of claim 1, wherein one of the first firmware element or the second firmware element is one of a coreboot firmware element, a Universal Extensible Firmware Interface (UEFI), or a Basic Input/Output System (BIOS).

### Claim 15 (depends on 1)

The system of claim 1, wherein at least one of the first security module or the second security module is a Trusted Platform Module (TPM).

### Claim 16

A computing system, comprising:
one or more processors;
a first memory device operatively connected to the one or more processors, the first memory device storing a first firmware element for booting a first operating system;
a second memory device operatively connected to the one or more processors, the second memory device storing a second firmware element for booting a second operating system; and
one of either a first security module configured to provide authentication for booting the first operating system, or a second security module configured to provide authentication for booting the second operating system;
wherein the one or more processors are configured to select either the first operating system or the second operating system to boot in response to whether the first security module or the second security module is operatively connected to the one or more processor.

### Claim 17 (depends on 16)

The system of claim 16, further comprising:
a selector circuit operatively connected to the one or more processors, the first memory device, and the second memory device;
wherein the selector circuit is configured to operatively connect either the first memory device or the second memory to the one or more processors based on whether the first security module or the second security module is operatively connected to the one or more processor.

### Claim 18 (depends on 16)

The system of claim 16, wherein the selection signal is part of a signal received from one of a switch, a jumper, or another chip.

### Claim 19 (depends on 16)

The system of claim 16, wherein the selection signal is part of a signal received from a user.

### Claim 20

A method, comprising:
determining whether multiple firmware elements are provided in a computing system for booting different operating systems on the computing system;
detecting whether a particular security module is available in the computing system; and
selecting, in response to the detection of the particular security module, one of the firmware elements for booting one of the different operating systems.
