OpenID Connect cos'è e come cambia con OpenPubkey

Una breve disamina di OpenID Connect: cos'è, come funziona e a che cosa serve. Quali le affinità e le possibilità di integrazione con SPID e CIE. La novità rappresentata da OpenPubkey, che consente di firmare messaggi e richieste con la propria identità digitale.

Mentre l’Europa spinge l’acceleratore sul Digital Identity Wallet, la quasi totalità delle applicazioni Web e mobili poggia su OpenID Connect (OIDC). Si tratta di un protocollo di autenticazione e autorizzazione basato su OAuth 2.0. È progettato per consentire l’autenticazione degli utenti su applicazioni e servizi Web in modo sicuro e interoperabile. OpenID Foundation, consorzio di organizzazioni e soggetti interessati a promuovere standard di identità digitale aperti, ha plasmato OpenID Connect nel 2014 aggiungendo a OAuth 2.0 uno strato di autenticazione.

L’idea alla base del lavoro portato avanti da OpenID Foundation era infatti proprio quella di superare alcune limitazioni e complessità di OAuth 2.0, fornendo un framework più robusto per l’autenticazione e l’identità digitale.

Con OpenID Connect, gli utenti possono utilizzare le loro credenziali di autenticazione fornite da un Identity Provider (IdP) per accedere a servizi e applicazioni senza dover creare nuovi account separati per ciascun servizio. Inoltre, i cosiddetti JSON Web Tokens (JWT) permettono la trasmissione delle informazioni sull’identità in modo sicuro e strutturato.

Logo OpenID Connect

I vantaggi di OpenID Connect

OpenID Connect offre molteplici benefici, contribuendo a migliorare l’autenticazione e l’autorizzazione degli utenti su Internet. Di seguito riassumiamo i principali vantaggi:

  • Interoperabilità: OIDC è progettato per essere interoperabile, consentendo a diverse applicazioni e servizi Web di supportare un protocollo comune per l’autenticazione. In questo modo è facile integrare funzionalità di autenticazione “standard” su più piattaforme differenti.
  • Standardizzazione: Essendo uno standard aperto, OIDC offre una specifica chiara e ben definita per l’autenticazione basata su OAuth 2.0. Ciò facilita l’implementazione e la comprensione del protocollo da parte degli sviluppatori software.
  • Riutilizzo delle credenziali: Gli utenti possono utilizzare le loro credenziali di autenticazione ottenute da un Identity Provider (IdP) su più servizi e applicazioni, evitando la necessità di creare e ricordare molteplici coppie di nome utente e password.
  • Sicurezza: L’uso di JSON Web Tokens (JWT) per la trasmissione di informazioni sull’identità offre un meccanismo sicuro per lo scambio di dati tra client e server.
  • Discovery degli endpoint: OIDC integra una funzionalità che permette la ricerca degli endpoint. In questo modo, le applicazioni client possono trovare dinamicamente gli URL necessari per l’autenticazione e l’ottenimento dei token autorizzativi.
  • Gestione delle sessioni: Il protocollo offre strumenti per la gestione delle sessioni, consentendo di gestire in modo più efficace lo stato dell’utente durante le interazioni con l’applicazione.
  • Attribuzione di autorizzazioni: OIDC supporta il concetto di attribuzione di autorizzazioni, consentendo alle applicazioni di richiedere e ricevere informazioni supplementari sull’utente durante la fase autorizzativa.

Single Sign-On e identità federata

OpenID Connect è considerato un protocollo di Single Sign-On (SSO) poiché fornisce un meccanismo standardizzato per consentire agli utenti di autenticarsi una sola volta e accedere a più servizi e applicazioni senza la necessità di effettuare l’accesso separatamente su ciascuno di essi.

OIDC è anche il componente di un ecosistema digitale di identità federata principalmente perché favorisce l’interoperabilità tra diversi IdP e client (servizi o applicazioni) all’interno di un sistema distribuito.

