Vyšlo v týdeníku CHIPweek č. 36/96, 4. září 1996
Vytištěno z adresy: http://www.earchiv.cz/a96/a636k150.php3

Současné trendy ve světě protokolů TCP/IP (II.)

O dnešním Internetu se velmi často říká, že je málo bezpečný - často až tak málo, že někteří jej zavrhují jako zcela nepoužitelný. Co je ale na tom pravdy, a jak dalece je to dáno vlastnostmi protokolů TCP/IP, na kterých je dnešní Internet postaven?

O problematice bezpečnosti by se dalo povídat velmi dlouho, a bude to vděčný námět na některý z dalších modulů tohoto seriálu. Zde, v tomto modulu o TCP/IP, však máme k dispozici jen jeden díl, a tak se musíme omezit jen na vzájemný vztah protokolů TCP/IP a bezpečnosti. Výtka o malé bezpečnosti, citovaná v podtitulu dnešního dílu a adresovaná Internetu, je totiž ve skutečnosti určena protokolům TCP/IP, na kterých je dnešní Internet postaven a na kterých funguje.

Před odpovědí na tuto výtku je velmi důležité uvědomit si, že vztah protokolů TCP/IP k bezpečnosti nebyl původně žádný. V tom smyslu, že při jejich vzniku nebyly otázky bezpečnosti součástí zadání, a tak ani nebyly řešeny. Autoři TCP/IP se proto soustředili na jiné otázky (celkovou efektivnost a flexibilitu, viz předchozí díly), a není příliš na místě jim to vytýkat. Podívejme se raději na to, v čem doopravdy spočívá „absence bezpečnostního cítění" v protokolech TCP/IP.

TCP/IP vytváří nezabezpečený přenosový kanál

Snad nejvíce bývá zdůrazňován fakt, že přenosové sítě na bázi TCP/IP představují pouze nezabezpečený přenosový kanál. To je pravda, neboť takovéto sítě (až do úrovně síťové vrstvy, a to včetně) negarantují:

  • že se žádná data neztratí či alespoň nepoškodí (nezajišťují spolehlivý přenos)
  • že se data nemohou dostat do nepovolaných „rukou"

První aspekt jsme v tomto modulu již vícekrát diskutovali. Je řešitelný poměrně snadno (přímo v rámci TCP/IP například protokolem TCP na úrovni transportní vrstvy), a z hlediska bezpečnosti není příliš „bolestivý". Zato druhý aspekt je mnohem „bolestivější" - po technické stránce nebývá příliš těžké „napíchnout" nějakou přenosovou cestu a monitorovat po ní přenášená data. Samotný protokol IP, který se stará o přenos těchto dat na úrovni síťové vrstvy, se nesnaží je nějak kódovat, šifrovat či jinak upravovat. Pokud se pak takováto data dostanou do nepovolaných rukou, je relativně snadné odvodit si jejich význam.

Obrana proti tomu je ale v principu jednoduchá - „když vím, že mám k dispozici pouze nezabezpečený přenosový kanál, nepřenáším po něm nezabezpečené zprávy". Místo toho je třeba přenášet citlivé zprávy v takové podobě, aby bylo v zásadě jedno, jestli se dostanou někomu nepovolanému do rukou či nikoli. Tedy zprávy vhodným způsobem zakódované, tak aby pro případného nepovolaného příjemce neměly žádnou cenu.

Dnes již existuje velmi mnoho technik, které dokáží zajistit dostatečně účinné zakódování jakýchkoli dat. Dostatečně účinné v tom smyslu, že případnému nepovolanému příjemci by dalo neúnosně mnoho práce, než by je dokázal rozluštit. O principech a myšlenkách, na kterých jsou tyto techniky postaveny, si ale budeme moci povědět až v samostatném modulu. Zde jen malou poznámku o tom, že jde obecně o tzv. šifrování, angl. encryption.

Ve světě TCP/IP lze lhát

Dalším faktorem, který protokolům TCP/IP nepřidává na bezpečnosti, je jejich dosti velká „důvěřivost", zvláště pak na aplikační úrovni. Například u elektronické pošty je relativně velmi snadné odeslat určitou zprávu jménem někoho jiného, nebo třeba i pod úplně smyšleným jménem. Dalším příkladem může být tolik oblíbená služba WWW, která sice pamatuje na potřebu ověřování identity uživatele (tzv. authentizaci) a v případě potřeby podporuje práci s uživatelskými hesly a jmény, ale přenáší je po síti v nezakódované podobě!

Dokud byly aplikační protokoly TCP/IP používány především v akademickém světě, nebyla případná bezpečnostní rizika zase až tak významná. Jakmile se ale Internet, fungující na bázi TCP/IP, začal používat i ke komerčním účelům, situace se radikálně změnila. Například u důležitější obchodní korespondence (ale nejen té) je jistě velmi potřebné mít jistotu, že konkrétní zpráva pochází od toho, kdo se vydává za jejího autora (a stejně tak je žádoucí mít možnost mu prokázat, že tuto zprávu skutečně odeslal - co když se třeba jedná o závaznou objednávku). Nehledě pak na požadavky, které na současný Internet kladou různé strategie placení elektronickou cestou.

