]> git.ipfire.org Git - thirdparty/strongswan.git/log
thirdparty/strongswan.git
13 months agochild-create: Add support for optimized rekeying optimized-rekeying
Tobias Brunner [Tue, 21 Mar 2023 14:04:12 +0000 (15:04 +0100)] 
child-create: Add support for optimized rekeying

13 months agoikev2: Use REKEY_SA as sole trigger for CHILD_SA rekeying
Tobias Brunner [Tue, 21 Mar 2023 14:02:28 +0000 (15:02 +0100)] 
ikev2: Use REKEY_SA as sole trigger for CHILD_SA rekeying

There won't be any TS payloads when using optimized rekeying.

13 months agochild-create: Disable optimized rekeying for CHILD_SA created during IKE_AUTH
Tobias Brunner [Mon, 20 Mar 2023 15:59:10 +0000 (16:59 +0100)] 
child-create: Disable optimized rekeying for CHILD_SA created during IKE_AUTH

13 months agoha: Enable optimized rekeying for CHILD_SAs with synced KE method
Tobias Brunner [Thu, 16 Mar 2023 14:57:53 +0000 (15:57 +0100)] 
ha: Enable optimized rekeying for CHILD_SAs with synced KE method

This avoids having to explicitly sync if optimized rekeying can be used
for a CHILD_SA i.e. whether it was created with IKE_AUTH or with a
separate CREATE_CHILD_SA exchange (from scratch or rekeyed).  If a key
exchange method was synced, we definitely know the latter is the case.

13 months agochild-sa: Add flag to indicate if optimized rekeying can be used
Tobias Brunner [Thu, 16 Mar 2023 14:51:34 +0000 (15:51 +0100)] 
child-sa: Add flag to indicate if optimized rekeying can be used

The optimized rekeying can not be used for the CHILD_SA that's negotiated
with IKE_AUTH.  Because the key exchange methods are stripped from the
proposals exchanged there, we don't know what key exchange method (if
any) would get selected if the SA was rekeyed regularly or created with
a separate CREATE_CHILD_SA exchange.

13 months agowip: ike-init: Add support for optimized rekeying
Tobias Brunner [Fri, 17 Mar 2023 15:40:48 +0000 (16:40 +0100)] 
wip: ike-init: Add support for optimized rekeying

wip: should we handle the case of a responder returning an SA payload
instead of an OPTIMIZED_REKEY notify as error (or just accept it if we
get a valid proposal from it)?

13 months agowip: ike-auth: Negotiate support for optimized rekeying
Tobias Brunner [Thu, 16 Mar 2023 16:27:22 +0000 (17:27 +0100)] 
wip: ike-auth: Negotiate support for optimized rekeying

wip: draft/rfc ref, this technically breaks interop until we add support
in tasks, however, we require this so we can add test cases with
optimized rekeying with those commits

13 months agowip: ike-sa: Add extension that indicates support for optimized rekeying
Tobias Brunner [Thu, 16 Mar 2023 16:15:06 +0000 (17:15 +0100)] 
wip: ike-sa: Add extension that indicates support for optimized rekeying

wip: draft/rfc ref

13 months agomessage: Update rules for optimized rekeying
Tobias Brunner [Fri, 17 Mar 2023 13:09:50 +0000 (14:09 +0100)] 
message: Update rules for optimized rekeying

The SA payload is optional, the new notify should be at the beginning
for easy access.

13 months agowip: notify-payload: Add notify types for optimized rekeying
Tobias Brunner [Thu, 16 Mar 2023 14:46:28 +0000 (15:46 +0100)] 
wip: notify-payload: Add notify types for optimized rekeying

wip: identifiers are still TBD

13 months agonotify-payload: Add methods to simplify encoding and retrieving IKE SPIs
Tobias Brunner [Thu, 16 Mar 2023 14:42:11 +0000 (15:42 +0100)] 
notify-payload: Add methods to simplify encoding and retrieving IKE SPIs

The get_spi_data() method is currently not used, so that has been
simplified so it can be used for any protocol type and any SPI length.

13 months agowip
Tobias Brunner [Fri, 17 Mar 2023 15:41:09 +0000 (16:41 +0100)] 
wip

13 months agoVersion bump to 6.0.0beta3
Andreas Steffen [Wed, 5 Oct 2022 13:23:27 +0000 (15:23 +0200)] 
Version bump to 6.0.0beta3

