1. Einführung
OAuth 2.0 [RFC6749] öffentliche Clients sind anfällig für Autorisierungscode-Abfanggriffe (Authorization Code Interception Attack).
Bei diesem Angriff fängt der Angreifer den vom Autorisierungsendpunkt zurückgegebenen Autorisierungscode in einem Kommunikationspfad ab, der nicht durch Transport Layer Security (TLS) geschützt ist, wie z.B. die Inter-Anwendungskommunikation innerhalb des Betriebssystems des Clients.
Sobald der Angreifer Zugriff auf den Autorisierungscode erlangt hat, kann er ihn verwenden, um das Zugriffstoken (Access Token) zu erhalten.
Um diesen Angriff abzuschwächen, nutzt diese Erweiterung einen dynamisch erstellten kryptographisch zufälligen Schlüssel namens "Code-Verifizierer" (Code Verifier). Für jede Autorisierungsanfrage wird ein eindeutiger Code-Verifizierer erstellt, und sein transformierter Wert, genannt "Code-Challenge", wird an den Autorisierungsserver gesendet, um den Autorisierungscode zu erhalten.