Cifrado de miel

El cifrado de miel  es un tipo de cifrado simétrico en el que el texto cifrado se descifra con cualquier clave válida en texto sin formato creíble [1] .

Historial de creación

En 1999, Douglas Hoover y Nat Kausik consideraron el problema de proteger la clave privada en los criptosistemas de clave pública , en particular, el exponente secreto en RSA y la clave secreta en DSA , y propusieron un algoritmo para enmascarar este componente secreto utilizando una contraseña (seis a una cadena de ocho bits). En su artículo, argumentaron que para tales contraseñas , la búsqueda en el diccionario produciría la misma estructura que la clave privada protegida, y un atacante no sería capaz de distinguir los datos descifrados correctamente de muchos otros descifrados plausibles pero falsos hasta que intentara usar el resultado. claves para acceder al recurso que se está pirateando a través del servidor de autenticación. El servidor detectará múltiples errores de autenticación y suspenderá el acceso. Este enfoque proporciona una medida de seguridad adicional que permite, por ejemplo, reducir la dimensión del espacio de claves [2] .

Posteriormente, se han propuesto sistemas de almacenamiento de contraseñas [3] [4] que utilizan un método similar para enmascarar los datos de autenticación almacenados entre una lista de aparentemente falsos para evitar que la base de datos sea desclasificada en caso de, por ejemplo, un archivo hash de contraseñas. siendo filtrado.

Sobre la base de estos sistemas de encubrimiento, Ari Jules de la Universidad de Cornell y Thomas Ristenpart de la Universidad de Wisconsin presentaron un documento sobre el cifrado de miel en la Eurocrypt 2014 [5] .

Características del algoritmo

El cifrado Honey está diseñado para proteger contra ataques de fuerza bruta . Dichos ataques se descifran buscando entre todas las variantes posibles de la clave, lo que equivale a elegir textos sin formato aleatorios del espacio de todos los textos sin formato posibles con una distribución uniforme discreta . Esto puede ser efectivo: si bien es igualmente probable que un atacante obtenga cualquier texto sin formato posible, la mayoría de ellos son altamente improbables, en otras palabras, la distribución de textos sin formato razonables es desigual. El mecanismo de protección del método honey se basa en la transformación del espacio de los textos claros en un espacio tal que la distribución de los textos claros plausibles en él sea uniforme. Por lo tanto, un atacante que adivine claves a menudo obtendrá textos de aspecto razonable y rara vez textos de aspecto aleatorio. Esto hace que sea difícil saber si se ha adivinado la clave correcta. En esencia, el cifrado Honey produce datos falsos en respuesta a cada suposición incorrecta sobre la contraseña o la clave de cifrado [6] .

La seguridad del cifrado de miel se basa en el hecho de que la probabilidad de que un atacante considere que el texto sin formato es correcto puede calcularse (por la parte del cifrado) en el momento del cifrado. Esto dificulta el uso del cifrado de miel en ciertas aplicaciones donde el espacio de los textos sin formato es muy grande o se desconoce su distribución. También significa que el cifrado Honey puede ser vulnerable a los ataques de fuerza bruta si esta probabilidad se calcula mal. Por ejemplo, es vulnerable a ataques basados ​​en textos sin formato , si un atacante tiene una "cheat sheet", esto significa que tiene una cierta cantidad de textos sin formato y sus correspondientes textos cifrados, esto permite enumerar incluso los datos cifrados por el método honey si no estuviera presente tenido en cuenta en el cifrado [7] .

Las desventajas del algoritmo incluyen el problema de los errores tipográficos: si un usuario confiable comete un error al escribir la clave, recibirá un texto sin formato falso que parece creíble y no podrá entenderlo. También es relevante el tema de crear un mensaje falso semántica y contextualmente correcto, que será suficiente para engañar a un atacante. Los mensajes generados deben ser difíciles de distinguir de los mensajes reales, mientras que deben seguir las reglas y normas del idioma y al mismo tiempo ocultar información significativa del texto original [8] .

Cómo funciona