13 months agotesting: Removed dynamically generated credentials
Andreas Steffen [Fri, 3 Mar 2023 10:49:56 +0000 (11:49 +0100)] 
testing: Removed dynamically generated credentials

13 months agotesting: ECDH default group changed from CURVE_25519 to ECP_256
Andreas Steffen [Fri, 3 Mar 2023 10:45:37 +0000 (11:45 +0100)] 
testing: ECDH default group changed from CURVE_25519 to ECP_256

13 months agolibcharon: Enable make_before_break option by default
Andreas Steffen [Wed, 4 Jan 2023 17:31:00 +0000 (18:31 +0100)] 
libcharon: Enable make_before_break option by default

13 months agowolfssl: RSA-PSS with SHA3 is not supported by wolfSSL
Andreas Steffen [Mon, 9 Jan 2023 18:49:43 +0000 (19:49 +0100)] 
wolfssl: RSA-PSS with SHA3 is not supported by wolfSSL

13 months agomgf1: Support of RSA PSS with SHA3 hash
Andreas Steffen [Thu, 5 Jan 2023 14:10:32 +0000 (15:10 +0100)] 
mgf1: Support of RSA PSS with SHA3 hash

13 months agorsa_signatures: Enable rsa_pss by default
Andreas Steffen [Wed, 4 Jan 2023 17:28:13 +0000 (18:28 +0100)] 
rsa_signatures: Enable rsa_pss by default

13 months agotesting: Moving certificates to correct test cases
Andreas Steffen [Tue, 3 Jan 2023 16:48:21 +0000 (17:48 +0100)] 
testing: Moving certificates to correct test cases

13 months agowip: fuzz: Fix build after changing default plugins
Tobias Brunner [Sat, 5 Nov 2022 14:24:49 +0000 (15:24 +0100)] 
wip: fuzz: Fix build after changing default plugins

13 months agoDefine new default plugins
Andreas Steffen [Sat, 22 Oct 2022 09:29:33 +0000 (11:29 +0200)] 
Define new default plugins

13 months agotesting: Migrated wolfssl scenarios
Andreas Steffen [Fri, 21 Oct 2022 18:38:16 +0000 (20:38 +0200)] 
testing: Migrated wolfssl scenarios

13 months agotesting: Migrated tnc scenarios to new default plugins
Andreas Steffen [Fri, 21 Oct 2022 18:19:11 +0000 (20:19 +0200)] 
testing: Migrated tnc scenarios to new default plugins

13 months agotesting: Migrated tkm scenarios to new default plugins
Andreas Steffen [Fri, 21 Oct 2022 18:07:14 +0000 (20:07 +0200)] 
testing: Migrated tkm scenarios to new default plugins

13 months agotesting: Migrated sql scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 20:13:14 +0000 (22:13 +0200)] 
testing: Migrated sql scenarios to new default plugins

13 months agotesting: Migrated route-based scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 14:51:31 +0000 (16:51 +0200)] 
testing: Migrated route-based scenarios to new default plugins

13 months agotesting: Migrated pfkey scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 14:29:34 +0000 (16:29 +0200)] 
testing: Migrated pfkey scenarios to new default plugins

13 months agotesting: Migrated p2pnat scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 08:21:27 +0000 (10:21 +0200)] 
testing: Migrated p2pnat scenarios to new default plugins

13 months agotesting: Migrated libipsec scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 08:17:32 +0000 (10:17 +0200)] 
testing: Migrated libipsec scenarios to new default plugins

13 months agotesting: Migrated ha scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 07:39:46 +0000 (09:39 +0200)] 
testing: Migrated ha scenarios to new default plugins

13 months agotesting: Migrated gcrypt-ikev2 scenarios
Andreas Steffen [Thu, 20 Oct 2022 02:54:56 +0000 (04:54 +0200)] 
testing: Migrated gcrypt-ikev2 scenarios

13 months agotesting: Migrated botan scenarios
Andreas Steffen [Thu, 20 Oct 2022 02:15:28 +0000 (04:15 +0200)] 
testing: Migrated botan scenarios

13 months agotesting: Migrated af-alg scenarios
Andreas Steffen [Wed, 19 Oct 2022 08:57:22 +0000 (10:57 +0200)] 
testing: Migrated af-alg scenarios

13 months agotesting: Migrated ike scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 07:11:54 +0000 (09:11 +0200)] 
testing: Migrated ike scenarios to new default plugins

