Protokoly omezující moc certifikačních autorit

Transkript

Protokoly omezující moc certifikačních autorit
Protokoly omezující moc
certifikačních autorit
CZ.NIC z.s.p.o.
Ondrej Mikle / [email protected]
1. 3. 2012
1
Obsah
1. Proč potřebujeme nové protokoly?
2. DANE
3. Sovereign Keys
4. Certificate Transparency
5. Mutually Endorsing CA Infrastructure
6. Technický bonus pro výzkumníky
2
Fail za období 2011-2012
●
●
Comodo (3/2011) – íránský „hacker“ si napadnutím RA
InstantSSL vydal certifikáty pro Gmail, Mozillu...
Diginotar (7/2011) – opět Írán a opět certifikáty pro Gmail,
Mozillu...
–
●
podvodné certikáty použity na sledování 300 000 íránských IP
StartCom, GlobalSign – taky napadeny z íránských IP adres
–
GlobalSign revokoval několik certifikátů (podle CRL), i když veřejně
mluvil jenom o jednom
–
StartCom nemusel revokovat žádný
●
Trustwave (2/2012) – přiznává se k vydávání MitM certifikátů
●
...jenom mediálně nejznámější případy
3
Fail podle CRL
●
Peter Eckersley z EFF spočítal počet kompromitovaných CA
podle CRL „caCompromise“ důvodu (10/2011)
●
zopakováno v CZ.NIC Labs (12/2011)
●
výsledek téměř totožný s Eckersleym (14 vs 15 celkově)
●
určitě tam není vše, CA vyhazují staré záznamy z CRL
„důvěryhodné“
„nedůvěryhodné“
od 6/2011
rok 2011
celkově
3
2
6
2
14
2
4
Proč potřebujeme nové protokoly
5
Protokoly a nástroje proti MitM
●
●
existující nástroje
–
myšlenka: „vidí notářské servery stejný certifikát jako já?“
–
implementace: Perspectives, Convergence, Crossbear
–
problém s CDN službami, které mají mnoho certifikátů
nové protokoly
–
myšlenka: „operátor serveru ví nejlépe, jaký má mít certifikát“
–
tzv. „certificate pinning“ technika
6
DANE
●
v IETF zaštiťuje CZ.NIC a Google, snad už brzy bude RFC
●
záznam o asociaci certifikátu k doméně je v DNS, obsahuje:
●
●
–
doménu, port (př. 443 pro HTTPS), protokol (tcp/udp)
–
certifikát, veřejný klíč nebo hash z nich
–
záznam se jmenuje TLSA, musí mít DNSSEC podpis
možnosti asociace certifikátů
–
serverový certifikát (řetězící se k „důvěryhodné“ CA)
–
„důvěryhodný“ CA certifikát v řetězci certifikátů
–
specifický serverový/CA certifikát (možnost vytvoření „vlastní CA“)
první dvě omezují současný stav, aby libovolná napadená
CA nemohla vydat certifikát komukoli
7
DANE – příklad pro gmail.com
8
Sovereign Keys
●
●
●
pochází od Petera Eckersleyho z EFF
ke každému doménovému jménu je přiřazen RSA/ECC klíč
nazvaný „Sovereign Key“ (dále jen SK)
–
jiný než klíč použitý v serverovém certifikátu (může být i z DANE)
–
vlastník musí prokázat kontrolu nad doménou
existuje nefalšovatelná a časově monotonní „timeline“
–
●
jsou tam všechny SK a jejich vztah k doménám
timeline je v několika kopiích na „timeline serverech“ (př. 20)
–
každý timeline server podepisuje timeline svým klíčem
–
monotonicita zaručena přes sériová čísla a časová razítka
–
funguje, dokud existuje alespoň jeden čestný timeline server
9
Sovereign Keys – diagram
10
Sovereign Keys – algoritmy
●
●
dost složitý protokol, řeší mnoho věcí
–
revokace SK
–
čerstvost SK
–
timeline lze tahat po částech
–
ochrana proti některým DoS útokům na timeline servery
největší výzva – jak zabránit někomu vytvořit SK dříve než
skutečnému vlastníkovi domény?
–
povinné HTTP Strict Transport Security
–
kontaktování na adresy ve WHOIS
–
požadavek na textový soubor na serveru „skutečně chci vytvořit SK
s hashem DEADBEEFCAFEBABE“
–
podobnost s validací u CA není náhodná
11
Certificate Transparency
●
●
Google se nechal inspirovat od Sovereign Keys
myšlenka: „všechny certifikáty vydané od CA budou ve
veřejně přístupném logu“
●
log podobně jako u SK nefalšovatelný a časově monotonní
●
datová struktura jsou Merkleho stromy
●
–
stačí podepsat jen části nebo jen kořen
–
není nutné stahovat vždy celý strom
operátor serveru x.y.z musí kontrolovat, jestli se neobjevil v
logu certifikát, který si vydat nenechal
●
Google plánuje provozovat logy centralizovaně
●
existuje už i alpha verze kódu
12
Mutually Endorsing CA Infrastructure
●
prezentoval Kai Engert (Mozilla) na FOSDEM 2012
●
každá CA se „zaručí“ za každý server
●
●
–
jaké DNS jméno používá, s kterou IP
–
s certifikátem a aktuálními revokačními informacemi
server si periodicky vyžádá „voucher“ s těmito informacemi
od různých CA
–
server řekne CA: „oskenuj mi certifikát a zapamatuj si co vidíš“
–
CA odpoví: „tady to máš i s mým podpisem zpátky“
když se klient připojí k serveru x.y.z:
–
vybere si náhodně tři CA jiné než ta, která vydala serveru certifikát
–
server pošle navíc jeden voucher od zvolené CA
13
Závěrem technický bonus
●
●
●
X.509v3 je šílený formát a RFC 5280 žádný klient
neimplementuje správně/úplně (následující už opraveno)
–
null-prefix attack, IDN znak vypadající jako / (Marlinspike 2009)
–
0x80 OID encoding attack, OID integer overflow (Kaminsky 2009)
–
ignorace basicConstraints (iPhone měl v 2011 stejnou chybu jako
Internet Explorer v 2005)
tím to nekončí
–
ASN.1 definuje 12 (!) typů řetězců, různé implementace si je
vykládájí různě
–
různě striktní parsování X.509v3 extensions (viděl jsem i velmi
populární prohlížeč ignorovat neznámou extension označenou
jako „critical“)
nové protokoly zamezí „oblafnutí“ CA/klientů podobnými triky
14
Otázky
¿
15

Podobné dokumenty

DANE

DANE support.microsoft.com/kb/931125

Více

Téma 12: WiFi s PSK a EAP v CentOS

Téma 12: WiFi s PSK a EAP v CentOS stejné heslo. To se výborně hodí pro domácí použití, nebo firmy s několika málo zaměstnanci. Všude jinde toto řešení není možné – dřív nebo později heslo unikne. I dnes se najdou zařízení, která ne...

Více

55HX® ALUMINIUM Architektonické řešení

55HX® ALUMINIUM Architektonické řešení 1,5 násobek hodnoty dodaného zboží, včetně možného nahrazení plechů nebo pásů v závislosti na míře zavinění Aleris Aluminium Duffel BVBA. Reklamace mohou být akceptovány pouze do 6 měsíců od data d...

Více

zde - StopUrin

zde - StopUrin První fází léčby pomočování je alarm, který má velmi vysoký léčebný potenciál, avšak vyžaduje hodně práce a motivace. Proto také existuje mnoho rodin, které ho nemohou adekvátně aplikovat. V těchto...

Více