FLEXIBLE CONTAINER ATTESTATION
Data integrity logic is executable by a processor to generate a data integrity code using a hardware-based secret. A container manager, executable by the processor, creates a secured container including report generation logic that determines measurements of the secured container, generates a report according to a defined report format, and sends a quote request including the report. The defined report format includes a field to include the measurements and a field to include the data integrity code, and the report format is compatible for consumption by any one of a plurality of different quote creator types.
1 . An apparatus comprising:
a processor comprising:
a decoder to decode a first instruction; and
one or more execution units to execute the decoded first instruction to:
obtain one or more parameters from a secured software container;
obtain a data integrity code based on a hardware-based secret;
generate a report according to a defined report format, wherein the report comprises the data integrity code; and
provide the report.
2 . The apparatus of claim 1 , wherein the processor comprises a host processor of a device, the report is to be provided for access by a handler to be executed on the device, and the handler is to identify one or more one or more quote creators on the device, and generate a quote request comprising the report.
3 . The apparatus of claim 1 , wherein the report is to be provided for access by the secured container.
4 . The apparatus of claim 1 , wherein the decoder is to further decode a second instruction, and the one or more execution units are to execute the second instruction to:
obtain the report;
access a quoting key;
generate a signature using the quoting key; and
return a quote comprising the signature.
5 . The apparatus of claim 4 , wherein the processor comprises a host processor of a device, the second instruction is to be decoded in association with a call by a handler to be executed on the device, and the call is based on a quote request intercepted by the handler from a secure container to be hosted on the device.
6 . The apparatus of claim 1 , wherein the processor comprises a host processor of a device, the decoder is to further decode a second instruction, and the one or more execution units are to execute the second instruction to:
obtain a report verification request from a software-based quote creator to be executed on the device;
identify the report from the report verification request;
obtain the report;
identify the data integrity code;
verify the data integrity code; and
return a report verification result to the quote creator.
7 . The apparatus of claim 1 , wherein the data integrity code comprises a message authentication code (MAC).
8 . The apparatus of claim 1 , wherein the parameters comprise measurements of the secured container, the defined report format comprises a field to include the measurements and a field to include the data integrity code.
9 . The apparatus of claim 8 , wherein the defined report format enables the report to be consumed by any of a plurality of different quote creator types.
10 . The apparatus of claim 8 , wherein the defined report format further comprises a header and a fixed length.
11 . A method:
obtain a data integrity code generated from a hardware-based secret on a device;
determine one or more measurements of a secured software container to be hosted on the device, wherein the secured software container is to host one or more software components;
generate a report according to a defined report format, wherein the report comprises the measurements and the data integrity code, and the report format enables consumption of the report by any one of a plurality of different quote creator types;
send a quote request comprising the report;
receive a quote generated by a particular quote creator in response to the quote request; and
send the quote to another system to perform an attestation of at least one of the secured container and the one or more software components.
12 . A system comprising:
a host processor;
memory;
data integrity logic to generate a hardware-based key;
a container manager to implement a secured container to host a software component, wherein the secured software container is to comprise:
measurement logic to determine measurements of the secured container and the software component;
report generation logic, executable to:
generate a report according to a defined report format, wherein the defined report format comprises a field to include the measurements and a field to include a data integrity code generated using the hardware-based key, and the report format is compatible for consumption by any one of a plurality of different quote creator types; and
send a quote request comprising the report;
quote consumption logic, executable to:
receive a quote generated by a particular quote creator in response to the quote request; and
send the quote to another system to perform an attestation of at least one of the secured container and the software component.
13 . The system of claim 12 , further comprising a handler, executable by the host processor to:
intercept the quote request;
determine a set of quote creators available to handle the quote request;
forward the quote request to the particular quote creator, wherein the particular quote creator is one of the set of quote creators;
receive the quote from the particular quote creator; and
forward the quote to the quote consumption logic.
14 . The system of claim 13 , wherein the secured container comprises a secured virtual machine and the handler comprises a virtual machine manager (VMM).
15 . The system of claim 13 , wherein the handler is further executable to:
determine a set of quote creators available to handle the quote request; and
select the particular quote creator from the set of quote creators according to one or more criteria.
16 . The system of claim 13 , wherein the set of quote creators comprises a plurality of different quote creators.
17 . The system of claim 12 , further comprising the particular quote creator, wherein the particular quote creator has access to the hardware-based key and further comprises a quoting key, and the particular quote creator is to:
validate data integrity code of the report using the hardware-based key; and
generate the quote, wherein the quote comprises the measurements of the virtual machine and is signed using the quoting key.
18 . The system of claim 17 , wherein the particular quote creator comprises instructions on the host processor.
19 . The system of claim 17 , wherein the particular quote creator comprises a trusted cryptographic device separate from and connected to the host processor.
20 . The system of claim 17 , wherein the particular quote creator comprises a secure software enclave.