En innføring i klientinitiert bakkanalautentisering (CIBA)

Av Natalia Moskaleva den 31. mai 2024

3 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" >En innføring i klientinitiert bakkanalautentisering (CIBA)</span>

Tradisjonelle OpenID Connect-godkjenningsflyter i nett- og mobilapplikasjoner baserer seg på viderekoblinger i nettleseren. Brukerne starter vanligvis autentiseringsprosessen i klientapplikasjonen på enheten sin, blir omdirigert via nettleseren til identitetsleverandøren for å autentisere seg, og går til slutt tilbake til klientapplikasjonen. Dette krever at brukerens primære enhet både håndterer autentisering og gir tilgang til klientapplikasjonen.

Omdirigeringsflyter fungerer godt når den samme enheten har tilgang til både klientapplikasjonen og identitetsleverandøren, og når brukeren initierer autentiseringsprosessen.

Men hva hvis du trenger å utløse autentiseringen fra én enhet, men fullføre den på en annen? I noen situasjoner kontrolleres for eksempel ikke klientapplikasjonen av sluttbrukeren, men autentisering er likevel påkrevd.

Det er her den nye CIBA-flyten tilbyr en løsning.

Hva er CIBA?

CIBA (Client Initiated Backchannel Authentication ) er en utvidelse av de tradisjonelle OpenID Connect-flytene der klientapplikasjonen initierer autentiseringsprosessen på vegne av sluttbrukeren.

I motsetning til tradisjonelle strømmer legger CIBA til rette for direkte kommunikasjon mellom klientapplikasjonen og OpenID Provider, slik at det ikke er behov for en nettleser i det hele tatt.

Med andre ord kreves det ingen interaksjon fra sluttbrukeren for å starte autentiseringsprosessen med CIBA. Dette åpner nye muligheter for sikre og brukervennlige autentiseringsløsninger.

Nøkkelbegreper for å forstå CIBA

Her er noen nyttige begreper å ha i bakhodet:

  • Frakoblet autentisering: CIBA skiller (frikobler) enheten der klientapplikasjonen kjøres ("forbruksenhet"), og enheten der brukeren autentiserer seg ("autentiseringsenhet").

  • Forbruksenheten starter CIBA-flyten ved å sende en autentiseringsforespørsel til OpenID Provider.

  • Autentiseringsenheten håndterer autentisering av sluttbrukeren. Den mottar varsler fra OpenID Provider, der brukeren blir bedt om å godkjenne eller avslå autentiseringsforespørsler.

  • OpenID Provider (Authentication Server) administrerer brukeridentiteter og håndterer autentiseringsforespørsler.

  • Backchannel-kommunikasjon: OpenID Provider og klientapplikasjonen kommuniserer via backchannel. Dette betyr at kun konfidensielle klienter (f.eks. tradisjonelle serverbaserte applikasjoner) kan bruke CIBA.

Når bør man bruke CIBA?

Noen viktige bruksområder for CIBA inkluderer:

Bevis på identiteten din overfor en kundesenteragent

Dette er et typisk eksempel som fremhever fordelene med den frikoblede flyten. Når en kundesentermedarbeider trenger å verifisere identiteten til en innringer, sender vedkommende en autentiseringsforespørsel til innringeren. Innringeren mottar et varsel på autentiseringsenheten sin - vanligvis en smarttelefon - for å bekrefte identiteten sin.

Finn ut mer om innringerautentisering >

Terminaler på utsalgssteder (POS)

POS-systemer kan sette i gang en betalingsautorisasjon, og brukeren godkjenner transaksjonen på telefonen sin.

IoT-enheter (tingenes internett)

IoT-enheter som smart-TV-er og hvitevarer mangler ofte praktiske inndatametoder.

CIBA gjør det mulig for disse enhetene å utløse en autentisering på brukerens smarttelefon, noe som er mer brukervennlig. En smart-TV kan for eksempel be deg om å autentisere deg på telefonen din før du får tilgang til en strømmetjeneste.

Et annet IoT-brukstilfelle er når du ber Alexa eller Siri om å foreta et kjøp. Før du fullfører betalingen, kan den virtuelle assistenten din bruke CIBA til å verifisere at det er riktig person som har bedt om kjøpet, ved å sende et varsel til smarttelefonen din.

Hvordan CIBA fungerer

La oss nå se nærmere på hvordan autentiseringsprosessen utspiller seg med CIBA:

  1. Klientapplikasjonen initierer en autentiseringsforespørsel: Klientapplikasjonen sender en CIBA-godkjenningsforespørsel til backchannel-godkjenningsendepunktet på OpenID Providerens autorisasjonsserver. Denne forespørselen inkluderer:

    • Klientlegitimasjon for autentisering
    • Omfang
    • En gyldig identifikator for en bruker som skal autentiseres (e-postadresse, personnummer eller en annen unik identifikator)
  2. Authorization Server svarer umiddelbart med en Authorization Request Identifier: Den unike auth_req_id brukes til å spore autentiseringsprosessen.

  3. Brukerautentisering: Autorisasjonsserveren bruker den oppgitte bruker-ID-en til å finne og be brukeren om å autentisere seg på autentiseringsenheten sin.

  4. Tokenutstedelse og -levering: Når brukeren har autentisert seg og gitt samtykke (hvis aktuelt), oppretter autorisasjonsserveren et ID-token, et tilgangstoken og eventuelt et oppdateringstoken.

    Klienten kan deretter bruke én av tre moduser for å hente tokens fra autorisasjonsserverens tokenendepunkt:
  • Poll: Klienten sjekker regelmessig etter tokens.
  • Ping: Klienten henter tokens fra token-endepunktet når den mottar et varsel fra OpenID Provider.
  • Push: OpenID Provideren leverer tokenene til klientens sluttpunkt for varsling.

CIBA sequence graphic

Vi introduserer svensk BankID-telefonautentisering (drevet av CIBA)

Svensk Bank ID-telefonautentisering gir en sikker metode for brukeridentifikasjon under telefonsamtaler. Det kan fungere på følgende måte:

  1. Brukeren ringer kundeservice i banken (eller en annen virksomhet).
  2. Kundeservicemedarbeideren taster inn brukerens personnummer i sitt system og sender en autentiseringsforespørsel til brukerens BankID-app.
  3. BankID-appen viser et telefonikon og bedriftens navn, og spør om brukeren har ringt bedriften.
  4. Brukeren svarer:
    • Hvis ja, fortsetter de å autentisere seg med en sikkerhetskode eller biometri
    • Hvis Nei, kan de avbryte prosessen.

se-bankid-phone-auth

Idura Verify levererBankID-telefonautentisering gjennom CIBA.

Oppsummering

CIBA gjør det mulig for utviklere å bygge brukerautentiseringsopplevelser som egner seg for scenarier der tradisjonell redirect-basert autentisering ikke er mulig.

Har du et spesifikt bruksområde i tankene? Ta kontakt med oss via e-post eller Slack for å diskutere det, eller dele tanker eller forespørsler. Vi vil gjerne høre fra deg.