Systemarkitektur for BankID FOI

Tillitskjeden i BankID er fundamentert i en Rot-CA som eies av Sparebankenes servicekontor og Finansnæringens servicekontor i fellesskap. Bankforeningenes Rot-CA utsteder sertifikater til bankenes nivå-1 CA'er. BankID-infrastrukturen er bygget opp med grunnlag i Regler om BankID som blant annet innebærer samtrafikk mellom alle banker i Norge som utsteder BankID. Hver enkelt bank er en selvstendig sertifikatutsteder, men av praktiske årsaker har enkelte banker (innen bankgrupperinger/samarbeidende banker) gått sammen for å dele en fysisk CA for sertifikatutstedelse.

Oversikt over sentral og distribuert infrastruktur
Figur 2 – oversikt over sentral og distribuert infrastruktur 
Figuren ovenfor illustrerer hvordan de ulike delene av Felles operasjonell infrastruktur er knyttet sammen.

BankID Sertifikater og nøkkelbærere

Sertifikater

Alle BankID sluttbrukersertifikater er formatert iht X.509 standard. 

Nøkkelbærere

En nøkkelbærer er lagringsmediet der brukerens private nøkler er lagret og brukes. Følgende nøkkelbærere finnes for sluttbrukere i dagens versjon av BankID: 

  • Banklagret (nettsentriske nøkler)
  • BankID på mobil


Følgende nøkkelbærere er tilgjengelig for brukersteder 

  • Lagret på brukerstedets datamaskin/tjener
  • Lagret i HSM tilknyttet tjener

Sertifikattyper

Ulike sertifikattyper er implementert for å gi mulighet til å benytte BankID i ulike sammenhenger. Følgende sertifikattyper er definert med egen sertifikatpolicy i dagens versjon av BankID: 

  • Kvalifisert sertifikat PersonBankID – brukes av privatpersoner
  • Kvalifisert sertifikat AnsattBankID – brukes av personer som opptrer på vegne av en virksomhet eller organisasjon
  • Kvalifisert sertifikat PersonBankID på mobil – brukes av privatpersoner
  • BrukerstedsBankID – brukes av nettsteder

Distribuert infrastruktur

Distribuert infrastruktur består av komponenter som muliggjør bruk av BankID hos en sluttbruker, brukersted eller bank. Distribuerte funksjoner omfatter følgende funksjoner: 

  • Bankens administrasjon av BankID (RA)
  • Brukerstedets bruk av BankID (BankID Server)
  • Banklagret BankID: Sluttbrukerens bruk av BankID til identifisering og signering (klient og engangspassordmekanisme)
  • BankID på mobil: Sluttbrukerens bruk av BankID til identifisering og signering (mobiltelefon og simkort)
  • Bankens HA server: Bankens system for administrasjon og kontoll av HA-faktoren i autentiseringsprosessen.

BankID Nivå 1 RA

For å utstede sertifikater i en Nivå 1-CA må banken ha en Registreringsautoritet (RA). Dette er et system for registrering av kunder og administrasjon av sertifikater utstedt av den CA som banken benytter. Bankens RA vil i de fleste tilfeller være integrert i det ordinære kundebehandlingssystemet, og kommuniserer via et standardisert grensesnitt mot BankID Ordre- og Distribusjonssystem (ODS) som er det sentrale systemet i Nets for sertifikatadministrasjon.

BankID Banklagret klient

BankID Banklagret klient er tilgjengelig på følgende plattformer: 

Web-klient 

Denne klienversjonen er skrevet i Javascript/HTML5 og lastes ned til sluttbrukerens nettleser hver gang en BankID-transaksjon skal gjennomføres. Klienten er unik for hver transaksjon og det lastes derfor ned en ny klient fra BankID FOI hver gang den skal brukes.

HA-mekanisme (HA)

