-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


TCP ? NoiseSocket

, 01 2017 . 11:13 +

, %username%!
, TLS . , , SSH.
IoT, TLS . , , , HTTP. P2P

Noise Protocol Framework. , , . Trevor Perrin, Signal, Noise WhatsApp. , .

, , TLS , - . DEF CON 25, . .


NoiseSocket,

Noise Protocol Framework.



, Noise Framework Diffie-Hellman.

, .



, , , David Wong , .





HandshakeState .

SymmetricState DH DH. DH , ( , ), - .
SymmetricStat , , , .. .

CipherState AEAD + nonce (), .

Noise , ,



, Noise_XX, , :

Noise_XX(s, rs):
-> e
<- e, ee, s, es
-> s, se


Noise_XX . .

(s, rs) , (s) . , . r remote.

. . . , , .

. , . e s . , .
Noise . Perfect Forward Secrecy. TLS 1.3 - ciphersuites.

Diffie-Hellman . , , :
ee, es, se, ss. , DH, . ee, , , DH .

, XX , . . , (, XX) . , , 0-RTT .



handshake . , , , , 64 . Noise . , 2 , .



, DH, . , . , , nonce .

Noise Protocol , . DH, AEAD . e Noise .

DH: Curve25519, Curve448,
AEAD: AES-GCM, ChachaPoly1305,
Hash: Blake2, SHA2

, RSA . , , , , .

NoiseSocket



, . security , , . , . .

PoC Go - 2017 . Noise, . , Noise Mailing List , .

, Noise? :

  1. Negotiation data
  2. Padding
  3. Processing rules


Negotiation data



, . , . :



6 , Noise , .

Padding



, , . , . 2 , . , , .



Processing rules



, , , .

Why?



Virgil PKI , . NGINX NoiseSocket, .

, , NoiseSocket? .
Go HTTP , DialTLS Listen , , TLS. Go , .



, , , , TLS!

- , . Tor, i2p, bitcoin, , NoiseSocket .

SSH, VPN, openssl, Libsodium Nacl.

, , 30, 20 NoiseSocket. , , .



TLS 1.3, handshake roundtrips 8-9 , Noise, 25519.

- , , .
-, ed25519 , Noise 25519 .

, Noise, IK ( 0-RTT) WireGuard VPN, .

NoiseSocket , - , TLS. .



Noise Socket: http://noiseprotocol.org/specs/noisesocket.html

Github: https://github.com/noisesocket/spec

Noise Protocol Framework: http://noiseprotocol.org/noise.html
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/334506/

:  

: [1] []
 

:
: 

: ( )

:

  URL