[noise] Transport protocol spec finalizing

Trevor Perrin trevp at trevp.net
Fri Jul 14 10:45:48 PDT 2017


On Fri, Jul 14, 2017 at 8:56 AM, Alexey Ermishkin <scratch.net at gmail.com> wrote:
> Yep, totally agree

Cool, this is getting nice and simple.

It seems like we're ending up with a "NoiseSocket" (or whatever) that
just adds a simple negotiation and padding framework, where a
higher-layer protocol is going to fill these in by choosing:
 * Encoding for payloads and negotiation_data (eg protobufs)
 * Noise patterns (eg XX)
 * Versioning (eg maxVersion+minVersion; different enumerated fields;
centralized registry versus application-specific)
 * Authentication (e.g. certificates)

I wonder if the NoiseSocket API should also be more generic?  E.g.,
maybe it should just use functions like ReadHandshakeMessage /
WriteHandshakeMessage.  It would be for the higher-layer protocol and
API to assign more specific meanings (ClientHello, ServerAuth,
ClientAuth)?


Trevor


More information about the Noise mailing list