chrony/test/unit
Miroslav Lichvar 2adda9c12c nts: construct key exporter context
When the NTS client and server negotiated use of AES-128-GCM-SIV keys,
the keys exported from the TLS session and used for authentication and
encryption of NTP messages do not comply to RFC8915. The exporter
context value specified in the section 5.1 of RFC8915 function is
incorrect. It is a hardcoded string which contains 15 (AES-SIV-CMAC-256)
instead of 30 (AES-128-GCM-SIV). This causes chrony to not interoperate
with NTS implementations that follow RFC8915 correctly. (At this time,
there doesn't seem to be another implementation with AES-128-GCM-SIV
support yet.)

Replace the string with a proper construction of the exporter context
from a specified AEAD ID and next protocol.

Keep using the incorrect AEAD ID for AES-128-GCM-SIV to not break
compatibility with existing chrony servers and clients. A new NTS-KE
record will be added to negotiate the compliant exporter context.

Reported-by: Martin Mayer <martin.mayer@m2-it-solutions.de>
2024-09-26 12:45:44 +02:00
..
addrfilt.c test: fix DEBUG_LOG use in unit tests 2017-03-13 12:04:26 +01:00
array.c test: add array unit test 2023-03-02 10:41:28 +01:00
clientlog.c update copyright years 2024-08-29 09:37:50 +02:00
cmac.c cmac+hash: change parameter types 2020-07-09 14:47:33 +02:00
hash.c hash: allow non-security MD5 use in FIPS mode 2021-09-02 15:17:08 +02:00
hwclock.c update copyright years 2022-08-29 15:04:33 +02:00
keys.c ntp: drop precompensation of TX timestamp 2020-07-09 14:46:57 +02:00
leapdb.c update copyright years 2024-08-29 09:37:50 +02:00
leapdb.list test: add leapdb unit test 2024-02-08 15:54:24 +01:00
Makefile.in test: disable object dependencies in main makefile 2020-06-08 15:27:57 +02:00
ntp_auth.c ntp: move initial packet parsing from ntp_auth to ntp_core 2021-11-16 10:00:31 +01:00
ntp_core.c ntp: extend local timestamp for PTP correction 2023-09-26 15:10:19 +02:00
ntp_core.keys test: include CMAC keys in ntp_core unit test 2020-09-23 15:10:43 +02:00
ntp_ext.c test: add ntp_ext unit test 2020-03-05 16:02:15 +01:00
ntp_sources.c ntp: support per-source IP family restriction 2024-02-07 10:23:36 +01:00
nts_ke.crt test: add nts unit tests 2020-03-05 16:02:15 +01:00
nts_ke.key test: add nts unit tests 2020-03-05 16:02:15 +01:00
nts_ke_client.c nts: add client support for authentication with AES-128-GCM-SIV 2022-10-19 15:50:39 +02:00
nts_ke_server.c nts: construct key exporter context 2024-09-26 12:45:44 +02:00
nts_ke_session.c nts: construct key exporter context 2024-09-26 12:45:44 +02:00
nts_ntp_auth.c nts: fix number of extension fields after failed encryption 2022-10-19 15:50:39 +02:00
nts_ntp_client.c nts: add client support for authentication with AES-128-GCM-SIV 2022-10-19 15:50:39 +02:00
nts_ntp_server.c nts: add server support for authentication with AES-128-GCM-SIV 2022-10-19 15:50:39 +02:00
quantiles.c quantiles: add function to get minimum k 2022-07-21 15:33:35 +02:00
regress.c test: add regress unit test 2017-06-27 15:29:01 +02:00
samplefilt.c samplefilt: add function to get maximum number of samples 2022-07-21 14:17:22 +02:00
siv.c siv: add functions to return min and max nonce length 2022-10-19 15:50:39 +02:00
smooth.c main: don't require root privileges with -Q option 2017-07-13 16:10:54 +02:00
socket.c socket: add support for systemd sockets 2023-11-13 17:05:26 +01:00
sources.c update copyright years 2022-08-29 15:04:33 +02:00
test.c test: free memory in unit tests on exit 2023-04-13 16:22:50 +02:00
test.h test: drop logging suspension 2021-03-11 11:47:31 +01:00
util.c update copyright years 2023-12-05 14:22:10 +01:00