C’est quoi Punycode ?
Dans le monde informatique, un texte est habituellement codé en ascii, mais cette encodage ne prends en charge que notre alphabet courant. Si l’on souhaite utiliser des caractères de type grec, nous passons par un encodage de type UTF8 qui est de l’unicode. L’avantage d’unicode est de prendre en charge la totalité des différentes langues et jeux de caractères. Punicode, c’est juste une RFC 3492 dans laquelle est spécifiée une syntaxe de codage. L’ensemble du jeu Unicode est utilisable. Sous punycode, les caractères seront affichés différemment, sous la forme « xn--9caa ».
Si vous souhaitez avoir l’équivalent d’un texte unicode en punycode, vous pourrez l’obtenir sur ce site.
Exemple d’attaque
A plusieurs reprise différentes attaques de phishing ont été mené sous unicode. Dans le cas où l’on souhaiterai enregistrer un nom de domaine qui ressemble à celui de google, nous pourrions utiliser un générateur de homoglyphe afin de leurrer le plus possible de personne. Par exemple avec un homoglyphe de google :
90% des gens ne verraient pas la différence. Le premier « g » n’est pas le bon. (noter que j’ai volontairement pris un « g » assez différent visuellement pour l’article).
Ce n’est qu’un exemple basique mais sans punicode, si nous enregistrions ce nom de domaine vous verriez bien google mais écrit de la mauvaise façon lors de votre visite sur le site internet. Si vous avez punicode vous verriez dans votre barre d’adresse xn--oogle-dq33a. Vous vous rendrez vite compte la duperie.
Comment savoir vous utilisez punycode
Si lors de votre visite sur ce site, vous voyez écrit apple dans la barre de recherche vous n’utilisez pas punycode.