Ikki CA sertifikati bir xil ochiq kalit va bir xil subjectga ega bo'lishi mumkin, ammo baribir almashtiriladigan emas. Biri o'z-o'zini imzolagan, ikkinchisi eski ildiz tomonidan o'zaro imzolangan, ularning chiqaruvchi nomlari, seriya raqamlari va imzolari farq qiladi. Barg o'zining Authority Key Identifier orqali faqat bittasiga bog'lanishi mumkin. Bu bog'lanish mijoz noto'g'ri zanjirni tanlab, handshake aniq sababsiz muvaffaqiyatsiz bo'lmaguncha ko'rinmas qoladi.

Ushbu besh tekshiruvni tartib bilan bajaring: har biri boshqa nosozlikni chiqarib tashlaydi.

Tekshiruv 1: shablonga tegishdan oldin ikkala zanjirni chizing

Yo'llarni yozib oling. Eski populyatsiya Eski ildiz A ga ishonadi, u CA B ni chiqargan, u esa server bargini chiqargan. Yangi populyatsiya o'z-o'zini imzolagan CA B ga bevosita ishonadi. Ikkala B sertifikati bir xil kalit va subjectni olib yuradi, shuning uchun subject satrini o'qigan odam mijoz ikkitasini ko'radigan joyda bitta CA ko'radi.

O'zaro imzolangan nusxa ham haqiqiy CA sertifikati bo'lishi kerak, basic constraints va key usage imzolashga ruxsat berishi lozim.

Tekshiruv 2: faqat kalitni emas, AKI maydonlarini solishtiring

Bargning chiqaruvchi nomi B ning subjectiga mos kelishi kerak va bu qism odatda saqlanadi. Ikki nusxa ajraladigan joy — Authority Key Identifier, chunki u kalit identifikatori, chiqaruvchi sertifikati va seriya raqamini olib yurishi mumkin. Kalit bir xil bo'lgani uchun kalit identifikatori ikkala nusxaga ham mos keladi. Chiqaruvchi va seriya maydonlari faqat bittasiga to'liq mos keladi, shuning uchun o'z-o'zini imzolagan nusxaga qarshi qurilgan zanjir o'zaro imzolanganga qarshi muvaffaqiyatsiz bo'lishi mumkin.

Taxmin qilish o'rniga bargni ko'zdan kechiring: openssl x509 -in server.pem -noout -ext authorityKeyIdentifier.

So'ngra ikkala nomzodni openssl x509 -in b-cross.pem -noout -text | grep -A2 "Authority Key Identifier" bilan solishtiring va xuddi shu buyruqni o'z-o'zini imzolagan nusxaga qarshi ishlating.

Agar barg chiqaruvchi va seriya raqamini olib yursa, zanjirni faqat shu qiymatlar tasvirlagan sertifikat tugatadi, mijoz qaysi nusxani yuklagan bo'lsa ham.

Tekshiruv 3: chiqarish siyosatini o'zgartiring, hech qachon imzolangan baytlarni emas

Kengaytmalar imzo ichida yashaydi. Mavjud bargga birini qo'shish, olib tashlash yoki tahrirlash ta'mirlash emas, bu boshqa sertifikat va qayta chiqarishni talab qiladi. O'zgartirish chiqarish siyosatiga tegishli: authorityKeyIdentifier = keyid,issuer:always yangi barglar sertifikatga xos bog'lanishni olib yurishini ta'minlaydi, yolg'iz keyid esa qasddan o'zaro imzolash o'tishiga mos bo'shroq shaklni saqlaydi. Keyingi partiya imzolanishidan oldin PKI ingiz qaysi birini xohlashini hal qiling.

Umumiy shablonni tahrirlash nafaqat oldingizdagi serverni, balki har bir kelajakdagi sertifikatni ham o'zgartiradi.

Tekshiruv 4: har bir ishonch populyatsiyasini alohida tekshiring

Eski yo'lni va yangi yo'lni alohida ishga tushirish sifatida sinab ko'ring. openssl verify -purpose sslserver -verify_hostname vpn.example -CAfile old-root.pem -untrusted b-cross-signed.pem server.pem o'zaro imzolangan marshrutni mashq qiladi, yangi ildiz va untrusted faylsiz xuddi shu buyruq o'z-o'zini imzolagan marshrutni mashq qiladi. Ikkala ildizni bitta to'plamga aralashtirish qaysi zanjir tanlanganini yashiradi. So'ngra haqiqiy mijozlar bilan takrorlang, chunki VPN backend zanjirni afzal ko'rishi yoki sertifikatni qadab qo'yishi openssl qilmaydigan usullarda mumkin.

Oraliq sertifikatni mijoz haqiqatan o'qiydigan xizmat konfiguratsiyasi orqali yetkazing, wiki sahifasi orqali emas.

Tekshiruv 5: eski yo'lni foydalanishdan chiqarish soatida saqlang

O'zaro imzolash dizayn bo'yicha eski ishonch yo'lini tirik saqlaydi, bu ham maqsad, ham xavf. U buzilgan eski ildizni bartaraf etmaydi va o'sha ildizni hech bir mijozdan olib tashlamaydi. Eski yo'l qachon ishonch bermay qo'yishini yozib qo'ying va o'sha kun haqiqatan kelishini tasdiqlang.

Agar har bir mijoz barglar siljishidan oldin yangi ildizni qabul qila olsa, oddiy ikki tomonlama ishonch joriy etish o'zaro imzolashdan soddaroq va foydalanishdan chiqarish uchun bitta narsa kamroq qoldiradi.

O'xshash maqolalar