• Aller au contenu
  • Aller au menu
  • Aller à la recherche

CPU ⬜ Carré Petit Utile

CPU

Carré, Petit, Utile : Le programme radio des gens du numérique.
Tous les Jeudi à 11h sur Radio <FMR>

  • Programmes
  • Interviewes
  • Chroniques
  • Chercher
  • Suivez-nous !
  • CPU
  • ⬜
  • Chroniques
  • ›
  • How to
  • ›
  • How to : Noms de domaine internationaux
  • ← précédent

How to : Noms de domaine internationaux

jeudi 4 décembre 2025. Chroniques › How to

Extrait de l'émission CPU release Ex0226 : L'adresse était trop longue.

Revenons aux noms de domaines.
Je le rappelle, à cause d'une infrastructure réseau très hétéroclite, la pratique dans les années 2000s est de limiter les noms de domaines aux 26 lettres de l'alphabet latin, les 10 chiffres arabes et - le trait d'union. Il faut avouer que cette contrainte rend cette information plus technique que grand-public. Elle pose des soucis quand l'accent peut avoir une importance, ce qui devient rédhibitoire quand votre langue utilise un tout autre alphabet comme le chinois, l'arabe ou le grec ; on parle de la population de pays entiers qui n'est pas habitué à un alphabet aussi exotique que celui de l'anglais.
Alors comment sortir d'un jeu de caractères ASCii ultra-restreint et ajouter bien plus de caractères différents sans risquer de péter l'internet, pour le simple fait d'entrer le nom d'un site web afin de le consulter ?

Les publicitaires japonais ont esquivé le problème en 2004 en hackant un outil de logistique, le QR-code. Je l'ai expliqué en une heure à la radio, vous pouvez retrouver notre émission sur le sujet à l'adresse https://cpu.pm/193.
Oui, je suis lourd sur mon auto-promo, mais maintenant, vous voyez l'intérêt d'un bon raccourcisseur d'URL : vous avez eu le temps de noter l'adresse. Et en 2004, en dehors du Japon, les téléphones et ordinateurs n'avaient pas de lecteur QR-code. Alors comment a-t-on fait ?

Et ben heureusement y'a eu l'idée du punycode. En 2003, Adam Costello, de l'université de Berkeley, va proposer une solution d'extension permettant d'encoder dans les limites d'un nom de domaine des alphabets internationaux avec un algorithme court, simple et une implémentation minimale.
La solution est parfaitement rétrocompatible, et il suffit d'implémenter l'algorithme dans la section nom de domaine d'un interpréteur d'URL, pour décoder le nom de domaine technique qui reste dans un alphabet romain dans les couches basses du réseau, donc le routage entre le client et le serveur. Le punycode ne concerne que les noms de domaine ; pour les autres parties d'une URL, on a d'autres mécanismes pour employer l'unicode.

Le punycode comble une demande, même pour les latins :

Imaginez que vous êtes une chaîne de magasins vestimentaires pour enfants, une marque qui s'appelle Diez Años (dix ans). Ben, avant punycode, votre nom de domaine aurait été diezanos.com, ce qui traduit de l'espagnol, veut dire dix anus.

