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
| Aspect | RFC 2279 | RFC 3629 |
|---|---|---|
| Plage maximale | U+7FFFFFFF | U+10FFFF |
| Octets maximaux | 6 octets | 4 octets |
| Syntaxe ABNF | Non | Oui (Section 4) |
| Sécurité | Basique | Étendue |
| BOM | Basique | Étendu |
| Versions | Basique | Étendu |
Liens connexes
- Précédent : 11. Acknowledgements (Remerciements)
- Retour à l'accueil RFC 3629
- Suivant : 13. Normative References (Références normatives)