
Seguridad del proceso de certificación
Seguridad del proceso de certificación
Cuando la configuración ACME especifica una clave vinculada al hardware, o cuando el servicio de administración de dispositivos solicita una certificación DeviceInformation, el dispositivo usa los siguientes pasos:
El sistema operativo solicita una clave vinculada al hardware al Secure Enclave, denominada clave certificada. Para la certificación ACME, esta clave forma parte de la identidad del certificado emitido. Para la certificación
DeviceInformation, la clave es generada por el sistema operativo y reutilizada para todas las certificacionesDeviceInformationposteriores durante la vigencia de la inscripción.El sistema operativo realiza una solicitud de certificación de hardware al Secure Enclave, enseguida, especifica la clave certificada, el código de vigencia y las propiedades que desea certificar.
El Secure Enclave genera y devuelve una nueva certificación de hardware.
El sistema operativo envía la certificación de hardware a los servidores de certificación de Apple.
Los servidores de certificación validan la solicitud y rechazan la emisión de un certificado de certificación o generan una certificación que contiene solo las propiedades y los valores que han podido confirmar. La clave pública del certificado de certificación coincide con la clave certificada.
El sistema operativo proporciona el certificado de certificación resultante al servicio de administración de dispositivos o a la solución ACME.
Para obtener detalles sobre la validación de la certificación proporcionada, consulta Validar una certificación de dispositivo administrado en el sitio web para desarrolladores de Apple.
Acerca de la certificación del hardware
Cuando Secure Enclave genera una certificación de hardware, incluye los siguientes elementos, entre otros:
Identificadores de la placa lógica principal.
La clave pública de la clave certificada.
Hashes de los siguientes componentes de software que se calculan durante el proceso de arranque y se almacenan en registros de hardware (similar a la protección de clave sellada):
El firmware del Secure Enclave (sepOS).
El manifiesto Image4 adjunto a LLB, que también contiene una medición de todos los demás firmwares emparejados con el sistema.
El manifiesto Image4 del sistema operativo, que contiene mediciones de todos los firmwares enlazados con el sistema operativo.
Otros valores específicos del dispositivo, como ECID y ChipID.
En computadoras Mac, detalles de la LocalPolicy.
El código de originalidad.
Si el Secure Enclave no puede desempaquetar la clave certificada, este se niega a generar una certificación de hardware. Esta medida garantiza que la clave certificada esté vinculada a ese Secure Enclave específico y que todas las demás propiedades certificadas estén asociadas a esa clave.
Todos estos elementos se compilan en una estructura binaria personalizada y se firman con la UIK. Esto vincula la certificación del hardware con una identidad específica que las certificaciones de Apple pueden verificar, lo que les permite 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 certificación
Cuando los servidores de certificación de Apple reciben una solicitud de certificación, hacen lo siguiente:
Validan la firma de la clave de identidad de usuario (UIK) de la certificación del hardware. Si la firma no es válida, no se genera ninguna certificación.
Buscan el
ucrten los registros de activación de Apple que corresponden a la clave pública de la UIK. Si no se encuentra elucrt, no se genera ninguna certificación.Buscan el
scrtque corresponde alucrtdel dispositivo. Elscrtes un certificado emitido por los servidores de Apple durante la fabricación basado en la clave de identidad de silicio (SIK). La SIK es generada por el Secure Enclave y su clave pública se recopila durante la fabricación del dispositivo. La SIK se usa durante la activación para verificar que el Secure Enclave del dispositivo que se está activando posee la clave privada. La SIK persiste durante toda la vida útil de un dispositivo y actúa como un identificador único. Se usa elscrtpara recuperar el registro de fabricación del dispositivo. Si no se encuentra un registro, no se genera ninguna certificación.Verifican que los identificadores de los componentes de hardware coincidan con los registros de fabricación, y si los identificadores de los componentes no coinciden con los registros de fabricación, no se genera ninguna certificación.
Copian el código de originalidad en la certificación, si está presente.
Si lo solicita la certificación:
Comparan los hash calculados de los componentes de software con los hash conocidos de los registros de compilación. Si hay una coincidencia, el número de versión oficial se inserta en la certificación; si no, el OID se omite o su valor queda vacío.
Cuando se crean imágenes para LLB, el Secure Enclave o el sistema operativo principal, se calculan los hash y se realizan grabaciones 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 el ChipID.
Copian los valores de los OID solicitados de LocalPolicy en la certificación si el dispositivo es una Mac.
El resultado práctico de estas validaciones es que no se genera ninguna certificación si los servidores de certificación no pueden reconocer el dispositivo como hardware auténtico de Apple. Cada propiedad en el certificado de certificación se incluye sólo si los servidores de certificación pueden verificar el valor de la propiedad, con la excepción del código de originalidad, que se incluye sin ninguna validación.