13 months agotesting: Migrated ikev1-stroke to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 07:02:37 +0000 (09:02 +0200)] 
testing: Migrated ikev1-stroke to new default plugins

13 months agotesting: Migrated ikev2-stroke scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 06:01:27 +0000 (08:01 +0200)] 
testing: Migrated ikev2-stroke scenarios to new default plugins

13 months agotesting: Migrated ipv6-stroke scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 05:25:26 +0000 (07:25 +0200)] 
testing: Migrated ipv6-stroke scenarios to new default plugins

13 months agotesting: Migrated ipv6 scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 05:20:18 +0000 (07:20 +0200)] 
testing: Migrated ipv6 scenarios to new default plugins

13 months agotesting: Distributed openssl-ikev1 scenarios
Andreas Steffen [Tue, 18 Oct 2022 19:40:36 +0000 (21:40 +0200)] 
testing: Distributed openssl-ikev1 scenarios

13 months agotesting: Migrated ikev1-algs scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 19:24:40 +0000 (21:24 +0200)] 
testing: Migrated ikev1-algs scenarios to new default plugins

13 months agotesting: Migrated ikev1 scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 19:11:38 +0000 (21:11 +0200)] 
testing: Migrated ikev1 scenarios to new default plugins

13 months agotesting: Distributed openssl-ikev2 scenarios
Andreas Steffen [Tue, 18 Oct 2022 17:15:08 +0000 (19:15 +0200)] 
testing: Distributed openssl-ikev2 scenarios

13 months agotesting: Migrated ikev2-algs scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 17:41:49 +0000 (19:41 +0200)] 
testing: Migrated ikev2-algs scenarios to new default plugins

13 months agotesting: Migrated ikev2 scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 15:44:30 +0000 (17:44 +0200)] 
testing: Migrated ikev2 scenarios to new default plugins

13 months agokey_exchange_t: Removed broken SIKE KE algorithms
Andreas Steffen [Wed, 5 Oct 2022 13:22:41 +0000 (15:22 +0200)] 
key_exchange_t: Removed broken SIKE KE algorithms

13 months agooqs: Included version 4.1 of BIKE Round 3 (L1 and L3)
Andreas Steffen [Fri, 27 Aug 2021 06:40:41 +0000 (08:40 +0200)] 
oqs: Included version 4.1 of BIKE Round 3 (L1 and L3)

Requirement: liboqs-0.7.0

13 months agooqs: Updated Falcon sig tests to liboqs-0.5.0
Andreas Steffen [Sun, 21 Mar 2021 15:12:45 +0000 (16:12 +0100)] 
oqs: Updated Falcon sig tests to liboqs-0.5.0

13 months agooqs: Upgraded Dilithium to NIST Round 3.1
Andreas Steffen [Sun, 21 Mar 2021 11:10:40 +0000 (12:10 +0100)] 
oqs: Upgraded Dilithium to NIST Round 3.1

13 months agotest-vectors: No changes for Saber KE NIST Round 3 tests
Andreas Steffen [Tue, 8 Dec 2020 09:19:36 +0000 (10:19 +0100)] 
test-vectors: No changes for Saber KE NIST Round 3 tests

13 months agooqs: Support for HQC key exchange algorithm
Andreas Steffen [Mon, 7 Dec 2020 14:25:43 +0000 (15:25 +0100)] 
oqs: Support for HQC key exchange algorithm

13 months agotest-vectors: Upgraded Kyber KE tests to NIST Round 3
Andreas Steffen [Mon, 7 Dec 2020 12:27:19 +0000 (13:27 +0100)] 
test-vectors: Upgraded Kyber KE tests to NIST Round 3

13 months agotest-vectors: Upgraded NTRU KE tests to NIST Round 3
Andreas Steffen [Wed, 2 Dec 2020 16:29:37 +0000 (17:29 +0100)] 
test-vectors: Upgraded NTRU KE tests to NIST Round 3

13 months agoscripts: Fixed NIST KAT scripts
Andreas Steffen [Wed, 2 Dec 2020 16:27:08 +0000 (17:27 +0100)] 
scripts: Fixed NIST KAT scripts

13 months agooqs: Support of Falcon signature algorithms
Andreas Steffen [Fri, 20 Nov 2020 16:30:15 +0000 (17:30 +0100)] 
oqs: Support of Falcon signature algorithms

13 months agooqs: Complete post-quantum signature support
Andreas Steffen [Wed, 18 Nov 2020 17:19:43 +0000 (18:19 +0100)] 
oqs: Complete post-quantum signature support

