IP Library › Granted Patent US 11,874,926
Granted Patent B2
US 11,874,926 · App. 17/113,161 · Granted Jan 16, 2024

Measuring containers

Inventors: Francisco Plinio Oliveira Silveira (Rio Grande do Su, BR); Nigel John Edwards (Bristol, GB); Ludovic Emmanuel Paul Noel Jacquin (Bristol, GB); Guilherme de Campos Magalhaes (Rio Grande do Su, BR); Leandro Augusto Penna dos Santos (Rio Grande do Su, BR); Rodrigo Jose da Rosa Antunes (Rio Grande do Su, BR)
Assignee: Hewlett Packard Enterprise Development LP
G06F21/57G06F21/577G06F2221/033
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 11,874,926
App. No.
17/113,161
Granted
Jan 16, 2024
Kind
B2
Abstract

A process includes, in a computer system, acquiring a first measurement that corresponds to a software container. Acquiring the measurement includes a hardware processor of the computer system measuring a given layer of a plurality of layers of layered file system structure corresponding to the software container. The given layer includes a plurality of files, and the first measurement includes a measurement of the plurality of files. The process includes storing the first measurement in a secure memory of the computer system. A content of the secure memory is used to verify an integrity of the software container.

Claims (51)

1. A method comprising:

in a computer system, acquiring a first integrity measurement corresponding to a software container, wherein acquiring the first integrity measurement comprises a hardware processor of the computer system measuring a given layer of a plurality of layers of a layered file system structure corresponding to the software container, the given layer comprises a plurality of files, and the first integrity measurement comprises an integrity measurement of the plurality of files; and

storing the first integrity measurement in a secure memory of the computer system, wherein a content of the secure memory is used to verify an integrity of the software container.

2. The method of claim 1 , wherein:

the first integrity measurement corresponds to an image of the container; and

the given layer corresponds to a base layer of the plurality of layers.

3. The method of claim 1 , further comprising:

initiating the acquiring of the first integrity measurement of the given layer in response to a request to start an instantiation of the software container.

4. The method of claim 1 , further comprising:

measuring metadata associated with the container to provide a second integrity measurement; and

storing the second integrity measurement in the secure memory such that the content includes the first integrity measurement and the second integrity measurement.

5. The method of claim 4 , wherein:

the metadata is associated with an image of the container.

6. The method of claim 5 , wherein the metadata comprises data representing at least one of an entry point command corresponding to a request to start an instantiation of the container, a signature corresponding to the image, a certificate corresponding to the image, or a manifest of the image.

7. The method of claim 4 , further comprising:

performing the measuring of the metadata and the measuring of the given layer in response to a verification request.

8. The method of claim 4 , wherein:

the metadata is associated with an instantiation of the container.

9. The method of claim 8 , wherein the metadata comprises data representing at least one of an image identifier for a base layer of the plurality of layers, a list of the plurality of layers, an open port number, a mapped volume identifier, an environment variable, a command, an argument, a security option, a network setting, a name space or a privilege.

10. The method of claim 8 , further comprising:

performing the measuring of the metadata during a runtime of the container corresponding to the instantiation of the container; and

performing the measuring of the given layer before the instantiation of the container.

11. The method of claim 8 , further comprising:

performing the measuring of the metadata in response to a request to start another instantiation of the container.

12. The method of claim 1 , wherein acquiring the first integrity measurement comprises applying a hash function to content of the given layer to provide the first integrity measurement.

13. A non-transitory machine-readable storage medium that stores instructions that, when executed by a machine, cause the machine to:

in association with a load-time of a container, measure each layer of a plurality of layers of a container image to provide a plurality of first integrity measurements;

store the plurality of first integrity measurements in a secure memory, wherein a content of the secure memory is used to verify an integrity of the container;

in association with a run-time of the container, measure an overlay file system to provide a second integrity measurement; and

store the second integrity measurement in the secure memory such that the content includes the plurality of first integrity measurements and the second integrity measurement.

14. The storage medium of claim 13 , wherein the instructions, when executed by the machine, further cause the machine to measure a plurality of layers of the overlay file system corresponding to the image and measure a container layer of the overlay file system.

15. The storage medium of claim 13 , wherein the instructions, when executed by the machine, further cause the machine to measure metadata representing the overlay file system.

16. The storage medium of claim 15 , wherein the metadata comprises data representing at least one of an image identifier for a base layer of the plurality of layers, a list of the plurality of layers, an open port number, a mapped volume identifier, an environment variable, a command, an argument, a security option, a network setting, a name space or a privilege.

17. The storage medium of claim 13 , wherein the instructions, when executed by the machine, further cause the machine to apply a hash function to the content of the each layer to provide the plurality of first integrity measurements.

18. A system comprising:

a hardware security module comprises a secure memory to store content used to verify an integrity of a container;

a processor; and

a memory to store instructions that, when executed by the processor, cause the processor to:

measure each layer of a plurality of layers of a lower directory of an overlay file system corresponding to the container to provide a plurality of first integrity measurements;

measure a container layer of an upper directory of the overlay file system to provide a second integrity measurement; and

store the plurality of first integrity measurements and the second integrity measurement in the secure memory.

19. The system of claim 18 , wherein the instructions, when executed by the processor, further cause the processor to:

measure first metadata representing information about the container to provide a third integrity measurement;

measure second metadata representing information about an instantiation of the container to provide a fourth integrity measurement; and

store the third integrity measurement and the second integrity measurement in the secure memory.

20. The system of claim 19 , wherein the instructions, when executed by the processor, further cause the processor to:

measure the first metadata in response to a command to start the instantiation of the container; and

measure the second metadata in response to a predetermined event.

21. The system of claim 20 , wherein the predetermined event comprises an event initiated at periodic intervals, or an event to start another instantiation of the container.

22. The system of claim 18 , wherein the instructions, when executed by the processor, further cause the processor to measure a file of an instantiation of the container in response to a file access request to provide a third integrity measurement, and store the third integrity measurement in the secure memory.

23. The system of claim 18 , wherein the plurality first integrity measurements comprise hashes that represent evidence that may be analyzed to evaluate the integrity of the software container.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: HEWLETT-PACKARD LIMITED
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 065531/0337 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2020
From: PLINIO OLIVEIRA SILVEIRA, FRANCISCO; DE CAMPOS MAGALHAES, GUILHERME; AUGUSTO PENNA DOS SANTOS, LEANDRO; JOSE DA ROSA ANTUNES, RODRIGO
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 054559/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2020
From: EDWARDS, NIGEL JOHN; JACQUIN, LUDOVIC EMMANUEL PAUL NOEL
To: HEWLETT-PACKARD LIMITED
Reel/Frame 054559/0821 →
Continuity (1)
Related Publication 20220179959A1 · Jun 9, 2022