1. Vzpostavitev PKI infrastrukture

Scenariji: 6
FFI funkcije: ~45
Status: ⏳ Načrtovano

Ta kategorija zajema vse scenarije za vzpostavitev in upravljanje infrastrukture javnih ključev (PKI), ki podpira postkvantne algoritme. Od ustvarjanja korenskega CA prek večnivojskih CA hierarhij do konfiguracije storitev preklica (CRL/OCSP).


Scenariji

ID Scenarij Opis Kompleksnost Status
1.1 Ustvarjanje korenskega CA Samopodpisan korenski CA z ML-DSA-65 ⭐⭐⭐⭐
1.2 Ustvarjanje vmesnega CA Podrejeni CA, podpisan s korenskim ⭐⭐⭐
1.3 Vzpostavitev CA hierarhije Večnivojska PKI struktura ⭐⭐⭐⭐
1.4 Konfiguracija shrambe zaupanja Upravljanje zaupanja vrednih CA ⭐⭐
1.5 Definicija pravilnika certifikatov Določitev pravilnika izdajanja ⭐⭐⭐
1.6 CRL/OCSP infrastruktura Vzpostavitev storitev preklica ⭐⭐⭐⭐

Pregled arhitekture

flowchart TB subgraph ROOT["🔐 Korenski CA (Scenarij 1.1)"] R[("Korenski CA
ML-DSA-65/87
20 let")] end subgraph INTERMEDIATE["📜 Vmesni CA (Scenarij 1.2)"] I1["Vmesni CA
Strežnik
10 let"] I2["Vmesni CA
Odjemalec
10 let"] I3["Vmesni CA
Podpisovanje kode
10 let"] end subgraph ENDENTITY["🎫 Certifikati končnih entitet"] E1["Strežniški cert.
TLS/HTTPS"] E2["Odjemalski cert.
mTLS/Auth"] E3["Cert. za podpis.
Podpisovanje"] end R -->|podpisuje| I1 R -->|podpisuje| I2 R -->|podpisuje| I3 I1 -->|izdaja| E1 I2 -->|izdaja| E2 I3 -->|izdaja| E3 subgraph TRUST["🛡️ Shramba zaupanja (Scenarij 1.4)"] T1["Certifikati korenskega CA"] T2["Navzkrižni certifikati"] end subgraph REVOCATION["🚫 Preklic (Scenarij 1.6)"] CRL["CRL distribucijske točke"] OCSP["OCSP odzivnik"] end R -.->|objavlja| TRUST I1 & I2 & I3 -.->|objavlja| CRL I1 & I2 & I3 -.->|odgovarja| OCSP


Panožne zahteve

Glede na panogo veljajo različne zahteve za življenjsko dobo PKI in skladnost:

Panoga Veljavnost korenskega CA Posebnosti Regulativa
Energetika/SCADA 25 let Življenjska doba WKA, offline CRL NIS2, KRITIS-VO
Zdravstvo 20 let gematik OID-i, združljivost z ePA GDPR čl. 32, DiGAV
Avtomobilska industrija 30 let V2X-PKI, psevdonimni certifikati UN R155, ISO 21434
Industrija 4.0 20 let Ločitev OT/IT, IEC 62443 NIS2, Uredba o strojih
Standardna IT 15 let Običajna Enterprise PKI BSI IT-Grundschutz

Tipi ključev za CA

Tip CA Priporočen algoritem Veljavnost Utemeljitev
Korenski CA ML-DSA-65 ali ML-DSA-87 15-25 let Najvišja varnost, redko uporabljen
Vmesni CA ML-DSA-65 8-12 let Ravnovesje varnost/zmogljivost
OCSP odzivnik ML-DSA-44 1-3 leta Pogosto podpisovanje, kritična zmogljivost

Priporočilo za hibridne: V prehodnem obdobju lahko uporabite hibridne ključe (ECDSA P-384 + ML-DSA-65) za zagotavljanje združljivosti s klasičnimi sistemi.


Pomembne razširitve za CA certifikate

Korenski CA

Razširitev Vrednost Kritična
Basic Constraints CA=true, pathLen=1 ali 2 ✅ Da
Key Usage keyCertSign, cRLSign ✅ Da
Subject Key Identifier SHA-256(publicKey) ❌ Ne

Vmesni CA

Razširitev Vrednost Kritična
Basic Constraints CA=true, pathLen=0 ✅ Da
Key Usage keyCertSign, cRLSign ✅ Da
Subject Key Identifier SHA-256(publicKey) ❌ Ne
Authority Key Identifier SKI korenskega CA ❌ Ne
CRL Distribution Points URL do CRL ❌ Ne
Authority Info Access OCSP URL, CA Issuers URL ❌ Ne
Certificate Policies Policy OID ❌ Ne

Varnostna opozorila

Kritične zahteve za delovanje CA:

  • Zasebni ključ korenskega CA: Offline hramba (Air-Gapped HSM ali šifriran USB ključ v sefu)
  • Zasebni ključ vmesnega CA: HSM ali močno šifrirano s strojnim žetonom
  • Gesla: Najmanj 20 znakov, visoka entropija, varno shranjeno
  • Revizijsko beleženje: Beleženje vseh CA operacij
  • Varnostna kopija: Šifrirane varnostne kopije na ločenih lokacijah
  • Key Ceremony: Dokumentiran proces za operacije korenskega CA

Nikoli:

  • Shranjevati zasebnega ključa korenskega CA na omrežnih sistemih
  • CA gesla v čistem besedilu v skriptah/konfiguracijah
  • Izdajati CA certifikate brez omejitve pathLength
  • Uporabljati samopodpisanih certifikatov končnih entitet v produkciji

Tipičen potek dela

flowchart TB subgraph P1["1️⃣ PRIPRAVA"] V1["Priprava Air-Gapped sistema"] V2["Dokumentacija pravilnika certifikatov"] V3["Določitev DN strukture"] V4["Načrtovanje obdobij veljavnosti"] end subgraph P2["2️⃣ USTVARJANJE KORENSKEGA CA"] R1["ML-DSA-65/87 par ključev"] R2["Samopodpisan certifikat"] R3["Šifriranje zasebnega ključa"] R4["Izvoz korenskega certifikata"] end subgraph P3["3️⃣ VMESNI CA"] I1["ML-DSA-65 par ključev"] I2["Ustvarjanje CSR"] I3["Podpis s korenskim CA"] I4["Online namestitev"] end subgraph P4["4️⃣ ZAUPANJE IN PREKLIC"] T1["Konfiguracija shramb zaupanja"] T2["CRL distribucijske točke"] T3["OCSP odzivnik"] T4["Objava prvega CRL"] end subgraph P5["5️⃣ DELOVANJE"] B1["Izdajanje certifikatov"] B2["Posodabljanje CRL"] B3["OCSP odzivi"] B4["Nadzor revizijskih dnevnikov"] end P1 ==> P2 ==> P3 ==> P4 ==> P5 style P1 fill:#e3f2fd style P2 fill:#e8f5e9 style P3 fill:#fff8e1 style P4 fill:#fce4ec style P5 fill:#f3e5f5


Hiter začetek s kodo

Minimalni primer: Ustvarjanje korenskega CA (C#)

using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ;
 
using var ctx = PqCryptoContext.Initialize();
 
// Korenski CA z ML-DSA-65
using var rootKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65);
var rootDn = new DnBuilder().AddCN("My Root CA").AddO("My Org").AddC("SI").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()
);
 
// Shranjevanje
File.WriteAllText("root-ca.crt.pem", rootCert.ToPem());
File.WriteAllText("root-ca.key.pem", rootKey.ToEncryptedPem("SecurePassword123!"));

Popoln primer: Scenarij 1.1


Povezane kategorije

Kategorija Povezava
2. CSR Ustvarjanje CSR za vmesne CA
3. Izdajanje certifikatov Podpisovanje certifikatov končnih entitet s CA
5. Validacija Validacija certifikatov proti shrambi zaupanja
6. Preklic CRL/OCSP operacije
11. Upravljanje ključev Upravljanje, rotacija, uničenje CA ključev

« ← Pregled scenarijev | 1.1 Ustvarjanje korenskega CA → »


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

Zuletzt geändert: dne 30.01.2026 ob 06:30