Status List visszavonás elmagyarázva
Az ellenőrzőnek, aki éppen most kapott meg egy hitelesítő okiratot, tudnia kell, hogy a kibocsátó még mindig kiáll-e mellette. A Token Status List erre úgy válaszol, hogy az ellenőrzőnek nem kell a kibocsátóval kapcsolatba lépnie az adott hitelesítő okirat ügyében: a hitelesítő okiraton belüli status állítás egy tömör listára mutat, és a listában egyetlen bit hordozza a választ.
A hitelesítő okiraton belüli status állítás
A Token Status Listet támogató kibocsátó a kiállítás pillanatában status állítást ad a hitelesítő okirathoz. Ez két dolgot tartalmaz: az idx-et, vagyis azt az indexet, amely ehhez a hitelesítő okirathoz tartozik a listán belül, és az uri-t, vagyis azt a Status List Token címét, amely tartalmazza azt. A hitelesítő okiraton egyébként semmi más nem változik, az állítás csupán egy mutató.
Kibocsátó
Indexet rendel a hitelesítő okirathoz, és beágyaz egy status állítást
Az állítást egyszer, a kiállításkor adják hozzá, és a hitelesítő okirat teljes élettartama alatt soha nem változik
Status állítás (a hitelesítő okiraton belül)
{
"status": {
"status_list": {
"idx": 4271,
"uri": "https://issuer.example/statuslists/employment-2026-q3"
}
}
}A Status List Token lekérése
A bemutatás pillanatában az ellenőrző lekéri az uri-t a status állításból. A válasz egy aláírt Status List Token: egy JWT, amelynek typ fejléce statuslist+jwt (vagy egy ezzel egyenértékű CWT), application/statuslist+jwt formátumban kiszolgálva. A hasznos terhe tartalmazza a tömörített bitsorozatot, és általában egy ttl értéket is, amely megmondja az ellenőrzőnek, meddig gyorsítótárazhatja az eredményt, mielőtt újra le kellene kérnie.
Ellenőrző
Beolvassa az idx és uri értékeket az imént bemutatott hitelesítő okirat status állításából
GET uri
Lekéri a Status List Tokent, és legfeljebb ttl másodpercig gyorsítótárazza
Status List Token hasznos teher (válasz)
{
"sub": "https://issuer.example/statuslists/employment-2026-q3",
"iat": 1789200000,
"exp": 1789804800,
"ttl": 43200,
"status_list": {
"bits": 2,
"lst": "eNrbuRgAAhcBXQ"
}
}A sub megismétli a lista saját URI-ját, hogy az ellenőrző meg tudja erősíteni, hogy a megfelelő tokent kérte le. Az iat és az exp határolja be magának a tokennek az érvényességét. A ttl, másodpercben megadva, az a maximális idő, ameddig az ellenőrző újra felhasználhatja a gyorsítótárazott másolatot, mielőtt újra le kellene kérnie a listát.
A bit dekódolása
Az lst egy bájttömb, base64url kódolással és DEFLATE tömörítéssel, zlib adatformátumban, amelyet az ellenőrző először kicsomagol. A bits megmondja, hány bitet foglal el a listán minden egyes hitelesítő okirat: 1, 2, 4 vagy 8 bitet. bits: 2 esetén az idx számú hitelesítő okirat az idx * 2 / 8 bájtban található, és az ellenőrző ennél az eltolásnál olvassa ki a két bitet, hogy megkapja az állapotértéket.
Kidolgozott példa: idx 4271, bits: 2
- bit_offset = idx * bits = 4271 * 2 = 8542
- byte_index = bit_offset / 8 = 1067
- bit_in_byte = bit_offset % 8 = 6
Az ellenőrző beolvassa a kicsomagolt tömb 1067. bájtját, kinyeri a 6. bittől kezdődő két bitet, és az eredményt összeveti az alábbi értéktáblázattal.
| Érték | Jelentés |
|---|---|
| 0x00 | VALID |
| 0x01 | INVALID |
| 0x02 | SUSPENDED |
| 0x03, 0x0C-0x0F | Alkalmazásspecifikus / fenntartott |
A megjelenített értékek bits: 2 esetére vonatkoznak. bits: 1 esetén csak a VALID (0) és az INVALID (1) fér el; a bits: 4 és a bits: 8 több helyet hagy az alkalmazásspecifikus értékeknek.
Miért marad kicsi a lista
A valós statuslisták túlnyomórészt nullákból állnak, mivel a kibocsátó által valaha kiállított hitelesítő okiratok többsége még mindig érvényes, az azonos bitekből álló sorozatok pedig jól tömöríthetők. A nyers bitsorozat DEFLATE tömörítése az, ami lehetővé teszi, hogy egy több százezer hitelesítő okiratot lefedő lista mérete átvitel közben mindössze néhány kilobájt maradjon, ez teszi gyakorlativá a teljes lista lekérését ahelyett, hogy a kibocsátótól egyetlen hitelesítő okiratról kérdeznénk.
Összesítés: listák előzetes felfedezése
A kibocsátó opcionálisan hozzáadhat egy aggregation_uri-t a Status List objektumhoz, amely egy olyan végpontra mutat, amely felsorolja az általa közzétett összes Status List Token URI-ját. Az ellenőrző, aki előre le akarja kérni és gyorsítótárazni akarja a listákat, mielőtt szüksége lenne rájuk, ahelyett hogy mindegyiket az arra hivatkozó első hitelesítő okiratból fedezné fel, ehelyett ezt a végpontot használhatja. Ez opcionális, a fent leírt alapfolyamat semmilyen módon nem függ tőle.
Kapcsolódó fogalmak
Gyakran ismételt kérdések
Az ellenőrző minden egyes vizsgált hitelesítő okirathoz külön listát kér le?
Nem, egyetlen Status List Token lefedi az összes hitelesítő okiratot, amelyet a kibocsátó belefoglalt, akár több százezret is. Az ellenőrző egyszer kéri le ugyanazt a tokent, és minden vizsgált hitelesítő okirathoz más bitet olvas ki, majd a gyorsítótárazott másolatot legfeljebb ttl másodpercig használja újra, mielőtt újra lekérné.
Megtudhatja a kibocsátó, hogy az ellenőrző melyik hitelesítő okiratot nézte meg?
Nem. Az ellenőrző egyetlen kéréssel letölti a teljes tömörített bitsorozatot, és a szükséges bitet helyben olvassa ki, így a kibocsátó által látott kérés sem indexet, sem hitelesítő okirat azonosítót nem tartalmaz, csupán egy GET kérést magára a listára.
Mi a különbség a suspended és az invalid állapot között?
Az INVALID (0x01) az, ahogyan a specifikáció referencianyilvántartása a véglegesen visszavont hitelesítő okiratot jelöli. A SUSPENDED (0x02) egy különálló, visszafordítható állapot, amelyet a kibocsátó szintén beállíthat, majd később megszüntethet, például egy vita kivizsgálása során. A kettő megkülönböztetéséhez bejegyzésenként legalább két bit szükséges (bits: 2), így a bits: 1 értéket használó Status List Token csak az érvényes és az érvénytelen állapotot tudja megkülönböztetni.
Mire szolgál az aggregation_uri?
Ez egy opcionális mutató a Status List objektumon belül egy összesítő végpontra, amely felsorolja az adott kibocsátó összes Status List Tokenjének URI-ját. Az ellenőrző, aki előre fel akarja melegíteni a gyorsítótárát, vagy fel akar fedezni még nem látott listákat, ahelyett hogy megvárná, amíg egy hitelesítő okirat megnevez egyet, lekérheti ezt a végpontot.
Források
Ez az oldal tájékoztató jellegű, és nem minősül jogi tanácsadásnak. Mérvadó útmutatásért forduljon közvetlenül az IETF specifikációhoz.