-
Notifications
You must be signed in to change notification settings - Fork 15
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
Update the definition of Receipts #308
Update the definition of Receipts #308
Conversation
* Emphasise the role of Receipts in the abstract definition of Transparency * Specifically acknowlege that signed proofs for other purposes are not excluded. * Emphasise that the specific cryptographic proof is a transparency service implementation detail. The effort to both reduce the definition and also foreshadow the role of receipts and non-exclusivity of the proof types, seems to be about a net 0 line count change. This interpretation seems at odds with blocking on COSE-Receipts, but to me consistent with the definition of transparency in the document.
draft-ietf-scitt-architecture.md
Outdated
they can be built on different verifiable data structures, not just binary merkle trees. | ||
A Receipt consists of a Transparency Service-specific inclusion proof for the Signed Statement, a signature by the Transparency Service of the state of the Append-only Log after the inclusion, and additional metadata (contained in the signature's protected headers) to assist in auditing. | ||
Receipts demonstrate the inclusion of Signed Statements in the Append-only Log of a Transparency Service and have a specific abstract role in Transparency as defined in this document. | ||
A Receipt combines a signature by the Transparency Service of the state of the Append-only Log after the inclusion with additional metadata (contained in the signature's protected headers) to assist in auditing. |
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.
A Receipt consists of a Transparency Service-specific inclusion proof for the Signed Statement, a signature by the Transparency Service of the state of the Append-only Log after the inclusion, and additional metadata (contained in the signature's protected headers) to assist in auditing.
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 think, we should stick with the Original text here, which was much crisp and clear!
Can i please ask, why the need for this re-alignment? What is the ask ?
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 mean Line 232 can be replaced with the original text from left!
Rest all re-alignment can be taken from your PR
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.
Yep, the ask was this issue: #276 it was specifically asking if a Receipt was just an inclusion proof or something else.
On that issue we discussed fore shadowing the definition of transprency, which defines receipts as, essentially, signed inclusion proofs.
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 understand the concerne was that the lack of clarity on that made it unclear whether or how other proof types, specific to the implementation, should be described. In this pr I'm just saying 'not receipts'
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 think reducing the entire defintion to just
"Receipts demonstrate the inclusion of Signed Statements in the Append-only Log of a Transparency Service and have a specific abstract role in Transparency as defined in this document."
And nothing else, would address the original issue. Receipts can't both be an abstract notion and also a specific prescription imo
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 agree with this comment.
A SCITT Receipt is a specific data structure, defined in CDDL, that profiles a COSE Receipt.... But SCITT Receipts have never supported proof types other than inclusion.
If the goal is to make sure they never do, we can use MUST language, we don't need to redefine receipt.
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.
@yogeshbdeshpande a "less is more" update based on your review I think
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 my comments please!
1. align Receipt definition with definition of transparency 2. Explicitly acknowlege other signed proof types, but make it clear they are "not receipts", per the issue ietf-wg-scitt#276 's query
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.
ok, LGTM!
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.
My comment is nonblocking
draft-ietf-scitt-architecture.md
Outdated
A Receipt combines a signature by the Transparency Service of the state of the Append-only Log after the inclusion with additional metadata (contained in the signature's protected headers) to assist in auditing. | ||
Receipts can be based on Signed Inclusion Proofs, such as those described in COSE Signed Merkle Tree Proofs {{-COMETRE}}; they can be built on different verifiable data structures, not just binary Merkle trees. | ||
The cryptographic proof of inclusion for a Receipt is a Transparency Service-specific detail. | ||
It is natural that Transparency Services support signed proofs for purposes other than demonstrating inclusion in an Append-only log; however, those are not Receipts. |
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 draft referenced above says they are.
It defines receipt as a signed "proof" of some type for some verifiable data structure.
It provides specific examples for inclusion and consistency.
It doesn't prevent other verifiable data structures or other proof types (such as proofs of non inclusion) from being used or called receipts.
I think it is fine for a SCITT Receipt to be only a signed inclusion proof, or only an inclusion proof in a specific verifiable data structure... Assuming that's what the SCITT WG wants SCITT Receipts to be.
This text closes the door to using the term SCITT Receipt to describe a signed consistency proof. Why is this the right thing to do for SCITT?
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.
This feedback seems important. Is there a reason we want to close that door?
draft-ietf-scitt-architecture.md
Outdated
Receipts demonstrate the inclusion of Signed Statements in the Append-only Log of a Transparency Service and have a specific abstract role in Transparency as defined in this document. | ||
A Receipt combines a signature by the Transparency Service of the state of the Append-only Log after the inclusion with additional metadata (contained in the signature's protected headers) to assist in auditing. | ||
Receipts can be based on Signed Inclusion Proofs, such as those described in COSE Signed Merkle Tree Proofs {{-COMETRE}}; they can be built on different verifiable data structures, not just binary Merkle trees. | ||
The cryptographic proof of inclusion for a Receipt is a Transparency Service-specific detail. |
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 proof types are verifiable data structure specific, I think you mean that the "verifiable data structure" is a transparency service specific detail, and that correspondingly there is no interoperability unless the same data structures are chosen.
draft-ietf-scitt-architecture.md
Outdated
they can be built on different verifiable data structures, not just binary merkle trees. | ||
A Receipt consists of a Transparency Service-specific inclusion proof for the Signed Statement, a signature by the Transparency Service of the state of the Append-only Log after the inclusion, and additional metadata (contained in the signature's protected headers) to assist in auditing. | ||
Receipts demonstrate the inclusion of Signed Statements in the Append-only Log of a Transparency Service and have a specific abstract role in Transparency as defined in this document. | ||
A Receipt combines a signature by the Transparency Service of the state of the Append-only Log after the inclusion with additional metadata (contained in the signature's protected headers) to assist in auditing. |
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 agree with this comment.
A SCITT Receipt is a specific data structure, defined in CDDL, that profiles a COSE Receipt.... But SCITT Receipts have never supported proof types other than inclusion.
If the goal is to make sure they never do, we can use MUST language, we don't need to redefine receipt.
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.
From discussion during editors meeting:
LGTM
draft-ietf-scitt-architecture.md
Outdated
A Receipt combines a signature by the Transparency Service of the state of the Append-only Log after the inclusion with additional metadata (contained in the signature's protected headers) to assist in auditing. | ||
Receipts can be based on Signed Inclusion Proofs, such as those described in COSE Signed Merkle Tree Proofs {{-COMETRE}}; they can be built on different verifiable data structures, not just binary Merkle trees. | ||
The cryptographic proof of inclusion for a Receipt is a Transparency Service-specific detail. | ||
It is natural that Transparency Services support signed proofs for purposes other than demonstrating inclusion in an Append-only log; however, those are not Receipts. |
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.
This feedback seems important. Is there a reason we want to close that door?
Receipts are based on Signed Inclusion Proofs, such as those as described in COSE Signed Merkle Tree Proofs {{-COMETRE}}; | ||
they can be built on different verifiable data structures, not just binary merkle trees. | ||
A Receipt consists of a Transparency Service-specific inclusion proof for the Signed Statement, a signature by the Transparency Service of the state of the Append-only Log after the inclusion, and additional metadata (contained in the signature's protected headers) to assist in auditing. | ||
Receipts are signed proofs of verifiable data-structure properties. |
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.
By removing the reference to the draft-ietf-cose-merkle-tree definition of receipti, are we separating the definition in SCITT as unique? If so, for what purpose?
The effort to both reduce the definition and also foreshadow the role of receipts and non-exclusivity of the proof types, seems to be about a net 0 line count change.
This interpretation seems at odds with blocking on COSE-Receipts, but to me consistent with the definition of transparency in the document.