Documentation / Security

Threat model in plain words

This page says whom easysync trusts, whom it does not, and what it does about each kind of attacker. It is a summary in plain words; it does not describe every detail of the handshake or of how secrets are stored. easysync has not had an independent security review.

Whom you trust #

You trust your own paired devices. "Paired" means: you compared the six digits on both screens and both of you confirmed. A paired device is authenticated, which does not mean that everything it sends is harmless. A device can be lost, infected or misused, and easysync treats what it sends as input that needs a policy.

You do not have to trust the network, a relay or the place that hosts a relay with the content of what you send. You do trust a relay operator with the information described in What the relay sees, and not to block your connections.

What an attacker can and cannot do #

WhoWhat they can doWhat stops them
Someone who watches the networkSee that your devices connect, when and how much. They cannot read the content.Encryption between the two devices.
Someone who controls the networkBlock or delay connections, or sit between two devices during a pairing.Every later connection is authenticated by the keys of the paired devices. During a pairing, the six digits expose a man in the middle.
The operator of a relaySee IP addresses, timing and volume, and which addresses talk to each other through the relay. They cannot read or change content undetected.Encryption and authentication between the devices. They can still break connections or shut the relay off. What the relay sees lists it.
Someone who finds a pairing linkTry to use it before you do.The link is valid for three minutes and works once. Nobody is paired until both of you confirm the six digits.
Someone who learns the link and sits in the middle of the pairingGet one guess at the six digits.The digits are committed in advance, so the chance is one in a million per attempt, and a joining device never retries with the same link.
Someone on your local networkSee that easysync is announcing itself and on which port. Try to occupy the direct pairing slots and delay a pairing.The announcement contains no name and a value that changes hourly. The relay path is not affected by this and serves as a fallback.
A stranger who finds your relayTry to use it.The access token. Without it a stranger can only join an existing pairing, and only a small amount of data can pass that way. The token keeps strangers out; it does not protect the content, which is protected between the devices.
A paired device that has been compromisedSend you clipboard text that you may paste somewhere harmful, flood you with files, or announce a false name.You allow receiving text per device. Every offer of a file is subject to your policy, a size limit and a quota. Names are only labels; the fingerprint is the identity. Revoke the device.
Someone who steals or finds one of your devicesUse the device as you can, including to send you files and text.The lock of the device and its key store are the protection. Revoke the device on your other devices.
Malware on your deviceWhatever your account can do.easysync cannot protect against it. It limits damage by switching off core dumps (not done on Windows in this version) and by refusing other users on its local interface.
The host of the web appSend code to your browser that leaks your identity key.Not preventable by the app alone; see The web app and its limits.

What easysync does not try to do #

  • It does not hide that you use it or where your devices are. It is not anonymous.
  • It does not protect text that you have already pasted, or files that you have already saved.
  • It does not clean received text. A text with a hidden command is still a text with a hidden command.
  • It does not protect a device that an attacker controls.
  • A revocation is local. If a device is compromised, revoke it on every device it was paired with.

Sources: security policy.