Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
Autentizace vs. autorizace Pozor! Nepl´est autentizaci s pojmem autorizace! Definice autorizace Postup, vedouc´ı k poskytnut´ı nebo odm´ıtnut´ı pˇr´ıstupu na z´akladˇe pr´av pˇridˇelen´ych autoritou. Zpravidla mu pˇredch´az´ı autentizace, tedy ovˇeˇren´ı identity.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
Z´avˇer Wikipedie se snaˇz´ı propagovat autentizace. Na variantˇe nez´aleˇz´ı, d˚ uleˇzit´e je pouˇz´ıvat v cel´em ˇcl´anku jednu variantu.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
3 Server se koukne na URL, kterou zadal uˇzivatel. Neboli na http://picca.myopenid.com.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
4 Server zjist´ı um´ıstˇen´ı OpenID providera z meta tag˚ u ve str´ance:
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
5 Webserver vyˇsle poˇzadavek OpenID providerovi metodou POST. Stroje si vytvoˇr´ı heslo na z´akladˇe Deffie-Hellmanova algoritmu pro v´ymˇenu kl´ıˇc˚ u: openid.mode openid.assoc type openid.session type openid.dh consumer public openid.dh modulus openid.dh gen
associate HMAC-SHA1 DH-SHA1 really big BASE64 number really big BASE64 number Ag==
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
6 Provider poskytne assoc handle a ˇcas vyprˇsen´ı pro budouc´ı dotazy. Tyto dva nyn´ı maj´ı ustanoveno heslo, o kter´em si pov´ıdali jen oni dva: assoc handle assoc type dh server public enc mac key expires in session type
HMAC-SHA1 47b0ec92 5hMN8A== HMAC-SHA1 really big BASE64 number big BASE64 number 1209600 DH-SHA1
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
7 Webserver odpov´ı klientovi pˇresmˇerov´an´ım na OpenID providera. V tomto pˇresmˇerov´an´ı tak´e uvede poloˇzky, kter´e ho zaj´ımaj´ı. openid.mode openid.identity openid.return to openid.trust root openid.assoc handle openid.sreg.required openid.sreg.optional openid.sreg.policy url
vovudmLa HMAC-SHA1 47b0ec92 5hMN8A== http://picca.myopenid.com/ id res http://www.myopenid.com/server 2008-02-12T00:47:53ZyUUam3 http://stackoverflow.com/cp/login.aspx? nonce=vovudmLa EpvWdJtxacv2WtCaZLbud85M84k= assoc handle, identity, mode, op endpoint, response nonce, return to, signed, sreg.country, sreg.email CZ Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Zabezpeˇcen´ı assoc handle, kter´y je vytvoˇren v kroc´ıch 5 a 6. openid.sig pouˇzit´y v kroku 9 obsahuje digit´aln´ı podpis parametr˚ u openid.signed za pomoc´ı vykomunikovan´eho hesla. nonce je moˇzn´e pouˇz´ıt pouze jednou, tud´ıˇz nen´ı moˇzn´e jeden poˇzadavek pouˇz´ıt 2×.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Co je WebAuth? WebAuth je nadstavba nad Kerberos autentizaˇcn´ı mechanizmus v HTTP cookies. Implementuje single-sign-on. N´avˇetˇevn´ık webov´ych str´anek je po jednom pˇrihl´aˇsen´ı pˇrihl´aˇsen na vˇsech webech v dom´enˇe SSO. Pouˇz´ıv´a HTTP/SSL k ochranˇe dat v obou smˇerech. Jak mezi webserverem-uˇzivatelem, tak mezi webserverem-webauth serverem.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Prvn´ı pˇr´ıstup na SSO
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Neovˇeˇren´y uˇzivatel pˇristupuje k webov´e aplikaci chr´anˇen´e WebAuthem.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
mod webauth detekuje, ˇze uˇzivatel dosud nevlastn´ı aplikaˇcn´ı token (neobdrˇz´ı od nˇej aplikaˇcn´ı cookie) a vytvoˇr´ı tzv. request-token pro id-token. Request-token obsahuje informace jako jsou n´avratov´e (resp. p˚ uvodnˇe dotazovan´e) URL, poˇzadovan´y typ tokenu, atp. Request-token je zakryptov´an pouˇzit´ım AES session-kl´ıˇcem sd´ılen´ym mezi aplikaˇcn´ım serverem a WebKDC (login-server) z´ıskan´ym z webkdc-service-tokenu.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
mod webauth pak vytvoˇr´ı redirekt na WebKDC, jenˇz obsahuje request-token v parametrech URL.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Redirekt zp˚ usob´ı pˇresmˇerov´an´ı uˇzivatelova prohl´ıˇzeˇce na ˇ adn´e WebKDC spolu s vygenerovan´ym request-tokenem. Z´ cookie nen´ı zasl´ano na WebKDC (zat´ım ˇz´adn´e uˇzivatel nem´a).
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
WebKDC n´aslednˇe rozkryptuje request-token. Zkontroluje ˇcas vytvoˇren´ı, za u ´ˇcelem ovˇeˇren´ı, zda je dostateˇcnˇe ”ˇcerstv´y”a poˇsle zpˇet uˇzivatelsk´emu prohl´ıˇzeˇci pˇrihlaˇsovac´ı formul´aˇr. Request-token je uloˇzen ve skryt´e poloˇzce tohoto formul´aˇre.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Uˇzivatel zad´a sv´e pˇrihlaˇsovac´ı jm´eno a heslo a odeˇsle data formul´aˇre zpˇet ke zpracov´an´ı na WebKDC.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
WebKDC ovˇeˇr´ı zadan´e jm´eno a heslo a tak´e skuteˇcnost, zda aplikaˇcn´ı server, kter´y poˇzaduje ovˇeˇren´ı uˇzivatele m´a povolen´ı vyˇzadovat id-token. Pˇredpokl´adejme, ˇze pˇrihlaˇsovac´ı jm´eno a heslo jsou spr´avn´a, pak WebKDC vytvoˇr´ı cookie, do kter´eho uloˇz´ı proxy-token a id-token (obsah cookie je kryptov´an priv´atn´ım AES-kl´ıˇcem WebKDC).Str´anka s potvrzen´ım, ˇze ovˇeˇren´ı probˇehlo v poˇr´adku, je n´aslednˇe zasl´ana do uˇzivatelsk´eho prohl´ıˇzeˇce obsahuj´ıc´ı odkaz na p˚ uvodnˇe poˇzadovanou str´anku.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Uˇzivatelsk´y prohl´ıˇzeˇc znovu pˇristoup´ı na p˚ uvodnˇe poˇzadovanou str´anku a v URL parametrech je pˇred´an tak´e id-token (identita) uˇzivatele.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
mod webauth si z poˇzadavku pˇrevezme id-token a n´aslednˇe zkontroluje, zda je ”ˇcerstv´y”. Pokud je vˇse v poˇr´adku, pak pˇrep´ıˇse id-token na aplikaˇcn´ı-token a uloˇz´ı jej do cookie pro dalˇs´ı pouˇzit´ı. Nakonec je token odstranˇen z URL (jiˇz nen´ı zapotˇreb´ı – aplikace vˇeˇr´ı pˇredkl´adan´emu cookie, kter´e je kryptovan´e jej´ım priv´atn´ım AES kl´ıˇcem).
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Kaˇzd´y dalˇs´ı server v r´amci SSO
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
WebAuth prakticky Nastaven´ı Apache WebAuthLoginURL ”https://webkdc.zcu.cz/login.fcgi” WebAuthWebKdcURL ”https://webkdc.zcu.cz/webkdc-service/” WebAuthWebKdcPrincipal webkdc/webkdc WebAuthKeyring /etc/webauth/keyring WebAuthKeyringAutoUpdate on WebAuthKeyringKeyLifetime 30d WebauthKeytab /etc/webauth/keytab WebAuthServiceTokenCache /etc/webauth/service token.cache ´ Uprava (PHP) aplikace $ SERV ER[0 REM OT E U SER0 ];
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Anonymn´ı autentizace Jednoduch´a autentizace pomoc´ı DN a hesla (atributu userpassword). Tuto autentizaci je moˇzno prov´adˇet i na bezpeˇcn´em kan´ale TLS/SSL. V tomto pˇr´ıpadˇe nejprve dojde k v´ymˇenˇe certifik´at˚ u obou stran (serveru i klienta). Teprve po ovˇeˇren´ı tˇechto certifik´at˚ u dojde k otevˇren´ı spojen´ı a vyvol´an´ı operace bind. Proxy autentizace vyuˇz´ıv´a existence definovan´eho uˇzivatele, kter´y m´a pr´avo nahl´ıˇzet na hesla ostatn´ıch uˇzivatel˚ u. PKI autentizace zaloˇzen´a na principu PKI digit´aln´ıch certifik´at˚ u, kter´e jsou uloˇzeny v definovan´em atributu userCertificate. Pˇri pokusu o autentizaci je uˇzivatel poˇz´ad´an o zad´an´ı sv´eho hesla a autentizov´an je po srovn´an´ı digit´aln´ıch certifik´at˚ u na stranˇe klieta a serveru. SASL mechanizmus disponuje mnoˇzstv´ım z´asuvn´ych modul˚ u, kter´e m˚ uˇzeme vyuˇz´ıt pro autentizaci uˇzivatele.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er
OpenID Web-auth LDAP Kerberos
Autentizace v kerberu 1
2
Klient poˇsle plain-textovou zpr´avu uˇzivatelsk´eho ID autentizaˇcn´ımu serveru (AS). Tento vygeneruje hash uˇzivatelova hesla, kter´y m´a v datab´azi. Tento hash bude povaˇzov´an za secret key klienta. AS poˇsle klientovi dvˇe zpr´avy: Session key zak´ odovan´y pomoc´ı secret key klienta. Ticket-Granting Ticket (ID klienta, IP klienta, dobu platnosti a Session key. To vˇse zak´ odovano kl´ıˇcem Ticket Granting Serveru (TGS)
3
Klient m˚ uˇze rozˇsifrovat pouze prvn´ı zpr´avu, kter´a mu slouˇz´ı ke komunikaci s TGS.
Michal Bryx´ı
Algoritmy autentizace v distribuovan´ ych syst´ emech
N´ azvoslov´ı Zn´ am´ e / pouˇz´ıvan´ e syst´ emy Z´ avˇ er