Domov Bezpečnostní Oauth 2.0 101

Oauth 2.0 101

Obsah:

Anonim

Mnoho luxusních aut přichází s komorním klíčem. Jedná se o speciální klíč, který dáte parkovacímu průvodci, a na rozdíl od běžného klíče vám umožní řídit automobil na krátkou vzdálenost a blokovat přístup k kufru a palubnímu mobilnímu telefonu. Bez ohledu na omezení, která ukládá služební klíč, je myšlenka velmi chytrá. Dáte někomu omezený přístup k autu pomocí speciálního klíče, zatímco pomocí jiného klíče odemknete vše ostatní. - Oficiální průvodce OAuth 1.0


Takto pokyny pro komunitní specifikaci vysvětlily cestu OAuth zpět v roce 2007. A zatímco OAuth 2.0 je zcela nový protokol, stále platí stejný popis - OAuth zůstává pro uživatele způsob, jak uživatelům udělit přístup třetím stranám (a omezený přístup) k jejich zdroje bez sdílení jejich hesel.


Pokud jste na internetu pravidelně, je pravděpodobné, že narazíte na web, který používá OAuth. Koneckonců, největší webové stránky na světě, jako je Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote a Vimeo, používají tento autentizační standard. Čtěte dále a dozvíte se více o tomto standardu a proč se příští generace OAuth 2.0 stále používá relativně experimentálně.

Co je OAuth 2.0?

Nejprve musíte vědět, co protokol OAuth jako protokol dělá: Umožňuje autorizaci rozhraní pro programování aplikací mezi dvěma webovými nebo stolními aplikacemi. Výsledkem je, že webové stránky mohou sdílet chráněné zdroje s jinými weby a službami.


Pokud například na iPadu hrajete Scramble s přáteli, můžete zadat své přihlašovací údaje na Facebooku, což umožní hře prohlédnout si seznam přátel, abyste viděli, kdo z nich hru hraje - a pozvat ostatní, aby se připojili. Nebo se můžete spojit s přáteli na Google+ na základě toho, kdo vás sleduje na Twitteru. Tyto typy aplikací jsou užitečné pro uživatele, ale zahrnují poskytnutí jednoho webu nebo programu přístupu k informacím o vás na jiném webu.


OAuth 2.0 funguje podobně jako první inkarnace OAuth, ale je to úplně nový standard. To znamená, že není zpětně kompatibilní s OAuth 1.0. Verze 2.0 odstranila mnoho problémů s původním OAuth a provedla vylepšení.


Při zachování architektury první verze se 2.0 v zásadě zlepšilo:

  • Ověřování a podpisy. OAuth 2.0 usnadnil implementaci protokolu někomu na straně klienta.
  • Uživatelská zkušenost a alternativní způsoby vydávání tokenů
  • Výkon, zejména u větších webů a služeb
Podrobnější vysvětlení toho, co je nového s OAuth 2.0, poskytuje Eran Hammer, který býval součástí pracovní skupiny OAuth. Přístup je zde. Všimněte si však, že Hammer opustil pracovní skupinu v červenci 2012 a při implementaci normy uvedl problémy s bezpečnostními otázkami. Výsledkem je, že ačkoli měl být OAuth dokončen do konce roku 2010, zůstává navrhovaným standardem (v době psaní), ačkoli je součástí Graph API Facebooku. Google a Microsoft také experimentují s podporou OAuth 2.0 ve svých API.

Výhody používání protokolu OAuth 2.0

Jedním z nejlepších důvodů, proč používat OAuth, je to, že sdílení je mnohem snazší. Už jsme zvyklí nahrávat fotografie na Instagram a nechat je automaticky odesílat příspěvky na Twitter a Facebook. Ve skutečnosti je to právě tento druh snadného používání a přechodu, díky kterému jsou sociální média tak přitažlivá.


