← Últimos artículos
💻 computer science

Granite: A Modular Methodology for Foundational Verification of Hardware-Software Leakage Contracts

Granite introduce una metodología modular y fundacional que verifica tanto la corrección funcional como la no filtración de procesadores RTL al establecer la equivalencia de traza con contratos de filtración de ISA deterministas, permitiendo así la composición de pruebas de hardware y software para eliminar las especificaciones intermedias de la base de computación confiable.

Autores originales: Stella Lau, Andres Erbsen, Adam Chlipala

Publicado 2026-07-31
📖 7 min de lectura🧠 Análisis profundo

Autores originales: Stella Lau, Andres Erbsen, Adam Chlipala

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que estás construyendo un coche de carreras superrápido. Quieres que sea increíblemente veloz, así que le añades turbocompresores, dirección predictiva y un sistema que adivina qué curva tomarás después. Pero hay un inconveniente: si el motor del coche hace un "clac" específico solo cuando giras a la izquierda, un espía sigiloso que escucha desde los laterales podría averiguar toda tu ruta simplemente por el ruido. En el mundo de los chips informáticos, esto se llama un "canal lateral de tiempo". Durante años, los programadores intentaron escribir código que tardara exactamente la misma cantidad de tiempo sin importar qué datos secretos estuviera manejando, como un espía que intenta caminar por un pasillo sin hacer ruido. Pero a medida que los chips se volvieron más rápidos e inteligentes, empezaron a generar ruidos diminutos e impredecibles —como una pausa repentina para mirarse en un espejo o un estallido de velocidad— que accidentalmente revelaban secretos. Este artículo aborda la aterradora idea de que, incluso si tu código es perfecto, el propio hardware podría estar filtrando tus secretos a través del mismísimo ritmo de su latido.

Los investigadores detrás de este trabajo, conocidos como Granite, han construido una nueva forma de demostrar matemáticamente que un chip informático mantiene sus secretos a salvo. No se limitaron a suponer o realizar pruebas; crearon un argumento matemático riguroso y paso a paso que conecta las reglas de alto nivel sobre cómo debería comportarse un ordenador (el "Conjunto de Instrucciones") hasta llegar a los diminutos cables y transistores (el "RTL"). Su principal hallazgo es un método para demostrar que el tiempo de un chip está determinado únicamente por cosas que se permiten que sean públicas, como qué botón se presionó, y nunca por los datos secretos que está procesando, como una contraseña o una clave de cifrado. Descartan explícitamente la idea de que puedes confiar en un chip solo porque "parece correcto" o porque pasó las pruebas estándar; demuestran que, sin este tipo de prueba específica, la existencia de filtraciones ocultas es casi garantizada. No solo sugieren que esto funciona; lo han probado formalmente para un diseño de procesador que fue sintetizado con éxito para una FPGA, aunque aún no se ha integrado en un sistema completo en chip (SoC) para pruebas post-síntesis.

La Gran Historia del Detective de Chips

Piensa en un procesador de ordenador como una cocina bulliciosa y caótica en un restaurante de alta gama. Los chefs (el hardware) están preparando platos (ejecutando programas) para los clientes. El "Conjunto de Arquitectura de Instrucciones" (ISA) es el menú y el libro de recetas. Le dice a la cocina: "Si recibes un pedido de una hamburguesa, debes servir eventualmente una hamburguesa". Pero el menú no dice cuánto tiempo tarda en hacerse la hamburguesa, ni cuándo agarra el chef el cuchillo.

En los viejos tiempos, se les decía a los chefs que fueran de "tiempo constante". Esto significaba que debían picar las verduras exactamente a la misma velocidad, ya fuera que el cliente pidiera una ensalada o un filete, para que un espía observando desde la ventana no pudiera deducir qué se estaba cocinando por el ritmo del picado. Pero entonces, la cocina se volvió demasiado rápida. Los chefs empezaron a usar la "especulación": adivinaban qué quería el cliente y empezaban a picar cebollas antes de que el pedido fuera confirmado. Si fallaban en su suposición, tiraban las cebollas y empezaban de nuevo. Este juego de adivinanzas creó nuevos ruidos accidentales: el tiempo que tardaban en darse cuenta de un error, o el tiempo que tardaban en agarrar una especia específica, empezó a filtrar información. Un espía podría escuchar la cocina y deducir: "Ah, el chef vaciló durante 0,0001 segundos; ¡debe de estar cocinando algo con cebollas secretas!".