13 months agontru: Removed legacy NTRU key exchange method
Andreas Steffen [Wed, 18 Nov 2020 09:39:28 +0000 (10:39 +0100)] 
ntru: Removed legacy NTRU key exchange method

13 months agonewhope: Removed legacy Newhope key exchange method
Andreas Steffen [Tue, 17 Nov 2020 18:27:20 +0000 (19:27 +0100)] 
newhope: Removed legacy Newhope key exchange method

13 months agobliss: Removed legacy BLISS signatures
Andreas Steffen [Mon, 16 Nov 2020 19:22:21 +0000 (20:22 +0100)] 
bliss: Removed legacy BLISS signatures

13 months agooqs: Added signature tests
Andreas Steffen [Tue, 10 Nov 2020 19:28:33 +0000 (20:28 +0100)] 
oqs: Added signature tests

13 months agoscripts: Added nist_sig_kat script
Andreas Steffen [Fri, 6 Nov 2020 08:33:25 +0000 (09:33 +0100)] 
scripts: Added nist_sig_kat script

13 months agooqs: Postponed freeing of kem object
Andreas Steffen [Mon, 2 Nov 2020 15:49:37 +0000 (16:49 +0100)] 
oqs: Postponed freeing of kem object

13 months agooqs: Support of Dilithium signature algorithms
Andreas Steffen [Wed, 28 Oct 2020 19:09:41 +0000 (20:09 +0100)] 
oqs: Support of Dilithium signature algorithms

13 months agooqs: Update to NIST round 3 KEM candidates
Andreas Steffen [Sat, 17 Oct 2020 09:58:58 +0000 (11:58 +0200)] 
oqs: Update to NIST round 3 KEM candidates

13 months agooqs: Removed BIKE round 1 version including test vectors
Andreas Steffen [Thu, 28 Nov 2019 22:23:14 +0000 (23:23 +0100)] 
oqs: Removed BIKE round 1 version including test vectors

13 months agotesting: Added ikev2/rw-cert-qske scenario
Andreas Steffen [Tue, 19 Nov 2019 22:01:26 +0000 (23:01 +0100)] 
testing: Added ikev2/rw-cert-qske scenario

13 months agofrodo: FrodoKEM KE method
Andreas Steffen [Wed, 6 Nov 2019 22:08:43 +0000 (23:08 +0100)] 
frodo: FrodoKEM KE method

13 months agooqs: Added post-quantum KEM methods based on liboqs
Andreas Steffen [Tue, 5 Nov 2019 20:52:20 +0000 (21:52 +0100)] 
oqs: Added post-quantum KEM methods based on liboqs

13 months agonist_kem_kat: Added script formating NIST KEM KAT records into ke_test vectors
Andreas Steffen [Tue, 5 Nov 2019 11:16:49 +0000 (12:16 +0100)] 
nist_kem_kat: Added script formating NIST KEM KAT records into ke_test vectors

13 months agotest-vectors: Added NIST KEM test vectors
Andreas Steffen [Tue, 5 Nov 2019 11:12:19 +0000 (12:12 +0100)] 
test-vectors: Added NIST KEM test vectors

13 months agokey-exchange: Joint ke_test_vector format for DH and KEM
Andreas Steffen [Mon, 4 Nov 2019 21:22:47 +0000 (22:22 +0100)] 
key-exchange: Joint ke_test_vector format for DH and KEM

Both Diffie-Hellman (DH) and Key Encapsulation Mechanism (KEM) based
key exchange methods use a common ke_test_vector format. The
set_seed() function is used to provide deterministic private key
material for the crypto tests.

13 months agokey-exchange: Added NIST round 2 submission KEM candidates
Andreas Steffen [Fri, 1 Nov 2019 18:41:46 +0000 (19:41 +0100)] 
key-exchange: Added NIST round 2 submission KEM candidates

13 months agounit-tests: Ensure listeners can track SAs via ike/child_updown/rekey()
Tobias Brunner [Fri, 9 Sep 2022 16:34:29 +0000 (18:34 +0200)] 
unit-tests: Ensure listeners can track SAs via ike/child_updown/rekey()

Previously, it could happen that child_rekey() was triggered twice for
the same "old" SA.  For listeners that would mean they'd loose track as
they'd be tracking a new SA that wasn't relevant anymore and for which
no updown event would ever get triggered (it was the redundant SA in a
collision).  This new assert ensures that events are triggered in a
predictable way and listeners can track SAs properly.

