Atestado de Dispositivos Gerenciados para dispositivos Apple
O Atestado de Dispositivos Gerenciados é um recurso no iOS 16, iPadOS 16.1, macOS 14 e tvOS 16 ou posteriores. O Atestado de Dispositivos Gerenciados fornece evidências sólidas sobre quais propriedades de um dispositivo podem ser usadas como parte de uma avaliação de confiança. Essa declaração criptográfica de propriedades do dispositivo é baseada na segurança do Secure Enclave e nos servidores de atestado da Apple.
O atestado de dispositivos gerenciados ajuda a proteger contra as seguintes ameaças:
Um dispositivo comprometido que mente sobre as suas propriedades
Um dispositivo comprometido que fornece um atestado desatualizado
Um dispositivo comprometido que envia identificadores de outro dispositivo
Extração de chave privada para utilização em um dispositivo invasor
Um invasor que sequestra um pedido de certificado para enganar a AC e fazê-la emitir-lhe um certificado
Para obter mais informações, assista ao vídeo da WWDC24 What’s new in device management (em inglês).
Atestado de Dispositivos Gerenciados com pedidos de registro de certificado ACME
O serviço ACME da Autoridade de Certificação (AC) emissora de uma organização pode solicitar um atestado das propriedades do dispositivo que está fazendo o registro. O atestado fornece fortes garantias de que as propriedades do dispositivo (o número de série, por exemplo) são legítimas e não foram adulteradas. O serviço ACME da AC emissora pode validar criptograficamente a integridade das propriedades do dispositivo atestado e, opcionalmente, fazer a referência cruzada delas com o inventário de dispositivos da organização e, depois de uma verificação bem‑sucedida, confirmar que o dispositivo pertence à organização.
Se o atestado for usado, uma chave privada associada ao hardware é gerada dentro do Secure Enclave do dispositivo, como parte do pedido de assinatura de certificado. Para esse pedido, a AC emissora do ACME pode então emitir um certificado de cliente. Essa chave é atrelada ao Secure Enclave e, portanto, está disponível apenas em um dispositivo específico. Ela pode ser usada em um iPhone, iPad, Apple TV e Apple Watch com configurações compatíveis com a especificação de uma identidade de certificado. Em um Mac, as chaves associadas ao hardware podem ser usadas com o MDM, Microsoft Exchange, Kerberos, redes 802.1X, cliente VPN integrado e retransmissão de rede integrada.
Nota: o Secure Enclave possui proteções muito fortes contra a extração de chaves, mesmo no caso de um Processador de Aplicativos comprometido.
Essas chaves associadas ao hardware são removidas automaticamente ao apagar ou restaurar um dispositivo. Como as chaves são removidas, nenhum perfil de configuração que dependa delas funcionará depois de uma restauração. O perfil precisará ser aplicado novamente para que as chaves sejam recriadas.
Usando o atestado de payload ACME, o MDM pode registrar uma identidade de certificado de cliente por meio do protocolo ACME, que pode validar criptograficamente que:
O dispositivo é um dispositivo Apple genuíno
O dispositivo é um dispositivo específico
O dispositivo é gerenciado pelo servidor MDM da organização
O dispositivo possui determinadas propriedades (o número de série, por exemplo)
A chave privada é vinculada com o hardware do dispositivo
Atestado de Dispositivos Gerenciados com pedidos de MDM
Além de usar o atestado de dispositivos gerenciados durante pedidos de registro de certificado ACME, uma solução MDM pode enviar uma consulta DeviceInformation
solicitando a propriedade DevicePropertiesAttestation
. Se a solução MDM deseja ajudar a garantir um novo atestado, ela pode enviar uma chave DeviceAttestationNonce
opcional, que força a realização de um novo atestado. Se essa chave for omitida, o dispositivo retorna um atestado em cache. A resposta do atestado do dispositivo então retorna um certificado de folha com as suas propriedades OIDs em personalizados.
Nota: O número de série e o UDID são omitidos ao usar o Registro de Usuário, a fim de proteger a privacidade do usuário. Os outros valores são anônimos e incluem propriedades como a versão do sepOS e o código de validade.
Em seguida, a solução MDM pode validar a resposta, avaliando se a cadeia de certificados tem como raiz a Autoridade de Certificação da Apple esperada (disponível no Repositório PKI Privado da Apple) e se o hash do código de validade é igual ao hash do código de validade fornecido na consulta DeviceInformation
.
Como a definição de um código de validade gera um novo atestado — o que consome recursos no dispositivo e nos servidores da Apple —o uso é atualmente limitado a um atestado DeviceInformation
por dispositivo a cada sete dias. Uma solução MDM não deve solicitar imediatamente um novo atestado a cada 7 dias. Não é considerado necessário solicitar um novo atestado a menos que as propriedades do dispositivo tenham mudado, como em uma atualização principal ou secundária da versão do sistema operacional, por exemplo. Além disso, uma solicitação aleatória ocasional de um novo atestado pode ajudar a detectar um dispositivo comprometido que esteja tentando passar informações falsas sobre essas propriedades.
Lidando com falhas de atestado
A solicitação de um atestado pode falhar. Quando isso acontece, o dispositivo ainda responde à consulta DeviceInformation
ou ao desafio device-attest-01
do servidor ACME, mas algumas informações são omitidas. Um OID esperado ou seu valor é omitido, ou o atestado é omitido completamente. Existem muitas razões potenciais para uma falha, como:
Um problema de rede nos servidores de atestado da Apple
O hardware ou o software do dispositivo pode estar comprometido
O dispositivo não é um hardware Apple original
Nesses últimos dois casos, os servidores de atestado da Apple se recusam a emitir um atestado para propriedades que não podem verificar. Não há uma maneira confiável para a solução MDM descobrir a causa exata de uma falha de atestado. Isso ocorre porque a única fonte de informação sobre a falha é o próprio dispositivo, que pode estar comprometido e passando informações falsas. Por esse motivo, as respostas do dispositivo não indicam o motivo da falha.
No entanto, quando o Atestado de Dispositivos Gerenciados é usado como parte de uma arquitetura de confiança zero, a organização pode calcular uma pontuação de confiança para o dispositivo, com uma falha de atestado ou um atestado inesperadamente obsoleto, diminuindo essa pontuação. Uma pontuação de confiança reduzida aciona ações diferentes, como negar acesso a serviços, sinalizar o dispositivo para investigação manual ou escalonamentos de conformidade, apagando-o e revogando seus certificados quando necessário. Isso garante uma resposta apropriada a uma falha de atestado.