Steganografie - způsob komunikace zítřka

Článek na Zvědavci (http://www.zvedavec.org)

URL adresa článku:
http://www.zvedavec.org/techpor/2001/11/216-steganografie-zpusob-komunikace-zitrka.htm

Vladimír Stwora

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ů.

[bez zašifrované informace][obsahuje text o velikosti 2kB]
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.
V souvislosti se steganografií se někdy hovoří o vodoznacích. Opravdu jde o podobný princip, i když použití vodoznaků je jiné. Vodoznak je vlastně značka Copyright, kterou si firma, vlastnící digitální dílo (obrázek, zvukovou nahrávku) do tohoto díla tajně uloží formou steganografie. Na obrázku nebo při poslechu to nepoznáte. Ale může se vám stát, že na svůj WEB umístíte např. obrázek z Playboye (které jsou všechny copyrighted a obsahují vodoznaky) a někdo na to upozorní. Playboy vás zažaluje a u soudu prokáže, že jste mu obrázek ukradl. Důkazem bude přítomnost jejich vodoznaků na vašem obrázku na WEBu. Z toho plyne poučení: chcete-li na svůj WEB obrázek z Playboye (nebo jakýkoliv jiný), nezapomeňte jej nejprve "prohnat" nějakou jednoduchou digitální editací (zvětšení, zmenšení, konverze, apod.). Tím téměř jistě vodoznak zrušíte. (Ne abyste mě udali, že vás navádím krást!)

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ů:

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.

Článek byl publikován 29.11.2001


© 2020-1999 Vladimír Stwora
Článek je možno dále šířit podle licence Creative Common.