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