Per tutti questi motivi, OpenID Connect è rapidamente diventato uno dei protocolli più utilizzati dalle grandi aziende che operano nel settore tecnologico: Google, Microsoft, Meta, Okta, Amazon Cognito fungono da IdP. Grazie alla struttura aperta del sistema, tuttavia, molte organizzazioni implementano i propri servizi IdP personalizzati basati su OpenID Connect per gestire l’autenticazione degli utenti direttamente sui loro sistemi, senza appoggiarsi a terze parti.

Il funzionamento di OpenID Connect e il flusso che caratterizza ogni procedura di autenticazione ed autorizzazione sono riassunti in questa pagina.

I punti di contatto con SPID e CIE

Se, leggendo la descrizione di OpenID Connect e l’elenco dei suoi principali vantaggi, avete trovato delle somiglianze con i principi alla base di SPID (Sistema Pubblico di identità Digitale) è perché effettivamente ci sono.

Abbiamo già visto come funziona SPID davvero: sebbene si tratti di un sistema italiano che offre un’identità digitale unica per l’accesso a servizi online della Pubblica Amministrazione e dei  soggetti privati aderenti, SPID è interoperabile. Esaminando le regole tecniche pubblicate da AgID, si apprende che SPID adotta anche lo standard OpenID Connect e guarda quindi alla piena convergenza tecnica e di processo tra i due sistemi di identità digitale. Avevamo annunciato il “cambiamento epocale” nel 2021 parlando dell’integrazione tra SPID e OIDC.

I Gestori dell’Identità digitale e i Fornitori di servizi pubblici e privati si sono dovuti adeguare a partire da maggio 2022 abbracciando anche l’utilizzo di OpenID Connect all’interno di SPID. I vantaggi dell’integrazione, che interessa anche CIE id ovvero la verifica dell’identità digitale mediante Carta d’identità elettronica, sono tangibili e ricomprendono la possibilità di evitare l’inserimento della password a ogni accesso e, ad esempio, bloccare tutte le autenticazioni effettuate su un determinato servizio.

Inoltre, parlando di Digital Identity Wallet, la Commissione Europea lascia a ciascuno Stato membro l’onere della definizione degli strumenti utili a fornire l’attestazione dell’identità di ogni utente. SPID, CIE e OpenID Connect possono quindi entrare a pieno titolo tra i meccanismi ammessi.

OpenID Connect migliora con OpenPubkey

OpenPubkey è un protocollo crittografico che aggiunge la possibilità di utilizzare chiavi di firma generate utilizzando proprio OpenID Connect. Il nuovo protocollo, appena presentato da pezzi da novanta quali The Linux Foundation, BastionZero e Docker, consente di firmare messaggi e richieste utilizzando la propria identità digitale OIDC senza bisogno di aggiungere ulteriori informazioni a supporto.

La novità OpenPubkey è completamente compatibile con i provider OIDC esistenti, senza alcuna modifica lato gestore. La modifica è richiesta invece solo lato client: un ID Token emesso da un provider OIDC deve legarsi a una chiave pubblica detenuta dall’utente.

OpenPubkey consente agli utenti di associare in modo sicuro e accurato chiavi crittografiche a utenti e carichi di lavoro trasformando un Identity Provider (IdP) OpenID Connect in un’autorità di certificazione (CA).

BastionZero è un’azienda che offre un servizio cloud per la gestione degli accessi sicuri alle risorse IT, come server, container, cluster, database e server Web. È progettato per garantire la massima sicurezza e facilità d’uso, consentendo agli utenti di accedere alle risorse IT senza dover gestire una serie di sistemi diversi.

Per dare un’idea delle potenzialità di OpenPubkey basti pensare che BastionZero ha annunciato annuncia l’integrazione del nuovo protocollo per la firma dei container Docker: in questo modo si contribuisce a proteggere l’ecosistema del software open source con l’autenticazione zero-trust senza password.

Presentando il repository GitHub di OpenPubkey, The Linux Foundation spiega che l’iniziativa giocherà un ruolo fondamentale nel rafforzare la sicurezza del software open source migliorando significativamente l’intera catena di fornitura del software.

Credit immagine in apertura: iStock.com/TU IS

Ti consigliamo anche

Link copiato negli appunti