[FFe] NTRU Plugin Missing in Focal

Bug #1863749 reported by lenovator
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
strongswan (Debian)
New
Unknown
strongswan (Ubuntu)
Fix Released
Medium
Christian Ehrhardt 

Bug Description

[ Feature Freeze Exception ]

* The NTRU plugin was enabled in all past releases, so if we re-enable this actually it isn't a Feature change for upgraders. Instead if we don't resolve this bug is a "loss of features" - therefore I'm even unsure this would need an FFe but let us stick to the process.

* Background: In an effort to synchronize between Debian and Ubuntu we got many things enabled and packaged in Debian that were only in Ubuntu before. But at the same time we disabled several plugins that are not enabled by default and also unused according to bug/usage reports in the past. This is such a report identifying one of our clearings being overzealous; so I'd want to re-enable it.

* The plugin is standardized (no experimental crap) [1] and considered stable [2] since quite a while.

[1]: https://wiki.strongswan.org/projects/strongswan/wiki/NTRU
[2]: https://wiki.strongswan.org/projects/strongswan/wiki/PluginList

I'd be happy if the ubuntu-release Team could give a quick ack to my assumptions so I can upload this to Focal once all things are in place.

------------

the post quantum Key Exchange Algo NTRU is missing in Focal

on edgy is still there:
# cat /etc/issue
Ubuntu 19.10 \n \l
# apt list | grep strongswan
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libstrongswan-extra-plugins/eoan,now 5.7.2-1ubuntu3 amd64 [installed]
libstrongswan-extra-plugins/eoan 5.7.2-1ubuntu3 i386
libstrongswan-standard-plugins/eoan,now 5.7.2-1ubuntu3 amd64 [installed,automatic]
libstrongswan-standard-plugins/eoan 5.7.2-1ubuntu3 i386
libstrongswan/eoan,now 5.7.2-1ubuntu3 amd64 [installed,automatic]
libstrongswan/eoan 5.7.2-1ubuntu3 i386
network-manager-strongswan/eoan 1.4.4-2 amd64
network-manager-strongswan/eoan 1.4.4-2 i386
strongswan-charon/eoan,now 5.7.2-1ubuntu3 amd64 [installed,automatic]
strongswan-charon/eoan 5.7.2-1ubuntu3 i386
strongswan-libcharon/eoan,now 5.7.2-1ubuntu3 amd64 [installed,automatic]
strongswan-libcharon/eoan 5.7.2-1ubuntu3 i386
strongswan-nm/eoan 5.7.2-1ubuntu3 amd64
strongswan-nm/eoan 5.7.2-1ubuntu3 i386
strongswan-pki/eoan 5.7.2-1ubuntu3 amd64
strongswan-pki/eoan 5.7.2-1ubuntu3 i386
strongswan-scepclient/eoan 5.7.2-1ubuntu3 amd64
strongswan-scepclient/eoan 5.7.2-1ubuntu3 i386
strongswan-starter/eoan,now 5.7.2-1ubuntu3 amd64 [installed,automatic]
strongswan-starter/eoan 5.7.2-1ubuntu3 i386
strongswan-swanctl/eoan,now 5.7.2-1ubuntu3 amd64 [installed]
strongswan-swanctl/eoan 5.7.2-1ubuntu3 i386
strongswan-tnc-base/eoan,eoan 5.7.2-1ubuntu3 all
strongswan-tnc-client/eoan,eoan 5.7.2-1ubuntu3 all
strongswan-tnc-ifmap/eoan,eoan 5.7.2-1ubuntu3 all
strongswan-tnc-pdp/eoan,eoan 5.7.2-1ubuntu3 all
strongswan-tnc-server/eoan,eoan 5.7.2-1ubuntu3 all
strongswan/eoan,eoan,now 5.7.2-1ubuntu3 all [installed]
# ipsec statusall | grep ntru
  loaded plugins: charon test-vectors unbound ldap pkcs11 tpm aesni aes rc2 sha2 sha1 md4 md5 mgf1 random nonce x509 revocation constraints acert pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey dnscert ipseckey pem openssl gcrypt af-alg fips-prf gmp curve25519 agent chapoly xcbc cmac hmac ctr ccm gcm ntru bliss curl soup mysql sqlite attr kernel-netlink resolve socket-default connmark farp stroke vici updown eap-identity eap-sim eap-sim-pcsc eap-aka eap-aka-3gpp2 eap-simaka-pseudonym eap-simaka-reauth eap-md5 eap-gtc eap-mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap eap-tnc xauth-generic xauth-eap xauth-pam xauth-noauth tnc-imc tnc-imv tnc-tnccs tnccs-20 tnccs-11 tnccs-dynamic dhcp whitelist lookip error-notify certexpire led radattr addrblock unity counters
