====== 5.4 Certificati Effimeri ====== Certificati di sessione a breve durata per maggiore sicurezza. ===== Concetto ===== * Il certificato principale autentica una sola volta * Il server emette un certificato effimero * Il certificato effimero vale solo per questa sessione * Rotazione automatica ogni X minuti ===== Flusso ===== 1. Client -> Server: Certificato principale 2. Server valida contro CA 3. Server -> Client: Certificato effimero (firmato) 4. Client usa certificato effimero per le richieste 5. Dopo scadenza: torna al passo 1 ===== Configurazione ===== { "Security": { "EphemeralCertificate": { "Enabled": true, "ValidityMinutes": 15, "RotationBeforeExpiryMinutes": 2 } } } ===== Rotazione ===== Il client deve richiedere un nuovo certificato effimero in tempo: // Verificare se rotazione necessaria if (ephemeralCert.NotAfter < DateTime.UtcNow.AddMinutes(2)) { ephemeralCert = await RequestNewEphemeralCert(); } ===== Vantaggi ===== * Certificato compromesso valido solo per breve tempo * Forward Secrecy * Superficie di attacco minimizzata ===== Libreria PQ-Crypto ===== Per la creazione programmatica di certificati PQ effimeri vedere: * [[..:..:..:pqcrypt:api:wvds-system-security-cryptography:x509certificates:certificaterequestextensions|CertificateRequest Extensions]] * [[..:..:..:pqcrypt:api:wvds-system-security-cryptography:providers:nativecryptoprovider|NativeCryptoProvider.CreateEphemeralCertificateAsync]] * [[..:..:..:pqcrypt:developer:integration|Integration Guide]]