Hva er SD-JWT-baserte verifiserbare legitimasjonsopplysninger?

Av Natalia Moskaleva den 25. juni 2025

7 min lesetid

<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >Hva er SD-JWT-baserte verifiserbare legitimasjonsopplysninger?</span>

Verifiserbar legitimasjon er i ferd med å endre det digitale identitetsområdet og vil snart bli en del av hverdagen vår.

I Europa krever den nye eIDAS 2.0-forordningen at det opprettes en EU Digital Identity Wallet (EUDI Wallet) for håndtering av verifiserbare legitimasjonsdokumenter. Dette betyr at alle EUs medlemsland må tilby en digital identitetslommebok til interesserte borgere innen 2026. Som følge av denne forpliktelsen er de relevante standardene og tekniske spesifikasjonene i rask utvikling.

Her kommer SD-JWT-standarden og anvendelsen av den i SD-JWT-baserte verifiserbare legitimasjonsdokumenter.

JWT og SD-JWT: Forstå forskjellen

Hvis du har jobbet med identitets- og autentiseringssystemer før, har du sannsynligvis støtt på JSON Web Tokens (JWT-er). JWT-er har blitt standarden for tradisjonell nettautentisering: De er mye brukt, enkle å bruke og pålitelige.

En begrensning med JWT-er er imidlertid at all informasjonen som ligger i JWT-kravene, deles med den som mottar dem. Behovet for en løsning som bedre ivaretar personvernet, førte til utviklingen av et nytt SD JWT-format (Selective Disclosure JWT). I motsetning til tradisjonelle JWT-er er SD-JWT-er utformet slik at de bare avslører nødvendig informasjon.

JWT_and_SD-JWT

Hva er selektiv avsløring?

Selektiv utlevering lar enkeltpersoner bestemme hvilken informasjon de ønsker å utlevere til en tredjepart. Dette skiller seg fra standardmetoder der alle opplysninger må utleveres på én gang.

Bildet over illustrerer denne forskjellen ved å sammenligne den tradisjonelle JWT og SD-JWT: I SD-JWT er påstandene hashet og derfor skjult, og det kreves tilleggsinformasjon for å få tilgang til dem, én om gangen. (Vi skal se hvordan dette gjøres senere).

Selektiv offentliggjøring sikrer bedre personvern og kontroll over personopplysningene. Det er i tråd med personvernregelverket og passer godt med den desentraliserte identitetsmodellen, som gir enkeltpersoner større selvbestemmelse over personopplysningene sine.

SD-JWT-baserte verifiserbare legitimasjoner

SD-JWT-baserte verifiserbare legitimasjonsopplysninger(SD-JWT VC) er et nyutviklet format for å uttrykke verifiserbare legitimasjonsopplysninger, basert på SD-JWT-standarden vi nettopp har diskutert.

Den viktigste funksjonen er muligheten for selektiv utlevering av opplysninger. Dette gjør at innehavere av digitale legitimasjonsbevis, altså personer som har eller bruker slike, kan dele bare bestemte opplysninger i stedet for å måtte gi fra seg all informasjonen som ligger i et verifiserbart legitimasjonsbevis.

Det er valgfritt å bruke selektiv utlevering av opplysninger i SD-JWT-VC-er. Formatet kan også brukes uten krav om selektiv offentliggjøring.

Ta en titt på Ordliste for verifiserbar legitimasjon hvis du ikke er kjent med emnet. Den forklarer modellen Utsteder-Innehaver-Verifikator og andre begreper som brukes i denne artikkelen.

Issuer-Holder-Verifier-Model


Hvordan det fungerer: en kort teknisk oversikt

Når en utsteder lager en SD-JWT VC til en innehaver, inkluderer utstederen bare hashverdiene av opplysningene i den signerte delen av legitimasjonsbeviset. Deretter legges klartekstversjonene av de skjulte opplysningene, kalt «disclosures», ved som et tillegg til den signerte delen av SD-JWT-en.

Når informasjon skal presenteres for en verifikator, kan innehaveren selv velge hvilke opplysninger som skal deles, ved å inkludere bare de tilhørende «disclosures» i SD-JWT-en som sendes til verifikatoren. Verifikatoren kontrollerer hashene og signaturen for å bekrefte at de delte opplysningene opprinnelig var en del av JWT-en som ble signert av utstederen. Samtidig får verifikatoren ikke tilgang til opplysninger som ikke er inkludert i de vedlagte «disclosures».

La oss nå se nærmere på hvordan denne prosessen fungerer.

Utstedelse av en SD-JWT VC

1. Opprettelse av JWT-krav: Utstederen starter med å opprette JWT-påstander med personlig informasjon som skal inkluderes i en legitimasjon utstedt til innehaveren. Påstandene kan se ut som følger:

{
  "firstname": "Alice",
  "lastname": "Doe",
  "ssn": "197802020575",
  "id": "1234"
}

