it-swarm-eu.dev

Proč HTTPS není výchozí protokol?

Proč se HTTP stále běžně používá, místo toho bych věřil mnohem bezpečnějšímu HTTPS?

75
blunders

SSL/TLS má mírnou režii. Když Google přepnul Gmail na HTTPS (z volitelné funkce na výchozí nastavení), zjistili, že režie CPU činila asi + 1% a režie sítě + 2%; viz tento text pro podrobnosti. Jedná se však o Gmail, který se skládá ze soukromých, dynamických, nesdílených dat a hostovaných v systémech Google, které jsou přístupné odkudkoli s velmi nízkou latencí. Hlavní účinky HTTPS ve srovnání s HTTP jsou:

  • Zahájení připojení vyžaduje některé další síťové zpáteční lety. Protože taková spojení jsou „udržována naživu“ a pokud je to možné, znovu se používají, je tato dodatečná latence zanedbatelná, pokud je daný web používán s opakovanými interakcemi (jak je typické u Gmailu); systémy, které slouží převážně statickému obsahu, mohou považovat režijní náklady za nezanedbatelné.

  • Proxy servery nemohou ukládat do mezipaměti stránky zobrazované s HTTPS (protože tyto stránky ani nevidí). Opět zde není nic statického pro mezipaměť s Gmailem, ale toto je velmi specifický kontext. Poskytovatelé internetového připojení jsou velmi rádi ukládání do mezipaměti, protože šířka pásma sítě je jejich životnost.

  • HTTPS je HTTP v rámci SSL/TLS. Během handshake TLS server zobrazí svůj certifikát, který musí označit zamýšlený název serveru - a k tomu dochází před , samotný požadavek HTTP je odeslán do server. Tím se zabrání virtuálnímu hostování, pokud se nepoužije rozšíření TLS známé jako Název názvu server ; to vyžaduje podporu od klienta. Zejména Internet Explorer nepodporuje podporu indikace názvu serveru v systému Windows XP (IE 7.0 a novější verze) jej podporuje, ale pouze u Vista a Win7). Vzhledem k současnému tržnímu podílu stolních systémů používajících WinXP nelze předpokládat, že „každý“ podporuje označení názvu serveru. Místo toho servery HTTPS musí používat jednu IP na název serveru, aktuální stav nasazení IPv6 a IPv4 adresa nedostatek, aby to problém.

  • HTTPS je „bezpečnější“ než HTTP v následujícím smyslu: data jsou ověřena jako pocházející z pojmenovaného serveru a přenos je důvěrný, pokud jde o kohokoli, kdo může odposlouchávat na lince. Jedná se o bezpečnostní model, který v mnoha situacích nedává smysl: například když se díváte na video z Youtube, opravdu vám nezáleží na tom, zda video skutečně pochází z youtube.com nebo od nějakého hackera, který (zdvořile) posílá video, které chcete vidět; a že video je stejně veřejná data, důvěrnost zde nemá žádný význam. Ověřování se také provádí pouze relativně k certifikátu serveru, který pochází od certifikační autority, o které klientský prohlížeč ví. Certifikáty nejsou bezplatné, protože účelem certifikátů je to, že zahrnují fyzickou identifikaci majitele certifikátu certifikačním úřadem (neříkám, že komerční certifikační autorita jejich certifikáty spravedlivě uděluje; stále platí poplatek za certifikát). Komerční CA by právě rád HTTPS považovala za „výchozí“. Navíc není jasné, zda je model PKI ztělesněný certifikáty X.509 opravdu to, co je „ve výchozím nastavení“ nutné pro internet obecně (zejména pokud jde o vztahy mezi certifikáty a DNS - někteří tvrdí, že serverový certifikát by měl být vydán registrátorem při vytvoření domény).

  • V mnoha podnikových sítích znamená HTTPS, že odposlechové data nevidí, a tato kategorie zahrnuje všechny druhy filtrů obsahu a antivirový software. Pokud nastavíte HTTPS jako výchozí, bude mnoho systémových administrátorů velmi nešťastných.

