Autentikacija i autorizacija krajnjeg korisnika
Usluge CEZIH sustava koje zahtjevaju autentikaciju i autorizaciju krajnjeg korisnika koriste sigurnosne mehanizme temeljene na Open ID Connect Authorization Code Flow specifikaciji.
Pod krajnjim korisnikom se smatra krajnji korisnik Gx aplikacije/informacijskog sustava koji je inicirao pozivanje određene usluge CEZIH sustava. Na primjer pretragu kliničkih dokumenata ili spremanje kliničkog dokumenta u registar i repozitorij CEZIH sustava.
Sukladno standardnim mehanizmima sigurnosti CEZIH sustava za autentikaciju i autorizaciju krajnjeg korisnika potrebno je koristiti osobni digitalni certifikat krajnjeg korisnika koji se nalazi na pametnoj kartici.
Na sljedećem dijagramu je opisan slijed akcija prilikom autentikacije i autorizacije korisnika korištenjem OpenID Connect Authorization Code Flow standarda i osobnog certifikata krajnjeg korisnika pohranjenog na pametnoj kartici.
Slika 11 - Autorizacija krajnjeg korisnika korištenjem OIDC Autorization Code Flow standarda
Kako je opisano na gornjoj slici. Krajnji korisnik otvara Gx aplikaciju/sustav i u njoj odabire akciju koja zahtjeza poziv određene usluge na CEZIH sustavu. Gx aplikacija/sustav kreira zahtjev za tu uslugu i šalje ga na CEZIH. OpenID Agent je proxy poslužitelj kojemu je svrha autentikacija zahtjeva za određenom uslugom CEZIH sustava. OpenID Agent provjerava da li su u zahtjevu poslani podatci o sesiji i da li je ta sesija valjana. Ukoliko nije generira zahtjev za preusmjeravanje Gx sustava na SSO (Single Sign On) komponentu CEZIH sustava kojoj je svrha autentikacija krajnjeg korisnika i potvrđivanje njegovog identiteta.
Gx aplikaciji se vraća HTTP redirect odgovor sa URLom SSO komponente. Gx aplikacija/sustav uspostavlja TLS konekciju prema tom URLu. Budući da je za uspostavu TLS konekcije potrebno koristiti digitalni certifikat krajnjeg korisnika koji se nalazi na pametnoj kartici, Gx aplikacija (odnosno CSP) traži od korisnika unos PINa za otključavanje pametne kartice i nakon toga se uspostavlja TLS veza između Gx aplikacije/sustava i CEZIH sustava. Korištenjem certifikata krajnjeg korisnika koji je korišten za uspostavu TLS konekcije, komponenta za autentikaciju i potvrđivanje identiteta (User Identity Provider) autenticira korisnika i kreira sesiju, te vraća Gx aplikacji /sustavu tu sesiju i zahtjev za preusmjeravanje na inicijalni URL usluge koju je Gx aplikacija/sustav zatražio.Na osnovu zahtjeva za preusmjeravanje Gx aplikacija/sustav ponovno poziva tu uslugu CEZIH sustava i uključuje u zahtjev podatke o sesiji u HTTP zaglavlje
mod_auth_openid_session
OpenID Agent (Proxy server) provjerava podatke o sesiji i budući da su sada ti podatci ispravni generira JWT token u kojemu se nalaze svi podatci o krajnjem korisniku potrebni za autorizaciju zahtjeva (identifikator korisnika, role korisnika, ...). Poziv se preusmjerava prema zatraženoj usluzi CEZIH sustava koja autorizira zahtjev i ako je zahtjev autoriziran obrađuje zahtjev i Gx aplikaciji/sustavu vraća odgovor.