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 sämtliche 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 ein Schlüssel erzeugt, der diesem Kontakt zugewiesen ist. Die Schlüssel schützt den Zugang zu den iCloud-Daten des Benutzers, einschließlich der mit Ende-zu-Ende-Verschlüsselung geschützten CloudKit-Daten. Anschließend wird ein zufälliger 256-Bit AES-Schlüssel erzeugt und für die Verschlüsselung des Wiederherstellungskontakt-Schlüssels verwendet, um ein Wiederherstellungskontakt-Paket zu erzeugen. Das verschlüsselte Paket wird zur Aufbewahrung an den Wiederherstellungskontakt gesendet und der zufällige AES-Schlüssel wird von Apple gespeichert. Weder der AES-Schlüssel noch das Paket enthalten für sich genommen Informationen über den zugrunde liegenden Schlüssel. Zum Zeitpunkt der Wiederherstellung, nachdem das Gerät des Benutzers sowohl das Wiederherstellungskontakt-Paket von seinem Wiederherstellungskontakt als auch den AES-Schlüssel von Apple erhalten hat, kann es beide Elemente kombinieren, um den Originalschlüssel wiederherzustellen und auf die iCloud-Daten des Benutzers zuzugreifen.
Für die Einrichtung eines Account-Wiederherstellungskontakts kommuniziert das Gerät des Benutzers mit Apple-Servern, um den Teil der Schlüsselinformationen hochzuladen, die von Apple aufbewahrt werden (der oben genannte AES-Schlüssel). Anschließend richtet es einen Ende-zu-Ende-verschlüsselten CloudKit-Container mit dem Wiederherstellungskontakt ein, um den Teil der Informationen zu teilen, die der Wiederherstellungskontakt benötigt (das mit AES verschlüsselte Wiederherstellungskontakt-Paket). Darüber hinaus wird ein von Apple erzeugtes Autorisierungs-Secret mit dem Wiederherstellungskontakt geteilt. Dieses wird verwendet, um den Account wiederherzustellen, und trägt zur Zurücksetzung des Account-Passworts bei. Die Kommunikation zur Einladung und Bestätigung von Wiederherstellungskontakten erfolgt über einen beidseitig authentifizierten IDS-Kanal. Die erhaltenen Informationen werden automatisch im iCloud-Schlüsselbund des Wiederherstellungskontakts gesichert. Weder Apple noch der iCloud-Schlüsselbund, der die Informationen sichert, kann auf den Inhalt des CloudKit-Containers zugreifen. Wenn keine Freigabe stattfindet, wird den Apple-Servern lediglich eine anonyme ID für den Wiederherstellungskontakt angezeigt.
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.