]> git.ipfire.org Git - thirdparty/openvpn.git/commit
Implement HMAC based session id for tls-crypt v2
authorArne Schwabe <arne@rfc2549.org>
Thu, 5 May 2022 13:03:48 +0000 (15:03 +0200)
committerGert Doering <gert@greenie.muc.de>
Fri, 6 May 2022 12:16:05 +0000 (14:16 +0200)
commite7d8c4a72002cbaa7542ea0cff8acca1b971b1f5
treee98bfcbd9a0659ec520586581944ac4de548ce0f
parent44517fd7694012502318975173b1d0c05045d388
Implement HMAC based session id for tls-crypt v2

Tls-crypt v2 is more complicated to implement a proper stateless
handshake. To allow state handshake this commit does

 - introduce a new packet CONTROL_WKC_V1 that repeats the wrapped
   client key.
 - introduce a way to negotiate the support for this packet in the
   three way handshake

Details about the protocol changes are in tls-crypt-v2.txt. Optional
arguments to the tls-crypt-v2 option have been added to explicitly
allow or disallow client that do not support the stateless handshake.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Patch v3: improve grammar, style, comments, fix unit tests
Patch v4: remove explicit flag for ability to resend WKc,
          clean up comments, improve code style in some instances
Acked-by: Antonio Quartulli <antonio@openvpn.net>
Message-Id: <20220505130348.1183195-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24287.html

Signed-off-by: Gert Doering <gert@greenie.muc.de>
13 files changed:
Changes.rst
doc/man-sections/tls-options.rst
doc/tls-crypt-v2.txt
src/openvpn/crypto.h
src/openvpn/init.c
src/openvpn/mudp.c
src/openvpn/options.c
src/openvpn/options.h
src/openvpn/reliable.h
src/openvpn/ssl.c
src/openvpn/ssl_pkt.c
src/openvpn/ssl_pkt.h
tests/unit_tests/openvpn/test_pkt.c