Zum Inhalt springen
ecdsa.com

RS256

Der JWS-Algorithmus RSASSA-PKCS1-v1_5 mit SHA-256 (RFC 7518 §3.3), historisch der Standard bei Anbietern für OpenID Connect, mit Signaturen so lang wie der RSA-Modul (256 Byte bei 2048-Bit-Schlüsseln).
Auch geschrieben alsRS256RSASSA-PKCS1-v1_5 SHA-256COSE -257

OpenID Connect Core verlangt, dass Anbieter RS256 für ID-Tokens unterstützen; deshalb signieren Google, Microsoft Entra ID, Okta und Auth0 standardmäßig damit. Schlüssel müssen mindestens 2048 Bit lang sein (RFC 7518 §3.3); der JWK enthält kty mit dem Wert RSA sowie n und e. Die Signaturen sind deterministisch: Derselbe Schlüssel und dieselbe Eingabe ergeben immer dieselbe Ausgabe.

Die Prüfung ist günstig (etwa 114.000 pro Sekunde bei 2048-Bit-Schlüsseln auf einem Kern eines Apple M4 Max mit OpenSSL 3.6.5), das Signieren langsam (etwa 3.000 pro Sekunde); das passt zu Ausstellern, die weit seltener signieren, als eine Relying Party prüft. Der Preis ist die Größe: Eine 2048-Bit-Signatur umfasst 342 Zeichen in base64url, eine 3072-Bit-Signatur 512.

Der klassische Fallstrick ist Algorithm Confusion (Verwechslung des Algorithmus): Ein Verifizierer, der mit demselben Schlüsselobjekt auch HS256 akzeptiert, lässt sich dazu bringen, den öffentlichen Schlüssel des RSA-Schlüsselpaars als HMAC-Secret zu verwenden. Lege RS256 pro Schlüssel fest. PS256 nutzt dieselben Schlüssel mit dem stärkeren PSS-Padding.

Standards und Quellen

Alle Begriffe