Aller au contenu
ecdsa.com

SD-JWT (divulgation sélective pour les JWT)

Le format de la RFC 9901 (novembre 2025) dans lequel un émetteur signe des condensats salés de claims, et le détenteur ne révèle que les claims choisis en envoyant les divulgations correspondantes, avec, en option, un JWT de key binding.
Autres graphiesSD-JWTSelective Disclosure JWTRFC 9901SD-JWT+KB

Pour chaque claim divulgable sélectivement, l’émetteur construit une divulgation (l’encodage base64url d’un tableau JSON contenant un sel, le nom du claim et sa valeur) et place son condensat (SHA-256, sauf si _sd_alg indique autre chose) dans un tableau _sd de la charge utile signée ; les éléments de tableau utilisent à la place des entrées .... La présentation est issuer-JWT~disclosure~disclosure~…~, suivie d’un JWT de key binding facultatif. Des condensats leurres masquent le nombre de claims existants.

Le JWT de key binding (typ kb+jwt) prouve que la partie qui effectue la présentation détient la clé désignée dans le claim cnf du JWT de l’émetteur ; il contient iat, aud, nonce et sd_hash, un condensat calculé sur le SD-JWT présenté. Les vérificateurs recalculent le condensat de chaque divulgation, contrôlent que chacun figure exactement une fois, vérifient la signature de l’émetteur, puis le key binding.

SD-JWT est une brique de base : SD-JWT VC (un Internet-Draft) y ajoute un type d’attestation (vct), le statut et la découverte des clés de l’émetteur, et constitue l’un des deux formats d’attestation du portefeuille européen d’identité numérique (EU Digital Identity Wallet). Les présentations d’une même attestation peuvent être corrélées par la signature de l’émetteur ; les portefeuilles demandent donc des lots d’attestations à usage unique. L’inspecteur SD-JWT décode les présentations localement.

Normes et références

Tous les termes