Nokon har tilbakekalla eit sertifikat i CA-konsollen, og no kan ikkje ein brukar kople til. Den første innskytten er å finne angre, og for dei fleste PKI-ar finst det ikkje: tilbakekalling er eit erklært faktum om eit serienummer, og den støtta vegen tilbake er eit nytt sertifikat, ikkje ein omvend post. Gå gjennom kontrollane nedanfor i rekkjefølgje, fordi kva reparasjon du har lov til å bruke avheng av årsakskoden og av om nøkkelen nokon gong vart eksponert.

Identifiser sertifikatet, ikkje personen

Vanlege namn vert gjentekne. Ein brukar som registrerte seg på nytt i førre kvartal kan ha to sertifikat med same CN og ulike serienummer, og tilbakekalling av det eine lèt det andre verke. Fastset først det nøyaktige objektet:

openssl x509 -in client.crt -noout -serial -issuer -subject -dates
openssl crl -in ca.crl -noout -text | head -40

Skriv ned serienummeret, utferdaren, tilbakekallingsdatoen og årsaka som er registrert i CRL-en. Stadfest deretter kva einingar som presenterer det serienummeret, fordi eit tilbakekalla sertifikat kan framleis vere installert på ein berbar PC, ein telefon og ein reserve-ruter, og ein erstatning som berre når éin av dei gjev ei ny hending.

Ein rask åtferdskontroll stadfester tilstanden utan å endre noko:

openssl verify -crl_check -CAfile ca.crt -CRLfile ca.crl client.crt

Viss han rapporterer sertifikatet som tilbakekalla, er CRL-en og klienten samde; viss han verifiserer reint, er klienten du held ikkje den tilbakekalla, og søket held fram.

Sjekk om CA-en brukte sperre eller permanent tilbakekalling

RFC 5280 definerer certificateHold som ein mellombels tilstand, og removeFromCRL som signalet som frigjer han. Den livssyklusen er reell, men det er ikkje ein generell angreknapp. Å lese årsakskoden fortel deg om utferdaren nokon gong meinte å støtte frigjeving.

Fella er å tru at ein mellombels intensjon tyder ein mellombels post. Viss CA-posten ber keyCompromise eller cessationOfOperation, er sertifikatet permanent tilbakekalla, uansett kva personen som trykte på knappen meinte. Omvendt er ein post merkt certificateHold på ein CA som ikkje implementerer sperrefrigjeving, permanent i praksis, fordi ingenting nokon gong vil publisere frigjevinga.

OpenSSL-baserte CA-ar illustrerer grensa. Kommandoen ca godtek -crl_reason-verdiar, mellom anna certificateHold og removeFromCRL, men han genererer ikkje delta-CRL-ar — OpenSSL CA-dokumentasjonen nemner denne avgrensinga for CRL-utdataa. Ein full CRL som berre utelèt serienummeret er ein annan publiseringsmodell enn ein delta som seier "denne posten er frigjeven", så å lime inn removeFromCRL i ein OpenSSL-basert VPN-CA gjev ikkje den standarddefinerte frigjevinga.

Viss nøkkelen kan ha vore eksponert, byt han ut

Eit tilbakekalla sertifikat er ei erklæring om at denne nøkkelen kanskje ikkje lenger kan stolast på. Viss tilbakekallinga var sakleg riktig — berbar PC mist, nøkkel kopiert til ein delt disk, privat nøkkel limt inn i ei sak — snur gjenoppretting av same sertifikat ei tryggleiksavgjerd som fungerte som tiltenkt.

Utferd eit nytt nøkkelpar gjennom registreringsprosessen, distribuer den nye profilen og lat det gamle serienummeret vere tilbakekalla heile levetida. Oppdater alt som festar identitet til serienummer eller fingeravtrykk, mellom anna opptakslister, einingsoversyn og overvaking som ventar eit bestemt sertifikat.

Bekvemmelegheitsargumentet for å gjenopprette det gamle er reelt, men det bør svarast på eksplisitt og ikkje stille. "Brukaren treng tilgang i dag" er ein grunn til å skunde på utferdinga, ikkje ein grunn til å oppheve tilbakekallinga av ein nøkkel du ikkje kan gjere greie for.

Viss det var ein administrativ feil, erstatt under kontroll

Når tilbakekallinga rett og slett var feil og nøkkelen aldri vart eksponert, er reparasjonen framleis ei kontrollert utskifting og ikkje ei redigering. Bruk den støtta prosessen til utferdaren, hald serienummeret og utferdingshistorikken intakt, og unnå dei to freistande snarvengane: å snu statussteiknet i index.txt frå R tilbake til V, og å slette utferdingsrada slik at eit nytt sertifikat kan gjenbruke serienummeret.

På ein OpenSSL-CA er databasen tabulatorseparert og lett å lese feil, noko som gjer manuell redigering freistande:

awk -F'\t' '$1=="R" {print $4, $3, $6}' index.txt

Les han, ikkje skriv i han. Redigering av fila endrar neste CRL utan noko revisjonsspor, og kvar annan CA-førekomst eller tryggleikskopi som framleis har den opphavlege rada vil vere usamd med han seinare.

Etter at du har utferda erstatninga, publiser ein fersk CRL gjennom den normale mekanismen og lat klientane hente han. Å fjerne ein CRL, forkorte levetida til ingenting eller slå av tilbakekallingskontroll i klientprofilen reparerer éin brukar ved å svekke kvar annan tilbakekalling CA-en nokon gong har publisert.

Stadfest eit ferskt opptak og ta vare på posten

Test med ein ny tilkopling, ikkje økta som allereie var open. Ein levande tunnel køyrer kanskje ikkje opptakskontrollane på nytt som eit ferskt handtrykk utfører, og CRL-bufferar tyder at ein klient kan halde fram med å kople til til han vert oppdatert. Kople frå, kople til igjen, og stadfest i serverloggen kva serienummer som vart tillate.

Registrer kva som hende medan det framleis er ferskt: kva serienummer som vart tilbakekalla, av kven, med kva årsak, kva erstatning som vart utferda, og når CRL-en vart republisert. Den posten er det som gjer neste tilbakekallingsgjennomgang mogleg, og han er også provet på at feilen vart handsama i staden for skjult.

For korte suspensjonar i framtida, bruk ein opptakspausemekanisme viss utrulleringa har ein — ein konto deaktivert i identitetslaget, eit fjerna gruppemedlemskap, ein tilbakehalden klientprofil. Det held ei mellombels policyavgjerd skild frå spørsmålet om eit utferda sertifikat framleis er påliteleg, og nettopp den skilnaden gjekk tapt første gong.

Relaterte artiklar