In questo articolo
Correzione del . Distinti OAuth e autenticazione; rimossa l’idea che basti cambiare username per accedere a qualsiasi account e chiarito il perimetro della ricerca.
Nel 2016 ricercatori della Chinese University of Hong Kong mostrarono errori nell'uso di OAuth per il login di applicazioni mobili. L'indagine riguardava implementazioni specifiche, non un miliardo di account verificati uno per uno come compromessi. Scheda della ricerca.
Autorizzazione e autenticazione
OAuth 2.0 è un framework di autorizzazione: permette a un client di ottenere accesso limitato a risorse. Non definisce, da solo, tutto ciò che serve per autenticare l'utente presso un'applicazione. OpenID Connect aggiunge un livello di identità standard sopra OAuth 2.0.
Il server non deve accettare un identificativo utente inviato dal telefono come se fosse una prova della sua identità. Deve verificare le evidenze previste dal protocollo e dal provider, compresi destinatario, emittente e validità dei token pertinenti. Un access token non diventa automaticamente un ID token.
Il confine di fiducia è il punto
La ricerca dimostrava che applicazioni integrate in modo scorretto potevano confondere l'identità dichiarata dal client con quella verificata dal provider. Cambiare il nome visualizzato sul social non è una tecnica universale per entrare negli account altrui.
La conclusione non è che il login federato sia sicuro sul web e insicuro sulle app. Conta l'implementazione. Chi sviluppa dovrebbe usare librerie mantenute, seguire le specifiche del flusso scelto e verificare in laboratorio che un identificativo manipolato non venga accettato come autenticazione.



