
Deri më parë, certifikatat shpesh skadonin sepse duheshin rinovuar manualisht. Njerëzit thjesht e harronin këtë. Me shfaqjen e Let’s Encrypt dhe procedurës së automatizuar të rinovimit, duket se problemi duhet të jetë zgjidhur. Por një ngjarje e fundit tregon se në të vërtetë ajo mbetet e rëndësishme. Fatkeqësisht, certifikatat vazhdojnë të skadojnë.
Nëse dikush e ka humbur këtë histori, në mesnatë më 4 maj 2019, ndodhi papritur që pothuajse të gjithë shtesat e Firefox-it të ndalonin së funksionuari.
Siç rezultoi, një ndërprerje masive ndodhi për shkak se Mozilla , e cila ishte përdorur për nënshkrimin e shtesave. Prandaj ato u etiketuan si "të pavlefshme" dhe nuk kaluan verifikimin (). Në forume, si një mënyrë për të anashkaluar këtë, rekomandohej që të çonim verifikimin e nënshkimeve të shtesave në about:config ose të kalonim orën sistemike.
Mozilla lëshoi shpejt një patch për Firefox 66.0.4, i cili zgjidh problemin me certifikatën e pavlefshme, dhe të gjitha shtesat u kthyen në gjendjen normale. Zhvilluesit rekomandojnë ta instaloni dhe asnjë mënyrë anashkalimi për kontrollimin e nënshkrimeve, sepse ato mund të konfl iktojnë me patch-in.
Megjithatë, kjo histori përsëri tregon se skadimi i certifikatave mbetet një problem i rëndësishëm edhe sot.
Në këtë kontekst, është interesante të shikojmë një mënyrë mjaft origjinale se si zhvilluesit e protokollit . Zgjidhja e tyre mund të ndahet në dy pjesë. Së pari, janë certifikatat afatshkurtra. Së dyti, paralajmërimi i përdoruesve për skadimin e certifikatave afatgjata.
DNSCrypt
DNSCrypt është një protokoll për enkriptimin e trafikut DNS. Ai mbron komunikimet DNS nga përvetësimet dhe MiTM, si dhe lejon kalimin e bllokimeve në nivelin e kërkesave DNS.
Protokolli mbulon trafikun DNS midis klientit dhe serverit në një strukturë kriptografike, duke punuar mbi protokollet e transportit UDP dhe TCP. Për ta përdorur, si klienti ashtu edhe DNS-resolveri duhet të mbështesin DNSCrypt. Për shembull, që nga marsi 2016, Yandex e përfshiu atë në serverat e saj DNS dhe në shfletues. Disa ofrues të tjerë, përfshirë Google dhe Cloudflare, gjithashtu shpallën mbështetje për këtë. Fatkeqësisht, numri i tyre nuk është shumë i madh (në faqen zyrtare janë listuar 152 servera publikë DNS). Por programi mund mund të instalohet manualisht në klientët nën Linux, Windows dhe MacOS. Ka gjithashtu dhe .

Si funksionon DNSCrypt? Nëse e shpjegojmë për shkurt, klienti merr çelësin publik të provajderit të zgjedhur dhe me ndihmën e tij verifikon certifikatat e tij. Atje ndodhen çelësat publikë afatshkurtër për sesionin dhe identifikatori i grupit të enkripcioni. Klientëve rekomandohet të gjenerojnë një çelës të ri për çdo kërkesë, ndërsa serverëve – të ndryshojnë çelësat çdo 24 orë. Gjatë shkëmbimit të çelësave aplikohet algoritmi X25519, për nënshkrimin – EdDSA, për enkriptimin bllok – XSalsa20-Poly1305 ose XChaCha20-Poly1305.
Një nga zhvilluesit e protokollit Frank Denis , se zëvendësimi automatik çdo 24 orë e zgjidhi problemin e certifikatave të skaduara. Në parim, klienti referues dnscrypt-proxy pranon certifikata me çdo afat veprimi, por jep një paralajmërim „Periudha e çelësave të dnscrypt-proxy për këtë server është shumë e madhe”, nëse është e vlefshme për më shumë se 24 orë. Njëkohësisht është lëshuar një imazh Docker, në të cilin realizuan një ndërrim të shpejtë të çelësave (dhe certifikatave).
Së pari, kjo është jashtëzakonisht e dobishme për sigurinë: nëse serveri është i komprometuar ose çelësi ka rrjedhur, atëherë trafiku i djeshëm nuk mund të dekryptojë. Çelësi tashmë është ndryshuar. Ndoshta, kjo do të përbëjë një problem për zbatimin e „ligjit Yarovaya”, i cili i detyron provajderët të ruajnë të gjithë trafikun, përfshirë të enkriptuarin. Supozohet se më vonë mund të dekryptohen sipas nevojës, duke kërkuar çelësin nga vendi. Por në këtë rast, vendi thjesht nuk do të jetë në gjendje ta sigurojë atë, sepse përdor çelësa afatshkurtër, duke fshirë ato të vjetra.
Por e rëndësishmja, shkruan Denis, çelësat afatshkurtër i detyrojnë serverët që nga dita e parë të vendosin automatizimin. Nëse serveri lidhet në rrjet, dhe skriptet e ndërrimit të çelësave nuk janë konfiguruar ose nuk punojnë, kjo do të zbulohet menjëherë.
Kur automatizimi ndërron çelësat çdo disa vjet, nuk mund të besohet, dhe njerëzit mund të harrojnë për skadimin e certifikatave. Me ndërrimin ditor të çelësave, kjo do të zbulohet menjëherë.
Në të njëjtën kohë, nëse automatizimi është i vendosur siç duhet, nuk ka rëndësi se sa shpesh ndodhin ndryshimet e çelësave: çdo vit, çdo tremujor ose tre herë në ditë. Nëse gjithçka funksionon më shumë se 24 orë, atëherë do të funksionojë përjetësisht, shkruan Frank Denis. Sipas tij, rekomandimi për të ndërruar çelësat çdo ditë në versionin e dytë të protokollit së bashku me një imazh të gatshëm të Docker që e implementon këtë, e redukton efektivisht numrin e serverëve me certifikata të skaduara, duke përmirësuar njëkohësisht sigurinë.
Megjithatë, disa ofrues kanë vendosur për ndonjë arsye teknike të vendosin një afat më të gjatë për certifikatën sesa 24 orë. Kjo problematike është zgjidhur kryesisht me disa rreshta kodi në dnscrypt-proxy: përdoruesit marrin një paralajmërim informativ 30 ditë para skadimit të certifikatës, një tjetër mesazh me një nivel më të lartë të rëndësishmërisë 7 ditë para skadimit dhe një mesazh kritik nëse certifikata ka mbetur më pak se 24 orë. Kjo vlen vetëm për certifikatat që fillimisht kanë një afat të gjatë skadimi.
Këto mesazhe u japin përdoruesve mundësinë t'i njoftojnë operatorët e DNS për afatin e skadimit të certifikatës përpara se të jetë shumë vonë.
Mund të ishte më mirë nëse të gjithë përdoruesit e Firefox do të kishin marrë një mesazh të tillë, ndoshta dikush do të kishte informuar zhvilluesit dhe ata nuk do ta lejonin skadimin e certifikatës. "Nuk e kujtoj asnjë server DNSCrypt nga lista e serverëve publikë të DNS me certifikata të skaduara në dy ose tri vitet e fundit," shkruan Frank Denis. Në çdo rast, ndoshta është më mirë të paralajmërohen fillimisht përdoruesit sesa të çaktivizohen shtesat pa paralajmërim.
Burimi: habr.com
