Nameprep es el proceso de convertir una cadena a minúsculas y eliminar algunos puntos de código generalmente invisibles antes de que sea adecuada para representar un nombre de dominio u otro nombre canónico similar. Es utilizado por el estándar de internacionalización de nombres de dominio en aplicaciones (IDNA), que emplea el estándar Unicode para la normalización NFKC .
Nameprep se define en RFC 3491, "Nameprep: Un perfil de Stringprep para nombres de dominio internacionalizados (IDN)", [ 1 ] como un perfil de stringprep , que se describe en RFC 3454, "Preparación de cadenas internacionalizadas ("stringprep")". [ 2 ]
No asigna caracteres similares a un solo carácter ni prohíbe su uso. Existen buenas razones para ello, como el hecho de que conjuntos de caracteres idénticos pueden ser similares en algunas fuentes pero no en otras, y que cualquier decisión sobre a qué carácter asignar generará un sesgo hacia los usuarios de un alfabeto en particular; pero también tiene implicaciones potencialmente graves para la seguridad si no las consideran los diseñadores y administradores de sistemas basados en nameprep.
Véase también
- Homoglifo
- Unicode
- Internacionalización
- Componentes internacionales para Unicode (ICU contiene una implementación de nameprep)
- Nombre de dominio internacionalizado
- Ataque de homógrafo IDN o suplantación de caracteres "similares" basado en la apariencia de una URL tal como la lee un usuario web o como la introduce (leída con la fuente de la página, introducida con la fuente que el usuario prefiera). Nota: esto no es ambigüedad de URI en la codificación. Se proporcionan ejemplos en ambos artículos mencionados.
Referencias
- Unicode
- Sistema de nombres de dominio
- Fragmentos de la World Wide Web