Che cos'è OIDC?
Scopri di più su OpenID Connect (OIDC), un protocollo di autenticazione che verifica le identità degli utenti quando accedono per accedere alle risorse digitali.
OpenID Connect definito (OIDC)
OpenID Connect (OIDC) è un protocollo di autenticazione delle identità che è un'estensione di open authorization (OAuth) 2.0 per standardizzare il processo di autenticazione e autorizzazione degli utenti quando accedono ai servizi digitali. OIDC fornisce autenticazione, ovvero verifica che gli utenti siano chi dichiarano di essere. OAuth 2.0 autorizza i sistemi a cui tali utenti sono autorizzati ad accedere. OAuth 2.0 viene in genere usato per consentire a due applicazioni non correlate di condividere informazioni senza compromettere i dati utente. Ad esempio, molte persone usano i propri account di posta elettronica o di social media per accedere a un sito di terze parti anziché creare un nuovo nome utente e una nuova password. OIDC viene usato anche per fornire l'accesso Single Sign-On. Le organizzazioni possono usare un sistema IAM (Identity and Access Management ) sicuro come Microsoft Entra ID (in precedenza Azure Active Directory) come autenticatore principale delle identità e quindi usare OIDC per passare tale autenticazione ad altre app. In questo modo gli utenti devono accedere una sola volta con un nome utente e una password per accedere a più app.
Componenti chiave di OIDC
In OIDC sono disponibili sei componenti principali:
- L’autenticazione è il processo di verifica dell'identità dell'utente.
- Un client è il software, ad esempio un sito Web o un'applicazione, che richiede token usati per autenticare un utente o accedere a una risorsa.
- Relying party sono le applicazioni che usano provider OpenID per autenticare gli utenti.
- I token di identità contengono dati sull'identità, tra cui il risultato del processo di autenticazione, un identificatore per l'utente e informazioni su come e quando l'utente viene autenticato.
- i provider OpenID sono le applicazioni per cui un utente ha già un account. Il loro ruolo in OIDC consiste nell'autenticare l'utente e passare tali informazioni al relying party.
- Utenti sono persone o servizi che cercano di accedere a un'applicazione senza creare un nuovo account o fornire un nome utente e una password.
Come funziona l'autenticazione OIDC?
L'autenticazione OIDC funziona consentendo agli utenti di accedere a un'applicazione e di ricevere l'accesso a un'altra applicazione. Ad esempio, se un utente vuole creare un account in un sito di notizie, potrebbe avere un'opzione per usare Facebook per creare il proprio account anziché crearne uno nuovo. Se scelgono Facebook, usano l'autenticazione OIDC. Facebook, noto come provider OpenID, gestisce il processo di autenticazione e ottiene il consenso dell'utente per fornire informazioni specifiche, ad esempio un profilo utente, al sito di notizie, che è il relying party.
Token ID
Il provider OpenID usa i token ID per trasmettere i risultati dell'autenticazione ed eventuali informazioni pertinenti al relying party. Esempi del tipo di dati inviati includono un ID, un indirizzo di posta elettronica e un nome.
Ambiti
Gli ambiti definiscono le operazioni che l'utente può eseguire con l'accesso. OIDC fornisce ambiti standard, che definiscono elementi quali la relying party per cui è stato generato il token, la data di generazione del token, la scadenza del token e il livello di crittografia usato per autenticare l'utente.
Un tipico processo di autenticazione OIDC include i passaggi seguenti:
- Un utente passa all'applicazione a cui vuole accedere (il relying party).
- L'utente digita il nome utente e la password.
- Il relying party invia una richiesta al provider OpenID.
- Il provider OpenID convalida le credenziali dell'utente e ottiene l'autorizzazione.
- Il provider OpenID invia un token di identità e spesso un token di accesso al relying party.
- Il relying party invia il token di accesso al dispositivo dell'utente.
- All'utente viene concesso l'accesso in base alle informazioni fornite nel token di accesso e nel relying party.
Che cosa sono i flussi OIDC?
I flussi OIDC definiscono la modalità di richiesta e recapito dei token al relying party. Alcuni esempi:
Flussi di autorizzazione OIDC: il provider OpenID invia un codice univoco alla relying party. La relying party quindi invia di nuovo il codice univoco al provider OpenID in cambio del token. Questo metodo viene usato in modo che il provider OpenID possa verificare il relying party prima di inviare il token. Il browser non può visualizzare il token in questo metodo, che quindi rimane al sicuro.
Flussi di autenticazione OIDC con estensione PKCE: questo flusso è lo stesso del flusso di autorizzazione OIDC, ad eccezione del fatto che usa una chiave pubblica per l'estensione PKCE (Code Exchange) per inviare le comunicazioni come hash. Ciò riduce le probabilità che il token venga intercettato.
Credenziali client: questo flusso consente di accedere alle API Web usando l'identità dell'applicazione stessa. In genere viene usato per la comunicazione da server a server e per script automatizzati che non richiedono alcuna interazione da parte dell'utente.
Codice dispositivo: questo flusso consente agli utenti di effettuare l'accesso e accedere alle API basate sul Web su dispositivi connessi a Internet che non hanno browser o presentano un'esperienza tramite tastiera scadente, ad esempio una smart TV.
I flussi aggiuntivi, ad esempio il flusso implicito OIDC, progettato per le applicazioni basate su browser, non sono consigliati perché rappresentano un rischio per la sicurezza.
Confronto tra OIDC e OAuth 2.0
OIDC è stato basato su OAuth 2.0 per aggiungere l'autenticazione. Il protocollo OAuth 2.0 è stato sviluppato per primo e quindi è stato aggiunto OIDC per migliorare le funzionalità. La differenza tra i due è che OAuth 2.0 fornisce l'autorizzazione, mentre OIDC fornisce l'autenticazione. OAuth 2.0 consente agli utenti di accedere a un relying party, usando il proprio account con un provider OpenID, e OIDC consente al provider OpenID di passare un profilo utente al relying party. OIDC consente inoltre alle organizzazioni di offrire agli utenti l'accesso Single Sign-On.
Vantaggi dell'autenticazione OIDC
Riducendo il numero di account necessari agli utenti per accedere alle app, OIDC offre diversi vantaggi a singoli utenti e organizzazioni:
Riduce il rischio di furto di password
Quando gli utenti devono usare più password per accedere alle app necessarie per il lavoro e la vita privata, spesso scelgono password facili da memorizzare, ad esempio Password1234!, e usano la stessa password in diversi account. Ciò aumenta il rischio che un attore non valido possa indovinare una password. E una volta che conoscono la password di un account, potrebbero essere in grado di accedere anche ad altri account. Riducendo il numero di password che un utente deve memorizzare, aumenta le probabilità che usi una password più forte e più sicura.
Migliora i controlli di sicurezza
Centralizzando l'autenticazione in un'app, le organizzazioni possono anche proteggere l'accesso tra più app con controlli di accesso avanzati. supporto OIDC a due fattori e l'autenticazione a più fattori, che richiedono agli utenti di verificare la propria identità usando almeno due dei seguenti elementi:
Qualcosa che l'utente conosce, in genere una password.
qualcosa che possiedono, ad esempio un dispositivo attendibile o un token non facilmente duplicabile.
Qualcosa che l'utente è, come un'impronta digitale o una scansione viso.
L'autenticazione a più fattori è un metodo collaudato per ridurre la compromissione dell'account. Le organizzazioni possono anche usare OIDC per applicare altre misure di sicurezza, ad esempio gestione degli accessi con privilegi, protezione delle password, sicurezza degli accessi o protezione delle identità, in più app.
Semplifica l'esperienza utente
L'accesso a più account durante la giornata può richiedere molto tempo e essere frustrante per le persone. Inoltre, se perdono o dimenticano una password, la reimpostazione può compromettere ulteriormente la produttività. Le aziende che usano OIDC per fornire l'accesso Single Sign-On ai dipendenti contribuiscono a garantire che la forza lavoro passi più tempo al lavoro produttivo anziché tentare di ottenere l'accesso alle app. Le organizzazioni rendono anche più probabile che i clienti si iscrivino e usino i loro servizi se consentono ai singoli utenti di usare il proprio account Microsoft, Facebook o Google per l'accesso.
Standardizza l'autenticazione
OpenID Foundation, che include marchi di alto profilo come Microsoft e Google, ha creato OIDC. È stato progettato per essere interoperabile e supporta molte piattaforme e librerie, tra cui iOS, Android, Microsoft Windows e i principali provider di identità e cloud.
Semplifica la gestione delle identità
Le organizzazioni che usano OIDC per fornire l'accesso Single Sign-On per i propri dipendenti e partner possono ridurre il numero di soluzioni di gestione delle identità che devono gestire. In questo modo è più semplice tenere traccia della modifica delle autorizzazioni e consentire agli amministratori di usare un'unica interfaccia per applicare criteri e regole di accesso tra più app. Le aziende che usano OIDC per consentire agli utenti di accedere alle proprie app usando un provider OpenID riducono il numero di identità che devono gestire.
Esempi e casi d'uso OIDC
Molte organizzazioni usano OIDC per abilitare l'autenticazione sicura tra app Web e per dispositivi mobili. Ecco alcuni esempi:
quando un utente si registra per un account Spotify, gli vengono offerte tre opzioni: Registrati con Facebook, Registrati con Google, Registrati con il tuo indirizzo e-mail. Gli utenti che scelgono di registrarsi con Facebook o Google usano OIDC per creare un account. Verranno reindirizzati a qualsiasi provider OpenID selezionato (Google o Facebook) e quindi, dopo aver eseguito l'accesso, il provider OpenID invierà i dettagli del profilo di base di Spotify. L'utente non deve creare un nuovo account per Spotify e le password rimangono protette.
LinkedIn offre anche agli utenti un modo per creare un account usando il proprio account Google anziché creare un account separato per LinkedIn.
Un'azienda vuole fornire l'accesso Single Sign-On ai dipendenti che devono accedere a Microsoft Office 365, Salesforce, Box e Workday per svolgere il proprio lavoro. Invece di richiedere ai dipendenti di creare un account separato per ognuna di queste app, l'azienda usa OIDC per fornire l'accesso a tutte e quattro le app. I dipendenti creano un account e ogni volta che accedono ottengono l'accesso a tutte le app necessarie per il lavoro.
Implementa OIDC per l'autenticazione sicura
OIDC fornisce un protocollo di autenticazione per semplificare le esperienze di accesso per gli utenti e migliorare la sicurezza. Si tratta di un'ottima soluzione per le aziende che vogliono incoraggiare i clienti a iscriversi ai propri servizi senza dover gestire gli account. Consente inoltre alle organizzazioni di offrire ai propri dipendenti e ad altri utenti l'accesso Single Sign-On sicuro a più app. Le organizzazioni possono usare soluzioni di identità e accesso che supportano OIDC, ad esempio Microsoft Entra, per gestire tutte le identità e i criteri di sicurezza di autenticazione in un'unica posizione.
Altre informazioni su Microsoft Security
-
Microsoft Entra ID
Connetti in modo sicuro dipendenti, clienti e partner alle app, ai dispositivi e ai dati con una soluzione cloud di gestione delle identità e degli accessi.
-
Microsoft Entra ID Governance
Garantisce automaticamente che le persone giuste abbiano accesso alle app giuste.
-
ID verificato di Microsoft Entra
Fornisci identità decentralizzate con un servizio di credenziali verificabili gestite in base a standard aperti.
-
ID dei carichi di lavoro di Microsoft Entra
Gestisci e proteggi le identità garantite ad app e servizi.
-
Domande frequenti
-
OIDC è un protocollo di autenticazione delle identità che funziona con OAuth 2.0 per standardizzare il processo di autenticazione e autorizzazione degli utenti quando accedono ai servizi digitali. OIDC fornisce autenticazione, ovvero verifica che gli utenti siano chi dichiarano di essere. OAuth 2.0 autorizza i sistemi a cui tali utenti sono autorizzati ad accedere. OIDC e Auth 2.0 vengono in genere usati per consentire a due applicazioni non correlate di condividere informazioni senza compromettere i dati utente.
-
I SAML (Security Assertion Markup Language) e OIDC sono protocolli di autenticazione delle identità che consentono agli utenti di accedere in modo sicuro una sola volta e di accedere a più applicazioni. SAML è un protocollo meno recente ampiamente adottato per l'accesso Single Sign-On. Trasmette i dati usando il formato XML. OIDC è un protocollo più recente che usa il formato JSON per trasmettere i dati utente. OIDC sta acquisendo popolarità perché è più facile da implementare rispetto a SAML e funziona meglio con le applicazioni per dispositivi mobili.
-
OIDC è l'acronimo di OpenID Connect protocollo, ovvero un protocollo di autenticazione delle identità usato per consentire a due applicazioni non correlate di condividere le informazioni del profilo utente senza compromettere le credenziali utente.
-
OIDC è stato basato su OAuth 2.0 per aggiungere l'autenticazione. Il protocollo OAuth 2.0 è stato sviluppato per primo e quindi è stato aggiunto OIDC per migliorare le funzionalità. La differenza tra i due è che OAuth 2.0 fornisce l'autorizzazione, mentre OIDC fornisce l'autenticazione. OAuth 2.0 consente agli utenti di accedere a un relying party, usando il proprio account con un provider OpenID, e OIDC consente al provider OpenID di passare un profilo utente al relying party. Questa funzionalità consente inoltre alle organizzazioni di offrire agli utenti l'accesso Single Sign-On. I flussi OAuth 2.0 e OIDC sono simili, ad eccezione del fatto che usano una terminologia leggermente diversa.
Un tipico flusso OAuth 2.0 prevede i passaggi seguenti:
- Un utente passa all'applicazione a cui vuole accedere (il server delle risorse).
- Il server delle risorse reindirizza l'utente all'applicazione in cui ha un account (il client).
- L'utente accede usando le proprie credenziali per il client.
- Il client convalida l'accesso dell'utente.
- Il client invia un token di accesso al server di risorse.
- Il server delle risorse concede l'accesso all'utente.
Un tipico flusso OIDC prevede i passaggi seguenti:
- Un utente passa all'applicazione a cui vuole accedere (il relying party).
- L'utente digita il nome utente e la password.
- Il relying party invia una richiesta al provider OpenID.
- Il provider OpenID convalida le credenziali dell'utente e ottiene l'autorizzazione.
- Il provider OpenID invia un token di identità e spesso un token di accesso al relying party.
- Il relying party invia il token di accesso al dispositivo dell'utente.
- All'utente viene concesso l'accesso in base alle informazioni fornite nel token di accesso e nel relying party.
-
Il provider OpenID usa i token ID per trasmettere i risultati dell'autenticazione ed eventuali informazioni pertinenti all’applicazione relying party. Esempi del tipo di dati inviati includono un ID, un indirizzo di posta elettronica e un nome.
Segui Microsoft Security