Steganográfia - Rejtett írás

Cikkünk olyan titkos adattovábbítási módszereket tárgyal, ahol magát a titkos kommunikáció tényét is megpróbáljuk elrejteni.

Történelmi elôzmények

A steganográfia görög szó, rejtett, elfedett írást jelent. Módszereinek célja titkos kommunikáció biztosítása. A steganográfia nem azonos a rejtjelzés tudományával , amelyet kriptográfiának is neveznek. A rejtjelzés esetében a potenciális ellenfél észlelheti, tárolhatja, módosíthatja a rejtjeles üzenetet. Az üzenet védelmét az adja, hogy a vevô (és az adón kívül csak ô) rendelkezik egy titkos kulccsal, amely lehetôvé teszi, hogy a vevô a rejtjelzett üzenetet dekódolhassa. A steganográfia fô célkitûzése ezzel szemben az, hogy már az üzenetváltás ténye se legyen észlelhetô az ellenfelek számára.

Mint sok egyéb tudományterületen, itt is a régi görögök tették meg az elsô lépéseket. Hérodotosz nyomán maradt fenn a következô történet; Az ókori Görögországban viasszal bevont írótáblákat használtak. Demeratus értesíteni akarta a spártaiakat, hogy a pezsiai Xerxes meg akarja támadni Görögországot. Hogy megelôzze az üzenet elfogását, a tábláról lekaparta a viaszt, az üzenetet a viasz alatti fára írta, majd visszatette a viaszréteget. Ezen a módon az üzenet átjutott az ellenôrzésen hisz' a tábla üres volt. Közismert az anekdota a futárról akinek leborotválták a haját, s az üzenetet a fejbôrére írták. A futár indulhatott, mihelyt megnôtt a haja. Súlyos hibája a módszernek, hogy az egy idôegységre esô átvitt betûk száma meglehetôsen alacsony.

Természetesen vannak kézenfekvôbb módszerek is. Az egyik legegyszerûbb mód, az ha írott szövegben úgy rejtünk el információt, hogy a mondatok szószámát manipuláljuk. Ha a mondat páros sok szóból áll, az jelentsen nullát, míg a páratlan szószám egyest. Ezen a módon oldalanként 30-40 bit továbbítható. De információt tartalmazhat a szóközök mérete is. Szemmel nehezen felismerhetô az a megoldás is, amikor két kicsit künzô betûtípust használunk, s az információt ezek váltogatása hordozza. S ide tartoznak a gyermekkorunkból ismert, láthatatlan tintát, tejet használó módszerek is. Ezeket a módszereket a második világháború idején széles körben használták. Érdekes történelmi adalék a témához, hogy ugyanebben az idôben az USA postáján keresztül tilos volt keresztrejtvényeket, sakkfeladványokat, és persze rejtjeles szövegeket továbbítani. A cenzorok a steganográfiai módszerek kivédése céljából, újragépeltek leveleket, átfogalmazták az üzeneteket. Állítólag megtörtént egy esetben, hogy a cenzor az 'apa meghalt' üzenetet átfogalmazta az 'apa elhunyt' formára. Hamarosan válasz jött a címzettôl: 'Most akkor meghalt vagy elhunyt?'...

Lehetôségek a modern távközlésben

Napjaink egyre inkább teljesen digitálissá váló távközlési környezete, új távlatokat nyitott a steganográfia módszerei számára. Talán már az eddigi példákból is nyilvánvaló, hogy e módszerek lényege pongyolán fogalmazva az, hogy nagy tömegû lényegtelen információ között elrejtjük a valódi információt hordozó biteket. Kézenfekfô példa az ISDN csatornán folyó telefonbeszélgetés. Rejtsük el az információt úgy, hogy bizonyos idôközönként a legkisebb helyiértékû bitet kicseréljük az elrejtendô információs bittel. Ha elég sok sértetlen byte-ot hagyunk két módosított byte között, a módosítás észlelhetetlen marad.

Hasonló, de esetleg egyszerûbb példa, a digitalizált hangokat tartalmazó VOC, WAV, stb. file-ok módosítása. A digitalizálás lényege, hogy bizonyos idôközönként mintát veszünk a hangból, s az abban a pillanatban mért amplitúdót néhány bittel jellemezve (8, 16) kódoljuk a hangot. Ha ebbe a file-ba, az amplitúdót jellemzô szám legkisebb helyiértékû bitjét átírjuk, akkor a hatás nem lesz füllel érzékelhetô. Természetesen nem szabad túl sok amplitúdóértéket módosítani. A lemezmellékletben található egy voc_in.exe voc_out.exe nevû programpár, amely voc file-okba képes információt beírni, illetve kiolvasni.

