Sammendrag Evaluering Utarbeidet av Norconsult Seksjon IKT & Sikkerhet Evaluering av BankID Med fokus på kundens kontroll over privat nøkkel Dato 2010-09-14 Versjon 1.0 Dokument referanse NO-5100770-ETR Sammendrag_v1_0.doc
Dokument Historikk Dokument Referanse Versjon Dato Kommentarer NO-5100770-ETR Sammendrag _v1_0.doc NO-5100770-ETR Sammendrag _v0_9.doc NO-5100770-ETR Sammendrag_v0_8.doc NO-5100770-ETR Sammendrag_v0_1.doc 1.0 2010-09-14 Sammendrag Evaluation Technical Report 0.9 2010-08-27 Versjon for QA BankID, BSK. 0.8 2010-08-20 Versjon for QA Evaluator. 0.1 2010-08-10 Utkast Side 2 of 9
Innhold Innhold 3 1. Introduksjon 4 1.1. Forkortelser og definisjoner 4 1.2. Refererte dokumenter 4 2. Metodikk 5 2.1. Common Criteria metodikk og terminologi 5 2.2. Gjennomføring av evalueringen 5 3. Systembeskrivelse 7 4. Sammendrag 9 Side 3 of 9
1. Introduksjon Dette dokumentet er et ugradert sammendrag fra en evaluering av BankID med fokus på kundens kontroll over privat nøkkel. Hele evalueringen er dokumentert i Evaluation Technical Report (ETR) for the BankID Target of Evaluation, men dette dokumentet har intern gradering og kan ikke distribueres fritt. Evalueringen er igangsatt av Bankenes Standardiseringskontor etter krav fra Post- og teletilsynet. Evalueringen er gjennomført av Norconsult IKT & Sikkerhet. IKT & Sikkerhet er godkjent evaluator (EVIT) under den Norske Common Criteria (CC) ordningen. CC metodikk er lagt til grunn for evalueringen, men produktet har ikke gjennomgått en formell CC evaluering. Dette dokumentet beskriver metodikken som ble benyttet under evalueringen, det gir en overordnet systembeskrivelse og gjengir deretter et sammendrag av observasjoner. 1.1. Forkortelser og definisjoner BBS Bankenes Betalingssentral BSK CA CC EAL ETR EVIT FOI OTP Phishing PIN PKI RA SERTIT TOE VA Bankenes Standardiseringskontor Certificate Authority Common Criteria Evaluation Assurance Level Evaluation Technical Report Evalueringsfirma som er underlagt SERTIT Felles Operasjonell Infrastruktur One Time Password Digital snoking eller fisking etter sensitiv informasjon. Personal Identification Number Public Key Infrastructure Registration Authority Sertifiseringsmyndigheten for IT-sikkerhet i produkter og systemer Target of Evaluation Validation Authority 1.2. Refererte dokumenter [1] Evaluation Technical Report for the BankID Target of Evaluation versjon 1.0 2010-07-05 [2] BankID Security Target versjon 1.0, 2010-03-11 Side 4 of 9
2. Metodikk 2.1. Common Criteria metodikk og terminologi Common Criteria for Information Technology Security Evaluation (forkortet til Common Criteria eller CC) er en internasjonal standard (ISO / IEC 15408) for sertifisering av datasikkerhet i produkter og systemer. CC er et rammeverk der eiere av et datasystem spesifiserer sine funksjonelle sikkerhetskrav i dokumentet Security Target. Leverandører kan deretter implementere systemet, og Evaluator (testlaboratoriet) kan vurdere produktene for å finne ut om de faktisk oppfyller krav. CC gir en forsikring om at prosessen med spesifikasjon, implementering og test av sikkerheten til et produkt eller system har vært gjennomført på en strukturert og standardisert måte. Metodikken tar utgangspunkt i å definere truslene som er relevante. Eieren av systemet eller produktet iverksetter mottiltak for å redusere risiko for at disse truslene skal inntreffe. En CC evaluering skal gi eieren visshet om at mottiltakene er tilstrekkelige og at de er korrekt utført. Dette er skissert i figur 1:. Figur 1 Common Criteria metodikk Hvor dyp og omfattende evalueringen skal utføres, bestemmes av et numerisk tillitsnivå (Evaluation Assurance Level eller EAL). Tillitsnivå bestemmer hvilke krav fra CC metodikken som skal anvendes. 2.2. Gjennomføring av evalueringen Evalueringen er gjennomført ved først å utarbeide Security Target dokumentet. I dette dokumentet beskrives systemet, det defineres hvilke komponenter som inngår i evalueringen (Target of Evaluation) og hva som inngår i omkringliggende miljø. Det defineres hvilke overordnede trusler som skal legges til grunn for evalueringen: Er en annen person enn eieren av den private nøkkelen er i stand til å utføre autentisering og signering basert på eierens private nøkkel? Blir informasjon som skal signeres eksponert for andre enn sluttbruker og brukersted? Basert på disse overordnede trusler utredes det hvilke konkrete trusler som er relevante for de forskjellige komponenter i systemet. Det er utredet 53 trusler fordelt på følgende komponenter: RA BankID Klient BankID Server Side 5 of 9
Kommunikasjon Felles Operasjonell Infrastruktur Basert på sikkerhetsproblematikken definert i Security Target er det gjennomført en todelt evaluering. Først er det gjennomgått alle detaljerte mottiltak som er relevante for truslene. Det er vurdert om mottiltakene er tilstrekkelige og om de er korrekt utført. Det er også foreslått ytterligere mottiltak som må vurderes. Deretter er det gjort en gjennomgang av dokumentasjon i henhold til CC metodikken. Det er vurdert om dokumentasjon av utvikling, veiledninger, produktforvaltning (i hele systemets levetid) og test er i henhold til CC krav. For evaluering av test er de interne tester samt følgende eksterne tester lagt til grunn: Koderevisjon av BankID klient, utført av Bouvet ASA Testrapport - testing av BankID, penetrasjonstest av java applet utført av Mnemonic AS. Penetrasjonstest av infrastruktur Security Analysis of BankID, Sikkerhetsprotokollanalyse utført av Norsk Regnesentral. Det er også gjennomgått rapport fra Selmer-senteret ved Universitetet i Bergen og presseoppslag knyttet til BankID. Som et tillegg til evalueringen, skulle evaluator sammenlikne sårbarheter i BankID med sårbarheter i en smartkortbasert løsning. Denne sammenlikningen ble utført ved å utrede hvor motstandsdyktige de to løsningene er i forhold til de 53 definerte truslene. Det er foretatt besøk for intervju av relevant personell ved RA (Sparebank1), utvikler (BBS), driftsorganisasjon (BBS) og forvaltningsorganisasjon (BSK og BankID Norge). Det er gjennomgått totalt 51 dokumenter. Side 6 of 9
3. Systembeskrivelse BankID er en løsning for sikker autentisering og elektronisk signatur når man gjør transaksjoner over usikrede nettverk. Sentralt lagret BankID er en Public Key Infrastructure (PKI)-løsning der banken lagrer kundens private nøkkel. Sluttbruker kjører BankID Klient i en potensielt usikret PC. BankID Klient er en java applet som utfører brukerdialog og sikker kommunikasjon mot brukersted og sentral infrastruktur. For å få tilgang til den private nøkkelen, må sluttbruker godkjenne med et statisk passord og et engangspassord fra en godkjent enhet. Brukerstedet har et BankID Brukerstedssertifikat og benytter programvaren BankID Server for å integrere brukerstedsapplikasjoner mot BankID løsningen. En Felles Operasjonell Infrastruktur (FOI) er etablert for å levere sikre sentrale tjenester. Det er fem sentrale roller i systemet: 1. Sluttbruker: En person (fysisk eller juridisk) som er innehaver av BankID og som bruker BankID til legitimasjon og/eller signering. 2. Brukersted: En nettbasert tjeneste, for eksempel en nettbank eller nettbutikk, som aksepterer BankID legitimasjon og/eller signatur. 3. Sertifikatutsteder (utstederbanken): En bank eller organisering/sammenslutning avbanker (fellesutsteder) som utsteder BankID. Utstederbanken har rollen som Sertifikat Autoritet (CA) 4. Banken: Banken inngår avtale med sine kunder om utstedelse av BankID. Denne rollen benevnes Registreringsautoritet (RA). En bank kan selv være Sertifikatutsteder eller benytte en fellesutsteder. 5. Sertifikatvalidering: Gyldighetskontroll hos den som har utstedt en aktuell BankID. Komponentene som inngår i BankID infrastrukturen er vist i figur 2: Figur 2 BankID komponenter Figuren viser hovedkomponenter og grensesnitt for BankID løsningene. HSM er tilhørende de enkelte modulene er ikke vist på figuren. Følgende komponenter og grensesnitt har relevans for denne evalueringen: BankID Server RA Komponenter installert på brukersted Komponenter og rutiner i den enkelte bank knyttet til Side 7 of 9
OTP-system BankID Klient Server grensesnitt RA-Grensesnitt OTP grensesnitt Klient grensesnitt Ordre og distribusjonssystem Valideringstjeneste (VA) CA OTP-Validator Sentral signeringsserver Nøkkellager legitimasjonskontroll, bestilling, administrasjon og sperring av BankID Komponenter for engangspassord løsning hos den enkelte bank. OTPsystemet forespørres for å avgjøre om en OTP-verdi fra en gitt kunde er gyldig. Java applet som kjører i sluttbrukerens PC. BankID klient kommuniserer med BankID brukersted og med sentral infrastruktur Grensesnitt som tilbys BankID brukersteder Grensesnitt som tilbys bankens RA-funksjon Grensesnitt mellom FOI og bankens OTP-system Grensesnitt mellom BankID klient og sentral infrastruktur Sentrale tjenester for ordremottak OCSP-responder for forespørsler om sertifikaters gyldighet. Utstedersystem for sertifikater Styrer kontroll mot bank av kundens oppgitte OTP-verdi Styrer bruk av BankID nøkler til autentisering og signering Lagrer kundens private nøkler, kryptert under individuelle key encryption keys. For denne evalueringen er systemet som skal evalueres (Target Of Evaluation, TOE) definert som alle deler av BankID infrastrukturen som påvirker kundens kontroll over privat nøkkel. Komponenter som bare benyttes for BankID på mobil er tegnet til høyre på figuren. Disse inngår ikke i evalueringen. Side 8 of 9
4. Sammendrag Denne sikkerhetsevalueringen er utført etter krav fra Post- og teletilsynet. Evalueringen skal ta stilling til om man kan ha tillit til at kundens private nøkkel i den sentralt lagrede BankID løsningen kun kan benyttes av rettmessig eier. For å belyse denne problemstillingen har evaluator sett på mulige trusler mot kundens kontroll over private nøkler, og har bekreftet at mottiltak mot disse truslene er tilstrekkelige og korrekt utført. Common Criteria metodikk og terminologi er brukt for evalueringen, selv om produktet ikke har gjennomgått en formell Common Criteria evaluering. 53 mulige trusler mot kundens kontroll over egne private nøkler er identifisert. Mottiltak mot disse truslene er vurdert og Common Criteria metodikk er brukt for å evaluere: Utvikling - spesifikasjoner, design og utviklingsmetodikk vurdert Veiledningsdokumenter - prosedyrer og dokumentasjon vurdert Forvaltning av produktet i hele livssyklusen - prosedyrer og dokumentasjon vurdert Test - intern og uavhengig testing vurdert. Dette inkluderer ekstern sikkerhetsprotokollanalyse, eksterne gjennomtrengingstester og ekstern kildekode analyse. Evalueringen konkluderer med at mottiltak mot truslene er tilstrekkelig og korrekt utført. Det er kommentarer i hovedsak knyttet til phishing og ondsinnet kode i klienten. Disse truslene kan føre til misbruk av private nøkler, men sannsynligheten for misbruk er vurdert lavt basert på angrepenes kompleksitet og misbruk historikk. Mekanismer for å oppdage slik misbruk er tilstrekkelig, og prosedyrer for å begrense skade ved misbruk er tilstrekkelig. Evaluator konkluderer med at kundens kontroll over private nøkler er tilstrekkelig til å oppfylle den «norske kravspesifikasjon for PKI i offentlig sektor" sikkerhetsnivå "Person Høyt" for autentisering og digital signatur. Evaluator har foreslått 14 mulige mottiltak for ytterligere å redusere risiko. Det er ikke utredet kostnad og kompleksitet ved å iverksette disse tiltak. Det anbefales å gjøre en løpende vurdering av disse tiltak dersom trusselbildet endres. Avslutningsvis har evalueringen sammenlignet sårbarheter i sentralt lagret BankID med tilsvarende sårbarheter i en smartkortbasert løsning der sluttbrukerens PC tastatur benyttes for å registrere personlig identifikasjonsnummer (PIN). Sentralt lagret BankID med den nåværende engangspassord enheter er mer utsatt for phishing. Dersom statisk passord og engangspassord plukkes opp av et falskt brukersted, kan det gjennomføre en ugyldig transaksjon. Neste generasjon engangspassordenheter kan redusere denne risikoen. Slike enheter, hvor kunden trykker inn informasjon fra brukerstedsapplikasjonen, vil også gi sluttbruker bedre kontroll over transaksjonen. En smartkortløsning der sluttbrukerens PC tastatur benyttes for å registrere personlig identifikasjonsnummer (PIN) er mer utsatt for ondsinnet kode i PCen. Ondsinnet kode kan lagre den statiske PIN-koden og gjennomføre flere transaksjoner. Bedre praksis for å fjerne smartkort eller automatisk fjerning etter bruk, kan redusere denne risikoen. PIN-kode eller biometriske løsninger på smartkort eller kortleser vil tilfredsstille EUs krav til sikkert signaturfremstillingssystem, men flere funksjoner er nødvendig for å gi kunden bedre kontroll av selve transaksjonen. Side 9 of 9