2. Opprettelse av opplysninger: Utstederen velger hvilke opplysninger som skal kunne deles selektivt, eller lar være å velge noen dersom brukstilfellet ikke krever det. Hver opplysning som kan deles, gjøres om til en «disclosure» ved å sette sammen feltnavn og verdi og legge til et salt foran: salt + attributtnavn + verdi. Saltet forhindrer angripere i å gjette verdier i klartekst via ordbokangrep.

Resultatet settes inn i en JSON-matrise. For eksempel, dersom fornavn, etternavn og ssn er valgt for selektiv deling, kan resultatet se slik ut:

["6403945e2c0a34a4","firstname","Alice"]
["06cbb1a51984f444","lastname","Doe"]
["f3e080eb88b5f735","ssn","197802020575"]

Legg merke til at vi ikke legger til Disclosure for "id"-påstanden: Dette betyr at "id"-påstanden alltid vil være tilgjengelig for verifikatoren.

JSON-arraysene konverteres deretter til base64-strenger, som vil representere Disclosures:

WyI2NDAzOTQ1ZTJjMGEzNGE0IiwiZmlyc3RuYW1lIiwiQWxpY2UiXQ
WyIwNmNiYjFhNTE5ODRmNDQ0IiwibGFzdG5hbWUiLCJEb2UiXQ
WyJmM2UwODBlYjg4YjVmNzM1Iiwic3NuIiwiMTk3ODAyMDIwNTc1Il0

Senere, når det er på tide å sende legitimasjonen til innehaveren, vil utstederen inkludere opplysningene i en SD-JWT VC ved å sammenkoble dem til den signerte delen av legitimasjonen med et tilde-tegn (~).

Opplysninger er en kombinasjon av et salt, et kravnavn i klartekst og en kravverdi i klartekst, som brukes til å beregne et hash-digest for det respektive kravet.

3. Opprettelse av utstedersignert JWT: Utstederen oppretter en SD-JWT-nyttelast som inkluderer de hashede versjonene av «disclosures» (i stedet for klartekstkravene) i en matrise med navnet"_sd". Den resulterende nyttelasten kan se ut som følger:

{
  "id": "1234",
  "_sd": [
    "6phoD5MBMETkuf5BYia7JD01dubqJSwGuz-o_9M206E", 
    "8jxEyPj9mMqJ6DQW6xiQrkyjryn77Sbuc2N44ScEGlE", 
    "D45wfxz18dwlcKeuvFppyAPl4rc-WE2Fn3f5fg3W1Ow"
  ],
  "_sd_alg": "SHA-256"
}

Klartekstkravene fra trinn 1 er nå erstattet av de hashede verdiene av de tilsvarende opplysningene. Merk at SD-JWT-legitimasjonen kan inneholde klartekstpåstander (f.eks."id") ved siden av påstandene som kan deles selektivt.

_sd_alg angir algoritmen som brukes for hashing.

Når nyttelasten er oppdatert, legger utstederen til en SD-JWT Header med typeverdien vc+sd-jwt og en algoritme etter eget valg, f.eks:

{
  "alg": "ES256",
  "typ": "vc+sd-jwt"
}

og signerer tokenet. Dette danner den såkalte utstedersignerte JWT-en.

4. Valgfri nøkkelbinding: Før utstederen signerer SD-JWT-nyttelasten i forrige trinn, kan utstederen eventuelt inkludere en offentlig nøkkel som er knyttet til innehaveren - eller en referanse til den - i nyttelastdelen av den utstedersignerte JWT-en. Dette er en forutsetning for at innehaveren skal kunne opprette en Key Binding JWT (KB-JWT) på verifiseringstidspunktet.

Kryptografisk nøkkelbinding gjør det mulig for innehaveren å demonstrere legitim besittelse av en SD-JWT VC ved å bevise kontroll over den samme private nøkkelen under både utstedelse og presentasjon. En SD-JWT med nøkkelbinding inneholder en offentlig nøkkel, eller en referanse til en offentlig nøkkel, som tilsvarer den private nøkkelen som innehaveren kontrollerer.

Med andre ord gjør tilstedeværelsen av KB JWT det mulig for innehaveren å bekrefte at han eller hun er den samme personen som legitimasjonen er utstedt til, når dataene presenteres for verifikatoren. I tillegg sikrer det at opplysningene faktisk ble valgt av innehaveren.

5. SD-JWT VC sendes til innehaveren: Til slutt kombinerer utstederen den utstedersignerte JWT-en med opplysningene atskilt med tilder ('~') og sender legitimasjonen til innehaveren:

Innehaveren vil ha tilgang til både SD-JWT-legitimasjonen og alle opplysningene. Dette betyr at innehaveren kan se gjennom innholdet i legitimasjonen og velge hvilke opplysninger som skal deles under transaksjoner med verifisører.

Deling av en SD-JWT VC

Når innehaveren er klar til å presentere informasjonen for en verifikator, deler han eller hun den opprinnelige SD-JWT-legitimasjonen sammen med de valgte opplysningene og en valgfri Key Binding JWT sammenkoblet med et tilde-tegn ('~') i en SD-JWT-presentasjon:

