Schlüsselmanagement

Kompakte Beispiele für Schlüsselmanagement. → Details: Schlüssel-Szenarien


Schlüssel generieren

// ML-DSA (Signaturen)
using var mlDsa65 = MlDsaSigner.Create(MlDsaParameterSet.MlDsa65);
using var mlDsa87 = MlDsaSigner.Create(MlDsaParameterSet.MlDsa87);
 
// ML-KEM (Key Exchange)
using var mlKem768 = MlKem.Create(MlKemParameterSet.MlKem768);
using var mlKem1024 = MlKem.Create(MlKemParameterSet.MlKem1024);
 
// Klassisch (Hybrid)
using var ecdsa = ECDsa.Create(ECCurve.NamedCurves.nistP384);
using var rsa = RSA.Create(4096);

Details: Generierung


Schlüssel speichern

// DPAPI (Windows)
byte[] privateKey = mlDsa.ExportPrivateKey();
byte[] encrypted = ProtectedData.Protect(privateKey,
    entropy: null, DataProtectionScope.CurrentUser);
 
// PEM mit Passwort
string pem = mlDsa.ExportEncryptedPkcs8PrivateKeyPem(
    "passwort"u8, new PbeParameters(
        PbeEncryptionAlgorithm.Aes256Cbc,
        HashAlgorithmName.SHA256, 100000));

Details: Speicherung


Schlüssel rotieren

var rotationService = new KeyRotationService(options =>
{
    options.RotationInterval = TimeSpan.FromDays(90);
    options.MaxKeyAge = TimeSpan.FromDays(365);
});
 
// Prüfen ob Rotation nötig
if (rotationService.ShouldRotate(currentKey))
{
    var newKey = MlDsaSigner.Create(MlDsaParameterSet.MlDsa65);
    rotationService.Rotate(currentKey, newKey);
}

Details: Rotation


Schlüssel-Backup

// Shamir Secret Sharing (3-of-5)
var shares = ShamirSecretSharing.Split(
    privateKey, totalShares: 5, threshold: 3);
 
// Verteilen an Treuhänder
foreach (var (index, share) in shares)
    SaveToTrustee(index, share);
 
// Wiederherstellen
var recoveredShares = new[] { shares[0], shares[2], shares[4] };
byte[] recovered = ShamirSecretSharing.Combine(recoveredShares);

Details: Backup


Schlüssel vernichten

// Sicheres Löschen
CryptographicOperations.ZeroMemory(privateKeyBytes);
 
// Zertifikat widerrufen
var crlBuilder = new CertificateRevocationListBuilder();
crlBuilder.AddEntry(cert.SerialNumber,
    DateTimeOffset.UtcNow, X509RevocationReason.KeyCompromise);

Details: Vernichtung


Empfehlungen

Schlüsseltyp Algorithmus Gültigkeit
Root-CA ML-DSA-87 20+ Jahre
Intermediate-CA ML-DSA-65 5-10 Jahre
End-Entity ML-DSA-65 / Hybrid 1-2 Jahre
Ephemer ML-KEM-768 Session

« ← Kurzreferenz | → Schlüssel-Szenarien (Details) »


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: den 29.01.2026 um 15:12