lo que es SHA-1, y por qué va a retirarlo patada miles fuera de la Internet?

En el primer día de 2016, Mozilla terminado apoyo a una tecnología denominada SHA-1 en el navegador web Firefox. Casi inmediatamente, revirtieron su decisión, porque habría cortado el acceso a Internet importante a miles, si no millones de personas. Pero lo que hace esta tecnología? ¿Por qué sería cortar el acceso? ¿Y por qué es que alguna vez decide quitarlo en el primer lugar?

El SHA en SHA-1 significa Secure Hash Algorithm, y, en pocas palabras, se puede pensar en él como una especie de problema de matemáticas o un método que codifica los datos que se echaba en ella. Desarrollado por la NSA Estados Unidos, que es un componente básico de muchas tecnologías utilizadas para cifrar las transmisiones importantes en el Internet. métodos comunes de cifrado SSL y TLS, que es posible que haya oído hablar, se pueden utilizar como una función hash SHA-1 para crear los certificados firmados que se ven en la barra del navegador.

No vamos a entrar profundamente en las matemáticas y la informática de cualquiera de las funciones SHA, pero aquí está la idea básica. Un “control” es un código único basado en la entrada de los datos. Incluso cadena pequeña, al azar de entrada de letras en una función hash como SHA-1 devolverá un número de larga establecido, de caracteres, por lo que es (potencialmente) imposible de revertir la cadena de caracteres de nuevo a los datos originales. Esta es la forma de almacenamiento de contraseñas funciona normalmente. Al crear una contraseña, la contraseña de entrada es ordenado y almacenado por el servidor. A su regreso, cuando se escribe en su contraseña, que es ordenado de nuevo. Si coincide con el hash original, la entrada puede suponerse que es lo mismo, y se le concede el acceso a sus datos.

Las funciones hash son útiles principalmente porque hacen que sea fácil de saber si la entrada, por ejemplo, un archivo o una contraseña, ha cambiado. Cuando los datos de entrada es secreto, como una contraseña, el hash es casi imposible de revertir y recuperar los datos originales (también conocido como la “llave”). Esto es un poco diferente de la “codificación”, cuyo propósito es codificar datos con el fin de descifrar más tarde, utilizando sistemas de cifrado y claves secretas. Hashes están diseñados simplemente para garantizar la integridad de los datos a asegurarse de que todo es lo mismo. Git, el software de control de versiones y la distribución de código fuente abierto, utiliza hash SHA-1 por esta misma razón.

Eso es una gran cantidad de información técnica, pero en pocas palabras: un hash no es el mismo que el cifrado, ya que se utiliza para identificar si un archivo ha cambiado.

Digamos que usted tiene que visitar una página web privada. Su banco, su correo electrónico, incluso su cuenta todo el cifrado uso de Facebook para mantener los datos que les envíe privado. Un sitio web profesional proporcionará el cifrado mediante la obtención de un certificado de una autoridad, un tercero de confianza, de confianza para asegurar que el cifrado está en el nivel, privado entre el sitio web y el usuario, y no ser espiados por cualquier otra parte. Esta relación con el tercero, denominado autoridades de certificación, o CA, es crucial, ya que cualquier usuario puede crear un “auto-firmado” certificado-incluso se puede hacerlo usted mismo en una máquina Linux con Open SSL. Symantec y Digicert son dos compañías CA ampliamente conocidos, por ejemplo.

Vamos a correr a través de un escenario teórico: cómo hacerlo experto quiere seguir conectado a las sesiones de los usuarios privados con el cifrado, por lo que demanda a un CA como Symantec con una solicitud de firma de certificado, o RSE. Crean una clave privada y clave pública para cifrar y descifrar los datos enviados a través de internet. La solicitud CSR envía la clave pública a Symantec junto con información sobre el sitio web. Symantec comprueba la clave en contra de su registro para verificar que los datos no se modifica por todas las partes, ya que cualquier pequeño cambio en los datos hace que el hash radicalmente diferente.

