
Sicurezza del Single Sign-On
Single Sign-On
iOS, iPadOS e visionOS supportano l’autenticazione alle reti aziendali attraverso SSO (Single Sign‑On). Il SSO funziona con le reti basate su Kerberos per autenticare gli utenti ai servizi a cui sono stati autorizzati ad accedere. La tecnologia SSO può essere utilizzata per una serie di attività di rete, che spazia dalle sessioni sicure di Safari alle app di terze parti. È inoltre supportata l’autenticazione basata su certificati (come PKINIT).
macOS supporta l’autenticazione alle reti aziendali tramite Kerberos. Le app possono usare Kerberos per autenticare gli utenti ai servizi a cui sono stati autorizzati ad accedere. Kerberos può essere utilizzato inoltre per una serie di attività di rete, che spazia dalle sessioni sicure di Safari e l’autenticazione dei file system di rete alle app di terze parti. È supportata anche l’autenticazione che si basa sui certificati, tuttavia è richiesta l’adozione di un’API dello sviluppatore.
La tecnologia SSO di iOS, iPadOS, macOS e visionOS usa i token SPNEGO e il protocollo HTTP Negotiate, grazie ai quali può lavorare con gateway di autenticazione basati su Kerberos e sistemi con autenticazione integrata di Windows che supportano i ticket Kerberos. Il supporto di SSO si basa sul progetto open source Heimdal.
Sono supportati i seguenti tipi di crittografia:
AES‑128‑CTS‑HMAC‑SHA1‑96
AES‑256‑CTS‑HMAC‑SHA1‑96
DES3‑CBC‑SHA1
ARCFOUR‑HMAC‑MD5
Safari supporta SSO e anche le app di terze parti che usano API di networking per iOS, iPadOS e visionOS standard possono essere configurate per poter utilizzare questa tecnologia. Per la configurazione di SSO, iOS, iPadOS e visionOS supportano un payload di un profilo di configurazione che consente alle soluzioni per la gestione dei dispositivi mobili (MDM) di scaricare le impostazioni necessarie. Si tratta dunque di impostare il nome principale dell’utente (cioè, l’account utente Active Directory), le impostazioni dell’area di autenticazione di Kerberos e di indicare le app e gli URL di Safari a cui è consentito l’uso del SSO.
Extensible Single Sign-On
Gli sviluppatori di app possono fornire le proprie implementazioni della tecnologia Single Sign-On tramite estensioni SSO. Tali estensioni vengono invocate quando un’app nativa o web deve utilizzare dei provider di identità per l’autenticazione dell’utente. Gli sviluppatori possono fornire due tipi di estensioni: quelle che reindirizzano a HTTPS e quelle che usano il meccanismo di richiesta/risposta come Kerberos. In questo modo gli schemi di autenticazione di OpenID, OAuth, SAML2 e Kerberos possono essere supportati da Extensible Single Sign-On. Le estensioni SSO possono anche supportare l’autenticazione di macOS adottando un protocollo SSO nativo, che consente di ricevere token SSO durante il login a macOS.
Per usare un’estensione Single Sign-On, un’app può utilizzare l’API AuthenticationServices oppure confidare nel meccanismo di intercettazione dell’URL offerto dal sistema operativo. WebKit e CFNetwork forniscono un livello di intercettazione che consente il pieno supporto SSO per ogni app nativa o WebKit. Perché sia invocata un’estensione SSO, occorre installare tramite un profilo MDM una configurazione fornita da un amministratore. Inoltre, le estensioni di reindirizzamento devono utilizzare il payload “Domini associati” per provare che il server di identità che supportano è consapevole della loro esistenza.
L’unica estensione fornita dal sistema operativo è SSO Kerberos.