Steganografie - způsob komunikace zítřka
Zkomplikujme život našim šmírákům!
29.11.2001 Technická poradna Témata: Počítače 1415 slov
V pátém století př.n.l. věznil král Darius řeckého tyrana (tehdy slovo tyran mělo úplně jiný, pozitivní význam) Histiaea. Histiaeus potřeboval odeslat tajně zprávu svému zeti Aristagorovi do Anatolianu, kde tento přebýval. Histiaeus nechal vyholit hlavu svému otrokovi a na ni nechal zprávu vytetovat. Otrok se vydal na cestu teprve až mu vlasy dorostly. Dnes můžeme říct, že (za předpokladu, že pověst je pravdivá) Histiaeus poprvé doložitelně použil steganografii.
Steganografie je metoda, jak uschovat odesílanou zprávu tak, že není nápadná. V odborné literatuře se často nahrazuje slovo "metoda" slovem "umění". Nejsem si zcela jistý, zda se steganografie poněkud nepovyšuje, ale budiž. Řekněme tedy, že je to umění uschovat předávanou zprávu. Píšete-li neviditelným inkoustem mezi řádky normálního textu, používáte steganografii.
Důležité je rozlišit mezi šifrováním a steganografii. Jde o dvě různé věci. Zprávu můžete ukrýt tak, aby nebyla patrná, ale zpráva sama nemusí být šifrována. Steganografie je jen další bezpečnostní opatření navíc. V situacích, kdy je nutno zprávu maximálně zabezpečit, je určitě vhodná. Nic nebrání tomu, aby utajená zpráva byla navíc šifrována a většina steganografických programů to také dělá. Ten, kdo zprávu objeví, bude muset ještě zlomit její šifru.
V nejistých dobách, jako je tato, kdy se všechny vlády světa a většina korporací snaží slídit a šmírovat obyčejné občany, dostává steganografie nový smysl. Přestává to být pubertální hra na Jamese Bonda a začíná to být nezbytnost. Zakážou-li vlády světa šifrovací programy, nebo je zmrzačí tak, aby se do nich dostaly, bude steganografie vítaným dalším stupínkem, překážkou, kterou budou muset policajti všech zemí louskat navíc - mimo tu vlastní šifru.
Řekněme si ale rovnou, že ani steganografie není bezproblémová a nezajišťuje bezchybné doručení. Dostanu se k tomu za okamžik. Nejprve něco o tom, jak se dnes nejčastěji steganografuje.
Namísto vyholené hlavy otroka (kde dnes vzít otroka, který by si nechal vyholit hlavu?) se jako nosič informace používá digitální obrázek nebo film, či zvuková nahrávka, ale může to být i cokoliv jiného, např. textový soubor, nebo program. Bez ohledu na použitou metodu (a je jich několik) platí, že velikost tajné zprávy by měla být mnohem menší než její nosič. Většinou se udává hranice do 10 procent, ale některé zdroje uvádějí i padesát - v určitých případech. Jde o to, že informace se přihrává k původnímu nosiči ve formě šumu (v případě prostého textu formou tzv. bílých mezer na konci řádků) - a ten nemůže být příliš velký, protože by narušil kvalitu - ať už zvukovou nebo obrazovou - původní nahrávky.
Steganografie funguje s využitím dvou nedokonalostí. Tou první je skutečnost, že jak grafické obrázky, tak i zvukové nahrávky snesou jistou degradaci (šum), aniž by došlo ke zničení jejího obsahu. Totéž se nedá říct o jiných počítačových souborech - ty musí být naopak přesné (uváděl-li jsem v předchozím odstavci příklad počítačového programu, jako možného hostitele tajné informace, tak to sice je pravda, ale současně platí, že tam je také zpráva nejrychleji odhalitelná. Přidává se totiž někam do programu jako jednolitý blok bitů. Je to pochopitelné - nesmí narušit funkčnost programu. V grafických a zvukových nahrávkách se zpráva rozprostře, takže je mnohem hůře zjistitelná).
Tou druhou nedokonalostí jsou naše vlastní smysly. Ani lidské oko a ani ucho není schopno tyto nedokonalosti zachytit.
Digitální formáty obrázků jsou v podstatě dvojí: komprimované a pevné. Mezi komprimované patří např. oblíbený a nejrozšířenější JPEG, mezi pevné patří TIFF a BMP. Nechci zde zabíhat do příliš mnoha technických detailů, vydalo by to na celou knížku. Koho to zajímá, nechť navštíví stránku digineff.cz, kde se o tom dočte více. Pro steganografii platí, že lépe se uschovávají zprávy do pevných formátů, než do komprimovaných. Jednak jsou soubory s pevnými formáty mnohem větší, takže umožňují pohltit větší zprávu, jednak je zpráva méně náchylná k případné ztrátě. A dostáváme se k nejpodstatnějšímu problému s počítačovou steganografií. Stačí totiž i nejjednodušší editační zásah do souboru obsahujícího tajnou zprávu, např. zmenšení obrázku nebo otočení o 90° a zpět - a ukrytá zpráva bude nenávratně pryč. O přidání kontrastu nebo jasu ani nemluvě. Proč? Protože každá taková úprava obrázku znamená, že se sekvence bajtů tvořících obrázek "prožene" určitým matematickým algoritmem a ten nenávratně posune hladinu šumu někam za hranici rozluštitelnosti. Totéž platí o zvukové nebo filmové nahrávce.
Pevné formáty jsou poněkud méně náchylné ke ztrátě tajné informace. Opět záleží na použité metodě a na tom, co bylo s obrázkem děláno. Téměř stoprocentně lze "zrušit" tajnou informaci tím, že podezřelý obrázek konvertujeme do jiného formátu a zpět. Např. z TIFF do JPEG a zpátky do TIFF. Na kvalitě obrázku se to nepozná, ale tajnou zprávu už z něj nikdo nikdy nedostane.
Budete-li vybírat obrázek pro uložení steganografické informace, snažte se vybrat takový, který neobsahuje příliš mnoho velkých čistých ploch v jedné barvě (např. modrou oblohu). Naopak, čím více roztříštěných detailů, tím lépe. Ideální jsou např. obrázky vodopádů nebo listoví stromů.
Tento obrázek je "čistý". Neobsahuje žádnou tajnou zprávu. Velikost souboru je 11 kBy. | A tento obrázek obsahuje 2kBy soubor uložený pomocí steganografie. Velikost souboru je 13 kBy. |
Na konci několik odkazů na steganografický software. Než se k tomu dostaneme, podívejte se, jak takový obrázek s tajnou informací vypadá. První obrázek je "čistý", tedy neobsahuje žádnou steganografickou informaci. V druhém je zakódován obsah článku, který vyšel v MF před rokem o tom, že vysocí muži to mají u žen lehčí. K zakódování jsem použil Photolacer firmy Mindrigger Technology. Chcete-li si pohrát, stáhněte si příslušný software a zkuste si zprávu přečíst. Heslo je 12345678. Můžete si i zasoutěžit. Komu se to podaří první, necht přeložený text uveřejní zde pod článkem v komentářích čtenářů.
A zde je několik dalších slíbených odkazů:
- Steganos 3 je komerční software německé stejnojmenné firmy. Velikost 13,3 MB. Zkoušel jsem to. Na můj vkus je to až příliš těžký kalibr. Obsahuje možnosti vytvořit virtuální disk chráněný heslem, tento disk pak rozložit do obrázků nebo audio souborů. Mimo to umožňuje odesílat šifrované e-maily, destruktivní vymazávání souborů, cookies manager a další bezpečnostní software. Stojí 50 dolarů, ale lze si stáhnout trial verzi, tedy testovací verzi, která vám bude fungovat 30 dnů zdarma.
- Scramdisk/DriveCrypt používá velmi silnou 256 bitovou šifru, která je v podstatě dnes nerozluštitelná ani metodou brutal force. Hlavním zaměřením software je ovšem bezpečná úschova souborů na vlastním PC. To, že jedno z možných uložení je do zvukových souborů WAV formou steganografie, je pouze něco, jako vedlejší produkt. Scramdisk je svou funkčností podoben předchozímu programu Steganos 3. Program přijde na 40 dolarů. Firma rovněž nabízí 30 denní trial verzi.
- Digital Picture Envelope je freeware, velikost 1,3 MB. Nepodařilo se mi jej rozjet - tuhne. Už při návštěvě těchto stránek chtěl prohlížeč instalovat japonské fonty. Některé popisy v programu jsou opravdu ještě japonsky. Pokud by ho jeho japonští autoři byli schopni zprovoznit, zdá se, že by mohl šikovně pracovat - má sympatické uživatelské rozhraní. Jako nosiče informace používá BMP soubory.
- WbStego dokáže používat jako nosič BMP, PDF, RLE, HTM a dokonce TXT soubory. Stojí 20 dolarů, třicetidenní trial verze je navíc omezena tím, že uloženou informaci nelze zašifrovat.
Pro experimentování se steganografii si můžete stáhnout jednoduchý program Jphswin zde ve Zvědavci z rubriky Doporučený software. Nevyžaduje žádnou instalaci, funguje docela spolehlivě. V případě, že jej budete chtít používat ke skutečnému utajení zpráv, doporučuji nedůvěřovat šifrovacímu mechanismu Jphswin a raději zprávu předem zašifrovat - nejlépe pomoci PGP.