Punyplus

From IUCG - Internet Users Contributing Group

Jump to: navigation, search

Attention : travail en cours.

  • travail en parallèle des versions française et anglaise
  • il n'y a pas de version de référence.

Warning: work in progress

  • work in parallel on the French and English versions
  • there is no reference version

Statut du document: publié comme IETF Draft en anglais.

Document status: published as an IETF Draft.

!draft       draft-iucg-punyplus
!version     03
!header      http://iucg.org/drafts/
!abbrev      punyplus
!title       Case sensitive IDNA 
!cat         Independent submission

!! Data
!key         architecture
!key         usage
!key         innovation
!key         layers
!key         IETF
!key         multilinguisation

!author
!initials    J-F C
!surname     Morfin
!fullname    Jean-Francois C. Morfin
!logo        Intlnet
!org         INTLNET
!street      23 rue Saint Honore
!city        Versailles
!postcode    78000
!country     France
!phone       (33.1) 39 50 05 10
!mail        jefsey@jefsey.com
!uri         http://intlnet.org 

!end

Contents

IDNAPLUS

Support of case-sensitive User Domain Names

IDNAPLUS

Prise en charge sensible à la casse des noms de domaine utilisateurs

!abstract

Cette note documente une proposition IDNA, dite IDNAPLUS, supportant les bas et les hauts de casse et des possibilités nouvelles à l'espace de nommage Internet.

This memo documents an IDNA proposition (AKA IDNAPLUS), which supports upper and lowercases and new possibilities for the Internet name space.

 !text

Introduction

Selon la proposition actuelle de WG-IDNABIS, fondée sur l'algorithme punycode, la prise en charge des entrées dans les emplacements de nom de domaine doit être soumise à une réduction préalable systématique en bas de casse, sans restauration ultérieure.

Introduction

According to the current WG-IDNABIS proposal, which is based on the punycode support algorithm, the entries in domain name locations should be subjected to a systematic preceding lowercasing without later restoration.

Cela signifie que les capitales ne sont pas prises en charge de bout en bout et que les nom de domaine incluant des hauts de casse sont résolus comme s'il s'agissait de leur équivalent en bas de casse. Cela signifie que la moitié des caractères des alphabets humains sont ignorée par IDNA. Le WG-IDNABIS considère que cela est acceptable et n'a pas d'incidence significative sur l'utilisation de l'espace de nommage "internationalisé".

This means that uppercases are not supported on an end-to-end basis and that uppercased domain names are resolved as if they were their lowercase equivalent. Therefore, half of all the characters of the world's alphabets are thereby ignored by the IDNA. The WG-IDNABIS considers this to be perfectly acceptable. The WG-IDNABIS also believes that this does not significantly affect the overall "internationalized" domain name usage.

La perte sémantique par limitation orthotypographique qui en résulte rend IDNA impropre à :

  • une bonne utilisation stéganographique du nommage (mnémoniques, cryptage, etc.)
  • une prise en charge directe du Système d'Adressage Sémantique (SAS) que l'IUCG explore.

Cette note documente un algorithme punyplus qui prend entièrement en charge le SAS et offre une option strictement conforme à la norme IDNA.

The resulting semantic loss by orthotypographic limitation makes IDNA unfit for:

  • a good steganographic use of the namespace (mnemonics, encryption, etc.)
  • a direct support of the Semantic Addressing System (SAS) that the IUCG is exploring.

This memo documents a punyplus algorithm that fully supports the SAS and offers a strictly compliant IDNA option.

Liste de discussion

Cette proposition peut être débattue sur la liste iucg@ietf.org.

Discussion list

This proposition can be discussed on the iucg@ietf.org.

L'approche Interplus

L'interplus est une architecture de "meilleure usage" de l'internet pour de meilleurs services de Facilitation apporté au usagers. Il déploie des couches supplémentaires du côté utilisateur de façon transparente aux opérations des couches de l'internet. Il peut ainsi supporter des fonctions réseau étendues (services au contenu actif) et des services supplémentaires (tel que la prise en charge de contenu ambiant).

The Interplus approach

The Interplus is an Internet "better use" architecture to bring users better Facilitation services. It deploys additional layers on the user side in a manner that is transparent to the Internet layers’ operations. It is in this way that it can support extended network functions (active content support) and additional services (such as the support of ambient content).

L'architecture Interplus inclut une pile ML-DNS (système de nommage multi-couche). Cette pile comprend trois couches de nommage:

  • noms de domaine utilisateur (UDNs) qui peuvent être sous UTF-8 et sensibles à la casse
  • noms de domaine d'application (ADNs) soumis à NFC mais pouvant être sensibles à la casse
  • noms de domaine Internet (IDNs) constitués d'étiquettes d'alphadecimal (0-Z) (minuscules par nature) à l'aide de séparateurs forts (".") et de séparateur faibles ("-") entre leurs sous-étiquettes.

Les sous-étiquettes vides (résultant en une séparation "--") sont comprises comme le moyen, validé de façon opérationnelle, de prise en charge de la couche Présentation virtuelle de l'Internet, en ce qu'ils séparent un préfixe (ou un suffixe) de présentation de la charge de nommage utile. "xn--" s'entend comme le préfixe de la "présentation aux noms étendus".

