Bunun çoxunu həll edən sual arxivi necə şifrələdiyiniz deyil. Sual CA şəxsi açarınızın konteynerindən ümumiyyətlə çıxa bilməsidir. Açar fayldırsa, bütün CA qovluğunu bir şifrələnmiş bloka köçürüb dəqiqələr içində bitirə bilərsiniz. Açar HSM-də və ya açarı çıxarıla bilməyən kimi işarələyən tokendə yaşayırsa, o nüsxə mövcud deyil və planınız satıcının bükmə-bərpa proseduru haqqında plana çevrilir. Hər iki model işləyir, fərqli şəkildə uğursuz olur və sağ qala bildiyiniz nasazlıq ətrafında dizayn etməyə dəyər olandır.

İki ehtiyat modelinin ayrıldığı yer

Model A qovluq surətidir. OpenSSL üslubunda CA iş qovluğudur, tək sertifikat deyil: ca.key və ya cakey.pem, ca.crt, buraxılış verilənlər bazası, serial və crlnumber sayğacları və openssl.cnf. Həmin qovluğu simmetrik şifrə ilə möhürləyin, nəticəni ikinci daşıyıcıya köçürün, bərpa isə açmaq, yoxlamaq və imzalamaq deməkdir. Buraxıcının ehtiyac duyduğu hər şey birlikdə gedir, o cümlədən heç kimin yazdığını xatırlamadığı həftələrlə ləğv tarixçəsi.

Model B açarın saxlanmasıdır. Açar PKCS#11 modulu daxilində yaradılır və çıxarıla bilməz kimi işarələnir; modul onu ehtiyat üçün bükə bilər, amma heç bir proses xam baytları oxumur. Onda ehtiyatınız düzgün sıra ilə bərpa edilməli iki artefaktdır: yalnız o modul ailəsinin aça bildiyi bükülmüş açar bloku və verilənlər bazasının, konfiqurasiyanın və sertifikatların adi surəti.

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

Müqayisə heç vaxt hansı modelin mücərrəd şəkildə daha güclü olması ilə bağlı deyil. Söhbət komandanızın gecə saat 2-də həqiqətən oyaq olan insanlarla hansını bərpa edə bilməsindən gedir. Heç kimin aça bilmədiyi arxiv və heç kimin sınaqdan keçirmədiyi HSM bloku eyni dərəcədə faydasızdır. Fərq ondadır ki, arxiv nasazlığı parol menecerində üzə çıxır, HSM nasazlığı isə dəstək müqaviləsində gizlənir.

Hər CA ehtiyatında nə olmalıdır

Hər iki modelə eyni qeyd dəsti lazımdır. OpenSSL CA-da bu fayllar hər buraxılmış sertifikat üçün status, bitmə, seriya və subyekti əhatə edən bir sətirlə index.txt, sonra index.txt.attr, növbəti buraxılacaq seriyanı saxlayan serial, növbəti CRL nömrəsini saxlayan crlnumber və CA-nızın həqiqətən işlədiyi dir, policy və default_days ilə openssl.cnf-dir. openssl-ca təlimatı bu sayğacların hər birinin nəyə nəzarət etdiyini izah edir. easy-rsa eyni məlumatı pki/ altında saxlayır, sertifikat sahələrini isə vars faylı müəyyən edir.

Açar və sertifikat yenidən qura bilmədiyiniz hissələrdir. Verilənlər bazası yaddaşdan bərpa edə bilmədiyiniz hissədir. index.txt-ni atlamaq sizə hələ də yeni sertifikat imzalamaq imkanı verir və tələ məhz budur: onun çatışmadığını ilk dəfə müştəri sertifikatın ləğv edilib-edilmədiyini soruşanda öyrənirsiniz. CA barmaq izini ehtiyatdan kənarda qeyd edin, belə ki bərpa etibarlı bildiyiniz dəyərlə müqayisə olunsun, indicə bərpa etdiyiniz faylla deyil.

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

Buraxıcını şaxələndirməyən bərpa sınaqları

Eyni subyekt və eyni açarla iki canlı CA orijinala güvənən hər müştəri üçün eyni görünür. Eyni nömrəli, lakin fərqli məzmunlu iki CRL müştərilərin ləğv etdiyiniz sertifikatı sakitcə qəbul etməsinin yoludur. Bərpanı müştərilərinizə marşrutu olmayan hostda və ya birdəfəlik VM-də işlədin və sınağın yaratdığı CRL-i heç vaxt dərc etməyin.

