ORAM en almacenamiento en la nube y procesadores seguros
Explore las aplicaciones de ORAM en entornos de ejecución confiables (SGX, TrustZone) y bases de datos cifradas en la nube.
ORAM en almacenamiento en la nube y procesadores seguros es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.
Intel SGX y la filtración de patrones de acceso
Intel SGX (Software Guard Extensions) proporciona enclaves aislados por hardware en los que el código y los datos están cifrados y autenticados. Sin embargo, el sistema operativo todavía puede observar a qué páginas de memoria accede el enclave mediante la supervisión de las entradas de la tabla de páginas. Este patrón de acceso a nivel de página puede aprovecharse en ataques de canal lateral. Un ataque clásico es el «controlled channel attack» de Xu, Cui y Peinado (2015), que reconstruyó claves RSA a partir de los patrones de acceso a la memoria de SGX.
Canales laterales de temporización de caché en SGX
Además de los patrones de acceso a nivel de página, SGX es vulnerable a canales laterales de temporización de caché. Un atacante que comparte el procesador puede observar los aciertos y fallos de caché causados por el enclave e inferir patrones de acceso detallados (a nivel de línea de caché). Estos ataques son posibles porque la caché de la CPU se comparte entre el enclave y el código no confiable. Entre las medidas de mitigación se incluyen la programación en tiempo constante y ORAM para aleatorizar los patrones de acceso a la memoria.
ZeroTrace: ORAM dentro de SGX
ZeroTrace (Sasy, Jha, Kerschbaum, 2018) implementa Path ORAM dentro de un enclave Intel SGX para proporcionar acceso a memoria con ocultación de patrones. El sistema operativo anfitrión no confiable proporciona el servidor ORAM (el árbol binario de buckets), mientras que el enclave SGX actúa como cliente ORAM. ZeroTrace añade una optimización específica para SGX: el mapa de posiciones se mantiene dentro del enclave (memoria confiable), lo que elimina la necesidad de utilizar ORAM recursivo para dicho mapa.
Integración de ORAM con Graphene-SGX y SCONE
Graphene-SGX (ahora Gramine) y SCONE son frameworks de contenedores SGX que permiten ejecutar aplicaciones Linux sin modificar dentro de enclaves. Ambos frameworks se han ampliado con compatibilidad con ORAM para ocultar los patrones de acceso al sistema operativo. La integración de ORAM con SCONE permite la ejecución con ocultación de patrones de programas de Python, Go y Java en SGX sin modificar el código, lo que hace que ORAM esté disponible para aplicaciones sin integración manual.
Shroud: estructuras de datos con acceso oculto para SGX
Shroud (Volos, Jaleel, Emer, Burtscher, Forlin, 2018) implementa versiones con acceso oculto de estructuras de datos fundamentales (matrices, pilas, colas y mapas) para su uso dentro de enclaves SGX. Shroud combina ORAM con algoritmos independientes de los datos para garantizar que los patrones de acceso a la memoria del enclave no dependan de los valores de los datos. Esto es más eficiente que aplicar ORAM a toda la memoria de la aplicación, ya que se centra únicamente en las estructuras de datos confidenciales.
AWS Nitro Enclaves y la confidencialidad de la memoria
AWS Nitro Enclaves proporciona entornos de cómputo aislados para procesar datos altamente confidenciales (números de tarjetas de pago y registros sanitarios). A diferencia de SGX, Nitro Enclaves aísla a nivel de máquina virtual en lugar de a nivel de proceso. AWS no proporciona ORAM de forma predeterminada en Nitro Enclaves, pero las garantías de confidencialidad cubren el contenido de la memoria. Para proteger la privacidad de los patrones de acceso, las aplicaciones que se ejecuten en Nitro Enclaves deben implementar su propio ORAM si lo necesitan.
Aplicaciones de ORAM en ARM TrustZone
ARM TrustZone proporciona un entorno de ejecución confiable (Secure World) aislado del sistema operativo normal. Al igual que SGX, TrustZone no oculta inherentemente los patrones de acceso a la memoria. Sistemas de investigación como TrustORAM (Brasser, Dmitrienko, Sadeghi, Crane, Larsen, Franz) implementan ORAM dentro de TrustZone para proteger el acceso a datos confidenciales en dispositivos móviles y de IoT. TrustZone está presente en todos los procesadores ARM modernos, lo que permite implementar ampliamente TrustZone con ORAM.
ObliDB y Opaque: bases de datos con ocultación de patrones de acceso
ObliDB (Eskandarian y Boneh, 2017) es una base de datos con ocultación de patrones de acceso que oculta los patrones de acceso de las consultas SQL estándar. Utiliza ORAM para las consultas puntuales y ordenación con ocultación de patrones para las consultas por rango. Opaque (Zheng, Dave, Beekman, Popa, Hellerstein, Stoica, 2017) ejecuta consultas SQL de forma que no revele los patrones de acceso sobre Apache Spark mediante Intel SGX y ORAM. Opaque demuestra que el análisis de datos a escala de producción (millones de registros) es viable con la sobrecarga de ORAM.
Recuperación privada de información
La recuperación privada de información (PIR) es una primitiva relacionada para ocultar los patrones de acceso de solo lectura. PIR permite que un cliente recupere un elemento de una base de datos sin que el servidor sepa qué elemento se ha recuperado. La PIR computacional (cPIR) logra esto con una sobrecarga de almacenamiento del servidor de O(1) y una comunicación de O(sqrt(n)) u O(polylog n). PIR es más eficiente que ORAM para cargas de trabajo de solo lectura, pero no puede admitir escrituras con ocultación de patrones de acceso.
Compromisos entre ORAM y PIR
Para accesos de solo lectura, PIR es más eficiente en cuanto a comunicación que ORAM: la cPIR de un solo servidor requiere una comunicación de O(n^epsilon), mientras que ORAM requiere O(log n) bloques por acceso. Sin embargo, PIR requiere computación en el lado del servidor (lineal respecto al tamaño de la base de datos en la PIR de un solo servidor), mientras que ORAM deja toda la computación en el cliente. La PIR multiservidor (segura desde el punto de vista teórico de la información con 2 servidores que no coluden) es muy eficiente y adecuada para implementaciones en CDN.
Líneas futuras de investigación para ORAM
Entre las líneas de investigación en ORAM se incluyen reducir la sobrecarga de comunicación hasta acercarse a la cota inferior teórica de O(log n) (OptORAMa la alcanza asintóticamente), aplicar ORAM a la RAM cuántica (QRAM), desarrollar ORAM diferencialmente privado (ocultando si se accede dos veces al mismo bloque) y utilizar ORAM en el cifrado homomórfico (FHE-ORAM para computación externalizada). La integración de ORAM con entornos de ejecución confiables basados en hardware sigue siendo la línea de investigación con mayor impacto práctico.
Cuestionario sobre los patrones de acceso de SGX
¿Por qué Intel SGX por sí solo no protege completamente frente a la filtración de patrones de acceso?
Resumen de ORAM en el almacenamiento en la nube y los procesadores seguros
Intel SGX filtra los patrones de acceso a nivel de página y de caché, lo que permite ataques de canal controlado y de temporización de caché. ZeroTrace implementa Path ORAM dentro de SGX para eliminar estas filtraciones. Graphene-SGX y SCONE proporcionan integración de ORAM a nivel de contenedor. ObliDB y Opaque demuestran SQL con ocultación de patrones de acceso sobre ORAM a escala de producción. PIR es una alternativa eficiente para accesos de solo lectura. La investigación sobre ORAM continúa orientándose hacia la cota inferior de comunicación de log n y su integración con el cifrado homomórfico.
Preguntas frecuentes
¿La lección «ORAM en almacenamiento en la nube y procesadores seguros» es gratis?
Sí — el texto completo de «ORAM en almacenamiento en la nube y procesadores seguros» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.
¿Qué aprenderé en «ORAM en almacenamiento en la nube y procesadores seguros»?
Explore las aplicaciones de ORAM en entornos de ejecución confiables (SGX, TrustZone) y bases de datos cifradas en la nube. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cryptology Academy?
No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «ORAM en almacenamiento en la nube y procesadores seguros»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?
Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- La amenaza de la filtración de patrones de acceso
- Path ORAM: ocultación de accesos a memoria
- Circuit ORAM y rendimiento práctico
- ORAM en almacenamiento en la nube y procesadores seguros