9. Overitev
Scenariji: 3
FFI-funkcije: ~20
Status: Planirano
Ta kategorija obsega vse scenarije za overitvijo na osnovi certifikatov. mTLS Client-Auth, Smart Card prijava in SSO-integracija.
Scenariji
| ID | Scenarij | Opis | Kompleksnost | Status |
|---|---|---|---|---|
| 9.1 | mTLS Client-Auth | Certifikat odjemalca za dostop do API-ja | 3/5 | Planirano |
| 9.2 | Prijava s pametno kartico | PIV/PKCS#11 osnovana prijava | 4/5 | Planirano |
| 9.3 | SSO-integracija | SAML/OIDC s certifikati | 4/5 | Planirano |
Arhitektura overitve
flowchart TB
subgraph CLIENT["Odjemalec"]
CERT[Certifikat odjemalca]
KEY[Zasebni ključ]
end
subgraph AUTH["Overitev"]
TLS[TLS Handshake]
VERIFY[Preverjanje certifikata]
AUTHZ[Avtorizacija]
end
subgraph ACCESS["Dostop"]
API[API/Storitev]
USER[Uporabniški kontekst]
end
CLIENT --> TLS
TLS --> VERIFY
VERIFY --> AUTHZ
AUTHZ --> ACCESS
style VERIFY fill:#e3f2fd
style AUTHZ fill:#e8f5e9
Metode overitve
| Metoda | Opis | Uporaba |
|---|---|---|
| mTLS | Mutual TLS s certifikatom odjemalca | Dostop do API-ja, storitev-do-storitve |
| Pametna kartica | PIV/PKCS#11 kartica | Prijava na delovnem mestu |
| FIDO2/WebAuthn | Strojni žeton | Spletne aplikacije |
| SSO na osnovi certifikatov | SAML/OIDC z X.509 | Podjetniški SSO |
mTLS potek
sequenceDiagram
participant C as Odjemalec
participant S as Strežnik
C->>S: ClientHello
S->>C: ServerHello + ServerCert
S->>C: CertificateRequest
C->>S: ClientCert + CertificateVerify
Note over S: Validacija certifikata
S->>S: Preverjanje verige + preklica
S->>C: Finished
C->>S: API zahteva (overjena)
Panožno-specifične zahteve
| Panoga | Metoda | Posebnosti |
|---|---|---|
| Zdravstvo | Pametna kartica (eHBA) | Povezava gematik konektorja |
| Energetika/SCADA | mTLS | Identiteta naprav, IEC 62351 |
| Avtomobilska | Certifikat (V2X) | Psevdonimni certifikati |
| Industrija 4.0 | mTLS + OPC UA | Identiteta strojev |
Hitri začetek s kodo
mTLS overitev odjemalca
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ; // Nalaganje certifikata in ključa odjemalca var clientCert = ctx.LoadCertificate("client.crt.pem"); var clientKey = ctx.LoadPrivateKey("client.key.pem", password); // Konfiguracija HttpClient za mTLS var handler = new HttpClientHandler(); handler.ClientCertificates.Add( ctx.CreateX509Certificate2(clientCert, clientKey) ); var httpClient = new HttpClient(handler); // Klic API-ja s certifikatom odjemalca var response = await httpClient.GetAsync("https://api.example.com/secure/data");
Strežniška validacija
// V ASP.NET Core Startup services.AddAuthentication(CertificateAuthenticationDefaults.AuthenticationScheme) .AddCertificate(options => { options.AllowedCertificateTypes = CertificateTypes.All; options.RevocationMode = X509RevocationMode.Online; options.Events = new CertificateAuthenticationEvents { OnCertificateValidated = context => { // Dodatna PQ-validacija var cert = context.ClientCertificate; var isValid = ctx.ValidateCertificate(cert, trustStore); if (isValid) { // Ekstrakcija claims iz certifikata var claims = new[] { new Claim(ClaimTypes.Name, cert.Subject), new Claim("cert_thumbprint", cert.Thumbprint) }; context.Principal = new ClaimsPrincipal( new ClaimsIdentity(claims, context.Scheme.Name) ); context.Success(); } return Task.CompletedTask; } }; });
Povezane kategorije
| Kategorija | Povezava |
|---|---|
| 3. Izdaja certifikatov | Ustvarjanje certifikatov odjemalcev |
| 10. TLS/mTLS | TLS-konfiguracija |
| 5. Validacija | Validacija certifikatov |
« 8. Digitalni podpisi | Scenariji | 10. TLS/mTLS »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 30.01.2026 ob 01:34