----------------------------------------------------------
but on current focal it is missing:
----------------------------------------------------------
# cat /etc/issue
Ubuntu Focal Fossa (development branch) \n \l
# apt list | grep strongswan
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libstrongswan-extra-plugins/focal,now 5.8.2-1ubuntu1 amd64 [installed]
libstrongswan-standard-plugins/focal,now 5.8.2-1ubuntu1 amd64 [installed]
libstrongswan/focal,now 5.8.2-1ubuntu1 amd64 [installed,automatic]
network-manager-strongswan/focal 1.4.4-2 amd64
strongswan-charon/focal,now 5.8.2-1ubuntu1 amd64 [installed,automatic]
strongswan-libcharon/focal,now 5.8.2-1ubuntu1 amd64 [installed,automatic]
strongswan-nm/focal 5.8.2-1ubuntu1 amd64
strongswan-pki/focal 5.8.2-1ubuntu1 amd64
strongswan-scepclient/focal 5.8.2-1ubuntu1 amd64
strongswan-starter/focal,now 5.8.2-1ubuntu1 amd64 [installed]
strongswan-swanctl/focal,now 5.8.2-1ubuntu1 amd64 [installed]
strongswan-tnc-base/focal,focal 5.8.2-1ubuntu1 all
strongswan-tnc-client/focal,focal 5.8.2-1ubuntu1 all
strongswan-tnc-ifmap/focal,focal 5.8.2-1ubuntu1 all
strongswan-tnc-pdp/focal,focal 5.8.2-1ubuntu1 all
strongswan-tnc-server/focal,focal 5.8.2-1ubuntu1 all
strongswan/focal,focal,now 5.8.2-1ubuntu1 all [installed]
# ipsec statusall | grep ntru
# (nothing .. not there)
# pluginlist of ipsec statusall:
  loaded plugins: charon test-vectors ldap pkcs11 tpm aesni aes rc2 sha2 sha1 md5 mgf1 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl gcrypt af-alg fips-prf gmp curve25519 agent chapoly xcbc cmac hmac ctr ccm gcm drbg curl attr kernel-netlink resolve socket-default connmark farp stroke vici updown eap-identity eap-aka eap-md5 eap-gtc eap-mschapv2 eap-radius eap-tls eap-ttls eap-tnc xauth-generic xauth-eap xauth-pam tnc-tnccs dhcp lookip error-notify certexpire led addrblock unity counters

there is also no other post quantum algo available

Related branches

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1863749

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: focal
lenovator (lenovator)
affects: linux (Ubuntu) → strongswan (Ubuntu)
Changed in strongswan (Ubuntu):
status: Incomplete → New
Revision history for this message
Bryce Harrington (bryce) wrote : Re: NTRU Plugin Missing in Focal

I'm not spotting an obvious notation in debian/changelog for dropping the ntru package, but I'm guessing there was a reason, since this clearly did exist in the xenial and bionic packages. Subscribing ubuntu-server for now for further investigation as time permits, but if anyone can ascertain the Debian history of this and report on this bug, then we can re-triage and prioritize accordingly.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

In an effort to synchronize between Debian and Ubuntu we got many things enabled and packaged in Debian that were only in Ubuntu before. But at the same time we disabled several plugins that are not enabled by default and also unused according to bug/usage reports in the past.

So dropping this one was intentional.

@Lenovator - could I ask you to make a clear case why this should be added and what it provides over all the other algorithms. Once that is clear and reasonable it can be added back for sure.

