Certificate Transparency- védelem a hamisított tanúsítvány ellen
2015. febr. 5. | Pataki Tamás
A Certificate Transparency a tanúsítványok megbízhatóságát növelő funkció, amelyről már novemberben is írtunk. Az elméleti hátteret a Certificate Transparency és Public Key Pinning című cikkben találja. Ma közelebbről is megvizsgáljuk a CT-t, különösen annak gyakorlati oldalát és működését a Google Chrome böngészőben.

Mi az a Certificate Transparency, és miért jött létre?
A Certificate Transparency lényegében a kiadott tanúsítványok Google általi naplózásaként írható le: a Google ezeket nemcsak nyilvántartja, hanem monitorozza és auditálja is. A Certificate Transparency csak a Chrome böngészőben működik, más böngészők nem támogatják a CT-t.
Az új CT-funkció azért jött létre, hogy növelje a védelmet a hamisított tanúsítványokkal szemben; ezt szakmai nyelven MITM, azaz Man-in-the-middle támadásnak nevezik. Ennek eredményeként a felhasználó nagyobb védelmet kap a hamisított tanúsítványok használatára irányuló próbálkozásokkal szemben, bár ez a kockázat a valóságban minimális.
A Certificate Transparency egyelőre a kiterjesztett validációval rendelkező EV tanúsítványok területe, de a Google célja, hogy a szolgáltatást más tanúsítványtípusokra is kiterjessze.
Fontos, hogy 2015 februárjától a Chrome nem jeleníti meg a zöld sávot azoknál a 2015. 01. 01. után kiállított EV tanúsítványoknál, amelyek nem szerepelnek a CT-naplóban! A meglévő Symantec, GeoTrust és Thawte EV tanúsítványokat 2014 decemberében hozzáadták a naplóhoz, az újakat pedig automatikusan hozzá fogják adni. Ügyfeleinknek tehát nincs okuk aggodalomra.
A Chrome ellenőrzi a tanúsítvány nyilvános bejegyzéseit
A Google Chrome furcsa és nehezen érthető üzeneteket kezdett megjeleníteni az adatok közzétételével kapcsolatban. Az alábbiakban a négy lehetséges változat áttekintése következik. A fordításnál a Chrome cseh verziójára támaszkodom, egyes változatoknál azonban egyelőre nem ismerem a hivatalos fordítást.
Ennek a weboldalnak az azonosságát (XY szervezet) a(z) [az Ön CA-jának neve] ellenőrizte, ...
- és nyilvánosan auditálható (The identity of this website has been verified by ISSUER and is publicly auditable.) - minden rendben van, a CT működik, az időbélyeg érvényes.
- de ennek a szervezetnek nincsenek nyilvános bejegyzései - valószínűleg hiányzik a CT-bejegyzés, lásd alább.
- de az oldalnak nincsenek nyilvános auditálási bejegyzései (The identity of this website has been verified by ISSUER but does not have public audit records) - a CT nem működik, a tanúsítványban nem található aláírt időbélyeg.
- azt állítja, hogy rendelkezik nyilvános auditálási bejegyzésekkel, de ezek nem ellenőrizhetők (saját fordítás) - az időbélyeg alá van írva, de nem ismert naplóban szerepel, ezért nem ellenőrizhető.
- de a nyilvános auditálási bejegyzések ellenőrzése sikertelen volt (saját fordítás) - az időbélyeg szerepel egy ismert naplóban, de nem ellenőrizhető.
Certificate Transparency hiba a Google Chrome-ban. A biztonsági beállításokra vonatkozó üzenet már nem a CT-hez tartozik.
Első pillanatban nekem sem jutott eszembe, hogy ez az üzenet a Certificate Transparencyhez kapcsolódik, de valóban erről van szó. A nyilvános bejegyzésekkel, azaz audit records elemekkel kapcsolatos kifogások tehát a Certificate Transparencyre vonatkoznak. Meglepőnek tartom azonban, hogy az üzenethez nem tartozik semmilyen további magyarázat. A CT-bejegyzésre mutató hivatkozás csak pozitívan ellenőrzött bejegyzés esetén jelenik meg, hiba esetén semmi.
Mit tehet a weboldal üzemeltetője?
Fontos, hogy felelős hitelesítő hatóságot válasszon, amely gondoskodik a kiadott EV tanúsítványok CT-naplóban való közzétételéről. Ilyen például a Symantec, a Thawte vagy a GeoTrust. A többi ezután már „magától” megtörténik, és az eredmény pozitív lesz.
A weboldal tulajdonosa számára előnyt jelent, hogy domain-tulajdonosként ellenőrizheti és áttekintheti a kiadott tanúsítványokat. Értesülhet arról, ha valamelyik nagyobb hitelesítő hatóság tanúsítványt adott ki az Ön domainjéhez; ha ez az Ön tudta nélkül történt, időben megakadályozhatja a visszaélést.
Mi történik, ha a Certificate Transparency nem működik?
Ha a CT nem működik, a Chrome-nak elvileg nem kellene megjelenítenie az EV tanúsítvány zöld sávját. A Google esetében azonban nehéz előre megjósolni, hogy végül hogyan építi be a figyelmeztetést a Chrome-ba. Inkább arra számítok, hogy a böngésző megbízhatatlansági figyelmeztetést jelenít meg. Jelenleg úgy tűnik, hogy a CT az alacsonyabb szintű tanúsítványoknál is befolyásolja a HTTPS szimbólum megjelenítését. A Google ezzel teljes zűrzavart teremt a Chrome-ban és a figyelmeztetések megjelenítésében.
Nem minden tökéletes, ami a Google-től származik
A Certificate Transparency jó szándékkal jött létre: célja a felhasználók védelmének erősítése a hamisított tanúsítványokkal szemben. Ennek ellenére több hiányossága is van, amelyeket meg kell említenem.
Az első az, hogy csak a Chrome támogatja; más böngészők egyelőre nem használják a CT-t. A második maga a Google, amely biztonsági kérdésekben nagyon agresszív, és túlságosan siet az új funkciók Chrome-ba való bevezetésével. Elég csak az SHA-1-re gondolni. A Chrome jelenleg olyan állapotban van, hogy a tanúsítványoknál gyakran értelmetlen figyelmeztetéseket jelenít meg, ráadásul platformonként eltérően. Linuxon például olyan figyelmeztetést is láthat, amely Windows alatt nem jelenik meg, ami a Chrome linuxos verzióján dolgozó programozók eltérő munkatempójából is fakadhat.
Maga a Certificate Transparency elve sem tökéletes, de itt nem fogom részletesen tárgyalni az összes kifogást; az olvasót a cikk végén található első forráshoz irányítom. A szerző elsősorban azt rója fel, hogy a CT nem annyira a MITM-támadás megelőzésére szolgál, hanem inkább annak utólagos felismerésére.
A fő napló üzemeltetője, vagyis a Google lényegében úgy tesz, mintha a CT nem is érintené. Az ellenőrzést a nyilvánosságra bízza, és minden domain-tulajdonosnak magának kellene ellenőriznie a naplókat (!), valamint keresnie, hogy nem adtak-e ki csalárd tanúsítványt a domainjére (!). A naplókat úgynevezett naplómonitorok is ellenőrizhetik, de nem világos, hogy gyanú esetén mit kellene tenniük. Ugyanígy nem világos az sem, hogy a böngészőknek mit kellene kezdeniük egy pozitív találattal a CT-naplóban. Végül valószínűleg az lesz az eredmény, hogy mindenki mást fog jelezni.
A CT jelenlegi formájában nem kezeli azt a helyzetet, amikor a hamisított tanúsítványok közvetlenül a hitelesítő hatóságtól származnának. Ilyen előfordulhatna például egy CA feltörésekor, ami szerencsére a gyakorlatban szinte nem történik meg, vagy akkor, ha egy hitelesítő hatóság titkosszolgálatokkal működne együtt. A hitelesítő hatóság természetesen a tanúsítvány kiadásakor annak bejegyzését is közzétenné a CT-ben.
További hiányosság, hogy a CT automatikusan működik, és nincs úgynevezett opt-out lehetőség, vagyis nincs mód a tanúsítványok közzétételének letiltására. A tanúsítvány tulajdonosa semmit sem tud befolyásolni, és ha a CT nem tetszik neki, nincs választási lehetősége.
További információforrások:
- The Trouble with Certificate Transparency. A Certificate Transparency hiányosságainak kritikája és kifogásai.
- Certificate Transparency. A Google hivatalos weboldala a Certificate Transparencyhez.
- A Comparison of HTTPS Reforms. Gondolatok az SSL/TLS protokoll „fejlesztéséről”, valamint az új funkciók összehasonlítása.
Biztonságos SSL tanúsítványok szakértője
Symantec Sales Expert Plus
e-mail: pataki(at)zoner.hu
