Keybag

Struttura di dati utilizzata per conservare una raccolta di chiavi di classe. Ogni tipo (Utente, Dispositivo, Sistema, Backup, Escrow o Backup iCloud) ha lo stesso formato, ossia:

Un’intestazione contenente: versione (impostata su quattro in iOS 12 o versione successiva), tipo (sistema, backup, escrow o backup di iCloud), UUID della keybag, HMAC se la keybag è firmata e il metodo usato per la cifratura delle chiavi della classe, vincolato all’UID o PBKDF2 e insieme al salt e al conteggio delle iterazioni.

Un elenco delle chiavi di classe: UUID delle chiavi, classe (quale classe di protezione dei dati del portachiavi o del file), tipo di cifratura (solo chiave derivata da UID; chiave derivata da UID e chiave derivata da codice di accesso), chiave della classe cifrata e una chiave pubblica per le classi asimmetriche.