Názvosloví Známé / používané systémy Závěr ZČU / FAV / KIV 11. prosince 2009
Názvosloví Známé / používané systémy Závěr Obsah 1 Názvosloví 2 Známé / používané systémy OpenID Web-auth LDAP Kerberos 3 Závěr
Názvosloví Známé / používané systémy Závěr Obsah 1 Názvosloví 2 Známé / používané systémy OpenID Web-auth LDAP Kerberos 3 Závěr
Názvosloví Známé / používané systémy Závěr Definice pojmu Autentizace znamená ověřování pravosti, autentický znamená původní, pravý, hodnověrný. Autentizace patří k bezpečnostním opatřením a zajišt uje ochranu před falšováním identity (anglicky impersonation, maskarade), kdy se subjekt vydává za někoho, kým není. Rozlišujeme autentizaci entity (osoby, programu) a autentizaci zprávy.
Názvosloví Známé / používané systémy Závěr Varianty varianta původ stejná koncovka autentizace němčina absolutizace, aklimatizace,... autentikace angličtina implikace, indikace, intoxikace,... autentifikace francoužština diskvalifikace, falzifikace,...
Názvosloví Známé / používané systémy Závěr Autentizace vs. autorizace Pozor! Neplést autentizaci s pojmem autorizace! Definice autorizace Postup, vedoucí k poskytnutí nebo odmítnutí přístupu na základě práv přidělených autoritou. Zpravidla mu předchází autentizace, tedy ověření identity.
Názvosloví Známé / používané systémy Závěr Závěr Wikipedie se snaží propagovat autentizace. Na variantě nezáleží, důležité je používat v celém článku jednu variantu.
Obsah 1 Názvosloví 2 Známé / používané systémy OpenID Web-auth LDAP Kerberos 3 Závěr
Něco o OpenID K listopadu 2008, existovalo 500 millionů OpenID identit a přibližně 27,000 OpenID enabled stránek. Známí poskytovatelé - AOL, VeriSign, WordPress.com, myopenid.com, Yahoo!, SourceForge, Google, Facebok, seznam.cz Systémy využívající OpenID - Drupal, WordPress,...
1 Uživatel navštíví OpenID enabled stránku. Například: http://stackoveflow.com. Web zobrazí formulář požadující OpenID identitu.
2 Uživatel zadá svojí identitu. Například: picca.myopenid.com. Uživatel odešle formulář.
3 Server se koukne na URL, kterou zadal uživatel. Neboli na http://picca.myopenid.com.
4 Server zjistí umístění OpenID providera z meta tagů ve stránce: <link rel="openid.server"href="http://myopenid.com/server"/>
5 Webserver vyšle požadavek OpenID providerovi metodou POST. Stroje si vytvoří heslo na základě Deffie-Hellmanova algoritmu pro výměnu kĺıčů: 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==
6 Provider poskytne assoc handle a čas vypršení pro budoucí dotazy. Tyto dva nyní mají ustanoveno heslo, o kterém si povídali jen oni dva: assoc handle HMAC-SHA1 47b0ec92 5hMN8A== assoc type HMAC-SHA1 dh server public really big BASE64 number enc mac key big BASE64 number expires in 1209600 session type DH-SHA1
7 Webserver odpoví klientovi přesměrováním na OpenID providera. V tomto přesměrování také uvede položky, které 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 checkid setup http://picca.myopenid.com/ http://stackoverflow.com/cp/login.aspx? &nonce=vovudmla http://stackoverflow.com/cp HMAC-SHA1 47b0ec92 5hMN8A== gender,postcode,timezone email,country
8 Uživatel je nyní na webu OpenID peovidera a provede autentizaci na tomto serveru.
9 OpenID provider přesměruje uživatele zpět na původní webovou stránku. Webová stránka nyní má vše potřebné pro zalogování uživatele. nonce openid.assoc handle openid.identity openid.mode openid.op endpoint openid.response nonce openid.return to openid.sig openid.signed openid.sreg.country 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
Zabezpečení assoc handle, který je vytvořen v krocích 5 a 6. openid.sig použitý v kroku 9 obsahuje digitální podpis parametrů openid.signed za pomocí vykomunikovaného hesla. nonce je možné použít pouze jednou, tudíž není možné jeden požadavek použít 2.
Co je WebAuth? WebAuth je nadstavba nad Kerberos autentizační mechanizmus v HTTP cookies. Implementuje single-sign-on. Návětěvník webových stránek je po jednom přihlášení přihlášen na všech webech v doméně SSO. Používá HTTP/SSL k ochraně dat v obou směrech. Jak mezi webserverem-uživatelem, tak mezi webserverem-webauth serverem.
První přístup na SSO
Neověřený uživatel přistupuje k webové aplikaci chráněné WebAuthem.
mod webauth detekuje, že uživatel dosud nevlastní aplikační token (neobdrží od něj aplikační cookie) a vytvoří tzv. request-token pro id-token. Request-token obsahuje informace jako jsou návratové (resp. původně dotazované) URL, požadovaný typ tokenu, atp. Request-token je zakryptován použitím AES session-kĺıčem sdíleným mezi aplikačním serverem a WebKDC (login-server) získaným z webkdc-service-tokenu.
mod webauth pak vytvoří redirekt na WebKDC, jenž obsahuje request-token v parametrech URL.
Redirekt způsobí přesměrování uživatelova prohĺıžeče na WebKDC spolu s vygenerovaným request-tokenem. Žádné cookie není zasláno na WebKDC (zatím žádné uživatel nemá).
WebKDC následně rozkryptuje request-token. Zkontroluje čas vytvoření, za účelem ověření, zda je dostatečně čerstvý a pošle zpět uživatelskému prohĺıžeči přihlašovací formulář. Request-token je uložen ve skryté položce tohoto formuláře.
Uživatel zadá své přihlašovací jméno a heslo a odešle data formuláře zpět ke zpracování na WebKDC.
WebKDC ověří zadané jméno a heslo a také skutečnost, zda aplikační server, který požaduje ověření uživatele má povolení vyžadovat id-token. Předpokládejme, že přihlašovací jméno a heslo jsou správná, pak WebKDC vytvoří cookie, do kterého uloží proxy-token a id-token (obsah cookie je kryptován privátním AES-kĺıčem WebKDC).Stránka s potvrzením, že ověření proběhlo v pořádku, je následně zaslána do uživatelského prohĺıžeče obsahující odkaz na původně požadovanou stránku.
Uživatelský prohĺıžeč znovu přistoupí na původně požadovanou stránku a v URL parametrech je předán také id-token (identita) uživatele.
mod webauth si z požadavku převezme id-token a následně zkontroluje, zda je čerstvý. Pokud je vše v pořádku, pak přepíše id-token na aplikační-token a uloží jej do cookie pro další použití. Nakonec je token odstraněn z URL (již není zapotřebí aplikace věří předkládanému cookie, které je kryptované jejím privátním AES kĺıčem).
Každý další server v rámci SSO
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 Úprava (PHP) aplikace $ SERV ER[ REMOT E USER ];
Anonymní autentizace Jednoduchá autentizace pomocí DN a hesla (atributu userpassword). Tuto autentizaci je možno provádět i na bezpečném kanále TLS/SSL. V tomto případě nejprve dojde k výměně certifikátů obou stran (serveru i klienta). Teprve po ověření těchto certifikátů dojde k otevření spojení a vyvolání operace bind. Proxy autentizace využívá existence definovaného uživatele, který má právo nahĺıžet na hesla ostatních uživatelů. PKI autentizace založená na principu PKI digitálních certifikátů, které jsou uloženy v definovaném atributu usercertificate. Při pokusu o autentizaci je uživatel požádán o zadání svého hesla a autentizován je po srovnání digitálních certifikátů na straně klieta a serveru. SASL mechanizmus disponuje množstvím zásuvných modulů, které můžeme využít pro autentizaci uživatele.
Autentizace v kerberu 1 Klient pošle plain-textovou zprávu uživatelského ID autentizačnímu serveru (AS). Tento vygeneruje hash uživatelova hesla, který má v databázi. Tento hash bude považován za secret key klienta. 2 AS pošle klientovi dvě zprávy: Session key zakódovaný pomocí secret key klienta. Ticket-Granting Ticket (ID klienta, IP klienta, dobu platnosti a Session key. To vše zakódovano kĺıčem Ticket Granting Serveru (TGS) 3 Klient může rozšifrovat pouze první zprávu, která mu slouží ke komunikaci s TGS.
Názvosloví Známé / používané systémy Závěr Obsah 1 Názvosloví 2 Známé / používané systémy OpenID Web-auth LDAP Kerberos 3 Závěr
Názvosloví Známé / používané systémy Závěr Těm co nespí, děkuji za pozornost.