Tutorial: Enable Quantum-Resistant Encryption in Access Server with Post-Quantum Cryptography (PQC)
Overview
Post-Quantum Cryptography (PQC) provides quantum-resistant, or quantum-safe, cryptographic algorithms designed to withstand attacks from sufficiently powerful quantum computers.
A future quantum computer could potentially break widely used public-key cryptography based on RSA and elliptic curves using Shor's algorithm. This also creates a present-day harvest-now, decrypt-later risk, where an attacker records encrypted traffic now with the intent of decrypting it in the future when sufficiently capable quantum computing becomes available.
Access Server can use post-quantum key agreement for VPN connections when both the server and VPN client support it. With OpenSSL 3.5 or newer, the default post-quantum group is X25519MLKEM768, which combines the classical X25519 elliptic curve with ML-KEM (MLKEM), the NIST-standardized post-quantum key encapsulation mechanism.
In most supported configurations, Access Server and the VPN client can negotiate PQC automatically. This tutorial shows you how to:
Verify that your environment supports PQC.
Force post-quantum key agreement using the
tls-groupsdirective.Maintain compatibility with clients that don't yet support PQC.
Verify the negotiated key agreement in Access Server and client logs.
Configure PQC when Access Server is running in FIPS mode.
Prerequisites
Before you begin, ensure you have:
Access Server installed on a Linux host with OpenSSL 3.5 or newer.
At the time of this writing, supported Linux distributions with OpenSSL 3.5 or newer include:
Ubuntu 26.04 LTS
Debian 13
RHEL 9 and compatible distributions
RHEL 10 and compatible distributions
An OpenVPN client that uses OpenSSL 3.5 or newer.
At the time of this writing, OpenVPN Connect v3 doesn't support OpenSSL 3.5. You can instead use a compatible OpenVPN Community client, such as:
Admin Web UI access or console access with root privileges.
One or more users configured in Access Server.
Before you begin
If both Access Server and the VPN client use OpenSSL 3.5 or newer, they can negotiate post-quantum key agreement without forcing a specific group. The configuration in this tutorial is primarily useful when you need to require PQC or explicitly control which TLS groups are permitted.
Test these changes in a non-production environment before deploying them to users.
Understand client compatibility before forcing PQC
If you configure Access Server to allow only a post-quantum group such as X25519MLKEM768, clients that don't support that group won't be able to connect.
An unsupported connection can fail with an OpenSSL error similar to: OpenSSL: error:0A000065:SSL routines::no suitable key share:
For example, if your users currently connect with OpenVPN Connect v3, forcing X25519MLKEM768 would prevent those clients from connecting.
To support both PQC-capable clients and clients that use traditional elliptic curve groups, configure both groups:
tls-groups "X25519MLKEM768:X25519"Plan your migration accordingly before requiring PQC across a production deployment.
FIPS mode considerations
Access Server running in FIPS mode supports the following post-quantum groups:
SecP256r1MLKEM768SecP384r1MLKEM1024
If you're using FIPS mode, see: