El chip OpenTitan de código abierto reemplazará las raíces de confianza patentadas de Intel y ARM

El chip OpenTitan de código abierto reemplazará las raíces de confianza patentadas de Intel y ARM

Organización sin ánimo de lucro bajoRISC con Google y otros patrocinadores 5 de noviembre de 2019 presentado proyecto AbiertoTitan, que lo denomina "el primer proyecto de código abierto para crear una arquitectura de chip abierta y de alta calidad con una raíz de confianza (RoT) a nivel de hardware".

OpenTitan basado en la arquitectura RISC-V es un chip especial para su instalación en servidores en centros de datos y en cualquier otro equipo donde sea necesario garantizar la autenticidad del arranque, proteger el firmware de cambios y eliminar la posibilidad de rootkits: se trata de placas base, tarjetas de red, enrutadores, dispositivos IoT, dispositivos móviles, etc.

Por supuesto, existen módulos similares en los procesadores modernos. Por ejemplo, el módulo Intel Hardware Boot Guard es la raíz de confianza en los procesadores Intel. Verifica la autenticidad del UEFI BIOS a través de una cadena de confianza antes de cargar el sistema operativo. Pero la pregunta es: ¿cuánto podemos confiar en las raíces de confianza patentadas, dado que no tenemos garantía de que no habrá errores en el diseño y no hay forma de comprobarlo? Ver artículo “Descarga confiable de Schrödinger. Protector de arranque Intel" con una descripción de “cómo un error que ha sido clonado durante años en la producción de varios proveedores permite a un atacante potencial utilizar esta tecnología para crear un rootkit oculto en el sistema que no se puede eliminar (ni siquiera con un programador).

La amenaza de comprometer los equipos en la cadena de suministro es sorprendentemente real: aparentemente, cualquier ingeniero electrónico aficionado puede soldar un error en la placa base del servidorutilizando equipos que no cuesten más de $200. Algunos expertos sospechan que "las organizaciones con presupuestos de cientos de millones de dólares podrían estar haciendo esto durante muchos años". Aunque no hay evidencia, es teóricamente posible.

"Si no puedes confiar en el gestor de arranque de hardware, se acabó el juego". dice Gavin Ferris, miembro de la junta directiva de lowRISC. - No importa lo que haga el sistema operativo; si cuando se carga el sistema operativo estás comprometido, el resto es cuestión de técnica. Ya has terminado."

Este problema debería resolverse con la primera plataforma de hardware abierta de su tipo, OpenTitan (repositorio de GitHub, la documentación, especificaciones de hardware). Alejarse de las soluciones patentadas ayudará a cambiar la “lenta y defectuosa industria RoT”, dice Google.

La propia Google comenzó a desarrollar Titan después de descubrir el sistema operativo Minix integrado en los chips Intel Management Engine (ME). Este complejo sistema operativo amplió la superficie de ataque de formas impredecibles e incontrolables. Google Intenté deshacerme de Intel Management Engine (ME), pero sin éxito.

¿Cuál es la raíz de la confianza?

Cada etapa del proceso de arranque del sistema verifica la autenticidad de la siguiente etapa, generando así cadena de confianza.

Root of Trust (RoT) es una autenticación basada en hardware que garantiza que la fuente de la primera instrucción ejecutable en la cadena de confianza no se pueda cambiar. RoT es la protección básica contra rootkits. Esta es una etapa clave del proceso de arranque, que participa en el posterior inicio del sistema, desde el BIOS hasta el sistema operativo y las aplicaciones. Debe verificar la autenticidad de cada paso de descarga posterior. Para ello, en cada etapa se utiliza un conjunto de claves firmadas digitalmente. Uno de los estándares más populares para la protección de claves de hardware es TPM (Trusted Platform Module).

El chip OpenTitan de código abierto reemplazará las raíces de confianza patentadas de Intel y ARM
Establecer una raíz de confianza. Arriba hay un proceso de arranque de cinco pasos que crea una cadena de confianza, comenzando con el gestor de arranque en la memoria inmutable. Cada paso utiliza una clave pública para verificar la identidad del siguiente componente que se cargará. Ilustración del libro de Perry Lee. "Arquitectura del Internet de las Cosas"

RoT se puede iniciar de diferentes formas:

  • cargar la imagen y la clave raíz desde el firmware o la memoria inmutable;
  • almacenar la clave raíz en una memoria programable de una sola vez usando bits fusibles;
  • Cargar código desde un área de memoria protegida a un almacenamiento protegido.

