Tra i sistemi di autenticazione oggi approfondiamo OAuth

Lenildo Morais
Lenildo Morais

Presentazione

Quasi tutti sono passati attraverso un processo OAuth, sebbene la maggior parte degli utenti non sappia cosa sia. E questo è il punto. Questo è un processo di autorizzazione in gran parte in background. Una delle sfide per gli specialisti della sicurezza delle informazioni dall’avvento delle reti di computer è creare un SSO fluido in modo che gli utenti con le stesse credenziali possano utilizzare più computer e sistemi. In altre parole, lo stesso account per i singoli servizi.
Come aprire in modo sicuro un archivio dati di backend al mondo esterno? Finché è una singola parte affidabile che ha bisogno di accedere a un set di dati, va bene. Un nome utente e una password vengono scambiati e questa parte ha accesso ai dati pertinenti con una connessione https sicura con queste credenziali.
Ci sono situazioni più complesse in cui tutti gli utenti desiderano accedere ai propri dati, con i clienti che li scrivono o vengono resi disponibili da terze parti, quindi il controllo degli accessi è molto più difficile. Sono coinvolte più parti (l’utente, il fornitore di dati e l’applicazione utilizzata).

Stesso Account per Servizi Individuali

Ciò è dovuto principalmente a OAuth. Si tratta di uno standard aperto che descrive in che modo i singoli server e servizi possono concedere autorizzazioni senza dover utilizzare le credenziali SSO originali. Chiamano questa autorizzazione delegata da una terza parte protetta nel mondo della sicurezza delle informazioni.
Nel 2010, RFC 5849 è stato pubblicato come standard aperto approvato da Twitter, Google e altre società all’inizio. È cresciuto rapidamente e nei due anni successivi è stato svolto un lavoro considerevole. Auth 2.0 è stato rilasciato nel 2012 ed è molto popolare perché gli utenti possono accedere a Facebook, Netflix, Paypal, Twitter, Microsoft, Instagram, LinkedIn e molti altri giganti di Internet.

Autorizzazione di un Altro Sito

L’esempio più semplice di OAuth è la connessione a un sito. Questo sito offre una dove le opzioni di connessione con un account di un altro servizio.
An altro scenario OAuth comune è che a utente carica file from a cloud to an altro e i due sistemi non sono collegati. Quando l’utente collega un allegato, OAuth può essere utilizzato in background per autenticare e cercare file protetti senza richiedere un secondo accesso dal sistema in cui sono archiviati i file.

Uno per Tutti

In ogni caso, OAuth viene utilizzato anche per collegare servizi di terze parti a un altro server web. Il punto è che due o più servizi sono collegati da un’azione dell’utente finale. Preferisci registrarti una o più volte per una singola transazione. Il client (ad es. Browser), i servizi connessi e il provider di autenticazione devono supportare la stessa versione di OAuth.

L’idea è che diversi servizi insieme provino a replicare qualcosa per gli utenti o il loro software l’uno per l’altro. Tutti e tre devono collaborare per ottenere più approvazioni al fine di autorizzare l’intera transazione. È anche importante sapere che questa è sempre un’autorizzazione e non un’autenticazione diretta.

Autenticazione e Autorizzazione

L’autenticazione verifica l’identità digitale dell’utente, che è il processo di verifica di un’identità. In poche parole, qual è l’utente dimostra davvero chi è. Un esempio molto comune di autenticazione alla combinazione di nome utente e password.

L’autorizzazione, a sua volta, è il processo che si verifica dopo la verifica dell’autenticazione. Ciò influenza le autorizzazioni concesse a un utente specifico durante l’utilizzo di un’app. Viene utilizzato per verificare se un determinato utente è autorizzato a eseguire risorse o manipolare determinate azioni, che è di fondamentale importanza per l’approvazione.

Un esempio a cui possiamo dare il permesso è uso di un’azienda specifica ERP. Dopo l’autenticazione nel sistema, l’utile finanziario ha accesso solo ai moduli che risponde all’esecuzione del suo lavoro, ad es. B. Contabilità fornitori e Contabilità clienti.

Operazione OAuth

Supponiamo che un utente abbia già effettuato l’accesso a un sito Web oa un servizio cloud. (Ricorda, OAuth funziona solo con https.) L’utente immette una transazione che collega a un altro sito Web o servizio cloud.

In breve, il processo funziona in questo modo:

1) Il sito visitato si connette a un altro servizio cloud o sito di servizio cloud e richiede la verifica dell’identità dell’utente tramite OAuth.

2) Il secondo sito genera un token e una chiave univoci per la transazione e le parti coinvolte.

3) Il sito visitato passa questo token al software client, ad es. B. il browser.

4) Il software client visualizza un token di richiesta al provider di autorizzazione (questo può essere il secondo sito o servizio, ma non è obbligatorio).

5) Se l’autenticazione non è ancora possibile, il fornitore dell’autorizzazione può chiedere al client di autenticarsi.

6) Dopo aver autorizzato la transazione di autorizzazione per il secondo sito, al cliente verrà richiesto di autenticarsi

7) L’utente (o il software in background) approva la transazione sul sito visitato.

8) Un token di accesso approvato viene passato all’utente (non più token di richiesta).

9) L’utente passa il token di accesso approvato al sito visitato.

10) Il sito visitato trasmette questo token al secondo sito come prova di autenticazione dell’utente.

11) Il secondo sito consente al sito visitato di accedere al sistema per conto dell’utente.

12) L’utente vede che la transazione è andata a buon fine.

Molti sistemi di autenticazione trattano le transazioni in questo modo per l’utente finale. La cosa unica di OAuth è che è possibile sulla maggior parte dei siti Web e con ampia accettazione. Outh ha accettato con successo dove altri tentativi sono falliti per diversi motivi.

Sebbene non sia così semplice, gli sviluppatori web comprendono bene il sistema delle transazioni. La creazione di un sito abilitato per OAuth può richiedere alcune ore o un giorno. Con un piccolo sforzo in più, centinaia di milioni di utenti possono accedere ai siti Web senza dover configurare il proprio sistema di autenticazione complesso e scalabile per una grande azienda. Non esiste un SSO completamente sicuro e universalmente accettato che funzioni su ogni sito web. Ma con OAuth puoi fare un ulteriore passo avanti.

A cura di Lenildo Morais

Chi è l’autore: Lenildo Morais

Lenildo Morais ha conseguito un Master in Informatica presso il Computer Center dell’Università Federale di Pernambuco – Brasile.

È Insegnante presso Uninassau – Essere Educativi – Brasile e l’Università Rurale Federale di Pernambuco – Brasile.

Ricercatore presso ASSERT – Advanced Research Technologies in Systems and Software Engineering.

Responsabile del Progetto presso Porto Digital de Pernambuco – Brasile.

Trovalo su LinkedIn su https://www.linkedin.com/in/lenildo-morais-b36350108/