OAuth

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

OAuth este un standard deschis de protocol de rețea , conceput special pentru a funcționa cu „ Protocolul de transfer hipertext (HTTP) . În esență, permite emiterea unui jeton de acces de către un server de autorizare unui client terț, sub rezerva aprobării utilizatorului care deține resursa care urmează să fie accesată. [1]

Acest mecanism, numit „delegare de acces”, este utilizat de companii precum: Amazon, Google, Facebook, Microsoft, Twitter, Dropbox pentru a permite utilizatorului să partajeze informații despre contul său cu alte aplicații sau site-uri web. Este utilizat în mod obișnuit ca o modalitate pentru utilizatorii de Internet de a acorda aplicațiilor și site-urilor web acces la informațiile lor fără a le oferi o parolă.

Acest protocol permite autorizarea securității API cu o metodă standard și simplă în diverse situații: aplicații „mobile”, aplicații „web”, aplicații pentru computer personal.

Sigla OAuth

Pentru dezvoltatorii de aplicații, este o modalitate de a publica și interacționa cu datele protejate. OAuth acordă furnizorilor de servicii terțe părți acces la datele utilizatorilor, protejându-și în același timp acreditările. De exemplu, permite utilizatorului să ofere unui site, numit consumator, acces la informațiile de pe un alt site, numit furnizor de servicii, fără a-și partaja identitatea.

Istorie și versiuni

Dezvoltat de Blaine Cook și Chris Messina din noiembrie 2006 .

Protocolul OAuth 1.0 a fost publicat ca RFC 5849 în aprilie 2010.

O evoluție a OAuth 1.0, OAuth este 2.0, care este descrisă în documentul RFC 6749 din octombrie 2012.

Actori

În OAuth există următorii jucători principali:

  • „Utilizatorul sau proprietarul resurselor
  • Clientul sau Consumatorul
  • Server de resurse sau furnizor de servicii
  • Serverul de autorizare

Proprietarul resurselor este persoana care vă poate oferi acces la o parte din contul dvs. El este persoana care poate garanta accesul la resursele protejate de pe „Resource Server”.

Clientul este aplicația care încearcă să obțină accesul utilizatorului la cont și necesită permisiunea „utilizatorului” înainte de a obține acces la resursele protejate.

Serverul de resurse este serverul utilizat pentru a accesa resursele protejate de utilizator.

„Serverul de autorizare este serverul care prezintă interfața în care utilizatorul „ aprobă sau respinge cererea de acces. În medii mici, poate coincide cu serverul de resurse.

Clientul interacționează cu serverul de resurse pentru a obține acreditările temporare. Pentru a avea acces la resursele protejate, Clientul are nevoie de permisiunea tuturor utilizatorilor , a indicat jetonul de acces. Odată ce jetonul de acces este obținut, acesta poate accesa și interacționa cu resursele stabilite pentru o perioadă scurtă de timp.

OAuth 1.0

Motive

Ideea de bază este de a autoriza terții să gestioneze documente private fără a vă partaja parola. De fapt, partajarea parolei are multe limite în ceea ce privește securitatea, cum ar fi, de exemplu, nu garantează suport pentru privilegii individuale asupra anumitor fișiere sau operațiuni și, mai presus de toate, face accesibil întregul cont și panoul de administrare. În special, acest acces necondiționat este nedorit. De asemenea, singura modalitate de revocare a accesului este schimbarea parolei pentru întregul cont.

Prin urmare, OAuth s-a născut cu premisa garantării accesului delegat la un anumit client pentru anumite resurse de pe server pentru o perioadă limitată de timp, cu posibilitatea revocării.

Siguranță și limite

OAuth 1.0 are unele limitări de securitate. Serverul nu efectuează acest serviciu „gratuit”, ci colectează informații despre utilizator, client și interacțiunea acestora. OAuth 1.0 nu garantează confidențialitatea nici asupra cererilor, nici asupra conținutului. În timp ce acest protocol asigură faptul că clientul nu accesează informațiile nedorite, nu garantează că utilizarea resurselor autorizate rămâne în domeniul de aplicare specificat. Din acest motiv, OAuth sugerează serverul să protejeze resursele prin protocolul TLS .

Pentru a asigura integritatea informațiilor, OAuth oferă 3 metode diferite:

  • Text simplu -> utilizat numai cu protocolul HTTPS ;
  • HMAC
  • RSA

O altă problemă cunoscută este cea a phishingului . Clientul ar putea direcționa utilizatorul către o pagină falsă de autentificare a serverului pentru a solicita autentificarea și a obține acreditările utilizatorului.

OAuth 2.0

O evoluție a OAuth 1.0 este descrisă în documentul RFC 6749 din octombrie 2012. Principiul de funcționare este același, dar diferă de la predecesor la o îmbunătățire a serviciului. De fapt, OAuth 2.0 prezintă o diviziune clară a rolurilor, implementând un mediator între client și server. Un alt avantaj față de versiunea anterioară este posibilitatea de a prelungi timpul de utilizare a jetonului de acces, dacă se dorește.

Actorii sunt la fel cu adăugarea unui server de mediator. Acesta din urmă are sarcina principală de a gestiona jetoanele de acces între client și server. Serverul care acționează ca mediator poate fi același server care găzduiește resursele care urmează să fie accesate. Serverul broker poate gestiona jetoanele de acces de la mai multe serveruri.

Limitele OAuth 2.0 sunt aceleași cu cele ale OAuth 1.0. Aceste două protocoale Oauth nu sunt compatibile între ele.

Siguranță

În aprilie-mai 2017, aproximativ un milion de utilizatori „Gmail” (mai puțin de 0,1% din utilizatori din mai 2017) au fost supuși unui atac de phishing bazat pe OAuth. Acești utilizatori au primit un e-mail pretinzând că provin de la un coleg, angajat sau prieten care dorea să împărtășească un document pe „Google Docs” [2] . Cei care au dat clic pe linkul furnizat în e-mail au fost rugați să se conecteze și să permită unui program terț potențial rău intenționat numit „Google Apps” să-și acceseze conturile de e-mail, contactele și documentele online. Atacul de phishing a fost blocat de „Google” în aproximativ o oră, prin avertizarea celor care au dat acces la e-mailul lor la „Google Apps” pentru a revoca accesul și a-și schimba parola.

Notă

  1. ^ (EN) Dick Hardt, The OAuth 2.0 Authorization Framework , pe tools.ietf.org. Adus la 22 februarie 2019.
  2. ^ E-mailul de phishing Google Docs „a costat Minnesota 90.000 dolari” - BBC News pe web.archive.org, 8 mai 2017. Accesat la 2 ianuarie 2021 (depus de „ adresa inițială 8 mai 2017).

Elemente conexe

Alte proiecte

linkuri externe

Telematică Portal telematic : accesați intrări Wikipedia care vorbesc despre rețele, telecomunicații și protocoale de rețea