Esas claves públicas y certificados digitales son firmados por las funciones de hash, ya que la salida de estas funciones son fáciles de ver. Una clave pública y certificado con un hash verificado de Symantec (en nuestro ejemplo), una autoridad, asegura un usuario de cómo hacerlo experto que la clave no se ha modificado, y no envió a alguien malicioso.

Debido a que el hash es fácil de controlar e imposible (algunos dirían “difíciles”) a reducir la correcta, verifica la firma de hash significa que el certificado y la conexión se puede confiar, y los datos pueden ser concertada para ser enviado cifrado de extremo a extremo . Pero ¿y si el hash no era realmente única?

Es posible que haya oído hablar del “problema cumpleaños” en matemáticas, aunque no podría haber sabido lo que se llamaba. La idea básica es que si se reúnen un grupo suficientemente grande de personas, las posibilidades son bastante altas que dos o más personas tendrán la misma fecha de nacimiento. Mayor de lo que cabría esperar, de hecho, basta con que parece una extraña coincidencia. En un grupo tan pequeño como 23 personas, hay una probabilidad del 50% que dos compartirán un cumpleaños.

Esta es la debilidad inherente a todos los hashes, incluyendo SHA-1. En teoría, la función SHA debe crear un hash único para cualquier dato que se pone en él, pero a medida que el número de hashes crece, se hace más probable que diferentes pares de datos pueden crear el mismo hash. Por lo tanto, en teoría, se podría crear un certificado no es de confianza con un hash idéntico a un certificado de confianza. Si te tienen que instalar el certificado no es de confianza, podría hacerse pasar por confiaba, y distribuir datos maliciosos.

Encontrar los hashes de juego dentro de dos archivos que se llama un ataque de colisión, y debido a la creciente poder (y la caída de coste) de la informática, que cada vez es obvio que si SHA-1 no se retiró pronto, será a su alcance para hacer certificados falsos de cada duplicar los hashes.

La matemática detrás de esto es en realidad bastante simple si hacemos una conjetura para ciclos de 14 ^ * 2 ^ 60 2 procesadores para encontrar un hash duplicado. Amazon alquila servidores a una velocidad de meros centavos la hora, y si la velocidad sigue aumentando y el costo del servidor por hora continúa descendiendo, superando este número de ciclos puede costar tan poco como 173 mil dólares para el año 2018. Eso significa la vida real cybervillians pronto podría ser capaz de pagar la creación de certificados que aparecen firmados por autoridades de confianza.

No sólo son la colisión ataca posible, por lo menos un ataque a gran escala de la colisión se sabe que ya han sucedido. De nuevo en 2012, los ordenadores fueron infectados a través de la herramienta de actualización de Windows, ya que Microsoft estaba firmando sus certificados con un hash MD5. Este método más antiguo de la creación de firmas de hash es ahora muy fácil de generar un par de modo que todas las MD5 firmó los certificados de hash bastante inútil.

De código abierto HashClash software puede utilizarse en un servidor de Amazon por prácticamente cualquier persona con los conocimientos técnicos para generar pares de hashes MD5 para el precio bajo bajo de alrededor de 65 centavos de dólar, tomando unas diez horas. Y, como hemos discutido, que pronto estará al alcance de descifrar el problema signatura duplicada incluso para SHA-1.

Esto significa que cualquier sitio web utilizando SHA-1 certificados de cifrado firmados pronto podría ser tan problemáticos como los que usan un hash MD5. Si eso sucede, los usuarios podrían saberlo transmitir datos sensibles a un “hombre en el medio”, presentando un certificado falso con un hash idénticos, o incluso permitir que algo tan sofisticado como el secuestro local de la herramienta de actualización de las ventanas para propagar software malicioso.

Como uno de los navegadores libres y de código abierto más populares disponibles, muchos ven Mozilla como una autoridad en la seguridad de Internet. Sus intenciones son buenas, y casi todas las autoridades con una participación en la seguridad en línea de acuerdo en que debe ser eliminado lo más pronto posible. La triste verdad del asunto, sin embargo, es que la vieja tecnología tiene una tendencia a morir nunca. (¿Quién está leyendo esto en Windows XP?)

