Una cadena hash es la aplicación sucesiva de una función hash criptográfica a un dato. En seguridad informática , una cadena hash es un método para producir muchas claves de un solo uso a partir de una sola clave o contraseña . Para el no repudio , se puede aplicar una función hash sucesivamente a datos adicionales para registrar la cronología de la existencia de los datos.
Definición
Una cadena hash es una aplicación sucesiva de una función hash criptográfica a una cuerda .
Por ejemplo,
da una cadena hash de longitud 4, a menudo denotada
Aplicaciones
Leslie Lamport [1] sugirió el uso de cadenas hash como esquema de protección con contraseña en un entorno inseguro. Un servidor que necesita proporcionar autenticación puede almacenar una cadena de hash en lugar de una contraseña de texto sin formato y evitar el robo de la contraseña en la transmisión o el robo del servidor. Por ejemplo, un servidor comienza almacenandoque es proporcionado por el usuario. Cuando el usuario desea autenticarse, proporcionaal servidor. El servidor calculay verifica que coincida con la cadena hash que ha almacenado. Luego almacena para la próxima vez que el usuario desee autenticarse.
Un fisgón viendo comunicado al servidor no podrá retransmitir la misma cadena hash al servidor para la autenticación, ya que el servidor ahora espera. Debido a la propiedad unidireccional de las funciones hash criptográficamente seguras , no es factible que el fisgón invierta la función hash y obtenga una parte anterior de la cadena hash. En este ejemplo, el usuario podría autenticarse 1000 veces antes de que se agotara la cadena hash. Cada vez, el valor hash es diferente y, por lo tanto, un atacante no puede duplicarlo.
Cadenas de hash binarias
Las cadenas de hash binarias se utilizan comúnmente en asociación con un árbol de hash . Una cadena hash binaria toma dos valores hash como entradas, los secuencia y aplica una función hash al resultado, produciendo así un tercer valor hash.
El diagrama anterior muestra un árbol hash que consta de ocho nodos de hoja y la cadena de hash para el tercer nodo de hoja. Además de los propios valores hash, el orden de concatenación (derecha o izquierda 1,0) o "bits de orden" son necesarios para completar la cadena hash.
Cadena hash vs blockchain
Una cadena hash es similar a una cadena de bloques , ya que ambas utilizan una función hash criptográfica para crear un enlace entre dos nodos. Sin embargo, una cadena de bloques (como la usan Bitcoin y sistemas relacionados) generalmente está destinada a respaldar el consenso distribuido en torno a un libro mayor público (datos) e incorpora un conjunto de reglas para la encapsulación de datos y los permisos de datos asociados.
Ver también
- Autenticación de desafío-respuesta
- Lista hash : a diferencia de la estructura recursiva de las cadenas hash, los elementos de una lista hash son independientes entre sí.
- Contraseña de un solo uso
- Estiramiento clave
- Sellado de tiempo vinculado : las cadenas de hash binarias son un componente clave en el sellado de tiempo vinculado.
- X.509