Zum Hauptinhalt springen

4. String Operations (Zeichenkettenoperationen)

Die Verarbeitung bestimmter OAuth 2.0-Nachrichten erfordert den Vergleich von Werten in der Nachricht mit bekannten Werten. Beispielsweise können Mitgliedsnamen in einer Metadatenantwort mit einem bestimmten Mitgliedsnamen wie "issuer" verglichen werden. Der Vergleich von Unicode [UNICODE] Zeichenketten hat jedoch erhebliche Sicherheitsauswirkungen.

Daher müssen (MUST) Vergleiche zwischen JSON-Zeichenketten und anderen Unicode-Zeichenketten wie folgt spezifiziert durchgeführt werden:

  1. Entfernen Sie alle von JSON angewendeten Escapes, um ein Array von Unicode-Codepunkten zu erzeugen.

  2. Unicode-Normalisierung (Unicode Normalization) [USA15] darf (MUST NOT) zu keinem Zeitpunkt auf die JSON-Zeichenkette oder die Zeichenkette, mit der sie verglichen wird, angewendet werden.

  3. Der Vergleich zwischen zwei Zeichenketten muss (MUST) als Unicode-Codepunkt-zu-Codepunkt-Gleichheitsvergleich (Unicode code-point-to-code-point equality comparison) durchgeführt werden.

Beachten Sie, dass dies derselbe Gleichheitsvergleichsprozess ist wie in Abschnitt 8.3 von [RFC8259] beschrieben.