Por qué los emojis no deben usarse en los nombres de dominio, por Patrik Fältström

24-10-2018

Patrik Fältström es el Director Técnico y Jefe de Seguridad de Netnod. También, es miembro del Comité Asesor de Seguridad y Estabilidad (Security and Stability Advisory Committee, SSAC) de ICANN. En este artículo, nos explica los riesgos y problemas asociados con el uso de emojis en los nombres de dominio.

Patrik Fältström. Fotografía: Lars Lundqvist.
Patrik Fältström. Fotografía: Lars Lundqvist.

El estándar IDNA2003, creado en 2003, permitió a los usuarios tener caracteres no incluidos en el código ASCII en los nombres de dominio.

Para ser técnicamente correctos, el DNS siempre ha admitido todos los valores de un byte (0-255 decimales) en los bytes de una etiqueta. Por lo tanto, mientras se conozca qué conjunto de caracteres y codificación se está utilizando, el sistema de nombres de dominio puede llevar cualquier información —incluido un punto (“.”)— dentro de una etiqueta. Sin embargo, la mayoría de las aplicaciones interpretaban los bytes como códigos ASCII. Debido a esta condición, el uso de códigos no incluidos en ASCII no era posible en la práctica.

El estándar IDNA2003 no modificó qué se podía enviar en el DNS, sino que especificó qué conjunto de caracteres emplear (Unicode) y qué codificación utilizar (codificado Punycode). Al codificar y decodificar Unicode en ASCII, no solo se estableció un acuerdo, sino que el estándar también se volvió compatible con las aplicaciones que solo usaban ASCII.

Pero el estándar IDNA2003 tenía problemas. La selección de caracteres se realizaba de uno a uno y el estándar incluía un mapeo entre caracteres Unicode. Debido a estas características, una etiqueta con caracteres Unicode que había sido codificada de acuerdo con el IDNA2003, y luego era  decodificada, podía resultar en una cadena Unicode diferente. En resumen, el estándar no era independiente de la versión Unicode, ni tampoco aseguraba un mapeo 1:1 entre la codificación ASCII y el Unicode nativo.

Posteriormente, se creó una nueva versión de IDNA, IDNA2008, que cambió muchas cosas. La tabla con puntos de código fue reemplazada por un algoritmo que permitía calcular si un carácter Unicode podría usarse o no. En el estándar IDNA2008, el mapeo no se incluyó en la asignación entre el código ASCII y el Unicode, por lo que la transformación era 1:1.

El uso de símbolos en los nombres de dominio no estaba permitido en el IDNA2003, ni en el IDNA2008. Dado que los emojis son símbolos (categoría general “Symbol Other” o “So”), no están admitidos de acuerdo con el estándar. De hecho, el estándar establece explícitamente que un registro no debe admitir cada uno de los caracteres permisibles en el código Unicode. Entonces, incluso si un carácter está permitido por el estándar, puede no ser admitido por un registro.

Pero así como un registro puede restringir los caracteres que admite (lo que, de hecho, es sugerido por la Internet Architecture Board), también puede permitir caracteres que están prohibidos por el estándar. En efecto, algunos TLD han aceptado el registro de dominios de segundo nivel con emojis y unos pocos continúan haciéndolo.

Como consecuencia de esta aceptación, el registrante puede obtener un nombre de dominio que no funcione como se espera y los usuarios de dichos dominios pueden ser objeto de phishing o simplemente de confusión. Estas son serias consecuencias por tener un nombre de dominio que el registrante considere "lindo".

El Comité Asesor de Seguridad y Estabilidad (Security and Stability Advisory Committee, SSAC) de ICANN ha elaborado un informe (SAC095 - Recomendación del SSAC sobre el uso de Emoji en los nombres de dominio) sobre este tema en el que se abordan algunos problemas con los emojis. A continuación, se resumen los principales problemas identificados en el informe del SSAC:

El primer problema es la similitud entre los emojis. Muchos emojis son parecidos entre sí: piense en, aquellos que representan rostros sonrientes y que únicamente se diferencian a partir de la posición de los ojos o porque muestran la boca abierta o cerrada, etc. Una forma de demostrar la confusión potencial aquí es notar que los distintos tipos de rostros sonrientes lucen más parecidos entre sí en un mismo sistema operativo, que un mismo rostro sonriente en dos sistemas operativos diferentes.

El segundo problema es la posibilidad de combinar caracteres y, por lo tanto, de cambiar cómo estos caracteres son presentados. Por ejemplo: ¿se pueden unir tres personas para generar un grupo de tres personas o para combinarlas de alguna manera?; ¿se pueden combinar tres animales, o dos perros y un barco? Otro ejemplo aquí es la bandera del arco iris que se genera combinando una bandera blanca y un arco iris. Todas estas combinaciones tienen el potencial de confusión.

El tercer problema es que algunas combinaciones se pueden usar para realizar modificaciones, como cambiar el color de la piel de una persona o del gesto de un pulgar hacia arriba. La diferenciación exacta entre tales combinaciones de caracteres representados hace que la(s) cadena(s) resultantes sean extremadamente difíciles de separar entre sí.

El cuarto problema está relacionado con la aceptación universal. El caso más sencillo consiste en que no hay una manera universal de pronunciar un emoji. Es extremadamente difícil para las personas con discapacidades emplear sus herramientas para “leer” y “escribir” emojis.

Por razones como las citadas anteriormente, el Consorcio Unicode, el IETF y ICANN han concluido, en sus diversos procesos, que los emojis no deben ser admitidos en los nombres de dominio.

Desde mi perspectiva, la cuestión más problemática con los emojis es que los registrantes mezclan su interés en usar palabras y texto como identificadores. Esta confusión es el aspecto clave aquí. Del hecho de que los emojis y muchos otros caracteres se usen comúnmente en los mensajes de correo electrónico, texto o chat, no se deriva que estos constituyan buenos identificadores en los nombres de dominio.

Actualmente, solo tenemos estos problemas en algunos TLD en los que los nombres de dominio con emojis fueron registrados antes de que los registros establecieran una buena política. Desafortunadamente, todavía hay algunos TLD que permiten nuevos registros de nombres de dominio con emojis.

Puede parecer divertido tener emojis en los nombres de dominio, pero está lejos de ser práctico y causa toda una serie de consecuencias negativas. Los emojis son divertidos en el texto —a mí me gustan también—, así que mantengámoslos allí donde no hacen daño, y alejados de los nombres de dominio, donde ciertamente causan problemas.

Por Patrik Fältström, Director Técnico y Jefe de Seguridad de Netnod,  miembro del SSAC de ICANN.