-
-
Notifications
You must be signed in to change notification settings - Fork 90
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
(POSTPONED) Synchronize "verification" events between devices and simplify securejoin.rs #4914
Comments
We can send a sync message with a key fingerprint and contact identifier (email address) every time we directly verify someone (there is no third-party verifier). But we can also keep it in the form of self-sent |
Moving my reasoning to the right place:
UPD: Sync messages can simplify the code by that the necessary checks are already done by another device, so we can skip the checks and just apply the new state. On the other hand, it's not bad to have all the checks done on all devices, there can be different client versions and different configs, and probably the proper refactoring can simplify the code as well. All in all i think that sync messages should be avoided if they don't bring new information (which means they can't simplify the network protocol). |
I am currently looking at PR #3982 (fixing issue #3836) was the latest change to The most interesting part of 39601be security-wise is not the added |
Yes, and i'd not replace this logic with sync messages, they would only complicate things (two different messages would need to be sent instead of one). EDIT: Some redundant and apparently wrongly understood text was here. |
On Fri, Nov 17, 2023 at 14:55 -0800, iequidoo wrote:
> ... It added handling of `vg-request-with-auth` and `vc-request-with-auth` so Alice is already marked as verified because sending such message means that `Alice`s fingerprint matched the key from `*-auth-required`.
And also `vc-contact-confirm` shouldn't be removed because Bob also needs to know that Alice has verified them.
why does Alice need to know Bob has verified her?
Alice already knows that Bob verified her when vg-request-with-auth is sent.
|
It is the other way round, Bob needs to know that Alice has verified Bob. Alice verifies Bob when vc-request-with-auth is processed, but Bob will only learn that Alice verified Bob when vc-contact-confirm is received. |
Closing in favor of #5089 |
Both for setup-contact and group join protocol we want to synchronize "verification" states in order to simplify securejoin code and reduce the network protocol. First we introduce two new sync messages for Alice and bob respectively:
Once verifications are explicitely synced we can:
observe_securejoin...
at https://github.com/deltachat/deltachat-core-rust/blob/main/src/securejoin.rs#L531 and simplify related code and testsNote: maybe Alice does not need to send a sync message on verified group-join because alice's "vg-member-added" message is observable on her other devices anyway. But it probably makes sense to not try too hard to avoid verification-sync here, and rather have the "verification" sync independently from vg-member-added. In the case of setup-contact the verifications need to be synced because the other device doesn't have an observable message like the in vg-member-added group-join case.
The text was updated successfully, but these errors were encountered: