Rethinking Cryptography in the Linux Kernel: Preparing for the Post-Quantum (PQC) Era
Preparing the Linux Kernel for Post-Quantum Cryptography (PQC)
This session explores practical steps and considerations for enabling Post-Quantum Cryptography (PQC) support in the Linux kernel, focusing on integration strategies relevant to open-source contributors and kernel developers.
Why It Matters
- Current public-key cryptography (e.g., RSA, ECDSA) is susceptible to attacks from quantum computers.
- To ensure long-term security of the Linux ecosystem, proactive adoption of quantum-resistant algorithms is crucial.
- While userspace projects like OpenSSH, OpenSSL, and WireGuard have started testing hybrid PQC schemes, the Linux kernel also needs a clear roadmap to stay aligned.
Focus of This Talk
- Emphasis is on practical groundwork, not theoretical cryptographic research.
- The session examines where PQC can be introduced in the kernel and how to structure early experimentation.
Key Considerations
- Standards Alignment: Keeping track of NIST’s PQC algorithm standardization and migration guidelines.
- Industry Readiness: Insights from PQCC, NCSC, and tech companies working on post-quantum transition strategies.
- Open Source Landscape: How existing open-source projects are implementing hybrid PQC (e.g., Kyber + X25519 in OpenSSH) and what we can learn from them.
- Migration Risks: Hybrid algorithms, performance bottlenecks, and potential compatibility issues in kernel-level code.
Where PQC Can Be Applied in the Kernel
- Integrity and Code Signing
- PQC-based verification for:
- Kernel module signing (e.g., replacing RSA keys in
sign-file
tool). - Firmware validation (UEFI secure boot flow).
- Kernel module signing (e.g., replacing RSA keys in
- In-Kernel Key Exchange & Encryption
- IPsec / WireGuard kernel modules using PQC-enabled key exchange (e.g., Kyber).
- PQC integration with the Linux kernel’s key management (
keyrings
) subsystem. - Filesystem and Storage Security
- PQC-enhanced encrypted filesystems (e.g.,
fscrypt
,dm-crypt
) in long-term archival scenarios.
Practical Use Cases
- IoT Devices: Embed PQC verification into firmware signing to protect devices with 10+ year life cycles.
- VPN and Secure Tunneling: WireGuard or IPsec with hybrid post-quantum key exchanges to protect against harvest-now, decrypt-later attacks.
- Kernel Module Security: Use PQC algorithms for kernel module signing and verification, especially on high-assurance systems.
- Long-Term Storage: Files encrypted today may still need to be secure in 20–30 years—PQC strengthens archival encryption.
Objectives
- Identify kernel subsystems and integration points where PQC support can be introduced with minimal disruption.
- Provide initial examples and guidelines for developers interested in contributing PQC support.
- Encourage collaborative exploration in the open-source community to build a quantum-safe future for the Linux kernel.