Databeskyttelse i Apple-enheter
På Apple-enheter med databeskyttelse er hver fil beskyttet med en unik per-fil (eller filspesifikk) nøkkel. Nøkkelen som er pakket ved hjelp av nøkkelinnpakningsalgoritmen NIST AED, pakkes med én av flere klassenøkler, avhengig av hvordan det skal være mulig å få tilgang til filen. Den innpakkede filspesifikke nøkkelen oppbevares i filens metadata.
Enheter med APFS-formatet kan støtte kloning av filer (nullkostnadskopier som bruker kopier-ved-skriv-teknologi). Hvis en fil klones, får hver halvdel av klonen en ny nøkkel for å godta innkommende skriving slik at de nye dataene skrives til mediet med en ny nøkkel. Over tid kan filen bestå av forskjellige utstrekninger (eller fragmenter) som hver tilordnes forskjellige nøkler. Imidlertid beskyttes alle utstrekningene som utgjør en fil av samme klassenøkkel.
Når en fil åpnes, dekrypteres metadataene med filsystemnøkkelen, og den innpakkede filspesifikke nøkkelen og en notasjon om hvilken beskyttelsesklasse den tilhører, avdekkes. Den filspesifikke (eller utstrekningsspesifikke) nøkkelen pakkes ut med klassenøkkelen og gis til den maskinvarebaserte AES-motoren som dekrypterer filen når den leses fra flashlagring. All håndtering av innpakkede filnøkler skjer i Secure Enclave. Filnøkkelen eksponeres aldri for applikasjonsprosessoren. Ved oppstart blir Secure Enclave enig med AES-motoren om en kortvarig nøkkel. Når Secure Enclave pakker ut nøklene til en fil, pakkes nøklene på nytt med den kortvarige nøkkelen og sendes tilbake til applikasjonsprosessoren.
Metadataene i alle filene i datavolumfilsystemet er kryptert med en tilfeldig volumnøkkel som opprettes når operativsystemet først installeres eller når enheten slettes av en bruker. Denne nøkkelen krypteres og pakkes inn av en nøkkelinnpakningsnøkkel som kun Secure Enclave kjenner til, for langsiktig lagring. Nøkkelinnpakningsnøkkelen endres hver gang en bruker sletter enheten. På A9-SoC-er (og nyere) bruker Secure Enclave entropi, støttet av anti-repetisjonssystemer, for å oppnå slettbarhet og for å beskytte nøkkelinnpakningsnøkkelen, blant andre ressurser. Du finner mer informasjon om dette under Sikker, ikke-flyktig lagring.
Akkurat som filspesifikke eller utstrekningsspesifikke nøkler, eksponeres aldri metadatanøkkelen til datavolumet direkte for applikasjonsprosessoren. Secure Enclave leverer en kortvarig, oppstartsspesifikk versjon i stedet. Når den lagres, blir den krypterte filsystemnøkkelen også innpakket av en «slettbar nøkkel» lagret i Effaceable Storage eller ved å bruke en medienøkkelinnpakningsnøkkel, beskyttet av Secure Enclaves anti-repetisjonsmekanisme. Denne nøkkelen tilbyr ikke ytterligere datakonfidensialitet. Den er i stedet utformet for å kunne slettes raskt ved behov (av brukeren med innstillingen «Slett alt innhold og alle innstillinger» eller av en bruker eller administrator med en kommando for fjernsletting fra en MDM-løsning, Exchange ActiveSync eller iCloud). Når nøkkelen slettes på denne måten, blir alle filer kryptografisk utilgjengelige.
Innholdet i en fil kan krypteres med en eller flere filspesifikke (eller utstrekningsspesifikke) nøkler, som pakkes med en klassenøkkel og lagres i filens metadata, som så krypteres med filsystemnøkkelen. Klassenøkkelen beskyttes av maskinvarens UID, og noen klasser beskyttes også av brukerens kode. Dette hierarkiet gir både fleksibilitet og ytelse. Det er for eksempel kun nødvendig å pakke den filspesifikke nøkkelen på nytt for å endre klassen til en fil, og ved kodeendringer er det kun klassenøkkelen som pakkes på nytt.