~~NOTOC~~ ====== 6. Opoziv (Revocation) ====== **Scenariji:** 4 \\ **FFI funkcije:** ~35 \\ **Status:** ⏳ Planirano Ova kategorija obuhvaća sve scenarije za opoziv certifikata. Kreiranje CRL-a, postavljanje OCSP Respondera i upravljanje Delta-CRL-om. ---- ===== Scenariji ===== ^ ID ^ Scenarij ^ Opis ^ Složenost ^ Status ^ | [[.:crl_erstellen|6.1]] | Kreiranje CRL-a | Generiranje Certificate Revocation List | ⭐⭐⭐ | ⏳ | | [[.:ocsp_responder|6.2]] | OCSP Responder | Online Certificate Status Protocol | ⭐⭐⭐⭐ | ⏳ | | [[.:delta_crl|6.3]] | Delta-CRL | Inkrementalna CRL ažuriranja | ⭐⭐⭐⭐ | ⏳ | | [[.:zertifikat_widerrufen|6.4]] | Opoziv certifikata | Opoziv pojedinačnog certifikata | ⭐⭐ | ⏳ | ---- ===== Arhitektura opoziva ===== flowchart TB subgraph CA["🔐 Certificate Authority"] REVOKE[Zahtjev za opoziv] DB[(Revocation DB)] CRL_GEN[CRL Generator] OCSP_SIGN[OCSP Signer] end subgraph DIST["📤 Distribucija"] CDP[CRL Distribution Point] OCSP_SRV[OCSP Responder] end subgraph CLIENT["🖥️ Klijent"] VAL[Validator] end REVOKE --> DB DB --> CRL_GEN --> CDP DB --> OCSP_SIGN --> OCSP_SRV VAL --> |HTTP GET| CDP VAL --> |OCSP Request| OCSP_SRV style DB fill:#e3f2fd style CDP fill:#e8f5e9 style OCSP_SRV fill:#fff3e0 ---- ===== Razlozi opoziva (RFC 5280) ===== ^ Kod ^ Razlog ^ Opis ^ | 0 | unspecified | Razlog nije naveden | | 1 | keyCompromise | Privatni ključ kompromitiran | | 2 | cACompromise | CA kompromitiran | | 3 | affiliationChanged | Organizacija promijenjena | | 4 | superseded | Zamijenjen novim certifikatom | | 5 | cessationOfOperation | Usluga ukinuta | | 6 | certificateHold | Privremeno blokiran | ---- ===== CRL vs OCSP ===== ^ Aspekt ^ CRL ^ OCSP ^ | **Ažuriranje** | Periodično (sati/dani) | Realtime | | **Veličina** | Raste s opozivima | Konstantno (~4 KB) | | **Offline** | ✅ Moguće | ❌ Potreban poslužitelj | | **Privatnost** | ✅ Upiti nisu vidljivi | ⚠️ Poslužitelj vidi upite | | **Standard** | RFC 5280 | RFC 6960 | ---- ===== Specifični zahtjevi po industrijama ===== ^ Industrija ^ Metoda ^ Interval ažuriranja ^ Posebnosti ^ | **Energetika/SCADA** | CRL | 24-72h | Offline okruženja, ručna distribucija | | **Zdravstvo** | OCSP | Realtime | gematik zahtjevi, QES | | **Automobilska** | CRL + OCSP | 1-6h | V2X zahtijeva brzu provjeru | | **Standardni IT** | OCSP Stapling | Realtime | Optimizirano za performanse | ---- ===== Brzi početak koda ===== ==== Kreiranje CRL-a ==== // Inicijalizacija CRL Buildera var crlBuilder = ctx.CreateCrlBuilder(issuerCert, issuerKey); // Dodavanje opozvanih certifikata crlBuilder.AddRevokedCertificate( serialNumber: revokedCert.SerialNumber, revocationDate: DateTimeOffset.UtcNow, reason: RevocationReason.KeyCompromise ); // Generiranje CRL-a var crl = crlBuilder.Build( thisUpdate: DateTimeOffset.UtcNow, nextUpdate: DateTimeOffset.UtcNow.AddDays(7), crlNumber: 42 ); File.WriteAllBytes("intermediate.crl", crl.ToDer()); ==== Opoziv certifikata ==== // Učitavanje certifikata za opoziv var certToRevoke = ctx.LoadCertificate("compromised.crt.pem"); // Unos u Revocation-DB ctx.RevokeCertificate( certificate: certToRevoke, reason: RevocationReason.KeyCompromise, invalidityDate: DateTimeOffset.UtcNow.AddHours(-2) // Kompromitacija prije 2h ); // Generiranje i distribucija novog CRL-a var newCrl = ctx.GenerateCrl(issuerCert, issuerKey); await PublishCrl(newCrl, "http://crl.example.com/intermediate.crl"); ---- ===== Povezane kategorije ===== ^ Kategorija ^ Odnos ^ | [[.:pki:start|1. PKI infrastruktura]] | CRL Distribution Points u CA konfiguraciji | | [[.:validierung:start|5. Validacija]] | Provjera opoziva kod validacije | | [[.:verwaltung:start|4. Upravljanje certifikatima]] | Re-Key nakon opoziva | ---- << [[hr:int:pqcrypt:szenarien:validierung:start|← 5. Validacija]] | [[hr:int:pqcrypt:szenarien:start|↑ Scenariji]] | [[.:verschluesselung:start|7. Šifriranje →]] >> ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional// {{tag>kategorija opoziv revocation crl ocsp}}