A Deductive System for Contract Satisfaction Proofs

Este artículo presenta un sistema deductivo formalizado en el asistente de pruebas Rocq para demostrar la satisfacción de contratos de hardware-software mediante una técnica de bisimulación relativa que permite verificar de manera modular y completa la seguridad de programas frente a ataques de canal lateral.

Autores originales: Arthur Correnson, Haoyi Zeng, Jana Hofmann

Publicado 2026-04-13
📖 5 min de lectura🧠 Análisis profundo

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

Each language version is independently generated for its own context, not a direct translation.

Imagina que tienes un coche de lujo (el hardware, como el procesador de tu computadora) y un manual de usuario (el contrato de software).

El problema es que, aunque el manual diga "este coche no hace ruido cuando aceleras", en realidad, el motor podría hacer un pequeño "clic" o vibrar de forma diferente dependiendo de si estás conduciendo por una calle segura o por una zona peligrosa. Un espía (un atacante) podría escuchar ese "clic" y deduce que estás en la zona peligrosa, robando así información secreta sin entrar en el coche.

En el mundo de la ciberseguridad, esto se llama ataque por canal lateral. La información se filtra no por lo que el programa hace, sino por cómo lo hace a nivel físico (tiempos, uso de memoria, etc.).

El Problema: ¿Cómo sabemos que el manual es honesto?

Los ingenieros crean estos "manuales" (contratos) para que los programadores puedan escribir código seguro sin tener que ser expertos en mecánica de motores. Pero, ¿cómo nos aseguramos de que el manual no miente?

Antes, para probar que el manual era correcto, los ingenieros tenían dos opciones:

  1. Hacer pruebas a ciegas: Probar el coche millones de veces. Es rápido, pero podrías perder un detalle raro.
  2. Escribir una demostración matemática gigante: Un documento de 25 páginas lleno de fórmulas. Es muy seguro, pero tan denso y largo que es casi imposible de verificar sin cometer errores.

La Solución: Un "Juez Digital" Interactivo

Este artículo presenta una nueva forma de probar que el manual (contrato) es honesto respecto al coche (hardware). En lugar de escribir un documento gigante o hacer pruebas a ciegas, usan un asistente de pruebas interactivas (llamado Rocq, que es como un juez muy estricto y lógico).

Pero para que el juez entienda el caso, los autores tuvieron que inventar una nueva forma de pensar. Aquí viene la parte creativa:

1. La Analogía de los Cuatro Corredores

Imagina que quieres probar que dos corredores (el Hardware y el Contrato) son "iguales" en sus movimientos, pero bajo una condición: si el Contrato corre de la misma manera en dos situaciones diferentes, entonces el Hardware también debe correr igual.

Para probar esto, no miras a un solo corredor. Imagina que tienes cuatro corredores en una pista:

  • Corredor A y B: Son el "Contrato" (el manual) corriendo con dos datos diferentes.
  • Corredor C y D: Son el "Hardware" (el motor real) corriendo con esos mismos datos.

El objetivo es demostrar que: Si A y B corren exactamente al mismo ritmo, entonces C y D también deben correr al mismo ritmo.

2. El Reto: No van al mismo paso (Asincronía)

El problema es que el "Manual" y el "Motor" no siempre avanzan al mismo tiempo.

  • A veces, el Manual da un paso y el Motor da tres.
  • A veces, el Motor se detiene a pensar (especulación) mientras el Manual sigue avanzando.

Antes, probar esto era como intentar emparejar zapatos de diferentes tallas y colores sin una regla clara. Tenías que adivinar una "regla mágica" (una relación de simulación) al principio de todo el proceso, lo cual es muy difícil.

3. La Innovación: Construir la Regla Mientras Corres

Los autores crearon un sistema deductivo (un conjunto de reglas lógicas) que les permite construir la relación de emparejamiento paso a paso, mientras ocurre la prueba.

Imagina que estás jugando a un videojuego de puzles:

  • En lugar de tener que dibujar todo el mapa del nivel antes de empezar, el sistema te permite dar un paso, ver qué pasa, y luego decidir: "¡Ah! En este punto, el Manual y el Motor están sincronizados, así que guardo esa pista".
  • Si el Motor se adelanta, el sistema sabe que puede "saltar" pasos del Manual hasta que vuelvan a coincidir.
  • Si el Manual se adelanta, el sistema espera al Motor.

Esto se llama Bisimulación Relativa. Es como tener un juez que dice: "No necesito saber todo el camino de antemano. Solo necesito que cada vez que el Manual diga 'hago esto', el Motor pueda decir 'hago lo mismo' (o algo que parezca lo mismo), y que si el Manual se equivoca, el Motor también se equivoca de la misma manera".

¿Por qué es importante?

  1. Seguridad Real: Permite verificar matemáticamente que los procesadores modernos (que son muy complejos y hacen trucos para ir rápido) no están filtrando secretos.
  2. Modularidad: Puedes probar una parte del motor (por ejemplo, cómo maneja las predicciones de saltos) y luego probar otra parte (cómo maneja la memoria) por separado, y luego unir las pruebas. Es como armar un Lego en lugar de esculpir una estatua de mármol.
  3. Automatización: Al usar el asistente de pruebas (Rocq), el sistema verifica que cada paso de tu lógica sea correcto. Si te equivocas en un detalle, el juez te detiene inmediatamente.

En Resumen

Los autores han creado una caja de herramientas lógica que permite a los ingenieros demostrar, de forma interactiva y paso a paso, que un procesador de computadora no está "delatando" secretos a través de sus movimientos físicos.

En lugar de escribir un libro de 25 páginas que nadie entiende, ahora pueden construir una prueba como si estuvieran armando un rompecabezas interactivo, donde el sistema les asegura que cada pieza encaja perfectamente. Esto hace que la seguridad de nuestros dispositivos sea mucho más robusta y verificable.

¿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 →