Entra Granite, el inspector de cocina definitivo. Granite no se limita a observar a los chefs; reescribe las reglas de la cocina para asegurar que ningún secreto pueda escapar a través del tiempo de picado.

La Magia del "Chef Sombra"

La genialidad de Granite reside en un truco ingenioso que involucra a un "Chef Sombra". Imagina que tienes al chef real, que conoce todas las recetas secretas (los datos secretos). También tienes a un chef sombra que lleva los ojos vendados y solo conoce las partes públicas del pedido (los datos públicos).

El método de Granite dice: "Demostraremos que el chef real y el chef sombra se mueven en perfecta sincronía". Si el chef real tarda 5 segundos en picar una cebolla porque la cebolla era grande, el chef sombra también debe tardar exactamente 5 segundos, aunque el chef sombra no sepa que la cebolla era grande. El tiempo del chef sombra se rige únicamente por el pedido público. Si el tiempo del chef real dependiera alguna vez de un secreto (como el tipo de cebolla), los dos chefs perderían la sincronía y la prueba fallaría.

Para que esto funcione, Granite introduce un "Driver" (Conductor) y un "Witness" (Testigo).

  • El Driver es como un metrónomo que solo escucha el pedido público. Decide cuándo la cocina debe avanzar, asegurando que el tiempo de las acciones de la cocina esté dictado solo por lo que el cliente quiere que se sepa, no por los ingredientes secretos.
  • El Witness es un marcador de posición para las partes desordenadas e impredecibles de la cocina (como un retraso aleatorio porque una sartén estaba caliente). El Witness dice: "Está bien, no nos importa exactamente qué sucede aquí, siempre y que no dependa del secreto".

Al demostrar que la cocina real se comporta exactamente como una cocina dirigida por el Driver y el Witness, Granite demuestra que el ritmo de la cocina (el tiempo) no puede, en absoluto, revelar los ingredientes secretos.

El Rompecabezas Modular

Una de las partes más difíciles de revisar toda una cocina es que es demasiado grande para mirarla toda a la vez. Granite resuelve esto dividiendo la cocina en pequeñas estaciones independientes: la estación de picado, la estación de parrilla, la estación de emplatado.

Granite demuestra que cada estación es segura por sí misma. Por ejemplo, se comprueba la estación del "Multiplicador" (que hace cálculos) para asegurar que, si tarda más en multiplicar dos números, es solo porque los números eran cero (lo cual está permitido saberlo), no debido a algún valor secreto. Una vez que cada una de las estaciones se demuestra segura, Granite las ensambla como piezas de Lego. Debido a que la prueba es "modular", si cambias la estación de la parrilla por una más rápida, no tienes que volver a comprobar toda la cocina; solo compruebas la nueva estación y todo el sistema sigue siendo seguro.

El Veredicto Final

Los investigadores no solo hablaron de esto; construyeron un diseño de procesador y ejecutaron su prueba en él. Tomaron un software que ya era conocido por ser de "tiempo constante" (un programa criptográfico llamado Salsa20) y demostraron que, cuando se ejecuta en su diseño de procesador, no filtra absolutamente ningún secreto a través del tiempo.

Esto es algo importante porque cambia lo que necesitas confiar. Normalmente, tienes que confiar en un contrato complejo entre el software y el hardware. Granite demuestra que, si conectas su prueba de hardware con una prueba de software verificada, el propio contrato de hardware-software puede eliminarse de la lista de elementos en los que se debe confiar. Sin embargo, la prueba todavía depende de algunos componentes centrales, como la definición formal del contrato del Conjunto de Instrucciones y la herramienta que traduce el código en una descripción de hardware, que permanecen en la "Base de Computación Confiable" (Trusted Computing Base). Incluso encontraron un error en su propio diseño: se dieron cuenta de que escribir en ciertos interruptores de control (CSR) podía filtrar información, y lo arreglaron antes de que la prueba estuviera completa.

En resumen, Granite es una nueva forma de construir chips informáticos que garantizan matemáticamente que mantendrán sus secretos, incluso cuando funcionan rápido, hacen conjeturas y generan ruido. Convierte la cocina caótica y ruidosa de la informática moderna en una fortaleza silenciosa que guarda secretos, demostrando que puedes tener velocidad y seguridad al mismo tiempo.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →