Säkerhet för kontakt för kontoåterställning
Användare kan lägga till upp till fem personer de litar på som kontakter för kontoåterställning som kan hjälpa till att återställa användarens iCloud-konto och dess data, inklusive alla heltäckande krypterade data, oavsett om de har slagit på Avancerat dataskydd. Varken Apple eller återställningskontakten har den information som krävs för att enskilt återställa användarens heltäckande krypterade iCloud-data.
Kontakter för kontoåterställning är utformade med användarens integritet i åtanke. Apple känner inte till en användares valda kontakter för återställning. Apples servrar får ingen information om en kontakt för återställning förrän sent under ett återställningsförsök när användaren redan har bett kontakten om hjälp och kontakten börjar hjälpa till med återställningen. Informationen sparas inte när återställningen är klar.
Säkerhetsprocess för återställningskontakter
När en användare skapar en återställningskontakt blir nyckeln som används till att komma åt användarens iCloud-data (inklusive heltäckande krypterade CloudKit-data) krypterad med en stark slumpmässig nyckel. Den slumpmässiga nyckeln delas sedan mellan återställningskontakten och Apple. Vid tidpunkten för återställning måste de båda nyckeldelarna kombineras så att den ursprungliga nyckeln återskapas och användarens iCloud-data blir tillgängliga.
När en återställningskontakt skapas kommunicerar användarens enhet med Apples servrar så att den kan överföra den del av nyckelinformationen som Apple ska lagra. Sedan upprättar den en heltäckande krypterad CloudKit-behållare för återställningskontakten och delar den nyckeldel som återställningskontakten behöver. Både Apple och återställningskontakten får även samma delade auktoriseringshemlighet från användaren (denna hemlighet behövs vid en senare återställning). Kommunikationen som sker för att bjuda in och godkänna återställningskontakter äger rum via en gemensamt autentiserad IDS-kanal. Återställningskontakten lagrar automatiskt den mottagna informationen i sin iCloud-nyckelring. Apple kan varken komma åt innehållet i CloudKit-behållaren eller den iCloud-nyckelring som lagrar informationen. När delningen utförs kan Apples servrar endast se ett anonymt ID för återställningskontakten.
När en användare sedan behöver återställa sitt konto och sina iCloud-data kan den begära hjälp från sin återställningskontakt. Vid den tidpunkten genereras en återställningskod av återställningskontaktens enhet och återställningskontakten tillhandahåller sedan koden till användaren manuellt (exempelvis öga mot öga eller via telefon). Därefter anger användaren återställningskoden på sin enhet för att upprätta en säker anslutning mellan enheterna via protokollet SPAKE2+ vars innehåll inte är tillgängligt för Apple. Den här interaktionen dirigeras av Apple-servrar, men Apple kan inte inleda återställningsprocessen.
När den säkra anslutningen har upprättats, och alla krävda säkerhetskontroller är genomförda, returnerar återställningskontaktens enhet sin del av nyckelinformationen och den tidigare upprättade auktoriseringshemligheten till användaren som begär återställning. Användaren presenterar den här auktoriseringshemligheten för en Apple-server som beviljar åtkomst till nyckelinformationen som Apple lagrar. När auktoriseringshemligheten tillhandahålls auktoriseras även att användaren skapar ett nytt kontolösenord för att återskapa kontoåtkomsten.
Slutligen kombinerar användarens enhet nyckelinformationen från Apple och kontakten för kontoåterställning och använder den till att avkryptera och återställa sina iCloud-data.
Det finns skyddsmekanismer som förhindrar att en återställningskontakt inleder en återställning utan användarens medgivande, vilka omfattar en aktivitetskontroll av användarens konto. Om kontot används kräver en återställning även kännedom om en nylig enhetslösenkod eller iCloud-säkerhetskoden.