12. Änderungen gegenüber RFC 2279 (Changes from RFC 2279)
Dieser Abschnitt fasst die Änderungen gegenüber RFC 2279 zusammen, die durch dieses Memo obsolet gemacht wird.
1. Bereichsreduzierung auf U+10FFFF
RFC 2279 (alte Version)
- Erlaubte Kodierung von Zeichennummern bis U+7FFFFFFF
- Erforderte Sequenzen bis zu 6 Bytes
RFC 3629 (diese Version)
- Begrenzt den Bereich auf U+10FFFF (entsprechend dem UTF-16-Bereich)
- Erfordert nur Sequenzen bis zu 4 Bytes
Begründung
Diese Änderung wurde vorgenommen, um der Einschränkung der Unicode- und ISO/IEC 10646-Standards zu entsprechen, dass niemals Zeichen über U+10FFFF zugewiesen werden. Dies macht UTF-8 hinsichtlich der Zeichen äquivalent zu UTF-16.
2. Neue ABNF-Syntax
Hinzufügung von Abschnitt 4
Ein vollständig neuer Abschnitt wurde hinzugefügt, um eine formale ABNF-Syntax bereitzustellen, die gültige UTF-8-Byte-Sequenzen präzise beschreibt.
Zweck
Diese Syntax hilft Implementierern:
- UTF-8-Sequenzen korrekt zu validieren
- Ungültige Sequenzen abzulehnen (insbesondere überlange Formen)
- Sicherheitsschwachstellen zu vermeiden
3. Verbesserung von Abschnitt 5 (Versionen der Standards)
RFC 2279
- Kurzer Abschnitt über Versionen
RFC 3629
- Erweiterte Diskussion über:
- Das „Koreanische Durcheinander" (Korean mess)
- Die Verpflichtung, keine inkompatiblen Änderungen zu wiederholen
- Implikationen für MIME-Labels
4. Verbesserung von Abschnitt 6 (BOM)
RFC 2279
- Begrenzte BOM-Diskussion
RFC 3629
- Erheblich erweiterte Diskussion einschließlich:
- Verwendung von BOM als Signatur
- Empfehlungen für Protokolle
- Implementierungsrichtlinien
- Einführung von U+2060 WORD JOINER in Unicode 3.2
5. Verbesserung von Abschnitt 10 (Sicherheit)
RFC 2279
- Grundlegende Sicherheitsüberlegungen
RFC 3629
- Erheblich erweiterte Diskussion einschließlich:
- Angriffe mit überlangen Formen
- Ersatzpaar-Probleme
- Implikationen der Unicode-Normalisierung
- Konkrete Angriffsbeispiele
- Detaillierte Sicherheitsempfehlungen
6. Terminologische Klarstellungen
Verbesserte Terminologie
- „Zeichennummer" (character number)
- „Code-Position" (code position)
- „Code-Point" (code point)
- „Unicode Scalar Value" (Unicode scalar value)
Diese Begriffe werden im gesamten Dokument konsistenter verwendet.
7. Aktualisierte Referenzen
RFC 2279
- Verwies auf Unicode 2.0 und ISO/IEC 10646:1993
RFC 3629
- Verweist auf Unicode 3.2 und ISO/IEC 10646:2000 mit Amendments
Zusammenfassung der Verbesserungen
| Aspekt | RFC 2279 | RFC 3629 |
|---|---|---|
| Maximaler Bereich | U+7FFFFFFF | U+10FFFF |
| Maximale Bytes | 6 Bytes | 4 Bytes |
| ABNF-Syntax | Nein | Ja (Abschnitt 4) |
| Sicherheit | Grundlegend | Erweitert |
| BOM | Grundlegend | Erweitert |
| Versionen | Grundlegend | Erweitert |
Verwandte Links
- Zurück: 11. Danksagungen (Acknowledgements)
- Zurück zur RFC 3629 Startseite
- Weiter: 13. Normative Referenzen (Normative References)