![](https://help.apple.com/assets/6537FB06A074DBB5E802EA07/6537FB31280588A5490B6E1D/da_DK/52d714626638d3391623c853be0c593b.png)
Nøglesamlinger til Databeskyttelse
Nøglerne til klasserne i Databeskyttelse til både arkiver og nøglering er samlet i og administreres i nøglesamlinger i iOS, iPadOS, tvOS og watchOS. Disse operativsystemer bruger følgende nøglesamlinger: bruger, enhed, sikkerhedskopi, depot og iCloud-sikkerhedskopi.
Nøglesamlingen Bruger
Nøglesamlingen Bruger er det sted, hvor de indpakkede klassenøgler, som bruges under den normale drift af enheden, opbevares. Når der f.eks. indtastes en kode, indlæses NSFileProtectionComplete fra nøglesamlingen Bruger og pakkes ud. Det er et binært egenskabslistearkiv (.plist), der opbevares i klassen Ingen beskyttelse.
På enheder med en SoC-processor før A9 krypteres indholdet af .plist-arkivet med en nøgle i Effaceable Storage. Fremadrettet sikkerhed til nøglesamlinger sikres ved, at denne nøgle slettes og dannes igen, hver gang en bruger skifter kode.
På enheder med A9- eller nyere SoC-processorer indeholder .plist-arkivet en nøgle, som viser, at nøglesamlingen opbevares i et skab beskyttet af en værdi, der forhindrer genafspilning, og som styres af Secure Enclave.
Secure Enclave administrerer nøglesamlingen Bruger og kan besvare forespørgsler om en enheds låsestatus. Den meddeler kun, at enheden er låst op, hvis der er adgang til alle klassenøglerne i nøglesamlingen Bruger, og de er pakket ud uden fejl.
Nøglesamlingen Enhed
Nøglesamlingen Enhed bruges til at opbevare de indpakkede klassenøgler, der bruges til funktioner i forbindelse med enhedsspecifikke data. iPadOS-enheder, der er konfigureret til delt brug, har sommetider brug for adgang til godkendelsesoplysninger, før en bruger er logget på. Der er derfor behov for en nøglesamling, der ikke er beskyttet med brugerens kode.
iOS og iPadOS understøtter ikke kryptografisk adskillelse af arkivsystemindhold pr. bruger, hvilket betyder, at systemet bruger klassenøgler fra nøglesamlingen Enhed til at indpakke arkivnøgler. Nøgleringen bruger derimod klassenøgler fra nøglesamlingen Bruger til at beskytte emner i brugerens nøglering. På iPhone- og iPad-enheder, der er konfigureret til en enkelt bruger (standardkonfigurationen), er nøglesamlingen Enhed og nøglesamlingen Bruger ens, og de er beskyttet af brugerens kode.
Nøglesamlingen Sikkerhedskopi
Nøglesamlingen Sikkerhedskopi oprettes, når Finder (macOS 10.15 og nyere versioner) eller iTunes (macOS 10.14 og tidligere versioner) opretter en krypteret sikkerhedskopi og gemmer den på den computer, som enheden blev sikkerhedskopieret til. Der oprettes en ny nøglesamling med et nyt sæt nøgler, og de sikkerhedskopierede data omkrypteres med de nye nøgler. Som beskrevet tidligere er ikke-flytbare emner i nøgleringen pakket med den nøgle, der er afledt af UID. Det betyder, at de kan gendannes på den enhed, de oprindeligt blev sikkerhedskopieret fra, og at der ikke kan opnås adgang til dem på en anden enhed.
Nøglesamlingen – der beskyttes af den indstillede adgangskode – behandles med 10 millioner gennemløb af funktionen PBKDF2 til nøgleafledning. På trods af dette store antal gentagelser er der ingen sammenkædning med en specifik enhed, og der er derfor i teorien risiko for et brute-force-angreb på nøglesamlingen Sikkerhedskopi parallelt på mange computere. Denne trussel kan mindskes med en tilstrækkelig stærk adgangskode.
Hvis en bruger vælger ikke at kryptere sikkerhedskopien, bliver arkiverne ikke krypteret uanset deres databeskyttelsesklasse, men nøgleringen er fortsat beskyttet med en nøgle afledt af UID. Det er årsagen til, at emner i nøgleringen kun kan flyttes til en ny enhed, hvis der er indstillet en adgangskode til sikkerhedskopien.
Nøglesamlingen Depot
Nøglesamlingen Depot bruges til at synkronisere med Finder (macOS 10.15 og nyere versioner) eller iTunes (i macOS 10.14 og tidligere versioner) via USB og administration af mobile enheder (MDM). Denne nøglesamling giver Finder eller iTunes mulighed for at sikkerhedskopiere og synkronisere, uden at brugeren skal indtaste en adgangskode, og den gør det muligt for en MDM-løsning at slette en brugers adgangskode eksternt. Den opbevares på den computer, der bruges til at synkronisere med Finder eller iTunes, eller i den MDM-løsning, som fjernadministrerer enheden.
Nøglesamlingen Depot giver en bedre brugeroplevelse under synkronisering af enheden, hvor der kan være behov for at få adgang til alle typer data. Første gang en kodebeskyttet enhed opretter forbindelse til Finder eller iTunes, bliver brugeren bedt om at indtaste en kode. Enheden opretter derefter en nøglesamling af typen Depot, der indeholder de samme klassenøgler, som bruges på enheden. Nøglesamlingen beskyttes med en ny, genereret nøgle. Nøglesamlingen Depot og den nøgle, der beskytter den, fordeles mellem enheden og værten eller serveren, mens dataene opbevares på enheden i klassen Beskyttet indtil første brugergodkendelse. Det er derfor, at koden til enheden skal indtastes, før brugeren kan sikkerhedskopiere med Finder eller iTunes første gang efter en genstart.
Hvis softwareopdateringen sker via en trådløs forbindelse, bliver brugeren bedt om at indtaste sin kode, når opdateringen startes. Dette bruges til sikker oprettelse af et engangstoken til oplåsning, som låser nøglesamlingen Bruger op efter opdateringen. Dette token kan ikke genereres, uden at brugerens kode indtastes, og alle tidligere genererede tokens gøres ugyldige, hvis brugerens kode ændres.
Engangstokens til oplåsning er beregnet til enten overvåget eller uovervåget installering af en softwareopdatering. De krypteres med en nøgle, der er afledt af den aktuelle værdi for en monoton tæller i Secure Enclave, nøglesamlingens UUID og Secure Enclaves UID.
På A9 (eller nyere SoC’er) bruger engangstokenet til oplåsning ikke længere tællere eller Effaceable Storage. Det beskyttes i stedet af en værdi, der forhindrer genafspilning, og som styres af Secure Enclave.
Engangstokenet til oplåsning til overvågede softwareopdateringer udløber efter 20 minutter. I iOS 13 og iPadOS 13.1 og nyere versioner opbevares tokenet i et skab beskyttet af Secure Enclave. I versioner før iOS 13 blev dette token eksporteret fra Secure Enclave og skrevet til Effaceable Storage eller blev beskyttet af den Secure Enclave-mekanisme, der forhindrer genafspilning. En politiktimer øgede tælleren med 1, hvis enheden ikke blev genstartet inden for 20 minutter.
Uovervågede softwareopdateringer foretages, når systemet opdager en tilgængelig opdatering, og hvis et af følgende er sandt:
Automatiske opdateringer er konfigureret i iOS 12 og nyere versioner.
Brugeren vælger Installer senere, når der kommer en meddelelse om opdateringen.
Når brugeren har indtastet koden, genereres et engangstoken til oplåsning, og dette kan bevare sin gyldighed i Secure Enclave i op til 8 timer. Hvis opdateringen endnu ikke har fundet sted, ødelægges engangstokenet til oplåsning, hver gang enheden låses, og oprettes igen ved hver efterfølgende oplåsning. Hver oplåsning genstarter gyldighedsperioden på 8 timer. Efter 8 timer gør en politiktimer engangstokenet til oplåsning ugyldigt.
Nøglesamlingen iCloud-sikkerhedskopi
Nøglesamlingen iCloud-sikkerhedskopi ligner nøglesamlingen Sikkerhedskopi. Alle klassenøglerne i denne nøglesamling er asymmetriske (vha. Curve25519 ligesom i databeskyttelsesklassen Beskyttet, hvis ikke åben). Der bruges også en asymmetrisk nøglesamling til at beskytte den sikkerhedskopierede nøglering til gendannelse af iCloud-nøglering.