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

Cond ref series triple branch #49

Merged
merged 33 commits into from
Mar 3, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
8009771
cond-ref-series-triple-branch
nedmsmith Feb 1, 2023
7369ec4
Update conditional-reference-series-triple-record.cddl
nedmsmith Feb 1, 2023
57864d3
Update draft-ietf-rats-corim.md
nedmsmith Feb 1, 2023
dc26b12
Update draft-ietf-rats-corim.md
nedmsmith Feb 7, 2023
2a8e7ce
Update draft-ietf-rats-corim.md
nedmsmith Feb 7, 2023
85aa4d5
Update draft-ietf-rats-corim.md
nedmsmith Feb 7, 2023
bbb983e
Update draft-ietf-rats-corim.md
nedmsmith Feb 7, 2023
169c35c
Update draft-ietf-rats-corim.md
nedmsmith Feb 8, 2023
82d5952
Update conditional-reference-series-triple-record.cddl
nedmsmith Feb 8, 2023
4e21802
Update comid-4.diag
nedmsmith Feb 8, 2023
e664e41
Update draft-ietf-rats-corim.md
nedmsmith Feb 8, 2023
bd52bbb
Update draft-ietf-rats-corim.md
nedmsmith Feb 8, 2023
2bf9700
Update draft-ietf-rats-corim.md
nedmsmith Feb 8, 2023
bedb48c
Update comid-frags.mk
nedmsmith Mar 3, 2023
e08bdbe
Delete concise-swid-tag.cddl
nedmsmith Mar 3, 2023
79b9dac
Create conditional-endorsement-series-triple-record.cddl
nedmsmith Mar 3, 2023
3d71d24
Create conditional-endorsement-triple-record.cddl
nedmsmith Mar 3, 2023
011a277
Delete conditional-reference-series-triple-record.cddl
nedmsmith Mar 3, 2023
e46f51e
Create conditional-series-record.cddl
nedmsmith Mar 3, 2023
ebf6f66
Update corim-frags.mk
nedmsmith Mar 3, 2023
c482712
Delete comid-4.diag
nedmsmith Mar 3, 2023
937c26c
Create comid-cend.diag
nedmsmith Mar 3, 2023
d9d4fc3
Create comid-series.diag
nedmsmith Mar 3, 2023
47eba1b
Create stateful-environment-record.cddl
nedmsmith Mar 3, 2023
d9fb28b
Update triples-map.cddl
nedmsmith Mar 3, 2023
c663f7d
Update draft-ietf-rats-corim.md
nedmsmith Mar 3, 2023
6b2409a
Update comid-cend.diag
nedmsmith Mar 3, 2023
9cd3767
Update comid-series.diag
nedmsmith Mar 3, 2023
fabbdd8
Update cddl/conditional-endorsement-series-triple-record.cddl
nedmsmith Mar 3, 2023
cbe7efb
Update cddl/triples-map.cddl
nedmsmith Mar 3, 2023
df93cb3
Update draft-ietf-rats-corim.md
nedmsmith Mar 3, 2023
3dc1aa9
Update cddl/conditional-series-record.cddl
nedmsmith Mar 3, 2023
90b779f
Update cddl/triples-map.cddl
thomas-fossati Mar 3, 2023
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
21 changes: 10 additions & 11 deletions cddl/conditional-reference-series-triple-record.cddl
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
$$triples-map-extension //= (
&(conditional-reference-series-triples: 8) => [ + conditional-reference-series-triple-record ]
&(conditional-reference-series-triples: 8) =>
[ + conditional-reference-series-triple-record ]
)

; The triple subject is a compound structure consisting of an environment identifier plus measurements that, when matched to evidence, is a condition of the object.
; The object is a time series of conditional reference and endorsed triples

conditional-reference-series-triple-record = [
[
environment-map,
measurement-map / measurement-values-map
] ; triple subject is a compound statement
[ + reference-endorsed-record ] ; triple object is a series
; triple subject
[ environment-map,
measurement-map / measurement-values-map ; initial reference values
]
; triple object
[ + reference-endorsed-record ]
]

reference-endorsed-record = [
measurement-map / measurement-values-map ; reference values
? measurement-map / measurement-values-map ; conditionally endorsed values, could be empty, but still a valid expression in a series
measurement-map / measurement-values-map ; addit'l reference values
? measurement-map / measurement-values-map ; endorsed values
Copy link
Collaborator Author

@nedmsmith nedmsmith Feb 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ned captured an issue raised by others: is there a syntactical bug with measurement-map / measurement-values-map?

Copy link
Collaborator Author

@nedmsmith nedmsmith Feb 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that tooling doesn't complain about syntax and examples pass schema checks. If there is a problem, it doesn't appear to be syntactical. The parser may be handed a byte string that could be either a measurement-map or measurement-values-map, but given one or the other may have failed a parsing test (but not both), chances are good the type of byte string would be included with the byte string to the parser. This would substitute for a well-known type such as a CBOR tag. In any case, it seem unlikely that a parser would be confused unless the first few bytes can satisfy both the measurement-map and measurement-values-map schema constraints and an implementation favors one over the other (incorrectly). Nevertheless, the use doesn't require supporting this much optionality, especially if the initial reference values are always measurement-maps and authorized-by, if used, applies to all measurements in the series data.

]
24 changes: 24 additions & 0 deletions draft-ietf-rats-corim.md
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,10 @@ The following describes each member of the `triples-map`:
* `coswid-triples` (index 6): Triples associating modules with existing CoSWID
tags. Described in {{sec-comid-triple-coswid}}.

* `conditional-reference-series-triples` (index 8) Triples describing conditional
Endorsement based on acceptance of a particular set of Reference Values. Described
in {{sec-comid-triple-cond-ref}}.

#### Common Types

##### Environment
Expand Down Expand Up @@ -996,6 +1000,26 @@ measurements for the Target Environment.
{::include cddl/coswid-triple-record.cddl}
~~~

#### Conditional Reference Series Triple {#sec-comid-triple-cond-ref}

A Conditional Reference Series triple relates reference measurements to a Target
Environment where endorsed measurements are accepted given all reference measurements
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change 'given' to 'if'

are accepted. The triple subject is a compound statement consisting of a Target Environment
and initial Reference Values that MUST be satisfied before evaluating the triple object.

The triple object is a series of additional measurements that are evaluated in the order
they appear in an array. The series has one or more member-records containing additional Reference
Values that may contain Endorsement values. If Evidence matches the additional Reference
Values in a member-record, the Endorsed values in that member-record, if any, are accepted.

The first successfully matched member-record from the `reference-endorsed-record` series terminates
evaluation. If none of the member-records in this series is matched, then the entire triple
fails to accept any Claims.

~~~ cddl
{::include cddl/conditional-reference-series-triple-record.cddl}
~~~

## Extensibility

[^issue] https://github.com/ietf-rats-wg/draft-ietf-rats-corim/issues/10
Expand Down