¿Cómo parte de un microprocesador (enclave seguro de Apple) utiliza un microkernel (L4)?

Por favor, disculpe mi ignorancia. Soy un tipo 'anticuado' que piensa que solo hay 'software' y 'hardware', y estas son dos cosas separadas. En esta línea de pensamiento, un sistema operativo es parte del software y un microkernel es parte del sistema operativo. (Soy consciente del debate sobre Microkernels, y cómo Linux realmente no terminó usando uno ).

También soy consciente de que puede hacer cosas bastante sorprendentes con FPGA , pero tal vez asumí que esto se limitaba a microcódigo y DSP .

Así que cuando escucho la cita:

Apple está usando el kernel L4 ... Es el microkernel en Secure Enclave

Estoy fascinado.

Soy consciente de que L4 es el micronúcleo que ha sido "correcto" según su especificación. Pero para mí, eso es parte del sistema operativo. (es decir, se cargan desde el disco a la memoria y luego las instrucciones se transfieren a la CPU a través del bus).

Mi pregunta es: ¿Cómo parte de un microprocesador (enclave seguro de Apple) usa un microkernel (L4)? (¿Es este un tipo de FPGA? ¿Lo introducen en la parte que dispone los transistores y 'incrustan' el software en silicio?)

Secure Enclave es un núcleo de CPU separado con su propia RAM, ROM, etc., que ejecuta su propio kernel separado del resto del dispositivo.
@Majenko: tu comentario parece ser la respuesta. ¿Podría poner una respuesta, entonces el OP puede "aceptarla".

Respuestas (2)

La respuesta de Majenko es correcta pero no del todo completa. Todo se basa en "TrustZone" de ARM .

Esta es una versión más fuerte del concepto normal de seguridad de "anillo 0" que se encuentra en los sistemas operativos, o un "hipervisor". Es un sistema operativo de nivel superior que arranca desde la ROM incorruptible, configura la MMU y luego arranca el sistema operativo del "usuario" (teléfono). Lo especial de la versión ARM es la protección adicional de MMU, de modo que el sistema operativo del teléfono no puede acceder a todo el hardware o la memoria.

Editar: ver http://www.google.com/patents/US8775757

Parece ser un procesador distinto dentro del SoC y la protección MMU de la "zona de confianza". Ambos procesadores tienen acceso a la memoria principal, incluido un "buzón" para la comunicación entre los dos, pero parte de la memoria está protegida contra el acceso por cualquier otra cosa que no sea el procesador de "enclave seguro".

La primera cita que no es de patente de ese documento es "ARM Security Technology Building a Secure System usando TrustZone® Technology, Copyright © 2005-2009 ARM Limited. Todos los derechos reservados, PRD29-GENC-009492C".

Entonces, ¿el micro kernel está en la ROM o se carga desde el disco?
No está muy claro en los diagramas; lo más probable es que esté firmado/cifrado y cargado desde flash. Las ROM de arranque son pequeñas e inflexibles. No habrá un disco en el sistema, esto es para teléfonos.
¿Puede señalar alguna documentación que indique que TrustZone es lo que Apple está usando en lugar de lo que sugiere @Majenko?
Ver editar. Ahora he encontrado que patente los diagramas dejan claro que el microkernel está completamente en ROM.

Secure Enclave es un núcleo de CPU separado dentro de la CPU. Tiene su propia RAM, ROM, etc. y, en consecuencia, ejecuta su propio sistema operativo independiente.

Puede considerarlo como una computadora dentro de una computadora, y esa computadora "interna" está fuertemente protegida por un firewall de la computadora "externa", por lo que solo ciertos datos pueden pasar de una a otra.

La teoría es que su información especialmente segura (datos de identificación biométricos, etc.) está solo dentro del núcleo ultra seguro y no puede acceder a nadie más.

Entonces, ¿el micro kernel está en la ROM o se carga desde el disco?