What is Rosenpass?
Rosenpass is a formally verified, post-quantum secure key exchange protocol designed to complement WireGuard. It provides additional key material that is resistant to attacks from quantum computers, even hypothetical future ones.Rosenpass uses the Classic McEliece cryptosystem, a code-based post-quantum algorithm that’s a finalist in NIST’s post-quantum cryptography standardization project.
Why Quantum Resistance Matters
Harvest Now, Decrypt Later Attacks
Adversaries can capture encrypted traffic today and store it, waiting for quantum computers powerful enough to decrypt it in the future. This is particularly concerning for:- Long-lived sensitive data
- Regulatory compliance requirements (GDPR, HIPAA)
- National security information
- Intellectual property
- Financial records
Post-Quantum Cryptography
Quantum computers threaten current public-key cryptography:- Traditional RSA/ECC: Vulnerable to quantum attacks (Shor’s algorithm)
- WireGuard alone: Uses Curve25519, susceptible to quantum cryptanalysis
- Rosenpass + WireGuard: Adds quantum-resistant key exchange layer
How Rosenpass Works with NetBird
Rosenpass integrates with WireGuard to provide defense-in-depth:1
Initial Key Exchange
Rosenpass performs a post-quantum key exchange between peers using Classic McEliece.
2
Key Material Mixing
The quantum-resistant key material is mixed with WireGuard’s traditional keys.
3
Periodic Key Rotation
Rosenpass continuously exchanges new key material every 2 minutes, providing forward secrecy.
4
Encryption
WireGuard encrypts traffic using the combined key material, protecting against both classical and quantum attacks.
Even if WireGuard’s Curve25519 is broken by quantum computers, the Rosenpass-derived keys keep the connection secure.
Enabling Rosenpass
NetBird Client Configuration
Enable Rosenpass when starting the NetBird client:- Command Line
- Environment Variable
- Configuration File
Permissive Mode
Rosenpass permissive mode allows your peer to accept connections from peers that don’t have Rosenpass enabled:Checking Rosenpass Status
Verify Rosenpass is active:Deployment Strategies
Phased Rollout
Roll out Rosenpass gradually to minimize disruption:1
Test Environment
Enable Rosenpass in a test environment with a few peers.
2
Pilot Group
Deploy to a pilot group using permissive mode.Monitor for compatibility issues and performance impact.
3
Organization-Wide
Roll out to all peers once pilot is successful.Keep permissive mode enabled during transition.
4
Enforce Rosenpass
After all peers are upgraded, disable permissive mode.
Network-Wide Configuration
For managed deployments, distribute configuration via:Configuration Management
Use Ansible, Puppet, or Chef to deploy Rosenpass-enabled configurations.
Group Policy
Deploy Windows configurations via Group Policy Objects (GPO).
Mobile Device Management
Push configurations to mobile devices via MDM solutions.
Container Orchestration
Configure Rosenpass in container environment variables or config maps.
Performance Considerations
Computational Overhead
Rosenpass adds minimal overhead:- Key exchange: Initial handshake takes slightly longer
- Ongoing overhead: Negligible impact on throughput
- CPU usage: Minimal increase for key rotation every 2 minutes
- Memory: Small additional memory footprint for Rosenpass daemon
Network Impact
Rosenpass protocol characteristics:The larger initial handshake is due to Classic McEliece’s post-quantum security properties. After the initial exchange, performance is nearly identical to WireGuard-only.
Platform Support
Rosenpass availability by platform:Security Properties
Cryptographic Guarantees
Rosenpass provides:- Post-quantum security: Resistant to Grover’s and Shor’s quantum algorithms
- Forward secrecy: Periodic key rotation every 2 minutes
- Defense in depth: Complements WireGuard’s encryption
- Formal verification: Mathematically proven security properties
Threat Model
Rosenpass protects against:Quantum Computer Attacks
Quantum Computer Attacks
Even if a sufficiently powerful quantum computer breaks Curve25519:
- Rosenpass keys remain secure
- Traffic stays encrypted
- No retroactive decryption possible
Harvest Now, Decrypt Later
Harvest Now, Decrypt Later
Adversaries capturing encrypted traffic today cannot:
- Decrypt it when quantum computers arrive
- Recover historical key material
- Break forward secrecy guarantees
Classical Attacks
Classical Attacks
Rosenpass doesn’t weaken existing security:
- WireGuard’s classical security remains intact
- No reduction in current threat protection
- Additional layer, not a replacement
What Rosenpass Doesn’t Protect
Compliance and Standards
Regulatory Considerations
Post-quantum cryptography is becoming a compliance requirement:- NIST: Standardizing post-quantum algorithms
- NSA: Recommends planning for quantum-resistant cryptography
- EU: Quantum-safe cryptography in digital security strategies
- Financial sector: Moving towards quantum-resistant solutions
Algorithm Selection
Why Classic McEliece:1
NIST Finalist
Classic McEliece is a finalist in NIST’s PQC standardization.
2
Proven Security
Code-based cryptography has decades of cryptanalysis without breaks.
3
Conservative Choice
Relies on well-understood mathematical problems.
4
Long-term Confidence
Likely to remain secure even as quantum computing advances.
Troubleshooting
Rosenpass Handshake Failures
Rosenpass Handshake Failures
Symptoms:
- Peers fail to establish quantum-resistant connection
- Falling back to WireGuard-only in permissive mode
- Verify both peers have Rosenpass enabled
- Check firewall rules allow Rosenpass packets
- Ensure peers are running compatible NetBird versions
- Review logs for specific error messages
Performance Issues
Performance Issues
If experiencing slowdowns:
- Measure baseline performance without Rosenpass
- Check CPU usage during key rotation
- Verify network bandwidth isn’t saturated
- Rule out other factors (firewall, NAT, routing)
Rosenpass should not cause noticeable performance degradation. If you see significant impact, investigate other potential causes.
Compatibility Problems
Compatibility Problems
Mixed version environments:
- Older NetBird versions may not support Rosenpass
- Use permissive mode during upgrade period
- Plan coordinated upgrades for best results
- Ensure all platforms in your deployment support Rosenpass
- Test in staging environment first
Best Practices
1
Enable by Default
Make Rosenpass the default for all new deployments.
2
Document Rollout
Keep records of which peers have Rosenpass enabled.
3
Monitor Adoption
Track Rosenpass adoption rate across your network.
4
Plan for Post-Quantum Future
Stay informed about NIST PQC standardization progress.
5
Test Regularly
Verify Rosenpass continues working after client updates.
6
Combine with Other Security
Use alongside MFA, posture checks, and access policies.
Learn More
Rosenpass Project
Official Rosenpass documentation and research papers
NetBird Blog
NetBird’s quantum resistance announcement
NIST PQC
NIST Post-Quantum Cryptography project
Classic McEliece
Classic McEliece algorithm details
Next Steps
SSO Setup
Configure identity provider integration
Network Access
Set up access control policies