The Interplus architecture includes an ML-DNS (multi-layers domain name system) pile. This pile comprises three naming layers:

  • User Domain Names (UDNs) that can be case sensitive full UTF-8
  • Application Domain Names (ADNs) that can be case sensitive NFC
  • Internet Domain Names (IDNs) that comprise alphadecimal (0-Z) labels (case insensitive by nature) in using strong (".") separators, and a weak ("-") separator between the sub-labels.

Empty sub-labels (resulting in a "--" separation) are understood as the operationally validated way to support the Internet Presentation virtual layer, in which they separate a presentation prefix (or suffix) from the naming payload. "xn--" is understood as the "extended names presentation" prefix.

Algorithme "punyplus"

L'algorithme punyplus est utilisé pour convertir (aller-retour) les ADNs en IDNs. Une option de punyplus est conforme à l'algorithme punycode qui ne prend pas en charge les hauts de casse.

Punyplus algorithm

The punyplus algorithm is used to convert (back and forth) ADNs into IDNs. An option of punyplus conforms to the punycode algorithm and does not support uppercases.

Pour obtenir ceci de façon fiable, punyplus est une stricte copie de punycode mais avec l'ajoute de la capacité (retirable en option) d'insérer "^" pour signaler le remplacement d'un haut de casse par un bas de casse. Il y a deux possibilités de prise en compte de cet insert.

To reliably obtain this, punyplus is a strict punycode copy with the added capacité (as a removable option)to insert the "^" prefix to signal the replacement of an uppercase by a lowercase. There are then two possible ways to support this insert.

Prise en charge comme un caractère ordinaire

Lors de l'exécution de l'algorithme punycode celui-ci convertit "^" en un caractère non-ASCII (MIM), métadonnée indicatrice de majuscule, puis en traite le code point de manière régulière.

Support as a regular character

When executing the punycode algorithm itself, it converts "^" as a non-ASCII (UMI) upper-case metadata indicator and then handles its code point in the regular way.

Lors de la conversion de retour au non-ASCII le MIM est soit rétabli en "^" soit supprimé si le caractère suivant est restauré en haut de casse.

Example :

UDN : Nom de domaine Utilisateur : Etat.fra
ADN : Nom de domaine Applicatif  : ^etat.fra
IDN : Nom de domain Internet  : xn--etat-abc.fra (abc dépendant du choix du MIM).

When converting back to non-ASCII, it restores the UMI as "^", or deletes it if the next character is restored as an uppercase.

Exemple:

UDN: User domain name  : Etat.fra
ADN: Application domain name : ^etat.fra
IDN: Internet domain name  : xn--etat-abc.fra (abc depending on the choice of UMI).

Prise en compte par un format dédié

L'insert "^" est alors transcodé en la séquence "---1". L'intérêt de cette solution est son indépendance du système de codage, son ouverture au support d'autres besoins par des séquences du type "---x" ou "---zz", sa lisibilité simple et la possibilité d'entrées manuelles directes selon ce format. Son désavantage est l'utilisation de quatre ou cinq octets pour convoyer une métadonnée.

Example :

UDN : Nom de domaine Utilisateur : Etat.fra
ADN : Nom de domaine Applicatif  : ^etat.fra
IDN : Nom de domain Internet  : xn--e---1tat.fra

Support through a dedicated format

The "^" insert is replaced by the "---1" sequence. The advantage of this solution is its independence from the coding system, that it is open to the support of other needs by sequence of "---x" or "---zz" type, its readability is simple and direct entries car be easily manually made. Its disadvantage is the user of four or five bytes to send a metadata.

Exemple:

UDN: User domain name  : Etat.fra
ADN: Application domain name : ^etat.fra
IDN: Internet domain name  : xn--e---1tat.fra

Valeur du point de code IMM

Quatre choix sont possibles pour le point de code UMI :

Value of the UMI codepoint

There are four possibilities for the choice of the UMI code point:

Utiliser un code point DISALLOUE

Ce sera transparent pour les applications qui ignorent IDNA, incertain pour les applications IDNA2003, mais bloqué par les applications compatibles avec IDNA2008. Il n'y a aucun risque de confusion avec une destination décrite uniquement en bas de casse.

To use a DISALLOWED codepoint

This will be transparent to IDNA unaware applications and uncertain with IDNA2003 applications, but blocked by IDNA2008 compliant applications. There is no risk of confusion with a lowercase described destination.

Utiliser un code point NON ASSIGNE

Ce sera transparent pour les applications qui ignorent IDNA, incertain pour les applications IDNA2003, mais bloqué par les applications compatibles avec IDNA2008. Un conflit peut apparaître lors d'une édition ultérieure d'ISO 10646. A part dans ce dernier cas, il n'y a aucun risque de confusion avec une destination décrite uniquement en bas de casse.

To use an UNASSIGNED codepoint

