Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Introduktion

...

Certificate Revocation Authority (CRA) er et tool til NSP platformen der er ansvarlig for at opretholde en database med informationer om de certifikater der er trukket tilbage af udstederen. Databasen skal replikeres til alle NSP miljøer således at data er tilgængelig for SecurityValve og SecurityHandler. CRA er udviklet som en J2EE web applikation og anvender Spring til konfiguration og skedulering. Konfigurationsfilerne er specifikke for JBoss8/Wildfly som skal anvendes.

Begreber

  • Certificate Authority (CA)
    En udsteder af X.509 certifikater. Nets og TDC er eksempler på CA’er. En CA har et enkelt rod CA certifikat og muligvis flere intermediate CA certificater som bruges til at udstede slutbruger-certifikater.
  • Certificate Revocation
    Tilbagekaldelse af et certifikat. Hvis et certifikat bliver kompromiteret kan det stadig anvendes på grund af den struktur som X.509 certifikater har. En CA vælger derfor at tilbagekalde et certifikat hvis det er nødvendigt.
  • Certificate Revocation List (CRL)
    En liste af tilbagkaldne certifikater. Listen vedligeholdes og offentliggøres af en CA. Det er op til CA’en hvor mange forskellige CRL’er der indgår i infrastrukturen. Et certifikat udsted af en OCES CA, indeholder en URL til den CRL som certifikatet vil optræde på hvis det tilbagekaldes.
  • Certificate Revocation Source (CRS)
    Boostrapping af CRA sker ved at angive et antal CRS’er, der til sammen indeholder alle de CRL’er der ønskes monitoreret i infrastrukturen. En CRS indeholder en eller to URL’er til CRL’er (en hvis der er tale om et OCES1 certifikat og 2 hvis det er et OCES2 certifikat) samt den certifikatkæde der knytter CRL’erne til NSP/OCES

Algoritme

For hver CRS som CRA er konfigureret med, hentes der en eller to CRL’er som gemmes i databasen. CRA verificerer først at CRS’en indeholder en valid OCES certifikatkæde og tjekker derefter om der er ændringer til CRL’erne. CRL’erne downloades, deres signatur verificeres og de tilbagekaldte serienumre gemmes i databasen. Hvis et af CA certifikaterne tilbagekaldes vil dette blive markeret i databasen således at alle certifikater, der peger på den tilhørende CRL, tilbagekaldes.

Databasen

CRA har et relativt simpelt databaselayout bestående af to tabeller. En tabel med CRL endpoints og en tabel med revokerede certifikater.

Endpoints

Tabellen crl har følgende felter:

  • id
    Teknisk identifikation af rækken - Allokeres automatisk af MySQL.
  • url
    Det endpoint hvor en CRL hentes fra.
  • lastmodified
    Opdateres med et nyt timestamp hver gang CRL’en downloades fra endpointet.
  • nextupdate
    Det tidspunkt (timestamp) den sidst hentede version af CRL’en er gyldig til.

Revokeringer

Tabellen revoked har følgende felter:

  • id
    Teknisk identifikation af rækken - Allokeres automatisk af MySQL.
  • crlid
    Teknisk identifikation af den række fra tabellen crl som denne revokering kommer fra.
  • serialnumber
    Serienummerer på det certifikat der er trukket tilbage.
  • added
    Det tidspunkt (timestamp) rækken blev tilføjet til tabellen.
  • since
    Det tidspunkt (timestamp) revokeringen trådte i kraft.

Hvis en CRL er udstedt af en CA og denne CA trækkes tilbage, så vil alle dens rækker i revoked blive slettet og en enkelt række med NULL i serialnumber vil blive oprettet. Et certifikat skal derfor betragtes som trukket tilbage hvis dets CRL enpoint findes i crl og dets serienummer findes i revoked eller der findes en række med serienummeret NULL.