13 months agoikev2: Make CHILD_SAs properly trackable during rekey collisions
Tobias Brunner [Mon, 22 Aug 2022 13:43:16 +0000 (15:43 +0200)] 
ikev2: Make CHILD_SAs properly trackable during rekey collisions

As the winner of a rekey collision, we previously always triggered the
child_rekey() event once when creating the redundant SA on behalf of the
peer in the passive child-rekey task and then a second time when
creating the winning SA in the active task.  However, both calls passed
the replaced CHILD_SA as "old". This made tracking CHILD_SAs impossible
because there was no transition from the redundant, "new" SA of the
first event to the "new", winning SA of the second.  Of course, when the
second event was triggered, the redundant SA might not have existed
anymore because the peer is expected to delete it, which could happen
before the CREATE_CHILD_SA response arrives at the initiator.

This refactoring ensures that the child_rekey() event is triggered in
a way that makes the CHILD_SAs trackable in all reasonable (and even
some unreasonable) scenarios.  The event is generally only triggered
once after installing the outbound SA for the new/winning CHILD_SA.
This can be when processing the CREATE_CHILD_SA in the active child-rekey
task, or when processing the DELETE for the old SA in a passive
child-delete task.  There are some cases where the event is still
triggered twice, but it is now ensured that listeners can properly
transition to the winning SA.

Some corner cases are now also handled correctly, e.g. if a responder's
DELETE for the new CHILD_SA arrives before its CREATE_CHILD_SA response
that actually creates it on the initiator.  Also handled properly are
responders of rekeyings that incorrectly send a DELETE for the old
CHILD_SA (previously this caused both, the new and the old SA, to get
deleted).

13 months agowip: ike-init: Indicate support for IKE_INTERMEDIATE
Tobias Brunner [Tue, 5 Nov 2019 15:42:58 +0000 (16:42 +0100)] 
wip: ike-init: Indicate support for IKE_INTERMEDIATE

wip: We should also add some checks if the notify was not received.

13 months agoproposal: Prevent selection of duplicate key exchange methods
Tobias Brunner [Fri, 16 Jul 2021 11:52:19 +0000 (13:52 +0200)] 
proposal: Prevent selection of duplicate key exchange methods

All additional (and the initial) key exchanges must use a different method.

13 months agoproposal: Add helper to check if additional key exchanges are contained
Tobias Brunner [Tue, 5 Nov 2019 16:03:42 +0000 (17:03 +0100)] 
proposal: Add helper to check if additional key exchanges are contained

13 months agoproposal: Accept NONE for additional key exchanges also for IKE proposals
Tobias Brunner [Thu, 22 Oct 2020 11:13:00 +0000 (13:13 +0200)] 
proposal: Accept NONE for additional key exchanges also for IKE proposals

13 months agounit-tests: Add tests for CHILD_SA rekeying with multiple key exchanges
Tobias Brunner [Mon, 29 Jun 2020 12:13:53 +0000 (14:13 +0200)] 
unit-tests: Add tests for CHILD_SA rekeying with multiple key exchanges

13 months agounit-tests: Add tests for CHILD_SA creation with multiple key exchanges
Tobias Brunner [Fri, 26 Jun 2020 12:12:47 +0000 (14:12 +0200)] 
unit-tests: Add tests for CHILD_SA creation with multiple key exchanges

13 months agounit-tests: Tests for additional key exchanges
Tobias Brunner [Mon, 4 Nov 2019 15:17:30 +0000 (16:17 +0100)] 
unit-tests: Tests for additional key exchanges

13 months agounit-tests: Support multiple proposals in exchange tests
Tobias Brunner [Wed, 17 Jun 2020 16:39:44 +0000 (18:39 +0200)] 
unit-tests: Support multiple proposals in exchange tests

13 months agovici: Increase maximum proposal length
Andreas Steffen [Tue, 6 Jul 2021 10:11:51 +0000 (12:11 +0200)] 
vici: Increase maximum proposal length

13 months agovici: List additional key exchanges
Andreas Steffen [Tue, 19 Nov 2019 19:44:39 +0000 (20:44 +0100)] 
vici: List additional key exchanges

Co-authored-by: Tobias Brunner <tobias@strongswan.org>
13 months agoproposal: Add prefix for additional key exchanges when logging proposals
Tobias Brunner [Thu, 22 Oct 2020 12:15:31 +0000 (14:15 +0200)] 
proposal: Add prefix for additional key exchanges when logging proposals

