Función HMAC-SHA1
HMAC
Según RFC 2316 (Informe de la IAB, abril de 1998), HMAC (Hashed Message Authentication Code: Código de autenticación de mensajes hash) e IPSec se consideran protocolos centrales clave seguros de Interact. . No es una función hash, sino un mecanismo de autenticación de mensajes que utiliza una función hash MD5 o SHA1 junto con una clave secreta compartida (a diferencia de un par de claves pública/privada). Básicamente, el mensaje se combina con una clave y se ejecuta una función hash. Luego, el resultado de la ejecución se combina con la clave y la función hash se ejecuta nuevamente. Este resultado de 128 bits se trunca en 96 bits y se convierte en MAC.
hmac se utiliza principalmente en la autenticación. Su uso es el siguiente:
1. asumiendo que es una solicitud GET del navegador)
2. El servidor devuelve un valor aleatorio y registra el valor aleatorio en la sesión
3. Clave de contraseña, la contraseña del usuario se somete a la operación hmac y luego se envía al servidor
4. El servidor lee la contraseña del usuario en la base de datos del usuario y el valor aleatorio enviado en el paso 2, realiza la misma operación hmac. como cliente, y luego se comunica con el usuario. Compara los resultados enviados y, si los resultados son consistentes, se verifica que el usuario es legítimo.
En este proceso, lo que puede estar sujeto a ataques de seguridad son los mensajes aleatorios. Los valores enviados por el servidor y los resultados de hmac enviados por el usuario, y si estos dos son interceptados, estos dos valores no tienen sentido para los piratas informáticos y no hay posibilidad de obtener la contraseña del usuario. La introducción de valores aleatorios. hace que hmac solo sea válido en la sesión actual, lo que mejora enormemente la seguridad y la practicidad. La mayoría de los lenguajes han implementado el algoritmo hmac, como mhash de php, hmac.py de python y la clase MessageDigest de java. También es factible usar hmac en la verificación web, y la velocidad de las operaciones md5 usando js también es relativamente rápida.
SHA
Algoritmo Hash Seguro SHA (Algoritmo Hash Seguro) es el estándar nacional FIPS PUB 180-1 emitido por el Instituto Nacional de Estándares y Tecnología de EE. UU., comúnmente conocido como SHA-1 . Produce un resumen de mensajes de 160 bits para mensajes de hasta 264 bits de longitud y procesa su entrada en bloques de 512 bits.
SHA es un algoritmo de cifrado de datos que ha sido desarrollado y mejorado por expertos en cifrado a lo largo de los años. Ahora ha sido reconocido como uno de los algoritmos de hash más seguros y se utiliza ampliamente. La idea de este algoritmo es recibir un fragmento de texto sin formato y luego convertirlo en un fragmento de texto cifrado (generalmente más pequeño) de forma irreversible. También puede entenderse simplemente como tomar una cadena de códigos de entrada (llamado mapeo previo). o información) y El proceso de convertirlos en una secuencia de salida corta de dígitos fijos, es decir, un valor hash (también llamado resumen de mensaje o código de autenticación de mensaje). Se puede decir que el valor de la función hash es una "huella digital" o un "resumen" del texto sin formato, por lo que la firma digital del valor hash puede considerarse como la firma digital del texto sin formato.
HMAC_SHA1
HMAC_SHA1 (Código de autenticación de mensajes hash, algoritmo hash seguro) es un protocolo de autenticación de mensajes seguro basado en una función hash cifrada y una clave compartida. Puede evitar eficazmente que los datos sean interceptados y manipulados durante la transmisión, manteniendo la integridad, confiabilidad y seguridad de los datos. El éxito del mecanismo de autenticación de mensajes HMAC_SHA1 se basa en una función hash criptográfica, una clave aleatoria cifrada y un mecanismo de intercambio de claves seguro.
HMAC_SHA1 es en realidad un algoritmo hash, pero es un algoritmo hash que utiliza una clave para obtener el valor de resumen.
El algoritmo HMAC_SHA1 se puede aplicar bien en la verificación de identidad y la integridad de los datos, y también está bien implementado en la seguridad de la red actual.