Che cos'è il Single Sign-On (SSO)?

Le basi del SSO

Che cos'è il Single Sign-On (SSO)?

Dai primi giorni dell’informatica fino all’avvento di Internet, uno dei pochi accessi esistenti e necessari era quello di utilizzare un nome utente e una password per sbloccare il computer. Questa combinazione, denominata credenziali, è una forma di autenticazione.

Con lo sviluppo di Internet e delle applicazioni remote, gli utenti hanno avuto sempre più credenziali di accesso: per aprire il proprio incarico di lavoro, per la propria posta elettronica, per le proprie applicazioni, ecc. Oggi, in media, una persona ha bisogno di accedere 9 volte1 per aprire tutti gli strumenti di cui ha bisogno per lavorare.

Aumentare il numero di credenziali non sarebbe un problema se gli utenti potessero utilizzare le stesse credenziali per ogni accesso. Tuttavia, ciò creerebbe enormi vulnerabilità di sicurezza perché una volta che una combinazione di credenziali viene trapelata o violata, tutte le app diventerebbero accessibili a una persona non autorizzata.

L’aumento delle esigenze di identificazione e dei rischi che queste generano hanno dato origine al concetto di identificazione univoca comunemente chiamato SSO (per Single Sign-On).

Il principio di SSO è quello di consentire a una persona di connettersi a tutte le applicazioni di cui ha bisogno con un’unica combinazione di identificatori. Scritto in questo modo, l’accesso SSO è simile al sistema mostrato appena sopra 🙂

Ciò che cambia tra questi due approcci è che nell’esempio sopra, ogni applicazione conteneva una copia della combinazione di accesso nel proprio database. Con una soluzione SSO corretto, le applicazioni non hanno informazioni di accesso. si fidano semplicemente di quello che viene chiamato un Identity Provider (IDP) che garantisce loro che l’utente ha il diritto di connettersi. Senza le credenziali di accesso, le applicazioni non possono essere compromesse.

Ecco alcuni termini da sapere:

Fornitore di identità (FI) o Provider di identità (IdP):
È lui che memorizza le informazioni di accesso dell’utente e che, infatti, autentica l’utente al momento della sua prima connessione. Sul mercato sono disponibili vari IdP popolari, come Active Directory Federation Services (AD FS), Okta, OneLogin e HelloID.
Fornitore di servizi (FS) o Fornitore di servizi (SP) :
Questa è l’applicazione a cui sta accedendo l’utente e per la quale deve essere autenticato. Quando l’utente apre un’applicazione, parla con il provider di identità per convalidare le credenziali dell’utente.
Affermazione:
Queste sono tutte le informazioni inviate dall’Identity Provider al Service Provider. Il contenuto dell’asserzione varia tra i protocolli di accesso SSO (ad esempio, SAML , OAuth o anche OpenID). In genere contiene l’ID utente, il nome e vari attributi specifici del protocollo utilizzato. L’asserzione è crittografata e firmata da un certificato a cui hanno accesso solo Identità e Fornitori di servizi al fine di certificare l’affidabilità della fonte.

In generale, il single sign-on funziona come un contratto di fiducia stabilito tra il Fornitore di identità e il Fornitore di servizi. Ciò significa che quando il provider di identità indica che la persona che accede all’applicazione è Bob Johnson, il provider di servizi ci crede e registra l’utente nell’account di Bob.

In che modo un utente accede a un’applicazione?

La maggior parte dei provider SSO offre una soluzione di portale di applicazioni Web accessibile da qualsiasi parte del mondo. Una volta che l’utente ha effettuato l’accesso con la sua combinazione di autenticazione univoca, ha accesso alle applicazioni della sua azienda attraverso questo portale. Quando l’utente sceglie un’applicazione, un’asserzione SSO viene inviata al fornitore di servizi con le informazioni dell’utente. Se l’asserzione viene accettata, l’applicazione si apre e l’utente può lavorare. Questo tipo di connessione SSO è denominata “Identità avviata dal Provider” (o “IdP avviata”) perché proviene direttamente dal provider di accesso.

In che modo un provider di servizi convalida le informazioni del provider di identità?

Caso dell’utente che non attraversa il portale ma si collega direttamente emento sul sito del servizio, ad esempio il servizio di messaggistica di Gmail.

In questo tipo di situazione, il fornitore di servizi sa cosa fare in base al nome o alle informazioni e-mail inserite dall’utente. Invece di memorizzare le informazioni di autenticazione, l’applicazione memorizza le informazioni sul provider di identità e sa dove inviare la richiesta di autenticazione. Questo tipo di richiesta è chiamato “SP Initiated” perché la richiesta proviene dal Service Provider.

Le soluzioni di accesso SSO non sono prive di pericoli:

Quando viene implementata una soluzione SSO, l’Identity Provider e tutti i relativi sistemi di autenticazione diventano estremamente critici. In caso di perdita o interruzione del servizio, l’accesso a tutte le applicazioni che utilizzano il Single Sign-On è bloccato.

Inoltre, con un solo identificatore impostato per utente, diventa essenziale proteggere queste informazioni di connessione e garantire che non vengano condivise o perse. Per questo si consiglia vivamente di abbinare alla soluzione single sign-on un ulteriore livello di sicurezza come Active Token, Smart Card o Smartphone.

 

[1] https://www.businesswire.com/news/home/20170918005033/en/Information-App-Overload-Hurts-Worker-Productivity-Focus