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 ställer in en kontakt för kontoåterställning genereras en nyckel som associeras med den kontakten. Den här nyckeln skyddar åtkomsten till användarens iCloud-data, inklusive heltäckande krypterade CloudKit-data. Sedan genereras en slumpmässig 256-bitars AES-nyckel som används till att kryptera återställningskontaktens nyckel för att skapa ett återställningskontaktpaket. Det krypterade paketet skickas till återställningskontakten för säker förvaring och den slumpmässiga AES-nyckeln lagras hos Apple. Varken AES-nyckeln eller paketet tillhandahåller någon information om den underliggande nyckeln på egen hand. Vid tidpunkten för återställning, efter att användarens enhet har fått både återställningskontaktpaketet från sin återställningskontakt och AES-nyckeln från Apple, kan de båda delarna kombineras för att återställa den ursprungliga nyckeln och åtkomsten till användarens iCloud-data.
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 (den AES-nyckel som nämns ovan). Sedan upprättar den en heltäckande krypterad CloudKit-behållare för återställningskontakten och delar den nyckeldel som återställningskontakten behöver (återställningskontaktpaketet som krypteras med AES-nyckeln). En auktoriseringshemlighet som skapas av Apple delas även med återställningskontakten. Den används till att återställa kontot och hjälper till att skapa ett nytt lösenord för kontot. 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 inte 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.