Live data from Hacker News

Magic Wormhole: Get things from one computer to another, safely

magic-wormhole.readthedocs.io

101–107 of 107 posts

Re: Magic Wormhole: Get things from one computer to another, safely

#101

Earlier quoted context omitted.

(author here) Both sides connect to the "mailbox relay server" to perform key exchange and setup. That's a host named "relay.magic-wormhole.io". If either side has a public IP address, the encrypted data is transferred directly (they exchange IP addresses through the encrypted pipe, and attempt to connect to all of them, so this also covers two peers on the same LAN). If neither do, they both connect to a public "tra…

So if I understand correctly, even if I use your relay, the relay relays encrypted data, never learning what I am sending?

Correct.

It does learn some metadata: the endpoints of the messages (unless you use Tor) and the number of bytes in those messages.

Re: Magic Wormhole: Get things from one computer to another, safely

#104
post #103

1. i wish syncthing also would implement this 2. is it already postquantum secure? (to all the quantum-computer-will-never-come-people: i like to be prepared in CASE it comes, otherwise no one will prepare and users are in the dust, once it is there)

I am not a cryptographer, but can explain that Magic Wormhole uses SPAKE2 to negotiate a shared secret (RFC9382 claims equivalent to gap Diffie-Hellman), and then uses NaCl SecretBox to symmetrically encrypt all data between the peers.

(If using the newer Dilation protocol -- which is true for many of the non-file-transfer tools like ShWiM, Git-WithMe or Fowl -- peer traffic uses this shared secret with Noise, specifically "Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s")

One tool that does now use Magic Wormhole for "introduction" like this is EtherSync: https://ethersync.github.io/ethersync/

Re: Magic Wormhole: Get things from one computer to another, safely

#106

For sending files between my phone (Android) and my son's iPad, I use: Wormhole William (Android): https://github.com/psanford/wormhole-william-mobile Destiny (iOS): https://github.com/LeastAuthority/destiny For interoperability, don't use Destiny's default servers. After you install Destiny, change the config to the standard Magic Wormhole servers: Mailbox: ws://relay.magic-wormhole.io:4000/v1 Transit Relay: tcp://t…

Thanks for posting. This was good timing for me!

Re: Magic Wormhole: Get things from one computer to another, safely

#107
post #46

Earlier quoted context omitted.

The point of the intermediate server is so that you can NAT hole punch, otherwise it has little point (except maybe as a relay, which is a bad solution).

We're making good progress on hole-punching, but it isn't available yet. Once complete, that should take some pressure/cost off the transit relay machine. Note that the transit relay only sees ciphertext (for bulk data transfers). Even the mailbox server only sees ciphertext or SPAKE key-exchange messages. No server sees plaintext ever.

Thanks for the clarification. I didn't say the relay server is a bad solution because of transfer security (although it could be an issue), but rather because it is expensive in terms of bandwidth and so is unlikely to exist long-term.
Post reply on HN