Articulo de referencia

Criptografía de caja blanca

En criptografía , el modelo de caja blanca se refiere a un escenario de ataque extremo, en el que un adversario tiene acceso completo e irrestricto a una implementación criptogr...

En criptografía , el modelo de caja blanca se refiere a un escenario de ataque extremo, en el que un adversario tiene acceso completo e irrestricto a una implementación criptográfica, generalmente de un cifrado por bloques como el Estándar de Cifrado Avanzado (AES). Se pueden plantear diversos objetivos de seguridad (véase la sección siguiente), siendo el más fundamental la "inquebrantable", que exige que ningún atacante (limitado) pueda extraer la clave secreta codificada en la implementación, al tiempo que esta debe ser completamente funcional. Por el contrario, el modelo de caja negra solo proporciona acceso de oráculo a la primitiva criptográfica analizada (en forma de consultas de cifrado y/o descifrado). También existe un modelo intermedio, el llamado modelo de caja gris, que corresponde a una fuga de información adicional de la implementación, más conocida como fuga de canal lateral .

La criptografía de caja blanca es una práctica y un estudio de técnicas para diseñar y atacar implementaciones de caja blanca. Tiene muchas aplicaciones, incluyendo la gestión de derechos digitales (DRM), la televisión de pago , la protección de claves criptográficas en presencia de malware , [ 1 ] los pagos móviles y las carteras de criptomonedas . Ejemplos de sistemas DRM que emplean implementaciones de caja blanca incluyen CSS y Widevine .

La criptografía de caja blanca está estrechamente relacionada con las nociones más generales de ofuscación , en particular, con la ofuscación de caja negra , que se ha demostrado que es imposible, y con la ofuscación de indistinguibilidad , construida recientemente bajo supuestos bien fundamentados pero que hasta ahora ha sido inviable de implementar en la práctica. [ 2 ]

A fecha de enero de 2023, no se conocen públicamente diseños de caja blanca intactos de esquemas de cifrado simétrico estándar. Por otro lado, existen muchas implementaciones de caja blanca intactas de cifradores de bloques dedicados diseñados específicamente para lograr la incompresibilidad (véase §  Objetivos de seguridad ).

Objetivos de seguridad

Dependiendo de la aplicación, una implementación de caja blanca puede requerir diferentes objetivos de seguridad. Específicamente, para los algoritmos de clave simétrica se distinguen los siguientes: [ 3 ]

  • La inquebrantable seguridad es el objetivo fundamental, que exige que un atacante con recursos limitados no pueda recuperar la clave secreta integrada en la implementación de caja blanca. Sin este requisito, todos los demás objetivos de seguridad son inalcanzables, ya que un atacante exitoso puede simplemente usar una implementación de referencia del esquema de cifrado junto con la clave extraída.
  • La unidireccionalidad exige que una implementación de caja blanca de un esquema de cifrado no pueda ser utilizada por un atacante con recursos limitados para descifrar los textos cifrados. Este requisito convierte esencialmente un esquema de cifrado simétrico en un esquema de cifrado de clave pública , donde la implementación de caja blanca desempeña el papel de la clave pública asociada a la clave secreta incrustada. Esta idea ya fue propuesta en el famoso trabajo de Diffie y Hellman en 1976 [ 4 ] como un posible candidato para el cifrado de clave pública.
  • La seguridad contra el levantamiento de código es un requisito informal del contexto en el que se ejecuta un programa de caja blanca. Exige que un atacante no pueda extraer una copia funcional del programa. Este objetivo es particularmente relevante en entornos DRM . Para lograrlo, se suelen utilizar técnicas de ofuscación de código .
Una técnica comúnmente utilizada consiste en combinar la implementación de caja blanca con las denominadas codificaciones externas . [ 1 ] Estas son codificaciones secretas ligeras que modifican la función calculada por la parte de caja blanca de una aplicación. Es necesario que su efecto se cancele en otras partes de la aplicación de forma encubierta, utilizando técnicas de ofuscación de código . Alternativamente, las contrapartes de cancelación pueden aplicarse en un servidor remoto.
  • La incompresibilidad exige que un atacante no pueda comprimir significativamente una implementación de caja blanca determinada. Esto puede considerarse una forma de lograr la seguridad contra el levantamiento de código (véase más arriba), ya que la extracción de un programa grande de un dispositivo con recursos limitados (por ejemplo, un dispositivo integrado o móvil ) puede ser lenta y fácilmente detectable por un cortafuegos . [ 5 ]
