-
-
Notifications
You must be signed in to change notification settings - Fork 87
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
Multi-Device Setup for easier onboarding / QR + noise #1731
Comments
Also see #1611. |
@hpk42 As far as I can see that, libp2p works by specifying the ip address. Does this mean that we require the devices to be in the same wi-fi? |
Or could we maybe use the webrtc connections that are being introduced for calls? |
problem with webrtc is that we don't have any network code in the core
and it wouldn't be easy to get it in -- it's a rather complex stack.
But yes, we could let the frontends try get a webrtc data connection.
…On Tue, Jul 28, 2020 at 00:58 -0700, Hocuri wrote:
Or could we maybe use the webrtc connections that are being introduced for calls?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#1731 (comment)
|
Prototype of sending files with Rust using hypercore-protocol is at https://github.com/Frando/sendtar |
this issue is a bit outdated, recent tests go towards using webrtc; moving issue to resurrection therefore. |
I've just been in the situation of setting up delta chat on three devices. Hence I needed to:
It's not ideal if I want to get people to use Delta Chat and then it takes me 15 minutes to set it up. That doesn't make a good first impression. |
Recommended way currently is to setup one device, then take a backup and transfer it to other devices. This issue is about automating the process of backup transfer, currently you have to do it manually. |
reopening, as I am working on this actively |
ftr, this is the corresponding pr: #3489 |
I just started using DeltaChat, and both me and a friend who tried it with me simply downloaded DeltaChat on multiple devices and logged in using our E-Mail-Account on each. There are some things tripping me off about this in general: At least it should somehow be able to check on the server whether another DeltaChat client is active on that address and prevent clobbering of encryption keys. An alternative I am also wondering about would be the direction of the Signal protocol, where devices each have different, individually revokable keys and are independently usable but also independently encrypted. |
Yep, this is IMHO the first necessary step. We have to avoid any harm (i.e. "lost/unreadable" messages). Then we can focus on how to make onboarding smoother. Btw. what happens if one DC client device gets compromised and the user suddenly wants to use new keys (and revoke old ones if possible) on all other non-compromised DC clients (previously sharing the same keys with the now compromised DC client) while retaining the same email address and provider? Is change of password to the email account enough? How about if the password was not changed (for whatever reason)? |
Closed by #4007. |
Very nice! |
the issue of mixed encryption keys is mitigated vastly by the new "Add Second Device" options as the keys are transferred as well and the "Add As Second Device" button is very much in ones face on the welcome screen. future will tell if ppl still try to log in on two devices instead, however, first feedbacks are very promising. surely things can be iterated over and improved further, no doubt. |
Introduce functionality to core that helps to setup a second device with all contacts, chats, messages and crypto keys.
For this we need to establish a trusted network transport between two DC apps. Core could integrate
libp2p
in order to establish e2e-encrypted communication between two cores. The address information and a pre-shared key for the e2e-encryption could be transferred through a QR Code, for example a "Request Device Setup" code containing address info and maybe an ephemeral key. The existing DC device can scan this, the user is asked to confirm "do you want to transfer your setup to ..." and if so, will use libp2p and the QR-data to establish a safe connection between the two devices. With #1729 implemented we can then reuse the streamable export/import functionality to complete the setup of the second device.This issue supsersedes #803 which discusses another way to establish a connection through WLAN with SKT (https://0xacab.org/dkg/openpgp-skt/blob/master/skt-server.c). Given that
libp2p
already exists as a crate and is used from several projects, it makes more sense to use that.Update: See #1954 for a PR that was postponed; some work was already started there.
We first planned to use libp2p but the noise protocol is probably better.
The text was updated successfully, but these errors were encountered: