2.10 Sperrcode und Zugriffsschutz
Oben wurde ja bereits beschrieben, wie die auf dem iOS-Gerät gespeicherten Daten mithilfe kryptografischer Verfahren vor unbefugten Zugriffen geschützt werden, nun geht es um den Schutz der Benutzeroberfläche des Geräts. Dazu dient der Sperrcode (Passcode).
Wird für ein iOS-Gerät ein Sperrcode gesetzt, wird damit automatisch die Data Protection aktiviert. Außer zum Entsperren des Geräts wird der Sperrcode auch als Eingabe für verschiedene Krypto-Schlüssel verwendet. Da er nicht auf dem Gerät gespeichert ist, kann ein Angreifer, der sich Zugriff auf das Gerät verschafft hat, ohne den Sperrcode keinen Zugriff auf die Daten in bestimmten Schutzklassen erlangen.
Da der Sperrcode mit der UID des Geräts verknüpft ist, müssen Brute-Force-Angriffe zum Ermitteln des Sperrcodes auf dem angegriffenen Gerät erfolgen. Da ein Versuch ungefähr 80 Millisekunden dauert, dauert zum Beispiel das Ausprobieren aller möglichen Werte eines sechsstelligen alphanumerischen Sperrcodes aus Kleinbuchstaben und Ziffern mehr als 5½ Jahre, für einen neunstelligen Sperrcode, der nur aus Ziffern besteht, sind es noch 2½ Jahre.
Zusätzlich verlangsamen wachsende Pausen des Lock Screens nach jeder Falscheingabe den Angriff. Außerdem kann das Gerät so konfiguriert werden, dass es nach einer bestimmten Anzahl falsch eingegebener Sperrcodes gelöscht wird. Die Konfiguration kann auch durch einen MDM-Server und Exchange ActiveSync erfolgen.
2.10.1 Anforderungen an den Sperrcode
Per Default ist der Sperrcode eine vierstellige PIN, iOS kann aber auch so konfiguriert werden, dass längere und vor allem alphanumerische Sperrcodes verwendet werden. Diese Möglichkeit sollten Sie möglichst auch nutzen, denn längere und vor allem komplexere Sperrcodes sind schwerer zu erraten und schwerer durch einen Brute-Force-Angriff zu ermitteln.
In Unternehmen können die Anforderungen an das Passwort und weitere Regeln entwederüber ein Mobile Device Management (MDM) oder Exchange ActiveSync oder aberüber manuell installierte Konfigurationsprofile konfiguriert werden. Für den Sperrcode stehen dabei die folgenden Policies zur Verfügung:
- Einfache Werte erlauben: Der Sperrcode darf aufeinanderfolgende oder sich wiederholende Zeichen enthalten, zum Beispiel sind„1234“ oder„AAAA“ zulässige Sperrcodes.
- Alphanumerische Werte erforderlich: Der Sperrcode muss mindestens einen Buchstaben oder eine Ziffer enthalten
- Mindestlänge des Codes: Die Anzahl der Zeichen, die der Sperrcode mindestens enthalten muss.
- Mindestanzahl von komplexen Zeichen: Die Anzahl der nicht alphanumerischen Zeichen (zum Beispiel $,& und !), die der Sperrcode mindestens enthalten muss.
- Maximale Codegültigkeit (in Tagen): Der Sperrcode muss nach Ablauf des angegebenen Zeitintervalls geändert werden.
- Codeverlauf: Anzahl der alten Sperrcodes, mit denen ein neuer Sperrcode verglichen werden soll; der neue Sperrcode wird nicht akzeptiert, wenn er mit einem bereits verwendeten Sperrcodeübereinstimmt.
- Automatische Sperre (in Minuten): Nach Ablauf einer bestimmten Zeit ohne Aktivität wird das Gerät gesperrt; hier wird konfiguriert, welchen Maximalwert der Benutzer dafür angeben darf.
- Zeitraum bis zur Gerätesperrung: Eine gewisse Zeit nach der letzten Verwendung kann die Sperre aufgehoben werden, ohne dass der Sperrcode erneut eingegeben werden muss. Hier wird konfiguriert, welchen Maximalwert der Benutzer dafür angeben darf. Wird„ohne“ ausgewählt, kann der Benutzer den Zeitraum beliebig wählen. Wird„sofort“ ausgewählt, muss der Sperrcode jedes Mal eingegeben werden, um die Sperre aufzuheben.
- Maximale Anzahl von Fehlversuchen: Wie oft darf der Sperrcode falsch eingegeben werden, bevor alle Daten vom Gerät gelöscht werden (oder genauer: Die Schlüssel zum Zugriff auf Dateien und Schlüsselbund gelöscht und die Daten damit unlesbar gemacht werden). Nach sechs Fehlversuchen erzwingt das Gerät eine Pause, bevor ein neuer Versuch gemacht werden kann. Mit jedem Fehlversuch wächst diese Pause, nach dem letzten zulässigen Fehlversuch werden alle Daten und Einstellungen vom Gerät gelöscht (s. o.). Da die Zeitverzögerung erst nach dem sechsten Fehlversuch beginnt, gibt