Bruk av Banklagret BankID krever at sluttbruker har en HA-faktor for å utveksle dynamiske engangshemmeligheter med en HA-server. Den enkelte bank (RA) står fritt til å velge mekanisme, såfremt den er godkjent av Bankenes Standardiseringskontor (BSK). Mekanismen skal generere en dynamisk hemmelighet for sluttbrukeren, gyldig kun én gang og i en tidsbegrenset periode. 
Slike mekanismer er plassert i én av to kategorier: HA1 eller HA2:

  • HA1 er det som tradisjonelt har blitt kalt OTP-mekanismer og som innebærer at sluttbruker må manuelt taste inn en engangskode i Web-klienten, generert for eksempel av en godkjent passordkalkulator.
  • HA2 innebærer at en dynamisk engangshemmelighet utveksles mellom sluttbrukerens innrullerte sikkerhetselement (typisk vha en egen «app») og HA2 serveren. Dette gjør at sluttbruker ikke trenger å taste inn noe engangspassord i Web-klienten, men kun å godkjenne eller avvise en autentiseringsforespørsel på sitt sikkerhetselement. Notere at dette er beskrivelse av minimumsløsning. Utsteder kan velge å legge på autentisering i forskjellige former i tillegg.

Banken vil administrere HA-mekanismen og vil ha en funksjon som godkjenner koden. Banklagrete Sentrale Servere mottar forespørsel eller inntastet kode fra BankID klient og sender koden via et lukket nettverk til bankens tjeneste for å få utført autentiseringsforespørselen eller godkjent engangskoden.

BankID kompatibel mobiltelefon og simkort

Bruk av BankID på mobil forutsetter at sluttbrukeren har en mobiltelefon med simkort som er kompatibel med BankID. De fleste nyere mobiltelefoner har denne muligheten. Mobiloperatører som inngår avtale med bankene om å tilby BankID på mobil vil distribuere simkort til brukerne. Brukeren velger selv pinkode for å benytte nøklene i simkortet.

Tilgang til tjenesten forutsetter at kundens mobiloperatør har knyttet seg til BankID FOI og tilbyr tjenesten til sine kunder.

BankID Server Java

BankID server Java er en programvare med funksjoner (API) som implementeres hos et brukersted som har inngått avtale med sin bankforbindelse om å akseptere sluttbrukeres BankID sertifikater til identifisering og/eller signering (i rollen som brukersted). Programvaren er tilpasset Java kjøremiljø og inneholder all PKI- og kommunikasjonsfunksjonalitet nødvendig for å gjennomføre en transaksjon med sluttbrukers klient og BankID infrastruktur.

BankID Server C

BankID server C er en programvare med funksjoner (API) som implementeres hos et brukersted som har inngått avtale med sin bankforbindelse om å akseptere sluttbrukeres BankID sertifikater til identifisering og/eller signering (i rollen som brukersted). Programvaren er skrevet i C og inneholder all PKI- og kommunikasjonsfunksjonalitet nødvendig for å gjennomføre en transaksjon med sluttbrukers klient og BankID infrastruktur.

Client proxy

The Client proxy is introduced in BankID 2.1 in order to provide enhanced signing services. These services include validation of documents to be signed, check for active content, and conversion of PDF documents to PNG for display in the client. In addition, multiple documents can be sent from the merchant in one batch via the Client proxy to the Client for signing, referred to as multi-document signing. The Client proxy is offered as a centrally hosted component, alternatively merchants may opt to host the component themselves. Details about hosting the Client proxy component are beyond the scope of this document.

Sertifikater

For beskyttelse av kommunikasjon mellom bankens RA-funksjon og ODS utstedes et SSL klient-sertifikat på den CA som banken skal utstede sertifikater på. Kommunikasjonen mellom bankens RA-funksjon og ODS er sikret med toveis SSL over et lukket nettverk. 

For å sikre integritet i meldinene som sendes fra bankens RA-funksjon og ODS utstedes et signeringssertifikat på den CA som banken skal utstede sertifikater på. Alle meldinger fra bankens RA til ODS er signert med dette signeringssertifikatet. 

I Banklagret BankID lages nøkler i en HSM og lagres kryptert sammen med sertifikater i et sentralt nøkkellager. Sertifikatene utstedes av bankens Nivå 1-CA. I BankID på mobil lages og lagres de private nøklene kryptert i simkortet til sluttbrukeren. Den offentlige nøkkelen og sertifikatet lagres i et sentralt nøkkellager. Sertifikatene utstedes av bankens Nivå 1-CA. Et brukersted kan enten lagre sertifikater og nøkler som en kryptert fil eller bruke en Hardware Security Module (HSM). Begge typer sertifikater utstedes av bankens Nivå 1-CA.

