Introduction à l’authentification unique avec des appareils Apple
Les établissements font souvent appel à l’authentification unique (SSO), qui est conçue pour améliorer l’expérience de connexion des utilisateurs aux apps et sites web. Grâce à un processus d’authentification commun, cette méthode permet d’accéder à plusieurs apps ou systèmes sans que l’utilisateur ait besoin de confirmer une nouvelle fois son identité. Au lieu d’enregistrer l’identifiant de l’utilisateur (par exemple, son mot de passe) et de le réutiliser pour chaque app ou système, l’authentification unique se sert du jeton fourni par l’authentification initiale. Ainsi, les utilisateurs ont l’impression d’utiliser un mot de passe à usage unique.
Par exemple, l’authentification unique a lieu lorsque vous vous connectez à Active Directory sur votre réseau d’entreprise, puis que vous accédez directement à vos apps et sites web d’entreprise sans avoir à saisir une nouvelle fois votre mot de passe. Tous les systèmes et apps sont configurés pour faire confiance à Active Directory en ce qui concerne l’identification des utilisateurs et les adhésions aux groupes ; l’ensemble constitue un domaine de sécurité.
Kerberos
Kerberos est un protocole d’authentification populaire utilisé dans des réseaux de grande envergure pour l’authentification unique. C’est également le protocole par défaut utilisé par Active Directory. Il fonctionne sur plusieurs plateformes, utilise le chiffrement et offre une protection contre les attaques par relecture. Il peut utiliser des mots de passe, des certificats dʼidentité, des cartes à puce, des appareils NFC ou d’autres produits d’authentification matérielle pour authentifier lʼutilisateur. Le serveur qui exécute le protocole Kerberos est connu sous le nom de Centre de distribution de clés (KDC). Pour authentifier des utilisateurs, les appareils Apple doivent communiquer avec le Centre de distributions de clés via une connexion réseau.
Le protocole Kerberos se prête bien aux réseaux internes ou privés des établissements, car tous les clients et serveurs disposent dʼune connectivité directe avec le KDC. Les clients qui ne sont pas présents sur le réseau d’entreprise doivent utiliser un réseau privé virtuel (VPN) pour se connecter et s’authentifier. Kerberos n’est pas recommandé pour les apps dans le cloud ou en ligne. En effet, ces applications ne bénéficient pas d’une connexion directe avec le réseau d’entreprise. Pour les apps dans le cloud ou en ligne, l’authentification moderne (décrite ci-dessous) est plus appropriée.
macOS donne la priorité à Kerberos pour toutes les activités dʼauthentification lorsquʼil est intégré à un environnement Active DIrectory. Lorsqu’un utilisateur se connecte à un Mac à l’aide d’un compte Active Directory, un ticket TGT (Ticket Granting Ticket) Kerberos est demandé par le contrôleur de domaine Active Directory. Lorsque l’utilisateur tente d’utiliser un service ou une app du domaine prenant en charge l’authentification Kerberos, le TGT est utilisé pour demander un ticket pour ce service sans que l’utilisateur soit obligé de s’authentifier de nouveau. Si une règle est configurée pour demander un mot de passe afin de fermer l’économiseur d’écran, macOS tente de renouveler le TGT lorsque l’authentification est correctement effectuée.
Pour garantir le bon fonctionnement des serveurs adaptés à Kerberos, les fiches DNS (Domain Name System) pour les recherches directes et inversées doivent être exactes. L’horloge système est également importante, car l’inclinaison de l’horloge doit être inférieure à 5 minutes pour tous les serveurs et les clients. La meilleure pratique consiste à définir automatiquement la date et l’heure à l’aide d’un service Network Time Protocol (NTP), tel que time.apple.com.
Authentification moderne avec authentification unique
L’authentification moderne désigne un ensemble de protocoles d’authentification basés sur le Web et utilisés par des applications cloud. On peut citer comme exemples SAML 2.0, OAuth 2.0 (iOS 16, iPadOS 16.1, visionOS 1.1 ou ultérieur) et Open ID Connect (OIDC). Ces protocoles fonctionnent bien sur Internet et chiffrent leurs connexions à l’aide du protocole HTTPS. Le protocole SAML2 est fréquemment utilisé afin de fédérer les réseaux d’un établissement et des applications cloud. La fédération est utilisée lorsque plusieurs domaines de confiance sont impliqués, par exemple, lorsque vous accédez à un groupe d’applications cloud depuis votre domaine sur site.
Remarque : pour utiliser OAuth 2.0, la solution MDM doit implémenter la prise en charge côté serveur du protocole OAuth 2.0 auprès de tout fournisseur d’identité (IdP) à prendre en charge pour l’inscription d’utilisateurs.
L’authentification avec ces protocoles varie en fonction du fournisseur et de l’environnement. Par exemple, lorsque vous utilisez Active Directory Federation Services (AD FS) sur le réseau d’un établissement, AD FS fonctionne avec Kerberos pour l’authentification unique, et lorsque vous authentifiez des clients sur Internet, AD FS peut utiliser des cookies de navigateur. Les protocoles d’authentification modernes ne dictent pas la manière dont l’utilisateur doit établir son identité. Nombre de ces protocoles sont utilisés en association avec l’identification multifacteur, tels qu’un code SMS lors de l’authentification à partir de clients inconnus. Certains fournisseurs approvisionnent des certificats sur l’appareil pour identifier les appareils connus afin de faciliter le processus d’authentification.
Les IdP peuvent prendre en charge l’authentification unique sur iOS, iPadOS, macOS et visionOS 1.1 via l’utilisation d’extensions d’authentification unique. Ces extensions permettent aux IdP d’implémenter des protocoles d’authentification moderne pour leurs utilisateurs.
Apps prises en charge
iOS, iPadOS et visionOS 1.1 offrent une prise en charge flexible de l’authentification par signature unique (SSO) à toute app utilisant la classe NSURLSession
ou URLSession
pour gérer les connexions réseau et l’authentification. Apple fournit à tous les développeurs ces classes pour que les connexions réseau s’intègrent naturellement avec leurs apps.
Toutes les apps Mac prenant en charge l’authentification Kerberos sont compatibles avec SSO. Cela comprend de nombreuses apps intégrées à macOS, telles que Safari, Mail et Calendrier, ainsi que des services tels que le partage de fichiers, le partage d’écran et les connexions shell sécurisé (SSH). De nombreuses apps tierces, telles que Microsoft Outlook, prennent également en charge Kerberos.
Configurer l’authentification unique
Vous pouvez configurer l’authentification unique à l’aide de profils de configuration, qui peuvent être soit installés manuellement, soit gérés par une solution MDM. Les données utiles d’authentification unique permettent une configuration souple. L’authentification unique peut être ouverte à toutes les apps ou restreinte soit par identificateur d’app, soit par URL de service, soit par les deux à la fois.
Une correspondance simple de modèles de chaîne est recherchée lorsque l’on compare un modèle au préfixe d’une URL demandée. Ainsi, les modèles doivent commencer soit par https://, soit par http:// et ne correspondront pas si les numéros de ports divergent. Si le modèle correspondant de l’URL ne se termine pas par une barre oblique (/), une barre oblique (/) est annexée.
Par exemple, https://www.betterbag.com/ correspond à https://www.betterbag.com/index.html, mais pas à http://www.betterbag.com ou https://www.betterbag.com:443/.
Un simple métacaractère peut également être utilisé pour spécifier les sous-domaines manquants. Par exemple, https://*.betterbag.com/ correspond à https://store.betterbag.com/.
Les utilisateurs Mac peuvent afficher et gérer les informations concernant leur ticket Kerberos à l’aide de l’app Visualiseur de ticket située dans /Système/Bibliothèque/CoreServices/. Vous pouvez consulter des informations supplémentaires en cliquant sur le menu Ticket et en choisissant « Informations de diagnostic ». Si cela est autorisé par le profil de configuration, les utilisateurs peuvent également demander des tickets Kerberos, les afficher et les détruire à l’aide des outils de la ligne de commande kinit
, klist
et kdestroy
, respectivement.