Hvis for eksempel innehaveren vår, Alice, velger å dele kun fornavnet sitt, vil verifisereren motta:

eyJ0eXAiOiJzZCtqd3QiLCJhbGciOiJFUzI1NiJ9.eyJpZCI6IjEyMzQiLCJfc2QiOlsiNnBob0Q1TUJNRVRrdWY1QllpYTdKRDAxZHVicUpTd0d1ei1vXzlNMjA2RSIsIjhqeEV5UGo5bU1xSjZEUVc2eGlRcmt5anJ5bjc3U2J1YzJONDRTY0VHbEUiLCJENDV3Znh6MThkd2xjS2V1dkZwcHlBUGw0cmMtV0UyRm4zZjVmZzNXMU93Il0sIl9zZF9hbGciOiJTSEEtMjU2In0.T71daVMwfh9sd_9II_Wr67BHP4shOjhJ0vvqiC8tYrvTae8XirqnizIEpUoH7lEzKV5MaAlFZ8z2Tq5IRgXNfw~WyI2NDAzOTQ1ZTJjMGEzNGE0IiwiZmlyc3RuYW1lIiwiQWxpY2UiXQ~

Verifisering av en SD-JWT VP

1. Selektiv deling av opplysninger: Under verifiseringsprosessen ber verifikatoren om et bestemt sett med påstander. Mekanismen for selektiv deling av opplysninger gjør det mulig for innehaveren å dele kun de nødvendige påstandene ved å sende den opprinnelige SD-JWT-en sammen med de opplysningene som er nødvendige for verifiseringen.

2. Verifisering av opplysninger: Når verifikatoren mottar de delte opplysningene og SD-JWT, kan den bekrefte at de delte opplysningene er en del av SD-JWT. Dette gjøres ved å hashe de mottatte opplysningene ved hjelp av den samme algoritmen som utstederen brukte under utstedelsesprosessen.

3. Hash-sammenligning og manipuleringskontroll: Verifikatoren sammenligner deretter de hashede verdiene for de delte opplysningene med verdiene i SD-JWT. Hvis de hashede verdiene stemmer overens, kan verifisereren være sikker på at de delte verdiene ikke har blitt manipulert og faktisk er en del av den opprinnelige SD-JWT-en.

4. Kontroll av nøkkelbinding JWT: Hvis kontrolløren krever nøkkelbinding for å bevise at innehaveren er den rettmessige eieren av legitimasjonen, blir innehaveren bedt om å bevise at han eller hun er i besittelse av en kryptografisk nøkkel som det refereres til i legitimasjonen.

Utstedelse og presentasjon av SD-JWT VC er illustrert i diagrammene nedenfor:

SD-JWT_Verifiable_Credential_issuance

SD-JWT-VC_Verifiable_Presentation

Brukstilfeller fra den virkelige verden

Selektiv offentliggjøring kan være verdifullt i mange situasjoner. For eksempel:

Aldersverifisering: Tenk på en person som deltar på et arrangement eller foretar et kjøp der aldersbekreftelse er obligatorisk. I stedet for å dele all personlig informasjon, kan de velge å bare oppgi f.eks. fødselsdato. På denne måten kan personen oppfylle kravene til arrangementet, samtidig som personvernet ivaretas.

Bankvirksomhet: Kundene kan kun dele den informasjonen som kreves for å gjennomføre en finansiell transaksjon på en sikker måte.

Utdanning: Studenter kan selektivt oppgi sin akademiske bakgrunn ved kun å dele relevante karakterutskrifter, vitnemål eller annen informasjon når de søker om praksisplasser, jobber eller videreutdanning.

Ansettelse: Ansettelsesansvarlige kan bruke selektiv offentliggjøring til å verifisere utdannings- og ansettelseshistorikken til jobbsøkere, samtidig som de bare får tilgang til den minimumsinformasjonen som er nødvendig for å ta informerte ansettelsesbeslutninger.

Helsetjenester: Pasienter kan utlevere sin sykehistorie selektivt, slik at de kun oppgir den informasjonen som kreves for en bestemt prosedyre eller behandling.

Selektiv utlevering er spesielt fordelaktig i situasjoner der visse personopplysninger er sensitive eller irrelevante for mottakeren. Ved å dele informasjon selektivt reduserer innehaveren risikoen for å avsløre sensitiv informasjon, samtidig som verifikatorens krav oppfylles.

Sammendrag

SD-JWT bygger på et veletablert JWT-format og gir et grunnlag for å skape verifiserbare legitimasjoner som både er enkle å behandle og som kan utleveres selektivt.

Selv om det ikke er det eneste formatet som tilbyr selektiv avsløring, har SD-JWT blitt en integrert del av den nyeste EUDI Wallet Architecture and Reference Framework og har allerede fått stor utbredelse i hele Europa. Etter hvert som flere organisasjoner implementerer SD-JWT VC-løsninger, vil den nye standarden sannsynligvis fortsette å være utbredt i overskuelig fremtid.