Apple acaba de publicar un informe sobre el chip T2 y las funciones que desempeña dentro de la plataforma Mac.
El chip tiene dos funciones bien diferenciadas:
- Implementa varios controladores que se encargan del sonido, procesado de imagen, controlar la SSD y el manejo del sistema
- Un coprocesador llamado Secure Enclave que se encargará de proporcionar seguridad a la plataforma y ser la raíz de confianza de todo el sistema de firma del sistema.
El documento de Apple se centra en la descripción de las funciones del Secure Enclave y como interactúa con el resto de los componetes de la plataforma, tanto de hardware como de software.
Según el documento publicado por Apple,este Secure Enclave incluido en el chip T2 va a ser el encargado de de dar soporte a todo lo relacionado con el cifrado y la gestión de las claves usadas en los procedimientos criptográficos que realice el ordenador. Además, se va a encargar de varias operaciones de cifrado sin que las claves usadas salgan del chip, ni siquiera a través de mecanismos de depuración como puede ser una interfaz JTAG.ve
El Secure Enclave contiene una clave AES, llamada UID, definida en la fabricación de cada chip. Esta clave nunca abandona dicho coprocesador y la única manera de obtenerla sería sacar el chip de la máquina y realizar una ingenieria inversa sobre el chip. Además, existe una segunda clave, llamada GID es común a todos los procesadores de una misma clase. Ambas claves se utilizan en un motor de cifrado que implementa el algoritmo AES implementado en el chip, de tal manera que el coprocesador cifrará los datos que se le pida y devolverá los resultados.
El Secure Enclave está situado entre el procesador y el acceso al almacenamiento SSD, de tal manera que es capaz de cifrar los datos de manera muy rápida cuando se almacenan en el SSD
Estas claves se utilizan para implementar una jerarquía de claves que se usará en las diferentes necesidades de cifrado que tenga el ordenador. Como estas claves depende de una única de cada dispositivo, una vez habilitado el cifrado de disco con FileVault, no podrá acceder a los datos ni siquiera cambiando la SSD de ordenador, ya que la clave de cifrado depende del chip T2. Esto nos deja una primera consecuencia importante: Si se te estropea el hardware del Mac, como no tengas una copia de seguridad externa, no vas a poder recuperar tus datos. Decir quie si no se ha activado FileVault, se usará la clave UID, con lo cual, tampoco se podrá sacar los chips y leerlo en otro ordenador.
Otra particularidad importante del Secure Enclave es que si fallamos demasiadas contraseñas, el chip ya no realizará más tareas de verificación de claves o intentos de descifrar el volumnen de datos:
Otra misión que tiene el Secure Enclave es garantizar que los programas encargados de arrancar el Mac no han sido alterados. Para eso, se utiliza la firma digital de los mismos, apoyándose en la autoridad de certificación que está dentro del chip. Además, para evitar modificaciones, el primer código que se ejecuta no es actualizable, ya que se encuentra en una ROM dentro del propio chip T2. A partir de ahí, se irán verificando los diferentes componentes que forman la cadena de arranque.
Este chip también es el encargado de gestionar las huellas digitales que usa el sensor Touch Id y tiene incorporado un generador de números aleatorios para usar en las funciones criptográficas.
Este Secure Enclave no es algo nuevo: Apareció por primera vez en los iPhones que tenían sensor de huella digital. Y ha habido diversos intentos de ver como funciona o acceder a su firmware. Por ejemplo, la presentación de la BlackHat Demystifying the Secure Enclave Processor donde se analiza el firmware del mismo desde una de las actualizaciones de Apple. (también está disponible video de la charla, Demystifying the Secure Enclave Processor y el artículo con el mismo tema. Para los que os guste la ingeniería inversa, de obligada consulta.