Revoluce na internetu
Architektura webu sahá k počátku devadesátých let – dnes však zpomaluje nejnovější prohlížeče a je snadno zranitelná. Je tedy nejvyšší čas na nové technologie, které web nejen zrychlí, ale učiní ho i bezpečnějším.
CLAUDIO MÜLLER
Několik málo počítačů, jedna univerzitní místnost, kde se dá provádět výzkum, a pár chytrých lidí, jako je Daniel Bernstein nebo Jeff Hodges – nic víc k uskutečnění převratné změny není třeba. To, na čem tito lidé pracují, je nesmírně důležité pro každého, kdo chce používat internet bezpečně a rychle. Současní uživatelé totiž každý den hazardují na zastaralých datových cestách webu: HTTP a TCP protokolech. Snažení vývojářů by mělo odstranit největší úskalí internetu a mělo by z něho učinit internet budoucnosti, způsobilý pro interaktivní webové stránky a stále rostoucí objemy dat.
Staré protokoly "brzdí" 100Mb kabely i stále rychlejší prohlížeče. Kromě toho usnadňují útočníkům špionáž cenných informací, jako jsou hesla či údaje o kreditních kartách, umožňují ovládání prohlížeče na dálku, nebo dokonce zablokování serveru pomocí větších a sofistikovanějších počítačových útoků. Bernstein, Hodges a spol. chtějí nyní získat větší bezpečnost a rychlejší přenos dat. A tajemné jméno nového protokolu? DNSCurve, CurveCP, HSTS a SPDY.
Revoluce: Učiníme web rychlejším a bezpečnějším
Daniel J. Bernstein, Research Professor, University of Illinois
Samozřejmě že výrobci prohlížečů a také provozovatelé sítí musí tyto nové technologie podporovat; ti největší "dodavatelé obsahu" – s Googlem v první řadě – si již tuto nutnost uvědomili. Abychom dokázali pochopit, proč by měli všichni uživatelé z této revoluce těžit, musíme se podívat na problémy dnešních datových protokolů. Přenos dat na webu, tj. komunikace mezi uživatelem (rozuměj jeho prohlížečem) a webovou stránkou, probíhá v pevných definovaných krocích, přičemž všechny tyto kroky mají své určité slabiny.
"TCP handshake" nastaví připojení k webu a technologie CurveCP by měla chránit před útočníky (viz informace níže). Obsah webu je pak většinou převáděn nešifrovaný – a to má změnit HSTS (viz informace na straně 60). Kromě toho je přenos protokolem HTTP omezen technicky, je poměrně pomalý – zkrátka zastaralý. Google proto chce poskytnout zrychlení tempa pomocí SPDY (viz informace na straně 61). Zlepšit by se mělo také "připojení" na web, kdy DNS server musí zjistit IP adresu zadané URL. Novinka v podobě DNSCurve by v této situaci měla zabránit útočníkům manipulovat s tímto procesem.
DNSCurve: Konec phishingu
URL se skládá ze tří částí: z používaného protokolu (jako například http://), názvu domény (například www.chip) a domény nejvyšší úrovně (například .cz). Pokud zadáte URL do adresního řádku prohlížeče, očekáváte, že prohlížeč co nejrychleji zobrazí zadané WWW stránky. Aby tak mohl učinit, potřebuje znát IP adresu webové stránky, kterou si vyžádá od DNS serveru. Normálně DNS server přenáší IP adresu nešifrovaně – a právě to je nebezpečné. Protože jestliže útočník tuto IP adresu změní, přistanete na podvodné stránce, která sice na první pohled vypadá jako skutečná, ve skutečnosti však může například obsahovat malware nebo alespoň odcizit vaše přihlašovací údaje. Tyto tzv. DNS spoofing útoky jsou velmi nebezpečné a efektivní. Natolik efektivní, že se kvůli tomu uvažovalo i o zavedení tzv. internetových zámků.
Prvním pokusem o zabezpečení "DNS dotazu" byl tzv. DNSSE (Domain Name System Security Extensions), představený v roce 2005. DNSSE šifroval informace o doméně na DNS serverech tak, že útočníci již nebyli schopni k informaci proniknout a data zmanipulovat. Vzhledem k tomu, že tato technologie neřeší útoky napadající DNS klienta na počítačích uživatele a s ověřováním pravosti domény se rapidně zvyšuje i datová "režie" přenosu, celá řada odborníků považuje DNSSE za velmi neúspěšný "pokus".
Alternativu představuje technologie DNSCurve, vyvinutá matematikem Danielem J. Bernsteinem (University of Illinois). Tento postup zabezpečuje přenos názvů domén a IP adres pomocí šifrování dotazu a odpovědi přímo v koncových bodech: v DNS operačního systému klienta a taktéž v DNS serveru. Pokud zadáte URL adresu www.web.cz, DNS klient ji odešle na server jako například www.123456789.web.cz. Toto číslo je tzv. veřejný klíč tohoto asymetrického šifrování. Pouze DNS server může tento dotaz rozluštit, protože jen DNS server má soukromý klíč s ním související. Na zpáteční cestě server vrací IP adresu URL pomocí stejné metody šifrování, načež původ datových paketů je také ověřen. Útočník, který zachycuje data, má jen minimální šanci na jejich zmanipulování.
Četné DNS servery již tuto technologii podporují, protože velká výhoda DNSCurve (tedy kromě poskytování bezpečnosti) spočívá v jednoduchosti řešení, které nevyžaduje žádné další převratné změny na serveru. Musí být nainstalován jen jeden malý dodatečný software. Otázkou zůstává, kdy například budou tuto technologii podporovat Windows – ve svém vlastním DNS klientu. Na tuto otázku ale neznáme odpověď…
CurveCP: Šifrováno pomocí křivek
Daniel Bernstein chce pomocí tohoto principu způsobit převrat i v přenosovém protokolu – a to šifrováním datových přenosů v koncových bodech. Tento protokol propojuje prohlížeč s webovými stránkami a data přenáší v jednotlivých paketech. Protokol TCP, který se dnes používá a který je už devatenáct let starý, není ve výchozím nastavení šifrován a může být manipulován pomocí škodlivého kódu.
Z tohoto důvodu spoléhá CurveCP na asymetrické šifrování mezi prohlížeči a webovým serverem, které může dekódovat pouze příjemce pomocí soukromého klíče. Tento princip také využívá PGP šifrování používané u e-mailů. Nicméně CurveCP používá jinou metodu šifrování: asymetrický eliptický křivkový kryptografický systém s názvem Curve25519. Za komplikovaným názvem se skrývá složitý logaritmický výpočet bodů na eliptické křivce. To, co zní tak komplikovaně, ale znamená, že tento postup v praxi funguje s podstatně kratšími klíči než jiná asymetrická šifrování. Pro srovnání: klíč Curve25519 o velikosti 160 bitů je stejně bezpečný jako klíč RSA o velikosti 1 024 bitů, což snižuje množství dat a méně výrazně zpomaluje rychlost přenosu. Za tuto bezpečnostní výhodu je ale nutné zaplatit cenu: v porovnání s nešifrovaným převodem je tato metoda pomalejší. Podle Bernsteina je to ale jen 1,15krát než v případě TCP protokolu.
O tom, že půjde jen o teoretický problém, svědčí i Bernsteinovy testy: dnešní procesor totiž dokáže bez problémů zpracovat milion klíčů (tedy milion ověření adres) za minutu, ale ani ten nejrychlejší webový server nedokáže zpracovat požadavky na otevření milionu stránek za minutu (více než asi 16 600 stránek za sekundu!).
Jako první výrobce prohlížečů zabudoval Google tuto technologii do poslední vývojové verze prohlížeče Chrome a tím podnítil diskusi o nástupnictví zastaralého protokolu TCP. Vzhledem k tomu, že CurveCP chce nahradit jeden ze základních pilířů internetu, museli by se i ostatní výrobci prohlížečů podřídit.
Nicméně nikdo z hlavních hráčů v této oblasti žádné konkrétní plány potvrdit nechce. Pouze provozovatelé softwarové knihovny NaCl (Networking and Cryptography library) tuto metodu v současné době testují. Pokud tedy jejich testy potvrdí výhody bezpečného přenosu dat, pak by technologie CurveCP překonala další překážku.
HSTS: Zodpovídá za bezpečnost
Jednou z alternativ pro zabezpečení webového připojení je HTTP Strict Transport Security (HSTS), který je v současné době již provozovateli webových stránek používán. Zatím byla šifrovaná webová spojení vždy rozpoznatelná pomocí "https" v URL řádku prohlížeče. Většina uživatelů při zadávání URL ale to "https" zapomene či si jako oblíbenou uloží normální http stránku. Typickým příkladem jsou stránky, které podporují oba druhy připojení (např. Facebook) a ke kterým se uživatelé mohou přihlásit i pomocí zabezpečeného protokolu https. Přesto se velký počet uživatelů přihlašuje přes obyčejné "http" a tak se stávají snadným cílem pro zloděje hesel. Nezabezpečeného spojení využívá například útok "Man-in-the-middle", kdy se hacker ocitá mezi uživatelem a serverem, díky čemuž může zachytit totožnost uživatele.
Ne vždy je ale na vině uživatel – v některých případech webové stránky zašifrují pouze přihlašovací dialog a pak "pošlou" uživatele opět na nešifrované podstránky.
Tým Jeffa Hodgese (který byl zodpovědný za bezpečnost informací na serveru PayPal) vyvinul HSTS mechanismus, fungující pomocí Firefox ForceHTTPS doplňků. Tento mechanismus by měl zabránit těmto nezabezpečeným připojením tak, že určí, aby server nekompromisně odesílal všechna data z webové stránky určená uživateli v zašifrované podobě – tedy pokud to prohlížeč umožňuje. Výhodou této metody je, že nezáleží na tom, zda uživatel zadal jen "http" nebo na kterou "podstránku" na serveru směřuje.
Člověk se této zabezpečovací povinnosti vyhnout nemůže, v nejhorším případě se pouze stránka nezobrazí. Tato "https povinnost" je zakotvena v záhlaví protokolu přenesených dat webové stránky pomocí řádku "Strict Transport Security: max-age=123456789; includeSubDomains". Parametr "max-age" v sekundách určuje, jak dlouho je připojení htpps udržováno. Parametr "includeSubDomains" znamená, že je šifrována i každá webová stránka na serveru.
Další výhodou HSTS je to, že zabraňuje útočníkům krást session cookies a poté pomocí přihlašovacích údajů jménem registrovaného uživatele nakupovat nebo cokoliv odesílat. Tato metoda kradení cookies totiž funguje v případě, že je uživatel ze šifrované přihlašovací stránky dále "přesunut" na nešifrovanou stránku s obsahem webu. Bezpečnostní povinnost HSTS se může na první pohled zdát podivná, ale v konečném důsledku pomáhá uživateli, protože záruka bezpečnosti je převedena na správce webů. Uživatel už nemusí hledat v URL řádku, zda je spojení zabezpečeno nebo co vlastně obsahují informace o certifikátu.
Na bezpečný přístup ke všem stránkám si sice počkáme ještě hodně dlouho, důležité ale je, že tuto technologii budou podporovat ty "nejdůležitější" instituce: banky, platební služby, internetové obchody nebo správci hesel.
Stranou nezůstávají ani výrobci prohlížečů: HSTS podporují už i Chrome a Firefox (od verze 4 výše). Například u Chrome jsou HSTS stránky uložené v seznamu, který sami můžete rozšiřovat. Stačí jen do URL řádku zadat "chrome://net-internals" a pak přejít na záložku "HSTS". V ní v sekci "Add Domain" přidejte URL adresu a klikněte na "Add". Nezapomeňte přidat zatržítko u položky "Include subdomains". Tento postup například velmi dobře fungoval při surfování na Facebooku – po stránkách jsme surfovali pouze pomocí šifrovaného spojení.
SPDY: Turbo web od Googlu
Další nová technologie přichází v pravý čas, protože plně šifrovaná webová připojení jsou vždy nějak pomalejší. Technologie SPDY (vyslovujte jako "speedy", tj.rychlé) by měla značně urychlit přenos dat pomocí protokolu HTTP. Když byl před patnácti lety HTTP standardizován, byly ještě webové stránky poměrně jednoduché: hodně textu, pár obrázků a téměř žádné interaktivní prvky. HTTP přenášel takto zvládnutelné množství dat velmi efektivně. Je ale logické, že s rostoucím počtem moderních prvků na stránce (dnes často desítky videí, JavaScriptu a CSS prvků) roste pro HTTP i počet překážek a brzd.
Zahlcení se často projeví neúplným načtením stránky, protože HTTP vždy může převést během jednoho aktivního datového připojení pouze jeden z těchto prvků. Další velkou slabinou protokolu je jeho záhlaví, které opakovaně přenáší nekomprimované a duplicitní informace (jako je jazyk, sada znaků nebo dříve navštívené stránky).
Tyto nedostatky by měla vyřešit technologie SPDY, vyvinutá společností Google. Klíčovým problémem je to, že nelze jednoduše nahradit něčím zcela novým protokol HTTP, který je v podstatě "základem internetu". To by vyžadovalo nejen změny v operačním systému uživatelů, ale především na serverech a v síťovém hardwaru. SPDY tudíž modifikuje pouze tzv. connection management (management připojení) a formát přenosu dat v protokolu HTTP.
Technické řešení HTTP připojení (přenos dat v TCP paketech) zůstává, klíčový rozdíl je u počtu paralelních převoditelných prvků stránky, který u SPDY není omezen. Zde Google používá postup tzv.multiplexování, který váže dohromady veškerou komunikaci mezi uživatelem a serverem, dělí ji na rámce a některé informace přenáší pouze v rámci jednoho připojení, které je navíc šifrované. Je dokonce možné stanovit prioritu jednotlivých prvků tak, aby nejdůležitější data byla přenášena jako první, nebo v případě přetížení kanálu byly jiné prvky blokovány. Pomocí funkce Push může navíc server poslat další údaje prohlížeči ještě předtím, než jsou vyžádány. Kromě toho také SPDY čistí záhlaví protokolu a komprimuje ho pomocí gzipu. Jediná nevýhoda SPDY: zátěž CPU se zvyšuje, především kvůli kompresi záhlaví a šifrování.
Nicméně podle Googlu lze při použití této technologie očekávat v průměru zvýšení rychlosti až o 20 procent. Již nyní si to můžete vyzkoušet při využívání některých služeb Googlu pomocí prohlížeče Chrome. Podle měření může u Google Docs či GMailu dojít ke zrychlení až o 90 procent. Google ale není jediný, kdo věří v tento způsob zrychlení internetu. Weboví vývojáři Strangeloop již tuto technologii "nainstalovali" některým zákazníkům a podle jejich měření opravdu došlo ke zlepšení rychlosti v průměru o 20 procent. Budoucnost této technologie naznačuje i zájem Mozilly. Předpokládá se, že technologie SPDY bude testována v příštích verzích Firefoxu. Vývojáři Firefoxu nám však nebyli schopni říct, zda a kdy se SPDY objeví ve finální verzi prohlížeče.
Příjemné vyhlídky do budoucna: Ještě zdaleka není jisté, zda bude tato revoluce úspěšná. Je však jasné, že v blízké budoucnosti zcela určitě dojde k nějakým změnám – ve prospěch uživatele, který bude moci surfovat rychleji a bezpečněji.
AUTOR@CHIP.CZ
OCHRANA PŘED HACKERY
PC uživatel a server s webovými stránkami se musí ještě před začátkem datového přenosu spojit. Doposud mohli hackeři tento nešifrovaný proces zmanipulovat.
PROBLÉM
Překlad jména stránky a sestavení spojení je nešifrované. Útočník může zmanipulovat IP adresu a přesměrovat uživatele na nebezpečné stránky.
REVOLUCE
Oba kroky jsou šifrovány – na PC uživatele a na serveru pomocí DNSCurve a CurveCP.
Detekce URL adresy & nastavení připojení k www stránce
Zadejte URL www.xyz.cz
DNS server zjistí IP adresu domény a předá ji zpět prohlížeči
Pošle dotaz na připojení (SYN-Paket) na zjištěnou IP
Potvrdí nastavení spojení (SYN/ACK-Paket)
Potvrdí odpověď (ACK-Paket); vytvoření spojení
100% bezpečně
U celé řady stránek je zabezpečen pouze samotný přihlašovací dialog: HSTS donutí chránit uživatele i na interních stránkách serveru a tak zabránit v činnosti zlodějům hesel.
PROBLÉM
Zabezpečené spojení je často k dispozici pouze na přihlašovací stránce, a v některých případech ani tam. Uživatel se musí vždy starat o to, zda je zvolená webová stránka bezpečná.
REVOLUCE
HSTS odebírá zodpovědnost o bezpečnost ze strany uživatele a nutí využívat šifrované spojení pro všechny webové stránky na serveru.
Šifrovaný datový přenos
Dotaz pro server (obsahuje podporované šifrovací protokoly)
Vybere nejlepší možné šifrování, odešle bezpečnostní certifikát
Ověří cerfikát a vytvoří veřejný klíč
Obě strany vytvoří tajný klíč, který je platný pouze pro tuto relaci
Posílá kódovanou zprávu s kontrolním součtem tohoto protokolu
Kontroluje kontrolní součet a pošle kódované potvrzení, zabezpečené připojení funguje
Více rychlosti
Jednotlivé prvky webové stránky jsou vždy přenášeny kousek po kousku. SPDY tyto elementy spojí a výsledkem je nezanedbatelné zrychlení..
PROBLÉM
Jednotlivé prvky webové stránky jsou vždy přenášeny kousek po kousku. SPDY tyto elementy spojí a výsledkem je znatelné zrychlení načítání stránek.
REVOLUCE
HTTP je pro moderní weby příliš pomalý, protože dokáže přenést pouze jeden prvek v datovém paketu. SPDY posílá v prvku TCP spojení neomezený počet prvků, navíc redukuje a komprimuje hlavičku protokolu.
Zobrazení www stránky
Vyžádání dat od webu www.xyz.cz
Odešle data v TCPpaketu (max. 1 500 Byte)
Každý element vyžaduje http spojení
Počet datových kanálů je pro každý server omezen
Devět domén nejvyšší úrovně
Rozhodnutí "internet managementu" ICANN vyčistí cestu pro nové domény (například pro adresy končící na ".Microsoft"). Proč jsou potřeba nové domény?
NOVÉ NÁZVY, VĚTŠÍ BEZPEČNOST?
Top-level doména (TLD) je třetí částí adresy URL (kromě www a názvu domény) a je nezbytná pro překlad adres a určování IP adresy. Od 12. ledna 2012 si může kdokoliv požádat o individuální TLD, což je důsledkem individualizace části síťové architektury. Nicméně tento proces potrvá velmi dlouho, a tak lze počítat, že první nové domény nejvyšší úrovně nebude možné aktivovat až do roku 2013. Mimořádně kontroverzní budou generické domény nejvyššího řádu, jako jsou ".hotel" nebo ".music". Pro firmy a země by nové domény nejvyšší úrovně měly nabídnout i ochranu značek a regionálních názvů. Aby stránky v těchto doménách byly důvěryhodné, měly by proběhnout přísná výběrová řízení.
Zde již internetová revoluce začala
IPV6: NEVYČERPATELNÉ ADRESY
Každé koncové zařízení, ať už na straně uživatele, nebo na straně serveru, potřebuje IP adresu pro odesílání a přijímání dat. Současně používaných IPv4 adres (např. 192.168.56.1) začíná být citelný nedostatek a jejich potřeba i nadále rychle roste. Řešení: IPv6 adresy, které vypadají např. takto: 2001:0 eb7: 86b4: 03d7: 1218:8 e3b: 0540:7847 / 64. Jejich celkový počet je prakticky nevyčerpatelný. Přechod se bude týkat uživatelů (aktualizace firmwaru na routeru), poskytovatelů a lokální operátorů. Nicméně IPv4 připojení budou i stále podporována, aby přechod na nový standard mohl probíhat bez problémů. Podrobnější informace o IPv6 najdete i v článku "Spouští se neomezený web" z Chipu 8/2011, který najdete i na Chip DVD ve formátu PDF.
HTML5: INTERAKTIVNÍ WEBOVÉ STRÁNKY
Zastaralé jsou nejen protokoly pro přenos dat (HTTP a TCP). Dokonce i historie standardního webového jazyka HTML sahá až do doby čistě textových stránek. Multimediální prvky, které najdete na velkém počtu stránek, fungují pouze s podporou "dodatečných" prvků (jako je JavaScript či Flash). Čím více je ale videa, grafiky a interaktivních prvků na stránce umístěno, tím více je zpomaleno načítání stránky. Navíc je uživatel nucen používat v prohlížeči specializované doplňky, které jsou zdrojem potenciální nestability a bezpečnostního rizika. Pomocí HTML5 mohou vývojáři celou řadu multimediálních prvků integrovat v HTML kódu stránky. Proto HTML5 funkce podporuje stále více webových stránek…
Foto: Interaktivní zábava HTML5 je už na některých webových stránkách využito pro interaktivní zábavu - bez nutnosti využívat "konkurenční" Flash.
Foto: Bezpečnější: Připojení k webové stránce může být při využití technologie HTTP Strict Transport Security (HSTS) zašifrováno.
Foto: Rychlý a rychlejší Při návštěvě webu Picasa a použití prohlížeče Google Chrome bude využita technologie SPDY a výsledkem je rapidní zrychlení načítání www stránek.