Üdvözlünk a StegoWeb oldalán!

A StegoWeb egy egyszerű kis alkalmazás, amivel a webes adatainkat rejthetjük el szteganográfiai módszerekkel. A szteganográfia lényege, hogy úgy kommunikálunk valakivel, hogy magát a kommunikációnak tényét rejtjük el. Ez tehát az jelenti, hogy miután feltettük a weboldalra a rejtett tartalmat, magának az adatrejtésnek a ténye is titok lesz!

Hogy ez hogyan lehetséges? A StegoWeb nem magában a weboldal tartalmában tárolja el az információt, hanem egy URL rövidítő szolgáltatással valósítja meg a tárolási funkciót. Azonban a folyamat egy jelszót is igényel, amit a rövid URL-t kiválasztásánál, illetve az eltárolt információt tárolásakor használunk fel. Így az információ feloldásakor is szükség van erre: különben az információ tárolási helyét nem fogjuk tudni megtalálni, de még ha meg is találjuk, az erős titkosítás miatt nem sok esélyünk van beletekinteni a tárolt adatokba.

A StegoWeb további előnye, hogy rendkívül könnyen telepíthető, egyszerűen a böngészőn keresztül használhatjuk! Ezt úgy értük el, hogy a StegoWeb-et ún. bookmarklet formában hoztuk létre, és így az alkalmazás a webről töltődik le minden alkalommal. Ez azt is jelenti, hogy a StegoWeb szabad szoftver, azaz forráskódja bárki által megtekinthető, módosítható, vagy akár másik kiszolgálóra áthelyezhető.

A videó megosztásához illeszd az oldaladba a következő kódot:

Az alkalmazás telepítése roppant egyszerű: egyszerűen az alábbi bookmarklet linkeket el kell helyeznünk a böngésző programunk könyvjelzői között.

Miután elhelyeztük a bookmarkleteket, a következő lépésekkel egyszerűen titkosíthatjuk a kívánt oldalon az adatokat.

  1. Adatok kiválasztása. Először is válasszuk ki az adatok kijelölésére szolgáló programot (bal oldali könyvjelző), majd utána válasszuk ki a cserélendő szöveget. Ez a mi esetünkben a „szteganográfia” szó volt a magyar nyelvű Wikipédia bejegyzés oldalán. Ez után még több helyen is végrehajthatjuk ezt a műveletet.
    Adatok kiválasztása
  2. Titkosítás és tárolás. Ha végeztünk, a középső könyvjelzővel elindíthatjuk a kiválasztott adatok tárolását és titkosítását. Ehhez egy jelszóra is szükségünk van, ahogy az alábbi ábra mutatja.
    Titkosítás és tárolás
  3. Adatok kiolvasása. Ezek után értesíthetjük ismerőseinket, hogy melyik oldalt keressék fel, hogyha már a jelszót valamilyen úton-módon eljuttattuk hozzájuk. A visszahelyettesítési funkció a jobb oldali könyvjelzővel indítható el (hasonlóan a fenti képhez, itt is jelszót fog kérni az alkalmazás).
    Adatok kiolvasása

