iCloud-kryptering
Datakryptering på iCloud är nära knuten till datalagringsmodellen som utgår från CloudKit-ramverken och API:erna som gör det möjligt för appar och systemprogramvara att lagra data på iCloud å användarens vägnar samt håller allt uppdaterat mellan enheter och på webben.
CloudKit-kryptering
CloudKit är ett ramverk som tillåter att apputvecklare lagrar nyckelvärdedata, strukturerade data och resurser (större data lagrade separat från databasen, exempelvis bilder eller videor) på iCloud. CloudKit hanterar både publika och privata databaser grupperade i behållare. Publika databaser delas globalt, används vanligtvis för allmänna resurser och krypteras inte. Privata databaser lagrar enskilda användares iCloud-data.
iCloud använder en nyckelhierarki som matchar datastrukturen. Varje behållares privata databas skyddas av en nyckelhierarki som bygger på en asymmetrisk nyckel, en så kallad CloudKit-tjänstenyckel. De här nycklarna är unika för varje iCloud-användare och genereras på deras betrodda enheter. När data skrivs i CloudKit genereras alla postnycklar på användarens betrodda enhet och paketeras med lämplig nyckelhierarki innan data överförs.
Många Apple-tjänster som listas i Apple Support-artikeln Översikt över iCloud-datasäkerhet använder heltäckande kryptering med en CloudKit-tjänstenyckel som skyddas på samma sätt som synkronisering av iCloud-nyckelring. För de här CloudKit-behållarna är tjänstenycklarna endast tillgängliga på användarens betrodda enheter och varken Apple eller tredje parter har tillgång till dem. Nycklarna synkroniseras mellan en användares enheter även om användaren väljer att inte använda iCloud-nyckelring till att synkronisera sina lösenord, nycklar och andra användardata. Om en enhet förloras kan användare återställa sina data i iCloud-nyckelring genom att använda säker återställning av iCloud-nyckelring, kontakter för kontoåterställning eller en kontoåterställningsnyckel.
Hantering av krypteringsnycklar
Säkerheten hos krypterade data i CloudKit bygger på säkerheten hos motsvarande krypteringsnycklar. CloudKit-tjänstenycklar delas upp i två kategorier: heltäckande krypterade och available-after-authentication (tillgängliga efter autentisering).
Tjänstenycklar som är heltäckande krypterade: För heltäckande krypterade iCloud-tjänster blir de relevanta privata CloudKit-tjänstenycklarna aldrig tillgängliga för Apples servrar. Tjänstenyckelpar, inklusive de privata nycklarna, skapas lokalt på en användares betrodda enhet och överförs till användarens övriga enheter med iCloud-nyckelringssäkerhet. Flödena för återställning och synkronisering av iCloud-nyckelring förmedlas via Apples servrar, men servrarna är kryptografiskt förhindrade från att komma åt användarens nyckelringsdata. I värsta fall förloras alla heltäckande krypterade data i CloudKit om användaren förlorar tillgången till iCloud-nyckelring och alla dess mekanismer för återställning. Apple kan inte hjälpa till med återställning av dessa data.
Tjänstenycklar som är available-after-authentication: För andra tjänster, som Bilder och iCloud Drive, lagras tjänstenycklarna i iCloud Hardware Security Modules i Apples datacenter och är tillgängliga för vissa Apple-tjänster. När en användare loggar in på iCloud på en ny enhet och autentiserar sitt Apple-ID kan Apples servrar komma åt dessa nycklar utan vidare interaktion eller inmatning från användaren. När användaren till exempel loggar in på iCloud.com kan den omedelbart se sina bilder på webben. De här tjänstenycklarna är nycklar som är available-after-authentication.