BLOG

Dôvera svetových CA vážne podkopaná, čo bude ďalej?

2011-12-23 21:55 Pavol Lupták

Môj skepticizmus ohľadom konceptu svetových certifikačných autorít (CA) predstavujúcich defacto korporátny štandard v oblasti “dôveryhodnosti webu” dosiahol vrchol a preto som sa rozhodol napísať nasledujúci článok, kde popíšem ako nedostatky súčasného systému, tak nové bezpečnejšie alternatívy zavádzajúce v prvom rade transparentnosť, decentralizáciu a agilný prístup zo strany používateľa.

Najskôr pár dôležitých faktov:

1. Na svete je viac ako 600 “dôveryhodných” certifikačných autorít (“dôveryhodné” znamená, že sú buď priamo integrované v najrozšírenejších webových prehliadačoch (ako aj operačných systémoch) alebo sú tzv. “dcérske” certifikačné autority, ktoré sú podpísane tými “dôveryhodnými”).

Pri takom množstve “dôveryhodných” autorít je prakticky nemožné udržovať ich technologickú bezpečnosť – k 27.10.2011 bolo 15 z nich kompletne kompromitovaných a ich privátne kľúče zneužite na digitálne podpísanie extrémne dôležitých domén (ako napríklad mail.google.com, addons.mozilla.org, skype.com a iné). Podotýkam, že aj napriek tomu, že išlo o prakticky najväčšie CA (Comodo CA hack, DigiNotar hack) prakticky sa nestalo úplne nič – Comodo CA je naďalej dôveryhodná certifikačná autorita vo všetkých prehliadačoch, svojich klientov prakticky nestratila, jej CEO obvinil z hacku Iránsku vládu a označil celý útok za kyberterorizmus, čím sa defacto zbavil zodpovednosti a očistil “poškodené” meno Comodo. Táto nepríjemna situácia len poukazuje na krutý fakt, že kritické chyby a bezpečnosť svetových CA prakticky nijako nereflektujú ich postavenie na trhu a ich masívne využívanie všetkými prehliadačmi.
Je tiež potrebné podotknúť, že niektoré svetové CA sa nachádzaju v diktátorských krajinách (Čína) umožňujúce digitálne podpísať certifikát k ľubovoľnej svetovej doméne (a tým padom realizovať úspešný MITM útok na svojich občanov).

2. “Domain-validated” certifikáty je možné kompromitovať viacerými spôsobmi v prípade, že útočník má kompromitovaný aspoň jeden uzol medzi danou CA a klientom (MITM na “verifikačný” nešifrovaný email, ktorý posiela daná CA + DNS spoofing apod) – osobne neviem o CA, ktorá by verifikačné tokeny pre domain-validated certifikáty šifrovala napríklad zvoleným verejným PGP kľúčom.

3. Vlády môžu (súdnou cestou?) požiadať dané svetové CA o vystavenie “falošného” certifikátu pre danú doménu. Viac informácii, že sa to môže reálne stať. To, že svetové CA priamo podliehajú politickým rozhodnutiam štátov, kde fyzicky pôsobia, podľa mna automaticky degraduje ich akúkoľvek dôveryhodnosť.

4. Použitie DNSSECu (ukladanie server certifikátov, príp. ich fingerprintov do DNS záznamov pre danú doménu ako to robí napríklad Google Chrome) v princípe nič nerieši -> dôvera vyše 600 svetových CA sa len prenesie na správcu danej top level domény (v prípade .sk domény je to SK-NIC, ktorý je samozrejme tiež pod kontrolou “správnych úradov”, viď. nový dodatok 10.6 v nových SK-NIC pravidlách), ktorý priamo podlieha kontrole daného štátu – toto platí pre ccTLD domény, com/org/net domény sú priamo pod vplyvom americkej jurisdikcie. V prípade diktátorských krajín (ktorým vládam sa nedá prakticky nijako veriť) to predstavuje ešte horšiu situáciu ako je teraz.
Čo s tým?

Uvediem viacero ambicióznych návrhov (okrem Convergence ešte nie sú produkčne implementované) z rôznych strán ako tento problém riešiť:

1. Návrh Google (Ben Laurie a Adam Langsley) – Transparentné Certifikáty – certifikáty budú zaregistrované vo verejnom auditovacom logu tzv. “registrovaných certifkátov”. Servery poskytnú dôkaz o tom, že ich certifikát je v tomto logu zaregistrovaný spolu s týmto certifikátom a klienti len overia tento samotný dôkaz. Implementované to môže byť pomocou špeciálnej komponenty v prehliadači.

2. Návrh od EFF (Peter Eckerslay) – Suverénne Kľúče – podobný, ale komplexnejší prístup ako má Google. Suverénne kľúče sa ukladajú do verifikovateľných “append-only” dátových štruktúr, takže spätná zmena v čase je nemožná. Tieto kľúče budú uložené na tzv. “timeline” serveroch, ktorých bude relatívne málo a ich kópie budú uložené na záložných “mirror” serveroch. Dôležité podotknúť, že bude možné si zvoliť vlastného “3rd-party” poskytovateľa pre manažment suverénnych kľúčov a teda sa dobrovoľne rozhodnúť, akým doménam budeme dôverovať a akým nie.

3. Návrh od Whisper Systems / Twitter – Convergence – návrh, ktorý sa dočkal úspešnej implementácie pre všetky najrozšírenejšie prehliadače – umožňuje nahradiť doterajšie certifikačné autority za distribuovaných, decentralizovaných “notárov”, o ktorých dobrovoľne rozhodujú samotní koncoví používatelia a čo je dôležité – toto rozhodnutie môžu v budúcnosti kedykoľvek zmeniť. Používatelia sa môžu rozhodnuť, akým “notárským službám” budú veriť v závislosti od ich reputácie, bezpečnostnej politiky apod., podobne si môžu založiť vlastnú “notársku službu” a svoje “prejavy dôvery” poskytovať ďalším používateľom. Jednotlivé “notárske služby” dokážu zohľadňovať viacero bezpečnostných atribútov pri overovaní dôveryhodnosti danej služby – je možné využiť DNSSEC, BGP data, “SSL observatory” atď. Podobne je možné špecifikovať, koľko notárov sa musí zhodnúť na svojom rozhodnutí, aby daný web bol pokladaný za “dôveryhodný”. Overenie notárov je možné lokálne cachovať, takže prístupy na daný web v budúcnosti dokážu byť veľmi rýchle.

4. Namecoin s TLS podporou – kompletne decentralizovaný prístup postavený na Namecoine. Namecoin predstavuje prvý decentralizovaný DNS systém postavený na Bitcoine (decentralizovaná kryptomena) umožňujúci ukladať v princípe ľubovoľnú kombináciu “name/value” do namecoin chainu – nemusí to byť teda len DNS záznam, ale v princípe čokoľvek – v našom prípade to bude “fingerprint” SSL certifikátu/verejného kľúča pre danú doménu, ktorú chceme pri prístupovaní overiť. Uvedený “fingerprint” v danom namecoin chaine dokáže nastaviť alebo zmeniť len vlastník privátneho kľúča, ktorý daný DNS záznam do namecoinu zaregistroval. Implementácia uvedeného overovania TLS certifikátu pre danú namecoin doménu zatiaľ neexistuje, ide ale určite napísať.
Osobne sa mi uvedený prístup využitím namecoinu páči najviac, nakoľko namecoiny sú úplne mimo kontrolu akýchkoľvek štátov a namecoinove domény (a ich fingerprinty) prakticky nejdú nijako cenzurovať.