Fødselsnummeroppslag via OCSP
Introduksjon
OCSP er en standard protokoll (se RFC6960) for å hente ut revokeringsstatus for et eller flere sertifikater. Den norske SEID-standarden har definert hvordan en fødselsnummeroppslagstjeneste kan integreres i OCSP og Buypass tilbyr en slik tjeneste. OCSP kan brukes for å hente revokeringsstatus for sertifikater generelt og i tillegg kan autoriserte brukersteder benytte tjenesten til å hente fødselsnummer for sertifikatinnehaver for personsertifikater.
Et brukersted sender en OCPS-forespørsel (OCSP-request) til OCSP-tjenesten og mottar en signert OCSP-respons. Forespørselen kan inneholde en liste over sertifikater hvor revokeringsstatus skal sjekkes, men det er vanligst å sjekke status på ett sertifikat av gangen.
I motsetning til CRL er revokeringsstatus via OCSP ”ferskvare” og blir kontinuerlig oppdatert. I tillegg vil revokeringsstatus også være tilgjengelig for utløpte sertifikater via OCSP-tjenesten. En OCSP-forespørsel formateres i hht RFC6960.
Forespørsler uten fødselsnummeroppslag kan være signert eller usignert, mens for fødselsnummeroppslag må forespørselen være signert med et virksomhetssertifikat utstedt på brukerstedet. OCSP-responsen er alltid signert og kan være signert med CA-ens private nøkkel eller med en dedikert OCSP-signeringsnøkkel (se Authorized Responders). I sistnevnte tilfelle returneres OCSP-signeringssertifikatet sammen med responsen.
For å forsikre seg om at tjenesten er autentisk, må brukerstedet verifisere signaturen på OCSP-responsen og eventuelt også signaturen på OCSP-signeringssertifikatet mot den utstedende CA-ens offentlige nøkkel.
URL til OCSP-tjenester for personsertifikater
URL til OCSP-tjenesten for det enkelte sertifikat hentes fortrinnsvis fra sertifikatutvidelsen (extension) Authority Information Access i sertifikatet.
Følgende URL-er benyttes for Buypass CA-er som utsteder personsertifikater:
- Buypass Class 3 CA 3: http://ocsp.buypass.no/ocsp/BPClass3CA3
- Buypass Class 3 CA G2 HT Person: http://ocspps.buypassca.com
Legg merke til at OCSP-tjenesten som standard ikke benytter https, kun http. Det er ikke i hht beste praksis å bruke https siden dette også krever at revokeringsstatus for TLS-sertifikatet som benyttes må sjekkes. Dette kan medføre at tjenesten går inn i en uendelig løkke. OCSP-responsen er alltid signert og dermed integritetssikret og pålitelig.
For fødselsnummeroppslag via OCSP er det imidlertid viktig at både forespørsel og respons er kryptert og da skal https benyttes. Vi benytter følgende URL-er/endepunkter for fødselsnummeroppslag via OCSP:
- Buypass Class 3 CA 3: https://ocsp.buypass.no/ocsp/BPClass3CA3
- Buypass Class 3 CA G2 HT Person: https://pno.buypassca.com
OCSP-endepunkter for personsertifikater med eller uten fødselsnummeroppslag
Tabellen nedenfor viser en samlet oversikt over alle endepunkter som brukes for OCSP-tjenesten for våre personsertifikater:
CA | OCSP uten fødselsnummeroppslag | OCSP med fødselsnummeroppslag |
---|---|---|
Buypass Class 3 CA 3 | http://ocsp.buypass.no/ocsp/BPClass3CA3 | https://ocsp.buypass.no/ocsp/BPClass3CA3 |
Buypass Class 3 CA G2 HT Person | http://ocspps.buypassca.com | https://pno.buypassca.com |
Buypass Class 3 Test4 CA 3 | http://ocsp.test4.buypass.no/ocsp/BPClass3CA3 | https://ocsp.test4.buypass.no/ocsp/BPClass3CA3 |
Buypass Class 3 Test4 CA G2 HT Person | http://ocspps.test4.buypassca.com | https://pno.test4.buypassca.com |
Se også Nye CA-er ('generasjon 2') for informasjon om hvilke CA-er som brukes for sertifikater utstedt med hhv SEID v1.0 og SEID v2.0 sertifikatprofiler.
Formatering av forespørsel og respons
En OCSP-forespørsel skal i hht RFC6960 inneholde informasjon som unikt skal identifisere et sertifikat. Dette skal være hash av utsteders navn (Issuer DN hentet fra sertifikatet) og hash av utsteders offentlige nøkkel (hentet fra CA-sertifikatet) i tillegg til sertifikatserienummeret.
Dersom forespørselen skal signeres, må hash-algoritmen som benyttes for å generere den digitale signaturen være basert på SHA-1 eller en av algoritmene i SHA-2 familien. Vi anbefaler her å bruke SHA-2.
En OCSP-respons kan inneholde en av følgende statuser på sertifikatet:
- Good – sertifikatet er ikke revokert
- Revoked – sertifikatet er revokert eller suspendert
- Unknown – sertifikatet er ukjent
Dersom sertifikatet er revokert eller suspendert, så inneholder responsen følgende tilleggsinformasjon:
- revocationTime – tidspunkt for når sertifikatet er revokert
- revocationReasen – årsak til revokering, følgende verdier benyttes
- unspecified (0) – sertifikatet er revokert
- certificateHold (6) - sertifikatet er suspendert
- unspecified (0) – sertifikatet er revokert
OCSP-responsen er alltid signert og hash-algoritmen som benyttes vil være SHA256 for våre personsertifikater. Responsen kan være signert med CA-ens private nøkkel eller en dedikert OCSP-signeringsnøkkel. I sistnevnte tilfelle vil OCSP-signeringssertifikatet (som er signert med CA-ens private nøkkel) bli returnert sammen med OCSP-responsen.
Fødselsnummeroppslag via OCSP
Fødselsnummeroppslag er integrert i OCSP-tjenesten i henhold til SEID, men tilgang til fødselsnummeroppslagstjenesten krever en skriftlig bekreftelse på at virksomheten etterlever personvern-lovgivningens krav til behandling av personopplysninger. Tilgang til tjenesten krever derfor avtale med Buypass.
Forespørsel
For å angi at man ønsker fødselsnummer i svaret, legger man inn en FnrRequestExtension i requestExtensions i OCSP-forespørselen:
id-reqfnr OBJECT IDENTIFIER ::= { 2.16.578.1.16.3.2 }
Verdien av denne extension skal være tom.
Forespørselen må være signert i dette tilfellet og brukersteder som ønsker tilgang til fødselsnummeroppslagstjenesten vil få utstedt et virksomhetssertifikat som kan benyttes til dette formålet. Ved forespørsler om fødselsnummer skal tls benyttes, dvs https skal brukes i stedet for http, for å sikre at uvedkommende ikke får tilgang til data som utveksles, herunder fødselsnummer.
Svar
Fødselsnummer som er knyttet til et sertifikat returneres i FnrResponseExtension i singleExtensions i OCSP-responsen. Hvis sertifikatet ikke er et personsertifikat, returneres en vanlig OCSP respons uten FnrResponseExtension.
id-respfnr OBJECT IDENTIFIER ::= { 2.16.578.1.16.3.2 }
FnrResponse ::= PrintableString