nemrég A Mozilla bejelentette egy új tanúsítvány-felderítő mechanizmus bevezetését visszavonás "CRLite" néven, és amely megtalálható a Firefox éjszakai verzióiban. Ez az új mechanizmus lehetővé teszi az ellenőrzés megszervezését tényleges tanúsítvány-visszavonás a felhasználó rendszerén tárolt adatbázissal szemben.
Az eddig használt tanúsítványellenőrzés külső szolgáltatások igénybevételével Az OCSP protokollban (Online tanúsítvány állapotprotokoll) garantált hozzáférést igényel a hálózathoz, ami észrevehető késleltetéshez vezet a kérés feldolgozásában (átlagosan 350 ms), és titoktartási problémái vannak (az OCSP kérésekre válaszoló szerverek információkat kapnak bizonyos tanúsítványokról, amelyek alapján meg lehet ítélni, hogy a felhasználó mely webhelyeket nyitja meg).
is lehetőség van helyi ellenőrzésre a CRL alapján (Tanúsítvány visszavonási lista), de ennek a módszernek a hátránya a letöltött adatok nagy mérete- Jelenleg a tanúsítvány-visszavonási adatbázis körülbelül 300 MB-ot foglal el, és tovább növekszik.
A Firefox a központosított OneCRL feketelistát használja 2015 óta blokkolja a tanúsító hatóságok által megsértett és visszavont tanúsítványokat, valamint hozzáférést biztosít a Google biztonságos böngészési szolgáltatásához az esetleges rosszindulatú tevékenységek megállapítása érdekében.
A OneCRL, mint a Chrome-ban lévő CRLSets, köztes linkként működik, amely összesíti a tanúsító hatóságok CRL-listáit és egyetlen központosított OCSP-szolgáltatást nyújt a visszavont tanúsítványok ellenőrzésére, lehetővé téve, hogy ne küldjön kéréseket közvetlenül a tanúsító hatóságoknak.
Default, ha az OCSP-n keresztül nem lehet ellenőrizni, a böngésző a tanúsítványt érvényesnek tekinti. Így ha a szolgáltatás hálózati problémák miatt nem érhető el és a belső hálózati korlátozások vagy hogy a támadók blokkolhatják egy MITM-támadás során. Az ilyen támadások elkerülése érdekében a Must-Staple technikát alkalmazzák, amely lehetővé teszi az OCSP hozzáférési hibájának vagy az OCSP elérhetetlenségének a tanúsítvánnyal kapcsolatos problémaként való értelmezését, de ez a szolgáltatás opcionális, és a tanúsítvány speciális regisztrációját igényli.
A CRLite-ről
A CRLite lehetővé teszi, hogy teljes információt hozzon az összes visszavont tanúsítványról könnyen megújuló struktúrában csak 1 MB, ami lehetővé teszi a teljes CRL adatbázis tárolását az ügyfél oldalon. A böngésző képes lesz naponta szinkronizálni a visszavont tanúsítványokban szereplő adatok másolatát, és ez az adatbázis bármilyen feltételek mellett elérhető lesz.
A CRLite egyesíti a tanúsítvány átlátszóságából származó információkat, az összes kiállított és visszavont tanúsítvány nyilvános nyilvántartása és az internetes tanúsítvány-beolvasás eredményei (a tanúsító központok különböző CRL-listáit összegyűjtik, és az összes ismert tanúsítvánnyal kapcsolatos információkat hozzáadják).
Az adatok Bloom szűrők segítségével vannak csomagolva, egy valószínűségi struktúra, amely lehetővé teszi a hiányzó tétel hamis meghatározását, de kizár egy meglévő elem kihagyását (vagyis bizonyos valószínűséggel hamis pozitív eredmények is lehetségesek egy érvényes tanúsítvány esetében, de a visszavont tanúsítványok garantáltan észlelhetők).
A hamis riasztások kiküszöbölése érdekében a CRLite további korrekciós szűrőszinteket vezetett be. A szerkezet felépítése után az összes forrásrekord felsorolásra kerül, és téves riasztásokat észlel.
Ezen ellenőrzés eredményei alapján egy további struktúra jön létre, amely lépcsőzetesen halad az első felett, és kijavítja a felmerült téves riasztásokat. A műveletet addig ismételjük, amíg a hamis pozitív eredményeket teljesen kizárják az ellenőrzés során.
Általábanal, az összes adat teljes lefedéséhez elegendő 7-10 réteg létrehozása. Mivel az időszakos szinkronizálás miatt az adatbázis állapota kissé elmarad a CRL jelenlegi állapotától, a CRLite adatbázis legutóbbi frissítése után kiadott új tanúsítványok ellenőrzése a protokoll használatával történik OCSP, beleértve az OCSP tűzési technikájának alkalmazását.
A Mozilla CRLite implementációja ingyenes MPL 2.0 licenc alatt jelenik meg. Az adatbázis és a szerver összetevőinek létrehozására szolgáló kódot Python és Go alkalmazásban írják. Az adatbázisból származó adatok olvasásához a Firefoxhoz hozzáadott ügyfélrészek a Rust nyelven készülnek.
forrás: https://blog.mozilla.org/