Sicherheit beim Kontakt für die Accountwiederherstellung
Benutzer können bis zu fünf Personen, denen sie vertrauen, als Kontakte für die Accountwiederherstellung hinzufügen, um ihren iCloud-Account und ihre iCloud-Daten wiederherzustellen. Hierzu gehören unter anderem alle mit der Ende-zu-Ende-Verschlüsselung geschützte Daten, egal, ob der erweiterte Datenschutz aktiviert ist oder nicht. Weder Apple noch der Wiederherstellungskontakt haben die notwendigen Informationen, um die mit der Ende-zu-Ende-Verschlüsselung geschützten iCloud-Daten des Benutzers selbst wiederherzustellen.
Der Wiederherstellungskontakt wurde mit Augenmerk auf den Datenschutz entwickelt. Die vom Benutzer gewählten Wiederherstellungskontakte sind Apple nicht bekannt. Erst spät im Verlauf eines Wiederherstellungsversuchs, nachdem der Benutzer den Kontakt um Hilfe gebeten und dieser tatsächlich begonnen hat, bei der Wiederherstellung zu helfen, erfahren die Apple-Server Informationen über den Wiederherstellungskontakt. Diese Informationen werden nicht gesichert, nachdem die Wiederherstellung abgeschlossen ist.
Sicherheitsprozess für den Wiederherstellungskontakt
Wenn ein Benutzer einen Account-Wiederherstellungskontakt einrichtet, wird der Zugangsschlüssel zu den iCloud-Daten des Benutzers – einschließlich mit Ende-zu-Ende-Verschlüsselung geschützter CloudKit-Daten – mit einem starken zufälligen Schlüssel verschlüsselt. Dieser zufällige Schlüssel wird dann zwischen dem Wiederherstellungskontakt und Apple aufgeteilt. Nur wenn beide Teile zum Zeitpunkt der Wiederherstellung erneut kombiniert werden, kann der Originalschlüssel wiederhergestellt und auf die iCloud-Daten des Benutzers zugegriffen werden.
Für die Konfiguration eines Account-Wiederherstellungskontakts kommuniziert das Benutzergerät mit Apple-Servern, um den Teil der Schlüsselinformationen hochzuladen, der von Apple gespeichert wird. Danach wird ein Ende-zu-Ende-verschlüsselter CloudKit-Container mit dem Wiederherstellungskontakt eingerichtet, um den Teil der Schlüsselinformationen für den Wiederherstellungskontakt zu teilen. Sowohl Apple als auch der Wiederherstellungskontakt erhalten vom Benutzer dieselben Secret-Daten für die Autorisierung, die später für die Wiederherstellung erforderlich sind. Die Kommunikation zum Einladen und Akzeptieren des Wiederherstellungskontakts erfolgt durch einen gegenseitig authentifizierten IDS-Kanal. Der Wiederherstellungskontakt speichert die empfangenen Informationen automatisch im iCloud-Schlüsselbund. Apple kann weder auf den Inhalt des CloudKit-Containers, noch auf den iCloud-Schlüsselbund zugreifen, in dem diese Informationen gespeichert sind. Wenn dieser Vorgang ausgeführt wird, können Apple-Server nur eine anonyme ID für den Wiederherstellungskontakt sehen.
Wenn Benutzer zu einem späteren Zeitpunkt ihren Account und ihre iCloud-Daten wiederherstellen möchten, können sie ihren Wiederherstellungskontakt um Hilfe bitten. In diesem Fall wird ein Wiederherstellungscode auf dem Gerät des Wiederherstellungskontakts erzeugt, den der Wiederherstellungskontakt dann dem Benutzer übermitteln kann (z. B. persönlich oder per Telefon). Der Benutzer gibt dann den Wiederherstellungscode auf seinem Gerät ein, um über das Protokoll SPAKE2+ eine sichere Verbindung zwischen den Geräten herzustellen. Diese Inhalte sind für Apple nicht zugänglich. Diese Interaktion wird von den Apple-Servern abgestimmt. Apple kann den Wiederherstellungsprozess jedoch nicht einleiten.
Nachdem die sichere Verbindung hergestellt ist und alle notwendigen Sicherheitsüberprüfungen durchgeführt wurden, gibt das Gerät des Wiederherstellungskontakts den jeweiligen Teil der Schlüsselinformationen zurück und das zuvor ausgewiesene Autorisierungs-Secret wird an den Benutzer zurückgegeben, der die Wiederherstellung angefordert hat. Der Benutzer stellt einem Apple-Server diese Secret-Daten für die Autorisierung bereit. Im Gegenzug erhält er Zugriff auf die Verschlüsselungsinformationen, die Apple aufbewahrt. Die Bereitstellung der Secret-Daten autorisiert außerdem das Zurücksetzen des Passworts für den Account, um den Zugriff auf den Account wiederherzustellen.
Im letzten Schritt entschlüsselt das Benutzergerät die Schlüsseldaten, die es von Apple und dem Account-Wiederherstellungskontakt erhalten hat, und verwendet diese Daten dann, um die iCloud-Daten zu entschlüsseln und wiederherzustellen.
Integrierte Sicherheitsmechanismen verhindern, dass ein Wiederherstellungskontakt eine Wiederherstellung ohne Benutzereinwilligung initiiert. Zu diesen gehört die Überprüfung, dass ein Benutzeraccount gültig ist. Wenn der Account aktiv ist, setzt die Wiederherstellung über einen Wiederherstellungskontakt außerdem die Kenntnis eines zuletzt vergebenen Gerätecodes oder des iCloud-Sicherheitscodes voraus.