JSON Web Algorithms (JWA)

JSON Web Algorithms (JWA), RFC 7518, benoemt de cryptografische algoritmen die JWS en JWE gebruiken, zoals RS256, ES256 en HS256.

JSON Web Algorithms (JWA) is de specificatie van de Internet Engineering Task Force (IETF), gepubliceerd als RFC 7518, die de cryptografische algoritmen benoemt die gebruikt mogen worden met JSON Web Signature (JWS) en JSON Web Encryption (JWE), en die precies vastlegt hoe elk algoritme moet worden toegepast. Waar JWS en JWE de container beschrijven - welk headerveld wat bevat, hoe de onderdelen tot een compacte string worden samengevoegd - levert JWA de ingredientenlijst: een korte naam zoals RS256 of A128GCM die de alg- of enc-waarde van een header draagt, en die verwijst naar een precies, interoperabel recept in plaats van een vage algoritmenaam.

De namen bestrijken de algoritmefamilies die een lezer elders in dit glossarium tegenkomt:

  • HMAC: HS256, HS384, HS512 - een gedeeld geheim gecombineerd met een hashfunctie, vooral gebruikt waar beide partijen elkaar al een gemeenschappelijke sleutel toevertrouwen.
  • RSA-handtekeningen: RS256 en de RSA-PSS-varianten PS256, PS384, PS512 - ondertekenen met een privesleutel van RSA.
  • ECDSA-handtekeningen: ES256, ES384, ES512 - ondertekenen met elliptic curve cryptography, wat bij gelijke sterkte kortere sleutels oplevert.
  • AES-gebaseerde versleuteling: A128GCM, A192GCM, A256GCM voor de inhoudsversleuteling, samen met key-management-algoritmen zoals RSA-OAEP en ECDH-ES die de content-encryptiesleutel binnen een JWE beschermen of overeenkomen.

Let op: de specificatie definieert ook een algoritme genaamd none, voor een token zonder enige handtekening. Een verifier die none niet weigert terwijl een ondertekend token wordt verwacht, accepteert een vervalst token even makkelijk - de alg-waarde die een header claimt, mag nooit op zichzelf worden vertrouwd, alleen na controle tegen wat de verifier daadwerkelijk verwacht.

Veelgestelde vragen

Terug naar begrippenlijst