[noise] Padding & sending data during the handshake

Alexey Ermishkin scratch.net at gmail.com
Fri Mar 3 09:40:13 PST 2017


I've added padding to the code
https://github.com/go-noisetls/noisetls/commits/master
 and also added some info on this to the doc
https://github.com/go-noisetls/noise_socket_spec/blob/master/noise_socket.md

The padding field exists in each and every packet, even handshakes in case someone wants to obfuscate it.
Seems simpler not to have to  parse every packet separately. 

-----Original Message-----
From: Trevor Perrin [mailto:trevp at trevp.net] 
Sent: Thursday, March 02, 2017 1:14 AM
To: Alexey Ermishkin <scratch.net at gmail.com>
Cc: noise <noise at moderncrypto.org>
Subject: Re: [noise] Padding & sending data during the handshake

On Wed, Mar 1, 2017 at 11:55 AM, Alexey Ermishkin <scratch.net at gmail.com> wrote:
> TLS is an abbreviation, but yes, it's a subject to discuss. My thought was that Noise Socket is a protocol and everything else is its implementations.
> I've regged go-noisesocket just in case :)
>
> As for the padding, "app level"  padding will overlap but have almost zero influence on the packet padding, only the total traffic size.

That's one way to look at it:
 (a) NoiseSocket can provide a low-level padding for each Noise transport message
 (b) The application could add extra padding into its own messages if it needs it

I'm not sure whether (a) is worth doing in the NoiseSocket layer, given that applications can always do (b) themselves.  E.g. in your https/noise integration, you could just add the padding bytes yourself for HTTP GET, but it wouldn't be part of NoiseSocket.

But I dunno, it's just a layering question.  You could try it and we could see what API looks like.

Trevor



More information about the Noise mailing list