# US 12,602,496 B2 · Commands communications

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

- Number: US 12,602,496 B2
- Document ID: US12602496B2
- Status: Granted
- Kind: B2
- Application number: 18/349,050
- Filed: 2023-07-07
- Published: 2025-01-09
- Granted: 2026-04-14
- Earliest claimed: 2023-07-07
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Hewlett-Packard Development Company, L.P.
- Inventors: Adrian Laurence Shaw; Remy Husson; Adrian John Baldwin; Joshua Serratelli Schiffman; Christopher Ian Dalton
- Web page: https://patentgrep.com/patent/US12602496B2

## CPC

- G06F 21/606: {by securing the transmission between two devices or processes}
- G06F 21/50: Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- H04L 9/3234: {involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token (network architectures or network communication protocols for supporting authentication of entities using an additional device in a packet data network H04L63/0853)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In an example, a hypervisor measuring the state of a protected virtual machine using a Trusted Platform Module (TPM) filter. Using the TPM filter, the system ensures an untrusted operating system attempting to access the TPM is secure, without having to trust the security of the operating system or the operating system's built in hypervisor.

## Claims

### Claim 1

A non-transitory computer-readable medium having instructions that, when executed by a processor of a computing device, cause the computing device to:
intercept, from an operating system of the computing device, a command that attempts to interact with a trusted platform module (TPM) of the computing device;
identify, from among a plurality of platform configuration registers in the TPM, a particular PCR that the command targets; and
block in response to determining that the particular PCR is assigned to a protected virtual application that executes within a virtual machine, the command from interacting with the TPM.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the instructions, when executed by the processor, cause the computing device to:
create a set of pate table mappings to protect memory-mapped I/O (MMIO) registers associated with input/output interfaces of the TPM.

### Claim 3 (depends on 2)

The non-transitory computer readable medium of claim 2, wherein the instructions, when executed by the processor, cause the computing device to:
protect the set of memory-mapped I/O (MMIO) registers.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the instructions, when executed by the processor, cause the computing device to:
store, in the particular PCR upon determining that the particular PCR is assigned to the protected virtual application, a digest comprising identifying information of the virtual machine and a random number associated with the virtual machine.

### Claim 5 (depends on 4)

The non-transitory computer-readable medium of claim 4, wherein the random number provides sequence for future logging events of the virtual machine.

### Claim 6 (depends on 4)

The non-transitory computer-readable medium of claim 4, wherein the virtual machine decides to reveal the random number to an authorized remote party.

### Claim 7 (depends on 4)

The non-transitory computer-readable medium of claim 4, wherein the digest is recorded in a Boot Log.

### Claim 8 (depends on 4)

The non-transitory computer-readable medium of claim 4, wherein the digest is recorded in a Hypervisor Log.

### Claim 9 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the instructions, when executed by the processor, cause the computing device to:
redirect, upon intercepting the command, the command to physical memory residing outside the trusted platform module.

### Claim 10 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the instructions, when executed by the processor, cause the computing device to:
allow, in response to determining that the particular PCR is not assigned to the protected virtual application, the command to interact with the trusted platform module.

### Claim 11 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the trusted platform module is a hardware-based security module that provides cryptographic functions and storage of integrity measurements.

### Claim 12 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the computing device redirects, upon blocking the command, the command to a shadow page in memory separate from the TPM.

### Claim 13 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein identifying the particular PCR comprises determining that the command includes a TPM2_PCR_Extend or TPM2_PCR_Event command targeting the particular PCR.

### Claim 14 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the computing device comprises a hypervisor.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the hypervisor is to intercept the command when directed to the particular PCR.

### Claim 16 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the hypervisor is to block the command from reaching the particular PCR.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the hypervisor is to block the command in response to determining that the particular PCR is one of a subset of the platform configuration registers (PCRs) designated as protected.

### Claim 18 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the hypervisor is to associate the particular PCR with the protected virtual application.

### Claim 19 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the hypervisor is to identify the particular PCR.

### Claim 20 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the hypervisor is to assign the particular PCR to the protected virtual application.

### Claim 21 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the hypervisor is to manage execution of the virtual machine.
