Mecanismo de autenticación de mensajes (proteger la integridad de la información).
Las funciones
hash criptográficas generalmente se ejecutan más rápidamente que los algoritmos
de cifrado convencional como el DES.
Utiliza la
función de hash y clave secreta para su implementación. Por lo tanto, eso te
ofrece menos vulnerabilidad que solo encriptación o hash. La RFC 2104 propone
el uso de HMAC ,que es una autenticación en entornos seguros como SSL mediante
una operación MAC en la que intervenga una función hash.
En el RFC 2104
presenta los siguientes objetivos:
- Usar, sin modificaciones, las funciones Hash disponibles.
- Permitir la sustitución fácil de la función Hash empotrada en caso de que se encuentre o se necesiten funciones Hash más rápidas o seguras.
- Preservar el funcionamiento original de la función Hash sin incurrir en una degradación significativa.
- Usar y manejar claves de forma sencilla.
- Tener un análisis criptográfico compresible de la robustez del mecanismo la autentificación basado en suposiciones razonables sobre la función Hash empotrada.
M = mensaje de entrada
incluyendo el relleno.
H = alguna función hash
como MD5 (128 bits) o SHA-1 (160 bits).
Yi= bloque
iésimo de M.
L = número de
bloques en M.
b = número de bits en
cada bloque (512).
n = longitud del resumen
del hash ocupado en el sistema (128 / 160 bits).
K = clave secreta (160
bits) aunque se recomienda sea mayor que n. Si la clave K es mayor que b, esta
clave se hace pasar antes por la función hash para reducirla a una clave de n
bits.
K+= clave K
con ceros añadidos a la izquierda para alcanzar b bits.
ipad= 00110110
octeto repetido b/8 (64) veces.
opad= 01011010 octeto
repetido b/8 (64) veces.
1. Añadir ceros a la izquierda de k para crear un bloque k+ de b bits. Por ejemplo
si k tiene una longitud de 160 bits y b = 512 entonces se añadirá 352 bits a 0
.
2. Aplicar el XOR( OR
exclusivo bit a bit) a k+ con ipad para producir el bloque de b bits Si.
3. Añadir M a Si.
4. Aplicar H al bloque
generado en el paso anterior.
5. Aplicar el XOR a k+ con opad para producir el
bloque de b bits So.
6. Anadir el resultado
Hash de paso 4 a So.
7. Aplicar H al flujo
generado al paso 6 y extraer el resultado
De tal manera que HMAC haría lo siguiente:
REFERENCIAS
http://networksafe.files.wordpress.com/2012/03/presentacion-hmac2.pdf
(Stallings, William). (2004). Fundamentos de seguridad en redes: aplicaiones y estándares. 2a Edición. PEARSON.
(Stallings, William). (2004). Fundamentos de seguridad en redes: aplicaiones y estándares. 2a Edición. PEARSON.
Demasiado complejo de leer cuando está traducido por Google :(
ResponderEliminar