Fix relay encryption docs (#849)
This commit is contained in:
@@ -103,7 +103,7 @@ Communicates with the daemon via the same WebSocket protocol as the app.
|
|||||||
|
|
||||||
Enables remote access when the daemon is behind a firewall.
|
Enables remote access when the daemon is behind a firewall.
|
||||||
|
|
||||||
- ECDH key exchange + AES-256-GCM encryption
|
- Curve25519 ECDH key exchange + XSalsa20-Poly1305 (NaCl `box`) encryption
|
||||||
- Relay server is zero-knowledge — it routes encrypted bytes, cannot read content
|
- Relay server is zero-knowledge — it routes encrypted bytes, cannot read content
|
||||||
- Client and daemon channels with identical API (`createClientChannel`, `createDaemonChannel`)
|
- Client and daemon channels with identical API (`createClientChannel`, `createDaemonChannel`)
|
||||||
- Pairing via QR code transfers the daemon's public key to the client
|
- Pairing via QR code transfers the daemon's public key to the client
|
||||||
|
|||||||
@@ -40,8 +40,9 @@ function Privacy() {
|
|||||||
<li>Session IDs</li>
|
<li>Session IDs</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
All messages between your phone and daemon are end-to-end encrypted with AES-256-GCM.
|
All messages between your phone and daemon are end-to-end encrypted with
|
||||||
The relay cannot read your messages, see your code, or decrypt your traffic.
|
XSalsa20-Poly1305. The relay cannot read your messages, see your code, or decrypt your
|
||||||
|
traffic.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ The relay is the simplest way to connect from your phone. It requires no VPN set
|
|||||||
1. The daemon generates a persistent ECDH keypair and stores it in `$PASEO_HOME/daemon-keypair.json`
|
1. The daemon generates a persistent ECDH keypair and stores it in `$PASEO_HOME/daemon-keypair.json`
|
||||||
2. When you scan the QR code or click the pairing link, your phone receives the daemon's public key
|
2. When you scan the QR code or click the pairing link, your phone receives the daemon's public key
|
||||||
3. Your phone sends a handshake message with its own public key. The daemon will not accept any commands until this handshake completes.
|
3. Your phone sends a handshake message with its own public key. The daemon will not accept any commands until this handshake completes.
|
||||||
4. Both sides perform an ECDH key exchange to derive a shared secret. All subsequent messages are encrypted with AES-256-GCM.
|
4. Both sides perform a Curve25519 ECDH key exchange to derive a shared key. All subsequent
|
||||||
|
messages are encrypted with XSalsa20-Poly1305 (NaCl `box`).
|
||||||
|
|
||||||
The relay sees only: IP addresses, timing, message sizes, and session IDs. It cannot read message contents, forge messages, or derive encryption keys from observing the handshake.
|
The relay sees only: IP addresses, timing, message sizes, and session IDs. It cannot read message contents, forge messages, or derive encryption keys from observing the handshake.
|
||||||
|
|
||||||
@@ -40,8 +41,8 @@ The relay sees only: IP addresses, timing, message sizes, and session IDs. It ca
|
|||||||
The daemon requires a valid cryptographic handshake before processing any commands. A compromised relay cannot:
|
The daemon requires a valid cryptographic handshake before processing any commands. A compromised relay cannot:
|
||||||
|
|
||||||
- **Send commands**, Without your phone's private key, it cannot complete the handshake
|
- **Send commands**, Without your phone's private key, it cannot complete the handshake
|
||||||
- **Read your traffic**, All messages are encrypted with AES-256-GCM after the handshake
|
- **Read your traffic**, All messages are encrypted with XSalsa20-Poly1305 (NaCl `box`) after the handshake
|
||||||
- **Forge messages**, GCM provides authenticated encryption; tampered messages are rejected
|
- **Forge messages**, NaCl `box` provides authenticated encryption; tampered messages are rejected
|
||||||
- **Replay old messages**, Each session derives fresh encryption keys
|
- **Replay old messages**, Each session derives fresh encryption keys
|
||||||
|
|
||||||
### Trust model
|
### Trust model
|
||||||
|
|||||||
Reference in New Issue
Block a user