stringtranslate.com

nonce criptográfico

Comunicación cliente-servidor típica durante un proceso de autenticación basado en nonce que incluye tanto un nonce de servidor como un nonce de cliente

En criptografía , un nonce es un número arbitrario que se puede utilizar una sola vez en una comunicación criptográfica. [1] A menudo es un número aleatorio o pseudoaleatorio emitido en un protocolo de autenticación para garantizar que las comunicaciones antiguas no se puedan reutilizar en ataques de repetición . También pueden ser útiles como vectores de inicialización y en funciones hash criptográficas .

Definición

Un nonce es un número arbitrario que se utiliza sólo una vez en una comunicación criptográfica, en el espíritu de una palabra nonce . Suelen ser números aleatorios o pseudoaleatorios . Muchos nonces también incluyen una marca de tiempo para garantizar la puntualidad exacta, aunque esto requiere sincronización de reloj entre organizaciones. La adición de un cliente nonce (" cnonce ") ayuda a mejorar la seguridad de alguna manera, tal como se implementa en la autenticación de acceso implícito . Para garantizar que un nonce se use solo una vez, debe ser variable en el tiempo (incluida una marca de tiempo adecuadamente detallada en su valor) o generarse con suficientes bits aleatorios para garantizar una probabilidad insignificante de repetir un valor generado previamente. Algunos autores definen la pseudoaleatoriedad (o imprevisibilidad) como un requisito para un nonce. [2]

Nonce es una palabra que se remonta al inglés medio para algo que sólo se usa una vez o temporalmente (a menudo con la construcción "for the nonce"). Desciende de la construcción "entonces anes" ("el único [finalidad]"). [3] Una etimología falsa que afirma que significa "número usado una vez" es incorrecta. [4] En Gran Bretaña el término puede evitarse ya que "nonce" en inglés británico moderno significa pedófilo. [3] [5]

Uso

Autenticación

Los protocolos de autenticación pueden utilizar nonces para garantizar que las comunicaciones antiguas no puedan reutilizarse en ataques de repetición . Por ejemplo, los nonces se utilizan en la autenticación de acceso de resumen HTTP para calcular un resumen MD5 de la contraseña . Los nonces son diferentes cada vez que se presenta el código de respuesta al desafío de autenticación 401, lo que hace que los ataques de repetición sean prácticamente imposibles. El escenario de pedir productos a través de Internet puede proporcionar un ejemplo de la utilidad de los nonces en los ataques de repetición. Un atacante podría tomar la información cifrada y, sin necesidad de descifrarla, podría continuar enviando un pedido particular al proveedor, ordenando así productos una y otra vez con el mismo nombre e información de compra. El nonce se utiliza para dar "originalidad" a un mensaje determinado, de modo que si la empresa recibe otros pedidos de la misma persona con el mismo nonce, los descartará como pedidos no válidos.

Se puede utilizar un nonce para garantizar la seguridad de un cifrado de flujo . Cuando se usa la misma clave para más de un mensaje y luego se usa un nonce diferente para garantizar que el flujo de claves sea diferente para diferentes mensajes cifrados con esa clave; a menudo se utiliza el número de mensaje.

El esquema de firma Lamport utiliza los valores secretos nonce como un secreto del lado del firmante que puede revelarse selectivamente para compararlo con hashes públicos para la creación y verificación de firmas.

Vectores de inicialización

Los vectores de inicialización pueden denominarse nonces, ya que suelen ser aleatorios o pseudoaleatorios.

hash

Los nonces se utilizan en sistemas de prueba de trabajo para variar la entrada a una función hash criptográfica a fin de obtener un hash para una determinada entrada que cumpla ciertas condiciones arbitrarias. Al hacerlo, resulta mucho más difícil crear un hash "deseable" que verificarlo, trasladando la carga del trabajo a un lado de una transacción o sistema. Por ejemplo, la prueba de trabajo, utilizando funciones hash, se consideró como un medio para combatir el spam de correo electrónico al obligar a los remitentes de correo electrónico a encontrar un valor hash para el correo electrónico (que incluía una marca de tiempo para evitar el cálculo previo de hashes útiles para su uso posterior) que tenía un número arbitrario de ceros a la izquierda, aplicando hash a la misma entrada con una gran cantidad de valores hasta que se obtuvo un hash "deseable".

De manera similar, el algoritmo de hash de la cadena de bloques de Bitcoin se puede ajustar a una dificultad arbitraria cambiando el valor mínimo/máximo requerido del hash para que la cantidad de bitcoins otorgados por nuevos bloques no aumente linealmente con una mayor potencia de cálculo de la red a medida que se unen nuevos usuarios. Esto también se logra obligando a los mineros de Bitcoin a agregar valores nonce al valor que se está procesando para cambiar la salida del algoritmo hash. Como los algoritmos hash criptográficos no se pueden predecir fácilmente en función de sus entradas, esto hace que el acto de hash blockchain y la posibilidad de recibir bitcoins sea algo así como una lotería, donde el primer "minero" que encuentre un nonce que entregue un hash deseable recibe bitcoins. .

Ver también

Referencias

  1. ^ "nonce - Glosario | CSRC". csrc.nist.gov . Instituto Nacional de Estándares y Tecnología . Consultado el 24 de octubre de 2021 .
  2. ^ Rogaway, P. (2004). "Cifrado simétrico no basado en ONCE" (PDF) . En Bimal Roy; Willi Meier (eds.). Cifrado de software rápido . Apuntes de conferencias sobre informática. vol. 3017, págs. 348–358. doi :10.1007/978-3-540-25937-4_22. ISBN 978-3-540-25937-4.
  3. ^ ab Diccionario Oxford de inglés [versión incluida con macOS] . Prensa de la Universidad de Oxford. 2021. Inglés medio: de entonces anes 'el uno (propósito') (de entonces, forma oblicua obsoleta de + ane 'uno' + -s), alterado por una división incorrecta
  4. ^ Needham, Roger M.; Schroeder, Michael D. (1 de diciembre de 1978). "Uso de cifrado para la autenticación en grandes redes de computadoras". Comunicaciones de la ACM . 21 (12): 993–999. doi :10.1145/359657.359659. ISSN  0001-0782.
  5. ^ "nonce", Wikcionario, el diccionario gratuito , 2024-04-06 , consultado el 2024-04-15

enlaces externos