Status List
Une status list est une liste compacte et signée qu'un émetteur publie afin que toute personne détenant l'un de ses credentials puisse être contrôlée quant à la révocation, sans que l'émetteur soit interrogé sur ce credential en particulier.
La liste est une bitstring : chaque credential remis par l'émetteur se voit attribuer un index dans celle-ci, et le bit à cet index indique si le credential est toujours valide, révoqué ou suspendu. Token Status List permet à un émetteur de choisir 1, 2, 4 ou 8 bits par entrée selon le nombre d'états qu'il doit distinguer, car la suspension est un état réversible distinct d'une révocation permanente. Le credential porte l'URL de la liste et son propre index, si bien qu'un vérificateur récupère la liste une fois, la met en cache pendant une durée fixée par l'émetteur, et lit un seul bit à chaque contrôle ultérieur plutôt que d'appeler l'émetteur à chaque fois. Comme la liste entière est téléchargée en une fois et couvre chaque credential jamais remis par l'émetteur, l'émetteur n'apprend jamais quel credential a été consulté ni par qui, car le nombre dissimule l'individu : c'est cette propriété de confidentialité qui rend les status lists préférables aux contrôles de révocation par credential, qui permettraient à un émetteur de suivre exactement quand et à quelle fréquence un credential donné est utilisé. Compressée, une liste couvrant des centaines de milliers de credentials tient en quelques kilooctets, et les listes sont généralement republiées selon un calendrier fixe ou via un réseau de diffusion de contenu, si bien que la copie en cache d'un vérificateur reste à jour sans aller-retour vers l'émetteur pour la plupart des contrôles. Les deux spécifications en usage sont Token Status List pour les credentials JWT et CWT, que l'ARF EUDI adopte pour les attestations SD-JWT VC et mdoc, et Bitstring Status List pour le modèle de données des verifiable credentials du W3C. Un émetteur qui souhaite au contraire éviter entièrement les contrôles de révocation peut délivrer des credentials de courte durée qui expirent simplement, mais les status lists restent le mécanisme de choix partout où un credential a besoin d'une période de validité plus longue.
Termes associés
Un vérificateur peut-il déterminer quel credential quelqu'un vérifie en observant les requêtes vers la status list ?
Non, c'est justement l'intérêt de télécharger la liste entière. Comme un vérificateur récupère toute la bitstring couvrant chaque credential jamais délivré par l'émetteur, plutôt que de demander à propos d'un credential précis, l'émetteur ne peut pas savoir quelle entrée intéresse le vérificateur. Le contrôle individuel est dissimulé au sein d'un grand lot d'entrées sans rapport, ce qui empêche le contrôle de statut de devenir un moyen de suivre l'usage d'un credential.