Gatewayen din godtar et klient sertifikat den aldri har sett, fordi det den er konfigurert med er en klarert utsteder, og sertifikatet ankommer under håndtrykket. Slik skal protokollen fungere, og det er også derfor en mappeliste på serveren er et dårlig inventar. Utstederen vet hva den opprettet, serveren vet hva som koblet til, og tilbakekallingsstatusen vet hva som ble trukket tilbake. Et inventar som blander disse tre registrene ender opp med å hevde noe ingen av dem har sagt.

Gatewayen stoler på en utsteder, ikke på en filliste

Validering sammenligner et fremlagt sertifikat mot et tiltro-anker, slik at en identitet som samme utsteder opprettet i går kobler til uten å noen gang ha eksistert på serverens disk. Ingenting må kopieres for at det skal skje, og ingen må godkjenne det manuelt. Serverens egne registre beskriver derfor ankomster, ikke populasjonen av identiteter som kunne ankomme.

Det omvendte gapet er like ubehagelig. En mappe kan inneholde utløpte sertifikater, tilbakekalte og identiteter utstedt for enheter som aldri ble rullet ut. Å telle filer svarer på hvor mange filer som finnes, som er et spørsmål ingen stilte. Begynn i stedet med registrene som bærer betydning.

Fire spørsmål, fire forskjellige registre

Hver registreringstype svarer godt på ett spørsmål og dårlig på de andre, og derfor ser en rapport som slår dem sammen komplett ut mens den er feil på en bestemt måte. Tabellen nedenfor sorterer dem etter spørsmålet de avgjør, ikke etter systemet som produserer dem.

Question you are answeringWhere the answer livesHow quickly it changesWhat it will never show
Was this identity ever created?The issuer's issuance databaseOnly when something is issuedWhether the device still exists
Is a copy sitting on this host?The paths you actually inspectedWhenever anyone copies filesCertificates that were never copied here
Has the issuer withdrawn it?Published revocation stateWhen the issuer next publishesWithdrawals that are not published yet
Is it connected right now?The live session tableContinuouslyAnything about past or future sessions

Et arkiv med offentlige sertifikater er ikke en hemmelighet, siden det ikke inneholder private nøkler, men det er heller ikke delbart. Subjekter og enhetsnavn avslører operasjonelle detaljer, og rapporten bør bli hos publikumet som trenger den. Private nøkler holdes helt utenfor inventaret, fordi inventaret trenger metadata, ikke legitimasjon.

Utsteder pluss serienummer er den eneste stabile nøkkelen

Subjekter resirkuleres og filnavn gjenbrukes, så et navn som i fjor identifiserte én enhet kan nå identifisere en annen. Ingen av dem er en nøkkel, og en rapport bygget på en av dem vil til slutt slå sammen to identiteter på én linje.

Paret utsteder og serienummer identifiserer et sertifikat entydig, og begge feltene kommer fra sertifikatet selv. Registrer dem sammen med subjektet, gyldighetsdatoene, kilden kopien kom fra, og den ansvarlige personen eller enheten. Legg til tilbakekallings- og utrullingsstatus som separate felt med sine egne observasjonstider, fordi et sertifikat innenfor gyldighetsvinduet ikke er automatisk autorisert. Disse to fakta lever i forskjellige systemer, og å slå dem sammen skjuler tilfellet der en identitet ble trukket tilbake mens filen fortsatt ser oppdatert ut.

Les ett sertifikat om gangen

Et jokertegn som utvider seg over en mappe er ikke et batchgrensesnitt, og det skjuler hvilken fil som ga hvilken utdata. Les metadata per sertifikat, og les tilbakekallingssiden fra dens eget artefakt. OpenSSL x509-referansen viser feltene disse valgene skriver ut.

openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40

For en administrert Easy-RSA PKI, spør utstedelsesdatabasen gjennom arbeidsflyten verktøyet støtter i stedet for å anta et mappeoppsett, og hold originalene skrivebeskyttet mens inventaret settes sammen. Hovedbokformatet er regelmessig nok til å telle gyldige oppføringer og liste de tilbakekalte uten å åpne databasen manuelt.

grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5

Et inventar som overlever neste utstedelse

En engangsutskrift av en mappe blir utdatert i det øyeblikket neste sertifikat utstedes, så bygg rapporten fra utstedelsesarbeidsflyten og la den oppdatere seg som en del av normal drift. Det gjør også rapporten reproduserbar, noe som betyr noe når to personer er uenige om hva som ble utstedt.

Bruk resultatet til beslutninger om fornyelse og avvikling i stedet for som en regnearkøvelse. Sletting av en lokal kopi gjør ikke de eksterne kopiene som allerede finnes ugyldige. Trekk identiteten tilbake gjennom den konfigurerte tilbakekallings- og autorisasjonsarbeidsflyten, og registrer deretter tilbakekallingen med datoen. En identitet som er forsvunnet fra serveren men som utstederen fortsatt stoler på er ikke avviklet, og den forskjellen skiller et nøyaktig inventar fra et som bare beroliger.

Relaterte artikler