This will be transparent to IDNA unaware applications and uncertain with IDNA2003 applications, but blocked by IDNA2008 compliant applications. A conflict may result from a further edition of ISO 10646. Otherwise, there is no risk of confusion with a lowercase described destination.

Utiliser un code point PVALIDE

Le point de code serait hors de séquence avec une utilisation régulière, signalant ainsi une utilisation spéciale. Ce sera transparent pour les applications qui ignorent IDNA, accepté mais pas nécessairement compréhensible par les applications IDNA2003 et IDNA2008. Il n'y a aucun risque de confusion avec une destination décrite uniquement en bas de casse.

To use a PVALID codepoint

The code point would be out of regular use sequence, therefore signaling a special use. This will be transparent to IDNA unaware applications and accepted, but not necessarily understood, by IDNA2003 and IDNA2008 compatible applications. There is no risk of confusion with a lowercase described destination.

Enregistrer un code point dédié

Ce sera transparent pour les applications qui ignorent IDNA, incertain pour les applications IDNA2003, mais bloqué par les applications compatibles avec IDNA2008. Il n'y a aucun risque de confusion avec une destination décrite uniquement en bas de casse. Une mise à jour ultérieure d'IDNA pourrait accepter ce code point comme PVALID et étendre IDNAPLUS à tous les utilisateurs d'IDNA.

To register a dedicated codepoint

This will be transparent to IDNA unaware applications and uncertain with IDNA2003 applications, but blocked by IDNA2008 compliant applications. There is no risk of confusion with a lowercase described destination. A further IDNA update could make that code point PVALID and extend IDNAPLUS to all the IDNA users.

Solution

Ces possibilités seront soumises à des tests et à discussion avec les utilisateurs.

Solution

These possibilities will be submitted to tests and discussion with users.

Services de nommage ajoutés

L'algorithme punyplus étant transparent aux UDN/ADN en pur ASCII, celui-ci est applicable à tous les noms de domaine Internet. Il peut donc être utilisé comme analyseur de commande de nommage et converteur UDN/ADN/IDN universel du ML-DNS. Sa généralisation concertée participera donc à une canonalisation ambiante du nommage

Naming added services

The punyplus algorithm being transparent to pure ASCII UDNs/ADNs, it is applicable to all Internet domain names. It can therefore be used as an ML-DNS naming command parser and universal UDN/DNA/IDN converter. Its concerted generalization will therefore participate in an ambient canonalization of the naming space.

Extensions ultérieures

L'algorithme punyplus sera progressivement étendu pour prendre en charge les projets de sécurité connexes du DNS, les adresses de messages linguistiques, la sélection des classes DNS, l'adressage sémantique et les commandes Netix (le système d'interapplication d'interplus en cours d'exploration).

Further extensions

The punyplus algorithm will progressively be extended to support DNS related security projects, linguistic mail addresses, DNS class selection, semantic addressing and Netix (interplus explored interapplication system) commands.

Section multilinguistique

La multilinguistique est prise ici dans le sens de cybernétique de la diversité linguistique. Ce document active une bien meilleure prise en charge multilinguistique par l'Internet.

Multilinguistics section

Multilinguistics is understood as the cybernetics of linguistic diversity. This memo enables improved Internet multilinguistic support.

Sécurité

La possibilité d'utiliser un plus grand nombre de codepoints refusés; ou un caractère supplémentaire dans l'alphadécimal des labels de nommage (correspondant au signe "puissance") bloqué par toutes les fonctions de nommage, ne devrait pas créer de problème de sécurité pour les applications convenablement développées ou interfacée par des applications convenablement développées.

L'incapacité à utiliser des hauts de casse réduit considérablement l'intérêt des noms de domaine générés au hasard ou chiffrés dans les stratégies de protection des accès.

Security section

The ability to use a larger number of code points that are denied; or an additional alphadecimal character in naming (corresponding to the "power" sign) that is blocked by all the naming functions, which in turn should not create security issues for those applications that are properly written or those interfaced by properly written applications.

The inability to use uppercases dramatically reduces the interest of randomly generated or encrypted domain names in access protection strategies.

La stabilité globale de l'Internet sera sans doute affectée par des usages tirant un meilleur avantage de ses protocoles à l'image d'IDNA. Ceci devrait faire l'objet d'une vaste étude séparée. L'auteur pense que la pratique de punyplus peut apporter une expérience positive nouvelle pour l'étude et la résolution des nouveaux problèmes pouvant être rencontrés.

The global stability of the Internet will probably be affected by some uses taking, like IDNA, a better advantage from its protocols. This should motivate a wide separated study. The author things that the punyplus practice may bring a positive added experience in the study and the solving of the new problems that may be encountered.

Section IANA

La valeur sélectionnée pour l'IMM devrait être enregistrée par l'IANA.

IANA section

The selected value of the UMI should be recorded by the IANA.

Remerciements

Je remercie particulièrement les membres du centre d'expertise sur les IDN de france@large pour leur soutien dédié et leurs contributions pertinentes.

Acknowledgments

I particularly thank the members of the france@large center of expertise on IDNs for their dedicated support and pertinent contributions.

Références

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

Personal tools