The best (if that is ok for you) would be if you could report that to Debian so we can sync that discussion between Ubuntu/Debian right away. If you happen to file a bug there instead of explaining here (which is also find, then I'd carry it over) please report the bug number that you filed.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hmm, there was no feedback yet.
I've read into the topic a bit and will try to start the discussion and make a case for this.
I'll report the bug that I opened once I did so.

But please as you seem to really use it feel free to chime in there.

Old placement in Ubuntu:
root@e:~# dpkg -S /usr/lib/ipsec/plugins/libstrongswan-ntru.so
libstrongswan-extra-plugins: /usr/lib/ipsec/plugins/libstrongswan-ntru.so

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Old

d/control content:
  - ntru (key exchanged based on post-quantum computer NTRU)
d/rules:
--enable-ntru
d/libstrongswan-extra-plugins.install:
-usr/lib/ipsec/plugins/libstrongswan-ntru.so
-usr/share/strongswan/templates/config/plugins/ntru.conf
-etc/strongswan.d/charon/ntru.conf

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Reported to Debian as https://salsa.debian.org/debian/strongswan/-/merge_requests/8 to discuss it there as well.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

@lenovator - No matter if this becomes Ubuntu Delta or if we change it elsewhere, if you could add some words about a great use-case or its importance that would still help.

Changed in strongswan (Ubuntu):
status: New → Triaged
assignee: nobody → Christian Ehrhardt  (paelzer)
tags: added: patch-forwarded-debian
tags: added: server-next
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

We are past feature freeze, so this needs to become a Feature Freeze Exception bug if we still want this in focal.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Actually for any upgrader re-enabling NTRU would be the no-feature-change.
That we dropped it was the change.

Never the less, as soon as we have a good example why it would help we can add an FFe to stick to the official Process.

summary: - NTRU Plugin Missing in Focal
+ [FFe] NTRU Plugin Missing in Focal
description: updated
Changed in strongswan (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Iain Lane (laney) wrote :

Thanks for filing - seems like something we should definitely do, so please go ahead.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Found an older discussion while talking to the Debian maintainer.
He is still unsure about enabling, but (instead of the old mass-enabling) this is a single case with an isolated use-case and reason so I want us to have it back.

Along NTRU there is also Bliss to make other bits of strongswan "quantum safe". Lets re-enable that as well.

This is a bit of a lottery, in the life-cycle of 20.04 ntru/bliss might become important then it is great to have it. Maybe it doesn't but then not a lot is lost.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

FYI: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803787 Shows that there are more users asking for it implying that there is a real use case for Ubuntu users.

Revision history for this message
Tobias Brunner (tobias-strongswan) wrote :

Enabling the bliss Plugin is probably not such a good idea. There is a potential local side-channel attack on strongSwan's BLISS implementation (https://eprint.iacr.org/2017/505).

The ntru plugin should be fine. However, using NTRU with IKEv2 is not standardized (uses an algorithm identifiers from the private use range etc.).

Multiple IKEv2 protocol extensions are currently being developed, for instance, additional exchanges to use fragmentation during the key exchange or using multiple and more generic key exchanges, in particular, post-quantum key encapsulation mechanisms (KEM, of which most have quite large public keys). The latter (plus signature algorithms) are currently being standardized by NIST (https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization) and versions of NTRU are among the contenders in round 2 (https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions). BLISS is not, but CRYSTALS-DILITHIUM is designed by the same people. It might be a while until strongSwan supports the protocol extensions (there is a branch with a partial implementation) and especially the new algorithms (we currently use the liboqs library in said branch, https://github.com/open-quantum-safe/liboqs/).

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package strongswan - 5.8.2-1ubuntu2

---------------
strongswan (5.8.2-1ubuntu2) focal; urgency=medium

  * re-add post-quantum computer signature scheme (BLISS) and encryption
    algorithm (NTRU) as well as the dependent nttfft library (LP: #1863749)
    - d/control: mention plugins in package description
    - d/rules: enable ntru and bliss at build time
    - d/libstrongswan-extra-plugins.install: ship config and shared objects

 -- Christian Ehrhardt <email address hidden> Wed, 04 Mar 2020 07:54:26 +0100

Changed in strongswan (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
lenovator (lenovator) wrote :

thanks for adding NTRU back; my old config is working again!

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Thanks Tobias, yes I'll keep NTRU and remove BLISS then.
Thanks for the detailed explanation!

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

FYI - I also pinged the related Debian bug about it, such great info should be known in all places.

Changed in strongswan (Debian):
status: Unknown → New
Robie Basak (racb)
tags: removed: server-next
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.