
Einführung in die Gesamtauthentifizierung mit Apple-Geräten
Organisationen nutzen häufig die Gesamtauthentifizierung (Single Sign-on, SSO), die dafür entwickelt wurde, das Benutzererlebnis bei der Anmeldung bei Apps und Websites zu optimieren. Durch die Gesamtauthentifizierung wird ein einheitlicher Authentifizierungsprozess für den Zugriff auf mehrere Apps oder Systeme verwendet, bei dem Benutzer ihre Identität nicht erneut nachweisen müssen. Anstatt die Anmeldedaten einer Person (z. B. sein Passwort) zu speichern und sie für jede App und jedes System wiederzuverwenden, nutzt SSO das in der ursprünglichen Authentifizierung bereitgestellte Token, was Benutzer:innen den Eindruck eines Einmalpasswort-Konzepts vermittelt.
Die Gesamtauthentifizierung (SSO) wird beispielsweise durchgeführt, wenn du dich bei deinem Identitätsanbieter (IdP) anmeldest und dann nahtlos auf proprietäre interne Apps und Websites zugreifst, ohne erneut dein Passwort eingeben zu müssen. Alle Apps und Systeme sind so konfiguriert, dass sie dem Identitätsanbieter bei der Identifizierung von Benutzer:innen und der Bereitstellung von Gruppenmitgliedschaften vertrauen. Gemeinsam bauen sie eine Sicherheitsdomain auf.
Moderne Authentifizierung mit Gesamtauthentifizierung (SSO)
Die moderne Authentifizierung umfasst eine Reihe von Web-basierten Protokollen für die Authentifizierung, die von Cloud-Anwendungen verwendet wird. Hierzu gehören beispielsweise SAML 2.0, OAuth 2.0 (iOS 16, iPadOS 16.1, visionOS 1.1 oder neuer sowie Open ID Connect (OIDC). Diese Protokolle funktionieren über das Internet und die Verbindungen sind mithilfe von HTTPS verschlüsselt. SAML 2.0 wird häufig zum Föderieren zwischen dem Netzwerk einer Organisation und Cloud-Anwendungen verwendet. Für das Überschreiten von vertrauenswürdigen Domains wird die Föderation verwendet, z. B. beim Zugriff auf Cloud-Anwendungen von deinen Domains vor Ort.
Hinweis: Um die Vorteile von OAuth 2.0 für die Verwendung mit der Benutzerregistrierung zu nutzen, muss der Geräteverwaltungsdienst die serverseitige Unterstützung von OAuth 2.0 mit dem jeweiligen Identitätsanbieter implementieren, der unterstützt werden soll.
Die Gesamtauthentifizierung mit diesen Protokollen variiert je nach Anbieter und Umgebung. Beispielsweise funktioniert bei der Verwendung von Active Directory Federation Services (AD FS) im Netzwerk einer Organisation AD FS mit Kerberos bei Gesamtauthentifizierung. Bei der Authentifizierung von Clients über das Internet können Browser-Cookies verwendet werden. Protokolle für die moderne Authentifizierung haben keinen Einfluss auf die Methode, die Benutzer zum Nachweis der Identität verwenden. Viele dieser Protokolle werden gemeinsam mit der Multi-Faktor-Authentifizierungsverfahren wie SMS-Codes verwendet, wenn die Authentifizierung auf unbekannten Clients durchgeführt wird. Einige Anbieter stellen Zertifikate auf dem Gerät bereit, um bekannte Geräte zu identifizieren und den Authentifizierungsprozess zu unterstützen.
Identitätsanbieter können die Gesamtauthentifizierung (SSO) in iOS, iPadOS, macOS und visionOS durch die Verwendung von Erweiterungen für die Gesamtauthentifizierung unterstützen. Mit diesen Erweiterungen können Identitätsanbieter Protokolle für die moderne Authentifizierung für ihre Benutzer implementieren.
Kerberos
Kerberos ist ein beliebtes Authentifizierungsprotokoll für die Gesamtauthentifizierung (SSO) in großen Netzwerken. Es ist auch das Standardprotokoll von Active Directory. Kerberos funktioniert plattformübergreifend, verwendet Verschlüsselung und bietet Schutz vor Replay-Angriffen. Es kann Passwörter, Zertifikatsidentitäten, Smart Cards, NFC-Geräte oder andere Produkte für die Hardware-Authentifizierung zum Authentifizieren von Benutzern verwenden. Der Server, der Kerberos ausführt, wird als KDC (Key Distribution Center) bezeichnet. Apple-Geräte müssen den KDC-Server über eine Netzwerkverbindung kontaktieren, um Benutzer:innen zu authentifizieren.
Kerberos funktioniert in internen oder privaten Netzwerken einer Organisation, da alle Clients und Server eine direkte Verbindung zum KDC aufweisen. Clients, die sich nicht im Unternehmensnetzwerk befinden, müssen ein VPN (Virtual Private Network) verwenden, um eine Verbindung herzustellen und sich zu authentifizieren. Kerberos ist nicht ideal für cloud- oder internetbasierte Apps geeignet. Das liegt daran, dass diese Anwendungen keine direkte Verbindung mit dem Unternehmensnetzwerk nutzen. Für cloud- oder internetbasierte Apps ist die moderne Authentifizierung (siehe unten) geeigneter.
Bei der Integration in eine Active Directory-Umgebung priorisiert macOS Kerberos für alle Authentifizierungsaktivitäten. Wenn sich ein Benutzer mit einem Active Directory-Account bei einem Mac anmeldet, wird ein Kerberos Ticket Granting Ticket (TGT) von einem Active Directory-Domaincontroller angefordert. Wenn der Benutzer in der Folge einen Dienst oder eine App der Domain nutzt, der die Kerberos-Authentifizierung unterstützt, wird anhand des TGT ein Ticket für den betreffenden Dienst angefordert, sodass sich der Benutzer nicht erneut authentifizieren muss. Wenn eine Richtlinie in Kraft ist, die bewirkt, dass zum Beenden des Bildschirmschoners das Passwort eingegeben werden muss, versucht macOS nach einer erfolgreichen Authentifizierung das TGT-Ticket zu erneuern.
Damit Kerberos-basierte Server korrekt funktionieren, müssen die DNS-Datensätze (Domain Name System) für Forward- und Reverse-Lookups exakt sein. Die Systemzeit spielt ebenfalls eine wichtige Rolle, da der Zeitunterschied zwischen einem beliebigen Server und einem Client maximal fünf Minuten betragen darf. Es empfiehlt sich daher, die Uhrzeit und das Datum mithilfe eines NTP-Dienstes (Network Time Protocol) wie time.apple.com automatisch einstellen zu lassen.
Unterstützte Apps
iOS, iPadOS und visionOS bieten flexible Unterstützung für die Gesamtauthentifizierung. Dies gilt für jede App, die die Klasse NSURLSession bzw. URLSession für die Verwaltung von Netzwerkverbindungen und die Authentifizierung verwendet. Apple stellt allen Entwicklern diese Klassen zur Verfügung, damit sie Netzwerkverbindungen nahtlos in ihre Apps integrieren können.
Jede Mac-App, die die Kerberos-Authentifizierung unterstützt, kann mit der Gesamtauthentifizierung verwendet werden. Dies gilt für viele der in macOS integrierten Apps (z. B. „Safari“, „Mail“ und „Kalender“) und außerdem für Dienste wie die Dateifreigabe, Bildschirmfreigabe und SSH. Viele Drittanbieter-Apps unterstützen auch Kerberos.
Gesamtauthentifizierung konfigurieren
Um die Gesamtauthentifizierung (SSO) zu konfigurieren, muss die erforderliche Konfiguration mithilfe eines Geräteverwaltungsdienstes angewendet werden. Die Konfiguration muss Informationen über die Gesamtauthentifizierungserweiterung enthalten, die mit dem Identitätsanbieter kommuniziert, sowie Informationen darüber, welche Apps und Safari-Web-URLs die Gesamtauthentifizierung verwenden dürfen oder davon ausgeschlossen sind. Du kannst auch die von Apple bereitgestellte Erweiterung für die Kerberos-Gesamtauthentifizierung verwenden, die in iOS, iPadOS, macOS und visionOS enthalten ist.
Beim Vergleich eines Musters mit dem Präfix einer angeforderten URL wird ein einfacher Abgleich von Zeichenfolgenmustern verwendet. Dabei müssen die Muster entweder mit https:// oder mit http:// beginnen und sie dürfen keine abweichenden Port-Nummern aufweisen. Endet das URL-Abgleichmuster nicht mit einem Schrägstrich (/), wird ein Schrägstrich angehängt.
Beispielsweise stimmt „https://www.betterbag.com/“ mit „https://www.betterbag.com/index.html“, nicht aber mit „http://www.betterbag.com“ oder „https://www.betterbag.com:443/“ überein.
Ein einzelner Platzhalter kann auch verwendet werden, um fehlende Subdomains anzugeben. So stimmt z. B. „https://*.betterbag.com/“ mit „https://store.betterbag.com/“ überein.