Osobne som zelený zámok nikdy nepokladal za nič viac ako že komunikujem naozaj s doménou, ktorú som zadal. Takže v tomto nevidím problém.
Problém skôr vidím v tom, že v rámci MITM je veľmi jednoduché podhodiť dôveryhodný certifikát, a tam človek môže získať falošný pocit, že komunikuje naozaj so zadanou doménou. A toto zatiaľ nikto nerieši. Reálne nám vo firme rozšifrovávajú https pomocou dôveryhodného certifikátu, a normálny človek to nie je schopný zistiť (rovnako je možné, aby to urobila NSA a dosť pravdepodobné, že aj šikovný záškodník). Viem si predstaviť, že by sa to dalo aspoň čiastočne riešiť pomocu DNSSEC a/alebo novým typom autentifikácie (predsa len tie dôležité údaje vyžadujú autentifikáciu používateľa), kde by sa serveru neodosielalo meno a heslo, ale hash v ktorom by bol s heslom zahashovaný aj otlačok servera, s ktorým komunikujem (ak by som komunikoval s MITM útočníkom, tak do hashu by išiel jeho otlačok a server by ma neautentifikoval). Mierne by sa to komplikovalo pri zmene certifikátu, ale nič neriešiteľné.
Není pravda, že to nikdo neřeší. Třeba hlavička HPKP nebo TLSA záznam v doméně umožňují se serverem spojit konkrétní certifikát nebo autoritu. Pokud to nebude sedět, prohlížeč tam uživatele nepustí.
MitM ve firmě funguje, protože je do systému injektovaná další certifikační autorita, ale proti takovému zásahu admina neexistuje ochrana. Dělají to dnes i antiviry, aby viděly do komunikace, ale narazí to ve chvíli, kdy web používá třeba to HPKP.
A hlídání vystavených certifikátů hlídá třeba Certificate Transparency, do kterého třeba Google sype všechny certifikáty, na které narazí. Kdyby někdo (třeba NSA) ve velkém podvrhoval certifikáty, velmi rychle by se na to přišlo. Nedávno vydal Symantec neoprávněně certifikáty pro Google.com a přišlo se na to za pár hodin.
Práve, že to je problém na zariadeniach, ktoré človek nemá úplne pod kontrolou. To sú počítače v práci, internetových kaviarniach, hoteloch, prakticky všetky nerootnuté mobily... Nehovoriac o tom, že poskytovateľ pripojenia má možnosť ti zmeniť hlavičky, TLSA záznam... Takže nechávať to iba na tom, že používateľ overí certifikát servera je nedostatočné. Mal by i server overovať používateľa, resp. či používateľ používa ten správny certifikát. To čo som popísal, by to umožnilo a v takom prípade by bolo okamžite jasné, že niekto robí niečo nekalé. To že keby sa to dialo hromadne, tak by sa to hneď zistilo nebráni, že to urobia v ojedinelých prípadoch.
To platí jen do chvíle, než bude HPKP pro určité weby přednačteno v prohlížečích, podobně, jako to je už nyní u HSTS. Byť si úplně nejsem jistý, jak něco takového bezpečně udělat, když se certifikáty ze své podstaty mění.
A pozměňování DNS se děje v opravdu velké míře i z naprosto malichernějších příčin. to je ostatně ten hlavní důvod, proč se výrobci prohlížečů moc nehrnou do implementace DNSSECu a tedy i DANE v prohlížeči.
Pokud se nepletu, HSTS preload list v browseru pouze říká, že web musí být načten pomocí https, ale neobsahuje otisk certifikátu. Implementace HPKP ale jednoduchá nebude, protože i když bude pravděpodobně podmínkou platnost certifikátu více jak 18 týdnů jako u HSTS preload listu, je potřeba poměrně rychle vyřešit revokace certifikátů, páč jak píšete, ty se mohou změnit.
I já jsem nusem cert občas přegenerovat, primárně kvůli přidání/odebrání SAn certifikátu.
A tady narazíme na neochotu browserů, obdobně jako u DNSSEC a DANE. V honbě za rychlostí brosery nechtějí fetchovat DNS záznamy, ani ověřovat platnost HPKP před načtením webu a post process to už moc smysl nemá.
Pokud bych si však mohl vybrat, osobně bych dal přednost pár ms zdržení při prvotním načtení neznámé domény za předpokladu, že by byl certifikát ověřen, samozřejmě s využitím nějaké krátkodobé cache v browseru.
Mohl bych se tak dostat do situace, kdy mi prohlížeč naservíruje stránku jejíž certifikát je již hodinu revokovaný, avšak stále lepší, než čekat na aktualizaci browseru několik dní/týdnů..
> Reálne nám vo firme rozšifrovávajú https pomocou dôveryhodného certifikátu, a normálny človek to nie je schopný zistiť
A navíc když to nahlásíš Mozille, tak ti řeknou, že to řešit nebudou. https://bugzilla.mozilla.org/show_bug.cgi?id=724929