SECURE HASH ALGORITHM - universidad politécnica de pachuca

Anuncio
UNIVERSIDAD POLITÉCNICA DE PACHUCA
SECURE HASH ALGORITHM La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia de Seguridad Nacional de los Estados Unidos y publicadas por el National Institute of Standards and Technology (NIST). El primer miembro de la familia fue publicado en 1993 es oficialmente llamado SHA. Sin embargo, hoy día, no oficialmente se le llama SHA‐0 para evitar confusiones con sus sucesores. Dos años más tarde el primer sucesor de SHA fue publicado con el nombre de SHA‐1. Existen cuatro variantes más que se han publicado desde entonces cuyas diferencias se basan en un diseño algo modificado y rangos de salida incrementados: SHA‐224, SHA‐256, SHA‐384, y SHA‐512 (todos ellos son referidos como SHA‐2). En 1998, un ataque a SHA‐0 fue encontrado pero no fue reconocido para SHA‐1, se desconoce si fue la NSA quien lo descubrió pero aumentó la seguridad del SHA‐1. SHA‐1 ha sido examinado muy de cerca por la comunidad criptográfica pública, y no se ha encontrado ningún ataque efectivo. No obstante, en el año 2004, un número de ataques significativos fueron divulgados sobre funciones criptográficas de hash con una estructura similar a SHA‐1; esto ha planteado dudas sobre la seguridad a largo plazo de SHA‐1. SHA‐0 y SHA‐1 producen una salida resumen de 160 bits de un mensaje que puede tener un tamaño máximo de 264 bits, y se basa en principios similares a los usados por el profesor Ronald L. Rivest del MIT en el diseño de los algoritmos de resumen del mensaje MD4 y MD5. La codificación hash vacía para SHA‐1 corresponde a: PLAIN TEXT PHP: 1. SHA1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA‐1 SHA significa algoritmo de control seguro. Consta de cinco funciones de hash diseñada por la Agencia de Seguridad Nacional (NSA) y publicado por el National Institute of Standards and Technology (NIST). Los cinco son algoritmos SHA‐1, SHA‐224, SHA‐256, SHA‐384 y SHA‐512. SHA‐1 es el más comúnmente usado de la serie SCS. SHA‐1 ha sido examinado muy de cerca por la comunidad criptográfica pública, y no se ha encontrado ningún ataque efectivo. No obstante, en el año 2004, un número de ataques significativos fueron divulgados sobre funciones criptográficas de hash con una estructura similar a SHA‐1; lo que ha planteado dudas sobre la seguridad a largo plazo de SHA‐1. SHA‐0 y SHA‐1 producen una salida resumen de 160 bits (20 bytes) de un mensaje que puede tener un tamaño máximo de 264 bits, y se basa en principios similares a los usados por el profesor Ronald L. Rivest del MIT en el diseño de los algoritmos de resumen de mensaje MD4 y MD5. La codificación hash vacía para SHA‐1 corresponde a: SHA1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709 MAESTRÍA EN TIC´S MFGP Página 1 UNIVERSIDAD POLITÉCNICA DE PACHUCA
1. Es imposible encontrar un mensaje que se corresponde con un determinado mensaje. 2. Es imposible encontrar dos diferentes mensajes que producen el mismo mensaje. 3. Si un mensaje se cambia incluso de un solo carácter, el resultado será un mensaje totalmente diferente. SHA‐1 tiene estas propiedades y, por tanto, a que se refiere como seguro. Está diseñado para trabajar con el Algoritmo de Firma Digital (DSA). SHA‐1 es una forma de función de hash. Funciones en un solo sentido se caracterizan por dos propiedades. La primera es que son de sentido único. Esto significa que usted puede tomar un mensaje y calcular un valor de hash, pero no se puede tomar un valor hash y recrear el mensaje original. También es libre de colisión y, por tanto, no hay dos mensajes hash con el mismo valor. SHA‐1 produce un 160‐bits del mensaje con una longitud máxima de 264 1. El mensaje M a ser hash debe tener una longitud de l bits, donde 0 l 264. El mensaje es el de longitud fija de salida de un mensaje. El mensaje es entonces de entrada a las dietas, que luego de la firma para generar el mensaje. Firma el mensaje en lugar de digerir el mensaje ofrece un mejor rendimiento debido a que el mensaje será mucho menor que la del mensaje. El destinatario del mensaje y luego use el mismo algoritmo para verificar la firma. Cualquier cambio que se produce durante el transporte se traducirá en un mensaje y, por lo tanto, la firma no se ha podido verificar. Una vez que se verifica como cierto, el receptor es capaz de desbloquear el mensaje. Este método evita que los usuarios vean los mensajes que no están destinados para ellos. Al computar un mensaje, SHA‐1 procesos de bloques de 512 bits. La longitud total del mensaje será un múltiplo de 512. Este proceso se conoce como relleno del mensaje. SHA‐1 se diferencia de SHA‐0 por una sola rotación bitwise en el mensaje de su calendario de compresión función. Criptoanálisis es el método de obtención de información encriptada sin utilizar el valor de hash. Romper una función hash implica que demuestre que la propiedad de un solo sentido no tiene para él. Criptógrafos han demostrado que sólo podría ser posible para el hash SHA‐1 algoritmo para ser rotos. Algunos de ellos han presentado una colisión de ronda 58‐SHA‐1, que se encuentra con 233 operaciones hash. Una fuerza bruta de búsqueda requeriría 280 operaciones. Sin embargo, los expertos sostienen que esto podría no ocurrir por algún tiempo. Sin embargo, los ataques siempre mejoran, y el Instituto Nacional de Estándares y Tecnología (NIST) ya tiene normas para más ‐ y más difícil‐a‐break ‐ funciones hash: SHA‐224, SHA‐256, SHA‐384, SHA‐512. Aplicaciones de SHA‐1 SHA‐1 puede ser usado en una variedad de aplicaciones: 1. Aplicaciones de seguridad que requieren autenticación 2. E‐mail 3. Transferencia electrónica de fondos 4. Distribución de software 5. Almacenamiento de datos MAESTRÍA EN TIC´S MFGP Página 2 UNIVERSIDAD POLITÉCNICA DE PACHUCA
Ataques contra SHA‐1 La resistencia del algoritmo SHA‐1 se ha visto comprometida a lo largo del año 2005. Después de que MD5, entre otros, quedara seriamente comprometido en el 2004 por parte de un equipo de investigadores chinos, el tiempo de vida de SHA‐1 quedó visto para sentencia. El mismo equipo de investigadores chinos, compuesto por Xiaoyun Wang, Yiqun Lisa Yin y Hongbo Yu (principalmente de la Shandong University en China), ha demostrado que son capaces de romper el SHA‐1 en al menos 269 operaciones, unas 2000 veces más rápido que un ataque de fuerza bruta (que requeriría 280 operaciones). Los últimos ataques contra SHA‐1 han logrado debilitarlo hasta 263. Según el NIST: «Este ataque es de particular importancia para las aplicaciones que usan firmas digitales tales como marcas de tiempo y notarías. Sin embargo, muchas aplicaciones que usan firmas digitales incluyen información sobre el contexto que hacen este ataque difícil de llevar a cabo en la práctica.» A pesar de que 263 suponen aún un número alto de operaciones, se encuentra dentro de los límites de las capacidades actuales de cálculos, y es previsible que con el paso del tiempo romper esta función sea trivial, al aumentar las capacidades de cálculo y al ser más serios los ataques contra SHA‐1. La importancia de la rotura de una función hash se debe interpretar en el siguiente sentido: Un hash permite crear una huella digital, teóricamente única, de un archivo. Una colisión entre hashes supondría la posibilidad de la existencia de dos documentos con la misma huella. La inicial similitud propuesta con la equivalencia a que hubiese personas que compartiesen las mismas huellas digitales, o peor aún, el mismo ADN no es adecuado pues, aunque fuera trivial encontrar dos ficheros con el mismo resumen criptográfico ello no implicaría que los ficheros fueran congruentes en el contexto adecuado. Siguiendo con la hipótesis de la similitud biométrica de dos personas, sería el equivalente a necesitar modificar el número de brazos en una persona para que su impresión dactilar fuera igual a la de otra. A pesar de que el NIST contempla funciones de SHA de mayor tamaño (por ejemplo, el SHA‐
512, de 512 bits de longitud), expertos de la talla de Bruce Schneier abogan por, sin llamar a alarmismos, buscar una nueva función hash estandarizada que permita sustituir a SHA‐1. Los nombres que se mencionan al respecto son Tiger, de los creadores de Serpent, y WHIRLPOOL, de los creadores de AES. MAESTRÍA EN TIC´S MFGP Página 3 
Descargar