CSPACE-TOKEN-01: Attestation token is issuer-pinned, audience-bound, and fresh¶
| Property | Value |
|---|---|
| Severity | high |
| Platform | GCP Confidential Space (AMD SEV-SNP) |
| Lifecycle stage | attest |
| Assurance | report-derived |
| Mode | Passive: reads only the files and values you pass to the scan. |
What it checks¶
It passes when:
- Token names the Confidential Space issuer, is bound to a specific audience, and carries a bounded, consistent lifetime.
How to fix¶
- Have the relying party verify the token issuer (confidentialcomputing.googleapis.com), require an audience bound to this relying party (no wildcard), and reject tokens whose exp/nbf are missing, inconsistent, or define an overlong lifetime. Verify the signature before releasing keys.
- Verify the Confidential Space issuer, require an audience bound to this relying party (no wildcard), and reject tokens with missing/overlong lifetimes. Verify the signature before key release.
After the fix, scan again: the check should report PASS.
When it is not assessed¶
SKIP:
- No --attestation-token specified; skipping check.
ERROR:
- Could not read a bounded, structurally valid attestation token.
Scan inputs¶
The untrust scan options this check reads:
| Option | Description |
|---|---|
--attestation-token |
Path to a captured Confidential Space attestation token (JWT). |
Permissions¶
None. The check reads only the files or values you pass to the scan.
Generated from untrust 1.3.0 (commit 7ef462d9a0c3).