
Oversikt over databeskyttelse
Apple bruker en teknologi som kalles databeskyttelse for å beskytte data som er lagret i flashlagring på enhetene som har en Apple SoC, for eksempel iPhone, iPad, Macer med Apple-chip, Apple TV, Apple Watch og Apple Vision Pro. Med databeskyttelse kan enheten svare på vanlige aktiviteter, som for eksempel innkommende telefonsamtaler, samtidig som teknologien gjør det mulig med kryptering av brukerdata på høyt nivå. Enkelte systemapper (for eksempel Meldinger, Mail, Kalender, Kontakter, Bilder) og Helse-dataverdier bruker databeskyttelse som standard. Tredjepartsapper får denne beskyttelsen automatisk.
Implementering
Databeskyttelse implementeres ved å lage og administrere et hierarki av nøkler og er basert på maskinvarekrypteringen som er innebygd i Apple-enheter. Databeskyttelse styres ved at hver enkelt fil tilordnes en klasse, og tilgjengeligheten bestemmes av om klassenøklene er låst opp. Med APFS (Apple File System) kan filsystemet ytterligere dele inn nøklene på et per-utstrekning-grunnlag (der deler av en fil kan ha forskjellige nøkler).
Hver gang det opprettes en fil på datavolumet, lager databeskyttelsen en ny 256-bit-nøkkel (den «filspesifikke» nøkkelen) og gir den til den maskinvarebaserte AES-motoren, som bruker nøkkelen til å kryptere filen mens den skrives til flashlagring. På A14- til A18- og M1- til M4-enheter bruker krypteringen AES-256 i XTS-modus der 256-bit per-fil-nøkkelen går gjennom en nøkkelavledingsfunksjon (NIST Special Publication 800-108) for å avlede en 256-bit-«tweak» og en 256-bit-kodenøkkel. På A9- til A13- og S5- til S9-enheter bruker krypteringen AES-128 i XTS-modus der 256-bit per-fil-nøkkelen deles for å gi en 128-bit-«tweak» og en 128-bit-kodenøkkel.
På Macer med Apple-chip bruker databeskyttelse som standard klasse C (se Databeskyttelsesklasser), men med en volumnøkkel i stedet for en filspesifikk nøkkel eller per-fil-nøkkel. Dette gjenskaper sikkerhetsmodellen til FileVault for brukerdata. Brukerne må fortsatt velge FileVault for få den fullstendige beskyttelsen med å integrere krypteringsnøkkelhierarkiet med passordet. Utviklere kan også velge en høyere beskyttelsesklasse som benytter en filspesifikk nøkkel eller per-fil-nøkkel.