Zároveň by to znamenalo krach zmíněných firem, které jsou na přítomnosti kořenových certifikátů v úložištích bytostně závislé. Možná si můžeme říci „dobře jim tak“, ale je potřeba brát v úvahu i to, že podobné rozhodnutí má dopad na lidi, kteří někde pracují.
Tohle mě fakt baví. Kdyby to byla bezvýznamná autorita, tak už je dávno pod drnem, ale jakmile se jedná o něco většího, tak je potřeba o tom dva roky žvanit a nakonec stejně nic neudělat.
Pravidla, která se nedodržují, jsou zcela k ničemu a je to totéž, jako by nebyla. Vlastně je to ještě horší, protože se uplatní pouze proti někomu v nepřehledné politické hře.
Pokud autorita porušila pravidla, má být vyřazena. Bez ohledu na následky.
Vědět, že je něco na ... je podmíněno tím, aby bylo vymyšleno něco lepšího? Ono je to většinou přesně naopak. První víš, že je něco na ... a proto vymýšlíš něco lepšího.
IMHO je to systém na hovno: 1. Je celý úspěch založen na jediné věci - důvěra a za 2. se evidentně ani nedaří ji vymáhat - takže ten v podstatě jediný problém kvůli kterému to celé je se neodstranil - první "handshake".
@NULL
Ne, není to podmíněno. Jen měl zajímalo, jaký systém je lepší a jakým by se PKI mělo nahradit.
Že "PKI is broken" se tvrdilo už od jeho představení a přesto nikdo nevymyslel nic lepšího. Naštěstí existují techniky na zvýšení důvěry (HPKP, DANE, Certificate Transparency...), ale těm bohužel brání různé technické důvody v rozšíření.
Tak on je spíš problém v tom jak ty CA vlastně fungují. Nejlepší ověření mé identity jsem zažil u CACert.org (což je autorita, která se nikdy nedostala do prohlížečů). Dva doklady totožnosti, face to face ověření člověkem, který o tom (technologii) dost věděl. Jak jsem psal, nikdy nebyla v prohlížečích, takže celkem naprd.
Druhé ještě relativně dobré ověření bylo u Postsignum, od které mám kvalifikovaný osobní crt. Na pobočce to dělala úřednice, co absolutně nevěděla která bije, ale tak alespoň ověřila občanku (snad). Relativně ok. Má to jen tu chybu, že CA není v prohlížečích, resp. už se to distribuuje ve Windows. Takže taky skoro k ničemu.
Potom tu jsou DV certifikáty, které dostanete od libovolné CA, pokud alespoň na chvíli máte pod kontrolou: email nebo dns záznamy nebo web na dané doméně. Ověření zcela nulové.
Do této kategorie vstoupila LE, kde stačí mít přístup k webu v době ověřování a crt je váš. Opět ověření nulové, ale na rozdíl od jiných CA za to nechtějí peníze.
No a asi největší šarádu jsem zažil u renew (po heartbleedu) jednoho drahého OV certifikátu, kdy "ověření" proběhlo tak, že na uvedené telefonní číslo zavolala operátorka možná z Indie, které jsem vůbec nerozuměl a ona vůbec nerozuměla mě. Nakonec stačilo říct jen město sídla firmy a certifikát byl můj. Nejdražší CRT, co jsem kdy měl v ruce, ověření zcela nulové (to, že vám někdo zavolá na telefonní číslo, které vy sami uvedete v dané žádosti, není ověření, to je parodie).
Problém je, že z hlediska uživatele není mezi DV a OV žádný rozdíl. EV má v adresním řádku uvedenou firmu, ale upřímně řečeno, jak dopředu víte, jestli dané stránky mají mít zelený adresní řádek nebo nemají? Nevíte. Takže mezi DV, OV a EV není žádný rozdíl. K DV se dostane kdokoliv. K OV ve správnou chvíli taky. EV jsem zatím nedělal.
Takže teoreticky PKI funguje skvěle. Důvěřujete CA, která vydává crt jen těm komu má. V praxi to funguje tak, že crt dostane po zaplacení kdokoliv. Takže CA v praxi jsou jen o tom, že od vás vybírají peníze za to, že máte jejich root crt v prohlížeči.
A to jsem se vůbec nedotkl pochybení ca. Prostě už jen to, jak to funguje v praxi (ca dá tomu, kdo zaplatí), je kompletně rozbité. A všem je to asi jedno.
Čím to nahradit, no ono by v první řadě stačilo, kdyby CA dělaly svou práci (tedy ověřování komu to vlastně dávají) a kdyby za každé pochybení byl někdo skutečně postihován včetně zneplatnění všech jejich root a inter crt. Jinými slovy tak, jak to má fungovat už teď.
Vždy je nutné nějakým způsobem si ověřit, zda se skutečně připojuji na server, kam chci. Tedy musím si jiným kanálem ověřit minimálně fingerprint crt (nebo ho rovnou získat celý a naimportovat si jej do klienta). V tomto mi PKI nijak nepomáhá, tam jen vím, že tento crt vydala tato autorita. Víc nevím. Server si tak jako tak musím ověřit nějak bokem. Pokud to bokem bude pomocí DANE z DNS (zabezpečeného přes DNSSEC), tak asi dobrý, jestli to stačí já nevím.
2Heron: Ne, one je zasadni problem v tom, ze tu lidi mixujou sifrovani a overovani protistrany. Coz sou dve zcela nesouvisejici veci. Nebo si snad u sshcka resis, jestli je podepsany nejakou CA? A tvuj sshckovej klient po tobe chce 20x potvrdit, ze se vazne chces pripojit k tomu serveru, co pouziva nejakou divnou nepodepsanou vec?
Maximalne ti vynada, kdyz se klic zmeni, coz je zcela vporadku.
MTA taky dorucuje sifrovane, a je mu uprdele i to, ze vsechny ty klice sou davno expirovany.
Ve finale overit protistranu muzes pouze a vyhradne osobne, a CA ti (viz o kus vedle) defakto tvoje osobni overeni tak leda rozbije, protoze kdyz si (naivne) nekdo naimportuje konkretni klic ke konkretnimu webu, s tim ze tohle dostal osobne od provozovatele == je zcela v bezpeci, tak muze libovlna CA kterych ma v systemu desitky, vydat libovonej dalsi ... a tvuj browser bude spokojene vrnet, protoze prece ty CA duverujes ...
Ne, ssh klient se mě při prvním připojení zeptá, zda je to opravdu ten server, na který se chci připojit. A zobrazí fingerprint klíče toho serveru. Já jej ověřím a dám yes, pokud to sedí. Nebo jej dopředu dám do known_hosts. Tedy úplně stejně, jako se zachová webový klient, když jdu na nějaký https web s neznámým crt. Musím ověřit fingerprint a nebo si dát crt toho webu do důvěryhodných.
Navíc u ssh je to ověření oboustrané, protože na tom serveru musím mít svůj klíč, jinak se tam nepřihlásím. Na webu je bohužel přihlašování pomocí osobního certifikátu jen velmi výjimečné.
U ssh lze mít podepsané crt od ca, akorát se to moc nepoužívá. Takže chování těch věcí je vlastně úplně stejné, pouze s tím rozdílem, že na webu se víc používají crt od (důvěryhodných) ca, zatímco u ssh příliš ne. Ale lze to.
MTA taky dorucuje sifrovane, a je mu uprdele i to, ze vsechny ty klice sou davno expirovany.
Klíč expirovat nemůže, protože nemá date, ale pokud někdo akceptuje neplatný crt tak je to jeho problém. Opakuji problém, vydávat to za normální stav nebo snad výhodu nelze.
Vůbec celé to tvoje osmibodové desatero by se v podstatě dalo přeložit: "chci aby to fungovalo, kdysi jsem to nějak nastavil, už nevím jak, a už mě s tím neotravujte." Případně ještě hůř: "těším se na data všech těch klientů, kteří se připojí na můj mitm server a vůbec nic uživateli neřeknou".
je zcela v bezpeci, tak muze libovlna CA kterych ma v systemu desitky, vydat libovonej dalsi
No to je samozřejmě známý problém a právě proto je nutné všechny CA, které se dopustili takto závažného pochybení, z těch prohlížečů vykopnout. Ale tento problém se rozhodně nevyřeší tak, že prohlížeč bude úplně všechno ignorovat, jak neustále dokola opakuješ.
2Heron: Zepta se te poprvy a naposled, pricemz ten fingerpint je svazanej se zcela konkretni adresou/IP. Zadna CA ti to nerozbije. Nehlede na to, ze se da primitivne nastavit, aby se neptal.
Prihlasovani do toho netahej, kdyz sshcku reknes ze se pripojit muze kdokoli bez hesla, tak se proste pripoji, ale sifrovat se bude.
Cele je to vyhradne o tom, ze o bezpecnosti musi rozhodovat uzivatel a ne nejaky kokot. A uzivatel o bezpecnost nestoji, protoze v tom nevidi zadny prinos, pricemz aktualne ten, kdo o bezpecnost stoji ma bud smulu uplne, pripadne musi absolvovat netrivialni mnoztvi netrivialnich kroku, ktery se mu rozbijou pokazdy, kdyz se neco aktualizuje.
A ne, vykonutim "nekterych" CA se nevyresi vubec nic. Protoze celej koncept CA je od pocatku zcela vadnej. A jasne, je udrzovanej v chodu a to vyhradne proto, aby si ofce myslely, jak sou v bezpeci, pricemz jak statni tak soukromy smiraci si vesele a v klidu muzou smirovat koho chteji. Staci mit pristup k libovolny "duveryhodny" CA.
Zepta se te poprvy a naposled, pricemz ten fingerpint je svazanej se zcela konkretni adresou/IP.
Stejně jako prohlížeč se mě zeptá jednou na pro něj dosud neznámý crt. A když si jej přidám, tak už se víc neptá. Na druhou část už jsem odpovídal. To, že prohlížeč neobsahuje možnost s tím pracovat trochu víc (třeba připnout konkrétní crt na konkrétní adresu je chyba, ale existují pluginy nebo třeba HPKP).
Prihlasovani do toho netahej, kdyz sshcku reknes ze se pripojit muze kdokoli bez hesla, tak se proste pripoji, ale sifrovat se bude.
Přihlašování do toho tahám, protože to považuju za nedílnou součást toho připojení. To, že to jde vykastrovat na věci nic nemění.
A uzivatel o bezpecnost nestoji
Zajímavé. O kousek níž se strachuješ o lidi z OKD nebo z firem, které krachnou, ale současně bys je nechal jít (třeba) do bankovnictví prostřednictvím klienta, který vůbec nic neřeší, takže snifování provozu nebo mitm se stává hračkou i pro mentálně postižené script kiddies.
Všichni si asi uvědomují, že současný stav rozhodně není ideální, ale je stále řádově mnohem lepší, než tvůj slavný prohlížeč, který na jakoukoliv bezpečnost z vysoka kašle a kde by bylo získání přístup k zajímavým datům toho uživatele hračkou.
A ne, vykonutim "nekterych" CA se nevyresi vubec nic. Protoze celej koncept CA je od pocatku zcela vadnej. A jasne, je udrzovanej v chodu a to vyhradne proto, aby si ofce myslely, jak sou v bezpeci, pricemz jak statni tak soukromy smiraci si vesele a v klidu muzou smirovat koho chteji. Staci mit pristup k libovolny "duveryhodny" CA.
Jenže to je věc, která se dá dost snadno odhalit. Stačí používat pluginy jako cert partol a když se z ničeho nic na konkrétním webu změní crt (ale je stále platný), tak na to uživatele upozorní. A kdyby se ty vládní agentury mohly dostat k soukromému klíči na tom serveru (aby se nezměnil pár klíčů), tak už rovnou mají přístup k těm datům a nemusí dělat útok na spojení. Nehledě na to, že se dá vždy použít end to end šifrování ale tak se opět řeší tentýž problém, jak předat klíč druhé straně.
To dost záleži:
* Možná ziskali plný přístup, možná jen read only, možná jen část dat (jako u heartbleed) a možná šlo o starší data (vyřazený disk).
* Ne všechna přenášená data se musejí na serveru ukládat.
* Bonus: Ne vždy jde útočníkovi o čtení těch dat. Někdy je chce upravit. To se mu například s read-only přístupem takto přímo nepovede.
Ok, dobře. Já jsem to myslel tak
... k soukromému klíči na tom serveru (aby se nezměnil pár klíčů), tak už rovnou mají přístup k těm datům a nemusí dělat útok na spojení.
že se skutečně dostanou na ten server a získají ten soukromý klíč, tedy se dostanou minimálně na úroveň práv toho webserveru a typicky i té běžící aplikace (soukromý klíč je ale stejně na disku přístupný jen pro roota, který nastartuje proces webserveru a dropne mu práva - a když už má někdo roota ...). Jasně, situace může být mnohem složitější, to je pravda.
Rozdil mezi ssh a webem je ze na webu existuje load balancing - napr google.com muze byt na x ruznych serverech a kazdy muze mit svuj vlastní certifikát - nebo naopak jedna ip adresa má více certifikátů pro různé weby za pomoci SNI.
U ssh se předpokládá ze se připojujete stále na stejné místo u webu to nemusí platit a přesto je to v pořádku.
Mit ruzne certifikaty na _stejnych_ serverech bezpecnost spise snizuje nez zvysuje. Prave proto, ze te nezajima, jestli komunikujes s konkretnim serverem, ale se sluzbou poskytujici tu stranku, tak neni duvod pro ruzne certifikaty. Pouze zneprehlednuji situaci, a znemoznuji zvysit kontrolu na strane klienta tim, ze software bude hlasit zmeny certu. Tohle mi dost vadi treba u gmail imapu.
No ona je to pak otázka. Řeší se CA's, jejich důvěryhodnost a postihy - taky bych byl pro tvrdé zaktŕočení, ale dovedu si představit situace, kdy jeden udělá chybu z nedbalosti, druhý prostě chybu ( jsme jenom lidi - max. jednou za 10 let se to stane ;-) ) a oba dostanou stejný postih? Povedou se spory, začnou se vyjmenovávat pravidla a postihy, do toho se začnou mezi sebou škubat browsery a . . . je to v pr..li.
Ale zpět. Nyní se řeší CA's, ale CA's jsou následek toho, že není nijak jinak spolehlivě vyřešen první handshake certifikátů pro stránku. Je totiž docela možné, že kdyby se vyřešilo toto, už by se pak nějaké CA ani nemusely řešit
2NULL: Je, DANE ... viz predchozi, celej problem to neresi, porad je tu moznost, ze si provozovatel DNS samo muze do DNS dat co chce, coz by asi resilo vyhradne prekopani celyho DNS na nejakej p2p system (uz i existuje), ale redukuje megapruser na problem.
V tuhle chvili kdyz nekam lezes, tak musis poctit duverou DNS (ano, ciste hypoteticky muzes pouzit primo IPcko, coz by vIPv6 svete asi i mohlo zase fungovat), takze proc by sis rovnou v tom DNS neprecet i to, co tam drzitel domeny rekne o certifikatu ... navic o certifikatu, kterej je stejne (prevazne)vazanej na DNS. Certifikatu, kterej si provozovatel DNS muze nechat vystavit tak jako tak.
Tudiz jen do veci zatahujes zcela zytecne naprosto nepotrebnou a zcela rozbitou soucast.
ze si provozovatel DNS samo muze do DNS dat co chce
DNS není centrální systém ale distribuovaný. Svou zónu si můžeš provozovat na svých NS, podepsat si ji svým klíčem (kterej pošleš do upstreamu a sdělíš jim, že tvoje zóna je podepsaná atd. prostě dnssec).
Takže provozovatel toho webu a provozovatel NS té zóny může být stejná osoba (právnická / fyzická). A jestli jí nedůvěřuješ, tak bys nejspíš vůbec neměl na ten web chodit.
2Heron: Ty asi taky moc nezvlada cist zejo? Kdyz se cznic rozhodne, ze si root.cz presmeruje na svuj server, tak si tam klidne vyda i zcela "duveryhodnej" cert. A provozovatel webu tomu nijak nezabrani. Kdyz se tvuj registrator rozhodne, ze si tvoji domenu presmeruje jinam, tak stim taky nic neudelas. Tvoje vlastni DNS tomu nijak nezabranej.
A je uplne jedno proc a z jakyho duvodu se to stane, proste je to problem, ale daleko mensi, nez pruser s CA, protoze v tomhle pripade se minimalne jednoznacne vi, kdo neco takovyho udelat muze.
A nikoli DNS neni zadnej distribuovanej system, DNS je striktne cetralizovanej registr. Jo, muzes si zalozit vlastni strom. Ale to nic nemeni na tom, ze koren toho stromu rozhoduje zela centralne o byti a nebyti libovolnyho zaznamu.
> koren toho stromu rozhoduje zela centralne o byti a nebyti libovolnyho zaznamu.
Akorat, ze si na to musi udelat kopii cele TLD ve ktere ten zaznam je. (Treba ve smyslu DNS proxy, AXFR by asi z nikoho nedostal.) Nejspis by musel prepodepsat vsechny DNSSEC zaznamy, aby mohl zmenit jeden z nich, a tak dal.
Proste technicky to mozne nejspis je, ale je to tolik prace, ze je prakticky nemozne zahladit stopy. Cim vetsi domena, tim rychleji by se na to prislo.
Kdyz se tvuj registrator rozhodne, ze si tvoji domenu presmeruje jinam, tak stim taky nic neudelas. Tvoje vlastni DNS tomu nijak nezabranej.
Technicky tomu sice nezabrání, ale všichni budou přesně vědět, kdo to udělal. Což mu sice nemusí zabránit to udělat, ale současně kdyby to udělal, tak se může stát, že už s ním nikdo jiný nebude chtít spolupracovat.
Což je poměrně velký rozdíl oproti stavu bez dnssec, kdy si záznamy může po cestě ke klientovi změnit každý router a jen těžko se dopátrá, kdo za to může. S DNSSEC je to naprosto jasné.
Sak pisu ze to neresi problem, ale redukuje megapruser na problem.
O tom ze neco takovyho nekdo v retezu DNS udelal se vubec nemusi nikdo dozvedet. Je to presne steny jako s CA - pokud ten falesnej zaznam predhodim jen omezenymu mnoztvi cilu, tak je pravdepodobnost ze se na to prijde naprosto miziva. Jenze narozdil od CA, kterych sou stovky (tech "duveryhodnych"), tak pro danou domenu je v retezu vzdy jen zcela minimalni a jasne deklarovanej pocet subjektu (prevazne 2-3).
1) browser (a jakakoli jina appka) MUSI bez kecu akceptovat libovolnej cert, bez ohledu na to jestli je nebo neni podepsanej, i bez ohledu na to, jestli je nebo neni expirovanej ...
2) MUSI podporovat vsechny i stary zpusoby sifrovani
3) MUZE uzivatele upozornit (= maximalne nejaka ikona nebo podbarveni), ze neco neni zcela koser
4) MUZE mu na vyzadani sdelit, co ze se ji nezda
5) MUSI 3) i 4) umoznit zcela vypnout
6) MUSI uzivateli umoznit deklarovat, vuci jakym adresam CHCE bezpecnost resit
7) MUSI umoznit jak u certifikatu tak u CA deklarovat, vuci jakym adresam se duvera deleguje
8) A teprve v takovym pripade, ze uzivatel nekde bezpecnost resit CHCE, tak MUZE nasledne pripojeni uplne znemoznit.
Podpora DANE je pochopitelne naprosta samozrejmost. Ale vztahujou se na to totozny pravidla.
@j
1) Nemusí a dokonce nesmí akceptovat.
2) Nesmí kvůli riziku downgrade útoku. To že máš starej browser a nebo blbě nakonfigurovaný server je tvůj průser.
3) Typický uživatel pozná si z varování nic dělat nebude.
4) ano
5) ne
6) Typický uživatel otevře ten "internet" a je rád, že se podívá na novinky, víc neřeší
7) To není věcí browseru, ale věcí admina serveru.
8) ne, ne, ne, v žádném případě, ani náhodou
Systém CA je nutný. To, že si něco ověří klient je možné maximálně tak u SSH, kde buď daný server spravuju a nebo mám jinou spolehlivou možnost si ověřit klíč.
Jak chceš ověřovat cert nějaké stránky hostované na druhém konci světa? No a jestli nebudeš kontrolovat certifikáty vůbec, tak na tebe každý na lince může udělat MITM.
Asi tak. To je argument jako "Přece tu záložnu, co pracuje na principu pyramidy, nepřipravíme o licenci. Těch šest lidí na vrcholku pyramidy by bylo bez příjmů." Nebo "To řeznictví, co nedodržuje hygienický předpisy, namůžeme sankcionovat, protože by pět lidí šlo na pracák."
Chce to jasně, rychle, tvrdě a exemplárně ukázat, že pravidla ještě platí. Diskutovat se může potom, protože lump se taky dopředu neptá na povolení.
+1 ... chtel jsem napsat neco podobneho.
Navic bych mozna zprisnil pravidla pro CrossSigning ... napr. nutnosti predem o zameru informovat "auditory" nebo jeste lip si jej nechat schvalit. Pokud by nekde CrossSignoval certifikat bez tohoto, tak ho okamzite "exemplarne" odstrelit. Dalsi by uz potom podobnou "chybu" celkem jiste neudelali ... Otazkou zustava, kdo by byli oni "auditori" a jak zajistit transparentnost pripadneho rozhodovani. A na jinou diskuzi uz je, jestli by vubec melo smysl nejaka takova pravidla vymyslet, nebo by slo zase jen o dalsi "pravidla", nad jejiz dodrzovanim se tlacha a premysli, jestli hrisniky trestat a tudiz pravidla dodrzovat nebo radeji netrestat z "humanitarnich duvodu" a tudiz vlastne prohlasit vymysleni pravidel za zbytecne vyhozeny cas/penize ...
OKD je trochu jiný případ. Tam je totiž navíc uhlí. A to je dneska tak levné, že se prostě vyplatí ho tam nechat ležet. V situaci, kdy se to uhlí rube a pak div že neplatí odběratelům za to, že si ho odvezou, je prostě nepochopitelné, že to stát ještě chce podporovat. Chci si myslet, že každého rozumného člověka jako první napadne tam to uhlí nechat buď na horší časy, nebo alespoň dokud jeho cena zase výrazně nestoupne.
Prostě to trochu připomíná situaci, kdy se kácí les, vytěžené dříví se vozí na hromadu a pálí. A dřevorubci si plácají po ramenou, jak jsou dobří, jak tvrdě pracují a jak si zaslouží odměnu.
Takže ne, OKD je mnohem horší situace. Tam se cíleně ničí neobnovitelný zdroj.
OKD bych do toho vůbec netahal, protože OKD rozhodně "prostě nekrachlo". Tam je těch "podezřelých úkonů" celá řada a jde to pár let zpět do minulost a tak dále. Politiku bych sem netahal.
Nehledě na to, že toho uhlí tam není nekonečné množství, některé doly už se vytěžily a některé jsou na pokraji vytěžení. Takže i kdyby tam vůbec žádné "pochybení" ze strany jistých lidí nebylo, tak to stejně jednou skončí.