The security model here is pretty great assuming you trust the rendezvous server. Maybe consider an optional challenge/response prompt (like when your pal enters the prompt code, their client generates a second code that they give back to you) to make sure nobody's intercepted the request before them, odds aside (if someone got your initial code somehow, they could definitely man in the middle the request otherwise).
If I did things right, the rendezvous server shouldn't get any advantage over a network attacker: one guess per invocation of the program, 1-out-of-65536 chance of getting it right, 65535-out-of-65536 chance of giving you a WrongPasswordError. FWIW, there's also a --verify option, which causes the program to print out a hex hash of the session key, and wait for you to approve it before sending anything. Not as ergono…
Magic-Wormhole – Get things from one computer to another, safely
41–50 of 192 posts
Re: Magic-Wormhole – Get things from one computer to another, safely
#42Re: Magic-Wormhole – Get things from one computer to another, safely
#43How does this compare to AirDrop (besides obviously being cross platform)?
Re: Magic-Wormhole – Get things from one computer to another, safely
#44Re: Magic-Wormhole – Get things from one computer to another, safely
#45I like using https://file.pizza/ for this.
Re: Magic-Wormhole – Get things from one computer to another, safely
#46Earlier quoted context omitted.
Any attacker only gets a single guess
What if there are 65535 active send requests? Perhaps of which 65534 are opened by an attacker?
Re: Magic-Wormhole – Get things from one computer to another, safely
#47Cool. Does the data transit the server, or does it do NAT / UPNP type stuff for direct comms after the initial rendezvous?
I'm hoping to add NAT/UPnP support, but it's not there yet.. still looking for an easy library with Python support.
Re: Magic-Wormhole – Get things from one computer to another, safely
#48Re: Magic-Wormhole – Get things from one computer to another, safely
#49Earlier quoted context omitted.
If I did things right, the rendezvous server shouldn't get any advantage over a network attacker: one guess per invocation of the program, 1-out-of-65536 chance of getting it right, 65535-out-of-65536 chance of giving you a WrongPasswordError. FWIW, there's also a --verify option, which causes the program to print out a hex hash of the session key, and wait for you to approve it before sending anything. Not as ergono…
Does the session key hash help if the attacker guessed the code correctly?