Steganografija – tai mokslas, nagrinėjantis informacijos slėpimą kituose duomenyse. Steganografija yra viena iš kriptologijos šakų, šalia kriptografijos ir kriptoanalizės. Steganografijoje duomenys yra ne užšifruojami, o slepiamas pats informacijos perdavimo faktas, t. y. apie vertingos informacijos buvimą perduodamuose duomenyse gali nutuokti tik siuntėjas ir gavėjas.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia
tik entuziazmo.
Terminas steganografija kilęs iš graikiškų žodžių „steganos“, reiškiančio „neatskleidžiamas“, ir „graphein“, reiškiančio „rašyti“. Taigi šį terminą galima būtų pervadinti „neatskleidžiamu rašymu“ arba paprasčiau „slaptu rašymu“.
Steganografija yra gana senas slaptų pranešimų siuntimo būdas, pirmą kartą paminėtas ir pradėtas naudoti dar antikos laikais senovės Graikijoje. Pirmieji įrašai buvo daromi daugkartinio naudojimo vaškinėse lentelėse. Tik slaptas įrašas buvo darome ne vaško sluoksnyje, o ant lentelės medinio pagrindo ir tada apliejamas vašku. Kitas žinomas būdas, slaptų įrašų darymas ant žmogaus kūno. Nuskutus plaukus, buvo padaroma tatuiruotė, kurios nebesimatydavo plaukams ataugus. Įrašui pamatyti reikėjo vėl nuskusti plaukus.
Vėliau steganografija po truputį vystėsi, bet šis mokslas buvo siejamas ne su matematika, o labiau su chemija. Iki XX a. labiausiai paplitęs steganografijos būdas buvo nematomas rašalas: nuo paties paprasčiausio pieno, kuris išryškėdavo pakaitinius lapą, iki itin sudėtingos struktūros rašalų, kurie matydavosi tik paveikus atitinkamomis cheminėmis medžiagomis.
Antrojo pasaulinio karo metu šnipai, keisdamiesi informacija, naudodavo mikrotaškus, išspausdintus ant specialaus popieriaus. Šiuose taškuose buvo galima sutalpinti labai daug informacijos, o juos pastebėti buvo įmanoma tik tiksliai žinant kur jų reikia ieškoti.
Visi šie paminėti metodai yra fizinės steganografijos dalis. Šiuolaikinėje steganografijoje taikomi kur kas sudėtingesni informacijos slėpimo būdai, paremti įvairiais matematiniais metodais.
Moderniosios skaitmeninės steganografijos pradžia laikoma 1983 m., kai G.Simmons‘as savo straipsnyje suformulavo taip vadinamą „kalinių problemą“. Alisa ir Bobas (mėgstami kriptologų personažai) yra kalėjime ir nori suplanuoti pabėgimą iš jo. Vienintelis būdas jiems bendrautis yra per prižiūrėtoją Vandą. Vanda savo ruožtu perdavinės pranešimus tik tol, kol juose ji nepastebės galimų pabėgimo planų ruošimo. Atrodytų, kad šiuo atveju galima naudoti kriptografinius metodus susirašinėjimo konfidencialumui užtikrinti. Tačiau, jei pranešimas bus užšifruotas, Vanda gali priversti Alisą ar Bobą iššifruoti pranešimą savo raktais ir įrodyti, kad ten nėra nieko apie pabėgimo planus.
Šiame scenarijuje galimybė bendrauti konfidencialiai atsiranda naudojant steganografinius metodus. Tada Vanda pirmiausiai turėtų aptikti ar perduodamame pranešime yra įterpta kokia nors paslėpta informacija ir tik po to bandyti ją išgauti. Alisa ir Bobas visada gali paslėpti kokį nors papildomą nereikšmingą pranešimą prie savo planų ir reikalui esant atskleisti tik jį.
Besivystant informacinėms technologijoms steganografija imta taikyti elektroninėje erdvėje. Šiuo metu labiausiai paplitę metodai, susiję su informacijos slėpimu vaizdo ir garso duomenyse. Šis slėpimas yra paremtas žmogaus pojūčių savybėmis, t. y. nedideli atspalvio ar garso lygio pokyčiai yra tiesiog nepastebimi.
Dauguma paveikslėlių yra failai, kuriuose aprašomas kiekvieno vaizdo taško (pikselio) šviesumo ar spalvingumo intensyvumas. Slepiant informaciją paveikslėlyje nežymiai koreguojama būtent ši informacija. Kadangi dabartiniuose paveikslėliuose atspalvių gali būti keli milijonai, tai plika akimi tiesiog neįmanoma pastebėti šių pokyčių.
Pavyzdžiui, iš pirmo žvilgsnio atrodytų, kad 1 paveiksle yra pateikta vienodos žalios spalvos juosta. Tačiau iš tikrųjų, ji yra sudaryta iš septynių vienodų kvadratų ir gretimų kvadratų spalvos kodai RGB koduotėje (kiekviena spalva reiškiama raudonos, žalios ir mėlynos spalvos intensyvumais) skiriasi per vieną bitą. Šie pokyčiai yra labai nežymūs, ir be specialios įrangos juos pastebėti labai sunku.
Sugretinus pirmąjį ir paskutinįjį kvadratus (2 pav.), spalvos pokytis jau žymesnis, tačiau čia spalvų kodai labiau ir skiriasi (skiriasi po tris žemiausius bitus).
Paprasčiausias būdas informaciją paslėpti nuotraukoje – įterpti žemiausios skilties bitą (ŽSB, angl. LSB). Remiantis šiuo metodu, slaptą informaciją dvejetainiu pavidalu galima paslėpti priedangai skirtoje nuotraukoje pakeitus kiekvieno baito ŽSB. Pasirinkus 24 bitų spalvingumą (kiekvienai iš trijų spalvų skiriama po 1 baitą), pokyčiai būtų minimalūs ir akimi beveik nepastebimi. Pavyzdžiui, trys šalia esantys pikseliai (9 baitai) užkoduoti tokiu RGB formatu:
Tarkime, reikia paslėpti 9 bitus informacijos – 101101100. Šiais bitais perrašius prieš tai minėtų taškų ŽSB, gaunamas toks rezultatas (pasikeitusi informacija paryškinta):
Svarbu pastebėti, jog buvo paslėpti 9 informacijos bitai, pakeitus tik 5 bitus. Tokiu pat būdu informaciją galima slėpti ir 8 bitų spalvingumo failuose, tačiau priedangai skirtos nuotraukos pokyčiai bus labiau pastebimi.
Nuotraukose galima slėpti įvairią informaciją, net ir kitas nuotraukas. Pateikiame pavyzdį (3 pav.), kuriame pakeisti kiekvienos spalvos komponento paskutiniai du bitai. Prilyginę nuliui pradinės nuotraukos pirmuosius šešis bitus, gautume beveik juodą nuotrauką, tačiau ją pašviesinę 85 kartus išvystume visai kitą rezultatą.
Norint gauti didesnį efektyvumą, rekomenduojama prieš paslepiant duomenis, juos suglaudinti. Tokiu būdu bus galima paslėpti daugiau informacijos viename paveikslėlyje ir netgi gauti geresnį saugumą. Paprastas tekstas ar paveikslėlis turi tam tikras statistines savybes (pvz., raidžių dažniai). Glaudinimas šiuo atveju padeda tas savybes užmaskuoti ir padaryti duomenis panašesnius į atsitiktinius.
Siekiant dar didesnio saugumo, steganografija dažnai derinama su kriptografija: iš pradžių informacija užšifruojama, o paskui paslepiama.
Daugiau apie informacijos apsaugą kviečiame skaityti Matematikos ir gamtos mokslų fakulteto (buvusio Fundamentaliųjų mokslų fakulteto) puslapyje, skirtame kriptologijai http://crypto.fmf.ktu.lt/.
Asist. Kęstutis Lukšys Taikomosios matematikos katedra, Fundamentaliųjų mokslų fakultetas, Kauno technologijos universitetas
Pasidalinkite su draugais
Aut. teisės: www.technologijos.lt
Autoriai: Kęstutis Lukšys