Problém tohoto článku je, že dává rovnítko mezi IPv6 a více adres. Ale IPv6 přináší spoustu dalších věcí, které jsou v dnešním internetu užitečné. Fungovat na IPv4 dalších 20 je drbání se levou nohou za pravým uchem. Jako největší výhody IPv6 oproti IPv4 vidím šifrování na úrovni protokolu, podpora mobilních zařízení(jsem přístupný i na cestách pod stejnou IP), automatická konfigurace sítě(pokud je v síti nastaven DHCP server částečně funguje už dnes), podpora pro multimédia. Všechny tyhle věci dnes fungují, ale musí se vymýšlet nejrůznější obezličky. Ve výsledku nejvíce trpí zákazníci, protože ISP si často účtují peníze za veřejnou IP a bez ní je spousta věcí méně pohodlná.
Právě že všechny tyhle vyjmenované věci fungují dnes ale z IPv6 dělají moloch, protože řeší věci, které na dané úrovni se řešit nemají.
- šifrování je možné řešit na vyšší úrovni, dnes každému stačí HTTPS.
- změny IP adresy lze řešit rychlými DNS záznamy. Funguje dnes bez problémů.
- Automatická konfigurace je zvládnutelné přes DHCP a nevidím důvod, proč by to mělo fungovat jinak. Nedokážu si přestavit, že si nechám do sítě připojit uživatele, aniž bych měl kontrolu nad tím, jakou adresu tomu uživateli přidelím.
- Podpora pro multimedia? Na úrovni IP paketu? Tak maximálně QoS a zabezpečení kanálu pro souvislý proud, ale mám pocit, že i to dnes už funguje. Multicasting snad funguje i na IPv4.
Takže nakonec jde jen o počet adres. A bojím se, že dojde brzo na lámání chleba a předpovídám, že dřív nebo později se objeví firma XYZ, která vyrazi s vlastním protokolem a začne prodávat i vlastní HW k tomu. Doposud je IPv6 jen akademickou záležitostí, ale tady jde o byznys.
> šifrování je možné řešit na vyšší úrovni
To je možné, ale logicky šifrování patří na nižší úroveň s tím, že pro obě komunikující strany je transparentní, takže o něm vůbec nevědí (na tom principu je založený ISO/OSI i TCP/IP model). V dnešním světě si každý šifruje po svém, takže 100 implementací to dělá 100 jinak a vytvoří 100 různých sad chyb a zranitelností. Společná implementace zvyšuje bezpečnost. Navíc si skus naprogramovat šifrování, které funguje všude (tím myslím i 5 let staré mobily za 1000kč s J2ME).
>změny IP adresy lze řešit rychlými DNS záznamy
A teď řekněte Frantovi od vedle ať si změní DNS záznam.
>Automatická konfigurace
Zase to je věc, která pomůže běžným uživatelům ne těm, kteří to umí již dnes. Jinak nechápu proč je takový problém s přidělením „náhodné“ adresy. Počítač je „jednoznačně“ identifikovaný podle MAC, ne podle IP.
> Podpora pro multimedia
Ano dnes se to všemožně hackuje, aby to fungovalo.
Už v minulém příspěvku jsem psal, že většina těch věcí dnes funguje, spíš jde o to jak a za jakou cenu.
Argument: "V dnešním světě si každý šifruje po svém, takže 100 implementací to dělá 100 jinak a vytvoří 100 různých sad chyb a zranitelností. " Neberu. Protože lidé šifrují, aby byli v bezpečí a budou věřit jen své šifře a ne šifře oficiální. Kdo Vám zaručí, že šifra na úrovni protokolu bude jen jedna? A kdo Vám zaručí, že přežije pokusy o prolomení. A kdo Vám zaručí, že ta jedna jediná šifra není dešifrovatelná vládní institucí, policií, nebo úřadem pro dohled na internetem. Vždycky budete mít víc konkurenčních šifer a je jedno na jaké úrovni.
Franta má nainstalovaného klienta DynDNS, který mu sleduje IP adresu. Rychlá DNS mají krátký TTL, takže změna IP adresy se projeví do několika sekund / minut. Nevím, jestli je IPv6 schopno tak rychle měnit routovací tabulky, pokud jde o jednotnou IP
O běžné uživatele jde především. Dnes vrznu kabel do počítače a mám adresu, víc mě nezajímá. Kdo jednoznačně přiděluje MAC adresy? Kde je záruka, že jednoho dne také nedojdou. Nehledě na to, že IPv6 je sice 128 bitová, ale pokud je většina technologie založena na ethernetu, pak využitelný rozsah je stejně jen 48 bitů, protože víc MACovek neexistuje.
Jedna šifra na úrovni protokolu nebude, je povolených více šifer (jsou definované v RFC). Pokud používám vlastní implementace, stejně používám knihovnu, kterou udělal někdo jiný, IPv6 má centrální správu, tedy vyšší dohled než když si to dělám sám. Navíc protože je šifrování transparentní, jako uživatele mě vůbec nemusí zajímat co je použité za šifru. Na druhou stranu pokud mě to zajímá je to dohledatelné.
>Franta má nainstalovaného klienta DynDNS, který mu sleduje IP adresu.
Něco jako DynDNS je součástí IPv6, takže není potřeba ani ten klient, stačí IPv6 stack.
Adresy IPv6 jsou 128bitové, aby bylo možné vytvořit hierarchickou síť. To u MAC adres není potřeba a tak zatím stačí 48bitů. Už při návrhu se počítá s tím, že většina adres bude nevyužitých.
48 bitů je využitelných v jedné síti, pokud se použije MAC adresa jako základ dynamické alokace (ale IPv6 neurčuje, jak si klient má spodních 64 bitů obsadit, může to udělat úplně libovolně — Windows to dělají generátorem náhodných čísel), dalších 64 bitů identifikuje síť (jednotku oddělenou routerem), tzn. tam, kde je dnes jedna IPv4 adresa (a tedy jeden počítač či NAT), budou čtyři miliardy sítí, z nichž každá může obsahovat prakticky neomezené množství hardwaru
Ehm, tohle je samozrejme plk. Tam kde dotycny nebude chtit nic dal routovat (a proc by chtit mel) dostane proste kazde jeho zarizeni nejakou !jednu! adresu z nejakeho rozsahu. Samozrejme pak zalezi na ISP, jestli da jeden rozsah vsem svym oveckam, nebo kazde da jeji (neexistuje duvod proc by to tak mel delat).
Technicky totiz neexistuje zadny duvod, proc by si mel bezny uzivatel svoji sit routovat. To je samo nezbytne, pokud pouziva NAT a chce mit alespon jakous takous moznost si neco nastavit.
Neroutovat jednotlivé zákazníky zase přináší jiné problémy. Když budete mít na stejné L2 desítky až stovky PC jednotlivých zákazníků, budou se mezi nimi šířit broadcasty, které s chutí generuje třeba media player ve Windows 7.
Co až si někdo nastaví stejnou MAC jako má jeho soused na stejné L2. Pokud budete mít chytrý switch, zjistíte sice kdo to je, ale bude to stát čas. Nastavení povolených MAC na porty switche není řešení, pak vás bude každou chvíli někdo otravovat, že má nový/půjčený notebook a potřebuje registrovat MAC. Lze to obejít nějakou registrací na základě hesla ale to je zbytečné. Co když si někdo nastaví jinou IP adresu, jak ho pak identifikujete pro účely logování? Některé tyhle problémy sice lepší switche umí řešit, ale ne dokonale.
V prostředí takových ISP jako ten popsaný v článku je přístup „co klient to samostatná L3 podsíť“ věc, která vyřeší hodně problémů, a došlo se k němu reálnou zkušeností s provozem té sítě.
Třeba kabeloví operátoři nedělají na modemech obvykle routování, ale jak už jsem psal, ten modem dělá různá kouzla, aby si klient nemohl nastavit jinou IP.
Tohle ovsem jsou konkretni potize konkretni implementace site, nikoli problem IPv6 natoz adresace/dostatku adres. Broadcast (v rozumne mire = neni vadna sitovka/umysl) pro desitky ale i stovky klientu v jednom subnetu neni zadny zasadni problem. Rozumny switch lze nastavit tak aby pripadny flood odstrelil. Vyresit MAC taky neni IMO nijak zasadni problem, jednoduse nastavite aktualizace tabulek swiste tak, aby duplicitam zabranil a stejnou MAC na jinem portu ignoroval (taky umi kazdy rozumny). WiFi je samo kapitola sama pro sebe … ale bavme se o realne vetsine ISP/Klientu (celosvetove). Pocitam ze drtiva vetsina klientu = kabel (nebo technologie s odpovidajicim chovanim). To vpodstate znamena, co klient, to port nejakyho zarizeni.
Proč by si měl svou síť routovat? No třeba protože má stolní počítač, mobil a notebook (to všechno BFU často má). Všechno chce mít v jedné síti a pokud možno automaticky. Dneska to funguje. Routuje tam WiFi modem (dneska musí navíc dělat NAT). Nějaký důvod, proč přidělovat jenom jedno IPv6 adresu?
Ehm, a proc by si proste na kabel od ISP misto routeru nedal switch ? Nejaky naprosto zasadni duvod ? BFU si router stejne nikdy spravne nenakonfiguruje. Kazdy zarizeni proste dostane nakou IPv6 adresu a hotovo. Co vic, pokud ISP neomezi broadcasty, muze se lednice poptat, jestli v sousedstvi neni nejaka dalsi lednice, ktera by disponovala vychlazenou 12tkou, paac v te nasi zrovna dosla ;).
IPv6 umí autokonfiguraci i routerů (RFC 2894). Switch se nedává, protože třeba u ADSL (a nechci přemýšlet o mobilním připojení) by to buď docela snadno zahltilo linku nebo nefungovalo (Neighbor Discovery Protocol a další lokální broadcasty). Broadcasty v IPv6 mohou (podle nastavení) projít i přes router.
Kde jste vyčetl, že šifrování patří na nižší úroveň? Šifrování patří na tu úroveň, kde má smysl. Pokud provozuji službu na HTTP, pak šifrování patří na úroveň HTTP. Stará se o něj web server a webový prohlížeč. Tedy klient a server. Mít šifrování i na nižší úrovni je sice zajímavý benefit, ale jakožto autor internetové služby bych se na to nespoléhal. A jde to dál – tajná data běžně posíláme přes FTPS, ale předem je zašifrujeme. Nespoléháme na FTPS.
Navíc mi není úplně jasné proč „logicky šifrování patří na nižší úroveň“. Vezměte si třeba OSI. Podle vás je vhodnější šifrovat na linkové vrstvě, než na transportní? Tedy aby se při každému hopu data rozšifrovala a znovu zašifrovala?
Podle toho co nás učili by šifrování mělo být nejlépe na aplikační vrstvě. Zaprvé aby nemuselo docházet k analýze dat při transportu, zadruhé abych se vyhnul nezabezpečenému přenosu – pokud by mi šifroval TCP stack, tak moje aplikace předává data nešifrovaná a doufá, že TCP stack je zašifruje. Navíc má nezlomnou důvěru v to, že TCP stack není infikován. Pokud by měla šifrovat až síťová karta na úrovni Ethernetu, no to potěš. Těch karet na cestě…
Častý omyl :-) Ani ten root vám v útoku moc nepomůže. Stále musíte hacknout samotnou aplikaci, případně podstrčit upravenou verzi, která šifrování vypne. V každém případě to znamená dostat se do cizího počítače A nabourat se do požadované aplikace. To je nesrovnatelně složitější akce než jen nabourat se do počítače, nahrát tam upravený TCP stack a jako bonus získat data všech „internetových“ aplikací bez ohledu na jejich interní zabezpečení.
Jako příklad se udávají různé „password safe“ aplikace. I když se dostanete do počítače jako root a klidně nahrajete modifikovanou verzi aplikace, bez master hesla se k heslům nedostanete. Pak musíte zvolit jinou metodu – key logger nebo upravenou verzi aplikace, která po zadání master hesla všechna data někam uploadne.
Dalším příkladem je malware v podobě trojských koní. Botnety mají celosvětově miliony infikovaných počítačů, ale dodnes nikdo nedokázal s velkým úspěchem nainstalovat modifikovanou verzi třebas Firefoxu nebo MS IE, která by lhala o certifikátech a zjednodušila tak phishing. Nebo aby rovnou tajně schovávala „www.csas.cz za www.intruder.cz“ A to se bavíme o SW, který je na každém druhém počítači na internetu a je jen v několika málo verzích.
Zkrátka, je to jako cibule. Šifrování v TCP stacku je jako dobrovolně se zbavovat několika slupek. Třebas pak ještě nějaké zbydou. Třebas také ne.
Stáhnu si soukromý klíč aplikace. Buď z disku, je-li chráněn heslem, počkám na restart/výpadek, až se root přihlásí a heslo mu šlohnu, nebo si ten klíč vytáhnu z /dev/kmem.
„Dalším příkladem je malware v podobě trojských koní. Botnety mají celosvětově miliony infikovaných počítačů, ale dodnes nikdo nedokázal s velkým úspěchem nainstalovat modifikovanou verzi třebas Firefoxu nebo MS IE, která by lhala o certifikátech a zjednodušila tak phishing. Nebo aby rovnou tajně schovávala „www.csas.cz za www.intruder.cz“ A to se bavíme o SW, který je na každém druhém počítači na internetu a je jen v několika málo verzích.“
Jo, to mě fascinuje. Možná je to díky tomu, že tam je ještě další kanál (auth. SMS, čipovka…), takže by si stejně nepomohl. Ale tuhle jsem slyšel o kradení hesel na PayPal a Facebook.
A proc by bnekdo mel resit adresy uzivatelu ? (IPv6 ostatne primo v navrhu a vsechny widle se tak default chovaji, podporuje anonymni IP). Jediny co potrebuju je vedet, ze nekde mam pripojeneho uzivatele s tarifem XYZ. A jesli bude pouzivat jednu, 10 nebo 100 adres, mi v pripade IPv6 muze byt uplne putna.
Sifrovani = nemusim resi 1000 a jeden zpusob jak se bezpecne s nekym spojit, ucit se navazovat spojeni v milionu variant, proste si do hlavicky hodim priznak ze chci sifrovat a vyreseno …
DHCP = centralizovana manualni konfigurace. IPv6 se umi nakonfigurovat „od prirody“. Neni problem mit v siti vice routeru, zarizeni si je samo najde a muze byt videt pod libovolnym mnoztvi IPadres + samozrejme pod svoji domovskou IP.
Multimedia = predevsim multicast, ktery se na IPv4 sice provozovat da, ale pouze v omezene sitove infrastrukture, protoze IPcek pro nej vyhrazenych je proste nedostatek. Na IPv6 jej lze provozovat prakticky celosvetove. Uz jen toto + vyvoj ktery muze nevidet pouze slepy = obrovske financni prostredky usetrene za vykon a konektivitu (nemusite distribuovat stejny stream 100×, 1000× , … ale pouze jednou).
>> Jediny co potrebuju je vedet, ze nekde mam pripojeneho uzivatele s tarifem XYZ. A jesli bude pouzivat jednu, 10 nebo 100 adres, mi v pripade IPv6 muze byt uplne putna.
No ale z legislativních důvodů (a nakonec se to může hodit i při řešení problémů) potřebujete logovat veškerá spojení. A měl byste tedy znát relaci IP adresa – připojený zákazník. Nejjednodušším řešením je každému zákazníkovi přidělovat IP adresy z určitého rozsahu, který je jen „jeho“. To pomocí autokonfigurace neuděláte. Teoreticky lze zároveň sledovat ARP tabulky na všech switchích a logovat si je, ale to je reálně víc práce.
Takže ptám se, jak byste si představoval přidělování IP adres zákazníkům na společném L2, abyste byl schopen dohledat kdo je např. záškodník s určitou IP adresou. Jak byste řešil případný traffic shaping, aby se všechny IP adresy od jednoho uživatele počítaly do jeho fronty (ne všechny sítě si mohou dovolit dělat omezení rychlosti na portech switche, resp. dělají nějaký sofostikovanější shaping)?
Jo a multicast: co jsem slyšel, tak zásadní problém není ani tak počet dostupných IP adres. Zásadní je rozpor se současným modelem prodeje konektivity, hlavně tranzitní, a peeringu. Oni totiž tihle operátoři, co prodávají konektivitu, určují jestli multicast pojede. Multicast je super pro distributory obsahu, těm ušetří bandwidth. Ale ISP nemá zájem jim prodat menší konektivitu. A tady jaksi konkurence moc nefunguje, na dostupnosti multicastu musí být spolupráce hodně subjektů s často protichůdnými zájmy.
Docela rád sleduji diskuse kolem IPV6 – spíše z pozice „poučeného uživatele“. A mám celkem jednoduchou otázku – co z toho budu mít já jako uživatel?
Někde nahoře je komentář, který říká že IPV6 musí prosadit ISP provideři. na rovinu – proč by to měli dělat? Bude z toho nějaký profit (i když to možný vypadá, není to sprosté slovo)? Pokud ano, konverze proběhne rychle a snadno (alespoň relativně). Pokud ne, bude se zadrhávat – jak to sleduji není business model moc pozitivní alespoň prozatím.
A co se týče uživatelů – šifrování v době kdy můj soused (aktivní uživatel internetu) používá hesla typu 12345 to nevidím jako hot topic. Automatická konfigurace – no to předce funguje automaticky :-DDD a těžko se nějak prodá… Podobně se zbytkem. Osobně zatím nevidím „killer app“ – něco co mě jako koncového uživatele donutí zavolat ISP a říci mu ať kouká něco dělat, jinak jdu jinam…
„co z toho budu mít já jako uživatel?“
Na to je jednoduchá odpověď: budeš si moct k Internetu připojit tolik zařízení, kolik budeš chtít. Zatímco u IPv4 může být do Internetu připojeno 4 294 967 296 zařízení (mínus nějaká režie, takže třeba 2–3 miliardy) a to už přestává stačit, tak u IPv6 je teoretické maximum 340282366920938463463374607431768211456. V praxi samozřejmě o dost méně, ale pořád je to docela dost :-).
To jsou porad jenom jednotky zarizeni na uzivatele a vsechny si zvladnou pripojit i dnes. Navic k pripojeni toho vseho si doma netahaji kilometry kabelu, ale snazi se to resit wifi a ty maji v sobe automaticky router. Jedine co by jim mohlo vadit, ze nemuzou svou skvelou plazmu ovladat z Chorvatska, kdyz jsou na dovolene. Ale to stejne delat nebudou, bud si nahravani predplanuji, nebo vyuziji sluzbu TV on Demand.
P.S.: Ale ja taky verim ze moznosti ipv6 jsou skvele. Ta drobnustka, ze kazde zarizeni muze mit verejnou a dokonce i statickou IP muze mit nedozirne uplatneni. To ale lide nevidi, dokud to nezacnou masivne pouzivat, stejne jako clovek programujici v proceduralnim jazyce, nechape uplne jake vyhody ma objektovy jazyk dokud v nem nezacne aktivne delat. Pak se mu uplne zmeni pohled na vec.
Napr. K cemu lednice, ktera zna obsah potravit a umi to sdilet do internetu? To fakt nevim k cemu by to bylo dobre. Ale treba bude existovat nejake daleko lepsi zarizeni ktere nas ted ani nenapada a ktere by uz davno vzniklo nemuset resit vsechny ty NAT a jine problemy.
Jednoduchy priklad, OK ? Nebudes muset resit, jestli tvuj NAT zvladne 100 a vic otevrencyh konexi, nebudes muset resit, jestli se tvuj IM klient spoji s kamosovo klientem a totez plati pro VoIP. Za normalnich okolnosti se totiz IM klienti (a VoIP taktez) spoji naprimo vzajemne, nepotrebuji na to zadne prostredniky ⇒ vyssi bezpecnost, lepsi parametry (pakety jdou po nejkratsi ceste) a predevsim, nicim neomezovana funkcnost.
Ad sifrovani, vzhledem ke smirovacim aktivitam ve svete a i u nas, je sifrovani uz dnes zakladem jakekoli rozumne komunikace o cemkoli (klidne i o onom povestnem ho.ne).