Aller au contenu principal

12. Changes from RFC 2279 (Changements par rapport à RFC 2279)

Cette section résume les changements apportés par rapport à la RFC 2279, qui est rendue obsolète par ce mémo.

1. Réduction de la portée à U+10FFFF

RFC 2279 (ancienne version)

  • Permettait le codage de numéros de caractères jusqu'à U+7FFFFFFF
  • Nécessitait des séquences jusqu'à 6 octets

RFC 3629 (cette version)

  • Limite la portée à U+10FFFF (correspondant à la plage UTF-16)
  • Ne nécessite que des séquences jusqu'à 4 octets

Justification

Ce changement a été fait pour correspondre à la contrainte des normes Unicode et ISO/IEC 10646 selon laquelle aucun caractère ne sera jamais attribué au-delà de U+10FFFF. Cela rend UTF-8 équivalent du point de vue des caractères à UTF-16.

2. Nouvelle syntaxe ABNF

Ajout de la Section 4

Une nouvelle section complète a été ajoutée pour fournir une syntaxe ABNF formelle décrivant précisément les séquences d'octets UTF-8 valides.

Objectif

Cette syntaxe aide les implémenteurs à :

  • Valider correctement les séquences UTF-8
  • Rejeter les séquences invalides (en particulier les formes trop longues)
  • Éviter les vulnérabilités de sécurité

3. Amélioration de la Section 5 (Versions des normes)

RFC 2279

  • Section brève sur les versions

RFC 3629

  • Discussion étendue sur :
    • Le « désordre coréen » (Korean mess)
    • L'engagement de non-répétition de changements incompatibles
    • Les implications pour les étiquettes MIME

4. Amélioration de la Section 6 (BOM)

RFC 2279

  • Discussion limitée sur le BOM

RFC 3629

  • Discussion considérablement étendue incluant :
    • L'utilisation du BOM comme signature
    • Les recommandations pour les protocoles
    • Les directives d'implémentation
    • L'introduction de U+2060 WORD JOINER dans Unicode 3.2

5. Amélioration de la Section 10 (Sécurité)

RFC 2279

  • Considérations de sécurité basiques

RFC 3629

  • Discussion considérablement étendue incluant :
    • Les attaques par formes trop longues
    • Les problèmes de paires de substitution
    • Les implications de la normalisation Unicode
    • Des exemples concrets d'attaques
    • Des recommandations de sécurité détaillées

6. Clarifications terminologiques

Terminologie améliorée

  • « Numéro de caractère » (character number)
  • « Position de code » (code position)
  • « Point de code » (code point)
  • « Valeur scalaire Unicode » (Unicode scalar value)

Ces termes sont utilisés de manière plus cohérente tout au long du document.

7. Références mises à jour

RFC 2279

  • Faisait référence à Unicode 2.0 et à ISO/IEC 10646:1993

RFC 3629

  • Fait référence à Unicode 3.2 et à ISO/IEC 10646:2000 avec amendements

Résumé des améliorations

AspectRFC 2279RFC 3629
Plage maximaleU+7FFFFFFFU+10FFFF
Octets maximaux6 octets4 octets
Syntaxe ABNFNonOui (Section 4)
SécuritéBasiqueÉtendue
BOMBasiqueÉtendu
VersionsBasiqueÉtendu

Liens connexes