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:
-
Entfernen Sie alle von JSON angewendeten Escapes, um ein Array von Unicode-Codepunkten zu erzeugen.
-
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.
-
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.