-
Notifications
You must be signed in to change notification settings - Fork 7
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
Language for signer inheritance #377
base: main
Are you sure you want to change the base?
Conversation
draft-ietf-rats-corim.md
Outdated
@@ -267,6 +267,8 @@ For more detail, see {{sec-corim-profile-types}}. | |||
A CoRIM can be signed ({{sec-corim-signed}}) using COSE Sign1 to provide end-to-end security to the CoRIM contents. | |||
When CoRIM is signed, the protected header carries further identifying information about the CoRIM signer. | |||
Alternatively, CoRIM can be encoded as a #6.501 CBOR-tagged payload ({{sec-corim-map}}) and transported over a secure channel. | |||
If a CoRIM is contained within a larger signed document or message, there MUST be a single signer assigned to the scope of the CoRIM as part of the document's specification or protocol conveying the message, respectively. | |||
For example, an application may use TLS to transmit an unsigned CoRIM and specify that the signer is the public key in the Hello message. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Worth adding CMW as another example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't want to make a circular citation since CMW references CoRIM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No problem with that. These are "weak" links since the references are both informative.
draft-ietf-rats-corim.md
Outdated
@@ -267,6 +267,8 @@ For more detail, see {{sec-corim-profile-types}}. | |||
A CoRIM can be signed ({{sec-corim-signed}}) using COSE Sign1 to provide end-to-end security to the CoRIM contents. | |||
When CoRIM is signed, the protected header carries further identifying information about the CoRIM signer. | |||
Alternatively, CoRIM can be encoded as a #6.501 CBOR-tagged payload ({{sec-corim-map}}) and transported over a secure channel. | |||
If a CoRIM is contained within a larger signed document or message, there MUST be a single signer assigned to the scope of the CoRIM as part of the document's specification or protocol conveying the message, respectively. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would phrase the statement something like this.
`A CoRIM can be used without signature protection (please see unsigned-corim-map),
For example, an application may use TLS to transmit an unsigned CORIM and specify that the signer
is the public key in the Certificate Message.
Alternatively an unsigned CoRIM can be a part of a RATS Message which itself is signed (example a signed CMW).
In such cases the authority of CoRIM is delegated to the signer encapsulating the CoRIM.`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just realised PR #376, so modifying the review!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggested changes
draft-ietf-rats-corim.md
Outdated
If a CoRIM is contained within a larger signed document or message, there MUST be a single signer assigned to the scope of the CoRIM as part of the document's specification or protocol conveying the message, respectively. | ||
For example, an application may use TLS to transmit an unsigned CoRIM and specify that the signer is the public key in the Certificate message. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a CoRIM is contained within a larger signed document or message, there MUST be a single signer assigned to the scope of the CoRIM as part of the document's specification or protocol conveying the message, respectively. | |
For example, an application may use TLS to transmit an unsigned CoRIM and specify that the signer is the public key in the Certificate message. | |
For example, an application may use TLS to transmit an unsigned CORIM and specify that the signer is the public key in the Certificate Message. | |
Alternatively an unsigned CoRIM can be a part of a RATS Message which itself is signed (example a signed CMW). | |
In such cases the authority of CoRIM is delegated to the signer encapsulating the CoRIM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yogesh please double-check this against the current status.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The corim-meta-map information is not available unless the COSE_Sign1 is used. Hence, the signer role has to be added to corim-entity-map. This means we need a manifest-signer
role defined.
Push 5df10ee adds the manifest-signer role so that an unsigned-corim can contain the signer entity information when the COSE-Sign1-corim form of signing isn't available. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments inline.
With the proposed additions to CMW, this fixes Issue ietf-rats-wg#358.
Co-authored-by: Thomas Fossati <[email protected]>
Added manifest-signer role to the roles.
Added example that tests use of manifest-signer role in an unsigned-corim
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
Also change the TN() tagged data to the 2-ary array, as Laurence wants to remove that from the CMW spec.
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
a61e237
to
4ff8922
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see comments
|
||
A method of signing a bundle of CoRIMs together is through a signed RATS Conceptual Message Wrapper (CMW) {{-cmw}}. | ||
The COSE_Sign1 signature format can be used with a CMW collection. | ||
The COSE protected header can include a CMW collection type name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The COSE protected header can include a CMW collection type name. | |
The COSE protected header can include a Collection CMW type name. |
The CMW MAY use any label for its CoRIMs. | ||
If there is a hierarchical structure to the CoRIM bundle, the base entry point SHOULD be labeled `0` in CBOR or `"base"` in JSON. | ||
It is RECOMMENDED to use to label a CoRIM with its tag-id in string format, where `uuid-type` string format is specified by [RFC4122]. | ||
CoRIMs distributed in a bundle MAY declare their interdependence `dependent-rims` with local resource indicators. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CoRIMs distributed in a bundle MAY declare their interdependence `dependent-rims` with local resource indicators. | |
CoRIMs distributed in a bundle SHOULD declare their interdependence using `dependent-rims` with local resource indicators. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this not SHOULD?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
because it's redundant. The tags are in the values of the collection CMW's records, so you have TAG-ID => {TAG-ID, ...}
~~~ | ||
|
||
The CMW MAY use any label for its CoRIMs. | ||
If there is a hierarchical structure to the CoRIM bundle, the base entry point SHOULD be labeled `0` in CBOR or `"base"` in JSON. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused, shouldn't the label be a UUID? I don't see how its used in the example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there's a root CoRIM, there's nothing pointing to it, and you need a notion of where to start drilling down in the graph.
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
Co-authored-by: Ned Smith <[email protected]>
With the proposed additions to CMW, this fixes Issue #358.