Sentral infrastruktur

Sentral infrastruktur består av de funksjoner som utføres av tjenesteleverandør for sentralisert BankID FOI. Infrastrukturen omfatter også nødvendige grensesnitt mot distribuert infrastruktur (slik som hos sluttbruker, hos brukersted eller hos bank.). 
Sentral infrastruktur omfatter følgende funksjoner/komponenter: 

  • Bestilling av sertifikater.
  • Utstedelse av sertifikater.
  • Formidling av statusinformasjon om sertifikater til bankens RA.
  • Revokering av sertifikater (permanent sperring).
  • Suspendering av sertifikater (tidsbegrenset sperring).
  • Gjeninnsetting av sertifikater (åpning av tidsbegrenset sperrede sertifikater).
  • Fornyelse av sertifikater.
  • Validering av sertifikater (OCSP).
  • Ruting av engangspassord for validering i bankenes systemer.
  • Sentral lagring og bruk av private nøkler (Banklagret BankID).
  • Sentral lagring og formidling av sertifikat og offentlige nøkler (Banklagret / BankID på mobil).
  • Alle kryptografiske operasjoner på vegne av sluttbruker (Banklagret BankID).
  • Kommunikasjon mot mobiloperatør for aktivering og bruk (BankID på mobil).
  • Kommunikasjon med alle typer BankID klienter.
  • Klargjøring og distribusjon av Web-klient.
  • Administrasjon av sertifikater og tilleggsinformasjon.

BankID Rot-CA

BankID Rot-CA eies i fellesskap av de to bankforeningene i Norge. Formålet med BankID Rot-CA er å utstede sertifikater til bankenes CA'er slik at disse har et felles fundament for å utstede sertifikater til sine kunder. Alle BankID'er som utstedes er knyttet opp mot BankID Rot-CA som et felles tillitspunkt. BankID Rot-CA sitt eget sertifikat er gyldig i 26 år og fornyes etter minimum 14 år.

BankID Nivå 1-CA

En BankID Nivå 1-CA eies av en enkelt bank eller bankgruppering/samarbeidende banker og brukes til å utstede og trekke tilbake sertifikater til kunder i en deltagende BankID bank. Nivå 1-CA utsteder revokeringslister (CRL) med sertifikater som er trukket tilbake og gjør disse tilgjengelige for Valideringstjenesten (se nedenfor). Nivå 1 CA-sertifikater er gyldige i 12 år. Følgende funksjoner finnes: 

  • Utstedelse
  • Sperring (revokering/suspensjon)
  • Utstedelse av sperrelister (CRL)

Ordre og Distribusjons System (ODS)

For å forenkle administrasjonen av sertifikater utstedt av de ulike BankID Nivå 1-CA'ene er det implementert et Ordre og Distribusjons System (ODS). ODS er en tjeneste med grensesnitt mot mange av komponentene i sentral infrastruktur og inneholder en rekke funksjoner for administrasjon og bruk av BankID-sertifikater. 

Følgende komponenter finnes: 

  • ODS-Applikasjonen
  • Databaser
  • BankID RA/ODS-grensesnitt
  • Grensesnitt mot andre komponenter

Sentrale Tjenere for Banklagret BankID

Banklagret BankID er basert på sentral lagring og bruk av sluttbrukeres BankID nøkler med tilhørende sertifikater. For å gjøre dette mulig er det implementert en rekke sentrale komponenter som fasiliterer sikker lagring av sertifikater og nøkler og bruk av disse. Løsningen er laget slik at sluttbrukerens private nøkler aldri vil kunne opptre i klartekst utenfor en dedikert Hardware sikkerhetsmodul (HSM). For å benytte nøklene kreves det kjennskap til både et fast passord, og tilgang til en engangskodemekanisme som er tildelt av banken. Kryptografiske operasjoner med brukerens private nøkler utføres i Sentrale Tjenere. 

