
Seguridad del proceso de acreditación
Seguridad del proceso de acreditación
Cuando la configuración de ACME especifica una clave vinculada al hardware, o cuando el servicio de gestión de dispositivos solicita una acreditación DeviceInformation, el dispositivo usa los siguientes pasos:
El sistema operativo solicita una clave vinculada al hardware de Secure Enclave, que se denomina clave acreditada. Para la acreditación ACME, esta clave forma parte del certificado de identidad emitido. Para la acreditación
DeviceInformation, el sistema operativo genera la clave y se reutiliza para todas las acreditacionesDeviceInformationposteriores mientras dure la inscripción.El sistema operativo solicita una acreditación de hardware de Secure Enclave. Especifica la clave acreditada, el código de validez y qué propiedades quiere que se certifiquen.
Secure Enclave genera y devuelve una nueva acreditación de hardware.
El sistema operativo envía la acreditación de hardware a los servidores de acreditación de Apple.
Los servidores de acreditación validan la solicitud y, o bien rechazan la emisión de un certificado de acreditación, o bien generan una acreditación que únicamente contiene las propiedades y los valores que se han podido confirmar. La clave pública del certificado de acreditación coincide con la clave acreditada.
El sistema operativo proporciona el certificado de acreditación resultante al servicio de gestión de dispositivos o la solución ACME.
Para obtener más información sobre la validación del certificado de acreditación proporcionado, consulta Validar una acreditación del dispositivo gestionado en el sitio web para desarrolladores de Apple.
Acerca de la acreditación de hardware
Cuando Secure Enclave genera una acreditación de hardware, incluye los siguientes elementos, entre otros:
Identificadores de la placa base principal.
La clave pública de la clave acreditada.
Hashes de los siguientes componentes de software, que se calculan durante el proceso de arranque y se almacenan en los registros de hardware (igual que en el caso de la protección de clave sellada):
El firmware de Secure Enclave (sepOS).
El manifiesto Image4 conectado al LLB, que también contiene una medición del resto del firmware enlazado por el sistema.
El manifiesto Image4 del sistema operativo, que contiene mediciones de todo el firmware enlazado con OS.
Otros valores específicos del dispositivo, como ECID y ChipID.
En ordenadores Mac, detalles de LocalPolicy.
El código de validez.
Si Secure Enclave no es capaz de desencapsular la clave acreditada, Secure Enclave rechaza la generación de una acreditación de hardware. Esto garantiza que la clave acreditada esté vinculada a ese Secure Enclave concreto y que todas las demás propiedades acreditadas se asocien a esa clave.
Todos estos elementos se compilan en una estructura binaria personalizada y se firma con la UIK. Esto vincula la acreditación de hardware con una identidad específica que las acreditaciones de Apple pueden verificar, permitiéndoles asociar la solicitud con un registro de activación específico y, por lo tanto, con un registro de fabricación específico.
Generar el certificado de acreditación
Cuando los servidores de acreditación de Apple reciben una solicitud de acreditación, hacen lo siguiente:
Validan la firma de la clave de identidad del usuario (UIK) de la acreditación de hardware. Si la firma no es válida, no se genera ninguna acreditación.
Buscan el valor
ucrten los registros de activación de Apple que se corresponde a la clave pública de la UIK. Si no se encuentra ningún valorucrt, no se genera ninguna acreditación.Buscan el valor
scrtque se corresponde con el valorucrtdel dispositivo. El valorscrtes un certificado emitido por los servidores de Apple durante la fabricación que se basa en la clave de identidad del chip (SIK). Secure Enclave genera la SIK y su clave pública se recopila del dispositivo durante la fabricación. La SIK se usa durante la activación para verificar que el procesador Secure Enclave del dispositivo activador está en posesión de la clave privada. La SIK no cambia a lo largo de la vida útil del dispositivo y sirve de identificador único. Usando elscrt, se recupera el registro de fabricación del dispositivo. Si no se encuentra ningún registro, no se genera ninguna acreditación.Verifican que los identificadores de los componentes de hardware coinciden con los registros de fabricación. Si los identificadores del componente no coinciden con los registros de fabricación, no se genera ninguna acreditación.
Buscan copias del código de validez en la acreditación, si la hay.
Si lo solicita la acreditación:
Comparan los hashes calculados de los componentes de software con los hashes conocidos de los registros de compilación. Si hay una coincidencia, se inserta el número de versión oficial en la acreditación; si no, se omite el OID o su valor se deja en blanco.
Cuando se compilan imágenes para el LLB, Secure Enclave o el sistema operativo principal, los hashes se calculan y registran en una base de datos de registros de compilación, junto con los números de versión oficiales de esas imágenes.
Calculan el UDID a partir del ECID y ChipID.
Si el dispositivo es un Mac, copian los valores de los OID solicitados de LocalPolicy a la acreditación.
El resultado práctico de estas validaciones es que no se genera ninguna acreditación si los servidores de acreditación no pueden reconocer el dispositivo como hardware auténtico de Apple. Cada propiedad del certificado de acreditación solo se incluye si los servidores de acreditación han podido verificar el valor de la propiedad (con la excepción del código de validez, que se incluye sin ninguna validación).