Il Sistema Pubblico di Identità Digitale (SPID), strumento con cui ogni cittadino può accedere ai servizi pubblici online offerti dalle pubbliche amministrazioni locali e centrali, diventa più sicuro tramite l’adozione dello standard di sicurezza di autenticazione “OpenID Connect in SPID”.
L’Agenzia per l’Italia Digitale ha infatti rilasciato le linee guida per innalzare il livello di sicurezza delle credenziali di accesso di ciascun cittadino che possiede un’identità digitale attraverso l’adozione delle “Linee Guida OpenID Connect in SPID”, con Determinazione n. 616/2021, redatte ai sensi dell’art. 64 del Decreto Legislativo 7 marzo 2005, n. 82 recante il Codice dell’Amministrazione Digitale (CAD).
Si tratta di un cambiamento epocale per l’uso del Sistema Pubblico di Identità Digitale, specie in considerazione del fatto che, ad oggi, sono circa 26,4 milioni le identità digitali SPID italiane, di cui la maggior parte delle moderne applicazioni web e mobile nel mondo privato (Microsoft, Google, Paypal, etc.) si servono come chiave di accesso ai servizi online erogati. Inoltre, si tratta di uno strumento destinato ad aumentare incisivamente nei prossimi anni (l’autenticazione mediante questo sistema di identificazione è passato dal 22% di un anno fa al 43% nel 2021) ed è per questo che l’AgID si è mossa, si muove e continuerà a muoversi affinché lo SPID possa essere una chiave di accesso sicura, semplice e veloce a tutti i servizi digitali pubblici e privati erogati, abbracciando tutta la popolazione senza esclusioni.
I destinatari delle Linee Guida
I Gestori dell’identità digitale e i Fornitori di servizi pubblici e privati sono gli unici soggetti destinatari delle Linee Guida e delle regole da queste deliberate cui dovranno adeguarsi a decorrere dal mese di maggio 2022. Le Linee Guida in questione stabiliscono per i soggetti sopracitati l’obbligo di adozione di un nuovo standard di sicurezza, l’“OpenID Connect in Spid”, nel caso in cui vogliano iniziare o continuare ad erogare i propri servizi digitali attraverso lo strumento di autenticazione online SPID, con lo scopo di garantirne l’innalzamento del livello di cybersecurity. Nessuna variazione, invece, è prevista per le modalità di autenticazione online e d’uso dello SPID.
L’ “OpenID Connect in Spid” offre un layer di identità sicuro, flessibile e interoperabile. Essendo integrato e fondante per l’uso delle identità digitali SPID, ne deriva che queste ultime possano essere facilmente utilizzate su servizi desktop e mobile da tutte le utenze. L’“OpenID Connect in Spid” è uno standard che si differenzia e supera qualitativamente lo standard, meno sicuro, attualmente impiegato da SPID, il Saml (Security Assertion Markup Language), per le seguenti peculiarità che lo contraddistinguono:
- potenziamento della sicurezza cyber;
- ottimizzazione dell’abilità di integrare applicazioni su diverse piattaforme (single-page app, web, backend, mobile, IoT);
- perfezionamento dell’integrazione di componenti di terze parti in modalità sicura, interoperabile e scalabile.
Il modello di flusso alla base di OpenID Connect
Il modello di flusso alla base del funzionamento dello SPID OpenID Connect è l’”OpenID Connect Authorization Code Flow”, che è l’unico flusso previsto da iGov, “International Government Assurance Profile” for OpenID Connect 1.0. L’Authorization code flow restituisce un codice di autorizzazione che può essere utilizzato dagli utenti per ottenere un ID token e/o un access token. Questo flusso è anche la soluzione ideale per sessioni lunghe o aggiornabili attraverso l’uso del refresh token. L’Authorization code flow ottiene l’authorization code dall’authorization endpoint dell’OpenID Provider e tutti i token sono restituiti dal token endpoint, come dettagliato nelle seguenti fasi:
- l’Utente seleziona nella pagina di accesso del Relying Party (RP, Fornitori di servizi), sul pulsante SPID, l’OpenID Provider (OP, Gestori dell’identità digitale) con cui autenticarsi;
- il fornitore di servizio prepara un’authentication request e reindirizza l’user agent dell’utente con l’authentication request verso l’Authorization Endpoint dell’OpendID Provider selezionato dall’utente;
- l’OP richiede all’utente l’inserimento delle credenziali, secondo il livello SPID richiesto dal RP, all’utente a cui chiede, una volta autenticato, di autorizzare gli attributi richiesti dal RP;
- l’OP reindirizza l’utente verso il Redirect URI specificato dal RP, passando un authorization code;
- il RP invia l’authorization code ricevuto al Token endpoint dell’OP;
- l’OP Token endpoint rilascia un ID Token, un Access token e se richiesto un Refresh token;
- il RP riceve e valida l’Access token e l’ID token. Per chiedere gli attributi che erano stati autorizzati dall’utente al punto 3, invia una richiesta all’UserInfo Endpoint utilizzando l’Access token per l’autenticazione;
- l’OP conferma l’utente e rilascia gli attributi richiesti al RP.
È stabilito inoltre che il modello di flusso “Authorization Code Flow” è requisito base anche nel caso di utilizzo di applicazioni mobili, poiché anche queste ultime possono essere strumento impiegato dagli utenti, attraverso cui effettuare le richieste al Token Endpoint e all’UserInfo Endpoint. Pertanto, le Linee Guida raccomandano che lo scambio di informazioni tra l’applicazione mobile e il suo backend deve prevedere dei meccanismi di trasmissione e di archiviazione sicuri in grado di “isolare” l’applicazione stessa e, dunque, impedire a terzi di entrare in possesso dell’Access Token del cittadino-utente. Ma l’“OpenID Connect in Spid” non si limita a fornire mere raccomandazioni, quanto piuttosto impone incisivamente una serie di controlli di sicurezza cyber obbligatori (adatti a un ampio ventaglio di casi d’uso governativi) grazie ai quali si possono scongiurare, per l’appunto, potenziali attacchi da parte di malintenzionati che agiscono con lo scopo di intercettare i flussi delle comunicazioni tra i differenti attori coinvolti, specie nel contesto delle applicazioni per dispositivi mobili.
La novità dello “Spid OpenID Connect”
La novità dello “Spid OpenID Connect” consiste nell’introduzione delle cosiddette “sessioni lunghe revocabili”, le quali permettono di:
- evitare i costanti reinserimenti di password ad ogni accesso, innalzando la sicurezza e riducendo l’esposizione a potenziali rischi-attacchi da parte di eventuali soggetti che potrebbero agire nel web in modo malevolo a discapito delle proprie vittime;
- migliorare la user experience dei cittadini nella fruizione delle applicazioni dei propri dispositivi mobili, rendendo l’utilizzo di ciascun servizio digitale offerto, pubblico o privato che sia, maggiormente flessibile e agevole per tutti i soggetti che ne fanno uso.
Infine, ma non meno importante, lo “Spid OpenID Connect” prevede una serie di meccanismi pratici che danno facoltà ai titolari di un’identità digitale SPID di poter bloccare tutte le autenticazioni effettuate precedentemente per l’accesso ad un determinato servizio, sempre nell’ottica di garantire elevati livelli di sicurezza cyber durante l’esecuzione di ciascuna delle operazioni svolte.
Conclusioni
In conclusione, l’importanza dello SPID è tale che si è testimoni di come non sia più limitato all’accesso dei singoli servizi pubblici, ma anche di come si stia estendendo gradualmente anche a quelli privati (ad es. servizi bancari, scolastici, etc.). Da ciò ne consegue la necessità di ampliare la cultura della consapevolezza di tutta la società (inclusi i minori) rispetto all’uso dell’identità digitale per l’esercizio dei propri diritti e tenere costante l’impegno volto alla salvaguardia e sicurezza di questo strumento così innovativo quanto imprescindibile.