Project

General

Profile

Version 5.6.1 » History » Version 4

Tobias Brunner, 11.12.2017 10:43
All IKE versions are affected by algorithm removal

1 1 Tobias Brunner
h1. Version 5.6.1
2 1 Tobias Brunner
3 4 Tobias Brunner
* Several algorithms were removed from the default ESP/AH and IKE proposals in compliance with
4 2 Tobias Brunner
  "RFC 8221":https://tools.ietf.org/html/rfc8221 and "RFC 8247":https://tools.ietf.org/html/rfc8247, respectively. Removed from the default ESP/AH proposal were the
5 4 Tobias Brunner
  3DES and Blowfish encryption algorithms and the HMAC-MD5 integrity algorithm. From the IKE default
6 2 Tobias Brunner
  proposal the HMAC-MD5 integrity algorithm and the MODP-1024 Diffie-Hellman group were removed (the
7 2 Tobias Brunner
  latter is significant for [[Windows7#AES-256-CBC-and-MODP2048|Windows clients]] in their default configuration).
8 2 Tobias Brunner
  These algorithms may still be used in custom proposals.
9 2 Tobias Brunner
10 2 Tobias Brunner
* Support for "RSASSA-PSS signatures":https://tools.ietf.org/html/rfc8017 has been added. For compatibility with previous releases they are
11 3 Tobias Brunner
  currently not used automatically, by default, to change that _charon.rsa_pss_ may be enabled. To explicitly use
12 3 Tobias Brunner
  or require such signatures during IKEv2 signature authentication ("RFC 7427":https://tools.ietf.org/html/rfc7427) _ike:rsa/pss..._ authentication
13 3 Tobias Brunner
  constraints may be used for specific connections (regardless of whether the strongswan.conf option above is
14 2 Tobias Brunner
  enabled). Only the hash algorithm can be specified in such constraints, the MGF1 will be based on that hash
15 2 Tobias Brunner
  and the salt length will equal the hash length (when verifying the salt length is not enforced).
16 2 Tobias Brunner
17 2 Tobias Brunner
  To enforce such signatures during PKI verification use _rsa/pss..._ authentication constraints.
18 2 Tobias Brunner
19 2 Tobias Brunner
  All [[ipsecpki|pki]] commands that create certificates/CRLs can be made to sign with RSASSA-PSS instead of the
20 2 Tobias Brunner
  classing PKCS#1 scheme with the @--rsa-padding pss@ option.  As with signatures during authentication, only
21 2 Tobias Brunner
  the hash algorithm is configurable (via @--digest@ option), the MGF1 will be based on that and the salt length
22 2 Tobias Brunner
  will equal the hash length.
23 2 Tobias Brunner
24 2 Tobias Brunner
  These signatures are supported by all RSA backends except _pkcs11_ (i.e. _gmp, gcrypt, openssl_). The _gmp_
25 2 Tobias Brunner
  plugin requires the _mgf1_ plugin.
26 1 Tobias Brunner
27 1 Tobias Brunner
  Note that RSASSA-PSS algorithm identifiers and parameters in keys (public keys in certificates or private keys
28 1 Tobias Brunner
  in PKCS#8 files) are currently not used as constraints.
29 1 Tobias Brunner
30 1 Tobias Brunner
* The [[SecUpdater|sec-updater]] tool checks for security updates in dpkg-based repositories (e.g. Debian/Ubuntu)
31 1 Tobias Brunner
  and sets the security flags in the [[StrongTnc|IMV policy database]] accordingly. Additionally for each new package
32 1 Tobias Brunner
  version a SWID tag for the given OS and HW architecture is created and stored in the database.
33 2 Tobias Brunner
  Using the sec-updater.sh script template the lookup can be automated (e.g. via an hourly cron job).
34 2 Tobias Brunner
35 3 Tobias Brunner
* When restarting an IKEv2 negotiation after receiving an @INVALID_KE_PAYLOAD@ notify (or due to other reasons
36 3 Tobias Brunner
  like too many retransmits) a new initiator SPI is allocated.  This prevents issues caused by retransmits for
37 3 Tobias Brunner
  @IKE_SA_INIT@ messages.
38 3 Tobias Brunner
39 3 Tobias Brunner
  Because the initiator SPI was previously reused when restarting the connection delayed responses for previous
40 3 Tobias Brunner
  connection attempts were processed and might have caused fatal errors due to a failed DH negotiation or because
41 3 Tobias Brunner
  of the internal retry counter in the ike-init task. For instance, if we proposed a DH group the responder rejected we
42 3 Tobias Brunner
  might have later received delayed responses that either contained @INVALID_KE_PAYLOAD@ notifies with the DH group
43 3 Tobias Brunner
  we already switched to, or, if we retransmitted an @IKE_SA_INIT@ with the requested group but then had to restart again,
44 3 Tobias Brunner
  a @KE@ payload with a group different from the one we proposed.
45 3 Tobias Brunner
46 2 Tobias Brunner
* The introduction of file versions in the IMV database scheme broke file reference hash measurements.
47 2 Tobias Brunner
  This has been fixed by creating generic product versions having an empty package name.
48 2 Tobias Brunner
49 2 Tobias Brunner
* A new _timeout_ option for the [[SystimeFixPlugin|systime-fix plugin]] stops periodic system time checks after a while and enforces
50 3 Tobias Brunner
  a certificate verification, closing or reauthenticating all SAs with invalid certificates.
51 2 Tobias Brunner
52 2 Tobias Brunner
* The IKE event counters, previously only available via [[IpsecCommand|ipsec listcounters]] command, may now also be queried and
53 2 Tobias Brunner
  reset via [[vici]] and the new [[swanctl|swanctl --counters]] command.  They are collected and provided by the optional
54 2 Tobias Brunner
  [[counters]] plugin (enabled by default for backwards compatibility if the _stroke_ plugin is built).
55 2 Tobias Brunner
56 2 Tobias Brunner
* Class attributes received in RADIUS Access-Accept messages may optionally be added to RADIUS accounting
57 2 Tobias Brunner
  messages (commit:655924074b).
58 2 Tobias Brunner
59 2 Tobias Brunner
* Basic support for systemd sockets has been added, which may be used for privilege separation (commit:59db98fb94).
60 2 Tobias Brunner
61 2 Tobias Brunner
* Inbound marks may optionally be installed in the SA again (was removed with version:5.5.2) by enabling the _mark_in_sa_
62 2 Tobias Brunner
  option in [[swanctl.conf]].
63 2 Tobias Brunner
64 1 Tobias Brunner
* The timeout of leases in pools configured via [[IpsecPool|pool utility]] may be configured in other units than hours.
65 2 Tobias Brunner
66 2 Tobias Brunner
* @INITIAL_CONTACT@ notifies are now only omitted if _never_ is configured as uniqueness policy.
67 2 Tobias Brunner
68 2 Tobias Brunner
* Outbound FWD policies for shunts are not installed anymore, by default (as is the case for other policies since version:5.5.1).
69 2 Tobias Brunner
70 2 Tobias Brunner
* Don't consider a DH group mismatch during CHILD_SA rekeying as failure as responder (commit:e7276f78aa).
71 2 Tobias Brunner
72 2 Tobias Brunner
* Handling of fragmented IPv4 and IPv6 packets in libipsec has been improved (commit:e138003de9).
73 2 Tobias Brunner
74 2 Tobias Brunner
* Trigger expire events for the correct IPsec SA in libipsec (commit:6e861947a0).
75 2 Tobias Brunner
76 2 Tobias Brunner
* A crash in CRL verification via _openssl_ plugin using OpenSSL 1.1 has been fixed (commit:78acaba6a1).
77 2 Tobias Brunner
78 2 Tobias Brunner
* No hard-coded default proposals are passed from starter to the _stroke_ plugin anymore (the IKE proposal used
79 3 Tobias Brunner
  _curve25519_ since version:5.5.2, which is an optional plugin).
80 2 Tobias Brunner
81 2 Tobias Brunner
* A workaround for an issue with virtual IPs on macOS 10.13 (High Sierra) has been added (commit:039b85dd43).
82 2 Tobias Brunner
83 2 Tobias Brunner
* Handling of IKE_SA rekey collisions in charon-tkm has been fixed.
84 2 Tobias Brunner
85 2 Tobias Brunner
* Instead of failing or just silently doing nothing unit tests may now warn about certain conditions (e.g. if a test
86 2 Tobias Brunner
  was not executed due to external dependencies).