Introduzione all’autenticazione Single Sign-On con i dispositivi Apple
Le organizzazioni usano spesso l’autenticazione Single Sign-On (SSO), 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 che salvare le credenziali di un utente (per esempio la sua password) e riutilizzarle per ogni app o sistema, SSO utilizza il token fornito dall’autenticazione iniziale, dando agli utenti l’impressione che la password sia unica.
Ad esempio, il SSO viene effettuato quando accedi ad Active Directory sulla tua rete aziendale e successivamente accedi in modo automatico alle app e ai siti web dell’organizzazione senza inserire di nuovo la password. Tutte le app e i sistemi sono configurati in modo tale da considerare Active Directory attendibile per identificare gli utenti e fornire accesso ai gruppi. Insieme, formano un dominio di sicurezza.
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.
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 è SAML2. 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 on-premise.
Nota: per sfruttare il protocollo OAuth 2.0, la soluzione MDM deve implementare il supporto per OAuth 2.0 sul server con i fornitori di identità che vogliono rendere compatibili per l’uso con la registrazione dell’utente.
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 fornitori di identità possono supportare l’SSO su iOS, iPadOS, macOS e visionOS 1.1 attraverso l’uso delle estensioni Single Sign-On. Queste estensioni permettono ai fornitori di identità di implementare protocolli di autenticazione moderni per i propri utenti.
App supportate
iOS, iPadOS e visionOS 1.1 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 tutti gli sviluppatori 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, oltre a servizi come la condivisione di file, la condivisione dello schermo e SSH. Inoltre, Kerberos è supportato da molte app di terze parti, tra cui Microsoft Outlook.
Configurare il Single Sign-On
Il Single Sign-On si configura attraverso i profili di configurazione, che possono essere installati manualmente o gestiti via MDM. Il payload Single Sign-On permette una configurazione flessibile. Il Single Sign-On può essere aperto a tutte le app o limitato dall’identificatore dell’app, l’URL del servizio o entrambi.
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/.
Gli utenti Mac possono visualizzare e gestire le informazioni del ticket Kerberos utilizzando l’app Visore ticket in /Sistema/Libreria/CoreServices/. Puoi visualizzare informazioni aggiuntive facendo clic sul menu Ticket e scegliendo “Informazioni di diagnosi”. Se permesso dal profilo di configurazione, gli utenti possono richiedere, visualizzare e distruggere i ticket Kerberos utilizzando rispettivamente gli strumenti a riga di comando kinit
, klist
e kdestroy
.