Mozilla muammoli TLS sertifikatlarini tekshirish uchun CRLite-ni qo'llaydi

Mozilla kompaniyasi e'lon qildi Firefox-ning tungi tuzilmalarida bekor qilingan sertifikatlarni aniqlashning yangi mexanizmini sinovdan o'tkazish boshlanishi haqida - CRLite. CRLite foydalanuvchi tizimida joylashgan ma'lumotlar bazasiga nisbatan sertifikatning bekor qilinishini samarali tekshirishni tashkil qilish imkonini beradi. Mozilla CRLite dasturini amalga oshirish e'lon qilindi bepul MPL 2.0 litsenziyasi ostida. Ma'lumotlar bazasi va server komponentlarini yaratish uchun kod yozilgan Python va Go. Ma'lumotlar bazasidan ma'lumotlarni o'qish uchun Firefox-ga mijoz qismlari qo'shildi tayyorlangan Rust tilida.

Hali ham foydalanilayotgan protokol asosida tashqi xizmatlardan foydalangan holda sertifikatni tekshirish OCSP (Onlayn sertifikat holati protokoli) tarmoqqa kafolatlangan kirishni talab qiladi, so'rovni qayta ishlashda sezilarli kechikishga olib keladi (o'rtacha 350 ms) va maxfiylikni ta'minlash bilan bog'liq muammolar mavjud (so'rovlarga javob beradigan OCSP serverlari ma'lum sertifikatlar haqida ma'lumot oladi, ular nima ekanligini aniqlash uchun ishlatilishi mumkin. foydalanuvchi ochadigan saytlar). Ro'yxatlar bo'yicha mahalliy tekshirish imkoniyati ham mavjud C.R.L. (Sertifikatlarni bekor qilish ro'yxati), lekin bu usulning kamchiliklari yuklab olingan ma'lumotlarning juda katta hajmidir - hozirda bekor qilingan sertifikatlar bazasi taxminan 300 MB ni egallaydi va uning o'sishi davom etmoqda.

Sertifikatlashtirish idoralari tomonidan buzilgan va bekor qilingan sertifikatlarni bloklash uchun Firefox 2015 yildan beri markazlashtirilgan qora roʻyxatdan foydalanmoqda. OneCRL xizmatga qo'ng'iroq bilan birgalikda Google xavfsiz ko'rish mumkin bo'lgan zararli faoliyatni aniqlash. OneCRL kabi CRLSsetlar Chrome brauzerida sertifikatlashtirish idoralarining CRL roʻyxatlarini jamlovchi oraliq havola vazifasini bajaradi va bekor qilingan sertifikatlarni tekshirish uchun yagona markazlashtirilgan OCSP xizmatini taqdim etadi, bu esa sertifikatlashtirish organlariga toʻgʻridan-toʻgʻri soʻrov yubormaslik imkonini beradi. Sertifikatlarni tekshirish onlayn xizmatining ishonchliligini oshirish boʻyicha koʻp ish olib borilganiga qaramay, telemetriya maʼlumotlari shuni koʻrsatadiki, OCSP soʻrovlarining 7% dan ortigʻi muddati tugaydi (bir necha yil oldin bu koʻrsatkich 15% edi).

Odatiy bo'lib, agar OCSP orqali tekshirishning iloji bo'lmasa, brauzer sertifikatni haqiqiy deb hisoblaydi. Tarmoq muammolari va ichki tarmoqlardagi cheklovlar tufayli xizmat ishlamay qolishi yoki tajovuzkorlar tomonidan bloklangan bo'lishi mumkin - MITM hujumi paytida OCSP tekshiruvini chetlab o'tish uchun tekshirish xizmatiga kirishni bloklash kifoya. Bunday hujumlarning qisman oldini olish uchun texnika joriy etildi Zımbalash kerak, bu sizga OCSP kirish xatosini yoki OCSP mavjud emasligini sertifikat bilan bog'liq muammo sifatida ko'rib chiqishga imkon beradi, ammo bu xususiyat ixtiyoriy va sertifikatni maxsus ro'yxatdan o'tkazishni talab qiladi.

CRLite barcha bekor qilingan sertifikatlar haqidagi to'liq ma'lumotlarni osongina yangilanadigan tuzilmaga birlashtirish imkonini beradi, hajmi atigi 1 MB, bu esa mijoz tomonida to'liq CRL ma'lumotlar bazasini saqlash imkonini beradi.
Brauzer har kuni bekor qilingan sertifikatlar haqidagi ma'lumotlar nusxasini sinxronlashtirishi mumkin va bu ma'lumotlar bazasi har qanday sharoitda mavjud bo'ladi.

