Webové služby. Identifikácia, autentizácia a autorizácia Martin Stančík Centrum výpočetní techniky Fakulta informatiky Masarykova univerzita 27. október 2010 9 - = 1 -OQ.O Martin Stančík Webové služby. Identifikácia, autentizácia a autorizácia Obsah J Webové služby ^ Web 2.0 H Identifikácia, Autentižacia, Autorizácia 2 AutentižaCne protokoly T| Moderne spôsoby autentižacie S - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentižacia a autorizácia Úvod ■ Všetko je na webe ■ Záplava rôznych aplikácií a informácií ■ Nechcem všetko zverejňoval! celemu svetu ■ Nutnost! autentizacie a autorizacie ■ Vel'a aplikacií, vel'a prihlasovacích udajov ■ Snaha integrovat! aplikacie a komunikovat! cez viacere systemy S - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Co je to služba? ■ Činnosť, ktorá uspokojí našu potrebu ■ Jej výsledkom je určitý efekt a nie hmotný produkt ■ Je nehmotná a d'alej nedeliteľná ■ Sluzbý v bežnom živote ■ predajca ■ žakažník ■ upratovacia služba, kaderníctvo, banka, polícia ■ Webove službý ■ Rovnaký výžnam ako obýcajna služba ■ Čhce ju použil: viacero ýžívateíov ■ Dostupna takmer odkiaľkoľvek ■ Na svoju požiadavku chcem konkrétnu odpoved' □ - = = ^Q^O Martin StanCík Webove služby. Identifikácia, autentizácia a autorizácia Motivácia ■ Typická vlastnost programátorov - lenivost ■ Niektoré Časti sa chcú použil! na viacerých miestach ■ Reakcia na žmenu spravania ■ Ziaden vel'ky system kvoli drobnosti ■ Podobny princíp ako http požiadavok ■ Nezaujíma ma format, ale obsah ■ Ake sú kuržy mien, ake bude pocasie? ■ Web 2.0 http://www.google.cz/ig S - = 1 -00,0 Martin StanCík Webové služby. Identifikacia, autentizacia a autorizácia Ako to funguje? Účastníci komunikácie Pomocou sieťových protokolov ■ Poskytovatel' službý ■ Publikovanie ■ Klient ■ Vyhľadávanie ■ Register služieb ■ Prepojenie S - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Ako to funguje? Rozdelenie ■ Veľké webové služby na princípe SOA ■ Sú v registri služieb ■ Výmena XML sprav ■ SOAP, WSDL ■ Vzdialene volanie služieb (RPC) ■ Vopred dohodnutý format ■ XML-RPC ■ Representational State Transfer (REST) ■ Orientovaný datovo CRUD ■ Rožne reprežentacie zdrojov: XML, HTML, PDF S - = 1 -00,0 Martin StanCík Webové služby. Identifikacia, autentizacia a autorizácia Servisne orientovaná architektúra SOA ■ architektonický koncept, realizácia v podobe protokolu SOAP ■ zasielanie správ ■ vhodna na business prístup a zachýtavanie procesov vo firme ■ vytvorenie rozhrania nad aplikaciami ■ zmena aplikacie neovplyvní funkcnost sýstemu ■ flexibilita pri pridavaní nových sluzieb ■ ESB - Enterprise service bus S - = 1 -00,0 Martin StanCík Webové služby. Identifikacia, autentizácia a autorizácia Volanie vzdialených služieb RPC ■ technologia umožnujúca vykonal; vzdialene volanie procedury ■ nie je take volne ako SOA, orientovane na metodý ■ Postup: ■ Zabalenie parametrov do vhodnej formý na strane klienta (marshalling) ■ Odoslanie balíčka serveru ■ Rozbalenie parametrov (unmarshalling) na serveri ■ Spustenie samotnej metodý ■ Výsledok sa opätovne žabalí a posle klientovi ■ Klient rozbalí výsledok a d'alej ho spracuje ■ proces výpoctu je pre klienta tžv. cierna skrinka ■ proces neprebieha u klienta, co je výhoda i nevýhoda ■ XML-RPC žaklad pre SOAP □ S - = = ^OQ^O Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Volanie vzdialených služieb RPC Príklad zaslania požiadavku POST /server HTTP/1.0 User-Agent: Mozilla/5.0 Host: xmlrpc.pocasi.cz Content-Type: text/xml Content-length: 314 Weather.temperature < params > < param> 20101027T16:00:00 < param> Brno □ - = = ^Q^O Martin StanCík Webove služby. Identifikácia, autentizácia a autorizácia Volanie vzdialených služieb RPC Príklad správy výsledku HTTP/1.1 200 0K Connection: close Content- Length: 12 Content-Type: text/xml Date: Ut, 27 October 2010 16:01:15 GMT Server: xmlrpc.pocasi.cz < p a r a ms > < param> 7 C 9 ~ = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia REST ■ je dátovo zameraný, klient-server architektúra ■ Zdroje majú jednoznaCne definovane URI ■ 4 metódý CRUD, beZí na protokole HTTP(GET/POST) ■ umoZnuje cache, je bezstavový(potreba zaslal! vSetký parametre) ■ tzv. Querý parametre pre filtrovanie výsledku ■ moznost pouzitia metod XML, JSON, RSS a ATOM ■ http://developers.facebook.com/docs/reference/ rest/status.get ■ https://api.facebook.com/method/status.get?uid= 609152564&limit=1 GET /statuses/user/timeline/uid.xml Host: twitter.com □ - = = ^Q^O Martin Stancík Webove sluzby. Identifikacia, autentizacia a autorizácia Web 2.0 ■ webove služby v praxi ■ vytváranie obsahu ■ stítkovanie ■ komentáre ■ agregacia ■ otvorenost ■ paranoia ž možneho sledovania užívateľa S - = 1 -00,0 Martin StanCík Webové služby. Identifikacia, autentizacia a autorizácia RSS ■ Really Simple Syndication ■ nemožnost sledoval! všetko ■ pravidelný odber obsahu (v praxi 5-10 min. po zverejnení) ■ RSS vie čítat! už takmer všetko (REST), dektopove i webove aplikacie ■ http://www.google.com/reader/ 9 - = 1 -00,0 Martin StanCík Webová služby. Identifikacia, autentizacia a autorizácia Na webe nieje možné byť anonymný ■ dnes sa nepracuje len ž jedneho miesta ■ aplikacie uchovavaju citlive udaje ■ užívatelia chcu mat vopred prispôsobeny obsah, napr. lunchtime.cž ■ webovy "desktop" ako server žistí kto som S - = 1 -00,0 Martin Stancík Webove služby. Identifikacia, autentizacia a autorizácia Identifikácia ■ neznáma entita sa stáva známou ■ uZívateľ sa voči autorite preukazuje svoju identitu, ta ju vSak neoveruje ■ identifikačne preukazy, OP, pas, číslo zdravotneho poistenia... ■ na webe je to meno, prezývka, IP adresa, session S - = 1 -00,0 Martin Stancík Webove sluzby. Identifikacia, autentizacia a autorizácia Autentizácia ■ overenie identity, ci sa jedna naozaj o nu ■ overí sa platnost! OP a drzitel' porovná s osobou, ktorá ju predkladía ■ v pocítacovom prostredí je mozností overenia identity viacero ■ nejaka forma hesla (PIN, SMS kod, tajný kluc) ■ čítačka kariet ■ biometrické ídaje ■ co bý identita mala vediet, captcha, fotký priateľov, diplom??? 9 - = 1 -00,0 Martin StanCík Webové služby. Identifikacia, autentizacia a autorizácia Autorizácia ■ overenie, ci identita ma oprávnenie uskutočnil! nejakú akciu ■ ak je človeku menej ako 18 rokov nemožno mu predal! alkohol ■ Student nemú oprávnenie si žadat žnúmku do svojho predmetu ■ aplikácie majú rožne stupne ochrany, a užívatelia rožne oprúavnenia S - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Zhrnutie ■ ked' chcem používat! aplikaciu musím mat na ňu patrične opravnenie ■ opravnenie nieje trvale a može sa casom menit ■ na niektore ukony potrebujem viacurovnovy stupeň ochrany ■ autentižacia sa overuje na žaklade dat od užívateľa ■ autorižaciu žvacsa overuje samotna služba, aplikacia S - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Session autentizácia server si uloží poznatok, že je užívateľ prihlásený do cookie server následne už len kontroluje platnost! cookie každa cookie ma nejaký timeout, po ktorej sa treba znova prihlasit! S - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Basic autentizácia výskakujuce okno pri prístupe na chranenu oblast! server si uchovava uspesnu autentizaciu a pri ďalšom prístupe nevýzaduje prihlísenie Martin Stančik Webová sluzby. Identifikacia, autentizacia a autorizacia Moderné spôsoby autentizácie Motivácia ■ vel'a používaných aplikacii ■ vel'a identít(užívatel'skych mien) i hesiel ■ nemožnost! si pamatat hesla vedie k ich "ukladaniu" ■ obmedženie aplikacie na konkretnu osobu je takmer nemožne, lebo 1 osoba ma viac mailov Počet používaných hesiel na Internete g - = = ^)Q^O Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia OAuth ■ protokol pre bezpečne zabezpečenie API autentizace ■ citlive prihlasovacie udaje sa predavaju len medzi uzívatel'om a poskytovatel'om sluzby (SP) ■ tretie strany pristupujú k dátam uzívatel'a bez vedomia hesla ■ aplikácia si vyziada od poskytvoatel'a (service providera) dočasny token a zasle ho s uzívatelom sa k SP prihlasit ■ po prihlasení u SP je uzívatel' presmerovany spal! k danej aplikacií ■ aplikacia uz môže pristupoval' k uzívatelskym datam na zaklade API poskytovatel'a □ - = = ^Q^O Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia OAuth Ako protokol funguje OAuth Authentication Flow Consumer Service Provider }.......-EE Ii )-- — II 11 i II Direct user to C oris u ma i RůqilESt ■€% >l ü fí .....Ji.......... í i ..........*..... g - = = ^)q^o Martin Stancák Webove sluzby. Identifikacia, autentizacia a autorizácia OpenID ■ uživatel'je registrovaný u tžv. poskýtovatel'a identit (IdP) ■ univeržúlný akúkoľvek služba požadujúca prihlasenie ■ otvorený žadarmo plne dostupna specifikacia ■ decentraližovaný možnost; registrúcie u viacerých IdP ■ len overenie užúvatela a poskýtnutie schvúlenej informúcie o nom ■ užúvatel' žadú ako prihlasovacú udaj svoje OpenID, na žaklade ktoreho je presmerovaný na svojho IdP s požiadavkou prihlúsenia a poskýtnutia informaciú o užúvatelovi ■ po prihlasenú u IdP je opät presmerovaný k poskýtovatel'ovi služieb SP □ - = = ^Q^O Martin StanCík Webové služby. Identifikacia, autentizacia a autorizácia Rozdiely medzi OpenID vs. OAuth OpenID ■ definuje protokol, víymenu a rozsah informaci í ■ distribuovaný system, nezalezí na poskytovatelovi identít ■ dôraz je na uzívatel'ovi ■ overuje uzívatel'a a poskytuje o nňom informíacie OAuth ■ definuje len protoko , víymena informacií je uz cez API poskytovatel'a ■ autentizacia len voňci konkríetnej sluzbe pre prístup k API ■ doraz na sluzbe ■ overuje uzívatel'a a pristupuje cez API v jeho mene □ - = = ^Q^O Martin StanCík Webová služby. Identifikacia, autentizacia a autorizácia Shibboleth ■ Single Sign-On (SSO) ■ funguje na podobnom princípe ako OpenID ■ projekt konžorcia Internet2 ■ poskytuje overene udaje, vacsinou ž akademickeho prostredia ■ poskytovatelia identít (IdP) i služieb su casto v narodnych federaciach 9 - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Shibboleth ■ uživatel', ktory chce pristupoval! k chránenej casti služby u SP je presmerovany k svojmu domovskemu IdP a po prihlasení je opát presmerovany k SP s už požadovanymi informaciami o uživatelovi ■ SP nemusí vediet ku ktoremu IdP užívateľa presmeroval!, preto sa može obratit na službu WAYF (Where Are You from), ktora udržuje vsetkych poskytovatel'ov identít, ž ktorych si užívateľ môže vybrat! v ČR federaciu edulD.cž prevadžkuje Cesnet. V ostrej prevadžke je od 1. 1. 2009 ■ https://odevzdej.cz/shibboleth/ ■ http://www.lupa.cz/clanky/shibboleth/ Martin StanCík Webove služby. Identifikacia, autentizacia a autorizácia mojelD ■ novy poskytovatel' OpenId v ČR od 26. 10. 2010 ■ overovanie užívateľov: e-mail, SMS, klasicka posta ■ dokonca fyžicke overovanie pri citlivejsích dátach ■ užívateľ môže urát, ktore data o sebe predá d'alej ■ sposob prihlásenia može urát aj konkretna služba ■ http://www.mojeid.cz/ S - = 1 -00,0 Martin StanCík Webové služby. Identifikácia, autentizácia a autorizácia Koniec