From 5330896c0e8023053d4cd15961b2ae0482686ca6 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Mon, 28 Sep 2026 15:48:04 +0200 Subject: fix: refuse an unsigned handshake challenge Every node the 4.0 floor admits signs its challenge, and one without a channel binding could not complete the proof anyway, so a missing signature is refused like a wrong one (browser and QUIC client). Co-Authored-By: Claude Opus 5.5 --- docs/MESHBAY_DESIGN.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs/MESHBAY_DESIGN.md') diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 170081f..74c1050 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -959,9 +959,9 @@ buys, per the convention at the top: a client that knows which node it means to reach can refuse to send a code anywhere else — against a hijacked signaling path and against a second host of the same group. It proves *a* key, not the *right* one: it helps only a client that already knows which key to expect. A wrong -signature is refused; an absent one leaves the key unproved until the ack, and a -client holding a link code then does not send it. With the floor at 4.0 every -reachable node signs, so that branch is one only a lowered floor could reach again. +signature is refused, and so is an absent one: every node the floor admits signs +whenever it has a channel binding, and one without a binding could not complete the +proof anyway. **Channel binding is mandatory and an absent one is refused** — never degraded to nonce-only, which would silently drop MitM detection: -- cgit v1.2.3