Szenario 4.2: Rekey (Neuer Schlüssel)
Kategorie: Zertifikate verwalten
Komplexität: ⭐⭐⭐⭐ (Hoch)
Voraussetzungen: Bestehendes Zertifikat
Geschätzte Zeit: 20-30 Minuten
Beschreibung
Dieses Szenario beschreibt das Rekey - die Ausstellung eines neuen Zertifikats mit einem neuen Schlüsselpaar. Rekey ist notwendig bei Kompromittierungsverdacht, Algorithmus-Upgrades oder Schlüsselstärke-Erhöhung.
Wann Rekey erforderlich ist:
- Verdacht auf Schlüsselkompromittierung
- Migration von RSA zu ML-DSA (Post-Quantum)
- Erhöhung der Schlüssellänge
- Routine-Rotation (Sicherheitsrichtlinie)
- Ablauf des maximalen Schlüssel-Lebenszyklus
Workflow
flowchart LR
OLD[Altes Zertifikat] --> GEN[Neues Schlüsselpaar]
GEN --> CSR[Neuer CSR]
CSR --> ISSUE[Neues Zertifikat]
ISSUE --> DEPLOY[Deployment]
DEPLOY --> REVOKE[Altes widerrufen]
GEN --> BACKUP[Key Backup]
style GEN fill:#fff3e0
style ISSUE fill:#e8f5e9
Code-Beispiel (C#)
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ; using var ctx = PqCryptoContext.Initialize(); // Altes Zertifikat laden (für Subject/SANs) var oldCert = ctx.LoadCertificate("server.crt.pem"); // CA laden var caCert = ctx.LoadCertificate("intermediate-ca.crt.pem"); var caKey = ctx.LoadPrivateKey("intermediate-ca.key.pem", "CaPassword!"); // NEUES Schlüsselpaar generieren (PQ-Upgrade!) using var newKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); // Subject und SANs vom alten Zertifikat übernehmen var oldSans = ctx.GetSubjectAlternativeNames(oldCert); // Neuer CSR mit neuem Schlüssel var csr = ctx.CreateCertificateRequest( newKey, oldCert.SubjectName, // Subject übernehmen new ExtBuilder() .SubjectAlternativeName(oldSans) // SANs übernehmen .Build() ); // Neues Zertifikat ausstellen var newCert = ctx.IssueCertificate( csr, issuerCert: caCert, issuerKey: caKey, serialNumber: ctx.GenerateSerialNumber(), validDays: 365, extensions: new ExtBuilder() .BasicConstraints(ca: false, critical: true) .KeyUsage(KeyUsageFlags.DigitalSignature | KeyUsageFlags.KeyEncipherment) .ExtendedKeyUsage(ExtKeyUsage.ServerAuth) .SubjectKeyIdentifier(newKey.PublicKey) // NEUER SKI! .AuthorityKeyIdentifier(caCert) .CrlDistributionPoint("http://crl.example.com/intermediate.crl") .Build() ); // Speichern newCert.ToPemFile("server-rekeyed.crt.pem"); newKey.ToEncryptedPemFile("server-rekeyed.key.pem", "NewKeyPassword!"); Console.WriteLine("Rekey abgeschlossen:"); Console.WriteLine($" Alter Algorithmus: {oldCert.PublicKey.Oid.FriendlyName}"); Console.WriteLine($" Neuer Algorithmus: ML-DSA-65"); Console.WriteLine($" Alter SKI: {oldCert.GetSubjectKeyIdentifier()}"); Console.WriteLine($" Neuer SKI: {newCert.GetSubjectKeyIdentifier()}");
PQ-Migration: RSA zu ML-DSA
Für die Migration von klassischen zu Post-Quantum-Algorithmen:
// Hybrid-Rekey: RSA + ML-DSA parallel public class HybridRekey { public static (X509Certificate2 classical, X509Certificate2 pq) PerformHybridRekey( X509Certificate2 oldRsaCert, PqCryptoContext ctx, X509Certificate2 caCert, AsymmetricAlgorithm caKey) { // 1. RSA-Schlüssel erneuern (Übergangsphase) using var newRsaKey = RSA.Create(4096); var rsaCsr = ctx.CreateCertificateRequest(newRsaKey, oldRsaCert.SubjectName); var rsaCert = ctx.IssueCertificate(rsaCsr, caCert, caKey, validDays: 365); // 2. ML-DSA-Schlüssel erstellen (Zukunft) using var mlDsaKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); var pqCsr = ctx.CreateCertificateRequest(mlDsaKey, oldRsaCert.SubjectName); var pqCert = ctx.IssueCertificate(pqCsr, caCert, caKey, validDays: 365); return (rsaCert, pqCert); } }
Branchenspezifische Rekey-Anforderungen
| Branche | Max. Schlüssel-Lebensdauer | Rekey-Trigger | Besonderheit |
|---|---|---|---|
| Finanzsektor | 2 Jahre | HSM-Policy | FIPS 140-3 Compliance |
| Healthcare | 3 Jahre | Audit-Befund | DiGAV-Konformität |
| Energie/SCADA | 5 Jahre | Wartungsfenster | Offline-Fähigkeit |
| Automotive | Fahrzeug-Lebensdauer | Security-Update | OTA-Mechanismus |
Rekey-Checkliste
Vor dem Rekey:
- [ ] Alten Schlüssel sichern (falls noch benötigt)
- [ ] Alle Systeme identifizieren, die das Zertifikat nutzen
- [ ] Deployment-Plan erstellen
- [ ] Rollback-Plan vorbereiten
- [ ] Wartungsfenster kommunizieren
Nach dem Rekey:
- [ ] Neues Zertifikat auf allen Systemen deployen
- [ ] Verbindungen testen
- [ ] Altes Zertifikat widerrufen
- [ ] Alten Schlüssel sicher vernichten
- [ ] Dokumentation aktualisieren
Verwandte Szenarien
| Beziehung | Szenario | Beschreibung |
|---|---|---|
| Alternative | 4.1 Renewal | Gleicher Schlüssel |
| Nächster Schritt | 6.4 Widerrufen | Altes Zertifikat |
| Voraussetzung | 11.1 Schlüsselgenerierung | Neuer Schlüssel |
| Verwandt | 11.5 Schlüsselvernichtung | Alten Key löschen |
« ← 4.1 Renewal | ↑ Verwaltung-Übersicht | 4.3 Archivierung → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: den 29.01.2026 um 15:13