Følgende komponenter finnes: 

  • Klargjøring og distribusjon av Web-klient.
  • BankID sentrale Tjenere frontend.
  • BankID Banklagret sentral signeringstjener.
  • BankID Banklagret Nøkkelgenerator.
  • BankID Banklagret Nøkkellager.
  • BankID HA Validator.
  • BankID Sertifikatlager.
  • Database.

Sentrale Tjenere BankID på Mobil

BankID på mobil er basert på en infrastruktur der sluttbrukerens private nøkler lagres og brukes i simkortet i mobiltelefonen. Mobiltelefonen kommuniserer med sentrale tjenere via mobilnettet og mobiloperatørens infrastruktur. Det finnes funksjoner for aktivering og nøkkelgenerering og bruk av BankID på mobil. For å bruke en BankID på mobil må brukeren ha kjennskap til den pin-kode som ble benyttet da de private nøklene ble generert. 

Følgende komponenter finnes: 

  • BankID sertifikatlager.
  • Kommunikasjonskomponent mot mobiloperatører.
  • Kommunikasjonskomponent mot brukersteder.
  • Database.

Valideringstjeneste (OCSP)

I BankID er det implementert en online valideringstjeneste (VA) som på vegne av, og etter nærmere avtale med utsteder verifiserer om utstedte sertifikater er gyldige eller ikke. Status-informasjon baseres på mottatt CRL (liste over sperrede BankID) fra utstederens CA i tillegg til sanntidsoppdateringer fra CA. 
Valideringstjenesten har også en funksjon for å levere tilleggsinformasjon om sluttbruker til autoriserte brukersteder. Denne funksjonen er kun tilgjengelig for brukersteder som har lovmessig rett til å behandle slik informasjon og som har inngått avtale med sin bankforbindelse om dette.

Tilleggsinformasjonen som kan leveres er følgende: 

  • Kontonummer til sluttbruker.
  • Fødselsnummeret til sluttbruker.
  • Eventuelt organisasjonsnummer til sluttbruker/brukersted.

BankID Services

BankID Services er en samling tjenester og verktøy for banker, brukersteder og brukere av BankID. Dette omfatter informasjon om tjenesten, testfunksjoner og andre nyttige verktøy. Banker og brukersteder kan tilgjengeliggjøre disse tjenestene i sine egne nettsider. De mest brukte tjenestene er også tilgjengeliggjort på www.bankid.no.

Database for Unik Identifikator (PID)

I alle BankIDer for fysiske personer finnes en unik identifikator (PID). Denne identifikatoren er unik for en person, og finnes i alle sertifikater utstedt til personen, uavhengig av hvilken BankID-utsteder som har utstedt sertifikatet. På denne måten kan en sertifikatinnehaver identifisere seg overfor et nettsted ved hvert besøk, og uavhengig hvilken av sine BankID'er som brukes. I sentral infrastruktur finnes en database som sikrer at en sluttbruker kan få samme PID i alle sine sertifikater.

Avbrudds- og katastrofeløsning

BankID FOI tilbyr identifiserings- og signeringsløsninger til bankenes nettløsninger og til andre nettsteder som ønsker tilgang til sikre løsninger for slike formål. Det er derfor nødvendig å sikre at systemet er tilgjengelig for alle brukere til enhver tid. BankID FOI er designet som et "High Availability" system med automatiske avbrudds- og katastrofeløsninger som tar over for hovedsystemet dersom det skulle oppstå en feilsituasjon. Verken nettstedene eller personkundene vil merke at dette skjer. 

Ettersom bankene selv benytter BankID som pålogging i nettbaserte banktjenester stilles det særskilte krav til tilgjengelighet for BankID-tjenesten. Krav til dette er bl.a. fastsatt av Finanstilsynet.

Fraud Detection

Sentral infrastruktur i BankID har et dedikert system for automatisk overvåking og deteksjon av mulig svindel i BankID. Systemet samler inn relevant data fra flere komponenter i intrastrukturen og analyserer informasjonen for å oppdage uvanlig og mistenkelig aktivitet. Analyse og grenseverdier oppdateres kontinuerlig ved maskinell læring og gjennom manuell overvårking. Ved mistenkelig aktivitet sendes alarmer til utstederbanken for videre oppfølging. En risikofaktor er tilgjengelig for brukerstedet