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-groups directive.

  • 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:

  • SecP256r1MLKEM768

  • SecP384r1MLKEM1024

If you're using FIPS mode, see: