Küsimus, mis otsustab suurema osa sellest, ei ole see, kuidas te arhiivi krüpteerite. See on, kas teie CA privaatvõti saab üldse oma konteinerist lahkuda. Kui võti on fail, saate kopeerida kogu CA kataloogi ühte krüpteeritud blobi ja olla minutitega valmis. Kui see elab HSM-is või tokenis, mis märgib võtme mitte-eksporditavaks, siis seda koopiat ei ole, ja teie plaan muutub plaaniks tarnija mähkimis- ja taastamisprotseduuri kohta. Mõlemad mudelid töötavad, need ebaõnnestuvad erinevalt, ja rike, mille te üle elate, on see, mille ümber tasub projekteerida.

Kus kaks varukoopiamudelit lahku lähevad

Mudel A on kataloogi koopia. OpenSSL-stiilis CA on töökataloog, mitte üks sertifikaat: ca.key või cakey.pem, ca.crt, väljastusandmebaas, serial- ja crlnumber-loendurid ning openssl.cnf. Pitseerige see kataloog sümmeetrilise šifriga, viige tulemus teisele kandjale, ja taastamine tähendab lahtipakkimist, kontrollimist, allkirjastamist. Kõik, mida väljastaja vajab, reisib koos, sealhulgas nädalatepikkune tühistamise ajalugu, mida keegi ei mäleta kirjutanud olevat.

Mudel B on võtme kinnihoidmine. Võti genereeritakse PKCS#11-mooduli sees ja märgitakse mitte-eksporditavaks; moodul saab selle varukoopia jaoks mähkida, kuid ükski protsess ei loe kunagi toorbaite. Teie varukoopia on siis kaks artefakti, mis tuleb taastada õiges järjekorras: mähitud võtmeblob, mille saab lahti mähkida ainult see moodulipere, pluss tavaline koopia andmebaasist, konfiguratsioonist ja sertifikaatidest.

AttributeEncrypted archiveHSM key backup
What you storeone encrypted filewrapped blob plus CA records
Who can restore itanyone holding the passphraseholder of the module and the blob, often vendor support
If a copy leaksattacker with the passphrase becomes the CAblob is inert without the matching module
What usually breaks itforgotten passphrase, one damaged copyreplacement module rejects the blob, contract gap

Võrdlus ei ole kunagi sellest, milline mudel on abstraktselt tugevam. See on sellest, millise suudab teie meeskond taastada kell 2 öösel koos inimestega, kes tegelikult ärkvel on. Arhiiv, mida keegi ei suuda dekrüpteerida, ja HSM-blob, mida keegi ei ole testinud, on võrdselt kasutud. Erinevus on selles, et arhiivi rike ilmub paroolihalduris ja HSM-i rike peidab end tugilepingus.

Mida peab iga CA varukoopia sisaldama

Mõlemad mudelid vajavad sama kirjekogumit. OpenSSL CA-s on need failid index.txt, üks rida iga väljastatud sertifikaadi kohta, mis katab oleku, aegumise, seerianumbri ja subjekti, seejärel index.txt.attr, serial, mis hoiab järgmist väljastatavat seerianumbrit, crlnumber, mis hoiab järgmist CRL-i numbrit, ja openssl.cnf koos dir, policy ja default_days väärtustega, millega teie CA tegelikult töötab. openssl-ca käsiraamat selgitab, mida iga see loendur juhib. easy-rsa hoiab samu andmeid pki/ all, kus vars-fail otsustab sertifikaadi väljad.

Võti ja sertifikaat on osad, mida te ei saa uuesti ehitada. Andmebaas on osa, mida te ei saa mälust rekonstrueerida. index.txt vahelejätmine jätab teile siiski võimaluse uusi sertifikaate allkirjastada, ja see on täpselt lõks: te avastate selle puudumise esimesel korral, kui klient küsib, kas sertifikaat tühistati. Kirjutage CA sõrmejälg väljapoole varukoopiat, et taastamist võrreldaks väärtusega, mida te usaldate, mitte failiga, mille te just taastasite.

openssl x509 -in ca.crt -noout -fingerprint -sha256
tar czf ca-state.tar.gz ca.crt ca.key index.txt* serial* crlnumber* openssl.cnf
openssl enc -aes-256-cbc -pbkdf2 -iter 200000 -salt -in ca-state.tar.gz -out ca-state.tar.gz.enc
openssl ca -config openssl.cnf -gencrl -out crl.pem

Taastamistestid, mis ei hargne väljastajat

Kaks elavat CA-d sama subjekti ja sama võtmega näivad identsed igale kliendile, kes usaldab originaali. Kaks CRL-i sama numbriga, kuid erineva sisuga on viis, kuidas kliendid vaikselt aktsepteerivad sertifikaati, mille te tühistasite. Käivitage taastamine hostil, millel pole marsruuti teie klientideni, või ühekordses VM-is, ja ärge kunagi avaldage CRL-i, mille test loob.

Test, mis tõestab ainult seda, et arhiiv avaneb, ei tõesta väljastamise kohta midagi. Järjekord, mis loeb: võrrelge taastatud ca.crt sõrmejälge kirja pandud väärtusega, kinnitage, et seerianumber vastab sellele, mida teie viimati väljastatud sertifikaat eeldab, väljastage üks sertifikaat ühekordsele CN-ile ja jälgige, kuidas index.txt saab rea, seejärel tühistage see sertifikaat ja genereerige CRL uuesti.

openssl verify -CAfile ca.crt -CRLfile crl.pem -crl_check client.crt
openssl crl -in crl.pem -noout -lastupdate -nextupdate

HSM-iga käib sama test mooduli kaudu. Mähkige blob lahti asendusseadmes, kinnitage, et mooduli teatatud CA-sertifikaat vastab teie kirja pandud sõrmejäljele, ja alles siis laske sellel allkirjastada. Kui moodulil on oma objektihoidla, peab mähkimine katma võtmeobjekti ja selle sildi, sest võtme taastamine teise sildi all rikub konfiguratsiooni, mis sellele osutab.

Rikkeviisid, mis otsustavad valiku

Viis riket seletavad enamikku tegelikest kahjudest. Unustatud arhiiviparool ilma salajase eraldi koopiata muudab arhiivi telliseks. Üks koopia ühel kettal sureb selle kettaga, ja kontrollsumma ei ütle teile kunagi, kas dekrüpteerimine ikka töötab. Pärast varukoopia kuupäeva tühistatud sertifikaadid näivad pärast taastamist jälle kehtivatena, nii et teie varukoopia intervall on ka teie tühistamise pimeala. Vanema seerialoenduri taastamine kasutab seerianumbreid uuesti ja ajab segadusse seerianumbri põhised vahemälud ja CRL-i päringud. Asendus-HSM, mis keeldub mähitud blobist, muudab riistvara vahetuse täielikuks uuesti väljastamiseks.

Mudel A tuleb esimese neljaga halvasti toime, kuid nähtavalt. Mudel B tuleb nendega hästi toime seni, kuni moodul või tarnija protsess ebaõnnestub. Kui teie võtmed on eksporditavad ja meeskond on väike, on krüpteeritud arhiiv aus valik, mida toetavad kaks kandjat ja kirjalik parooliprotseduur. Kui võti on mitte-eksporditav, ei ole teil üldse valikut, ja töö liigub tarnija taastamistee tõestamisele enne päeva, mil te seda vajate.

Mudeli valimine ja ajastamine

Kolm tingimust otsustavad. Kas võtme saab eksportida ilma tarnija protsessita? Kas taastamine peab maanduma riistvarale, mida te veel ei oma? Kui kaua võib väljastamine seista, kuni te toega vaidlete? Vastake neile kolmele ja mudel on otsustatud; kõik pärast seda on ajastamine.

Tehke varukoopia pärast igat allkirjastamistseremooniat ja enne igasugust konfiguratsioonimuudatust, sest konfiguratsioon on oleku osa. Hoidke kahte koopiat erinevatel kandjatel erinevates kohtades, üks neist võrguühenduseta, ja hoidke dekrüpteerimissaladust koopiatega erinevas usaldusdomeenis. Kirjutage viimase õnnestunud taastamise kuupäev varukoopia kirjele. Varukoopia, mida pole kunagi taastatud, on hüpotees, mitte kontroll.

Enne pileti sulgemist kinnitage need viis punkti:

  • ca.crt sõrmejälg on kuskil väljaspool varukoopiat kirjas.
  • index.txt, serial, crlnumber ja openssl.cnf on kõik arhiivi või blobide kogumi sees.
  • Parooli või mähitud võtme hoiustamine on dokumenteeritud ja seda hoiab keegi teine kui arhiivi omanik.
  • Taastamist testiti isoleeritud hostil ühe väljastamise ja ühe tühistamisega.
  • Teie varukoopia intervallist tulenev tühistamislünk on kirjalikult aktsepteeritud või lühendatud.

Seotud artiklid