====== 5.4 Efemerni certifikati ======
Kratkotrajni sejni certifikati za povečano varnost.
===== Koncept =====
* Glavni certifikat avtenticira enkrat
* Strežnik izda efemerni certifikat
* Efemerni certifikat velja samo za to sejo
* Samodejna rotacija vsakih X minut
===== Potek =====
1. Odjemalec → Strežnik: Glavni certifikat
2. Strežnik validira proti CA
3. Strežnik → Odjemalec: Efemerni certifikat (podpisan)
4. Odjemalec uporablja efemerni certifikat za zahteve
5. Po poteku: Nazaj na korak 1
===== Konfiguracija =====
{
"Security": {
"EphemeralCertificate": {
"Enabled": true,
"ValidityMinutes": 15,
"RotationBeforeExpiryMinutes": 2
}
}
}
===== Rotacija =====
Odjemalec mora pravočasno zahtevati nov efemerni certifikat:
// Preveri če je potrebna rotacija
if (ephemeralCert.NotAfter < DateTime.UtcNow.AddMinutes(2))
{
ephemeralCert = await RequestNewEphemeralCert();
}
===== Prednosti =====
* Kompromitiran certifikat je veljaven le kratek čas
* Forward Secrecy
* Minimizirana površina napada
===== PQ-Crypto knjižnica =====
Za programsko ustvarjanje efemernih PQ certifikatov glejte:
* [[..:..:..:..:..:pqcrypt:api:wvds-system-security-cryptography:x509certificates:certificaterequestextensions|CertificateRequest Extensions]]
* [[..:..:..:..:..:pqcrypt:api:wvds-system-security-cryptography:providers:nativecryptoprovider|NativeCryptoProvider.CreateEphemeralCertificateAsync]]
* [[..:..:..:..:..:pqcrypt:developer:integration|Vodnik za integracijo]]