IP Library Granted Patent US 12,619,456
Granted Patent B2
US 12,619,456 · App. 18/464,866 · Granted May 5, 2026

Remote attestation of workloads running in virtual machines

Inventors: Radoslav Vladimirov Gerganov (Sofia, BG); Dentcho Ludmilov Bankov (Sofia, BG)
Assignee: VMware LLC
G06F9/45558G06F2009/45562G06F2009/4557G06F2009/45587
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 12,619,456
App. No.
18/464,866
Granted
May 5, 2026
Kind
B2
Abstract

In one set of embodiments, a computer system executing a virtual machine (VM) packaging tool can receive a reference to a container comprising one or more applications of a workload and a reference to an operating system (OS) kernel to be included in the workload. The computer system can inject an agent into the container that is configured to request execution of a hardware VM attestation function, combine contents of the container and the OS kernel into an image file, and compute a hash of the image file. The computer system can then generate a firmware for the workload that includes the hash.

Claims (59)

1 . A method comprising:

receiving, by a computer system executing a virtual machine (VM) packaging tool, a reference to a container comprising one or more applications of a workload and a reference to an operating system (OS) kernel to be included in the workload;

injecting, by the computer system, an agent into the container configured to request execution of a hardware VM attestation function;

subsequently to the injecting, combining, by the computer system, contents of the container and the OS kernel into an image file;

computing, by the computer system, a first hash of the image file; and

generating, by the computer system, a firmware for the workload that includes the first hash.

2 . The method of claim 1 further comprising:

computing a second hash of the firmware;

creating a distributable VM package for deploying the workload as a VM, the distributable VM package including the firmware, the image file, and VM configuration information; and

providing the second hash and the distributable VM package to a party associated with the workload.

3 . The method of claim 2 wherein the VM configuration information includes a requirement that the VM is encrypted using hardware VM encryption when run.

4 . The method of claim 2 wherein at a time the VM is powered-on on a host system of a computing environment, the agent submits a request to a hypervisor of the host system to execute the hardware VM attestation function.

5 . The method of claim 4 wherein the computing environment is a public cloud.

6 . The method of claim 4 wherein in response to submitting the request, the agent:

receives an attestation report including a third hash signed using a private key associated with a vendor of one or more central processing units (CPUs) of the host system; and

makes the attestation report available to the party.

7 . The method of claim 4 wherein the VM is associated with one or more virtual disks, and wherein the VM:

generates one or more storage encryption keys based on hashes of the firmware and the OS kernel computed by a virtual trusted platform module (TPM) of the VM; and

uses the one or more storage encryption keys to encrypt the one or more virtual disks.

8 . A non-transitory computer readable storage medium having stored thereon program code executable by a computer system, the program code causing the computer system to execute a method comprising:

receiving a reference to a container comprising one or more applications of a workload and a reference to an operating system (OS) kernel to be included in the workload;

injecting an agent into the container configured to request execution of a hardware virtual machine (VM) attestation function;

subsequently to the injecting, combining contents of the container and the OS kernel into an image file;

computing a first hash of the image file; and

generating a firmware for the workload that includes the first hash.

9 . The non-transitory computer readable storage medium of claim 8 wherein the method further comprises:

computing a second hash of the firmware;

creating a distributable VM package for deploying the workload as a VM, the distributable VM package including the firmware, the image file, and VM configuration information; and

providing the second hash and the distributable VM package to a party associated with the workload.

10 . The non-transitory computer readable storage medium of claim 9 wherein the VM configuration information includes a requirement that the VM is encrypted using hardware VM encryption when run.

11 . The non-transitory computer readable storage medium of claim 9 wherein at a time the VM is powered-on on a host system of a computing environment, the agent submits a request to a hypervisor of the host system to execute the hardware VM attestation function.

12 . The non-transitory computer readable storage medium of claim 11 wherein the computing environment is a public cloud.

13 . The non-transitory computer readable storage medium of claim 11 wherein in response to submitting the request, the agent:

receives an attestation report including a third hash signed using a private key associated with a vendor of one or more central processing units (CPUs) of the host system; and

makes the attestation report available to the party.

14 . The non-transitory computer readable storage medium of claim 11 wherein the VM is associated with one or more virtual disks, and wherein the VM:

generates one or more storage encryption keys based on hashes of the firmware and the OS kernel computed by a virtual trusted platform module (TPM) of the VM; and

uses the one or more storage encryption keys to encrypt the one or more virtual disks.

15 . A computer system comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to:

receive a reference to a container comprising one or more applications of a workload and a reference to an operating system (OS) kernel to be included in the workload;

inject an agent into the container configured to request execution of a hardware virtual machine (VM) attestation function;

subsequently to the injecting, combine contents of the container and the OS kernel into an image file;

compute a first hash of the image file; and

generate a firmware for the workload that includes the first hash.

16 . The computer system of claim 15 wherein the program code further causes the processor to:

compute a second hash of the firmware;

create a distributable VM package for deploying the workload as a VM, the distributable VM package including the firmware, the image file, and VM configuration information; and

provide the second hash and the distributable VM package to a party associated with the workload.

17 . The computer system of claim 16 wherein the VM configuration information includes a requirement that the VM is encrypted using hardware VM encryption when run.

18 . The computer system of claim 16 wherein at a time the VM is powered-on on a host system of a computing environment, the agent submits a request to a hypervisor of the host system to execute the hardware VM attestation function.

19 . The computer system of claim 18 wherein the computing environment is a public cloud.

20 . The computer system of claim 18 wherein in response to submitting the request, the agent:

receives an attestation report including a third hash signed using a private key associated with a vendor of one or more central processing units (CPUs) of the host system; and

makes the attestation report available to the party.

21 . The computer system of claim 18 wherein the VM is associated with one or more virtual disks, and wherein the VM:

generates one or more storage encryption keys based on hashes of the firmware and the OS kernel computed by a virtual trusted platform module (TPM) of the VM; and

uses the one or more storage encryption keys to encrypt the one or more virtual disks.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2023
From: GERGANOV, RADOSLAV VLADIMIROV; BANKOV, DENTCHO LUDMILOV
To: VMWARE, INC.
Reel/Frame 064864/0312 →
Continuity (2)
Provisional Application 63511828 · Jul 3, 2023
Related Publication 20250013483A1 · Jan 9, 2025
References Cited (5)
US 20190268318A1 · Tsirkin · 2019 [cited by examiner]
US 20220222098A1 · Srivastava · 2022 [cited by examiner]
US 20240089111A1 · Blum · 2024 [cited by examiner]
US 20240311515A1 · Goodman · 2024 [cited by examiner]
US 20250088361A1 · Hui · 2025 [cited by examiner]