Vai al contenuto principale

Status List

Una status list è un elenco compatto e firmato che un emittente pubblica affinché chiunque detenga una delle sue credenziali possa essere controllato quanto alla revoca, senza che all'emittente venga chiesto proprio di quella credenziale.

L'elenco è una bitstring: a ogni credenziale rilasciata dall'emittente viene assegnato un indice al suo interno, e il bit in quella posizione indica se la credenziale è ancora valida, revocata o sospesa. Token Status List riserva uno o due bit per voce a seconda di quanti stati l'emittente deve distinguere, poiché sospesa è uno stato separato e reversibile rispetto a una revoca permanente. La credenziale porta con sé l'URL dell'elenco e il proprio indice, cosicché un verificatore recuperi l'elenco una volta, lo memorizzi nella cache per un periodo stabilito dall'emittente, e legga un singolo bit per ogni controllo successivo anziché chiamare l'emittente ogni volta. Poiché l'intero elenco viene scaricato in blocco e copre ogni credenziale mai rilasciata dall'emittente, l'emittente non viene mai a sapere quale credenziale sia stata controllata o da chi, poiché la massa nasconde il singolo caso: questa è la proprietà di privacy che rende le status list preferibili ai controlli di revoca per singola credenziale, che permetterebbero a un emittente di tracciare esattamente quando e quanto spesso una data credenziale viene usata. Compresso, un elenco che copre centinaia di migliaia di credenziali occupa pochi kilobyte, e gli elenchi vengono tipicamente ripubblicati su una programmazione fissa o tramite una rete di distribuzione dei contenuti, cosicché la copia in cache di un verificatore resti aggiornata senza un viaggio di andata e ritorno verso l'emittente per la maggior parte dei controlli. Le due specifiche in uso sono Token Status List per credenziali JWT e CWT, che l'ARF dell'EUDI adotta per le attestazioni SD-JWT VC e mdoc, e Bitstring Status List per il W3C Verifiable Credentials Data Model. Un emittente che invece vuole evitare del tutto i controlli di revoca può rilasciare credenziali di breve durata che semplicemente scadono, ma le status list restano il meccanismo preferito ovunque una credenziale abbia bisogno di un periodo di validità più lungo.

Un verificatore può capire quale credenziale qualcuno sta controllando osservando le richieste alla status list?

No, è proprio questo il punto di scaricare l'intero elenco. Poiché un verificatore recupera l'intera bitstring che copre ogni credenziale mai rilasciata dall'emittente, invece di chiedere di una credenziale specifica, l'emittente non può sapere a quale voce il verificatore sia interessato. Il singolo controllo è nascosto all'interno di un grande blocco di voci non correlate, ed è proprio questo a impedire che il controllo dello stato diventi un modo per tracciare l'uso della credenziale.

Torna al glossario