1. Izgradnja PKI infrastrukture
Scenariji: 6
FFI funkcije: ~45
Status: ⏳ Planirano
Ova kategorija obuhvaća sve scenarije za izgradnju i upravljanje Public Key Infrastructure (PKI) s podrškom za Post-Quantum kriptografiju. Od kreiranja Root-CA preko višerazinskih CA hijerarhija do konfiguracije servisa za opoziv (CRL/OCSP).
Scenariji
| ID | Scenarij | Opis | Složenost | Status |
|---|---|---|---|---|
| 1.1 | Kreiranje Root-CA | Samopotpisani Root-CA s ML-DSA-65 | ⭐⭐⭐⭐ | ⏳ |
| 1.2 | Kreiranje Intermediate-CA | Podređeni CA potpisan od Root-a | ⭐⭐⭐ | ⏳ |
| 1.3 | Izgradnja CA hijerarhije | Višerazinska PKI struktura | ⭐⭐⭐⭐ | ⏳ |
| 1.4 | Konfiguracija Trust Store-a | Upravljanje pouzdanim CA-ovima | ⭐⭐ | ⏳ |
| 1.5 | Definiranje Certificate Policy | Postavljanje pravila izdavanja | ⭐⭐⭐ | ⏳ |
| 1.6 | CRL/OCSP infrastruktura | Postavljanje servisa za opoziv | ⭐⭐⭐⭐ | ⏳ |
Pregled arhitekture
ML-DSA-65/87
20 godina")] end subgraph INTERMEDIATE["📜 Intermediate-CA (Scenarij 1.2)"] I1["Intermediate-CA
Server
10 godina"] I2["Intermediate-CA
Klijent
10 godina"] I3["Intermediate-CA
CodeSign
10 godina"] end subgraph ENDENTITY["🎫 Certifikati krajnjih entiteta"] E1["Server certifikati
TLS/HTTPS"] E2["Klijentski certifikati
mTLS/Auth"] E3["CodeSign certifikati
Potpisivanje"] end R -->|potpisuje| I1 R -->|potpisuje| I2 R -->|potpisuje| I3 I1 -->|izdaje| E1 I2 -->|izdaje| E2 I3 -->|izdaje| E3 subgraph TRUST["🛡️ Trust Store (Scenarij 1.4)"] T1["Root-CA certifikati"] T2["Cross-certifikati"] end subgraph REVOCATION["🚫 Opoziv (Scenarij 1.6)"] CRL["CRL Distribution Points"] OCSP["OCSP Responder"] end R -.->|objavljuje| TRUST I1 & I2 & I3 -.->|objavljuje| CRL I1 & I2 & I3 -.->|odgovara| OCSP
Sektorski specifični zahtjevi
Ovisno o sektoru, primjenjuju se različiti zahtjevi za trajanje PKI i usklađenost:
| Sektor | Valjanost Root-CA | Posebnosti | Regulativa |
|---|---|---|---|
| Energetika/SCADA | 25 godina | Životni vijek vjetroagregata, offline CRL | NIS21), KRITIS-VO |
| Zdravstvo | 20 godina | gematik OID-ovi, ePA kompatibilnost | GDPR čl. 32, DiGAV |
| Automobilska industrija | 30 godina | V2X-PKI, pseudonimni certifikati | UN R1552), ISO 21434 |
| Industrija 4.0 | 20 godina | OT/IT razdvajanje, IEC 62443 | NIS2, Uredba o strojevima |
| Standardni IT | 15 godina | Uobičajena Enterprise PKI | BSI IT-Grundschutz |
Vrste ključeva za CA
| Tip CA | Preporučeni algoritam | Valjanost | Obrazloženje |
|---|---|---|---|
| Root-CA | ML-DSA-65 ili ML-DSA-87 | 15-25 godina | Najviša sigurnost, rijetko korišten |
| Intermediate-CA | ML-DSA-65 | 8-12 godina | Ravnoteža sigurnosti i performansi |
| OCSP Responder | ML-DSA-44 | 1-3 godine | Često potpisivanje, kritične performanse |
Hibridna preporuka: Za prijelazno razdoblje mogu se koristiti hibridni ključevi (ECDSA P-384 + ML-DSA-65) kako bi se osigurala kompatibilnost s klasičnim sustavima.
Važne ekstenzije za CA certifikate
Root-CA
| Ekstenzija | Vrijednost | Critical |
|---|---|---|
| Basic Constraints | CA=true, pathLen=1 ili 2 | ✅ Da |
| Key Usage | keyCertSign, cRLSign | ✅ Da |
| Subject Key Identifier | SHA-256(publicKey) | ❌ Ne |
Intermediate-CA
| Ekstenzija | Vrijednost | Critical |
|---|---|---|
| Basic Constraints | CA=true, pathLen=0 | ✅ Da |
| Key Usage | keyCertSign, cRLSign | ✅ Da |
| Subject Key Identifier | SHA-256(publicKey) | ❌ Ne |
| Authority Key Identifier | SKI Root-CA | ❌ Ne |
| CRL Distribution Points | URL do CRL-a | ❌ Ne |
| Authority Info Access | OCSP URL, CA Issuers URL | ❌ Ne |
| Certificate Policies | Policy OID | ❌ Ne |
Sigurnosne napomene
Kritični zahtjevi za rad CA:
- Root-CA privatni ključ: Pohraniti offline (Air-Gapped HSM ili šifrirani USB stick u sefu)
- Intermediate-CA privatni ključ: HSM ili snažno šifriran s hardverskim tokenom
- Lozinke: Minimalno 20 znakova, visoka entropija, sigurno pohranjeno
- Audit logging: Protokolirati sve CA operacije
- Backup: Šifrirane sigurnosne kopije na odvojenim lokacijama
- Key Ceremony: Dokumentiran proces za Root-CA operacije
Nikada:
- Pohranjivati Root-CA privatni ključ na mrežno povezanim sustavima
- CA lozinke u čistom tekstu u skriptama/konfiguracijama
- Izdavati CA certifikate bez pathLength ograničenja
- Koristiti samopotpisane certifikate krajnjih entiteta u produkciji
Tipičan tijek rada
Brzi početak koda
Minimalni primjer: Kreiranje Root-CA (C#)
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ; using var ctx = PqCryptoContext.Initialize(); // Root-CA s ML-DSA-65 using var rootKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); var rootDn = new DnBuilder().AddCN("My Root CA").AddO("My Org").AddC("DE").Build(); using var rootCert = ctx.CreateRootCertificate(rootKey, rootDn, validYears: 20, extensions: new ExtBuilder() .BasicConstraints(ca: true, pathLen: 1) .KeyUsage(KeyUsageFlags.KeyCertSign | KeyUsageFlags.CrlSign) .SubjectKeyIdentifier(rootKey) .Build() ); // Spremanje File.WriteAllText("root-ca.crt.pem", rootCert.ToPem()); File.WriteAllText("root-ca.key.pem", rootKey.ToEncryptedPem("SecurePassword123!"));
→ Potpuni primjer: Scenarij 1.1
Povezane kategorije
| Kategorija | Odnos |
|---|---|
| 2. CSR | Kreiranje CSR-a za Intermediate-CA |
| 3. Izdavanje certifikata | Potpisivanje certifikata krajnjih entiteta od strane CA |
| 5. Validacija | Validacija certifikata prema Trust Store-u |
| 6. Opoziv | CRL/OCSP operacije |
| 11. Upravljanje ključevima | Upravljanje, rotacija i uništavanje CA ključeva |
« ← Pregled scenarija | 1.1 Kreiranje Root-CA → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional