]> git.ipfire.org Git - thirdparty/strongswan.git/commit
wip: ike-init: Prototypical (optional) IKE_AUX exchange for QSKE mechanisms
authorTobias Brunner <tobias@strongswan.org>
Mon, 25 Jun 2018 15:19:39 +0000 (17:19 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 14 May 2019 08:54:45 +0000 (10:54 +0200)
commit43cd1271424887a9e3dba8f58321e89ee8591ba1
treef95b7af98f9e1c96eb968f1777f0a0f1379d42f8
parentd3f0b6b077d4377543c0474969ae27f5b6829447
wip: ike-init: Prototypical (optional) IKE_AUX exchange for QSKE mechanisms

The QSKE payloads are, by default, exchanged in a separate IKE_AUX exchange
after IKE_SA_INIT to leverage IKEv2 fragmentation.  It would be possible
to do that directly in IKE_SA_INIT (DH is currently not optional, though).

Rekeying is always done with a single CREATE_CHILD_SA exchange (again,
DH is currently not optional).

The key material is derived by concatenating the DH and QSKE secrets.

wip: DH could theoretically be made optional if QSKE is used (only during
rekeying, or when not using IKE_AUX also during IKE_SA_INIT)

wip: HA and the ike_keys() hook on listener_t currently handle only
classic key derivation.

wip: Retransmits of IKE_AUX requests will fail after changing the keys?
We either have to keep the old keys around, or use hashes to detect
retransmits (tricky with fragments, unless we retransmit the message
even if we receive the retransmit of just one fragment).
src/libcharon/sa/ikev2/tasks/ike_init.c