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:Initial Key Exchange
Rosenpass performs a post-quantum key exchange between peers using Classic McEliece.
Periodic Key Rotation
Rosenpass continuously exchanges new key material every 2 minutes, providing forward secrecy.
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:Pilot Group
Deploy to a pilot group using permissive mode.Monitor for compatibility issues and performance impact.
Organization-Wide
Roll out to all peers once pilot is successful.Keep permissive mode enabled during transition.
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:| Metric | Impact |
|---|---|
| Handshake size | Larger than WireGuard-only (~1.3MB initial exchange) |
| Key rotation | Every 2 minutes (small periodic packets) |
| Bandwidth | Less than 1% increase for typical workloads |
| Latency | No measurable impact on established connections |
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:| Platform | Support | Notes |
|---|---|---|
| Linux | ✅ Full | Native support |
| macOS | ✅ Full | Supported on all versions |
| Windows | ✅ Full | Windows 10/11 |
| Android | ✅ Full | Mobile support |
| iOS | ✅ Full | Mobile support |
| OpenWRT | ✅ Full | Router/embedded support |
| Docker | ✅ Full | Container deployments |
| Serverless | ✅ Full | FaaS environments |
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: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
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