Ejemplos de diseños incompresibles incluyen el cifrado SPACE, [ 5 ] SPNbox, [ 6 ] WhiteKey y WhiteBlock. [ 7 ] Estos cifrados utilizan grandes tablas de búsqueda que pueden generarse pseudoaleatoriamente a partir de una clave maestra secreta. Si bien esto dificulta la recuperación de la clave maestra, las tablas de búsqueda en sí mismas desempeñan el papel de una clave secreta equivalente. Por lo tanto, la inquebrantable seguridad se logra solo parcialmente.
  • La trazabilidad ( rastreo de traidores ) requiere que cada implementación distribuida de caja blanca contenga una marca de agua digital que permita identificar al usuario culpable en caso de que el programa de caja blanca se filtre y se distribuya públicamente.

Historia

El modelo de caja blanca, con los primeros intentos de implementaciones DES y AES de caja blanca , fue propuesto por primera vez por Chow, Eisen, Johnson y van Oorshot en 2003. [ 1 ] [ 8 ] Los diseños se basaban en representar el cifrado como una red de tablas de búsqueda y ofuscar dichas tablas mediante la composición de pequeñas codificaciones aleatorias (de 4 u 8 bits). Esta protección garantizaba que cada tabla ofuscada individualmente no contenía información sobre la clave secreta. Por lo tanto, un atacante potencial debía combinar varias tablas en su análisis.

Los dos primeros esquemas fueron descifrados en 2004 por Billet, Gilbert y Ech-Chatbi utilizando criptoanálisis estructural . [ 9 ] El ataque fue posteriormente denominado "el ataque BGE".

Los numerosos intentos de diseño subsiguientes (2005-2022) [ 10 ] fueron rápidamente superados por ataques prácticos específicos. [ 11 ]

En 2016, Bos, Hubain, Michiels y Teuwen demostraron que una adaptación de los ataques estándar de análisis de potencia de canal lateral puede utilizarse para romper de forma eficiente y totalmente automática la mayoría de los diseños de caja blanca existentes. [ 12 ] Este resultado creó una nueva línea de investigación sobre ataques genéricos (basados ​​en correlación, algebraicos, inyección de fallos ) y protecciones contra ellos. [ 13 ]

Competiciones

Se celebraron cuatro ediciones del concurso WhibOx en 2017, 2019, 2021 y 2024, respectivamente. Estas competiciones invitaban a diseñadores de software libre, tanto del ámbito académico como industrial, a presentar sus implementaciones en código C (posiblemente ofuscado) . Al mismo tiempo, cualquier persona podía intentar atacar estos programas y recuperar la clave secreta oculta. Cada una de estas competiciones tuvo una duración aproximada de 4 a 5 meses.

  • El desafío Capture the Flag de WhibOx 2017 / CHES 2017 se centró en el cifrado de bloques AES estándar. De las 94 implementaciones presentadas, todas fueron descifradas durante la competición, y la más fuerte se mantuvo intacta durante 28 días.
  • El desafío Capture the Flag de WhibOx 2019/CHES 2019 volvió a centrarse en el cifrado de bloques AES. De las 27 implementaciones presentadas, 3 programas permanecieron intactos durante toda la competición, pero fueron descifrados 51 días después de su publicación. [ 14 ] [ 15 ]
  • El desafío Capture the Flag de WhibOx 2024/CHES 2024 volvió a centrarse en ECDSA . De las 47 implementaciones presentadas, todas fueron vulneradas durante la competición, y la más fuerte se mantuvo intacta durante casi 5 días.

Véase también

  • Concursos de WhibOx

