![](https://help.apple.com/assets/6537FB06A074DBB5E802EA07/6537FB31280588A5490B6E1D/sv_SE/52d714626638d3391623c853be0c593b.png)
Säker synkronisering av nyckelringen
När en användare slår på iCloud-nyckelring för första gången för ett konto med tvåfaktorsautentisering upprättar och skapar enheten en synkroniseringsidentitet åt sig själv. Synkroniseringsidentiteten består av asymmetriska elliptiska nycklar (med P-384) som lagras i enhetens nyckelring. Varje enhet upprätthåller sin egen lista med synkroniseringsidentiteter på användarens andra enheter och signerar denna lista med en av dess identitetsnycklar. Dessa listor lagras i CloudKit så att användarens enheter kan uppnå samstämmighet om hur nyckelringsdata ska synkroniseras säkert mellan sig själva.
För kompatibilitet med äldre iCloud-enheter skapas en liknande tillförlitlighetscirkel för synkronisering och en annan synkroniseringsidentitet bildas. Den publika nyckeln till synkroniseringsidentiteten läggs till i cirkeln och cirkeln signeras två gånger: först av den privata nyckeln i synkroniseringsidentiteten och sedan igen med en asymmetrisk elliptisk nyckel (med P-256) som härleds ur lösenordet till användarens iCloud-konto. I cirkeln sparas också parametrarna (slumpmässigt salt och iterationer) som används till att skapa nyckeln som baseras på användarens iCloud-lösenord.
iCloud-lagring av synkroniseringscirkeln
För konton med tvåfaktorsautentisering lagras varje enhets lista med betrodda enheter i CloudKit. Listorna kan inte läsas utan att känna till användarens iCloud-lösenord och kan inte ändras utan tillgång till de privata nycklarna för ägarenheten.
På liknande sätt lagras den signerade synkroniseringscirkeln i användarens lagringsutrymme för nyckelvärden på iCloud. Den kan inte läsas utan att känna till användarens iCloud-lösenord och kan inte ändras på ett giltigt sätt utan tillgång till den privata nyckeln för medlemmens synkroniseringsidentitet.
Så här läggs användares andra enheter till i synkroniseringscirkeln
När nya enheter loggar in på iCloud ansluter de till iCloud-nyckelrings synkroniseringscirkel på ett av två sätt: antingen genom att parkoppla med och sponsras av en befintlig enhet med iCloud-nyckelring eller genom att använda återställning för iCloud-nyckelring.
Under parkopplingsflödena skapar den sökande enheten nya synkroniseringsidentiteter för både synkroniseringscirkeln och synkroniseringslistorna (för konton med tvåfaktorsautentisering) och presenterar dem för sponsorn. Sponsorn lägger till den nya medlemmens publika nyckel i synkroniseringscirkeln och signerar den igen med både dess synkroniseringsidentitet och med nyckeln som härleds ur användarens iCloud-lösenord. Den nya synkroniseringscirkeln placeras på iCloud där den sedan signeras på ett liknande sätt av den nya cirkelmedlemmen. I konton med tvåfaktorsautentisering tillhandahåller sponsorenheten även ett kvitto som är signerat med dess identitetsnycklar till den anslutande enheten, vilka visar att den ansökande enheten är tillförlitlig. Sedan uppdaterar den dess enskilda lista med betrodda synkroniseringsidentiteter så att den ansökande inkluderas.
Det finns nu två medlemmar i signeringscirkeln och varje medlem har den publika nyckeln till den andra medlemmen. De börjar nu att utväxla enskilda nyckelringsobjekt via iCloud, eller lagringsutrymmet för nyckelvärden på iCloud, beroende på vad som är mest lämpligt i den aktuella situationen. Om båda cirkelmedlemmarna har uppdateringar för samma objekt väljs den ena eller den andra, vilket leder till eventuell konsekvens. Varje objekt som synkroniseras krypteras så att det bara kan avkrypteras av en enhet som finns i användarens tillförlitlighetscirkel. Det kan inte avkrypteras av någon annan enhet eller av Apple.
När nya enheter ansluter till synkroniseringscirkeln upprepas den här ”anslutningsprocessen”. När en tredje enhet ansluter kan den exempelvis parkopplas med vilken som helst av de befintliga enheterna. När nya enheter läggs till synkroniseras alla enheter med den nya enheten. Detta garanterar att alla har samma nyckelringsobjekt.
Endast vissa objekt synkroniseras
En del nyckelringsobjekt är enhetsspecifika, exempelvis iMessage-nycklar, och måste därför stanna på enheten. I syfte att förhindra oväntad datatransport måste alla objekt som synkroniseras uttryckligen märkas med attributet kSecAttrSynchronizable
.
Apple har ställt in det här attributet för Safari-användardata (inklusive användarnamn, lösenord och kreditkortsnummer), liksom för Wi-Fi-lösenord, HomeKit-krypteringsnycklar och andra nyckelringsobjekt som stöder heltäckande iCloud-kryptering.
Som förval synkroniseras inte nyckelringsobjekt som har lagts till av tredjepartsappar. Utvecklarna måste ställa in attributet kSecAttrSynchronizable
när de lägger till objekt i nyckelringen.