Conversation
| local_convo_id: String, | ||
| remote_convo_id: String, |
There was a problem hiding this comment.
I can't find the local/remote convo ID distinction in the PRIVATE1 spec. Is the motivation preventing an observer from correlating bidirectional traffic by a shared convo ID? If so, would RPI supersede this?
There was a problem hiding this comment.
I can't find the local/remote convo ID distinction in the PRIVATE1 spec
Correct. Convo-Ids are not yet defined in specs.
Is the motivation preventing an observer from correlating bidirectional traffic by a shared convo ID?
Correct. This is an approach to for Conversation hinting, which masks binding identifiers, while providing lookup of recipient encryption state.
If so, would RPI supersede this?
Correct. RPI Research is needed. In the meantime this PR implements asymmetric identifiers derived from the seed key, and roles
Further refactoring will be needed in this area. In particular:
- Is the client/context responsible for conversation_hinting or is this a protocol level requirement?
- Is a symmetric base Conversation valuable for applications?
Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
53ae59f to
a2e5e76
Compare
This PR implements Convo ID's for PrivateV1.
ref: #26
In addition the following related issues were addressed:
handle_payloadreturns Ok instead of error if ConvoId is not found. This is the expected case without conversation hinting.is_new_convoflag on initial message ContentData.