Referencias

  1. 1 2 3 Chow, Stanley; Eisen, Phil; Johnson, Harold; van Oorschot, Paul C. (2003). Una implementación DES de caja blanca para aplicaciones DRM . Gestión de derechos digitales. Notas de clase en informática . Vol.  2696. págs. 1–15 . doi : 10.1007/978-3-540-44993-5_1 . ISBN  978-3-540-40410-1.
  2. Jain, Aayush; Lin, Huijia ; Sahai, Amit (15 de junio de 2021). «Ofuscación de la indistinguibilidad a partir de supuestos bien fundamentados». Actas del 53.er Simposio Anual ACM SIGACT sobre Teoría de la Computación . págs. 60-73 . arXiv : 2008.09317 . doi : 10.1145/3406325.3451093 . ISBN  978-1-4503-8053-9.
  3. Delerablée, Cécile; Lepoint, Tancrède; Paillier, Pascal; Rivain, Matthieu (2014). Nociones de seguridad de caja blanca para esquemas de cifrado simétrico . SAC 2013: Áreas seleccionadas en criptografía. Lecture Notes in Computer Science . Vol. 8282. pp. 247–264 . doi : 10.1007/978-3-662-43414-7_13 . ISBN   978-3-662-43413-0.
  4. Diffie, Whitfield; Hellman, Martin (noviembre de 1976). "Nuevas direcciones en criptografía". IEEE Transactions on Information Theory . 22 (6): 644– 654. Bibcode : 1976ITIT...22..644D . doi : 10.1109/TIT.1976.1055638 .
  5. 1 2 Bogdanov, Andrey; Isobe, Takanori (12 de octubre de 2015). «Criptografía de caja blanca revisitada: cifrados difíciles de almacenar en el espacio». Actas de la 22.ª Conferencia ACM SIGSAC sobre seguridad informática y de comunicaciones . págs. 1058–1069 . doi : 10.1145/2810103.2813699 . ISBN  978-1-4503-3832-5.
  6. Bogdanov, Andrey; Isobe, Takanori; Tischhauser, Elmar (2016). «Hacia la criptografía práctica de caja blanca: optimización de la eficiencia y la resistencia espacial». Avances en criptología – ASIACRYPT 2016. Notas de clase en ciencias de la computación . Vol. 10031. págs. 126–158 . doi : 10.1007/978-3-662-53887-6_5 . ISBN   978-3-662-53886-9.
  7. Fouque, Pierre-Alain; Karpman, Pierre; Kirchner, Paul; Minaud, Brice (2016). «Primitivas de caja blanca eficientes y demostrables» . Avances en criptología – ASIACRYPT 2016. Notas de clase en ciencias de la computación . Vol. 10031. págs. 159–188 . doi : 10.1007/978-3-662-53887-6_6 . ISBN   978-3-662-53886-9.
  8. Chow, Stanley; Eisen, Philip; Johnson, Harold; Van Oorschot, Paul C. (2003). «Criptografía de caja blanca y una implementación de AES». SAC 2002: Áreas selectas en criptografía . Lecture Notes in Computer Science . Vol. 2595. pp. 250–270 . doi : 10.1007/3-540-36492-7_17 . ISBN   978-3-540-00622-0.
  9. Billet, Olivier; Gilbert, Henri; Ech-Chatbi, Charaf (2004). "Criptoanálisis de una implementación AES de caja blanca". Áreas selectas en criptografía . Notas de clase en ciencias de la computación. Vol. 3357. págs. 227–240 . doi : 10.1007/978-3-540-30564-4_16 . ISBN   978-3-540-24327-4.
  10. Bos, Joppe W.; Hubain, Charles; Michiels, Wil; Teuwen, Philippe (2016). "Análisis de computación diferencial: ocultar los diseños de caja blanca no es suficiente" . Hardware criptográfico y sistemas embebidos – CHES 2016. Notas de clase en ciencias de la computación . Vol. 9813. págs. 215–236 . doi : 10.1007/978-3-662-53140-2_11 . ISBN   978-3-662-53139-6.
  11. "Grupo de Investigación CryptoLUX. Criptografía de caja blanca. Competición WhibOx 2019" . www.cryptolux.org . Consultado el 28 de febrero de 2024 .
  12. Goubin, Louis; Rivain, Matthieu; Wang, Junwei (19 de junio de 2020). "Derrotando las contramedidas de caja blanca de última generación con ataques avanzados de caja gris". IACR Transactions on Cryptographic Hardware and Embedded Systems : 454–482 . doi : 10.13154/tches.v2020.i3.454-482 .
  13. Barbu, Guillaume; Beullens, Ward; Dottax, Emmanuelle; Giraud, Christophe; Houzelot, Agathe; Li, Chaoyun; Mahzoun, Mohammad; Ranea, Adrián; Xie, Jianrui (31 de agosto de 2022). "Implementaciones de caja blanca de ECDSA: ataques y diseños del desafío CHES 2021" . IACR Transactions on Cryptographic Hardware and Embedded Systems : 527–552 . doi : 10.46586/tches.v2022.i4.527-552 .
  14. Bauer, Sven; Drexler, Hermann; Gebhardt, Max; Klein, Dominik; Laus, Friederike; Mittmann, Johannes (31 de agosto de 2022). "Ataques contra ECDSA de caja blanca y discusión de contramedidas: un informe sobre el concurso WhibOx 2021" . IACR Transactions on Cryptographic Hardware and Embedded Systems : 25–55 . doi : 10.46586/tches.v2022.i4.25-55 .