Skip to content

Commit 126b500

Browse files
feat!: use _ instead of - and . in claim names
Signed-off-by: Thomas Fossati <thomas.fossati@linaro.org>
1 parent 201658e commit 126b500

File tree

10 files changed

+67
-67
lines changed

10 files changed

+67
-67
lines changed

cddl/ear-appraisal.cddl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ EAR-appraisal = {
1010
* $$ear-appraisal-extension
1111
}
1212

13-
status-label = eat.JC<"ear.status", 1000>
14-
trustworthiness-vector-label = eat.JC<"ear.trustworthiness-vector", 1001>
15-
appraisal-policy-ids-label = eat.JC<"ear.appraisal-policy-ids", 1003>
13+
status-label = eat.JC<"ear_status", 1000>
14+
trustworthiness-vector-label = eat.JC<"ear_trustworthiness_vector", 1001>
15+
appraisal-policy-ids-label = eat.JC<"ear_appraisal_policy_ids", 1003>

cddl/ear.cddl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ EAR = {
1313
* $$ear-extension
1414
}
1515

16-
status-label = eat.JC<"ear.status", 1000>
17-
raw-evidence-label = eat.JC<"ear.raw-evidence", 1002>
18-
verifier-id-label = eat.JC<"ear.verifier-id", 1004>
16+
; EAR-specific claims
17+
raw-evidence-label = eat.JC<"ear_raw_evidence", 1002>
18+
verifier-id-label = eat.JC<"ear_verifier_id", 1004>

