Steganografia digikuvissa Mika Aho DIGI2004 / TITE 28.4.2006
Steganografia digikuvissa
Mika AhoDIGI2004 / TITE
28.4.2006
Sisällys
• Mitä steganografia on?• Taustaa steganografialle• Steganografia ympärillämme - nykypäivää• Toimintamenetelmät visuaalisessa mediassa• Analyysi – havaitseminen ja poistaminen• Vesileima • Johtopäätökset
Mitä steganografia on?
• Johdettu kreikan kielen sanoista ”stegos” ja ”graphia”, tarkoittaa peitettyä kirjoitustapaa
• Steganografian tavoitteena on piilottaa viestit toisten, harmittomilta näyttävien viestien sisään"Since everyone can read, encoding text in neutral sentences is doubtfully effective” …Secret inside
• Perinteisiä menetelmiä mm.– näkymättömät musteet
– mikropistetekniikka
• Voidaan lisäksi myös suojata
Taustaa steganografialle
• Taustat yleensä aina sidottu sodankäyntiin tai politiikkaan• Käytetty vuosituhansien ajan, esim. Kreikan pelastuminen
Persian valtaukselta– viestit tatuoitu orjien päähän
• Toinen maailmansota ja kylmä sota oli steganografian kulta-aikaa– saksalaisten mikropistetekniikka
– postishakki, ristisanatehtävät, neulontaohjeet
– radiolähetykset, kukkalähetykset
– Iso-Britannian tekstinkäsittelylaitteet ja vakoojat
Steaganografia ympärillämme - nykypäivää
• Piratismin estäminen/tekijänoikeus• Mainonta• Seuranta/osoitus: esim. röntgenkuvaus• Käyttämämme dokumentit, esim. word dokumentit ja
digikameran kuvat• Rikollisjärjestöt, terrorismi ja huumekauppa• Populaarikulttuuri
– Da Vinci -koodi
Kuvien tallennuksesta
• Taulukko joka kuvaa RGB-arvoja jokaiselle pikselille• Yleensä 8- tai 24-bittisiä• 24-bittisissä kuvissa on paljon tilaa tiedon
tallennukseen, mutta ovat suuria ja yleensä pakattuja• 8-bittiset ovat parempia piilotetun tiedon tallennukseen• Kansikuvan (cover image) valinta on tärkeää• Paras vaihtoehto harmaasävykuvat• Ihmisen näkökyvyn hyväksikäyttö
Toimintamenetelmät visuaalisessa mediassa
– vähiten merkitsevien bittien korvaaminen– maskaus ja filtteröinti– muuntokoodaukseen perustuvat menetelmät
LSB – Vähiten merkitsevien bittien korvaaminen
• Esimerkkinä 24-bittinen kuva• Lisättävä data: kirjain ‘A’: (10000011)• Tarvitaan 3 pikseliä tallentamaan yksi 8 bittinen kirjain• Pikselit valitaan perustuen avaimella alustettavaan pseudogeneraattoriin 00100111 11101001 11001000
00100111 11001000 11101001 11001000 00100111 11101001
Lisätään ‘A’
00100111 11101000 1100100000100110 11001000 1110100011001001 00100111 11101001
• Tutkimusten mukaan keskimäärin 50% vähiten merkitsevistä pikseleistä muuttuu• Ihmissilmä ei huomaa muutosta vaikka data piilotettaisiin 2. vähiten merkitsevään• Data ei ole kuitenkaan tilastollisesti enää samanlaista• Kohinan lisääntyminen• Väripaletin uudelleenjärjestäminen (esim. GIF)
LSB:n aiheuttamat muutokset kuvaan
4 LSB muutos aiheuttaarengastumia
6 bittiä
7 bittä
8 bittä
Maskaus ja filtteröinti
• Data piilotetaan eniten merkitseviin bitteihin• Piilodatan sisältävät pikselit on valittu kuvan analysoinnin avulla• Esim. Luminanssin käyttö• Data paremmin suojassa pakkaamiselta ja muokkaukselta
• Käytetään laajalti digitaalisessa vesileimauksessa ja sormenjälkitunnistuksessa
• Lisäksi käytetään piilotettaessa kuva toisen sisään
Maskaus ja filtteröinti
• Peittopikseli : 01011100
• Salaisen kuvan pikseli: 11101010
• Resultanttipikseli: 01011101 (3+5)
• Jokaisen pikselin osuus voi vaihdella halutun vaikutuksen aikaansaamiseksi
+
=
SALAISTA
8-bittinen harmaasävykuva (256 väriä)
Maskaus ja filtteröinti
Alkuperäinen kuva Irroitettu kuva
• Uhrataan 2 bittiä peittokuvasta sisältämään 2 bittiä salaista kuvaa
Maskaus ja filtteröinti
• Uhrataan 5 bittiä peittokuvasta sisältämään 5 bittiä salaista kuvaa
Alkuperäinen kuva Irroitettu kuva
Muunnoskoodausmenetelmät
• Matemaattinen operaatio, joka muuntaa tietyssä sarjassa olevat luvut toiseen, ominaisuuksiltaan edullisempaan sarjaan säilyttäen alkuperäisen informaation
• Kasvatetaan pakkaussuhdetta koodaamalla dataa kuvaavia kertoimia erillisten pikselien pakkaamisen sijaan
• Tavoitteena saada kertoimet riittävän pieniksi– Voidaan jättää pakkauksesta pois
8x8 Pixel Block
Discrete Cosine Transformation Quantizer
Binary Encoder 100100…
Diskreetti..mikä??
• Diskreetti kosinimuunnos
• Muuntaa 8x8 blokit 64 DCT kertoimiksi• ENSIMMÄINEN kerroin on kaikkein tärkein
• Diskreetit kertoimet piilottavat datan vähiten merkitseviin bitteihin• DCT-muunnoksessa tieto leviää laajalle kuvan tilatasossa salaisen datan
havaitseminen vaikeaa• Kestää hyvin prosessointia vastaan• Yleensä tarvitaan kuitenkin myös alkuperäinen kuva
122
cos122
cos),(4),(2
21
0
1
0 1
121
1 2
jN
ki
N
kjiAkkB
N
i
N
j
41 30
1826
98 -6
24
Kvantisointi
• Hukkaava tiivistys• Arvot kasvavat alaspäin mentäessä
• Kvantisoitu arvo = Round ( DCT / QUA )• JPEG = Ei välitetä nollista
98 -6
24
3 11
179
DCT QUA
33 -1
00
VALUE
33 -1
JPG
Binääriksi
• Muunnos binaariksi siksakkissa
33 -1
0 0
0100001000000010000010000000
Kuvien analysointi, steganografian havaitseminen
• Paras tapa uudelleenkirjoittaa tai uudelleenmääritellä• Kuvat
– Käytetään häviöllistä pakkausta
– Rajataan kuva uudelleen, muutetaan palettia, värejä, kirkkautta...
Piilotetun viestin havaitseminen
Vesileimat
• Kuvan vesileima =– Digitaalinen signaali
– Kuvaan sijoitettu kuvio
• On sekä näkyviä että näkymättömiä vesileimoja• Ehkä paras tekniikka on naamiotiedoston käyttö
– Mielellään samat värialueet
Digimarc
• Vesileimateknologioiden johtava toimittaja• Plugneita mm. Windowsiin, PhotoShopiin• Vesileima kertoo:
– Omistajuuden
– Kuvan ID:n
– Kuvan sisällön – p0rnoo yms.
Yhteenveto
• Paljon kehitystä ja rajattomat mahdollisuudet– Varsinkin yksityisyyden säilyttämisessä verkon yli
– Digitaalisten teosten tekijänoikeudet
• Väärinkäyttö• Sovellettuna kryptografiaan erittäin tehokas työkalu
– Mallory ei edes tiedä, että on olemassa jonkinlaista kommunikaatiota
• Tulevaisuuden sovellukset todennäköisesti digitaalisissa vesileimoissa