Proteção de chaves em modos de inicialização alternativos
A Proteção de Dados é projetada para fornecer acesso aos dados de usuário apenas depois de uma autenticação bem-sucedida e somente para o usuário autorizado. As classes da Proteção de Dados são projetadas para oferecer suporte a diversos casos de uso, como a capacidade de ler e gravar dados mesmo quando um dispositivo está bloqueado (porém depois do primeiro desbloqueio). Passos adicionais são tomados para proteger o acesso aos dados de usuário durante modos de inicialização alternativos, como aqueles usados para o modo de Atualização do Firmware do Dispositivo (DFU), modo de Recuperação, Diagnóstico Apple ou até durante atualizações de software. Essas capacidades baseiam-se em uma combinação de recursos de hardware e software, e foram ampliadas conforme o silício projetado pela Apple evoluiu.
Recurso | A10 | A11–A17 S3–S9 M1, M2, M3 |
Recuperação: proteção de todas as Classes de Proteção de Dados | ||
Inicializações alternativas do modo DFU, Recuperação e atualizações de software: proteção de dados das Classes A, B e C |
O Mecanismo AES do Secure Enclave é equipado com bits de núcleo de software bloqueáveis. Quando chaves são criadas a partir do UID, esses bits de núcleo são incluídos na função de derivação da chave para criar hierarquias de chave adicionais. Como o bit de núcleo é usado e varia de acordo com o sistema no chip:
Desde os SoCs Apple A10 e S3, um bit de núcleo é dedicado a distinguir chaves protegidas pelo código do usuário. O bit de núcleo é definido para chaves que requerem o código de usuário (incluindo Proteção de Dados para chaves de Classe A, Classe B e Classe C) e removido para chaves que não requerem o código do usuário (incluindo a chave de metadados do sistema de arquivos e chaves da Classe D).
No iOS 13 ou posterior e iPadOS 13.1 ou posterior em dispositivos com o A10 ou posterior, todos os dados do usuário ficam criptograficamente inacessíveis quando os dispositivos são inicializados no modo de Diagnóstico. Isso é feito por meio da introdução de um bit de núcleo adicional cuja definição governa a capacidade de acesso à chave de mídia, que por sua vez é necessária para acessar os metadados (e portanto, o conteúdo de todos os arquivos) no volume de dados criptografado com a Proteção de Dados. Esta proteção engloba os arquivos protegidos em todas as classes (A, B, C e D), não apenas aqueles que exigem o código do usuário.
Em SoCs A12, a ROM de Inicialização do Secure Enclave bloqueia o bit de núcleo do código se o Processador de Aplicativos tiver entrado no modo de Atualização do Firmware do Dispositivo (DFU) ou modo de recuperação. Quando o bit de núcleo está bloqueado, nenhuma operação de alteração é permitida. Isso é projetado para impedir o acesso a dados protegidos pelo código do usuário.
A restauração de um dispositivo depois que ele entra no modo DFU o leva novamente a um estado conhecidamente bom, com a certeza de que apenas código não modificado e assinado pela Apple está presente. O modo DFU pode ser acessado manualmente.
Consulte o artigo de Suporte da Apple a seguir para saber como colocar um dispositivo no modo DFU:
Dispositivo | Artigo de Suporte da Apple |
---|---|
iPhone, iPad | |
Apple TV | |
Um Mac com Apple Silicon |