CarrierEdit
Kantaja on signaali, virta tai datatiedosto, johon kätketty tieto kätketään tekemällä hienovaraisia muutoksia. Esimerkkejä ovat äänitiedostot, kuvatiedostot, asiakirjat ja suoritettavat tiedostot. Käytännössä kantoaineen pitäisi näyttää ja toimia samalla tavalla kuin alkuperäinen, muokkaamaton kantoaine, ja sen pitäisi vaikuttaa hyvänlaatuiselta kaikille sitä tarkastaville.
Tietyt ominaisuudet voivat herättää epäilyn siitä, että tiedosto sisältää piilotettua dataa:
- Jos piilotettu data on suurta suhteessa kantoaineen sisältöön, kuten megatavun kokoinen tyhjä asiakirja.
- Käytetään vanhentuneita formaatteja tai huonosti tuettuja laajennuksia, jotka rikkovat yleisesti käytettyjä työkaluja.
Salauksen edellytyksenä on, että kantaja-aineisto (esim. valokuva) on originaali eikä kopio jostain julkisesti saatavilla olevasta aineistosta (esim, ladattu). Tämä johtuu siitä, että julkisesti saatavilla olevaa lähdetietoa voitaisiin verrata versioon, johon on upotettu piilotettu viesti.
Se on heikompi vaatimus, että upotettu viesti ei saa muuttaa kantoaineen tilastoja (tai muita mittareita) siten, että viestin läsnäolo on havaittavissa. Jos esimerkiksi kuvan punaisen kamerapikselikanavan vähiten merkitsevillä biteillä on Gaussin jakauma, kun otetaan huomioon vakiovärikenttä, yksinkertainen kuvasteganografia, joka tuottaa näiden bittien satunnaisjakauman, voisi mahdollistaa stegokuvien erottamisen muuttumattomista kuvista.
Nykyaikaisen (n. 2014) ja älyttömän suuren kaistanleveyden omaavan median pelkkä määrä (esim, youtube.com, bittorrent-lähteet. eBay, Facebook, roskaposti jne.) tarjoaa runsaasti mahdollisuuksia salattuun viestintään.
ChainEdit
Kätketty data voidaan jakaa joukon tiedostojen kesken, jolloin syntyy kantoketju, jolla on se ominaisuus, että kaikkien kantoketjujen on oltava käytettävissä, niitä ei saa muuttaa ja niitä on prosessoitava oikeassa järjestyksessä kätketyn datan hakemista varten. Tämä lisäturvaominaisuus saavutetaan yleensä seuraavasti:
- käyttämällä erilaista alustusvektoria kullekin kantoaineelle ja tallentamalla se käsiteltyjen kantoaineiden sisään -> CryptedIVn = Crypt( IVn, CryptedIVn-1 )
- käyttämällä erilaista salausalgoritmia kullekin kantajalle ja valitsemalla se ketjujärjestyksestä riippuvaisella ekviprobabilistisella algoritmilla
Robustisuus ja kryptografiaEdit
Steganografiavälineillä pyritään varmistamaan robustisuus nykyaikaisia rikosteknisiä menetelmiä vastaan, kuten tilastollinen steganalyysi. Tällainen kestävyys voidaan saavuttaa tasapainoisella yhdistelmällä:
- virtapohjainen kryptografiaprosessi;
- tiedonvalkaisuprosessi;
- koodausprosessi.
Jos tieto havaitaan, kryptografia auttaa myös minimoimaan siitä aiheutuvan vahingon, koska tieto ei paljastu, ainoastaan se, että salaisuus on lähetetty. Lähettäjä voi joutua purkamaan tiedon salauksen, kun se on havaittu, mutta kieltävää salausta voidaan käyttää hyväksi, jotta purettu tieto näyttäisi hyvänlaatuiselta.
Vahva steganografiaohjelmisto perustuu monikerroksiseen arkkitehtuuriin, jossa on syvä, dokumentoitu peittämisprosessi.
KantajamoottoriMuutos
Kantajamoottori on minkä tahansa steganografiatyökalun ydin. Eri tiedostomuotoja muokataan eri tavoin, jotta niiden sisälle voidaan piilottaa salaa piilotettua tietoa. Käsittelyalgoritmeja ovat muun muassa:
- Syöttö (epäilyttävää sisällöstä riippumattoman tiedostokoon kasvattamisen vuoksi)
- Generointi (epäilyttävää generoitujen kantoaineiden jäljitettävyyden vuoksi)
- Liitetiedon ja metatiedon korvaaminen
- LSB- tai adaptiivinen korvaaminen
- Taajuusavaruuden manipulointi
.