Portál AbcLinuxu, 8. května 2025 20:08
Pokud to takhle funguje, tak zadej chybu do Firefoxu, Chrome atd. ať tuhle CA vyřadí z důvěryhodných.
Musíš mít na požadované doméně (pro kterou chceš CRT), mail.
Libovolný e-mail? Po mně tedy vždycky chtěli, abych byl webmaster@example.com
, zatímco kdybych byl třeba uklizecka@example.com
, tak by mi certifikát nevydali.
Pokud nějaká CA vydá certifikát jen na základě přístupu k uklizecka@example.com
, tak mi to přijde jako dostatečný důvod k vyřazení této CA ze seznamu důvěryhodných. Tohle už je ale odpovědnost prohlížečů a dalšího softwaru, jak si nastaví tu laťku pro důvěryhodné CA.
Tím se přístup k CRT zjednodušil ještě širšímu okruhu lidí. A v neposlední řadě i ověření "FTP", takže ještě větší okruh lidí se může dostat k crt na zajímavé doméně. Abych to vysvětlil, spousta "institucí" si nechává emaily někde spravovat. Tento správce má tak automaticky přístup k ověřovacímu emailu. Někde jinde si třeba nechává spravovat DNS. Správci DNS si mohou do zóny vložit dočasně co chtějí. Potom si nechávají stránky dělat u kde koho.
Tohle je pravda, ale v zásadě to nemá řešení. Když dáš klíče od domu kdekomu, tak ti tam bude kdekdo chodit, kdekdo ty klíče může ztratit nebo půjčit zlodějovi. To už je tvoje odpovědnost a tvoje rozhodnutí komu svěříš správu a umožníš mu mj. získat certifikáty.
EV certifikáty jsou jediné, kde se něco skutečně ověřuje. EV certifikát nemůže získat jen tak náhodný kolemjdoucí.
Mezi tím je ještě OV, kde se neověřuje jen vlastnictví domény, ale i identita organizace nebo osoby: DV < OV < EV
Odlišení jednotlivých úrovní smysl rozhodně má (i když jejich hodnota je relativní k dané CA).
Tenhle systém evidentně nefunguje.
A který systém funguje líp? Když se budou uživatelé chovat jako ignoranti a budou kašlat na bezpečnost, tak nebude fungovat nic.
Některé CA by ze seznamů důvěryhodných měly zmizet a řada dalších by měla být omezená jen na určitou národní nebo firemní doménu a jiné certifikáty by neměla mít právo vydávat (X.509 tohle umožňuje). Tohle je věc, která by se měla zlepšit.
Ale jako takový je systém PKI dobré řešení, protože umožňuje navázat bezpečné spojení s dosud neznámou druhou stranou. A tohle je věc, kterou uživatelé potřebují a bez nějakých autorit to řešit nejde. U TLS máš CA, u OpenPGP máš pavučinu důvěry, ale v principu to je to samé – nějaká třetí strana, které věříš, ti potvrdí, že tenhle veřejný klíč patří k téhle osobě/doméně/e-mailu. Jde jen o to si rozumně nastavit, kterým autoritám (ať už v PKI nebo OpenPGP) budeš věřit, aby ti to poskytlo vhodný poměr mezi pohodlím a bezpečností.
A pak tu jsou dodatečné pomůcky a prostředky, kterými se ten systém dá oplechovat – přidat další pojistky a kontroly. To může zlepšit situaci, snižovat nejistotu, upozornit tě na potenciální problém (např. když se certifikát změnil dlouho před koncem platnosti nebo když došlo ke změně CA). Ale samo o sobě to nestačí, není to plnohodnotné řešení nebo náhrada PKI. Taky tě to může upozorňovat na změnu IP adresy serveru, hlídat překlepy v doménách, signalizovat, jestli je doména na tvém seznamu, nebo zda je naopak na nějakém veřejně známém seznamu podvodných domén atd.
Libovolný e-mail?Libovolný samozřejmě ne, ale u některých CA je ten seznam povolených účtů docela široký. Takže stačí, aby někdo zažádal nutně o email administrator (s šikovnou manipulací, že to pro vývoj toho pluginu fakt potřebuje) a dostane ho. Víš kolik mi takhle bez keců vytvořili účtů? Ano, moje požadavky byly vždy oprávněné ale jednak, oprávněnost toho požadavku nikdo nezkoumal a taky jsem často mluvil s člověkem, který mě slyšel vůbec poprvé a já jeho. Je to takové klasické: jasně potřebujete email, to nám zařizuje Karel, tady máte na něj číslo a odkažte se na mě.
Tohle je pravda, ale v zásadě to nemá řešení. Když dáš klíče od domu kdekomu, tak ti tam bude kdekdo chodit, kdekdo ty klíče může ztratit nebo půjčit zlodějovi. To už je tvoje odpovědnost a tvoje rozhodnutí komu svěříš správu a umožníš mu mj. získat certifikáty.To, že dám někomu klíče od bytu by ale nemělo znamenat, že on přijde do mé banky a na základě přístupu do bytu mu dají veškeré moje úspory. To, že dám někomu přístup na část webu přes SFTP vůbec neznamená, že má mít oprávnění si nechat na moji doménu vystavit certifikát. V současné době to lze. Protože CA nijak nekontrolují, zda na dané jméno už někdo jiný CRT vydal, tak si klidně může zažádat o CRT u jiné autority a dát na web ověřovací soubor. A já se nijak nedozvím, že to udělal. (Ano, sice existuje Certificate Transparency Log, ale jednak, kdo ho denně sleduje a taky některé autority tam svoje CRT nedávají - zdravíme PostSignum.)
Mezi tím je ještě OV, kde se neověřuje jen vlastnictví domény, ale i identita organizace nebo osoby: DV < OV < EVAno vím. A ověřuje se to tak, že někam do Indie pošleš scan vyúčtování za elektřinu z dané adresy a doklad o tom, že jsi skutečně majitelem té firmy. Skutečně neprůstřelné. Už jsem to psal několikrát, nejdražší crt, co jsem v životě připravoval se ověřoval tak, že mi zavolala nějaká Pákistánka (která byla ráda že má práci alespoň za dolar týdně) a svoji angličtinou chtěla ověřit českou adresu. Nakonec ji stačilo, že jsem ji svoji angličtinou řekl "city Brno". A crt byl úspěšně ověřen. Potom nastal problém s heartbleed a renew tohoto crt proběhlo už úplně bez ověření.
A který systém funguje líp? Když se budou uživatelé chovat jako ignoranti a budou kašlat na bezpečnost, tak nebude fungovat nic.Úplně nejlepší ověření mám (měl jsem) u CACert. Dva zástupci autority mě osobně ověřili na dva doklady totožnosti (ok, řidičák není doklad totožnosti). Tato CA pochopitelně nikdy nebyla uznána v žádném prohlížeči, přestože patřila asi k tomu nejlepšímu, co existovalo. A ne, fakt to není chyba uživatelů. Přijde mi, že celou věc obracíš, viz případ s těmi klíči od bytu. To, že dám někomu přístup na SFTP webu fakt neznamená, že jsem mu dal oprávnění si vystavit CRT. A teď jistě přijde argumentace, že sis měl ohlídat, aby neměl přístup do
.well-known
apod. Nelze vždy ve všech případech zajistit to, aby neměl nikam přístup.
Navíc tohle se má budovat přesně opačně. Pro ověření crt by měl existovat jeden přesně definovaný kanál. Jeden kanál a je samozřejmě na tobě, komu tam umožníš přístup. Situace dneska je přesně opačná a ty, zdá se mi, argumentuješ tím, že je moje odpovědnost znát a zavřít úplně všechny kanály, pomocí kterých se lze k crt dostat. To jednak nikdy neuhlídáš, ale někdy to ani nejde. Třeba ověření přes DNS. Správce DNS má přístup k celé zóně.
Ale jako takový je systém PKI dobré řešení, protože umožňuje navázat bezpečné spojení s dosud neznámou druhou stranou. A tohle je věc, kterou uživatelé potřebují a bez nějakých autorit to řešit nejde.Ale já proti PKI jako technologii vůbec nic nemám. PKI je skvělý vynález, akorát se v praci používá pěkně blbě. A jsou špatně nastavené motivace. CA jsou komerční firmy a jejich jedinou motivací je zisk. To znamená, že jsou motivovány k tomu, aby prodávali co nejvíc co nejdražších crt. A ověřování je pochopitelně dost drahé. Podpora a vysvětlování zákazníkům co mají udělat je taky dost drahá. Tak to nepřekvapivě vede k tomu, že se snaží o co nejvíc co nejautomatizovanějších postupů. Jenže to je špatně a jde to proti bezpečnosti i proti myšlence PKI. Jak mám důvěřovat CA, která za prachy dá komukoliv?
Úplně nejlepší ověření mám (měl jsem) u CACert. Dva zástupci autority mě osobně ověřili na dva doklady totožnosti (ok, řidičák není doklad totožnosti). Tato CA pochopitelně nikdy nebyla uznána v žádném prohlížeči, přestože patřila asi k tomu nejlepšímu, co existovalo.
Ano, je na jednu stranu škoda, že CACert není mezi důvěryhodnými. Ale na druhou stranu jejich model taky není zrovna udržitelný – zadarmo se to dá dělat jen v rámci prvotního nadšení, kdy se snažíš ostatním pomoci, aby šifrovali, ale to brzo vyprchá a přestane tě bavit kontrolovat doklady úplně cizích lidí a trávit čas kvůli tomu, že si někdo chce spustit miliontý e-shop s pouzdry na mobily nebo něco horšího. Navíc pokud by se to rozjelo a zapojilo se do toho víc lidí než těch pár původních nadšenců, tak je téměř jisté, že se na to nabalí i různí podvodníci.
Nicméně jsou to dvě nesouvisející úlohy – jedna je ověřit vlastnictví domény a druhá ověřit identitu (občanské jméno, bydliště, firmu…).
Pro ověření crt by měl existovat jeden přesně definovaný kanál. Jeden kanál a je samozřejmě na tobě, komu tam umožníš přístup. Situace dneska je přesně opačná a ty, zdá se mi, argumentuješ tím, že je moje odpovědnost znát a zavřít úplně všechny kanály, pomocí kterých se lze k crt dostat. To jednak nikdy neuhlídáš, ale někdy to ani nejde. Třeba ověření přes DNS. Správce DNS má přístup k celé zóně.
Je otázka, jestli by se podařilo shodnout na jedné technologii, kterou by byli schopní používat všichni – časem asi ano, ale pro začátek můžou být tři přístupy: e-mail, soubor na webu a DNS záznam. Ale v rámci každé té technologie by měl existovat právě jeden kanál – jedna e-mailová adresa, jeden soubor ve .well-known
a jeden typ DNS záznamu.
Ale já proti PKI jako technologii vůbec nic nemám. PKI je skvělý vynález, akorát se v praci používá pěkně blbě.
OK, to rád slyším. V těchto diskusích jsem už trochu alergický na lidi, kteří mají potřebu si do PKI kopnout za každou cenu a představují si, že by to šlo bez něj.
A jsou špatně nastavené motivace. CA jsou komerční firmy a jejich jedinou motivací je zisk. To znamená, že jsou motivovány k tomu, aby prodávali co nejvíc co nejdražších crt. A ověřování je pochopitelně dost drahé. Podpora a vysvětlování zákazníkům co mají udělat je taky dost drahá. Tak to nepřekvapivě vede k tomu, že se snaží o co nejvíc co nejautomatizovanějších postupů. Jenže to je špatně a jde to proti bezpečnosti i proti myšlence PKI. Jak mám důvěřovat CA, která za prachy dá komukoliv?
Na jedné straně je komerční zájem prodat co nejvíc certifikátů a snižovat náklady – ale na druhé straně by měl být tlak prohlížečů (resp. obecně softwaru, který rozhoduje, kdo bude na seznamu důvěryhodných CA) na určitou garantovanou úroveň bezpečnosti. A tohle by se mělo někde setkat a tam by se měla najít rovnováha. Když CA vypadne ze seznamu důvěryhodných, tak už nic neprodá a má po zisku – takže je v jejím zájmu dodržovat ta pravidla nastavená prohlížeči. Zde je tedy na místě se ptát, co by měly prohlížeče od CA ještě požadovat, jak by měly nastavit ten standard a laťku pro zařazení mezi důvěryhodné CA.
Z technologického pohledu mne pak dlouhodobě mrzí jedna věc – a to, že můžeš mít certifikát jen od jedné CA. Líbilo by se mi, kdyby sis mohl k jednomu soukromému klíči nechat vystavit certifikáty od více CA (což tedy jde) a mohl je všechny v rámci TLS komunikace poslat klientovi a ten by si to vyhodnotil (což dnes nejde). Pak bys mohl mít třeba DV certifikát od LetsEncrypt a k tomu mít OV certifikát od nějaké místní nebo státní CA, která neřeší vlastnictví domény, ale je schopná ti potvrdit, že jsi daná fyzická nebo právnická osoba a vystavit ti na to certifikát. A taky by sis mohl třeba s pár kamarády vytvořit vlastní CA, kterou byste si dodatečně certifikovali servery a tím se jistili proti selhání těch ostatních CA. Nebo bys k tomu mohl mít EV certifikát od nějaké globální CA, kterou ocení klienti v zahraničí, ale zase jí nemusí věřit tvůj stát nebo místní firmy – pro které bys ale paralelně s tím měl certifikát od státu nebo místní CA (které zase nevěří ti klienti v zahraničí).
Je otázka, jestli by se podařilo shodnout na jedné technologii, kterou by byli schopní používat všichni – časem asi ano, ale pro začátek můžou být tři přístupy: e-mail, soubor na webu a DNS záznam.No on pro začátek byl jen jeden kanál (pro DV) a to právě email a skupina možných účtů byla velmi malá (typicky třeba jen hostmaster). Až výrazně později se to začalo rozšiřovat na DNS a soubor. Takže uvádět dnešní stav za počátek mi přijde zvláštní. Dnešní stav už je hodně velký posun od počátku.
OK, to rád slyším.Ehm, já tady za pki a x509 píšu několik let.
Na jedné straně je komerční zájem prodat co nejvíc certifikátů a snižovat náklady – ale na druhé straně by měl být tlak prohlížečů (resp. obecně softwaru, který rozhoduje, kdo bude na seznamu důvěryhodných CA) na určitou garantovanou úroveň bezpečnosti. A tohle by se mělo někde setkat a tam by se měla najít rovnováha. Když CA vypadne ze seznamu důvěryhodných, tak už nic neprodá a má po zisku – takže je v jejím zájmu dodržovat ta pravidla nastavená prohlížeči. Zde je tedy na místě se ptát, co by měly prohlížeče od CA ještě požadovat, jak by měly nastavit ten standard a laťku pro zařazení mezi důvěryhodné CA.Já na samoregulaci obecně moc nevěřím. Viz třeba aktuální situace v herním průmyslu, kterou různá sdružení herních regulátorů spíše kryjí, než aby na to dopředu upozorňovala a snažila se to zarazit. Samoregulace funguje typicky jen po nějakém průseru, kdy se zástupci průmyslu snaží veřejnost přesvědčit, že my už teď budeme opravdu, ale opravdu hodní, tak si vymyslí regulaci a pár let to tak i funguje. Potom se to začne rozjíždět a regulátor se tváří, že nic nevidí a potom, před dalším průserem, se to regulátor (složený ze zástupců toho průmyslu) snaží krýt. Následně se situace opakuje. Dozor musí být nezávislý (doporučuju, taky se na to téma chystám něco písnout ze světa SVJ, ale musím vymyslet jak to udělat a současně nebýt žalovatelný).
Z technologického pohleduJo, to už lehce připomíná pgp, jen s většími CA. Na první pohled to vypadá zajímavě.
PKI je skvělý vynález, akorát se v praci používá pěkně blbě.Protoze v soucasne praxi pouzivat dobre nejde. Nejakej kokot totiz protlacil, ze kdyz nelezes na blogisek sifrovane, tak je to strasne nebezpecne a vubec fuj. Protlacil to tak daleko, ze to na ne HTTPs spojeni cpe do ksichtu "Not Secure". Pridej si k tomu, ze odklikat self-signed certifikat je cim dal tim vetsi voser (odnaucili jsme uzivatele klikat na "ok", ale naucili ho klikat na "details -> more details -> add exception"). A vysledkem je enormni poptavka po bezpecnostni infrastrukture, ktera neni indukovana poptavkou po bezpecnosti. Tak mas soucasny stav PKI i bez nejake mrzke financni motivace CA.
Slyšel jsi o Lets Encrypt?
Komu stačí DV, pro něj je to ideální řešení. Ostatní mají možnost si zaplatit OV nebo EV. Naopak nešifrované spojení je zlo1 a zbytečnost – a to i na těch „blogíscích“.
[1] dobře, až na výjimečné případy, kdy máš celou síť pod kontrolou ty sám a ta zařízení jsou třeba nějaké jednočipy, které by šifrovat nezvládly
Prave dogma, ze nesifrovane spojeni je zlo se postaralo o to, ze latka overovani je proklate nizko a seznam duverhodnych CA ukrtune velky.
Není to dogma – je to pravda. Šifrování má smysl i tam, kde zdánlivě o nic nejde – všechny ty blogy, novinové články, Wikipedie… nikdo po cestě (tvůj ISP, náhodný cracker odposlouchávající komunikaci, provozovatel sítě, stát atd.) nemá právo strkat nos do toho, jaká data přenášíš. I z těch novinových nebo encyklopedických článků se dají vytěžit zneužitelné informace (o co se zajímáš) nebo ti lze při MITM útoku odepřít určité informace nebo ti dokonce podstrčit falešné. Při chytrém a cíleném útoku si toho nikdo nemusí ani všimnout. Ale když se bude šifrovat všechno, tak by se to projevilo tím, že „lidem přestane jít celá Wikipedia“ a toho už si lidi všimnou a začnou pátrat, co se děje.
Ostatne, kde je skutecne zajem o bezpecnost, tam uz je davno 2FA.
Dvou-faktorová autentizace je ti tady k ničemu. Ta slouží k věrohodnějšímu ověření klienta (aby nestačilo zjistit jeho heslo, ale bylo potřeba ukrást i jeho mobil/token). Jenže při MITM útoku sedí u počítače ten pravý uživatel s tím pravým tokenem, jen komunikuje se serverem útočníka a neví o tom, takže chce třeba zaplatit složenku za telefon a místo toho pošle peníze do nějaké banánové republiky. V lepším případě má šanci si všimnout, že v té SMSce je jiná částka a jiné číslo účtu, než jaké zadal do počítače, v horším případě to přehlédne nebo to tam vůbec není a on pouze opisuje nějaké šestimístné číslo z tokenu do počítače.
Levicacke... No proste se pro skryti vlastni sifrovane komunikace, donutis sifrovat vsechny okolo sebe, tim ze jim nesifrovanou komunikaci zakazes (zdanis, nebo poradne zneprijemnis, pokud chces slovickarit). Vzdyt je to i pro jejich dobro. To je pristup, ze kteryho Franta normalne sere jezky, tak jsem jsi si musel dloubnout.
WTF? Kdo tady co zakazuje? Brání ti snad stát, když si chceš navázat nešifrované spojení? To, co se odehrává v rámci soukromého sektoru nelze za levicové považovat.
(resp. on stát v některých případech šifrování nebo jiné zabezpečení skutečně nařizuje, ale to je poněkud mimo téma tohoto vlákna)
P.S. před LetsEncrypt jsem spokojeně používal certifikáty od StartSSL (tehdy ještě izraelská firma) za pár dolarů.
Protoze v soucasne praxi pouzivat dobre nejde.Samozřejmě že jde.
Nejakej kokot totiz protlacil, ze kdyz nelezes na blogisek sifrovane, tak je to strasne nebezpecne a vubec fuj.Tak si mě klidně přidej na seznam kokotů, protože já s tímto plně souhlasím. Snad přechod na http2 už bude znamenat výhradně šifrovaný provoz.
Protlacil to tak daleko, ze to na ne HTTPs spojeni cpe do ksichtu "Not Secure".Což je ovšem pravda. Prohlížeč u nešifrovaného přenosu skutečně nemůže zaručit bezpečný přenos dat a proto to uživateli sděluje.
Pridej si k tomu, ze odklikat self-signed certifikat je cim dal tim vetsi voser (odnaucili jsme uzivatele klikat na "ok", ale naucili ho klikat na "details -> more details -> add exception").Nevím, proč bych něco z toho měl uživatele učit. Pokud je to můj produkt, můžu mít (a mám) vlastní CA a všem klientům naimportuju root CRT. Pokud je to veřejný produkt, tak si pořídím normální certifikát.
A vysledkem je enormni poptavka po bezpecnostni infrastrukture, ktera neni indukovana poptavkou po bezpecnosti.Nesouhlasím. Nic z výše uvedeného nezpůsobilo stav, který jsem popisoval. CA může mít normální ověřovací mechanismus a roky před LetsEncrypt existovaly CA vydávající certifikáty zcela zdarma. A i ty měly normální ověřování.
Pokud musis mit pro zelenou ikonku certifikat podepsany CA, a vsichni chtej zelenou ikonku, pak proste CA bodou overovat jak na bezicim pasu, a kvalito overovani pujde dolu.
DV lze plně automatizovat, takže náklady jsou nízké a lze ty certifikáty vystavovat i zadarmo, což dokazuje LetsEncrypt.
Náklady jsou spojené s ověřováním identit a dokladů, což z velké části musí dělat lidé1 – ovšem OV a EV certifikáty nepotřebuje každý.
Vsak spousta firem pacha MITM na svych zamestnancich skrze transparentni proxy na FW.
Ano, tohle je prasárna, na tom se tu snad shodneme všichni.
Zadny soudny clovek by tve root CA nemel verit.
Už jsem to tu psal několikrát – CA může mít omezenou doménu, pro kterou smí vystavovat certifikáty. Takže ta firemní to má mít omezené *.firma.cz pro intranet a vlastní systémy – a pak si ji klidně nainstalovat můžeš, protože tahle CA nemůže vydat certifikát třeba pro tvojeBanka.cz nebo Seznam.cz. Stejně tak by sis mohl nainstalovat státní CA, která by byla omezená na *.gov.cz.
[1] teoreticky by zde mohl pomoci stát, kdyby měl nějaké IdP/SSO a API pro poskytnutí potřebných údajů certifikačním autoritám – pak by i tohle šlo automatizovat
Ano, tohle je prasárna, na tom se tu snad shodneme všichni.Neshodneme. Mít možnost zaříznout youtube, facebook a googlí spyware a blokovat malware v datech procházejících do počítačů ve firmě považuju za něco, na co má zaměstnavatel (kterému ty počítače patří) plné právo. A vzhledem k tomu, že tvůrci prohlížečů nikdy jinou metodu podporovat nebudou, MITM je jediná možnost.
Mrkni trebas jak pekne to funguje u SSH, pri prvnim pripojeni si overis otisk, a protoze nikdo normalni klice nemeni co mesic ... tak na pristich par let mas vystarano a vis, ze kdyz ti klient zarve, ze je neco spatne. Nikdo ti nenuti jakysi pseudoautority.
LOL. Tam to funguje jen díky tomu, že sis ten server třeba instaloval sám a ten otisk sis opsal na papír, abys ho později byl schopný ověřit; nebo ho instaloval někdo jiný a otisk ti poskytl třeba na svém webu, kde je to zabezpečené přes x509/PKI nebo ti ho poslal podepsaným e-mailem, kde je to opět x509/PKI případně OpenPGP (což je víceméně totéž, akorát trochu složitější a certifikačními autoritami jsou všichni a navzájem si podepisují klíče – a ty si z toho pak musíš nějak vypočítat, jestli je to pro tebe dost důvěryhodné).
Pro BFU jsou ale tyhle postupy nepoužitelné – a proto tu máme PKI a certifikační autority (byť to není dokonalý systém). Vylepšit se to dá přidáním různých dalších prvků, ale jako základ to PKI má pořád smysl. Dá se třeba přidat upozorňování na změnu certifikátu od poslední návštěvy. Nebo mít v prohlížeči seznam vybraných důležitých domén, kam si přidáš třeba svoji banku a různé platební brány, které používáš, a prohlížeč ti pak bude nějakou ikonou signalizovat, zda jsi na doméně z tohoto seznamu – pak budeš vědět, že heslo máš zadávat jen tehdy, kdy ti tam prohlížeč zobrazuje danou ikonu/značku – takže nezadáš omylem heslo k bankovnictví na m0jeBanka.cz místo na mojeBanka.cz.
A stejně tak mají smysl ty různé úrovně certifikátů, které říkají, jak moc daná CA daný subjekt prověřila, jestli kontrolovali jen vlastnictví domény nebo i nějaké doklady atd.
Hned vedle píšeš:
BFU to naprosto vubec nezajima, BFU nadevse maximalistisky vsechny certifikaty tak leda serou. Specielne kdyz jim kvuli tomu prestavaj veci fungovat... a pak samozrejme velmi rychle najdou navod, ze to posrany https maj proste vypnout, protoze http jim bude bez kecu fungovat. Hlavne ze sou v bezpeci ...
TOFU je fajn pro servery, které si spravuješ sám. Ale pokud bys to zkusil použít u BFU, dopadne to špatně. Čas od času je potřeba certifikáty/klíče vyměnit nebo jich provozovat několik souběžně. Takže BFU si akorát zvykne na to, že když mu vyskočí hláška o změně certifikátu, že ji musí odsouhlasit, aby se na daný web dostal.
Mimochodem TOFU u HTTPS běžně máš – můžeš v prohlížeči udělit trvalou výjimku. Ale to má opět smysl tak leda u těch různých krabiček, které si instaluješ a spravuješ sám – provozovat tímhle stylem server pro veřejnost/BFU dost dobře nejde. Část lidí si řekne, že ti to nefunguje a odejde, a část lidí vychováváš k tomu, aby odklikli jakoukoli bezpečnostní hlášku.
A co nechapes na tom, ze ten tvuj "system" je zcela nefunkcni a ani principielne fungovat nemuze? Jednoduse nemuze existovat zadna verejna autorita, ktery by se dalo verit.
Vždycky musíš někomu věřit – autorům operačního systému a tvojí distribuce, autorům šifrovacích knihoven, autorům prohlížeče a e-mailového klienta, svému ISP a v neposlední řadě správcům DNS dané TLD (u nás CZ.NIC) a registrátorům… v podstatě jsi závislý na všech z nich, že dělají dobře svoji práci – a práce CA je ověřovat totožnost a vydávat certifikáty.
Pokud nevěříš nikomu (resp. věříš jen tomu softwaru), tak ti nezbývá než si ty otisky klíčů ověřovat nějak ručně nebo to napoprvé risknout – ale to opravdu není vhodný postup pro běžné uživatele.
uz sme u toho, ze si sam muzu vydavat duveryhodny certifikaty pro naprosto cokoli. … Muze byt funkcni to, ze stat udela CA a vnuti ji uradum ... ale uz nemuze byt funkcni, ze tu CA budes pouzivat ty, protoze ty nevis a vedet nemuzes, jestli nevydala onen certifikat nekomu uplne jinymu, nez si ty myslis.
Doporučuji si přečíst ty standardy kolem X.509 – certifikáty můžou mít různá omezení a mj. certifikát CA může být omezený tak, že smí vydávat jen certifikáty v rámci určité domény – kdyby taková CA vydala certifikát pro někoho jiného, tak by byl nedůvěryhodný. To umožňuje, aby existovaly lokální CA (třeba jen pro .cz doménu) nebo vládní CA (třeba pro .gov.cz) nebo firemní pro nějakou velkou firmu.
Mimochodem TOFU na webu už existuje (tak nějak). Jmenuje se to HPKP (HTTP Public Key Pinning).A když se někomu povede odchytit váš první přístup na ten web, tak jste v prdeli. Správná implementace TOFU pro weby a BFU neexistuje. Tohleto je návrat do doby, kdy uživatelé naprosto automaticky odklikávali chybová hlášení o tom, že web není důvěryhodný. Naprostá stupidita.
DANE závisí na správcích domén, registrátorech a DNSSEC. V podstatě to znamená, že z příslušného NICu uděláš certifikační autoritu.
+1
Nejlepší to bude v kombinaci zločinného ISP nebo celostátního plošného MITM útoku nařízeného zákonem. Představ si, že si přineseš z obchodu nový počítač nebo telefon, a v rámci TOFU tam odsouhlasíš ty podvržené certifikáty, protože je tam máš už při prvním pokusu o spojení.
Certifikační autority jsou rozjetý byznys, který se jen tak nepovede zabít, a který se bude velmi snažit, aby celá ta věc fungovala co nejdéle.
Co bys na tom chtěl zabíjet? Kolem DV prakticky už žádný byznys není, protože DV certifikát ti vydá zadarmo LetsEncrypt a z pohledu uživatele to je stejné, jako DV certifikát, za který bys zaplatil u komerční autority.
CA se díky tomu můžou plně soustředit na ověřování (OV, EV) identity (jméno, příjmení, adresa, firma atd.) což je ortogonální k ověřování domény (DV) a je to práce, která objektivně obnáší nějaké náklady a nelze ji dělat zadarmo. Zároveň je to práce, která přináší užitek, protože člověk si v tom certifikátu nepřečte jen název domény, ale dozví se tam třeba i identitu firmy nebo fyzické osoby.
Úkolem prohlížečů by nemělo být likvidovat někomu byznys a závistivě1 upozorňovat, že někdo za svoji práci dostává zaplaceno. Úkolem prohlížečů by mělo být nastavit pravidla pro CA tak, abychom měli přijatelnou2 úroveň bezpečnosti. Zisk/cena nebude stoupat nad všechny meze, protože tu bude konkurence. A náklady se nebudou snižovat na úkor kvality, protože minimální laťku by měly nastavit a hlídat prohlížeče.
OV a EV mají smysl, protože říkají, jak moc byl daný subjekt3 ověřen nezávislou třetí stranou a přidávají další užitečné údaje do certifikátu. Klidně těch úrovní může být víc a můžou se jmenovat4 jinak, ale určitě by to mělo být nějak odlišené.
Mimochodem TOFU na webu už existuje (tak nějak). Jmenuje se to HPKP (HTTP Public Key Pinning). … Chtělo by to ale podporu i bez extra hlaviček, aby si to prohlížeč nějak pamatoval sám a srozumitelně to prezentoval uživateli.
Ne, jmenuje se to samopodepsaný certifikát a udělení výjimky. Je to tam snad odjakživa a je to přesně podstata TOFU – při prvním spojení si máš ověřit otisk veřejného klíče protistrany, a pak si ho prohlížeč zapamatuje a příště už tomu věří.
Funguje to skvěle, až na dvě věci: 1) většina uživatelů není schopná ověřit otisk5 a 2) čas od času je potřeba klíče vyměnit nebo jich provozovat více současně.
Použitelné je to pro SSH servery nebo pro různé routery a modemy s HTTPS rozhraním, které si spravuješ sám, ale není to použitelné pro širokou veřejnost a veřejně přístupné weby provozované někým, koho jsi předtím nikdy neviděl a neznáš se s ním.
[1] neříkám, že to dělají prohlížeče – spíš různí lidé v diskusích
[2] 100% bezpečné to nebude nikdy, každý může selhat a i ten největší zámek na dveřích ti může někdo upilovat
[3] nikoli vlastnictví domény – to dělá DV
[4] neříkám, že v zeleném proužku musí být název firmy
[5] takže to prostě odkliknou – což je navíc špatné ještě v tom, že je to vychovává k tomu, aby všechna bezpečnostní varování odklikávali – po odkliknutí následuje odměna v podobě zobrazení požadované stránky, při neodkliknutí následuje trest v podobě nesplnění úkolu – např. se nedostane do své e-mailové schránky nebo nedokončí nákup, nezaplatí ho přes internetové bankovnictví
To byl Certificate Patrol, který bohužel se současnými verzemi Firefoxu není kompatibilní. Upozorňovalo to na změnu CA nebo předčasnou změnu certifikátu (dlouho před koncem platnosti) atd. Tohle by měla být běžná funkce prohlížeče…
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.