Az alábbi példák olyan oldalakra mutatnak, ahol a StegoWebbel információt rejtettünk el.

  1. Mire tudom a StegoWeb-et használni?

    Például személyes adatok rejtésére, vagy érzékeny információk webre helyezéséhez. Ezen kívül természetesen más célokra is használható; azonban a készítők ilyen demonstrációs céllal hozták létre a StegoWeb alkalmazást.

    A StegoWeb-ről azonban tudni kell, hogy ez csak egy ún. proof-of-concept alkalmazás, amivel a megalkotói egy elvi lehetőséget kívántak demonstrálni, és semmiképp sem tekintendő teljes körű alkalmazásnak.

  2. A készítők láthatják, hogy hol és mit tárolok el?

    Nem. A program csak a böngészőben fut, így a készítők nem férnek hozzá futás közben. Ráadásul a program forráskódja egyszerűen megnézhető, és akár módosítható, másolható is -- így erről könnyen meg lehet győződni.

  3. A megcélzott weboldalon tárolódik az elrejtett információ?

    Nem. Egy harmadik webszolgáltatásban, ún. URL rövidítő szolgáltatásban tároljuk az információt. Hogy az információt ne lehessen egyértelműen megtalálni, a tárolás helyét a jelszó alapján számítjuk ki, és ezen felül még ezzel a jelszóval titkosítjuk az információt -- hogy ha valaki meg is találná, akkor se férhessen hozzá.

  4. Ez mitől szteganográfia?

    A szteganográfia lényege, hogy a kommunikáció tényét rejtjük el. Itt is erről van szó: sem a megcélzott weboldal, sem az URL rövidítő, sem más nem tud a rejtés tényéről.

  5. De akkor az URL rövidítő szolgáltatás lát mindent, nem?

    Nem. Egyrészt "URL szerűen" rejtjük az információt, nem egyértelmű, hogy rejtésről van szó. Másrészt a használt alias hash alapú, így ez alapján nem lehetséges kitalálni, hogy mihez kapcsolódik. Harmadrészt mivel a rejtett információ kódolt, így ehhez sem tud hozzáférni. Ráadásul ha tudná is, hogy honnan használtuk, akkor a jelszót is ismernie kellene (ld. a következő kérdést).

  6. A megcélzott weboldal egyszerűen csak lehallgathatja a jelszót, nem?

    Nem, mert a jelszót csak kliens oldalon használjuk (a böngészőben), így az nem kerül sem hálózatra, sem a kiszolgálóra.

  7. Miben más ez, mintha egy saját szervert húznék fel, és ott tárolnám a rejtendő adatokat?

    Az, hogy az átlag felhasználónak nincs saját szervere. Viszont rengeteg URL rövidítő szolgáltatás létezik, amire így egyszerűbb építeni (pl. cserélhető is, ha szükséges).

  8. Mi van, ha elrejtek egy adatot a Facebook-on, és aztán egyszer csak megváltozik az oldal szerkezete?

    Ciki. :-) Mint említettük, ez csak egy koncepció ismertető alkalmazás. Azonban lehetséges volna egy olyan alkalmazás készítése, ami nem a DOM elhelyezkedés szerint, hanem az adatok valódi helye szerint dolgozik, és erre kevésbé érzékeny.

  9. Miért volt érdekes kérdés a StegoWeb koncepciójával előállni?

    A nyilvános helyen közzétett adatokhoz történő hozzáférés szabályozására alapvetően kétféle koncepció mentén születtek eddig implementációk (egy részüket megemlítjük alul, az irodalomjegyzékben); ezek a rejtjelezés és a hamis adattal történő helyettesítés. Előbbi előnye, hogy gyakorlatilag bármilyen információt védhetünk a segítségével, míg az utóbbi azért célszerű, mert a Web2.0-s szolgáltatók gyakran tiltják a rejtjelezett adatok közzétételét a felhasználási feltételekben. A hamis adattal történő helyettesítés korlátja a magas fokú specializáltság: ha egy közösségi oldalon egy személynevet egy másik személynévvel akarunk kiváltani, akkor szükség van egy minden felhasználó által elérhető személynév-adatbázisra. Hasonlóan, a születési hely elfedéséhez is külön adatbázis kell. És akkor arról nem is beszéltünk, hogy a hamis adatok együtt tényleg egy plauzibilis profilt alkotnak-e... A StegoWeb alapját képező, szteganográfiára épülő algoritmus mindkét koncepció hátrányait kiküszöböli: bármilyen típusú információ védhető vele, jelenléte nem észrevehető a szolgáltató számára, és hatalmas adatbázisok közös használatát sem igényli. Természetesen a szteganográfiának is vannak hátrányai, amelyek közül a legsúlyosabb korlát az elrejthető információ hossza - a StegoWebbel tehát a Háború és békét valószínűleg nem fogjuk tudni elrejteni, egy sor webkettes alkalmazáshoz azonban remekül használható eszköz.

    Irodalom:

    1. Y. Zhu, Z. Hu, H. Wang, H. Hu, and G-J. Anh, “A Collaborative Framework for Privacy Protection in Online Social Networks”
    2. D'Angelo, G., Vitali, F., & Zacchiroli, S., “Content Cloaking: Preserving Privacy with Google Docs and other Web Applications”
    3. R. Baden, A. Bender, N. Spring, B. Bhattacharjee, and D. Starin, “Persona: an online social network with user-defined privacy”
    4. T. Paulik, Á. M. Földes, G. Gy. Gulyás, “BlogCrypt: Private Content Publishing on the Web”
    5. M. Conti, A. Hasani, and B. Crispo, “Virtual private social networks”
    6. NOYB: Posting Secret Messages on the Web, http://adresearch.mpi-sws.org/noyb.html
    7. FireGPG – Welcome to the official website of FireGPG!, http://getfiregpg.org/s/home
    8. A. Tootoonchian, K. K. Gollu, S. Saroiu, Y. Ganjali, A. Ganjali, and A. Wolman, “Lockr: social access control for Web 2.0.”
    9. W. Luo, Q. Xie, and U. Hengartner, “FaceCloak: an architecture for user privacy on social networking sites”
    10. M. M. Lucas and N. Borisov, “FlyByNight: mitigating the privacy risks of social networking”
    11. S. Guha, K. Tang, and P. Francis, “NOYB: privacy in online social networks”

Örömmel fogadunk javaslatot, észrevételt a programunkkal kapcsolatban a következő elérhetőségen.

Elérhetőségünk: stegoweb@pet-portal.eu

A StegoWeb készítői: Besenyei Tamás, Földes Ádám, Gulyás Gábor

A StegoWeb a BME Híradástechnikai Tanszéken készült, a Nemzetközi PET Portál és Blog támogatásával.