Vyšlo v příloze Softwarových novin, v lednu 2001
Vytištěno z adresy: http://www.earchiv.cz/b01/b0100011.php3

V čem není Internet bezpečný?

Pro správné pochopení celé problematiky bezpečnosti na Internetu je dobré se nejprve seznámit s tím, v jakém smyslu není Internet bezpečný. Důvody lze rozdělit do dvou částí: na chování přenosových mechanismů (hlavně protokolu IP), a na chování aplikačních služeb.

Protokol IP (Internet Protocol) je hlavním přenosovým protokolem síťové vrstvy. Funguje na principu paketového přenosu, což znamená že přenášená data člení na bloky označované jako pakety. Navíc funguje tzv. nespojovaně (anglicky: connectionless), neboli jednotlivé pakety (označované kvůli nespojovanému způsobu přenosu také jako IP datagramy) přenáší nezávisle na sobě, způsobem který připomíná putování dopisu běžnou listovní poštou (v každém přestupním uzlu se vždy znovu rozhoduje, kudy bude datagram přenášen dál). V praxi to pak znamená, že není předem známo, jakou cestou se bude ten který datagram ubírat ke svému cíli, přičemž různé datagramy (různé částí "stejných" dat) budou ke stejnému cíli putovat jinou cestou. To je sice ideální pro robustnost a pro vyrovnání se s případnými výpadky v síti, ale na druhé straně to znemožňuje nějak předem zabezpečit přenosovou trasu (když není předem známa). Navíc je protokol IP tzv. nespolehlivý, v tom smyslu že sice kontroluje zda přenášená data nejsou po cestě poškozena - ale pokud zjistí že poškozena jsou, nebo se dokonce úplně ztratila, nepovažuje za svou povinnost postarat se o nápravu a jednoduše pokračuje dál (případná poškozená data jednoduše zahodí). Přitom počítá s tím, že eventuelní nápravu si nejlépe zařídí ten kdo bude příslušná data postrádat, tedy vyšší vrstvy (což opět vychází z předpokladu, že ne všechny aplikace budou potřebovat spolehlivé přenosy, a některým eventuelní ztráta dat nebude příliš vadit).

Protokol IP navíc žádným způsobem nekóduje ani nešifruje data, která mu jsou svěřena k přenosu - jednoduše je vezme tak jak jsou, umístí do příslušného počtu IP datagramů a ty vyšle k jejich cíli. Udělat z takovéhoto nespolehlivého a nezabezpečeného přenosového kanálu kanál zabezpečený a spolehlivý naštěstí lze, a to kombinací řešení na transportní a aplikační úrovni. Na transportní vrstvě je možné využít služeb protokolu TCP, který mění nespolehlivé a nespojované fungování protokolu IP na spolehlivé a spojované. Na aplikační vrstvě je pak třeba zajistit potřebné šifrování, kódování, resp. jiné vhodné zabezpečení dat, předávaných k přenosu.

Druhým zdrojem nízké bezpečnosti dnešního Internetu je chování některých aplikací. Také ty totiž vychází spíše z předpokladu, že uživatelé se chovají slušně, ohleduplně a celkově korektně, a v mnoha ohledech nepodnikají žádná významnější opatření k vynucení potřebné "korektnosti". Jde například o to, že některé služby, které potřebují znát identitu uživatele (například FTP, aby mohl být uživatel přihlášen na vzdáleném FTP serveru, nebo Telnet a další) přenáší příslušné identifikační údaje - uživatelské jméno a heslo - v nezakódované podobě, jako čistý text (a je tudíž velmi jednoduché je odposlechnout). Podobně se další služby příliš nebrání eventuelnímu nekorektnímu chování svých uživatelů - například u elektronické pošty je velmi jednoduché zfalšovat hlavičky a poslat někomu zprávu jménem někoho jiného či někoho zcela smyšleného (třeba jménem ježíška, čerta či anděla).

K celkově nízké úrovni bezpečnosti a spolehlivosti Internetu významně přispívá i jeho neurčitá "vlastnická struktura", kdy Internet jako celek nepatří nikomu konkrétnímu, a své vlastníky (v podobě internetových providerů) mají jen jeho dílčí části. Neexistuje zde tedy žádná jednotná a závazná norma chování a fungování, kterou by někdo konkrétní vydal a dbal na její dodržování v rámci celého Internetu (v jisté míře tomu tak je pouze u technických standardů).