Los distintos procesadores implementan la raíz de confianza de forma diferente. Intel y brazo
Soporta las siguientes tecnologías:

  • ARM TrustZone. ARM vende un bloque de silicio patentado a los fabricantes de chips que proporciona una raíz de confianza y otros mecanismos de seguridad. Esto separa el microprocesador del núcleo inseguro; ejecuta Trusted OS, un sistema operativo seguro con una interfaz bien definida para interactuar con componentes inseguros. Los recursos protegidos residen en el núcleo confiable y deben ser lo más livianos posible. El cambio entre componentes de diferentes tipos se realiza mediante cambio de contexto de hardware, lo que elimina la necesidad de un software de monitoreo seguro.
  • Protector de arranque Intel es un mecanismo de hardware para verificar la autenticidad del bloque de arranque inicial por medios criptográficos o mediante un proceso de medición. Para verificar el bloque inicial, el fabricante debe generar una clave de 2048 bits, que consta de dos partes: pública y privada. La clave pública se imprime en la placa mediante la "detonación" de mechas durante la fabricación. Estos bits son de un solo uso y no se pueden cambiar. La parte privada de la clave genera una firma digital para la posterior autenticación de la etapa de descarga.

La plataforma OpenTitan expone partes clave de dicho sistema de hardware/software, como se muestra en el siguiente diagrama.

El chip OpenTitan de código abierto reemplazará las raíces de confianza patentadas de Intel y ARM

Plataforma OpenTitan

El desarrollo de la plataforma OpenTitan está gestionado por la organización sin fines de lucro lowRISC. El equipo de ingeniería tiene su sede en Cambridge (Reino Unido) y el patrocinador principal es Google. Los socios fundadores incluyen ETH Zurich, G+D Mobile Security, Nuvoton Technology y Western Digital.

Google publicó un anuncio proyecto en el blog corporativo de Google Open Source. La compañía dijo que OpenTitan se compromete a "proporcionar orientación de alta calidad sobre el diseño y la integración de RoT para su uso en servidores de centros de datos, almacenamiento, dispositivos de borde y más".

La raíz de confianza es el primer eslabón de la cadena de confianza en el nivel más bajo de un módulo informático confiable, en el que el sistema siempre confía plenamente.

RoT es fundamental para aplicaciones que incluyen infraestructuras de clave pública (PKI). Es la base del sistema de seguridad en el que se basa un sistema complejo como una aplicación de IoT o un centro de datos. Entonces está claro por qué Google apoya este proyecto. Ahora cuenta con 19 centros de datos en los cinco continentes. Los centros de datos, el almacenamiento y las aplicaciones de misión crítica presentan una amplia superficie de ataque y, para proteger esta infraestructura, Google desarrolló inicialmente su propia raíz de confianza en el chip Titan.

Chip Titán patentado para los centros de datos de Google se introdujo por primera vez en marzo de 2017 en la conferencia Google Cloud Next. “Nuestras computadoras realizan controles criptográficos en cada paquete de software y luego deciden si le otorgan acceso a los recursos de la red. Titan se integra en este proceso y ofrece capas adicionales de protección”, dijeron representantes de Google en esa presentación.

El chip OpenTitan de código abierto reemplazará las raíces de confianza patentadas de Intel y ARM
Chip Titan en el servidor de Google

La arquitectura Titan anteriormente era propiedad de Google, pero ahora se está haciendo de dominio público como un proyecto de código abierto.

La primera etapa del proyecto es la creación de un diseño RoT lógico a nivel de chip, que incluye un microprocesador de código abierto. ibex bajo RISC, procesadores criptográficos, generador de números aleatorios de hardware, jerarquías de claves y memoria para almacenamiento no volátil y no volátil, mecanismos de seguridad, periféricos de E/S y procesos de arranque seguros.

Google dice que OpenTitan se basa en tres principios clave:

  • todos tienen la oportunidad de visitar la plataforma y contribuir;
  • mayor flexibilidad al abrir un diseño lógicamente seguro que no está bloqueado por restricciones de proveedores propietarios;
  • Calidad garantizada no sólo por el diseño en sí, sino también por el firmware y la documentación de referencia.

“Los chips actuales con raíces de confianza son muy propietarios. Afirman ser seguros, pero en realidad lo das por sentado y no puedes verificarlo tú mismo, dice Dominic Rizzo, especialista principal en seguridad del proyecto Google Titan. “Ahora, por primera vez, es posible brindar seguridad sin fe ciega en los desarrolladores de un diseño propietario de raíz de confianza. Así que la base no sólo es sólida, sino que puede verificarse”.

Rizzo añadió que OpenTitan puede considerarse "un diseño radicalmente transparente en comparación con el estado actual de las cosas".

Según los desarrolladores, OpenTitan no debería considerarse en modo alguno un producto terminado, ya que el desarrollo aún no ha finalizado. Deliberadamente abrieron las especificaciones y el diseño a mitad del desarrollo para que todos pudieran revisarlo, proporcionar comentarios y mejorar el sistema antes de que comenzara la producción.

Para comenzar a producir chips OpenTitan, debe presentar una solicitud y obtener la certificación. Al parecer, no se requieren regalías.

Fuente: habr.com

Añadir un comentario