Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@ While a client is unapproved, the server SHOULD identify and present it to the o

The Noise handshake completes using the pairing PSK, authenticating both sides. After the pairing `server/activate`, the client MUST send [`client/pair-init`](#client--server-clientpair-init) followed immediately by [`client/pair-finalize`](#client--server-clientpair-finalize), without waiting for a server response.

**Lifecycle.** The client's pairing PSK MUST be drawn from a [CSPRNG](#definitions) per device and MUST NOT be a fixed default shared across devices, whether provisioned at manufacture or generated by the client. It persists across reboots and is per-client and long-lived: a successful pairing does not consume it (pairing produces a separate [long-term PSK](#definitions)), so it can pair the client with any number of servers.
**Lifecycle.** The client's pairing PSK MUST be drawn from a [CSPRNG](#definitions) per device and MUST NOT be a fixed default shared across devices, whether provisioned at manufacture or generated by the client. It persists across reboots and is per-client and long-lived: a successful pairing does not consume it (pairing produces a separate [long-term PSK](#definitions)), so it can pair the client with any number of servers. The [pairing token](#pairing-token) is therefore a credential: anyone holding it can pair any server with the client at any time.

```mermaid
sequenceDiagram
Expand Down
2 changes: 1 addition & 1 deletion pairing.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ While a client is unapproved, the server SHOULD identify and present it to the o

The Noise handshake completes using the pairing PSK, authenticating both sides. After the pairing `server/activate`, the client MUST send [`client/pair-init`](#client--server-clientpair-init) followed immediately by [`client/pair-finalize`](#client--server-clientpair-finalize), without waiting for a server response.

**Lifecycle.** The client's pairing PSK MUST be drawn from a [CSPRNG](README.md#definitions) per device and MUST NOT be a fixed default shared across devices, whether provisioned at manufacture or generated by the client. It persists across reboots and is per-client and long-lived: a successful pairing does not consume it (pairing produces a separate [long-term PSK](README.md#definitions)), so it can pair the client with any number of servers.
**Lifecycle.** The client's pairing PSK MUST be drawn from a [CSPRNG](README.md#definitions) per device and MUST NOT be a fixed default shared across devices, whether provisioned at manufacture or generated by the client. It persists across reboots and is per-client and long-lived: a successful pairing does not consume it (pairing produces a separate [long-term PSK](README.md#definitions)), so it can pair the client with any number of servers. The [pairing token](#pairing-token) is therefore a credential: anyone holding it can pair any server with the client at any time.

```mermaid
sequenceDiagram
Expand Down
Loading