Zum Hauptinhalt springen

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

AspektRFC 2279RFC 3629
Maximaler BereichU+7FFFFFFFU+10FFFF
Maximale Bytes6 Bytes4 Bytes
ABNF-SyntaxNeinJa (Abschnitt 4)
SicherheitGrundlegendErweitert
BOMGrundlegendErweitert
VersionenGrundlegendErweitert