I v této oblasti dnes existují mechanismy a techniky, které jsou schopné uspokojit i relativně velmi přísné nároky na zabezpečení. Jejich praktickému nasazení však stojí v cestě celá řada překážek, charakteru:

  • administrativně-politického: některé země (např. USA) považují některé „silnější" zabezpečovací techniky za strategické, a zakazují jejich export mimo své území (kam pak mohou být exportovány např. jen jejich „slabší" verze, které zase ale neskýtají dostatečnou míru zabezpečení)
  • ekonomického a obchodního: některé firmy mohou dávat přednost jedné konkrétní technologii, jiné firmy jiným technologiím, a výsledkem je vzájemná nekompatibilita jejich produktů
  • technického: mnohé zabezpečovací technologie nejsou ještě dostatečně vyzrálé, a schopné přejít do stadia běžného nasazení
  • implementačního: mnohdy není zcela jasné, jak mají být příslušné technologie implementovány.

Podívejme se nyní podrobněji na tuto poslední otázku, která se tématu tohoto dílu týká nejvíce.

Bezpečnost pro všechny, nebo jen pro někoho?

Ve světě TCP/IP se až dosud objevily dva základní přístupy k implementaci zabezpečovacích mechanismů. Hlavní rozdíl mezi nimi přitom znovu oživuje základní filosofické dilema, které již jednou museli vyřešit jak autoři TCP/IP, tak i autoři referenčního modelu ISO/OSI. Jde o otázku zda určité prostředky (zde: zabezpečovací mechanismy) mají být k dispozici všem, nebo jen těm, kteří je skutečně potřebují.

První případ - zabezpečovací mechanismy pro všechny - nutně vede na zavedení samostatné „zabezpečovací vrstvy". Takovýto návrh pochází od firmy Netscape, a jmenuje se SSL (Secure Sockets Layer). Je založen na myšlence, že do rozhraní mezi sítí a aplikací se vloží nová vrstva, která překryje původní nezabezpečený přenosový subsystém, sama zajistí potřebné zabezpečovací mechanismy, a svým uživatelům (tj. jednotlivým aplikacím) nabídne iluzi že pracují v prostředí zabezpečené sítě. Výhodou je skutečnost, že aplikace se nemusí měnit (a nemusí si samy uvědomovat existenci zabezpečovacích mechanismů, resp. vycházet jim vstříc). Podpora rozhraní SSL je dnes již standardně zabudovávána například do všech browserů Navigator firmy Netspace.

Alternativním přístupem, ve stylu „bezpečnost jen pro někoho", je zabudovat příslušné zabezpečovací mechanismy přímo do konkrétní aplikace, která zabezpečení vyžaduje. Výhodou je pak to, že příslušné mechanismy mohou být lépe !ušity na míru" potřebám příslušné aplikace a jejím specifickým požadavkům. Příkladem může být protokol S-HTTP (Secure HTTP), pocházející od firmy EIT (Enterprise Integration Technology), a dnes prosazovaný sdružením TERISA. Zde jde ve své podstatě o nadstavbu nad protokolem HTTP, resp. o rozšíření jeho stávající verze.

Předpovídat, zda se v budoucnosti jedna z uvedených variant prosadí tak, aby druhou zcela vytlačila, je prakticky nemožné. Současný stav, kdy významní producenti softwaru oznamují svou podporu oběma variantám současně, svědčí spíše o možné koexistenci.

Má budoucnost jméno SET?

Jednou z velmi aktuálních skupin aplikací, které se zabezpečením doslova stojí a padají, jsou aplikace umožňující provádět nejrůznější transakce v on-line režimu, prostřednictvím Internetu. Nejčastěji pak transakce finanční, které by umožňovaly například nakupování a přímé placení prostřednictvím Internetu, provádění bankovních operací na dálku atd. Tato oblast byla až dosud reprezentována zejména aplikacemi umožňujícími placení prostřednictvím běžných kreditních karet (i když ve skutečnosti šlo jen o přenos potřebných údajů typu čísla karty a jejího PIN-u, zatímco vlastní transakce probíhala jinými kanály). Ještě nepříliš dávno se v této oblasti prosazovaly dvě alternativní koncepce (za jednou z nich stála firma VISA, a za druhou firma Mastercard). Dnes se ale zdá, že došlo k velmi důležitému posunu - obě větve se sloučily v jednu jedinou technologii, nazvanou SET (Secure Electronic Transactions). Že by právě zde byla budoucnost všech bezpečných on-line transakcí?

Zatím je navrhovaná technologie SET samostatnou technologií, která formálně není součástí rodiny protokolů TCP/IP. Pokud se ale skutečně prosadí, lze očekávat že se její součástí stane - že její specifikace úspěšně projdou „standardizační mašinérií" světa TCP/IP, a ten tuto technologii přijme za svou.