Skip to main content

Es hora de dejar atrás el algoritmo de autenticación SHA-1 en el DNS

A principios de este mes, los expertos en criptografía Gaëtan Leurent y Thomas Peyrin dieron a conocer una modalidad de ataque a la seguridad del algoritmo de autenticación (hash) SHA-1 que se usa ampliamente en Internet. El SHA-1 fue reemplazado por mejores algoritmos de autenticación (hash) hace casi 20 años, pero continúa siendo utilizado ampliamente, en gran parte por personas que no están al tanto de las debilidades del algoritmo SHA-1.

Los algoritmos de autenticación (hash) se usan para crear pequeñas cadenas de bits, conocidas como valores hash, que pueden representar mensajes más extensos. Una de las propiedades de los buenos algoritmos de autenticación (hash) es que resulta excepcionalmente difícil, y prácticamente imposible, crear dos mensajes diferentes que tengan el mismo valor hash. Los especialistas en criptografía llevan más de una década publicando documentos en los cuales explican ataques que socavan la "fortaleza" del SHA-1, es decir, la capacidad del algoritmo SHA-1 de generar valores hash únicos a partir de datos aleatorios. El documento publicado este mes representa una mejora significativa en comparación a las publicaciones anteriores. Al igual que la mayoría de los protocolos de seguridad en Internet, las Extensiones de Seguridad del Sistema de Nombres de Dominio (DNSSEC) utilizan algoritmos de autenticación (hash) para incrementar la velocidad de las firmas y su validación.

La nueva modalidad de ataque hace que sea más fácil para un actor malicioso engañar a los administradores de zona del Sistema de Nombres de Dominio (DNS) para que generen valores hash o, en términos de DNSSEC, firmas confiables en registros del DNS que no tienen la intención de firmar. En términos técnicos, esta nueva modalidad significa que un actor malicioso puede generar colisiones entre prefijos elegidos con mucha mayor rapidez. Dicho en términos llanos, resulta mucho más fácil para un actor malicioso crear dos registros del DNS con el mismo valor hash SHA-1. Si uno de los dos registros aparenta ser benigno, y los actores maliciosos pueden convencer al titular de una zona para que proceda a firmarlo, la firma también se aplicará al registro menos benigno que el titular de la zona nunca vio.

Esta forma mejorada de ataque tiene graves consecuencias para todas las partes de Internet que utilizan el SHA-1. En las DNSSEC, el SHA-1 es parte de algunos algoritmos de firma que se usan desde los inicios de la seguridad del DNS. Si bien la mayoría de las zonas que usan firmas de DNSSEC aplican algoritmos con algoritmos de autenticación (hash) más sólidos, todavía hay una gran cantidad de zonas que aplican algoritmos con SHA-1 para sus firmas. De hecho, más de 250 dominios de alto nivel (TLD) continúan utilizando algoritmos con SHA-1. Tony Finch, especialista de gran trayectoria en cuestiones del DNS que trabaja en la Universidad de Cambridge, escribió un excelente y detallado análisis de esta nueva modalidad de ataque y su relación con las DNSSEC.

Ahora corresponde que los administradores de zonas en todos los niveles del DNS dejen de utilizar SHA-1 y lo reemplacen por algoritmos con un hash más sólido. Si bien no es urgente efectuar este cambio en forma inmediata, el alto nivel de exposición que tuvo el anuncio de este ataque mejorado probablemente motive a otros investigadores a continuar mejorando las modalidades de ataque. Además, es de esperar que en algún momento se torne urgente dejar atrás el SHA-1. Nadie desea tener que cambiar sus procesos de firma bajo la presión de plazos acotados; por lo tanto, quienes efectúen el cambio ahora o dentro de los próximos tres meses se evitarán una necesidad urgente a futuro.

Comments

    Domain Name System
    Internationalized Domain Name ,IDN,"IDNs are domain names that include characters used in the local representation of languages that are not written with the twenty-six letters of the basic Latin alphabet ""a-z"". An IDN can contain Latin letters with diacritical marks, as required by many European languages, or may consist of characters from non-Latin scripts such as Arabic or Chinese. Many languages also use other types of digits than the European ""0-9"". The basic Latin alphabet together with the European-Arabic digits are, for the purpose of domain names, termed ""ASCII characters"" (ASCII = American Standard Code for Information Interchange). These are also included in the broader range of ""Unicode characters"" that provides the basis for IDNs. The ""hostname rule"" requires that all domain names of the type under consideration here are stored in the DNS using only the ASCII characters listed above, with the one further addition of the hyphen ""-"". The Unicode form of an IDN therefore requires special encoding before it is entered into the DNS. The following terminology is used when distinguishing between these forms: A domain name consists of a series of ""labels"" (separated by ""dots""). The ASCII form of an IDN label is termed an ""A-label"". All operations defined in the DNS protocol use A-labels exclusively. The Unicode form, which a user expects to be displayed, is termed a ""U-label"". The difference may be illustrated with the Hindi word for ""test"" — परीका — appearing here as a U-label would (in the Devanagari script). A special form of ""ASCII compatible encoding"" (abbreviated ACE) is applied to this to produce the corresponding A-label: xn--11b5bs1di. A domain name that only includes ASCII letters, digits, and hyphens is termed an ""LDH label"". Although the definitions of A-labels and LDH-labels overlap, a name consisting exclusively of LDH labels, such as""icann.org"" is not an IDN."