Může mi někdo osvětlit jak by mi používání HTTPS pomohlo k tomu aby provider / kdokoli přes koho tečou data mohl analyzovat na který server a jeho stránky se snažím přistoupit? Nerozumím titulku článku, jak by mi s tímto mohlo šifrování pomoci, když je šifrován obsah komunikace a nikoli informace o tom kam přistupuji.
Titulek netvrdí nic o tom, že byl používání HTTPS pomohlo k tomu* aby provider / kdokoli přes koho tečou data mohl analyzovat na který server a jeho stránky se snažíte přistoupit.
*) Předpokládám, že bylo myšleno proti tomu
Rozhodně ale pomůže proti tomu, aby kdokoli po cestě měnil obsah předávaných zpráv, což se tady přesně stalo – HTTP spojení nedošlo do svého cíle, ale obsah byl nahrazen falešným obsahem někde po cestě.
A k původnímu tvrzení: HTTPS pomůže proti tomu, aby kdokoli na cestě mohl analyzovat na které stránky daného serveru se snažíte přistupovat.
Důvody pro HTTPS všude jsou tři:
Ta analýza je jen omezená, ISP vidí, na který server (hostname) přistupujete, ale už nevidí, které stránky z toho serveru to jsou a co vám server posílá. Tohle byl důvod, proč HTTPS zavedla Wikipedie, nejde selektivně blokovat stránky s „vadným“ obsahem a blokující státy tak byly postaveny před volbu blokovat vše nebo nic, což ve výsledku výrazně snížilo počet států blokujících Wikipedii.
Ten důvod, který pomůže tady, je, že nikdo nemůže obsah měnit a ani se za ten server vydávat. To, co váš prohlížeč dostane, je to, co vám poslal server, se kterým jste chtěli komunikovat (pozn. neznamená to nutně, že za tím serverem je stále ten, s kým jste chtěli komunikovat).
A ten třetí důvod je, že čím víc provozu je HTTPS, tím víc šumu to generuje pro někoho, kdo chce ten provoz analyzovat. Pokud by HTTPS bylo jen na webech, kde je nezbytně nutné, stačí vám analyzovat HTTPS provoz, abyste dostal zajímavé informace, a třeba pomocí časové korelace odhadnout, s kým tam sledovaný asi komunikuje. Pokud je HTTPS všude, naprostá většina komunikace bude nezajímavý šum, ve kterém se ty zajímavé korelace ztrácí.
> ISP vidí, na který server (hostname) přistupujete,
Opravdu vidi hostname? Podle meho v teto vete je potreba nahradit slovo ISP tvarem DNS server nebo hotname nahradit IP. Mozna se pletu, ale v https komunikaci prostrednici krome DNS neznaji domenova jmena. Tedy pokud na jednom serveru bezi x webu tak nedokazi blokovat jen jeden nybrz vse nebo nic.
Kvůli nedostatku IPv4 adres se na jedné IPv4 adrese běžně provozují weby pro různé domény, takže bylo do HTTPS zavedeno rozšíření SNI, ve kterém prohlížeč posílá DNS název požadovaného webu v nešifrované formě, aby server na jeho základě mohl vybrat správný certifikát, který pošle klientovi. Takže tohle jméno může vidět každý po cestě. Klient nemusí SNI posílat, ale dnes už se s takovou variantou u spousty webů nepočítá, protože už to podporují všechny významné webové prohlížeče.
Ano, za to, že se na jedné IPv4 adrese provozuje více domén, může nedostatek IPv4 adres. Protokol HTTP/1.0 původně neměl hlavičku Host a platilo, že jedno hostname rovná se jedna IPv4 adresa – tak, jak byl původně DNS systém navržen. Kdyby bylo dost IPv4 adres. tak by to tak i zůstalo a nikdo by neměl potřebu přidávat do protokolu hlavičku Host.
Když máte v certifikátu desítky jmen, nepoznáte, které z nich klient požadoval.
A teď se bavme o reálném provozu na internetu a ne o hypotetické situaci viditelné maximálně v labu. To znamená běžný uživatel (běžný browser, běžný resolver v OS, žádná VPN, žádné experimentální šifrování DNS trafficu) a porovnejme současnost s hypotetickým "všude ipv6"
1.jako provider vidím DNS, takže díky vlastnosti co host to jiná adresa, je moje tabulka ip->host jednoznačná. Takže v tuhle chvíli spíš drobná nevýhoda ipv6
2.obsah certifikátů: nejhorší co se může stát (z pohledu mě coby čmuchala) je že to bude hostované na nějakém freehostingu s certem *.example.org. Pak toho ofc moc neuvidím. Jinak realističtěji třeba nepoznám root.cz od wiki.root.cz, ale poznám root od vitality, takže kategorizace funguje vesele dál. (a ztracené info z SNI mi bohatě nahradí 1:1 mapování z DNS, takže jsme tam kde jsme byli - vím naprosto stejně jako dříve kam uživatel leze)
Ta chyba opravdu není ve svaté válce ipv4/ipv6, ale jen a pouze v implementaci TLS a DNS.
jako provider vidím DNS, takže díky vlastnosti co host to jiná adresa
Jenže tahle vlastnost právě neplatí.
že to bude hostované na nějakém freehostingu s certem *.example.org
Nebo to bude placený hosting, nebo CDN… Třeba Cloudflare má na jednom certifikátu 40 různých jmen.
Jinak realističtěji třeba nepoznám root.cz od wiki.root.cz, ale poznám root od vitality, takže kategorizace funguje vesele dál.
Což je dané velikostí webů, kdyby Internet Info bylo menší, ty weby by klidně běžely na jedné IP adrese.
ztracené info z SNI mi bohatě nahradí 1:1 mapování z DNS
Jenže DNS právě není 1:1.
Ta chyba opravdu není ve svaté válce ipv4/ipv6
Nejde o žádnou svatou válku. Prostě nedostatek IPv4 adres způsobil, že se požadované hostname dodatečně přidalo do protokolu HTTP a posléze i do TLS, protože IPv4 adres je nedostatek a bylo potřeba začít provozovat více webů na jedné IPv4 adrese.
https ma bezpecneni diru jak doprdele a hostname posila nesifrovane ... protoze misto toho, aby se vynutilo sifrovani uz na ipcku, tak se bastli nad jednotlivejma protokolama. A tudiz nemas jinou moznost, jak serveru sdelit na kterej web chces vlastne lizt a tim padem jakej klic ma pro to sifrovani vlastne pouzit.
Nic se na tom nezmeni ani s ipv6, protoze i z jejich specifikaci poviny sifrovani vyhodili. Uplne stejne si muze kdokoli poslouchat tvuj dns provoz a resit se to bude uplne stejne - bastlenim sifrovani do dns.
Jop, u toho https to muzes vypnout, ale pak se asi na dost webu vubec nedostanes.