13 months agokey-exchange: Add dynamic parser for additional key exchange methods
Tobias Brunner [Mon, 4 Nov 2019 16:27:20 +0000 (17:27 +0100)] 
key-exchange: Add dynamic parser for additional key exchange methods

13 months agochild-rekey: Support CHILD_SA rekeying with multiple key exchanges
Tobias Brunner [Mon, 29 Jun 2020 12:12:05 +0000 (14:12 +0200)] 
child-rekey: Support CHILD_SA rekeying with multiple key exchanges

13 months agounit-tests: Fix CHILD_SA rekey tests after INVALID_KE_PAYLOAD handling changes
Tobias Brunner [Fri, 20 Jul 2018 12:12:48 +0000 (14:12 +0200)] 
unit-tests: Fix CHILD_SA rekey tests after INVALID_KE_PAYLOAD handling changes

The responder doesn't create a CHILD_SA and allocate an SPI anymore
when responding with an INVALID_KE_PAYLOAD notify.

13 months agochild-create: Add support for multiple key exchanges
Tobias Brunner [Thu, 25 Jun 2020 08:26:38 +0000 (10:26 +0200)] 
child-create: Add support for multiple key exchanges

It also changes that payloads are built before installing the CHILD_SA on
the responder, that is, the KE payload is generated before keys are derived,
so that key_exchange_t::get_public_key() is called before get_shared_secret(),
or it's internal equivalent, which could be relevant for KE implementations
that want to ensure that the key can't be used again after the key
derivation.

13 months agoike-rekey: Support IKE_SA rekeying with multiple key exchanges
Tobias Brunner [Mon, 6 Apr 2020 15:41:15 +0000 (17:41 +0200)] 
ike-rekey: Support IKE_SA rekeying with multiple key exchanges

13 months agoike-init: Add support for multiple key exchanges
Tobias Brunner [Thu, 31 Oct 2019 16:16:44 +0000 (17:16 +0100)] 
ike-init: Add support for multiple key exchanges

Initially, this is handled with a key derivation for each
IKE_INTERMEDIATE exchange.  When rekeying the keys are derived only when
all IKE_FOLLOWUP_KE exchanges are done.

13 months agobus: Support multiple key exchanges in ike/child_keys() events
Tobias Brunner [Thu, 9 Apr 2020 09:53:45 +0000 (11:53 +0200)] 
bus: Support multiple key exchanges in ike/child_keys() events

13 months agokeymat_v2: Support key derivation with multiple key exchanges
Tobias Brunner [Thu, 9 Apr 2020 09:37:52 +0000 (11:37 +0200)] 
keymat_v2: Support key derivation with multiple key exchanges

13 months agokey-exchange: Add helper to concatenate shared secrets of several key exchanges
Tobias Brunner [Thu, 9 Apr 2020 09:36:30 +0000 (11:36 +0200)] 
key-exchange: Add helper to concatenate shared secrets of several key exchanges

13 months agokeymat_v2: Proper cleanup if derive_ike_keys() is called multiple times
Tobias Brunner [Thu, 28 Jun 2018 13:33:35 +0000 (15:33 +0200)] 
keymat_v2: Proper cleanup if derive_ike_keys() is called multiple times

13 months agoike-auth: Calculate and collect IntAuth for IKE_INTERMEDIATE exchanges
Tobias Brunner [Tue, 20 Aug 2019 15:07:55 +0000 (17:07 +0200)] 
ike-auth: Calculate and collect IntAuth for IKE_INTERMEDIATE exchanges

The message ID of the first IKE_AUTH exchange is a safe-guard against
potential truncation attacks if IKE_INTERMEDIATE exchanges are not used
for multiple key exchanges but some other future use where the number of
exchanges might not depend on the selected proposal.

13 months agopubkey-authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:38:01 +0000 (16:38 +0200)] 
pubkey-authenticator: Handle IntAuth data

13 months agopsk-authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:36:13 +0000 (16:36 +0200)] 
psk-authenticator: Handle IntAuth data

13 months agoeap-authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:32:17 +0000 (16:32 +0200)] 
eap-authenticator: Handle IntAuth data

13 months agokeymat_v2: Include optional IntAuth in signed octets
Tobias Brunner [Tue, 20 Aug 2019 14:18:05 +0000 (16:18 +0200)] 
keymat_v2: Include optional IntAuth in signed octets