The Quantum Buffer
Read this topic to learn about the Juniper Networks Quantum Buffer feature to protect network devices from quantum threats and keep the network secure for longer periods.
Overview
Cryptographically relevant quantum computers (CRQCs), if realized, could significantly threaten traditional public key cryptography. In response, the industry is transitioning toward post-quantum cryptographic algorithms that can be resistant to quantum attacks. Although NIST has standardized these algorithms, they require further time to match the maturity and reliability of traditional cryptographic methods.
To mitigate the potential risk posed by CRQCs and facilitate a smoother transition to post-quantum cryptography (PQC), Juniper Networks provides a solution to enhance existing public key cryptographic systems. The solution involves strengthening the finite field cryptography (FFC) parameters, thereby extending the time window during which current systems remain secure against quantum attacks. The Quantum Buffer feature provides the capability to resist cryptanalytic attacks against traditional public key cryptographic algorithms by improving the strength of their parameters.
Juniper Networks implements Quantum Buffer for the SSH protocol.
Benefits
-
Improved resiliency—Enhances system resilience against evolving quantum attacks and provides a phased approach to adopting PQC, thereby mitigating operational risks associated with the transition.
-
Enhanced defense—Provides enhanced protection to the classical public key cryptography in the event of a CRQC. The feature also protects against advanced attacks on classical cryptography, including attacks targeting discrete log vulnerabilities.
-
Cryptoagility—Provides cryptographic agility without disrupting your existing infrastructure.
-
Robust solution—Facilitates continuous strengthening of security with the ability to periodically update Diffie-Hellman (DH) moduli.
-
Optimized performance—Balances enhanced security with performance, minimizing resource overhead while meeting the protocol compliance requirements.
Limitations
- Quantum Buffer provides a time-based buffer for a CRQC scenario offering time-limited security if a CRQC emerges in the future.
-
The prime-generation algorithms consume significant computing resources and are nondeterministic in nature. Therefore, it is difficult to accurately predict the time and CPU usage required for generating each prime.
Quantum Buffer for SSH
Juniper Networks devices establish secure SSH sessions for remote management, configuration, and automation. Juniper Networks implements JSSH with the Quantum Buffer for SSH.
The Quantum Buffer for SSH supports:
-
Dynamic generation of Finite Field Diffie-Hellman (FFDH) moduli that have large prime subgroups.
-
Periodic update of FFDH prime moduli based on the configurable refresh interval.
-
Ability to optionally specify the number of prime moduli the device must generate for added protection.
The qbufd process manages the generation of prime moduli.
JSSH
uses these moduli for the FFDH group exchange algorithms, such as
group-exchange-sha1 and
group-exchange-sha2.
JSSH uses the large prime moduli that the qbufd process generates for the
Diffie-Hellman key
exchange.
Use the following recommendations when using Quantum Buffer:
-
As the
qbufdprocess might cause the device to run at high CPU utilization, specify a larger refresh interval in the configuration to mitigate the issue. -
Use large prime group and subgroup sizes in Diffie-Hellman designer-type moduli. We recommend a minimum size of 2048 bits and an optimal size of 3072 or 4096 bits for a subgroup. Specify the count as 3 or 4 for better protection.
If you don't configure the moduli, JSSH uses the default fixed moduli set of safe primes.
Configure Quantum Buffer for SSH
Prerequisites
To configure Quantum Buffer for SSH, complete the following prerequisites:
-
See Feature Explorer to confirm platform and release support for specific features.
-
Set up your Juniper Networks device with basic configuration including interface setup and user creation.
Configuration
To configure Quantum Buffer for SSH:
Specify the cryptographic moduli settings required for the key exchange algorithms.
[edit] user@host# set system services ssh moduli type designer refresh monthly count 3
In this command, the SSH service uses designer-type moduli by regenerating three new moduli each month with every refresh. For more details, see moduli.
Configure the SSH group exchange algorithm. Note that the default algorithm set for JSSH includes the DH group exchange algorithm
group-exchange-sha2.To use
group-exchange-sha1, configure the algorithm:[edit] user@host# set system services ssh key-exchange group-exchange-sha1
To use both
group-exchange-sha1andgroup-exchange-sha2, configure both the algorithms:[edit] user@host# set system services ssh key-exchange [group-exchange-sha1 group-exchange-sha2]
Ensure your SSH client requests one of these algorithms when connecting to the device.
Verification
To verify Quantum Buffer for SSH:
-
Verify that the device runs the
qbufdprocess.You can verify that the process is running by configuring the syslog to include
qbufdevents.[edit] user@host# set system syslog file qbufd.log any any user@host# set system syslog file qbufd.log match qbufd
qbufd.log is the name of the log file. You can provide any name.
Alternatively, you can also verify the process at the device's shell prompt.
[edit] user@host:~# ps aux | grep qbufd
-
Verify moduli generation.
user@host:~# grep "Moduli generated" /var/log/qbufd.log
As moduli generation takes time, monitor the logs and the
qbufdprocess. When theqbufdprocess stops running, you'll find the new prime moduli details at/etc/ssh/modulion your device. -
Verify that the SSH login with the configured key exchange algorithm is successful.
Run the following command in your SSH client such as a laptop.
localhost:~$ ssh -o kexAlgorithms=diffie-hellman-group-exchange-sha256 user@host
Change History Table
Feature support is determined by the platform and release you are using. Use Feature Explorer to determine if a feature is supported on your platform.