Tres conjuntos están involucrados en el cifrado de miel: un conjunto de todos los mensajes (espacio de mensaje), un conjunto de todas las claves (espacio de clave) y un conjunto de los llamados valores intermedios (del inglés Seed ). También una parte importante del cifrado de miel es un codificador de transformación de distribución o DTE (del inglés Distribution transforming encoder ), que consta de dos algoritmos de codificación y decodificación que establecen una conexión entre los espacios y . En la codificación, el texto sin formato se compara con un valor intermedio utilizando un DTE y luego se convierte en texto cifrado utilizando algún método de cifrado simétrico con la clave elegida. El procedimiento de decodificación con clave devuelve un valor intermedio, que luego es traducido por el DTE en un mensaje válido [9] .   

Un mensaje se puede asignar a varios valores intermedios, pero cada valor solo se asigna a un mensaje. Si son posibles múltiples valores para un mensaje, exactamente uno se selecciona al azar en el algoritmo de codificación. Así, este algoritmo de codificación es aleatorio , mientras que el algoritmo de decodificación es determinista . El número de valores que coinciden con un mensaje debe ser proporcional a su probabilidad. Así, para crear un DTE, se debe conocer la distribución discreta de la probabilidad de ocurrencia de los mensajes [10] .

Si la clave es incorrecta, el texto cifrado se compara con otro valor y, por lo tanto, se descifra en un mensaje falso [5] .

Método de construcción DTE

Se puede organizar una implementación práctica específica del esquema de encriptación miel, por ejemplo, como sigue. Todos los mensajes se clasifican en algún orden, luego se calcula la probabilidad y la función de distribución de cada mensaje. A continuación, el DTE compara el mensaje de texto abierto con un rango de valores de , donde el comienzo del rango está determinado por la función de distribución y el final está determinado por la probabilidad de este mensaje. Luego, el DTE selecciona aleatoriamente un elemento de este rango, que luego se cifra con un esquema de cifrado simétrico adecuado utilizando la clave para obtener el texto cifrado. El procedimiento de descifrado se realiza, respectivamente, de acuerdo con el mismo esquema y con el mismo . El DTE localiza entonces el valor recibido en , que corresponde al valor de probabilidad que se encuentra entre la función de distribución del mensaje deseado y el que le sigue en el espacio . Al consultar el mensaje y su tabla de coincidencias, el DTE reconstruirá el mensaje de texto original [11] .

Ejemplos

11 es el texto cifrado. Durante el descifrado, el texto cifrado se vuelve a agregar módulo 2 con la clave: Este es nuevamente un valor intermedio que luego se compara con el mensaje DTE original. El mensaje ha sido descifrado nuevamente. Si el atacante prueba una clave, digamos 00, agrega el texto cifrado con esa clave y obtiene , que se decodifica en azul. Un atacante no puede determinar si este mensaje es correcto o incorrecto [13] .

Aplicación

Diversas adaptaciones del algoritmo de encriptación honey encuentran su aplicación en el tema de la protección de datos ubicados en almacenamientos en la nube , como ejemplo, la implementación [14] de protección adicional para archivos encriptados, además de la contraseña del usuario. Si un atacante intenta obtener acceso a datos cifrados mediante fuerza bruta, en lugar de denegar el acceso, el algoritmo genera un archivo falso indistinguible asociado con el archivo original. Se ha propuesto un sistema similar para proteger las aplicaciones utilizadas en la banca por Internet [15] .

En la conferencia ICASSP 2016, se presentó el concepto de un mensajero resistente a las escuchas que crea mensajes creíbles cuando intenta atacar mensajes cifrados [16] .


Notas

  1. Juels, 2014 , pág. 60
  2. Hoover, 1999 , pág. 209.
  3. Bojinov, 2010 .
  4. Rive, 2013 .
  5. 12 de julio de 2014 .
  6. Ristenpart, 2014 , págs. 293-294.
  7. Algoritmos de cifrado Honey: seguridad que combate el ataque de fuerza bruta . rapid7 (3 de mayo de 2017). Consultado el 18 de diciembre de 2019. Archivado desde el original el 18 de diciembre de 2019.
  8. Jantan, 2019 .
  9. Ristenpart, 2014 , págs. 295, 299.
  10. Ristenpart, 2014 , págs. 298-301.
  11. Ying, 2017 .
  12. Ristenpart, 2014 , pág. 302.
  13. Juels, 2014 , pág. 61.
  14. Mok, 2017 , pág. 6-7.
  15. Samsudin, 2017 , pág. 213-214.
  16. Kim, 2016 , págs. 2185-2187.

Literatura

Enlaces