Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SNP-style virtual attestations, restoring code update tests #6770

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a931ec5
Remove unused SGX block
eddyashton Jan 15, 2025
deb614f
Plausible SNP-style virtual attestation
eddyashton Jan 16, 2025
4cafc93
Rename response's mrenclave to measurement
eddyashton Jan 16, 2025
a852850
Comment tweak
eddyashton Jan 16, 2025
76bb8b7
Baby steps - Python code to verify virtual quotes
eddyashton Jan 16, 2025
d8e8aa4
Working virtual code update
eddyashton Jan 17, 2025
844dc56
Remove oe_binary arg
eddyashton Jan 17, 2025
aa3f34f
Virtual security policy and host data tests, where possible
eddyashton Jan 17, 2025
12f000d
Remove redundant test_quote
eddyashton Jan 17, 2025
767ae41
Update new nodes endpoints to describe virtual quotes
eddyashton Jan 17, 2025
6a17b18
LTS compat working with new virtual attestations
eddyashton Jan 17, 2025
b0e96b6
Merge branch 'main' of github.com:microsoft/CCF into virtual_attestat…
eddyashton Jan 17, 2025
663b8b0
Include juggling
eddyashton Jan 17, 2025
1ac798a
Lint
eddyashton Jan 17, 2025
75f1dbf
Schema bump
eddyashton Jan 17, 2025
d4a0461
Remove debug logging
eddyashton Jan 17, 2025
4398ff8
Merge branch 'main' of github.com:microsoft/CCF into virtual_attestat…
eddyashton Jan 17, 2025
a53bdd7
Merge branch 'main' of github.com:microsoft/CCF into virtual_attestat…
eddyashton Jan 21, 2025
488d573
Document new tables
eddyashton Jan 21, 2025
d402708
Update reconfig test
eddyashton Jan 21, 2025
e032125
Update API descriptions
eddyashton Jan 21, 2025
c0ff3ef
Minimal plumbing to enable test_add_node_with_bad_security_policy
eddyashton Jan 21, 2025
e6342e2
Justifying comment
eddyashton Jan 21, 2025
998e0b8
Update doc/audit/builtin_maps.rst
eddyashton Jan 22, 2025
7c362f6
Update include/ccf/pal/attestation.h
eddyashton Jan 22, 2025
551ea7e
Remove virtual attestation actions from default constitution
eddyashton Jan 22, 2025
cde04db
A helpful error for future travellers
eddyashton Jan 22, 2025
41e8efa
Remove --oe-binary, celebrate
eddyashton Jan 22, 2025
1a54d1e
Subtleties
eddyashton Jan 22, 2025
fdb1095
artforms
eddyashton Jan 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 74 additions & 1 deletion doc/schemas/gov_openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1223,6 +1223,29 @@
},
"type": "object"
},
"VirtualAttestationMeasurement": {
"format": "hex",
"pattern": "^[a-f0-9]64$",
"type": "string"
},
"VirtualAttestationMeasurement_to_CodeStatus": {
"items": {
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/VirtualAttestationMeasurement"
},
{
"$ref": "#/components/schemas/CodeStatus"
}
]
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"type": "array"
},
"base64string": {
"format": "base64",
"type": "string"
Expand Down Expand Up @@ -1331,7 +1354,7 @@
"info": {
"description": "This API is used to submit and query proposals which affect CCF's public governance tables.",
"title": "CCF Governance API",
"version": "4.5.0"
"version": "4.5.1"
},
"openapi": "3.0.0",
"paths": {
Expand Down Expand Up @@ -2153,6 +2176,56 @@
}
}
},
"/gov/kv/nodes/virtual/host_data": {
"get": {
"deprecated": true,
"operationId": "GetGovKvNodesVirtualHostData",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Sha256Digest_to_string"
}
}
},
"description": "Default response description"
},
"default": {
"$ref": "#/components/responses/default"
}
},
"summary": "This route is auto-generated from the KV schema.",
"x-ccf-forwarding": {
"$ref": "#/components/x-ccf-forwarding/sometimes"
}
}
},
"/gov/kv/nodes/virtual/measurements": {
"get": {
"deprecated": true,
"operationId": "GetGovKvNodesVirtualMeasurements",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VirtualAttestationMeasurement_to_CodeStatus"
}
}
},
"description": "Default response description"
},
"default": {
"$ref": "#/components/responses/default"
}
},
"summary": "This route is auto-generated from the KV schema.",
"x-ccf-forwarding": {
"$ref": "#/components/x-ccf-forwarding/sometimes"
}
}
},
"/gov/kv/proposals": {
"get": {
"deprecated": true,
Expand Down
4 changes: 2 additions & 2 deletions doc/schemas/node_openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@
"format": {
"$ref": "#/components/schemas/QuoteFormat"
},
"mrenclave": {
"measurement": {
"$ref": "#/components/schemas/string"
},
"node_id": {
Expand Down Expand Up @@ -858,7 +858,7 @@
"info": {
"description": "This API provides public, uncredentialed access to service and node state.",
"title": "CCF Public Node API",
"version": "4.11.0"
"version": "4.12.0"
},
"openapi": "3.0.0",
"paths": {
Expand Down
2 changes: 1 addition & 1 deletion include/ccf/ds/quote_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ namespace ccf
std::vector<uint8_t> endorsements;
/// UVM endorsements (SNP-only)
std::optional<std::vector<uint8_t>> uvm_endorsements;
/// Endorsed TCB (hex-encoded)
/// Endorsed TCB (hex-encoded) (SNP-only)
std::optional<std::string> endorsed_tcb = std::nullopt;
};

Expand Down
Loading
Loading