
Proteção de Dados em dispositivos Apple
Em dispositivos Apple com Proteção de Dados, cada dado é protegido com uma chave exclusiva por arquivo (ou por perímetro). A chave, embalada com o algoritmo de embalagem de chaves NIST AES, é ainda embalada por uma de várias chaves de classe, dependendo de como o arquivo deve ser acessado. A chave por arquivo embalada é então armazenada nos metadados do arquivo.
Dispositivos com o formato APFS podem oferecer suporte à clonagem de arquivos (cópias de custo zero que usam a tecnologia “copiar ao gravar”). Se um arquivo for clonado, cada metade do clone recebe uma nova chave para aceitar gravações e permitir que novos dados sejam gravados na mídia com uma nova chave. Com o passar do tempo, o arquivo pode ser composto de várias extensões (ou fragmentos), cada um sendo mapeado a chaves diferentes. Entretanto, todas as extensões que compõem um arquivo são protegidas pela mesma chave de classe.
Quando um arquivo é aberto, a chave do sistema de arquivos descriptografa seus metadados para revelar a chave única por arquivo e a classe da proteção. A chave única por arquivo (ou por perímetro) é desembalada pela chave de classe e fornecida ao Mecanismo AES de hardware, o qual descriptografa o arquivo conforme ele é lido do armazenamento flash. O gerenciamento de toda a chave de arquivo embalada ocorre no Secure Enclave; a chave do arquivo nunca é exposta diretamente ao Processador de Aplicativos. Na inicialização, o Secure Enclave negocia uma chave efêmera com o Mecanismo AES. Quando o Secure Enclave desembala as chaves de um arquivo, elas são reembaladas pela chave efêmera e enviadas de volta para o Processador de Aplicativos.
Todos os metadados do arquivo são criptografados com uma chave de valor aleatório, criada na primeira instalação do sistema operacional ou quando o usuário realiza a ação Apagar Conteúdo e Ajustes. Essa chave é criptografada e embalada por uma chave de embalamento de chaves conhecida apenas pelo Secure Enclave para armazenamento de longo prazo. A chave de embalamento de chaves muda sempre que o usuário apaga o dispositivo. Nos SoCs A9 ou posteriores, o Secure Enclave faz uso de entropia, assistida por sistemas antirreprodução, para possibilitar o apagamento e proteger sua chave de embalamento de chaves, entre outros materiais. Para obter mais informações, consulte Armazenamento não volátil seguro.
Assim como chaves únicas por arquivo ou por extensão, a chave de metadados do volume de dados nunca é exposta diretamente ao Processador de Aplicativos; o Secure Enclave fornece uma versão efêmera única por inicialização. Quando armazenada, a chave criptografada do sistema de arquivos é embalada ainda por uma chave apagável armazenada no Armazenamento Apagável ou com uma chave de embalamento de chave de mídia, protegida pelo mecanismo antirreprodução do Secure Enclave. Essa chave não oferece confidencialidade de dados adicional. Em vez disso, ela é projetada para ser apagada rapidamente sob demanda (por um usuário com a opção Apagar Conteúdo e Ajustes, ou por um usuário ou administrador ao emitir um comando de apagamento remoto em um serviço de gerenciamento de dispositivos, Microsoft Exchange ActiveSync ou iCloud).
Importante: O apagamento de uma chave dessa maneira deixa todos os arquivos criptograficamente inacessíveis.
O conteúdo de um arquivo pode ser criptografado com uma ou mais chaves únicas por arquivo (ou por extensão) que são embaladas com uma chave de classe e armazenadas nos metadados de um arquivo que, por sua vez, é criptografado com a chave do sistema de arquivos. A chave de classe é protegida pelo UID do hardware e, em algumas classes, pelo código do usuário. Essa hierarquia fornece flexibilidade e bom desempenho. Por exemplo, a alteração da classe de um arquivo requer apenas que a chave única por arquivo seja reembalada e a alteração do código reembala somente a chave de classe.