Mozilla-ն իրականացնում է CRLite-ը՝ խնդրահարույց TLS վկայագրերը ստուգելու համար

Mozilla ընկերություն հայտարարվեց Firefox-ի գիշերային շինություններում թեստավորման մեկնարկի մասին՝ չեղյալ հայտարարված վկայագրերը հայտնաբերելու նոր մեխանիզմ. CRLite. CRLite-ը թույլ է տալիս կազմակերպել վկայագրի չեղարկման արդյունավետ ստուգում օգտատիրոջ համակարգում տեղակայված տվյալների բազայի վրա: Mozilla-ի CRLite իրականացումը հրատարակված անվճար MPL 2.0 լիցենզիայի ներքո: Տվյալների բազայի ստեղծման կոդը և սերվերի բաղադրիչները գրված են Python և Գնա։ Հաճախորդի մասեր ավելացվել են Firefox-ին՝ տվյալների բազայից տվյալները կարդալու համար պատրաստված Rust լեզվով.

Վկայագրի ստուգում արտաքին ծառայությունների միջոցով՝ հիմնված դեռ օգտագործվող արձանագրության վրա OCSP (Առցանց Վկայագրի կարգավիճակի արձանագրությունը) պահանջում է երաշխավորված մուտք դեպի ցանց, հանգեցնում է հարցումների մշակման զգալի ուշացման (միջինում 350 մվ) և գաղտնիության ապահովման հետ կապված խնդիրներ ունի (խնդրանքներին պատասխանող OCSP սերվերները ստանում են տեղեկատվություն հատուկ վկայագրերի մասին, որոնք կարող են օգտագործվել՝ դատելու համար, թե կայքեր, որոնք օգտվողը բացում է): Կա նաև ցուցակների դեմ տեղական ստուգման հնարավորություն C.R.L. (Certificate Revocation List), սակայն այս մեթոդի թերությունը ներբեռնված տվյալների շատ մեծ չափն է. ներկայումս չեղարկված վկայագրերի բազան զբաղեցնում է մոտ 300 ՄԲ, և դրա աճը շարունակվում է:

Հավաստագրման մարմինների կողմից վտանգված և չեղարկված վկայագրերն արգելափակելու համար Firefox-ը 2015 թվականից օգտագործում է կենտրոնացված սև ցուցակը։ Oneecrl ծառայության կանչի հետ համատեղ Google Անվտանգ զննում բացահայտել հնարավոր վնասակար գործունեությունը. OneCRL, ինչպես CRLS հավաքածուներ Chrome-ում գործում է որպես միջանկյալ հղում, որը միավորում է սերտիֆիկացման մարմինների CRL ցուցակները և տրամադրում է միասնական կենտրոնացված OCSP ծառայություն՝ չեղյալ համարված վկայագրերը ստուգելու համար՝ հնարավոր դարձնելով հարցումները չուղարկել անմիջապես սերտիֆիկացման մարմիններին: Չնայած առցանց վկայականի ստուգման ծառայության հուսալիությունը բարելավելու մեծ աշխատանքին՝ հեռաչափության տվյալները ցույց են տալիս, որ OCSP-ի 7%-ից ավելին պահանջում է ժամանակի վերջ (մի քանի տարի առաջ այս ցուցանիշը 15% էր):

Լռելյայնորեն, եթե անհնար է ստուգել OCSP-ի միջոցով, զննարկիչը վկայականը վավեր է համարում: Ծառայությունը կարող է անհասանելի լինել ցանցի խնդիրների և ներքին ցանցերի սահմանափակումների պատճառով կամ արգելափակվել հարձակվողների կողմից. MITM հարձակման ժամանակ OCSP ստուգումը շրջանցելու համար պարզապես արգելափակել մուտքը ստուգման ծառայություն: Մասամբ նման հարձակումները կանխելու համար ներդրվել է տեխնիկա Պարտադիր կեռ, որը թույլ է տալիս Ձեզ համարել OCSP մուտքի սխալը կամ OCSP-ի անհասանելիությունը որպես վկայագրի հետ կապված խնդիր, սակայն այս հատկությունը պարտադիր չէ և պահանջում է վկայագրի հատուկ գրանցում:

CRLite-ը թույլ է տալիս համախմբել բոլոր չեղարկված վկայագրերի մասին ամբողջական տեղեկատվությունը հեշտությամբ թարմացվող կառուցվածքում՝ ընդամենը 1 ՄԲ չափով, ինչը հնարավորություն է տալիս պահել CRL տվյալների ամբողջական բազան հաճախորդի կողմից:
Բրաուզերը կկարողանա ամեն օր համաժամացնել չեղյալ համարվող վկայագրերի մասին տվյալների իր պատճենը, և այս տվյալների բազան հասանելի կլինի ցանկացած պայմաններում:

