Sécurité de l’authentification unique
Authentification unique
iOS et iPadOS prennent en charge l’authentification sur les réseaux d’entreprise par authentification unique. L’authentification unique fonctionne avec les réseaux utilisant le protocole Kerberos pour authentifier les utilisateurs auprès des services auxquels ils sont autorisés à accéder. Elle peut être utilisée pour de nombreuses activités réseau, comme l’ouverture de sessions sécurisées dans Safari et l’utilisation d’apps tierces. L’authentification par certificat comme PKINIT est également prise en charge.
macOS prend en charge l’authentification sur les réseaux d’entreprise par protocole Kerberos. Les apps peuvent faire appel à ce protocole pour authentifier les utilisateurs auprès des services qu’ils sont autorisés à utiliser. Kerberos peut aussi servir à diverses activités réseau, comme l’ouverture de sessions sécurisées dans Safari, la connexion à des systèmes de fichiers réseau et l’utilisation d’apps tierces. L’authentification par certificat est prise en charge, mais les apps doivent passer par une API de développeur.
L’authentification unique sous iOS, iPadOS et macOS fait appel à des jetons SPNEGO et au protocole HTTP Negotiate, qui sont compatibles avec les passerelles d’authentification exploitant Kerberos et avec les systèmes Integrated Windows Authentication prenant en charge les tickets Kerberos. La prise en charge de l’authentification unique repose sur le projet Heimdal en code source libre.
Les types de chiffrement suivants sont pris en charge sous iOS, iPadOS et macOS :
AES‑128‑CTS‑HMAC‑SHA1‑96;
AES‑256‑CTS‑HMAC‑SHA1‑96;
DES3‑CBC‑SHA1;
ARCFOUR‑HMAC‑MD5.
Safari prend en charge l’authentification unique, et les apps tierces qui utilisent les API de mise en réseau standard d’iOS et d’iPadOS peuvent également être configurées pour l’utiliser. Pour configurer l’authentification unique, iOS et iPadOS prennent en charge une entité de profil de configuration (les données utiles) qui permet aux solutions de gestion des appareils mobiles (GAM) de transmettre les réglages nécessaires. La solution de GAM peut ainsi configurer le nom de l’utilisateur principal (c’est-à-dire le compte d’utilisateur Active Directory) et les paramètres de domaine Kerberos, ainsi que la liste des apps et des URL de Safari autorisées à utiliser l’authentification unique.
Authentification unique extensible
Les développeurs d’apps peuvent implémenter leurs propres extensions d’authentification unique. Les extensions d’authentification unique sont appelées lorsqu’une app native ou une app Web doit utiliser un fournisseur d’identité pour l’authentification de l’utilisateur. Les développeurs peuvent fournir deux types d’extensions : celles qui redirigent vers HTTPS et celles qui utilisent un mécanisme défi-réponse comme Kerberos. Cela permet à l’authentification unique extensible de prendre en charge des modes d’authentification OpenID, OAuth, SAML2 et Kerberos. Les extensions d’authentification unique peuvent également prendre en charge l’authentification sous macOS en adoptant un protocole d’authentification unique natif qui permet de récupérer les jetons d’authentification unique lors de la connexion sous macOS.
Pour utiliser une extension d’authentification unique, une app peut soit utiliser l’API AuthenticationServices, soit compter sur le mécanisme d’interception URL offert par le système d’exploitation. WebKit et CFNetwork offrent une couche d’interception qui permet la prise en charge fluide de l’authentification unique pour toute app native ou WebKit. Pour qu’une extension d’authentification unique soit appelée, il faut installer une configuration fournie par un administrateur à l’aide d’un profil de gestion des appareils mobiles (GAM). En outre, les extensions de type redirection doivent utiliser les données utiles des domaines associés pour prouver que le serveur d’identité qu’elles prennent en charge est au courant de leur existence.
La seule extension d’authentification unique fournie avec le système d’exploitation est celle du protocole Kerberos.