Skip to content

Commit 2bbcbde

Browse files
committed
attestCosState to include gpu attestation information
1 parent 64f2a3f commit 2bbcbde

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

proto/attest.proto

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,79 @@ message AttestedCosState {
237237
SemanticVersion launcher_version = 3;
238238
HealthMonitoringState health_monitoring = 4;
239239
GpuDeviceState gpu_device_state = 5;
240+
NvidiaAttestationReport nvidia_attestation_report = 6;
241+
}
242+
243+
// Enumerates the supported GPU architecture types.
244+
enum GpuArchitectureType {
245+
// Unspecified GPU architecture type.
246+
GPU_ARCHITECTURE_TYPE_UNSPECIFIED = 0;
247+
// Reserved for other GPU architecture types to support future use cases.
248+
reserved 1, 2, 3, 4, 5, 6, 7;
249+
// Hopper GPU architecture type.
250+
GPU_ARCHITECTURE_TYPE_HOPPER = 8;
251+
// Blackwell GPU architecture type.
252+
GPU_ARCHITECTURE_TYPE_BLACKWELL = 10;
253+
}
254+
255+
message GpuInfo {
256+
// The unique identifier of the GPU.
257+
string uuid = 1;
258+
259+
// Driver version obtained from the GPU's attestation report.
260+
string driver_version = 2;
261+
262+
// VBIOS version obtained from the GPU's attestation report.
263+
string vbios_version = 3;
264+
265+
// The architecture type of the GPU.
266+
GpuArchitectureType gpu_architecture_type = 4;
267+
268+
// The verified attestation certificate chain for the GPU device.
269+
bytes attestation_certificate_chain = 5;
270+
271+
// This field contains SPDM request/response defined in
272+
// https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.1.0.pdf
273+
bytes attestation_report = 6;
274+
}
275+
276+
// An Nvidia attestation report for GPU and NVSwitch devices.
277+
// Contains necessary attestation evidence that the client collects for
278+
// verification.
279+
message NvidiaAttestationReport {
280+
// Single GPU Passthrough (SPT) attestation.
281+
message SinglePassthroughAttestation {
282+
// Single GPU quote.
283+
GpuInfo gpu_quote = 1;
284+
}
285+
286+
// MultiGpuSecurePassthroughAttestation contains the attestation evidence
287+
// for a Multi-GPU Secure Passthrough (MPT) attestation.
288+
message MultiGpuSecurePassthroughAttestation {
289+
// A list of GPU quotes.
290+
repeated GpuInfo gpu_quotes = 1;
291+
}
292+
293+
// The Confidential Computing feature that the attestation is for.
294+
oneof cc_feature {
295+
// Single GPU Passthrough (SPT) attestation.
296+
SinglePassthroughAttestation spt = 1;
297+
298+
// Multi-GPU Secure Passthrough (MPT) attestation.
299+
MultiGpuSecurePassthroughAttestation mpt = 3; // MPT attestation.
300+
}
301+
302+
// The nonce used for GPU attestation.
303+
bytes nonce = 4;
304+
305+
reserved 2;
306+
}
307+
308+
message DeviceAttestationReport {
309+
oneof report {
310+
// An Nvidia attestation report for GPU and NVSwitch devices.
311+
NvidiaAttestationReport nvidia_report = 1;
312+
}
240313
}
241314

242315
message EfiApp {

0 commit comments

Comments
 (0)