
Acreditación del dispositivo gestionado para dispositivos Apple
La acreditación del dispositivo gestionado está disponible en iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9 o posterior. Usa Secure Enclave para proporcionar garantías criptográficas acerca de la identidad de un dispositivo y de su estrategia de seguridad. Los dispositivos iPad, iPhone y Apple TV requieren el chip A11 Bionic o posterior y solo los ordenadores Mac con chip de Apple son compatibles. La acreditación del dispositivo gestionado es una medida de protección frente a las siguientes amenazas:
Un dispositivo comprometido que miente sobre sus propiedades
Un dispositivo comprometido que proporciona una acreditación desfasada
Un dispositivo comprometido que envía los identificadores de un dispositivo diferente
La extracción de una clave privada para usarla en un dispositivo fraudulento
Un atacante que se apropia de una solicitud de certificado para burlar a la autoridad de certificación (CA) y hacer que emita un certificado al atacante
Con la acreditación del dispositivo gestionado, un dispositivo puede solicitar una acreditación de los servidores de acreditación de Apple, que devuelven una matriz de datos formada por un certificado terminal e intermedio radicado en la autoridad de certificación raíz de acreditación empresarial de Apple. Dependiendo del tipo de dispositivo, el certificado terminal puede contener propiedades específicas, como se muestra en la siguiente tabla.
OID y valor | Versión de los sistemas operativos mínimos compatibles | Descripción | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 Número de serie | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representa el número de serie del dispositivo y se puede utilizar para identificar un dispositivo. Para ayudar a proteger la privacidad del usuario, este valor no se incluye cuando se utiliza la acreditación del dispositivo gestionado con la inscripción del usuario. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representa el ID de hardware único y se puede utilizar para identificar un dispositivo. En un Mac, el UDID coincide con el perfil de datos de UDID de instalación del dispositivo. Para ayudar a proteger la privacidad del usuario, este valor no se incluye cuando se utiliza la acreditación del dispositivo gestionado con la inscripción del usuario. | |||||||||
1.2.840.113635.100.8.10.2 Versión de sepOS | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representa la versión del firmware de Secure Enclave. | |||||||||
1.2.840.113635.100.8.11.1 Código de refresco | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Un código único y no predecible que identifica una determinada acreditación. Indica que la acreditación se generó después de que se creara el código. | |||||||||
1.2.840.113635.100.8.13.1 Estado de SIP | macOS 14 | Representa el estado de activación de la SIP en un Mac con chip de Apple. | |||||||||
1.2.840.113635.100.8.13.2 Estado de arranque seguro | macOS 14 | Representa la configuración de arranque seguro seleccionada en un Mac con chip de Apple. | |||||||||
1.2.840.113635.100.8.13.3 Se permiten las extensiones del kernel de terceros | macOS 14 | Representa si se permiten o no las extensiones del kernel de terceros en un Mac con chip de Apple. | |||||||||
1.2.840.113635.100.8.10.3 Versión de LLB | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representa la versión del cargador de arranque de bajo nivel. | |||||||||
1.2.840.113635.100.8.10.1 Versión del sistema operativo | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Representa la versión del sistema operativo y de iBoot. | |||||||||
1.2.840.113635.100.8.9.4 Identificador del dispositivo de la actualización de software | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Acredita la respuesta | |||||||||
Se inicia una solicitud de acreditación mediante una solicitud DeviceInformation que envía el servicio de gestión de dispositivos o la instalación de una configuración de ACME. En ambos casos, el dispositivo recibe un código de validez del servicio de gestión de dispositivos o la solución ACME. Cuando se usa una acreditación DeviceInformation, el código de validez es el valor de DeviceAttestationNonce que se especifica en la solicitud. Cuando se usa una acreditación ACME, el código de validez es el hash SHA-256 del identificador del reto device-attest-01. El valor resultante se incluye como propiedad en el certificado terminal y permite al servicio de gestión de dispositivos o a la solución ACME verificar que la acreditación coincide con la solicitud.
Al recibir la acreditación, un servicio backend necesita comprobar detenidamente la validación. Estas comprobaciones incluyen asegurarse de que el certificado terminal haya sido emitido por la autoridad de certificación raíz de acreditación empresarial de Apple, comparar el hash del código de refresco con el valor esperado y examinar otras propiedades de la acreditación.
En función del modelo de implementación de una organización, la acreditación del dispositivo gestionado puede ser una base importante de una implementación moderna y segura, y utilizarse de distintas formas:
Usar un certificado emitido por ACME para autenticar la conexión del cliente al servicio de gestión de dispositivos y aprovechar la acreditación
DeviceInformationpara verificar las propiedades de un dispositivo de forma continua.Verificar la identidad de un dispositivo y su estrategia de seguridad, y hacer que la solución ACME lleve a cabo una evaluación de la confianza antes de emitir un certificado. De este modo se garantiza que solo reciban un certificado los dispositivos que cumplan los estándares requeridos.
Incorporar las propiedades del dispositivo procedentes de la acreditación en un certificado ACME y llevar a cabo la evaluación de la confianza en las partes que confían.
Claves vinculadas al hardware
Como parte de la emisión de un certificado mediante el protocolo ACME, se puede solicitar a un dispositivo que proporcione una acreditación que también haga que Secure Enclave proteja el par de claves asociado para que se beneficie de sus fuertes medidas de seguridad de hardware y ayude a evitar la exportación de la clave privada.
Para crear una clave vinculada al hardware, la configuración de ACME debe usar el algoritmo ECSECPrimeRandom con un tamaño de clave de 256 o 384 bits. Esto especifica un par de claves en las curvas de P-256 o P-384, tal y como se definen en NIST SP 800-186.
Para genera la clave privada, Secure Enclave primero usa lo siguiente para crear un secreto criptográfico encapsulado:
Una combinación de su generador de números aleatorios de hardware (TRNG)
Entropía guardada en el almacenamiento no volátil seguro de Secure Enclave
Una clave de Protección de datos
El sistema operativo almacena el secreto encapsulado, pero el secreto encapsulado deja de ser útil por sí solo. Para derivar la clave privada, Secure Enclave necesita usar el mismo secreto, la misma entropía almacenada y la misma clave de Protección de datos. Dado que la entropía almacenada y la clave de Protección de datos son únicas para ese Secure Enclave específico, solo dicho Secure Enclave es capaz de generar la clave privada que realmente asocia la clave vinculada al hardware a ese Secure Enclave.
Cuando se borra el dispositivo, Secure Enclave borra la entropía almacenada. Por esta razón, una clave vinculada al hardware no se puede volver a generar después de una copia de seguridad y restauración, aunque se restauren en el mismo dispositivo.
Cualquier configuración que contenga una carga útil de ACME con una clave vinculada a hardware se elimina con la restauración. Si se usa una clave vinculada a hardware como la identidad del cliente del servicio de gestión de dispositivos, se anula la inscripción del dispositivo. En este caso, si el dispositivo se inscribió mediante la inscripción automatizada de dispositivos, el dispositivo vuelve a obtener su perfil de inscripción y se vuelve a inscribir.