El cifrado Honey es un tipo de cifrado de datos que "produce un texto cifrado que, cuando se descifra con una clave incorrecta, tal como la adivina el atacante, presenta una contraseña o clave de cifrado en texto simple de apariencia plausible pero incorrecta". [1]
Ari Juels y Thomas Ristenpart de la Universidad de Wisconsin , los desarrolladores del sistema de cifrado, presentaron un artículo sobre el cifrado Honey en la conferencia de criptografía Eurocrypt de 2014. [2] [3]
Un ataque de fuerza bruta implica el descifrado repetido con claves aleatorias; esto es equivalente a elegir textos simples aleatorios del espacio de todos los textos simples posibles con una distribución uniforme . Esto es efectivo porque, aunque el atacante tiene la misma probabilidad de ver cualquier texto simple dado, es extremadamente improbable que la mayoría de los textos simples sean legítimos, es decir, la distribución de textos simples legítimos no es uniforme. El cifrado Honey derrota tales ataques transformando primero el texto simple en un espacio tal que la distribución de textos simples legítimos sea uniforme. Por lo tanto, un atacante que adivine las claves verá textos simples de apariencia legítima con frecuencia y textos simples de apariencia aleatoria con poca frecuencia. Esto dificulta determinar cuándo se ha adivinado la clave correcta. En efecto, el cifrado Honey "[sirve] datos falsos en respuesta a cada intento incorrecto de adivinar la contraseña o la clave de cifrado". [2]
La seguridad del cifrado Honey se basa en el hecho de que la probabilidad de que un atacante juzgue que un texto simple es legítimo puede calcularse (por la parte que cifra) en el momento del cifrado. Esto hace que el cifrado Honey sea difícil de aplicar en ciertas aplicaciones, por ejemplo, cuando el espacio de textos simples es muy grande o la distribución de los textos simples es desconocida. También significa que el cifrado Honey puede ser vulnerable a ataques de fuerza bruta si esta probabilidad se calcula mal. Por ejemplo, es vulnerable a ataques de texto simple conocido : si el atacante tiene una cuna con la que un texto simple debe coincidir para ser legítimo, podrá forzar la legitimación incluso de los datos cifrados Honey si el cifrado no tuvo en cuenta la cuna.
Un número de tarjeta de crédito cifrado es susceptible a ataques de fuerza bruta porque no todas las cadenas de dígitos tienen la misma probabilidad. La cantidad de dígitos puede variar entre 13 y 19, aunque 16 es el más común. Además, debe tener un IIN válido y el último dígito debe coincidir con la suma de comprobación . Un atacante también puede tener en cuenta la popularidad de varios servicios: un IIN de MasterCard es probablemente más probable que un IIN de Diners Club Carte Blanche .
El cifrado Honey puede proteger contra estos ataques al asignar primero los números de tarjetas de crédito a un espacio más grande donde coincidan con su probabilidad de legitimidad. Los números con IIN y sumas de comprobación no válidos no se asignan en absoluto (es decir, tienen una probabilidad de legitimidad de 0). Los números de grandes marcas como MasterCard y Visa se asignan a grandes regiones de este espacio, mientras que las marcas menos populares se asignan a regiones más pequeñas, etc. Un atacante que aplique fuerza bruta a un esquema de cifrado de este tipo solo vería números de tarjetas de crédito que parecen legítimos cuando los aplique por fuerza bruta, y los números aparecerían con la frecuencia que el atacante esperaría del mundo real.
Juels y Ristenpart pretenden utilizar el cifrado honey para proteger los datos almacenados en los servicios de gestión de contraseñas. Juels afirmó que "los gestores de contraseñas son un objetivo atractivo para los delincuentes" y teme que "si los delincuentes consiguen hacerse con una gran colección de bóvedas de contraseñas cifradas, probablemente podrían desbloquear muchas de ellas sin demasiados problemas".
Hristo Bojinov, director ejecutivo y fundador de Anfacto, señaló que "Honey Encryption podría ayudar a reducir su vulnerabilidad. Pero advierte que no todos los tipos de datos serán fáciles de proteger de esta manera... No todos los sistemas de autenticación o cifrado se prestan a ser encriptados". [2]