“Technologie Certificate Transparency nijak nezabrání neoprávněnému vydání certifikátu, dává ale jistotu, že všechny platné certifikáty jsou zveřejněny.”- takze kdyz vyda nejaka CA dalsi certifikat treba pro google ale ve skutecnosti bude treba pro vladu, ocekaval bych ze ho neda do logu, tudiz ho cert spotter neuvidi. Jak je tohle technicky osetreno v prohlizecich?
Je to popsáno v předchozím článku, klient musí dostat potvrzení (SCT) o tom, že byl certifikát do logů vložen.
Ano, nezajistí to světový mír, nevyčerpatelný zdroj energie a jídlo pro všechny. Taky to nepomůže při celosvětovém spiknutí všech proti vám. Ale v případech, kdy CA kvůli nějaké chybě (ať už na straně držitele domény nebo CA) vystaví certifikát, který držitel domény vystavit nechtěl, to pomáhá docela dobře. A k takovým případům už v minulosti došlo, takže to řeší reálné problémy.
Petre, zeptam se tedy na 2 mozne scenare utoku: certifikat pro vladu bude vystaven s datem pred 30.4.2018, tudiz nemusi byt v databazich, spravne? Moznost 2 - v pripade nedostupnosti tech databazi (treba blokace na firewallu), co udela klient? Oznaci kazdy web za neduveryhodny, nebo proste vyfailuje overeni a pojede se dal? Treti vec - podporuje to zatim jenom chrome, tudiz staci udelat proxy a dle user agenta menit traffic tak aby chrome zdanlive nefungoval. Predpokladam, ze vetsina uzivatelu zkusi jiny prohlizec, ktery ale uz neoveruje... jsou tyhle 3 scenare mozne?
První scénář je možný: starší certifikáty nemusí být v CT. Za dva roky ale nebude takový certifikát existovat.
Druhý scénář možný není: klienti CT nekontrolují, dostanou od serveru potvrzení (SCT), které lze ověřit offline.
Třetí scénář je možný: pokud uživatel přepne na prohlížeč, který SCT neověřuje, pak samozřejmě chráněn není.
Proble CT Logu je v tom, ze to ci a aky certifikat sa donho zaradi je plne pod konttrolov danych serverov (viac menej googlu), takze ked sa google rozhodne donho zaradit vladne certifikaty, alebo dokonca svoje moze, ked sa rozhodne ze don nezaradi certifikaty z nejakej krajiny tak tiez moze.
To naozaj nezvysuje transparenost, skor si mylsim, ze to viac ohrozuje slobodu na internete ako doterajsi stav.
Je to složitější. Pro certifikáty s dobou života menší než 15 měsíců, nebo pokud jsou SCT doručovány jinak než v certifikátu, stačí dva logy – jeden Googlí a jeden ne-Googlí, pro certifikáty s delší platností, kde je SCT uvnitř certifikátu jsou potřeba 3 logy, z toho aspoň jeden Googlí a aspoň jeden ne-Googlí.
https://github.com/chromium/ct-policy/blob/master/ct_policy.md
Pokud se do logů zahrnou vládní certifikáty, pak o nich budou všichni vědět, což je přesně cíl CT, takže v tomto ohledu není problém.
Pokud se Google rozhodne nějaké certifikáty do svých logů nezařazovat, pak by to skutečně způsobilo výpadek daných služeb, ale zase to není nic, co by Google nemohl udělat už teď. Klidně může vydat aktualizaci Chrome, která zablokuje třeba všechny adresy s TLD .cz.
Problém by tedy nastal až v případě, kdy by přítomnost v Googlích CT lozích vynucoval i nějaký jiný software, než Chrome.
"Trvalé sledování CT logů může pomoci včas odhalit kompromitaci vlastních systémů, je však potřeba dobře odfiltrovat legitimní obnovy certifikátů. Jednou z možností je třeba obnovovat certifikáty kolem nějakého pevného data."
Preco? Zistit ci podpisany certifikat obsahuje verejny kluc, ktory patri k sukromnemu klucu, je podla mojich skusenosti trivialne. Nestaci jednoducho upozornovat na certifikaty ku ktorym nemame sukromne kluce?
Jednoduché sledovanie? S tým by sa dalo polemizovať. Za hodinu pribudnú v sledovaných CT logoch státisíce nových záznamov a je čoraz ťažšie (stojí to čoraz viac času, CPU a prenosovej kapacity) všetky sťahovať len pre to, aby som odfiltroval tých niekoľko domén, ktorých certifikáty chcem sledovať.
Ak náhodou certspotter prestane fungovať (nový proces sa nerozbehne, lebo predchádzajúci proces po sebe nezmazal lock súbor), a certspotter "zmešká" niekoľko dní, prakticky nie je šanca to dohnať, len sledovanie resetnúť a začať akoby odznova.
Na pomalosti spracúvania sa podieľajú aj samotné logy, napr. taký argon2018 vracia na jeden dotaz najviac 256 záznamov, pritom do tohoto logu pribúda najviac.
Krátka štatistika z dnešného večera:
$ ./certspotter/status.pl 1. ct.cloudflare.com/logs/nimbus2018 154353210 (+142650) 2. ct.cloudflare.com/logs/nimbus2019 1729226 (+3596) 3. ct.cloudflare.com/logs/nimbus2020 2004161 (+4301) 4. ct.cloudflare.com/logs/nimbus2021 19447 (+19) 5. ct.googleapis.com/icarus 272766072 (+130847) 6. ct.googleapis.com/logs/argon2018 199602145 (+371711) 7. ct.googleapis.com/logs/argon2019 5084275 (+768) 8. ct.googleapis.com/logs/argon2020 1570870 (+165) 9. ct.googleapis.com/logs/argon2021 187872 (+9) 10. ct.googleapis.com/pilot 285252162 (+127484) 11. ct.googleapis.com/rocketeer 297615883 (+121830) 12. ct.googleapis.com/skydiver 18013272 (+14632) 13. ct.ws.symantec.com 8099106 (+2305) 14. ct1.digicert-ct.com/log 5091381 (+1039) 15. ct2.digicert-ct.com/log 3710790 (+4575) 16. ctserver.cnnic.cn 42261 (+7) 17. mammoth.ct.comodo.com 70605787 (+32260) 18. sabre.ct.comodo.com 60994523 (+39712) 19. sirius.ws.symantec.com 802378 20. vega.ws.symantec.com 1126353 (+1209) timespan ............ 3 h 25 min 9 sec
Mať notifikáciu, že je na svete nový certifikát pre niektorú z mojich domén je príjemné, ale to fungovanie veru nie je bohvie čo.