Hash SHA-1 son certificados por desgracia mucho más populares en la web de la que tienen derecho a ser, por lo Mozilla cortando de plano de apoyo para ellos bloques de cifrado para los sitios web incapaz de actualizar a la mucho mejor SHA-2 o SHA-256. Incapaces de sitios web (o simplemente demasiado perezosos para pasar el tiempo) la actualización de sus certs podrían ser cortados por completo de sus usuarios que utilizan Firefox. Cuando se tiene en cuenta que este es probablemente probable que ocurra en los países más pobres con un acceso más limitado a la Internet, que va en contra de los principios básicos de Mozilla de un derecho de acceso a internet. No hace falta decir, Mozilla ha revertido rápidamente su decisión y actualización de Firefox para permitir SHA-1 certs por un tiempo limitado ya.

SHA-2 y la familia relacionada de algoritmos hash se crearon en el año 2001, por lo que han estado alrededor y probado a fondo, y son más propensos adoptados por la mayoría de los servicios importantes que se utilizan. Además de esto, SHA-3 fue lanzado agosto del 2015. Se puede usar un día para firmar certificados, o tal vez otro, el método de codificación aún más sofisticada tomará su lugar.

El hash SHA-1 sigue siendo temporal seguro, ya que la inversión en la creación de un par de colisión cuesta más de medio millón de dólares de la hora del servidor en el año 2016. Sin embargo, todavía es posible, y que amenaza vale la pena conocer.

Créditos de las imágenes: Lego Firefox, un montón de Hash, dramático Auto Collision, MEDIA DEI padroni VS Internet, por favor no hacen daño a la autora Web desconocido.

Quizás deberían más de cerca el ultra secreto.

Lo peor es que la mitad de un millón de dólares no es mucho dinero. Especialmente cuando las organizaciones ricos como la mafia rusa y los gobiernos como China y Corea del Norte subvencionan los piratas informáticos.

También es importante recordar que muchos https datos utilizados por las empresas (esencialmente dispositivos MITM utilizados para la inspección de paquetes seguro) firman también los CERT mediante SHA-1, lo que hace que todas las conexiones SSL roto si el navegador no es compatible con SHA-1. Hasta que esos dispositivos de hardware pueden ser actualizados por las empresas que los fabrican, SHA-1 apoyo no va a ninguna parte, o de lo contrario algunas grandes empresas van a disfrutar al mal tiempo real.

Si entiendo esto correctamente no creo que va a ser tan fácil. La creación de un archivo malicioso funcional que tiene el mismo valor hash que el archivo real se va a tomar una porción entera de más trabajo y de ensayo y la mascarada error.To tan original que tendría que ser del mismo tamaño. Debe contener el código malicioso y luego tener todo tipo de datos ilegibles incluido que producirá el mismo valor hash. El ensayo y error tendrían que limitarse a esta área ilegible / sin sentido.

Para hacerse pasar como original, tendría que ser del mismo tamaño.

De Verdad? ¿Por qué? Además, este artículo se aplica a los certificados de sitios web, así como los archivos

Si entiendo esto correctamente no creo que va a ser tan fácil. La creación de un archivo malicioso funcional que tiene el mismo valor hash que el archivo real se va a tomar una porción entera de más trabajo y ensayo y error

Es difícil, pero como se indica en el artículo con las plataformas de computación en la nube de hoy en día, se puede hacer. Incluso si el archivo tiene que ser del mismo tamaño, es posible.

El cachalote tiene el cerebro más grande y pesado de cualquier organismo aproximadamente 20 libras con un volumen de alrededor de 490 pulgadas cúbicas. Un cerebro humano, en comparación, pesa alrededor de 3 libras y tiene un volumen de alrededor de 80 pulgadas cúbicas.