Clarify historical key sharing#2410
Conversation
|
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
| Marking keys as [shareable](#shareable-encryption-sessions) essentially serves as | ||
| precomputation of which keys Bob needs to decrypt all messages he can see, as | ||
| defined by the room's history visibility. |
There was a problem hiding this comment.
I'm not really sure this is a helpful way of thinking about things? When Charlie sends a message in a room and marks it as shareable, he may not even know who Bob is, and no computation seems to be required. I really don't think that Charlie is "precomputing" anything?
[Also, it's a long time since Bob was mentioned, so we need to reintroduce him here. Admittedly that's a problem to some extent with the existing text, but at least we have Alice inviting Bob in the next paragraph at the moment.]
I suggest removing this paragraph.
|
matrix-spec/content/client-server-api/modules/end_to_end_encryption.md Lines 1564 to 1565 in bb623a5 Would you agree this should instead say (or less normative given that further down defines matrix-spec/content/client-server-api/modules/end_to_end_encryption.md Lines 1634 to 1635 in bb623a5 |
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
That materially changes the emphasis: it implies that keys not marked as shareable can (and indeed probably should) be shared, which is obviously not what we mean. If you wanted to strengthen this, it would need to say: ... however, that's an odd thing to say before describing sharing keys in general. I think the current text is adequate, given (as you note) it's described more formally later on. |
See https://github.com/matrix-org/matrix-spec/pull/2399/files#r3560365639
We understand there is an introductory paragraph to the use case, but we think it is setting the rest of the section up for confusion given
Our reading of the spec is that for some reason there is an exemption for rooms that are currently not using shareable history, but by default ("otherwise") shareable keys hence may not not [sic!] be shared, i.e. MUST be shared. We think stating that outright clarifies this requirement a lot.
Further the way the exemption was defined was hard to grasp for a group of us, hence an attempt of a slightly more verbose approach.
Finally the error codes for withholding keys were missing a reference to when to choose which one.
Pull Request Checklist
Preview: https://pr2410--matrix-spec-previews.netlify.app