To vše jsou důvody, proč HTTPS není nutně dobrý nápad jako výchozí protokol pro web. Nejsou však důvodem, proč HTTPS v současné době není výchozím protokolem pro web; HTTPS není výchozí pouze proto, že tam byl HTTP první.

68
Thomas Pornin

I když již existují skvělé odpovědi, domnívám se, že jeden aspekt je zatím přehlížen.

Zde je to: Obyčejný HTTP je výchozí protokol pro web, protože většina informací na webu nevyžaduje zabezpečení.

Nechci omezit otázku nebo bezpečnostní obavy některých webových stránek/aplikací. Můžeme však občas zapomenout, kolik webového provozu:

  • obsahuje pouze zcela veřejné informace
  • nebo má malou nebo žádnou hodnotu
  • nebo kde je více návštěvníků vnímáno jako zvyšující hodnotu webu (zpravodajská média, síťový efekt stránky)

Několik rychlých příkladů, jsem si jist, že můžete ve své mysli rychle vydělat více:

  • Téměř všechny webové stránky společnosti, někdy nazývané „weby s brožurami“, uvádějící veřejné informace o společnosti.
  • Téměř všechna zpravodajská média, blogy, televizní stanice atd., Které si jako primární strategii zpeněžování zvolily podporu reklamy.
  • Služby, které mohou nabídka přihlášení a další přizpůsobení, ale které také rozdávají svůj obsah zdarma každému, kdo anonymně prohlíží (YouTube fx).
31
Jesper M
  • Představuje výrazně větší zatížení procesoru na serveru, zejména pro statický obsah.
  • Je obtížnější ladit pomocí zachytávání paketů
  • Nepodporuje virtuální servery založené na jménech
5
Mike Scott

Http byl vždy výchozí. Https zpočátku nebylo potřeba pro nic, bylo to do značné míry doplnění, protože se stalo zřejmým, že za určitých okolností je potřeba zabezpečení.

Dokonce i nyní existuje tolik webových stránek, které nepotřebují https, ale stále ještě není přesvědčivým argumentem, že by http měl být zcela nahrazen.

Díky stále účinnějším mechanismům pro provozování zabezpečených připojení TLS se režijní náklady na CPU stávají mnohem méně problémem.

5
Rory Alsop

Nikdo nepoukázal na jasný problém, který vyplývá z použití http jako výchozí, spíše než https.

Málokdo se obtěžuje napsat plnou uri, když požaduje zdroj, který musí být šifrován a/nebo podepsán pro různé účely.

Jako příklad si vezměte gmail, když uživatelé navštěvují gmail.com, ve skutečnosti navštěvují výchozí protokol http, spíše než https. V tomto okamžiku zabezpečení selhalo ve scénářích, kdy protivník zachytí přenos. Proč? Protože je možné odstranit html z požadavku https a nasměrovat je na http.

Pokud byl protokol https ve skutečnosti výchozím protokolem, vaše návštěvy webových stránek by byly chráněny.

Na otázku, proč je http vybrán přes https, platí různé výše uvedené odpovědi. Svět ještě není připraven na široké použití šifrování.

5

