-
Notifications
You must be signed in to change notification settings - Fork 28
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
Remove essentially all uses of "tree". #201
Conversation
In Eric Vyncke's DISCUSS he correctly notes that LeafNode is used without being defined. I fixed that by just removing the term but more generally the problem is the use of "tree" without it being defined. Obviously the tree is an important concept but that's really a matter for mls-protocol not mls-architecture which is just concerned with group state as an abstract structure. This change removes essentially all uses of the term tree except for: - In the final security considerations section where I think it's OK in context. - In this sentence "A maximum number of steps that clients will move a secret tree ratchet forward in response to a single message before rejecting it." I'm pretty sure that this can be reworded but I wasn't quite sure the best way.
draft-ietf-mls-architecture.md
Outdated
- If assisted joining is desired (meaning that the ratchet tree is not | ||
- If assisted joining is desired (meaning that the group state is not | ||
provided in Welcome messages), there must be a method to download the | ||
ratchet tree corresponding to a group. | ||
group state corresponding to a group. | ||
- If assisted joining is desired and the Delivery Service is not able to | ||
compute the ratchet tree itself (because some proposals or commits are sent | ||
compute the group state itself (because some proposals or commits are sent | ||
encrypted), there must be a method for group members to publish the updated | ||
ratchet tree after each commit. | ||
group state after each commit. |
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 these cases all refer to the ratchet_tree
extension, as opposed to the ratchet tree generally. I suggest leaving these as is.
draft-ietf-mls-architecture.md
Outdated
@@ -1019,13 +1019,13 @@ interoperate. | |||
|
|||
- Additional services may or may not be required depending on the application | |||
design: | |||
- If assisted joining is desired (meaning that the ratchet tree is not | |||
- If assisted joining is desired (meaning that the group state is not |
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 assisted joining is desired (meaning that the group state is not | |
- If assisted joining is desired (meaning that the `ratchet_tree` extension is not |
draft-ietf-mls-architecture.md
Outdated
provided in Welcome messages), there must be a method to download the | ||
ratchet tree corresponding to a group. | ||
group state corresponding to a group. |
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.
group state corresponding to a group. | |
ratchet tree corresponding to a group. |
draft-ietf-mls-architecture.md
Outdated
- If assisted joining is desired and the Delivery Service is not able to | ||
compute the ratchet tree itself (because some proposals or commits are sent | ||
compute the group state itself (because some proposals or commits are sent |
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.
compute the group state itself (because some proposals or commits are sent | |
compute the group state itself, including the corresponding `ratchet_tree` | |
object, (for example, because some proposals or commits are sent |
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 less offended by "ratchet tree" here and more by "assisted joining", which is not defined elsewhere. So instead of the point edit @ekr has proposed here, I would suggest rewriting the two "assisted join" bullets entirely, something like:
Instead of distributing group information to a new members entirely within a Welcome messages, an application may rely on servers to store public information about the group, such as group members' credentials and related public keys, and provide this information to new members. (In such a system, Welcome messages are still necessary to convey confidential information about the group.) Such an application will require mechanisms for new members to download the current information for a group, and for members to update the information as the group evolves.
Co-authored-by: Brendan McMillion <[email protected]>
I adopted Richard's suggestion here. @rohan-wire @bifurcation PTAL. |
Fair enough, but this is the section on Operational Considerations, which is essentially a checklist of policy knobs for people who implement and deploy MLS. By this point in the document, these people better know what an assisted join is or we are doing them a disservice. |
In Eric Vyncke's DISCUSS he correctly notes that LeafNode is used without being defined. I fixed that by just removing the term but more generally the problem is the use of "tree" without it being defined. Obviously the tree is an important concept but that's really a matter for mls-protocol not mls-architecture which is just concerned with group state as an abstract structure.
This change removes essentially all uses of the term tree except for:
In the final security considerations section where I think it's OK in context.
In this sentence
"A maximum number of steps that clients will move a secret tree ratchet forward in response to a single message before rejecting it."
I'm pretty sure that this can be reworded but I wasn't quite sure the best way.