Conteneur de clés
Structure de données utilisée pour stocker une collection de clés de classe. Chaque type (utilisateur, appareil, système, sauvegarde, autorité de séquestre ou sauvegarde iCloud) possède le même format.
Un en‑tête contenant : la version (réglée à quatre sous iOS 12 ou les versions ultérieures), le type (système, sauvegarde, autorité de séquestre ou sauvegarde iCloud), l’UUID du conteneur de clés, un code HMAC si le conteneur de clés est signé, la méthode utilisée pour envelopper les clés de classe (emmêler les clés avec l’UID ou PBKDF2), ainsi que le sel et le nombre d’itérations.
Une liste de clés de classe : UUID de clé, classe (classe de protection des données du trousseau ou de fichiers), type d’enveloppement (clé dérivée de l’UID uniquement; clé dérivée de l’UID et clé dérivée du code), clé de classe enveloppée et clé publique pour classes asymétriques.