
Introduzione all’autenticazione SSO con i dispositivi Apple
Le organizzazioni usano spesso l’autenticazione Single Sign-On (SSO), la quale è pensata per migliorare l’esperienza di accesso degli utenti ad app e siti web. Con SSO, viene utilizzato un processo di autenticazione comune per accedere a più app o sistemi, senza che l’utente debba dichiarare di nuovo la propria identità. Invece di salvare le credenziali utente (ad esempio, la password) e riutilizzarle per ogni app o sistema, il protocollo SSO utilizza il token fornito dall’autenticazione iniziale, cosa che per gli utenti è simile al concetto di password unica.
Ad esempio, l’autenticazione SSO viene effettuata quando accedi al provider di identità e successivamente accedi in modo automatico alle app e ai siti web proprietari dell’azienda senza inserire di nuovo la password. Tutte le app e i sistemi sono configurati in modo tale da considerare il provider di identità attendibile per l’identificazione degli utenti e la fornitura degli accessi ai gruppi che, insieme, costituiscono un dominio di sicurezza.
Metodi di autenticazione moderni con SSO
I metodi di autenticazione moderna consistono in un insieme di protocolli di autenticazione basati sul web utilizzati dalle applicazioni cloud. Esempi di tali metodi includono AML 2.0, OAuth 2.0 (iOS 16, iPadOS 16.1, visionOS 1.1 o versioni successive) e Open ID Connect (OIDC). Tali protocolli sono ottimali per l’utilizzo tramite internet e eseguono la crittografia delle proprie connessioni tramite HTTPS. Una soluzione adottata frequentemente per l’identificazione federata tra le reti di un’organizzazione e le applicazioni cloud è SAML 2.0. L’identificazione federata viene utilizzata quando si attraversano domini attendibili, per esempio quando si accede a un insieme di applicazioni sul cloud dal proprio dominio locale.
Nota: per sfruttare il protocollo OAuth 2.0 per l’uso con la registrazione utente, il servizio di gestione dei dispositivi deve implementare il supporto per l’OAuth 2.0 sul server con qualsiasi provider di identità che intende supportare.
Il Single Sign-On con questi protocolli varia in base al fornitore e all’ambiente. Ad esempio, quando usi Active Directory Federation Services (AD FS) sulla rete di un’organizzazione, AD FS funziona con Kerberos per SSO e può utilizzare i cookie del browser quando esegui l’autenticazione di client tramite internet. I protocolli di autenticazione moderni non prescrivono in che modo l’utente debba dichiarare la propria identità. Molti di questi protocolli sono utilizzati in combinazione con l’autenticazione a più fattori come l’invio di un codice tramite SMS quando si effettua l’autenticazione da client sconosciuti. Alcuni fornitori emettono dei certificati sui dispositivi, per identificare quelli conosciuti e agevolare il processo di autenticazione.
I provider di identità possono supportare il protocollo SSO su iOS, iPadOS, macOS e visionOS attraverso l’uso delle estensioni SSO. Queste estensioni permettono ai fornitori di identità di implementare protocolli di autenticazione moderni per i propri utenti.
Kerberos
Kerberos è un noto protocollo di autenticazione utilizzato per il SSO nelle reti di grandi dimensioni. È anche il protocollo di default utilizzato da Active Directory. È compatibile con varie piattaforme, utilizza la crittografia e protegge contro gli attacchi replay. Può utilizzare password, identità di certificati, smart card, dispositivi NFC o altri prodotti hardware per l’autenticazione dell’utente. Il server che esegue l’autenticazione Kerberos è chiamato centro distribuzione chiavi. Per l’autenticazione degli utenti, i dispositivi Apple devono contattare KDC tramite una connessione di rete.
Kerberos è adatto alle reti interne o private di un’organizzazione perché tutti i client e i server richiedono di connettersi in modo diretto al centro distribuzione chiavi. I client che non si trovano sulla rete aziendale devono utilizzare una VPN per connettersi ed eseguire l’autenticazione. Kerberos non è ideale per le app basate sul cloud o su internet, poiché tali applicazioni non dispongono di connettività diretta nella rete aziendale. Per le app basate sul cloud o su internet, è più adeguata l’autenticazione moderna (descritta di seguito).
macOS dà la priorità a Kerberos per tutte le attività di autenticazione quando è integrato in un ambiente Active Directory. Quando un utente accede a un Mac utilizzando un account Active Directory, viene richiesto un ticket di concessione (TGT) Kerberos da un controller di dominio Active Directory. Se l’utente tenta di utilizzare un servizio o un’app sul dominio che supporta l’autenticazione Kerberos, il TGT viene utilizzato per richiedere un ticket per quel servizio senza che l’utente debba autenticarsi di nuovo. Nel caso in cui sia stato impostato un criterio che richiede una password per uscire dal salvaschermo, macOS tenterà di rinnovare il TGT una volta completata l’autenticazione.
Affinché i server kerberizzati funzionino correttamente, è necessario che i record DNS (Domain Name System) diretti e inversi siano precisi. Anche l’orologio di sistema è importante, infatti la differenza fra l’orologio dei server e quello dei client deve essere inferiore a cinque minuti. L’approccio migliore è impostare automaticamente data e ora utilizzando un servizio NTP (Network Time Protocol), ad esempio time.apple.com.
App supportate
iOS, iPadOS e visionOS offrono un supporto flessibile per il Single Sign-On per tutte le app che utilizzano le classi NSURLSession o URLSession per gestire le connessioni di rete e l’autenticazione. Apple mette a disposizione di tutte le aziende di sviluppo queste classi per consentire di integrare perfettamente le connessioni di rete nelle loro app.
Tutte le app del Mac che supportano l’autenticazione Kerberos funzionano con il Single Sign-on. Fra queste anche molte delle app integrate in macOS, come Safari, Mail e Calendario e include servizi come la condivisione di file, la condivisione dello schermo e SSH. Molte app di terze parti supportano anche Kerberos.
Configurare il Single Sign-On
Per configurare il protocollo SSO, è necessario applicare le impostazioni necessarie tramite un servizio di gestione dei dispositivi. La configurazione deve includere informazioni sull’estensione SSO che comunica con il provider di identità, oltre a quali app e URL web di Safari è consentito o vietato l’utilizzo dell’SSO. È inoltre possibile usare anche l’estensione SSO Kerberos fornita da Apple, inclusa su iOS, iPadOS, macOS e visionOS.
Quando si confrontano un pattern e il prefisso di un URL richiesto, viene utilizzata la corrispondenza del pattern a stringa semplice. Come tali, i pattern devono iniziare con https:// o http:// e non corrisponderanno a numeri di porta diversi. Se il pattern di corrispondenza di un URL non finisce con uno slash (/), ne viene aggiunto uno.
Ad esempio, https://www.betterbag.com/ troverà corrispondenza con https://www.betterbag.com/index.html ma non con http://www.betterbag.com né https://www.betterbag.com:443/.
Può essere utilizzato un solo carattere jolly per specificare sottodomini mancanti. Ad esempio, https://*.betterbag.com/ troverà corrispondenza con https://store.betterbag.com/.