Módulo 2 · 2.4
Caracteres especiais e IDN
Módulo 2: Escolher um bom nome · Tempo de leitura: 8 minutos
Objetivo de aprendizagem: No final desta lição, será capaz de explicar como funcionam os nomes de domínio com acentos e tremas, ler um nome em punycode e avaliar quando é preferível não utilizar um nome deste tipo.
Conceitos-chave: IDN, punycode, xn--, IDNA2008, caracteres permitidos por extensão, e-mail e IDN, ataque homográfico
Os nomes com acentos existem
O DNS foi concebido originalmente para as letras de a a z, os algarismos e o hífen. Ainda assim, encontram-se nomes de domínio com letras como é, ü ou ß. Estes nomes chamam-se IDN: internationalized domain names (nomes de domínio internacionalizados). Permitem escrever um nome tal como se escreve na sua própria língua, por exemplo com um trema alemão ou um acento francês.
O curso de DNS refere brevemente os IDN na lição 1.2. Aqui, olhamos para eles na perspetiva de quem escolhe um nome: é possível na sua extensão, qual é o aspeto de um nome destes nos bastidores e é uma escolha sensata?
Nos bastidores: punycode
O próprio DNS continua a conhecer apenas as letras de a a z, os algarismos e o hífen. Por isso, um nome com caracteres especiais é convertido numa sequência de caracteres comuns, precedida de xn--. Esta conversão chama-se punycode.
A conversão é feita por etiqueta (label), ou seja, por cada parte entre dois pontos. Só a etiqueta com caracteres especiais é convertida; a extensão mantém-se igual. Um exemplo da DNS Belgium: belgië.be passa a ser xn--belgi-rsa.be no DNS. E uma padaria alemã com o nome bäckerei.example chama-se xn--bckerei-5wa.example no DNS.
O padrão é visível:
- No início, aparece xn--. É o sinal de que se segue um nome convertido.
- Depois, vêm as letras comuns do nome, sem os caracteres especiais: belgi, bckerei.
- Após o último hífen, segue-se um código curto que indica que caractere especial pertence a que posição.
Não precisa de calcular esse código. Os browsers, os programas de e-mail e os registrars fazem-no por si. Se quiser verificar, utilize um conversor de punycode: converte um nome com acentos para a forma xn--, e vice-versa. Se escrever um nome xn-- no browser, muitas vezes verá o nome com os caracteres especiais na barra de endereço.
As regras estão definidas no IDNA2008, um conjunto de normas da internet (RFC 5890 a 5894). O próprio punycode está descrito no RFC 3492. Destas regras resulta também algo que se nota nos nomes comuns: dois hífenes na terceira e quarta posições de uma etiqueta estão reservados para nomes convertidos. Se vir um nome com dois hífenes nessa posição, não se trata de um nome comum. É por isso que um registry como a DENIC não aceita estes nomes como registo comum.
Que extensões permitem que caracteres
A possibilidade de registar um IDN depende da extensão. Cada registry decide quais os caracteres permitidos.
| Extensão | Caracteres especiais? |
|---|---|
| .nl | Não. Apenas de a a z, algarismos e o hífen |
| .de | Sim, uma lista fixa, como ä, ö, ü, ß e é |
| .be | Sim, entre outros é, è, ë, ç, ä, ö, ü, ß e œ |
Para outras extensões, consulte o registry ou pergunte ao seu registrar. Se a Padaria Example quiser utilizar o nome "Café Example" como nome de domínio, com .nl não o pode fazer com um é: fica cafe sem acento.
Porque deve ter cuidado
Um IDN parece atrativo: o nome aparece exatamente como o escreve. Na prática, há desvantagens.
- Escrever. Muitas pessoas não têm um é ou um ü no teclado, ou não sabem como os introduzir. Escrevem então o nome sem acento e vão parar a outro lado.
- Comunicar. Ao telefone, é preciso acrescentar: "com um u com dois pontos". Isso corre mal com frequência.
- E-mail. Um endereço de e-mail num IDN não funciona igualmente bem em todo o lado. Nem todos os formulários web nem todos os programas de e-mail aceitam caracteres especiais num endereço. O seu cliente recebe então uma mensagem de erro ou escreve o endereço de outra forma.
- Apresentação. Alguns programas mostram a forma xn-- em vez do nome com acentos. Aparece então algo ilegível onde o seu cliente espera o seu nome.
O conselho é, por isso: utilize um nome sem caracteres especiais como nome principal, também para o seu e-mail. Se tiver um nome com trema ou acento, registe as duas formas e redirecione a forma IDN para a forma comum. No caso de um ü, pode também pensar na forma com ue, como os alemães estão habituados a fazer.
O ataque homográfico
Os IDN também têm um lado sombrio. Algumas letras de outros alfabetos são idênticas às letras latinas. Um а cirílico tem exatamente o mesmo aspeto que um a comum, mas para um computador é um caractere diferente. Os criminosos aproveitam isto para criar um nome falso que, no ecrã, parece igual a um nome verdadeiro. A isto chama-se ataque homográfico.
Se clicar numa ligação com um nome destes, pensa que está no site do seu banco ou do seu fornecedor, quando na verdade está no site de um burlão. Por isso, os browsers mostram por vezes estes nomes na forma xn--, para que perceba que algo não está bem. Se vir inesperadamente um nome xn-- na barra de endereço num site que conhece, fique atento.
Para o seu próprio nome, isto significa o seguinte: não pode impedir que alguém registe um nome semelhante, mas pode estar atento ao que acontece em torno do seu nome (lição 7.2).
Resumo
- Um IDN é um nome de domínio com caracteres especiais; no DNS, é guardado em punycode, precedido de xn--.
- Só a etiqueta com caracteres especiais é convertida; a extensão mantém-se.
- .nl não permite caracteres especiais; .de e .be permitem (uma lista fixa).
- Os IDN são difíceis de escrever, de comunicar e de utilizar como endereço de e-mail: escolha um nome comum como nome principal.
- Num ataque homográfico, letras de outro alfabeto parecem letras comuns; um nome xn-- inesperado é um sinal de alerta.
Questionário
Exercício
Exercício A2.4: Ler punycode (caso prático). Um colega da Padaria Example tem três perguntas sobre nomes com caracteres especiais. Utilize um conversor de punycode ou a explicação desta lição. Escreva o nome completo, incluindo a extensão.
- Punycode de café.example. Campo de preenchimento: escreva o nome tal como consta no DNS.
- Nome com caracteres especiais correspondente a xn--bcher-kva.example. Campo de preenchimento: escreva o nome tal como um visitante o lê.
- ab--cd.example é permitido como nome comum (não IDN)? Escolha: sim ou não.
O programa compara as suas respostas com uma chave fixa. As três respostas certas ficam a verde.