Kromě důvodů, které již uvedli ostatní:

  • K nastavení HTTPS na serveru je třeba další práce

    Správce serveru musí nakonfigurovat certifikáty pro každou doménu. To zahrnuje interakci s certifikační autoritou s cílem prokázat, že jste skutečným vlastníkem domény, a získat obnovení certifikátů. To může znamenat ruční generování požadavků na podepsání certifikátů a obnovení nákupu nebo nastavení automatického procesu (například certbot pomocí Let's Encrypt). V obou případech je to více práce, než nepoužívat HTTPS.

  • Jsou vyžadovány další adresy IP

    Toto není problém, protože podpora SNI (Server Name Identification) se rozšířila v prohlížečích a klientských knihovnách SSL.

    Tradičně však bylo nutné použít jinou IP adresu pro každý odlišný web pomocí SSL na konkrétním serveru a portu. To bylo spojeno se schopností provádět hostování na základě jmen (virtuální hosting) - široce používaná praxe umožňující hostování mnoha různých domén ze stejné adresy IP. U HTTPS nefunguje běžný hosting založený na jménech, protože server by musel vědět, co název hostitele , který má být přítomen ve vrstvě ověření SSL/TLS před lze HTTP požadavek obsahující název hostitele dešifrovat.

    Server Name Identification (SNI), který efektivně implementuje hostování založené na jménech ve vrstvě SSL/TLS, toto omezení odstraňuje.

  • Pomalé tempo změny

    HTTPS byla modifikace existujícího protokolu HTTP, který byl již velmi zakořeněn, než mnoho lidí začalo přemýšlet o bezpečnosti. Jakmile je technologie zavedena a stejně všudypřítomná jako HTTP, může světu trvat velmi dlouho, než se přesune na svého nástupce, i když důvody pro změnu jsou přesvědčivé.

3
thomasrutter

Thomas již napsal vynikající odpověď, ale myslel jsem, že nabídnu několik dalších důvodů, proč se HTTPS nepoužívá častěji ...

  • Není třeba. Jak Jesperova odpověď důkladně poukazuje na „většina informací na webu nepotřebuje zabezpečení“. Nicméně, s rostoucím objemem sledování prováděným vyhledávači, reklamními společnostmi, internetovými filtry na úrovni země a dalšími programy „Big Brother“ (např. NSA); to zvyšuje potřebu přísnějších opatření na ochranu soukromí.

  • Rychlost. Často se cítí pomalu kvůli mimořádným zpátečníkům a dalším požadavkům na seznamy zneplatnění certifikátů ( OCSP atd.). Naštěstí SPDY (vytvořeno společností Google a nyní podporováno ve všech hlavních prohlížečích) a některé zajímavá práce z CloudFlare pomáhají s posunem tohoto .

  • Cena certifikátů Většina certifikačních úřadů účtuje za certifikát neúměrné peníze (stovky dolarů). Naštěstí existují bezplatné možnosti , ale ty nedostanou tolik publicity (nejste si jisti proč?).

  • Cena IP adres Dokud nebude IPv6 rozšířen, budou webové stránky čelit rostoucímu nedostatku (a tím i nákladům) IPv4 adres. SNI umožňuje používat více certifikátů na jedné IP adrese, ale bez podpory SNI ve Windows XP nebo IE 6, většina webů stále potřebuje vyhrazenou IP adresu, aby poskytla SSL.

  • Zvýšení využití CPU serveru.  Toto je běžná víra, ale podle společnosti Google „ SSL/TLS již není výpočetně drahá ".

2
Simon East

Nejjednodušší vysvětlení a nejrozumnější, co jsem našel mezi svými kolegy, je to, že se to vždy děje s HTTP, proč to teď změnit.

Pokud to není rozbité, neopravujte to.

1
blfoleyus

Skutečnou odpovědí je, že SSL certifikáty v jejich současné podobě jsou komicky obtížně použitelné. Jsou tak nepoužitelné, že ohrožují bezpečnost certifikátů, protože lidé si dělají zkratky, aby jen dokončili práci. Říkám to jako někdo, kdo se rutinně zabývá obousměrným SSL (PKI certs), nekompatibilitami zásobníku TLS, které jsou vytvářeny složitostí specifikace, a bláznivým počtem kombinací konfigurací (limity šifry, možnosti, jazykové chyby knihovny specifických pro jazyk) atd.), které se nazývají TLS.

Viz nárůst LetsEncrypt jako důkaz, že je to pravda.

Caddy je reverzní proxy projekt, který používá LetsEncrypt. Může obnovit certifikáty, zatímco je server spuštěn, a lidé používají velmi krátké vypršení platnosti, protože obnovení jsou automatizována.

1
Rob