Ale to není všechno. Pro koncové uživatele znamená OAuth, že nemusíte vytvářet další profil. Pokud například chcete zanechat komentář k článku, můžete k tomu použít přihlašovací údaje pro Facebook nebo Twitter, namísto toho, abyste se museli zaregistrovat k účtu na daném webu. To je skvělé pro weby, na kterých obvykle nejste aktivní, nebo kterým nemusíte věřit. Může to také prospět webům tím, že zajistí, že uživatelé budou mít na Facebooku identitu, čímž se snižuje pravděpodobnost nevyžádané pošty.


OAuth také znamená méně hesel k zapamatování. Doporučujeme mít různá hesla pro různé webové služby. Takže namísto zapamatování jiného hesla pro přístup k této službě musíte použít pouze své Facebookové heslo., mimochodem, neuvidí vaše heslo.


Můžete také omezit, jaké zdroje jsou přístupné přes váš OAuth. Například při hraní hry na Facebooku můžete určit, zda chcete hru zveřejnit na zdi vaším jménem nebo ne.


Pro vývojáře poskytuje OAuth 2.0 již vyvinutý kód pro autentizaci, zobrazení sociální interakce a zobrazení uživatelského profilu. To pro vývojáře znamená méně chyb a nižší riziko, protože API již bylo odladěno, testováno a prokázáno. A konečně také těžíte z toho, že budete mít méně dat k ukládání na vlastních serverech.

Jak OAuth 2.0 přišel

Je zcela zřejmé, že OAuth je odpovědí na výzvu k bezpečnému zpracování dat a snadné použití pro různé webové služby. Na druhou stranu OAuth 2.0 vyplynula z potřeby učinit OAuth méně složitým. Ale celá myšlenka pro oba ve skutečnosti přišla z OpenID.


OpenID je služba, která uživatelům umožňuje přihlásit se k různým službám pomocí přihlašovacích údajů z jiného webu. OpenID však byl velmi omezený, takže se skupina lidí pracujících na různých autorizačních protokolech pro své vlastní stránky spojila. První implementace OAuth byla provedena v roce 2007 a první revize přišla o dva roky později.


OAuth 2.0 přišel na scénu v roce 2010. Jejím záměrem bylo zaměřit se na jednoduchost mezi klientem a vývojářem a snadněji jej škálovat a zároveň zlepšit uživatelský dojem.

Výzvy napřed?

Ačkoli Google, Klout a další velká jména implementují OAuth 2.0, před tímto protokolem může být ještě před námi skalní cesta. V komunitě OAuth 2.0 jsou kritiky, včetně obav o zabezpečení protokolu (mnozí se domnívají, že je méně bezpečný než OAuth 1.0).


Podle Hammera, pokud je používán kompetentním programátorem, který je dobře obeznámen s webovou bezpečností, OAuth 2.0 funguje. Bohužel jen malá menšina vývojářů vyhovuje tomuto návrhu zákona.


Kódy OAuth 2.0 navíc nelze znovu použít. Například protokoly OAuth 2.0 používané společností Facebook by nebyly snadno použitelné jinými weby. A co víc, nový protokol je ve skutečnosti mnohem složitější než původní protokol.


Skutečným kickerem pro mnoho lidí je však to, že OAuth 2.0 nezdá se, že by nabídl skutečnou výhodu nebo vylepšení oproti 1, 0. Hammer píše, že pokud úspěšně implementujete 1.0, není důvod upgradovat na 2.0.


OAuth 2.0 je však stále naživu. Pokud se bude zabývat vznesenými kritikami a problémy, může stále najít místo jako velmi silný protokol. V době psaní je však verze 1.0 stále považována za oficiální, stabilní a testovanou verzi OAuth. Pro vývojáře, kteří usilují o práci s velkými jmény v online světě, se však může tento protokol bezpečně stát klíčovou sadou dovedností v nepříliš vzdálené budoucnosti.

Oauth 2.0 101