[stupéfaction du public]
Vous imaginez les dégâts terribles pour votre marque. Du coup, vous avez beau retourner dans tous les sens, sans votre tilde sur le n, vous êtes handicapé, votre marque ne peut avoir son nom de domaine sur internet, vous ne pouvez communiquer internationalement ou même être à la page (la page web, forcément). [le public est effrayé par l'horreur de la traduction et le jeu de mot pourri].

Le punycode est un habile bricolage pour mettre des centaines de milliers de caractères du plan unicode dans l'espace d'un nom de domaine restreint à 37 symboles possibles. Si un caractère n'entre pas dans ce jeu hyper-restreint, le navigateur web va encoder le nom de domaine en punycode et demander aux DNS si un tel nom existe.
On reconnaît un nom de domaine en ASCii qu'il doit être décodé en punycode par son préfixe xn--. Si on prend notre exemple, diezaños.com donnerait : xn--diezaos-8za.com

Un nom de domaine encodé en punycode s'appelle un IDN, Internationalized Domain Name, un nom de domaine internationalisé. Car un IDN est une réelle volonté d'inclusion et de décentraliser internet de l'Occident,… ou des envies bassement mercantiles des registrars.

Ouais, soyons objectif, le pognon avant tout.

Grâce au punycode, les registrars peuvent proposer des noms de domaines dans n'importe quelle langue, sans faire planter les logiciels pas mis-à-jour depuis 30 ans. Ou même, faire honneur à des villes comme Besançon,…

[RÉGIS, hors champ] — Ouais parce que sans la cédille, Besançon,… c'est un peu con
[Narrateur, blasé] — Oui, merci Régis pour cette constatation.

Mais hélas, tout n'est pas parfait : on a vite découvert que le punycode créait de nouvelles difficultés.
Sur les IDN et le mécanisme punycode, de nouveaux problèmes sont apparus. Certains alphabets sont proches : par exemple, vous avez plein de lettres qui ressemblent visuellement à des lettres latines mais qui sont des symboles différents dans une logique informatique. Cette confusion optique s'appelle un homoglyphe.
Et bien utilisée, une lettre homoglyphe rapporte mieux qu'au Scrabble, surtout si vous êtes un escroc.

Encore tout récemment, en 2021, le navigateur web Brave a été victime de tentative de faux : un groupe d'escrocs, ou des espions cybers (on ne sait pas), a réservé le nom de domaine brave.com, sauf que le a était écrit en alphabet cyrillique, dont le rendu punycode resemblant dans la plupart des polices de caractères au a latin pouvait induire en erreur. Ici, le nom de domaine faisandé menait à un site proposant au téléchargement un logiciel ressemblant à Brave mais bourré de spywares et autres dégueulasseries.

Et les homoglyphes peuvent se retrouver même entre les lettres de notre alphabet : en 2024, un malandrin a déposé le nom de domaine qouv.fr, qui, affiché en souligné dans un e-mail sous Outlook, donne un nom de domaine qui ressemble à un .gouv.fr à s'y méprendre. Je vous laisse deviner ce qu'on trouvait derrière ce nom de domaine… qui a heureusement été suspendu assez vite.

Revenons à nos IDN.
En moins de 2… ans… Punycode est passé d'une excellente intention à un énorme problème de sécurité, qui se conjugue parfaitement à la plus grosse faille informatique existante : l'humain entre la chaise et le clavier. PEBCAK !

Devant les tentatives récurrentes de noms frauduleux, certains gestionnaires de TLD, ceux qui louent les noms de domaine, limitent les caractères unicodes réservables à leur niveau. Mais cette initiative d'opérateurs registrars sérieux n'est hélas pas suivie par tous les gestionnaires de noms de domaines. Les navigateurs web, eux, se sont mis à montrer le punycode natif, une mesure qui marche que pour ceux qui lisent les langues latines, et qui finalement va à rebours de ce que le punycode était censé résoudre, c'est à dire rendre le nom de domaine simple et clair pour tous ceux qui ne lisent pas l'alphabet occidental.

Mais le jeu de caractère unicode est tellement compliqué qu'il y a régulièrement des mises-à-jour. Ben oui, elles bougent, les lettres ! Et malheureusement ces mises-à-jour là ne sont pas suivies en temps et en heure par certains registrars. Si vous voulez commencer une bagarre dans un salon de professionnels de cybersécurité, parlez du support IDNA2008 et d'Unicode 12.

Mais si encore les gens faisaient attention à ce qu'il y a écrit dans la barre d'URL de leur navigateur web… Il y'a aussi le problème des… e-mails ou des documents bureautiques, où le caractère unicode est montré, sans alerter sur un possible homoglyphe. Et où en plus, le malandrin a le choix de la police de caractère utilisée pour afficher son adresse piégée. Un clic, un simple clic, et l'utilisateur n'aura jamais la chance de se rendre compte à temps qu'il n'a pas atterri exactement à l'adresse web qu'il attendait.

Alors faut-il retirer Punycode et les IDN ?
Surtout pas : ça serait aliéner la tech avec les trois quart de l'Humanité. Il faut arriver à écarter les opérateurs (ahem) négligents, et c'est très compliqué.

Punycode partait d'une bonne idée, le diable se cachait dans son implémentation.

Textes : Da Scritch
Photo : bibliothèque interne, illustration pour émission Ex0117

Pièces jointes

  • 0226-CPU-Howto-IDN(04-12-25).mp3

Aucun commentaire

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées. Votre e-mail ne sera pas affiché.

Menu

Catégories

  • Programmes
  • Interviewes
  • Chroniques
  • Hors micro
  • Teaser

Séries

  • Arrière-guichet
  • Bio is the new Black
  • Bulletin de santé d´Internet 2017
  • Crie si tu sais…
  • Elles codent
  • Futurs alternatifs
  • Histoires de la cryptographie
  • Intelligence artificielle
  • Killed By App
  • Langages machine
  • lost and found
  • Made in Japan 日本製
  • Paranoid android
  • Parce que c’est Notre Projet Souverain
  • Quelque chose de totalement différent
  • Radio numérique
  • Read That Funky Manual !
  • Recycle
  • Situation critique
  • Webmasters

Toutes les séries

Menu extra

Suivez-nous !

  • 🎵 Podcast des émissions
  • 🎧 …pour Android
  • 🎧 …via Apple Podcast
  • 🎧 …en newsletter
  • Comment faire

Réseaux sociaux

  • BlueSky @cpu.pm
  • @cpu@Mastodon.tetaneutral.net
  • LinkedIn company/cpuprogramme
  • Nous écrire par e-mail

Développeurs

  • Benoît
  • Da Scritch
  • Enflammée
  • Gabriel
  • Infested Grunt
  • René Speranza
  • Thibault
  • Toute l'équipe

Producteurs

  • Radio <FMR>
  • Silicium
  • Régie publicitaire

Code source (github)

  • CPU-Audio web component
  • Thème Dotclear "CPU-15"
  • Youtube future playlist

Pages juridiques

  • Documentation du programme
  • Licence de l'émission et des sonores
  • Politique de confidentialité 🍪
  • Mentions légales

SRSLY ?

  • Fédération Française de lecture sportive de logs serveurs

Informations

Interviewes et chroniques en licence CC-BY-NC ⬜ Émissions © DaScritch et l'équipe pour Radio <FMR> ⬜ Propulsé par Dotclear