Teljesen azonos elvek szerint helyezhetünk el információt digitalizált képekben. Tekintsünk például egy olyan, BMP szerint tárolt képet, ahol egy képpont színét három byte írja le. (Egy-egy byte adja meg a piros, a zöld és a kék színsáv intenzitását.) Ha a legkisebb helyiértékû bitek helyére ültetjük a tárolandó bitjeinket, a képpont színének változása jelentéktelen lesz. A lemezmellékletben található olyan programpár is, amely ilyen BMP file-okba képes információt bevinni. (bmp_in.exe, bmp_out.exe) Nem ilyen jó az eredmény viszont akkor, ha a file palettát használ, ami annyit jelent, hogy pl. egy byte írja le a képpont színét, de az, hogy az adott szám milyen színt jelent azt a file elején egy palettában tárolják. Ekkor ugyanis a változás nem feltétlenül folytonos, kis változás a byte értékében nagy változást is okozhat a képpont színében. Egy nagyon érdekes felhasználási terület a copyright információ beépítése a képbe. Így az onnan gyakorlatilag eltávolíthatatlan, s minden másolat tartalmazni fogja.

Mind a kép mind a hang esetében sokféle módon megválaszthatjuk, hogy mely biteket módosítjuk. Kifinomultabb megoldásokban arra is ügyelnek, hogy a beültetett információ ne változtassa meg az eredeti adatok eloszlását.

Rejtett adatcsatornák kriptográfiai protokollokban

Mindezen ötletes megoldások ellenére a steganográfiát csak mint a kriptográfia kisöccsét tartják számon, igazán értékes adat védelmét nem szokás csak a steganográfia módszereire bízni. A két módszer kombinálható is, tehát a klasszikus módon rejtjelzett szöveg is lehet beépítendô információ. Ekkor a steganográfia a biztonságnak egy újabb rétegét adja.

G. Simmons azonban a kriptográfia területén is felfedezett egy olyan adatátviteli lehetôséget bizonyos digitális aláírás protokollokban, amely a vonalat figyelô ellenfél számára észrevétlen marad.

Tekintsük azt a helyzetet, hogy Alizt és Bélát letartóztatják, és természetesen külön börtönszárnyba kerülnek. Szeretnének kommunikálni, ezért megvesztegetik Zoltánt, a börtönôrt. Zoltán nem akar túl nagy rizikót vállalni, ezért rejtjelzett üzenetet nem továbbít. Aliz és Béla pedig, hogy megakadályozza azt, hogy Zoltán az üzeneteket meghamisítsa, digitálisan aláírja az üzeneteket. Zoltán ezt még elfogadja, de az üzeneteket nemcsak elolvassa, hanem a digitális aláírás érvényességét is ellenôrzi. Aliz és Béla használhatják a steganográfia fent említett módszereit, de ekkor a biztonságuk csak azon tényen nyugszik, hogy Zoltán nem ismeri az általuk alkalmazott módszert. A Simmons által felfedezett észlelhetetlen csatornát használva viszont Aliz rejtett üzenetet tud küldeni Bélának úgy, hogy Zoltán nemcsak elolvasni nem tudja a titkos üzenetet, hanem az üzenetváltás tényét sem észleli. Az ötlet lényege abban rejlik, hogy sok digitális aláírás protokoll megkívánja, hogy a protokoll részeként minden aláíráshoz generáljunk egy véletlen számot, ezzel biztosítva a digitális aláírás változékonyságát. Ha ezt a számot 'irányítva' generáljuk, akkor ezzel információt közölhetünk. Ezt a csatornát még titkossá kell tennünk valamilyen módon. Egy kézenfekvô mód, ha Aliz és Béla választ egy közös és titkos p prímszámot. Ha Aliz a titkos csatornán nullát akar küldeni, akkor addig generál véletlen számokat amíg az kvadratikus maradék lesz modulo p, míg ha egyest akkor a generált számnak kvadratikus nem-maradéknak kell lennie modulo p. (Minden szám vagy kvadratikus maradék, vagy kvadratikus nem-maradék a p-re nézve. Egy könnyen ellenôrizhetô matematikai tulajdonság, amely nemcsak az adott számtól, hanem a p-tôl is függ.) Ezen a módon egy digitális aláírásban csak egy bit küldhetô, de a módszer finomítható.

A fent vázolt titkos kommunikáció beépíthetô például az Ong-Schnorr-Shamir protokollba (feltörték!!), az ElGamal protokollba éppúgy mint az USA-ban frissen szabványosított digitális aláírás (DSS) protokollba. Az RSA alapú aláírás kevésbé alkalmas rá, mert ott nincs feltétlenül szükség véletlen számok generálására. Azonban az RSA aláírás törzsébe is szokás (és hasznos) az üzenet kontrollösszege, s az idôpecsét mellé egy véletlen blokkot beszúrni, amely szintén az alapja lehet a rejtett kommunikációnak.

Következmények

Az észlelhetetlen csatorna elvét sokféleképpen fel lehet használni. Például Aliz az észlelhetetlen csatorna segítségével jelezheti, ha az adott dokumentumot kényszer hatására írta alá. A legfontosabb következménye az észlelhetetlen csatorna létének az hogy a protokollt implementáló programozónak, chipgyártónak lehetôsége vagy arra, hogy az észlelhetetlen csatorna segítségével részletekben kiküldje a digitális aláírás titkos kulcsát. Tehát ha valaki rejtjelzô szoftvert vagy eszközt vásárol, akkor vagy meg kell bízzon a készítôben, vagy pedig költséges bevizsgálásnak veti alá a terméket. Nagy informatikai rendszerek biztonsági vizsgálatánál az egyik legfontosabb szempont az észlelhetetlen csatornák keresése.

(c) Papp Pál , 1996 február