Databeskyttelse på Apple-enheder
På Apple-enheder med Databeskyttelse er hvert arkiv beskyttet af en unik nøgle pr. arkiv (eller pr. område). Nøglen, der er pakket med nøgleindpakningsalgoritmen NIST AED, pakkes derudover med en af flere mulige klassenøgler, afhængigt af hvordan der skal være adgang til arkivet. Den indpakkede nøgle pr. arkiv opbevares derefter i arkivets metadata.
Enheder med APFS-format understøtter måske kloning af arkiver (kopier uden omkostninger ved hjælp af teknologien kopier ved skrivning). Hvis et arkiv kopieres, får hver halvdel af kopien en ny nøgle til accept af indgående skrivninger, så der skrives nye data til mediet med en ny nøgle. Over tid kan arkivet komme til at bestå af forskellige områder (eller fragmenter), der hver knyttes til forskellige nøgler. Alle de områder, der udgør et arkiv, beskyttes imidlertid af samme klassenøgle.
Når et arkiv åbnes, dekrypteres dets metadata med arkivsystemnøglen, og den indpakkede arkivnøgle og en notation til den klasse, der beskytter arkivet, vises. Arkivnøglen (eller områdenøglen) pakkes ud med klassenøglen og overdrages derefter til AES-modulet til hardware, som dekrypterer arkivet, mens det læses fra flashlageret. Al håndtering af den indpakkede arkivnøgle finder sted i Secure Enclave. Arkivnøglen vises aldrig direkte til app-processoren. Når enheden startes, afhandler Secure Enclave en midlertidig nøgle med AES-modulet. Når Secure Enclave udpakker et arkivs nøgler, pakkes de igen med den midlertidige nøgle og sendes tilbage til app-processoren.
Metadata til alle arkiver i dataenhedens arkivsystem krypteres med en tilfældig enhedsnøgle, som oprettes, når operativsystemet installeres første gang, eller når enheden slettes af en bruger. Nøglen krypteres og indpakkes af en nøgle til nøgleindpakning, som kun kendes af Secure Enclave, med henblik på langvarig opbevaring. Nøglen til nøgleindpakning skifter, hver gang en bruger sletter sin enhed. I A9 (og nyere) SoC’er benytter Secure Enclave entropi suppleret med systemer, der forhindrer genafspilning (nonce), til at opnå sletbarhed og til at beskytte sin nøgle til nøgleindpakning og andre aktiver. Du kan få flere oplysninger i Sikkert ikke-flygtigt lager.
Ligesom arkivnøgler eller områdenøgler vises metadatanøglen til dataenheden aldrig direkte for app-processoren. Secure Enclave leverer i stedet en midlertidig version til hver start. Under opbevaring er den krypterede arkivsystemnøgle desuden pakket med en sletbar nøgle (“effaceable key”), der opbevares i Effaceable Storage, eller med en medienøgle til nøgleindpakning, som beskyttes af den Secure Enclave-mekanisme, der forhindrer genafspilning. Denne nøgle øger ikke datafortroligheden yderligere. Dens formål er derimod, at den hurtigt kan slettes ved behov (af brugeren med indstillingen Slet alt indhold og alle indstillinger eller af en bruger eller administrator, der afsender en ekstern slettekommando fra en løsning til administration af mobile enheder (MDM), Microsoft Exchange ActiveSync eller iCloud). Når nøglen slettes på denne måde, ophæves al kryptografisk adgang til alle arkiver.
Indholdet af et arkiv kan krypteres med en eller flere nøgler pr. arkiv (eller pr. område), der pakkes med en klassenøgle og opbevares i et arkivs metadata, som på sin side krypteres med arkivsystemnøglen. Klassenøglen beskyttes med hardwarens UID og for nogle klasser også med brugerens kode. Dette hierarki er både fleksibelt og effektivt. Således skal arkivnøglen blot pakkes om, hvis et arkivs klasse ændres, mens en ændring af koden kun kræver, at klassenøglen pakkes om.