Yalnız arxivin açıldığını sübut edən sınaq buraxılış haqqında heç nə sübut etmir. Əhəmiyyətli ardıcıllıq: bərpa edilmiş ca.crt barmaq izini qeyd etdiyiniz dəyərlə müqayisə edin, seriyanın son buraxdığınız sertifikatın göstərdiyi ilə uyğun olduğunu təsdiqləyin, birdəfəlik CN üçün bir sertifikat buraxın və index.txt-in sətir qazandığını izləyin, sonra həmin sertifikatı ləğv edin və CRL-i yenidən yaradın.

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

HSM ilə eyni sınaq modul vasitəsilə keçir. Bloku əvəzedici cihaza açın, modulun bildirdiyi CA sertifikatının qeyd etdiyiniz barmaq izinə uyğun olduğunu təsdiqləyin və yalnız bundan sonra imzalamağa icazə verin. Modulun öz obyekt anbarı varsa, bükmə açar obyektini və onun etiketini əhatə etməlidir, çünki açarı fərqli etiket altında bərpa etmək ona işarə edən konfiqurasiyanı pozur.

Seçimi həll edən nasazlıq rejimləri

Beş nasazlıq real itkilərin çoxunu təşkil edir. Sirrin müstəqil surəti olmadan unudulmuş arxiv parolu arxivi kərpicə çevirir. Bir diskdə tək surət o disklə ölür və yoxlama cəmi heç vaxt deşifrənin hələ işlədiyini demir. Ehtiyat tarixindən sonra ləğv edilmiş sertifikatlar bərpadan sonra yenidən etibarlı görünür, yəni ehtiyat intervalınız həm də ləğv kor nöqtənizdir. Daha köhnə seriya sayğacını bərpa etmək seriya nömrələrini təkrar istifadə edir və seriyaya bağlı keşləri və CRL axtarışlarını qarışdırır. Bükülmüş bloku rədd edən əvəzedici HSM aparat dəyişməsini tam yenidən buraxılışa çevirir.

Model A ilk dördünü pis, lakin görünən şəkildə idarə edir. Model B onları yaxşı idarə edir, ta modul və ya satıcı prosesi uğursuz olana qədər. Açarlarınız ixrac edilə bilirsə və komanda kiçikdirsə, şifrələnmiş arxiv dürüst seçimdir, iki daşıyıcı və yazılı parol proseduru ilə dəstəklənir. Açar çıxarıla bilmirsə, heç seçiminiz yoxdur və iş onu lazım olan gündən əvvəl satıcının bərpa yolunu sübut etməyə keçir.

Modelin seçilməsi və planlaşdırılması

Üç şərt qərarı həll edir. Açar satıcı prosesi olmadan ixrac edilə bilərmi? Bərpa artıq sahib olmadığınız aparata düşməlidirmi? Dəstəklə mübahisə edərkən buraxılış nə qədər dayana bilər? Bu üçünə cavab verin və model həll olunur; bundan sonra hər şey planlaşdırmadır.

Hər imzalama mərasimindən sonra və hər konfiqurasiya dəyişikliyindən əvvəl ehtiyat götürün, çünki konfiqurasiya vəziyyətin hissəsidir. Fərqli yerlərdə fərqli daşıyıcılarda iki surət saxlayın, biri oflayn olsun, və deşifrə sirrini surətlərdən fərqli etimad sahəsində saxlayın. Ehtiyat qeydinə son uğurlu bərpa tarixini yazın. Heç vaxt bərpa olunmamış ehtiyat fərziyyədir, nəzarət deyil.

Bileti bağlamazdan əvvəl bu beş məqamı təsdiqləyin:

  • ca.crt barmaq izi ehtiyatdan kənarda haradasa qeyd olunub.
  • index.txt, serial, crlnumber və openssl.cnf hamısı arxivdə və ya blok dəstindədir.
  • Parolun və ya bükülmüş açarın saxlanması sənədləşdirilib və arxiv sahibindən başqa birindədir.
  • Bərpa təcrid olunmuş hostda bir buraxılış və bir ləğvlə sınanıb.
  • Ehtiyat intervalınızın yaratdığı ləğv boşluğu yazılı şəkildə qəbul edilib və ya qısaldılıb.

Əlaqəli məqalələr