CRLite-ը միավորում է տեղեկատվությունը Վկայականի թափանցիկություն, բոլոր թողարկված և չեղյալ համարված վկայագրերի հանրային մատյան, և վկայագրերի սկանավորման արդյունքները ինտերնետում (հավաքագրվում են սերտիֆիկացման մարմինների CRL-ի տարբեր ցուցակներ և բոլոր հայտնի վկայագրերի մասին տեղեկությունները հավաքվում են): Տվյալները փաթեթավորվում են կասկադի միջոցով Ծաղկման ֆիլտրեր, հավանականական կառուցվածք, որը թույլ է տալիս բացակայող տարրի կեղծ հայտնաբերում, սակայն բացառում է գոյություն ունեցող տարրի բացթողումը (այսինքն՝ որոշակի հավանականությամբ, ճիշտ վկայագրի համար կեղծ դրականը հնարավոր է, բայց չեղյալ հայտարարված վկայականները երաշխավորված են նույնականացման համար):

Կեղծ դրական արդյունքները վերացնելու համար CRLite-ը ներկայացրել է լրացուցիչ ուղղիչ ֆիլտրի մակարդակներ: Կառուցվածքը ստեղծելուց հետո բոլոր աղբյուրների գրառումները որոնվում են և հայտնաբերվում են կեղծ պոզիտիվներ: Այս ստուգման արդյունքների հիման վրա ստեղծվում է լրացուցիչ կառույց, որը կասկադավորվում է առաջինի վրա և ուղղում ստացված կեղծ պոզիտիվները: Գործողությունը կրկնվում է այնքան ժամանակ, մինչև հսկողության ստուգման ժամանակ կեղծ դրական արդյունքներն ամբողջությամբ վերանան: Սովորաբար, 7-10 շերտ ստեղծելը բավարար է բոլոր տվյալները ամբողջությամբ ծածկելու համար: Քանի որ տվյալների բազայի վիճակը, պարբերական համաժամացման պատճառով, փոքր-ինչ հետ է մնում CRL-ի ներկայիս վիճակից, CRLite տվյալների բազայի վերջին թարմացումից հետո տրված նոր վկայագրերի ստուգումն իրականացվում է OCSP արձանագրության միջոցով, ներառյալ՝ օգտագործելով OCSP կեռ (Սերտիֆիկացման մարմնի կողմից վավերացված OCSP պատասխանը փոխանցվում է կայքը սպասարկող սերվերի կողմից, երբ բանակցում է TLS կապի հետ):

Mozilla-ն իրականացնում է CRLite-ը՝ խնդրահարույց TLS վկայագրերը ստուգելու համար

Օգտագործելով Bloom ֆիլտրերը, WebPKI-ի դեկտեմբեր ամսվա տեղեկատվության հատվածը, որն ընդգրկում է 100 միլիոն ակտիվ վկայական և 750 հազար չեղյալ հայտարարված վկայական, կարողացավ փաթեթավորվել 1.3 ՄԲ չափի կառուցվածքում: Կառուցվածքի ստեղծման գործընթացը բավականին ռեսուրսներ է պահանջում, բայց այն իրականացվում է Mozilla սերվերի վրա, և օգտագործողին տրվում է պատրաստի թարմացում։ Օրինակ, երկուական ձևով, գեներացման ընթացքում օգտագործվող աղբյուրի տվյալները պահանջում են մոտ 16 ԳԲ հիշողություն, երբ պահվում է Redis DBMS-ում, իսկ տասնվեցական ձևով, բոլոր սերիական համարների գաղտնալսումը տևում է մոտ 6.7 ԳԲ: Բոլոր չեղյալ և ակտիվ վկայագրերի համախմբման գործընթացը տևում է մոտ 40 րոպե, իսկ Bloom ֆիլտրի հիման վրա փաթեթավորված կառուցվածք ստեղծելու գործընթացը տևում է ևս 20 րոպե:

Ներկայումս Mozilla-ն ապահովում է, որ CRLite տվյալների բազան թարմացվում է օրական չորս անգամ (ոչ բոլոր թարմացումներն են առաքվում հաճախորդներին): Դելտա թարմացումների ստեղծումը դեռ չի իրականացվել. bsdiff4-ի օգտագործումը, որն օգտագործվում է թողարկումների համար դելտա թարմացումներ ստեղծելու համար, չի ապահովում CRLite-ի համար համապատասխան արդյունավետություն, և թարմացումներն անհիմն մեծ են: Այս թերությունը վերացնելու համար նախատեսվում է վերամշակել պահեստավորման կառուցվածքի ձևաչափը՝ շերտերի անհարկի վերակառուցումն ու ջնջումը վերացնելու համար:

CRLite-ը ներկայումս աշխատում է Firefox-ում պասիվ ռեժիմով և օգտագործվում է OCSP-ին զուգահեռ՝ ճիշտ աշխատանքի մասին վիճակագրություն հավաքելու համար: CRLite-ը կարող է անցնել հիմնական սկանավորման ռեժիմին, դրա համար անհրաժեշտ է սահմանել պարամետրը security.pki.crlite_mode = 2 about:config-ում:

Mozilla-ն իրականացնում է CRLite-ը՝ խնդրահարույց TLS վկայագրերը ստուգելու համար

Source: opennet.ru

Добавить комментарий