CRLite dan ma'lumotlarni birlashtiradi Sertifikatning shaffofligi, barcha berilgan va bekor qilingan sertifikatlarning ommaviy jurnali va Internetda sertifikatlarni skanerlash natijalari (sertifikatlash organlarining turli CRL ro'yxatlari to'planadi va barcha ma'lum sertifikatlar haqida ma'lumotlar jamlanadi). Ma'lumotlar kaskad yordamida paketlanadi Bloom filtrlari, etishmayotgan elementni noto'g'ri aniqlash imkonini beruvchi, lekin mavjud elementni yo'qotishni istisno qiladigan ehtimolli tuzilma (ya'ni, ma'lum bir ehtimollik bilan, to'g'ri sertifikat uchun noto'g'ri ijobiy bo'lishi mumkin, ammo bekor qilingan sertifikatlar aniqlanishi kafolatlanadi).

Noto'g'ri pozitivlarni bartaraf etish uchun CRLite qo'shimcha tuzatuvchi filtr darajalarini joriy qildi. Strukturani yaratgandan so'ng, barcha manba yozuvlari qidiriladi va har qanday noto'g'ri pozitivlar aniqlanadi. Ushbu tekshirish natijalariga ko'ra, qo'shimcha tuzilma yaratiladi, u birinchisiga kaskadlanadi va natijada noto'g'ri musbatlarni tuzatadi. Nazorat tekshiruvi paytida noto'g'ri musbatlar to'liq bartaraf etilmaguncha operatsiya takrorlanadi. Odatda, barcha ma'lumotlarni to'liq qoplash uchun 7-10 qatlamni yaratish kifoya. Ma'lumotlar bazasining holati davriy sinxronizatsiya tufayli CRL ning hozirgi holatidan biroz orqada qolganligi sababli, CRLite ma'lumotlar bazasi oxirgi yangilanganidan keyin chiqarilgan yangi sertifikatlarni tekshirish OCSP protokoli, shu jumladan OCSP protokoli yordamida amalga oshiriladi. OCSP Stapling (sertifikatlash organi tomonidan tasdiqlangan OCSP javobi TLS ulanishi boʻyicha muzokaralar olib borilayotganda saytga xizmat koʻrsatuvchi server tomonidan uzatiladi).

Mozilla muammoli TLS sertifikatlarini tekshirish uchun CRLite-ni qo'llaydi

Bloom filtrlari yordamida 100 million faol sertifikatlar va 750 ming bekor qilingan sertifikatlarni o'z ichiga olgan WebPKI ma'lumotlarining dekabr bo'lagi 1.3 MB hajmdagi tuzilishga to'planishi mumkin edi. Strukturani yaratish jarayoni juda ko'p resurs talab qiladi, lekin u Mozilla serverida amalga oshiriladi va foydalanuvchiga tayyor yangilanish beriladi. Misol uchun, ikkilik shaklda, ishlab chiqarishda foydalaniladigan manba ma'lumotlari Redis DBMSda saqlanganda taxminan 16 Gb xotirani talab qiladi va o'n oltilik shaklda barcha sertifikat seriya raqamlari 6.7 Gb ni tashkil qiladi. Barcha bekor qilingan va faol sertifikatlarni jamlash jarayoni taxminan 40 daqiqa davom etadi va Bloom filtri asosida qadoqlangan tuzilmani yaratish jarayoni yana 20 daqiqa davom etadi.

Mozilla hozirda CRLite ma'lumotlar bazasi kuniga to'rt marta yangilanishini ta'minlaydi (barcha yangilanishlar mijozlarga yetkazilmaydi). Delta yangilanishlarini yaratish hali amalga oshirilmagan - relizlar uchun delta yangilanishlarini yaratish uchun foydalaniladigan bsdiff4 dan foydalanish CRLite uchun etarli samaradorlikni ta'minlamaydi va yangilanishlar asossiz darajada katta. Ushbu kamchilikni bartaraf etish uchun qatlamlarni keraksiz qayta qurish va o'chirishni bartaraf etish uchun saqlash strukturasi formatini qayta ishlash rejalashtirilgan.

CRLite hozirda Firefox-da passiv rejimda ishlaydi va to'g'ri ishlash haqida statistik ma'lumotlarni to'plash uchun OCSP bilan parallel ravishda ishlatiladi. CRLite asosiy skanerlash rejimiga o'tkazilishi mumkin, buning uchun siz about:config ichida security.pki.crlite_mode = 2 parametrini o'rnatishingiz kerak.

Mozilla muammoli TLS sertifikatlarini tekshirish uchun CRLite-ni qo'llaydi

Manba: opennet.ru

a Izoh qo'shish