Mozilla Şirkəti Firefox-un gecə yığmalarında ləğv edilmiş sertifikatların müəyyənləşdirilməsi üçün yeni mexanizmin sınaqlarına başlandığı barədə . CRLite, istifadəçi sistemində yerləşən məlumat bazası vasitəsilə effektiv sertifikat ləğvini yoxlamağı təşkil etməyə imkan verir. Mozilla-da inkişaf etdirilən CRLite-nin icrası MPL 2.0 açıq lisenziya altında hazırlanır. Məlumat bazasının yaradılması üçün kod və server komponentləri Go dilində yazılmışdır. Firefox-a məlumat bazasından məlumatları oxumaq üçün əlavə edilmiş müştəri hissələri Rust dilindədir.
Hələ də xarici xidmətlərlə birlikdə həyata keçirilən sertifikatların yoxlanması (Onlayn Sertifikat Status Protokolu) mütləq şəbəkə girişinin olmasını tələb edir, sorğunun işlənməsi zamanı əhəmiyyətli gecikmələrə (orta hesabla 350 ms) səbəb olur və məxfiliklə bağlı problemlər yaradır (OCSP sorğularına cavab verən serverlər istifadəçinin açdığı spesifik sertifikatlar haqqında məlumat alır). Eyni zamanda, sertifikatların ləğv edilməsi üçün siyahılarla yerli yoxlama imkanı da var (Sertifikat Ləğv Siyahısı), lakin bu metodun mənfi cəhəti yüklənən məlumatların çox böyük ölçüdə olmasıdır — hal-hazırda ləğv edilmiş sertifikatların məlumat bazası təxminən 300 MB ölçüdədir və onun böyüməsi davam edir.
Firefox-da 2015-ci ildən etibarən mərkəzləşdirilmiş qara siyahıdan istifadə olunur Google Safe Browsing xidməti ilə birlikdə, mümkün zərərli fəaliyyətləri müəyyən etmək üçün. CRLSets Əgər OCSP vasitəsilə yoxlama aparmaq mümkün deyilsə, brauzer sertifikatı düzgün hesab edir. Xidmət, şəbəkə problemləri və daxili şəbəkələrdəki məhdudiyyətlərlə yanaşı, hücumçılar tərəfindən bloklana bilər — MITM hücumları zamanı OCSP yoxlamasını aşmaq üçün sadəcə yoxlama xidmətinə girişin maneə törədilməsi kifayətdir. Belə hücumları müəyyən dərəcədə qarşısını almaq üçün
Must-Staple , bu, OCSP-yə müraciət etmə səhvinin və ya OCSP-nin əlçatan olmamasının sertifikatla bağlı problem olduğunu şərh etməyə imkan verir, lakin bu imkanı istifadə etmək üçün xüsusi sertifikat tərtibi tələb olunur.
CRLite, müştəri tərəfində tam CRL bazasını saxlamağa imkan verən, ölçüsü cəmi 1 MB olan asanlıqla yenilənən strukturdur.
Brauzer, hər gün ləğv edilmiş sertifikatlarla bağlı məlumatların öz surətini sinxronlaşdıracaq, bu verilənlər bazası isə hər hansı bir şəraitdə əlçatan olacaq.
CRLite məlumatları bir araya gətirir , bütün verilmiş və ləğv edilmiş sertifikatların ictimai jurnalını və internetdəki sertifikat hissələrinin skan edilməsi nəticələrini (müxtəlif CRL siyahıları toplanır, etibarnamələrin fərdi məlumatları agregasiya olunur). Məlumatlar kaskadlı , itkin elementi yanlışlıqla müəyyən etməyə icazə verən, lakin mövcud elementi qaçırmağı istisna edən ehtimal strukturu ilə yığılır (yəni, müəyyən bir ehtimal ilə düzgün sertifikat üzərində yanlış sınaq yarana bilər, lakin ləğv edilmiş sertifikatlar təminatlı olaraq aşkar ediləcək).
CRLite-də yanlış sınaqları aradan qaldırmaq üçün əlavə düzəliş səviyyələri tətbiq olunur. Strukturu yaradıldıqdan sonra, bütün ilkin qeydlər yoxlanılır və meydana gəlmiş yanlış sınaqlar müəyyən edilir. Bu yoxlama nəticələrinə əsasən, ilk struktura kaskadlı olaraq əlavə edilən başqa bir struktur yaradılır və meydana gəlmiş yanlış sınaqlar düzəldilir. İşləmə, yoxlama zamanı yanlış sınaqlar tam olaraq aradan qaldırılana qədər davam edir. Adətən, bütün məlumatları tamamilə əhatə etmək üçün 7-10 qat yaratmaq kifayətdir. Brauzer verilənlər bazasının vəziyyəti mütəmadi sinxronizasiya səbəbindən CRL-in aktual vəziyyətindən bir az geri qalıb, CRLite verilənlər bazası ilə son yeniləmə sonrası verilmiş yeni sertifikatların yoxlanılması OCSP protokolu vasitəsilə həyata keçirilir, o cümlədən (etibarnamə mərkəzi tərəfindən təsdiqlənmiş OCSP cavabı TLS bağlantısı həyata keçirilərkən xidmət edən veb serveri ilə ötürülür).
Bloom filtrləri vasitəsilə 100 milyon aktiv sertifikat və 750 min ləğv edilmiş sertifikatı əhatə edən WebPKI məlumatlarının dekabr kəsimi 1.3 MB ölçüsündə bir struktura yığılmışdır. Strukturun yaradılması prosesi kifayət qədər resurs tələb edən, lakin Mozilla serverində icra olunan və istifadəçiyə hazır yeniləmə təqdim edilən bir prosesdir. Məsələn, yaradılma zamanı istifadə edilən ilkin məlumatlar 16 GB yaddaş tələb edir, Redis DB-də saxlanıldığında, bütün sertifikat seriya nömrələrinin hexadecimala çevrilmiş dump-ı təxminən 6.7 GB yer tutur. Ləğv edilmiş və aktiv sertifikatların toplanması prosesi təxminən 40 dəqiqə, Bloom filtri əsasında yığılmış strukturun yaradılması prosesi isə 20 dəqiqə tələb edir.
Hazırda Mozilla, CRLite məlumat bazasını gün ərzində dörd dəfə yeniləyir (bütün yeniləmələr müştərilərə çatdırılmır). Delta yeniləmələrinin yaradılması hələ həyata keçirilməyib - bsdiff4-dən istifadə edərək buraxılışların delta yeniləmələrini yaratmaq CRLite üçün lazımi effektivliyi təmin etmir və yeniləmələr haqsız yerə çox böyük olur. Bu çatışmazlığı aradan qaldırmaq üçün saxlama strukturu formatı yenidən işlənilir ki, lazımsız yenidənqurma və təbəqələrin çıxarılmasından qaçsın.
CRLite hazırda Firefox-da passiv rejimdə işləyir və OCSP ilə paralel olaraq işləmə statistikalarını toplamaq üçün istifadə olunur. CRLite-i əsas yoxlama rejiminə keçirmək mümkündür, bunun üçün about:config-də security.pki.crlite_mode = 2 parametrini təyin etmək lazımdır.
Mənbə: opennet.ru
