
A webes biztonság az adatvédelem alapja, és a HTTPS-kapcsolatok sarokkövei a digitális tanúsítványok. De mi történik, ha egy tanúsítvány érvénytelen lesz? A Mozilla áttörő megoldása, a CRLite végre megteremti a gyors, átfogó és mindenekelőtt privát tanúsítvány-visszavonási ellenőrzés lehetőségét. A Firefox az első és egyetlen böngésző, amely a felhasználó böngészési szokásainak felfedése nélkül teszi teljessé a biztonsági láncot.
A tanúsítványok sötét oldala: miért van szükség visszavonásra?
Naponta több tízmillió TLS (Transport Layer Security) szervertanúsítványt állítanak ki, hogy titkosított kommunikációt biztosítsanak a böngészők és a weboldalak között. Egy tanúsítvány akár 398 napig is érvényes lehet, de biztonsági okokból – például egy privát kulcs kompromittálódása miatt – bármikor visszavonható. Egy visszavont tanúsítvány súlyos biztonsági kockázatot jelent, és nem szabad megbízni benne a szerver hitelesítésekor. A visszavont tanúsítványok azonosítása azonban eddig bonyolult feladat volt, mivel az információnak a tanúsítvány kibocsátójától (Certificate Authority, CA) el kell jutnia minden egyes böngészőhöz.
A web hosszú ideig két kompromisszumos megoldás között rekedt: a Tanúsítvány-visszavonási listák (Certificate Revocation Lists, CRLs) és az Online Tanúsítvány Állapot Protokoll (Online Certificate Status Protocol, OCSP) között. A CRL-ek hatalmas méretű fájlok, amelyekben az összes visszavont tanúsítvány szerepel, így letöltésük lassú és nehézkes. Az OCSP ezzel szemben valós időben kérdez rá az illetékes tanúsító hatóságnál a tanúsítvány állapotára. Ez a módszer azonban súlyos adatvédelmi hiányosságokat rejt magában: a felhasználó ezzel felfedi a tanúsító hatóság (CA) előtt, hogy melyik weboldalt készül meglátogatni, ráadásul ezek a kérések általában titkosítatlan HTTP-kapcsolaton keresztül történnek, ami a kommunikációt megfigyelők számára is láthatóvá teszi.
A Mozilla forradalmi megoldása: a CRLite
A Firefox új mechanizmusa, a CRLite, most először tette megvalósíthatóvá a visszavonási listák hatékony használatát. A CRLite technológiával a Firefox időszakonként letölt egy rendkívül kompakt, kódolt adatcsomagot, amely a nyilvános Tanúsítvány Átláthatósági naplókban (Certificate Transparency logs) szereplő összes visszavont tanúsítványt tartalmazza. Ezt az adatszerkezetet a böngésző helyben tárolja, 12 óránként frissíti, és minden alkalommal, amikor új TLS-kapcsolat jön létre, teljesen privát módon lekérdezi azt.
Ez a megközelítés megszünteti a korábbi módszerekkel járó biztonsági és adatvédelmi kockázatokat. A Firefox 137-es verziójától kezdve a CRLite elérhetővé vált az összes asztali Firefox-felhasználó számára (Windows, Linux, MacOS), és a tapasztalatok azt mutatják, hogy a tanúsítvány-visszavonási ellenőrzés végre megbízhatóan és gyorsan működik.
Jobb adatvédelem és teljesítmény
A Firefox a 137-es verzió előtt az OCSP protokollt használta a valós idejű státusz-lekérdezésekhez. Mivel az OCSP súlyos adatvédelmi hiányosságokat okozott, és a tanúsító hatóságok egyre inkább elállnak a támogatásától, a Mozilla úgy döntött, hogy a Firefox 142-es verziójától kezdve teljesen kikapcsolja az OCSP-t a domain-érvényesített tanúsítványok (domain validated certificates) esetében. Ez a lépés kiegészíti a Mozilla más titkosítási törekvéseit is, mint például a HTTPS-First, a DNS over HTTPS és az Encrypted Client Hello bevezetése.
A teljesítmény szempontjából is jelentős előnyökkel jár az OCSP elhagyása. Mivel az OCSP-kérések lassítják a TLS-kézfogást (TLS handshake), az OCSP leállításával a TLS-kézfogás medián ideje észrevehetően csökkent. A grafikonok is azt mutatják, hogy ahogy a CRLite által végzett ellenőrzések aránya nőtt, a TLS-kézfogás ideje arányosan csökkent, ami észrevehető sebességjavulást jelent a felhasználók számára.
Az adatszerkezet bűvös ereje
A CRLite megoldásának kulcsa a Clubcard nevű adatszerkezet, amely egyedülállóan hatékony a visszavonási információk kódolásában. Ez az új technológia egy speciális szűrőre, az úgynevezett Ribbon filter-re (szalag-szűrő) épül. Míg a korábbi CRLite tervek még túl nagy adatforgalmat igényeltek, a Clubcard-alapú megközelítés megoldotta ezt a problémát.
A CRLite adatforgalmi igénye átlagosan mindössze 300 kB visszavonási adatot jelent naponta a felhasználók számára, amely egy 4 MB-os pillanatfelvételből (snapshot) és számos kisebb, úgynevezett "delta frissítésből" áll. Ezt összehasonlítva a korábbi, akár 300 MB-os CRL-ekkel vagy a 600 kB-os, de csak a visszavonások töredékét tartalmazó Chrome-féle CRLSet-ekkel, a CRLite ezerszer hatékonyabb, ráadásul a teljes visszavonási adatbázist tartalmazza. A fejlesztők célja, hogy a technológiát még tovább optimalizálják, és más szoftverek számára is elérhetővé tegyék. Ez az áttörés új fejezetet nyit a webes biztonság történetében.