cddl/examples/ear-json-1.diag

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
{
22
"eat_profile": "tag:ietf.org,2026:rats/ear#03",
33
"iat": 1666529184,
4-
"ear.verifier-id": {
4+
"ear_verifier_id": {
55
"developer": "https://veraison-project.org",
66
"build": "vts 0.0.1"
77
},
8-
"ear.raw-evidence": "NzQ3MjY5NzM2NTYzNzQK",
8+
"ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
99
"submods": {
1010
"PSA": {
11-
"ear.status": "contraindicated",
12-
"ear.trustworthiness-vector": {
11+
"ear_status": "contraindicated",
12+
"ear_trustworthiness_vector": {
1313
"instance-identity": 2,
1414
"executables": 96,
1515
"hardware": 2
1616
},
17-
"ear.appraisal-policy-ids":
17+
"ear_appraisal_policy_ids":
1818
[ "https://veraison.example/policy/1/60a0068d" ]
1919
}
2020
}

cddl/examples/ear-json-2.diag

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
{
22
"eat_profile": "tag:ietf.org,2026:rats/ear#03",
33
"iat": 1666529300,
4-
"ear.verifier-id": {
4+
"ear_verifier_id": {
55
"developer": "https://veraison-project.org",
66
"build": "vts 0.0.1"
77
},
8-
"ear.raw-evidence": "NzQ3MjY5NzM2NTYzNzQKNzQ3MjY5NzM2NTYzNzQK",
8+
"ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQKNzQ3MjY5NzM2NTYzNzQK",
99
"submods": {
1010
"CCA Platform": {
11-
"ear.status": "affirming",
12-
"ear.trustworthiness-vector": {
11+
"ear_status": "affirming",
12+
"ear_trustworthiness_vector": {
1313
"instance-identity": 2,
1414
"executables": 2,
1515
"hardware": 2
1616
},
17-
"ear.appraisal-policy-ids":
17+
"ear_appraisal_policy_ids":
1818
[ "https://veraison.example/policy/1/60a0068d" ]
1919
},
2020
"CCA Realm": {
21-
"ear.status": "affirming",
22-
"ear.trustworthiness-vector": {
21+
"ear_status": "affirming",
22+
"ear_trustworthiness_vector": {
2323
"instance-identity": 2
2424
},
25-
"ear.appraisal-policy-ids":
26-
[ "https://veraison.example/policy/1/af29900a" ]
25+
"ear_appraisal_policy_ids":
26+
[ "https://veraison.example/policy/1/60a0068d" ]
2727
}
2828
}
2929
}

cddl/examples/ext-teep-json-1.diag

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
{
22
"eat_profile": "tag:ietf.org,2026:rats/ear#03",
33
"iat": 1666529184,
4-
"ear.verifier-id": {
4+
"ear_verifier_id": {
55
"developer": "https://veraison-project.org",
66
"build": "vts 0.0.1"
77
},
8-
"ear.raw-evidence": "NzQ3MjY5NzM2NTYzNzQK",
8+
"ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
99
"submods": {
1010
"PSA": {
11-
"ear.status": "contraindicated",
12-
"ear.trustworthiness-vector": {
11+
"ear_status": "contraindicated",
12+
"ear_trustworthiness_vector": {
1313
"instance-identity": 2,
1414
"executables": 96,
1515
"hardware": 2
1616
},
17-
"ear.appraisal-policy-ids":
17+
"ear_appraisal_policy_ids":
1818
[ "https://veraison.example/policy/1/60a0068d" ],
19-
"ear.teep-claims": {
19+
"ear_teep_claims": {
2020
"eat_nonce": "80FH7byS7VjfARIq0_KLqu6B9j-F79QtV6p",
2121
"ueid": "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAh",
2222
"oemid": "Av8B",

cddl/examples/ext-veraison-json-1.diag

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
{
22
"eat_profile": "tag:ietf.org,2026:rats/ear#03",
33
"iat": 1666529184,
4-
"ear.verifier-id": {
4+
"ear_verifier_id": {
55
"developer": "https://veraison-project.org",
66
"build": "vts 0.0.1"
77
},
8-
"ear.raw-evidence": "NzQ3MjY5NzM2NTYzNzQK",
8+
"ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
99
"submods": {
1010
"PSA_IOT": {
11-
"ear.status": "contraindicated",
12-
"ear.trustworthiness-vector": {
11+
"ear_status": "contraindicated",
12+
"ear_trustworthiness_vector": {
1313
"instance-identity": 2,
1414
"executables": 96,
1515
"hardware": 2
1616
},
17-
"ear.appraisal-policy-ids":
17+
"ear_appraisal_policy_ids":
1818
[ "https://veraison.example/policy/1/60a0068d" ],
19-
"ear.veraison.annotated-evidence": {
19+
"ear_veraison_annotated_evidence": {
2020
"eat-profile": "http://arm.com/psa/2.0.0",
2121
"psa-client-id": 1,
2222
"psa-security-lifecycle": 12288,
@@ -42,7 +42,7 @@
4242
"AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAh",
4343
"psa-certification-reference": "1234567890123-12345"
4444
},
45-
"ear.veraison.policy-claims": {
45+
"ear_veraison_policy_claims": {
4646
"psa-certified": {
4747
"certificate-number": "1234567890123-12345",
4848
"date-of-issue": "23/06/2022",

cddl/examples/ext-veraison-json-2.diag

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
{
22
"eat_profile": "tag:ietf.org,2026:rats/ear#03",
33
"iat": 1666529184,
4-
"ear.verifier-id": {
4+
"ear_verifier_id": {
55
"developer": "https://veraison-project.org",
66
"build": "vts 0.0.1"
77
},
8-
"ear.raw-evidence": "NzQ3MjY5NzM2NTYzNzQK",
8+
"ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
99
"submods": {
1010
"PARSEC_TPM": {
11-
"ear.status": "affirming",
12-
"ear.trustworthiness-vector": {
11+
"ear_status": "affirming",
12+
"ear_trustworthiness_vector": {
1313
"instance-identity": 2,
1414
"executables": 2,
1515
"hardware": 2
1616
},
17-
"ear.appraisal-policy-ids":
17+
"ear_appraisal_policy_ids":
1818
[ "https://veraison.example/policy/1/60a0068d" ],
19-
"ear.veraison.key-attestation": {
19+
"ear_veraison_key_attestation": {
2020
"akpub":
2121
"MFkwEwYHKoZIzj0CAQYIKoZIz___"
2222
}

cddl/ext-teep.cddl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ ear-teep-claims = non-empty<{
1414
? eat.manifests-label => eat.manifests-type
1515
}>
1616

17-
ear.teep-claims-label = eat.JC<"ear.teep-claims", 65000>
17+
ear.teep-claims-label = eat.JC<"ear_teep_claims", 65000>

cddl/ext-veraison.cddl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ ear-veraison-key-attestation = {
2424
"akpub" => eat.binary-data
2525
}
2626

27-
ear.veraison.annotated-evidence-label = eat.JC<"ear.veraison.annotated-evidence", -70000>
28-
ear.veraison.policy-claims-label = eat.JC<"ear.veraison.policy-claims", -70001>
29-
ear.veraison.key-attestation-label = eat.JC<"ear.veraison.key-attestation", -70002>
27+
ear.veraison.annotated-evidence-label = eat.JC<"ear_veraison_annotated_evidence", -70000>
28+
ear.veraison.policy-claims-label = eat.JC<"ear_veraison_policy_claims", -70001>
29+
ear.veraison.key-attestation-label = eat.JC<"ear_veraison_key_attestation", -70002>

draft-ietf-rats-ear.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,11 @@ See {{Section 4.1.4 of -jwt}}.
154154
Similar to `iat`, an EAR token MUST NOT contain an `exp` claim in floating-point format.
155155
Any recipient of a token with a floating-point format `exp` claim MUST consider it an error.
156156

157-
`ear.verifier-id` (mandatory)
157+
`ear_verifier_id` (mandatory)
158158
: Identifying information about the appraising verifier.
159159
See {{Section 3.3 of -ar4si}} for further details on its structure and serialization.
160160

161-
`ear.raw-evidence` (optional)
161+
`ear_raw_evidence` (optional)
162162
: The unabridged evidence submitted for appraisal, including any signed
163163
container/envelope.
164164
This field may be consumed by other Verifiers in multi-stage verification
@@ -204,24 +204,24 @@ See {{sec-extensions}} for further details.
204204
Note that if multiple `EAR-appraisal` submods exist within the same `EAR` token, they may all have different values for this claim.
205205
If the `EAR-appraisal` contains extensions, this claim SHOULD be present unless the profile can be implied by other means (e.g., via the application context or outer protocol elements).
206206

207-
`ear.status` (mandatory)
207+
`ear_status` (mandatory)
208208
: The overall appraisal status for this attester represented as one of the four
209209
trustworthiness tiers ({{Section 3.2 of -ar4si}}).
210210
The value of this claim MUST be set to a tier of no higher trust than the tier
211211
corresponding to the worst trustworthiness claim across the entire
212212
trustworthiness vector.
213213

214-
`ear.trustworthiness-vector` (optional)
214+
`ear_trustworthiness_vector` (optional)
215215
: The AR4SI trustworthiness vector providing the breakdown of the appraisal for
216216
this attester.
217217
See {{Section 3.1 of -ar4si}} for the details.
218218
This claim MUST be present unless the party requesting Evidence appraisal
219219
explicitly asks for it to be dropped, e.g., via an API parameter or similar
220220
arrangement. Such consumer would therefore rely entirely on the semantics of
221-
the `ear.status` claim. This behaviour is NOT RECOMMENDED because of the
221+
the `ear_status` claim. This behaviour is NOT RECOMMENDED because of the
222222
resulting loss of quality of the appraisal result.
223223

224-
`ear.appraisal-policy-ids` (optional)
224+
`ear_appraisal_policy_ids` (optional)
225225
: A list of one or more unique identifiers for appraisal policies used to evaluate the attestation results.
226226
The order of the identifiers in the list represents the order in which the policies are applied, with those appearing earlier being applied first.
227227
The list MUST NOT be empty.
@@ -396,16 +396,16 @@ The Project Veraison verifier defines three private, application-specific
396396
extensions:
397397

398398
{:vspace}
399-
`ear.veraison.annotated-evidence`
399+
`ear_veraison_annotated_evidence`
400400
: JSON representation of the evidence claims-set, including any annotations
401401
provided by the Project Veraison verifier.
402402
There are privacy considerations associated with this claim. See
403403
{{sec-priv-cons}}.
404404

405-
`ear.veraison.policy-claims`
405+
`ear_veraison_policy_claims`
406406
: any extra claims added by the policy engine in the Project Veraison verifier.
407407

408-
`ear.veraison.key-attestation`
408+
`ear_veraison_key_attestation`
409409
: contains the public key part of a successfully verified attested key.
410410
The key is a DER encoded ASN.1 SubjectPublicKeyInfo structure ({{Section
411411
4.1.2.7 of -pkix}}).
@@ -527,12 +527,12 @@ to those claims, for example allowing their redaction, anonymisation or
527527
outright removal.
528528
Specifically:
529529

530-
* It SHOULD be possible to disable inclusion of the optional `ear.raw-evidence`
530+
* It SHOULD be possible to disable inclusion of the optional `ear_raw_evidence`
531531
claim
532532
* It SHOULD be possible to disable inclusion of the optional
533-
`ear.veraison.annotated-evidence` claim
533+
`ear_veraison_annotated_evidence` claim
534534
* It SHOULD be possible to allow redaction, anonymisation or removal of
535-
specific claims from the `ear.veraison.annotated-evidence` object
535+
specific claims from the `ear_veraison_annotated_evidence` object
536536

537537
EAR is an EAT, therefore the privacy considerations in {{Section 8 of -eat}}
538538
apply.
@@ -554,49 +554,49 @@ The "JWT Claim Name" is equivalent to the "Claim Name" in the JWT registry.
554554

555555
### EAR Status
556556

557-
* Claim Name: ear.status
557+
* Claim Name: ear_status
558558
* Claim Description: EAR Status
559-
* JWT Claim Name: ear.status
559+
* JWT Claim Name: ear_status
560560
* Claim Key: 1000 (suggested)
561561
* Claim Value Type(s): unsigned integer (0, 2, 32, 96)
562562
* Change Controller: IESG
563563
* Specification Document(s): {{sec-ear-appraisal}} of {{&SELF}}
564564

565565
### Trustworthiness Vector
566566

567-
* Claim Name: ear.trustworthiness-vector
567+
* Claim Name: ear_trustworthiness_vector
568568
* Claim Description: EAR Trustworthiness Vector
569-
* JWT Claim Name: ear.trustworthiness-vector
569+
* JWT Claim Name: ear_trustworthiness_vector
570570
* Claim Key: 1001 (suggested)
571571
* Claim Value Type(s): map
572572
* Change Controller: IESG
573573
* Specification Document(s): {{sec-ear-appraisal}} of {{&SELF}}
574574

575575
### EAR Raw Evidence
576576

577-
* Claim Name: ear.raw-evidence
577+
* Claim Name: ear_raw_evidence
578578
* Claim Description: EAR Raw Evidence
579-
* JWT Claim Name: ear.raw-evidence
579+
* JWT Claim Name: ear_raw_evidence
580580
* Claim Key: 1002 (suggested)
581581
* Claim Value Type(s): bytes
582582
* Change Controller: IESG
583583
* Specification Document(s): {{sec-ear}} of {{&SELF}}
584584

585585
### EAR Appraisal Policy Identifier
586586

587-
* Claim Name: ear.appraisal-policy-ids
587+
* Claim Name: ear_appraisal_policy_ids
588588
* Claim Description: EAR Appraisal Policy Identifiers
589-
* JWT Claim Name: ear.appraisal-policy-ids
589+
* JWT Claim Name: ear_appraisal_policy_ids
590590
* Claim Key: 1003 (suggested)
591591
* Claim Value Type(s): array
592592
* Change Controller: IESG
593593
* Specification Document(s): {{sec-ear-appraisal}} of {{&SELF}}
594594

595595
### Verifier Software Identifier
596596

597-
* Claim Name: ear.verifier-id
597+
* Claim Name: ear_verifier_id
598598
* Claim Description: AR4SI Verifier Software Identifier
599-
* JWT Claim Name: ear.verifier-id
599+
* JWT Claim Name: ear_verifier_id
600600
* Claim Key: 1004 (suggested)
601601
* Claim Value Type(s): map
602602
* Change Controller: IESG
@@ -652,10 +652,10 @@ ear_appraisal = {
652652

653653
# access the attester-specific appraisal record
654654
app_rec := payload.submods.PARSEC_TPM
655-
status := app_rec["ear.status"] == "affirming"
655+
status := app_rec["ear_status"] == "affirming"
656656

657657
# extract the trustworhiness vector for further inspection
658-
trust_vector := app_rec["ear.trustworthiness-vector"]
658+
trust_vector := app_rec["ear_trustworthiness_vector"]
659659
}
660660

661661
# add further conditions on the trust_vector here

0 commit comments

Comments
 (0)