1
Steganografia
ModernaTecniche per la manipolazione delle informazioni digitali nascoste
Michele Arcuri
Corso di Sistemi di elaborazione dell’informazione: Sicurezza
A.A. 2001/2002
2
Argomenti Trattati
 Introduzione alla Steganografia Moderna:
• Classificazione delle diverse tecniche;
• Il Sistema Steganografico Completo;
 Alcune Tecniche Steganografiche:
• Panoramica delle principali tecniche basate
sulla Steganografia Sostitutiva applicate a:
 Immagini;
 Suoni;
• Breve cenno ad alcuni possibili utilizzi;
3
Steganografia - Classificazione
 Steganografia Iniettiva:
Tecniche che consentono di “iniettare” il messaggio segreto all’interno di
un messaggio contenitore;
• Steganografia Sostitutiva;
• Steganografia Aggiuntiva;
 Steganografia Generativa:
Tecniche per generare messaggi contenitori utilizzando il messaggio
segreto per pilotare il processo;
• Steganografia Selettiva;
• Steganografia Costruttiva;
4
Steganografia Sostitutiva
 Le tecniche di questo tipo sono di gran lunga le più diffuse.
 Osservazione: la maggior parte dei canali di comunicazione
trasmettono segnali accompagnati da un qualche tipo di
rumore (es. in trasmissioni radio).
 L’obbiettivo, quindi, diventa sostituire tale rumore con il
messaggio segreto, in modo tale da renderlo indistinguibile
dal rumore vero e proprio.
 Nel caso della steganografia moderna, viene sfruttato il
processo di conversione analogico/digitale che si applica a
tutte le informazioni dei vari media (audio e video).
 Tale processo effettua delle approssimazioni che sono quasi
del tutto ignorate da un generico utente, ma che possono
essere usate per i nostri scopi.
5
Steganografia Aggiuntiva
 Lavorando in campo digitale, si può aggiungere delle
informazioni in coda a un file senza modificarne il proprio
header, risultando così del tutto invisibile all’applicazione
che lo gestisce (es. un documento MsWord).
 Lo svantaggio è che ciò aumenta le dimensioni del file
contenitore ed è, quindi, facilmente individuabile con
algoritmi di controllo su file.
 D’altronde queste tecniche sono molto semplici da applicare
e si posso adoperare per qualunque tipo di documento
contenitore, come ad esempio i programmi, senza alterarne
le informazioni in esso contenute e, quindi, il suo corretto
funzionamento.
 Usato insieme a tecniche crittografiche, risulta abbastanza
efficiente per nascondere informazioni all’interno di un
sistema di calcolo.
6
Steganografia Selettiva
 L’idea base consiste di procedere a tentativi nell’effettuare
una stessa misura fintanto che il risultato non soddisfa una
certa condizione.
 Esempio estremamente banale:
Presa un’immagine in formato digitale e volendo codificare
un’informazione di un singolo bit, imponiamo come condizione
che tale valore sarà 0, se tutti i bit uguali a 1 che compongono
la nostra immagine è in numero pari.
Dunque, usando uno scanner, effettuiamo una serie di tentativi
con la stessa immagine finché non otteniamo il risultato
voluto.
 Il risultato così ottenuto è perciò un immagine “naturale”
sopravvissuta semplicemente a un processo di selezione.
 Tuttavia tali sistemi sono troppo dispendiosi rispetto alla
quantità di informazioni codificabili.
7
Steganografia Costruttiva
 Si tenta di sostituire il rumore presente nel medium utilizzato con
l’informazione segreta opportunamente modificata in modo da
imitare le caratteristiche statistiche del rumore originale.
 Quindi, secondo tale concezione,
un buon sistema steganografico dovrebbe basarsi su un
modello del rumore e adattare i parametri dei suoi algoritmi di
codifica in modo tale che il “falso rumore”, contenente il
messaggio segreto, sia il più possibile conforme al modello.
 Approccio valido ma non senza svantaggi:
• Difficile creare il modello di un rumore;
• Probabile che qualcuno possa generare modello più accurato con il quale
distinguere la differenza tra originale e sostituto.
• Se il modello del rumore utilizzato dal metodo dovesse cadere in mano ad un
attaccante, potrebbe essere usato per verificare se un messaggio è conforme ad
esso, fornendo involontariamente così un metodo di attacco particolarmente
efficiente (Problema: il modello del rumore è parte integrante del sistema).
8
Steganografia - Problematiche
 Facile individuazione di informazioni nascoste:
• Molti file presentano informazioni che li rendono
facilmente riconoscibili (l’intento è quello di semplificare
il lavoro dell’applicazione che li gestisce) e semplificano
un ipotetico attacco.
• Se i dettagli di implementazione di un algoritmo sono
resi pubblici, permettono controlli e tecniche di attacco
molto efficaci.
 Facile reversibilità delle tecniche:
• Una volta individuata la presenza di un messaggio
segreto, basta applicare procedimento inverso per poter
accedere allo stesso.
9
Principio di Kerckhoff
 La sicurezza di un sistema steganografico deve basarsi sull’ipotesi
che il nemico abbia piena conoscenza dei dettagli di progetto e
implementazione del sistema stesso; la sola informazione di cui il
nemico non può disporre è una sequenza (corta) di numeri casuali
– la chiave segreta – senza la quale, osservando un canale di
comunicazione, non deve avere neanche la più piccola possibilità
di verificare che è in corso una comunicazione nascosta.
 Quindi, mentre la crittografia fallisce il suo scopo quando
un’attaccante legge il contenuto del messaggio, la
steganografia, invece, fallisce quando l’attaccante si rende
semplicemente conto che esiste un messaggio segreto
all’interno del documento contenitore, pur non potendolo
leggere.
10
Sistema Steganografico Completo
 Opportuno che un messaggio crittografato, prima di essere immerso nel contenitore,
venga “camuffato” in modo da diventare difficilmente distinguibile dal semplice
rumore presente.
 In tal modo applicando il procedimento inverso, ma non disponendo della chiave
giusta, non si accederà alle informazioni nascoste e non si potrà neppure capire se il
fallimento è dovuto alla chiave oppure, verosimilmente, al fatto che non è presente
nessun messaggio segreto.
Messaggio
Segreto
1. Crittografia
2. Steganografia
Messaggio
Contenitore
Messaggio
Contenitore
+
Messaggio
Segreto
11
Caratteristiche di un S.S.C.
 Impercettibilità:
Le informazioni nascoste devono essere praticamente
invisibili all’interno del documento contenitore e le
alterazioni effettuate a quest’ultimo devono apparire il
meno possibile;
 Capacità:
Bisogna poter inserire (ragionevolmente) il maggior
numero di informazioni all’interno del contenitore senza
che questo pregiudichi eccessivamente l’impercettibilità
del messaggio segreto;
 Robustezza:
Il sistema deve poter resistere al maggior numero delle
eventuali manipolazioni eseguite sul contenitore;
12
Steganografia Sostitutiva
Approfondimenti sulle
Principali Tecniche
13
Immagini - Introduzione
 Osservazioni:
• Il sistema visivo umano possiede numerose “pecche”
sfruttabili dalla steganografia:
 Bassa sensibilità ai piccoli cambiamenti della luce;
 Relativa insensibilità alla presenza di chiaro-scuro intorno
ad un’immagine (effetto vignetta);
• Tuttavia, la quantità di informazioni che si possono
nascondere risulta essere piuttosto bassa:
 Ad esempio un’immagine a 8-bit (256 colori) di 200x200
pixel permette di lavorare solo con 40kB;
• Inoltre, le immagini possono essere facilmente alterate
mediante trasformazioni a cui le informazioni nascoste
dovrebbero resistere;
14
Immagini - Patchwork
 Idea:
• Presi due punti qualsiasi A e B e posto a la luminosità del punto A e b
quella del punto B allora la differenza della luminosità S ( S = a – b )
sarà pari a zero, o meglio ripetendo un gran numero di volte tale
misurazione otterremo il risultato zero.
• Il metodo del Patchwork modifica artificialmente il valore di S di alcuni
punti in maniera però da lasciare inalterato il valore complessivo.
 Algoritmo:
• Usando una chiave si scelgono “casualmente” i vari punti A e B che
conterranno le informazioni da nascondere;
• Si incrementa di δi il valore di ai del punto Ai corrispondente;
• Si decrementa di δi di il valore di bi del rispettivo punto Bi ;
• Si ripete l’operazione per gli n bit da codificare;
15
Immagini - Patchwork
 Vantaggi:
• Resistenza a molti attacchi;
• Robustezza nei confronti di molti algoritmi di
compressione delle immagini;
 Miglioramenti:
• Usando aree piuttosto che singoli punti, si ha
l’effetto di ammorbidire il rumore prodotto e di
renderlo più resistente ai filtri e agli algoritmi
Lossy (ovvero con perdita di informazioni);
16
Immagini – Texture Block Coding
 Idea:
• Nascondere le informazioni copiando delle regioni di una
immagine con un “pattern” particolare in aree simili
della stessa;
• Sfrutta alcune tecniche di steganografia selettiva;
 Algoritmo:
• Scelto un blocco tale per cui le caratteristiche risultano
contenere le informazioni volute (es. il contorno di un
marchio);
• Si ricopia tale blocco in un’altra area dell’immagine, che sia il
più simile possibile, sostituendone la precedente;
• Attraverso un’operazione di autocorrelazione tra l’immagine e
se stessa, laddove le regioni sono uguali, si evidenziano i
blocchi contenenti le informazioni nascoste;
17
 Vantaggi:
• Siccome le due regioni sono identiche, saranno
modificate allo stesso modo quando l’immagine subirà
delle trasformazioni uniformi;
• Dunque, il metodo risulta resistente a questo tipo di
alterazioni;
 Svantaggi:
• Attualmente si richiede l’assistenza di un operatore
umano per valutare l’effetto visivo;
• Queste tecniche non funzionano con immagini che
possiedono solo piccole regioni simili;
Immagini – Texture Block Coding
18
Audio - Introduzione
 Osservazioni:
• L’orecchio umano è molto sensibile ai rumori;
• Tuttavia, presenta dei varchi disponibili:
 I suoni acuti tendono a mascherare quelli bassi;
 Inoltre, non è in grado di percepire la fase assoluta,
ma solo quella relativa;
 Infine, molte delle distorsioni nei suoni sono talmente
comuni che vengono ignorate;
19
Audio - Introduzione
 Consideriamo l’ambiente:
• Rappresentazione Digitale:
 Utilizzo di metodi di campionamento che distorcono il
segnale audio;
 Utilizzo di algoritmi di compressione Lossy che
preservano solo le caratteristiche che l’ascoltatore
percepisce;
• Ambiente di Trasmissione:
 La trasmissione di un segnale audio dalla sorgente al
destinatario (digitale, analogico, attraverso l’aria)
influenza lo stesso in maniera diversa;
 Tutto ciò influenza il messaggio nascosto;
20
Audio – Phase coding
 Idea:
• Si sostituisce la fase di un segmento audio con una fase
ottenuta dal messaggio nascosto;
• I segmenti adiacenti vengono poi aggiustati per mantenere la
fase relativa tra i segmenti;
 Algoritmo:
• Si spezza un suono in una serie di N segmenti;
• Applicando la trasformata di Fourier discreta (DFT) si crea la
matrice delle fasi e quella delle ampiezze;
• Posto l’incremento della fase di ±∏/2 come la rappresentazione
dei valori 0 e 1, si modifica la matrice delle fasi;
• Infine, usando la matrice delle fasi modificata e quella delle
ampiezze si ricrea il segnale applicando l’inversa della
trasformata di Fourier;
21
Audio – Phase coding
 Risultati:
• La modifica della fase può generare nel
segnale sonoro una leggera distorsione
avvertibile dall’ascoltatore;
• Per ridurla si può rendere il passaggio tra le
fasi più morbido;
• Ciò comporta che si riduca la quantità di
informazione codificabile (da un massimo di 32
a 8 bit per secondo);
22
Audio – Spread Spectrum
 Idea:
• Codificare un flusso di informazioni distribuendolo su tutto lo
spettro delle frequenze, permettendo, quindi, la ricezione del
segnale anche in presenza di interferenze;
• Il metodo si basa sul Direct Sequence Spread Spectrum
(DSSS) che codifica un suono moltiplicandolo per una
frequenza pseudorandom;
 Algoritmo:
• Si sceglie una chiave (un rumore pseudorandom idealmente
simile al rumore bianco) in modo che applicata all’informazione
codificata trasformi la sequenza sonora in una di tipo Spread
Spectrum;
• Il messaggio segreto viene moltiplicato per l’onda sonora
contenitore e per la chiave, ottenendo così che lo spettro dei
dati viene distribuito su tutta la banda;
• Infine, una volta attenuato viene aggiunto al file originario
come ulteriore rumore;
23
Audio – Spread Spectrum
 Risultati:
• Si introduce un rumore al suono il che implica
l’uso di algoritmi di riduzione per lo stesso in
modo da renderlo non udibile;
• La combinazione di semplici tecniche ripetitive
e codici per correzione di errori assicura
l’integrità delle informazioni nascoste;
• La capacità offerta dal sistema si aggira
nell’ordine di circa 4 bit per secondo;
24
Audio – Echo Data Hiding
 Idea:
• Si inserisce un eco in un segnale audio;
• Attraverso l’ampiezza e la distanza rispetto al segnale
originario si codifica il messaggio segreto;
 Algoritmo:
• Si definiscono δ0 e δ1 come le attese dell’eco rispetto al segnale per
codificare rispettivamente i bit 0 e 1;
• Si divide il suono in piccoli segmenti uno per ogni bit da nascondere;
• A questo punto si creano due eco E0 e E1 con attese δ0 e δ1;
• E0 viene filtrato con un segnale mixer che annulla i segmenti in cui va
inserito il valore 1 e in E1 si filtra annullando i segmenti con valore 0;
• A questo punto si ricompone il tutto;
• La decodifica si basa sul determinare le distanze dell’eco rispetto al
suono originario;
25
Audio – Echo Data Hiding
 Risultati:
• L’eco introdotto è percepito dall’ascoltatore
come risonanza che arricchisce il suono;
• Quindi con una minima alterazione, il segnale
non possiede significative differenze rispetto
alla versione originale;
• Esistono casi in cui la risonanza così ottenuta è
un problema per il tipo di sequenza sonora
usata come contenitore, bisogna quindi
applicare ulteriori filtri di raffinamento;
• Le informazioni memorizzabili in questo modo
sono di circa 16 bit per secondo;
26
Steganografia Sostitutiva - Utilizzi
 Digital Watermark:
• Si tratta di un “marchio” aggiunto a un documento
digitale che permette di identificarne l’autore;
• Di solito, si tratta di pochi bit da codificare, ma che
devono essere distribuiti su tutto il documento;
• Inoltre, devono essere molto difficili da rimuovere;
 Tamper-proofing:
• L’obbiettivo è capire se un documento digitale è stato
modificato oppure no;
• Bisogna usare tecniche che tollerino le piccole alterazioni
(es. il bilanciamento audio di un suono), ma non quelle
“pesanti” (es. l’aggiunta di una persona in una foto);
27
Steganografia Sostitutiva - Utilizzi
 Feature Tagging:
• Si codificano informazioni descrittive del documento
digitale o di parte di esso (es. il nome di alcune persone
presenti in una fotografia o di un luogo) senza che siano
immediatamente visibili;
• Le informazioni così inserite dovrebbero resistere finché
l’area a cui appartengono non è rimossa;
• Non si necessita delle stesse caratteristiche di sicurezza
di un watermark;
28
Conclusione
 Le tecniche steganografiche hanno ottenuto sempre molto
successo e ancora di più con l’avvento di internet.
 Tuttavia, il rapporto tra dati codificati e costi
computazionali, si pensi al sistema steganografico
completo, risulta nettamente sfavorevole per l’impiego
massiccio nella comunicazione tra sistemi di calcolo.
 Non a caso le ricerche nel campo steganografico si dirigono
più verso usi come quello dei watermark, che al campo
della trasmissione di informazioni.
 Infatti, pur esistendo metodi molto affascinanti per la
comunicazione (es. alcune tecniche generative basate su
grammatiche complesse), questo ramo risulta ancora
dominato di gran lunga dalle tecniche crittografiche che
garantiscono anche una maggior sicurezza.
29
Referenze
 Libri:
• “Crittografia Invisibile”, Peter Wayner 1997.
• “Codici e Segreti”, Simon Singh, 1999.
 Articoli:
• “Techniques for data hiding”, W.Bender & D.Gruhl & N.Morimoto & A.Lu, 1996.
• “A steganographic framework for reference colour based encoding and cover
image selection”, R. Rosenbaum & H.Schumann, 2000.
• “Modulation and Information Hiding in Images”, J.R.Smith & B.O.Comiskey,1996.
 Siti Web:
• http://utenti.tripod.it/tritemio/
• http://members.tripod.com/steganography/stego.html
• http://www.cl.cam.ac.uk/~fapp2/steganography/
• http://citeseer.nj.nec.com/cs/

Lucidi

  • 1.
    1 Steganografia ModernaTecniche per lamanipolazione delle informazioni digitali nascoste Michele Arcuri Corso di Sistemi di elaborazione dell’informazione: Sicurezza A.A. 2001/2002
  • 2.
    2 Argomenti Trattati  Introduzionealla Steganografia Moderna: • Classificazione delle diverse tecniche; • Il Sistema Steganografico Completo;  Alcune Tecniche Steganografiche: • Panoramica delle principali tecniche basate sulla Steganografia Sostitutiva applicate a:  Immagini;  Suoni; • Breve cenno ad alcuni possibili utilizzi;
  • 3.
    3 Steganografia - Classificazione Steganografia Iniettiva: Tecniche che consentono di “iniettare” il messaggio segreto all’interno di un messaggio contenitore; • Steganografia Sostitutiva; • Steganografia Aggiuntiva;  Steganografia Generativa: Tecniche per generare messaggi contenitori utilizzando il messaggio segreto per pilotare il processo; • Steganografia Selettiva; • Steganografia Costruttiva;
  • 4.
    4 Steganografia Sostitutiva  Letecniche di questo tipo sono di gran lunga le più diffuse.  Osservazione: la maggior parte dei canali di comunicazione trasmettono segnali accompagnati da un qualche tipo di rumore (es. in trasmissioni radio).  L’obbiettivo, quindi, diventa sostituire tale rumore con il messaggio segreto, in modo tale da renderlo indistinguibile dal rumore vero e proprio.  Nel caso della steganografia moderna, viene sfruttato il processo di conversione analogico/digitale che si applica a tutte le informazioni dei vari media (audio e video).  Tale processo effettua delle approssimazioni che sono quasi del tutto ignorate da un generico utente, ma che possono essere usate per i nostri scopi.
  • 5.
    5 Steganografia Aggiuntiva  Lavorandoin campo digitale, si può aggiungere delle informazioni in coda a un file senza modificarne il proprio header, risultando così del tutto invisibile all’applicazione che lo gestisce (es. un documento MsWord).  Lo svantaggio è che ciò aumenta le dimensioni del file contenitore ed è, quindi, facilmente individuabile con algoritmi di controllo su file.  D’altronde queste tecniche sono molto semplici da applicare e si posso adoperare per qualunque tipo di documento contenitore, come ad esempio i programmi, senza alterarne le informazioni in esso contenute e, quindi, il suo corretto funzionamento.  Usato insieme a tecniche crittografiche, risulta abbastanza efficiente per nascondere informazioni all’interno di un sistema di calcolo.
  • 6.
    6 Steganografia Selettiva  L’ideabase consiste di procedere a tentativi nell’effettuare una stessa misura fintanto che il risultato non soddisfa una certa condizione.  Esempio estremamente banale: Presa un’immagine in formato digitale e volendo codificare un’informazione di un singolo bit, imponiamo come condizione che tale valore sarà 0, se tutti i bit uguali a 1 che compongono la nostra immagine è in numero pari. Dunque, usando uno scanner, effettuiamo una serie di tentativi con la stessa immagine finché non otteniamo il risultato voluto.  Il risultato così ottenuto è perciò un immagine “naturale” sopravvissuta semplicemente a un processo di selezione.  Tuttavia tali sistemi sono troppo dispendiosi rispetto alla quantità di informazioni codificabili.
  • 7.
    7 Steganografia Costruttiva  Sitenta di sostituire il rumore presente nel medium utilizzato con l’informazione segreta opportunamente modificata in modo da imitare le caratteristiche statistiche del rumore originale.  Quindi, secondo tale concezione, un buon sistema steganografico dovrebbe basarsi su un modello del rumore e adattare i parametri dei suoi algoritmi di codifica in modo tale che il “falso rumore”, contenente il messaggio segreto, sia il più possibile conforme al modello.  Approccio valido ma non senza svantaggi: • Difficile creare il modello di un rumore; • Probabile che qualcuno possa generare modello più accurato con il quale distinguere la differenza tra originale e sostituto. • Se il modello del rumore utilizzato dal metodo dovesse cadere in mano ad un attaccante, potrebbe essere usato per verificare se un messaggio è conforme ad esso, fornendo involontariamente così un metodo di attacco particolarmente efficiente (Problema: il modello del rumore è parte integrante del sistema).
  • 8.
    8 Steganografia - Problematiche Facile individuazione di informazioni nascoste: • Molti file presentano informazioni che li rendono facilmente riconoscibili (l’intento è quello di semplificare il lavoro dell’applicazione che li gestisce) e semplificano un ipotetico attacco. • Se i dettagli di implementazione di un algoritmo sono resi pubblici, permettono controlli e tecniche di attacco molto efficaci.  Facile reversibilità delle tecniche: • Una volta individuata la presenza di un messaggio segreto, basta applicare procedimento inverso per poter accedere allo stesso.
  • 9.
    9 Principio di Kerckhoff La sicurezza di un sistema steganografico deve basarsi sull’ipotesi che il nemico abbia piena conoscenza dei dettagli di progetto e implementazione del sistema stesso; la sola informazione di cui il nemico non può disporre è una sequenza (corta) di numeri casuali – la chiave segreta – senza la quale, osservando un canale di comunicazione, non deve avere neanche la più piccola possibilità di verificare che è in corso una comunicazione nascosta.  Quindi, mentre la crittografia fallisce il suo scopo quando un’attaccante legge il contenuto del messaggio, la steganografia, invece, fallisce quando l’attaccante si rende semplicemente conto che esiste un messaggio segreto all’interno del documento contenitore, pur non potendolo leggere.
  • 10.
    10 Sistema Steganografico Completo Opportuno che un messaggio crittografato, prima di essere immerso nel contenitore, venga “camuffato” in modo da diventare difficilmente distinguibile dal semplice rumore presente.  In tal modo applicando il procedimento inverso, ma non disponendo della chiave giusta, non si accederà alle informazioni nascoste e non si potrà neppure capire se il fallimento è dovuto alla chiave oppure, verosimilmente, al fatto che non è presente nessun messaggio segreto. Messaggio Segreto 1. Crittografia 2. Steganografia Messaggio Contenitore Messaggio Contenitore + Messaggio Segreto
  • 11.
    11 Caratteristiche di unS.S.C.  Impercettibilità: Le informazioni nascoste devono essere praticamente invisibili all’interno del documento contenitore e le alterazioni effettuate a quest’ultimo devono apparire il meno possibile;  Capacità: Bisogna poter inserire (ragionevolmente) il maggior numero di informazioni all’interno del contenitore senza che questo pregiudichi eccessivamente l’impercettibilità del messaggio segreto;  Robustezza: Il sistema deve poter resistere al maggior numero delle eventuali manipolazioni eseguite sul contenitore;
  • 12.
  • 13.
    13 Immagini - Introduzione Osservazioni: • Il sistema visivo umano possiede numerose “pecche” sfruttabili dalla steganografia:  Bassa sensibilità ai piccoli cambiamenti della luce;  Relativa insensibilità alla presenza di chiaro-scuro intorno ad un’immagine (effetto vignetta); • Tuttavia, la quantità di informazioni che si possono nascondere risulta essere piuttosto bassa:  Ad esempio un’immagine a 8-bit (256 colori) di 200x200 pixel permette di lavorare solo con 40kB; • Inoltre, le immagini possono essere facilmente alterate mediante trasformazioni a cui le informazioni nascoste dovrebbero resistere;
  • 14.
    14 Immagini - Patchwork Idea: • Presi due punti qualsiasi A e B e posto a la luminosità del punto A e b quella del punto B allora la differenza della luminosità S ( S = a – b ) sarà pari a zero, o meglio ripetendo un gran numero di volte tale misurazione otterremo il risultato zero. • Il metodo del Patchwork modifica artificialmente il valore di S di alcuni punti in maniera però da lasciare inalterato il valore complessivo.  Algoritmo: • Usando una chiave si scelgono “casualmente” i vari punti A e B che conterranno le informazioni da nascondere; • Si incrementa di δi il valore di ai del punto Ai corrispondente; • Si decrementa di δi di il valore di bi del rispettivo punto Bi ; • Si ripete l’operazione per gli n bit da codificare;
  • 15.
    15 Immagini - Patchwork Vantaggi: • Resistenza a molti attacchi; • Robustezza nei confronti di molti algoritmi di compressione delle immagini;  Miglioramenti: • Usando aree piuttosto che singoli punti, si ha l’effetto di ammorbidire il rumore prodotto e di renderlo più resistente ai filtri e agli algoritmi Lossy (ovvero con perdita di informazioni);
  • 16.
    16 Immagini – TextureBlock Coding  Idea: • Nascondere le informazioni copiando delle regioni di una immagine con un “pattern” particolare in aree simili della stessa; • Sfrutta alcune tecniche di steganografia selettiva;  Algoritmo: • Scelto un blocco tale per cui le caratteristiche risultano contenere le informazioni volute (es. il contorno di un marchio); • Si ricopia tale blocco in un’altra area dell’immagine, che sia il più simile possibile, sostituendone la precedente; • Attraverso un’operazione di autocorrelazione tra l’immagine e se stessa, laddove le regioni sono uguali, si evidenziano i blocchi contenenti le informazioni nascoste;
  • 17.
    17  Vantaggi: • Siccomele due regioni sono identiche, saranno modificate allo stesso modo quando l’immagine subirà delle trasformazioni uniformi; • Dunque, il metodo risulta resistente a questo tipo di alterazioni;  Svantaggi: • Attualmente si richiede l’assistenza di un operatore umano per valutare l’effetto visivo; • Queste tecniche non funzionano con immagini che possiedono solo piccole regioni simili; Immagini – Texture Block Coding
  • 18.
    18 Audio - Introduzione Osservazioni: • L’orecchio umano è molto sensibile ai rumori; • Tuttavia, presenta dei varchi disponibili:  I suoni acuti tendono a mascherare quelli bassi;  Inoltre, non è in grado di percepire la fase assoluta, ma solo quella relativa;  Infine, molte delle distorsioni nei suoni sono talmente comuni che vengono ignorate;
  • 19.
    19 Audio - Introduzione Consideriamo l’ambiente: • Rappresentazione Digitale:  Utilizzo di metodi di campionamento che distorcono il segnale audio;  Utilizzo di algoritmi di compressione Lossy che preservano solo le caratteristiche che l’ascoltatore percepisce; • Ambiente di Trasmissione:  La trasmissione di un segnale audio dalla sorgente al destinatario (digitale, analogico, attraverso l’aria) influenza lo stesso in maniera diversa;  Tutto ciò influenza il messaggio nascosto;
  • 20.
    20 Audio – Phasecoding  Idea: • Si sostituisce la fase di un segmento audio con una fase ottenuta dal messaggio nascosto; • I segmenti adiacenti vengono poi aggiustati per mantenere la fase relativa tra i segmenti;  Algoritmo: • Si spezza un suono in una serie di N segmenti; • Applicando la trasformata di Fourier discreta (DFT) si crea la matrice delle fasi e quella delle ampiezze; • Posto l’incremento della fase di ±∏/2 come la rappresentazione dei valori 0 e 1, si modifica la matrice delle fasi; • Infine, usando la matrice delle fasi modificata e quella delle ampiezze si ricrea il segnale applicando l’inversa della trasformata di Fourier;
  • 21.
    21 Audio – Phasecoding  Risultati: • La modifica della fase può generare nel segnale sonoro una leggera distorsione avvertibile dall’ascoltatore; • Per ridurla si può rendere il passaggio tra le fasi più morbido; • Ciò comporta che si riduca la quantità di informazione codificabile (da un massimo di 32 a 8 bit per secondo);
  • 22.
    22 Audio – SpreadSpectrum  Idea: • Codificare un flusso di informazioni distribuendolo su tutto lo spettro delle frequenze, permettendo, quindi, la ricezione del segnale anche in presenza di interferenze; • Il metodo si basa sul Direct Sequence Spread Spectrum (DSSS) che codifica un suono moltiplicandolo per una frequenza pseudorandom;  Algoritmo: • Si sceglie una chiave (un rumore pseudorandom idealmente simile al rumore bianco) in modo che applicata all’informazione codificata trasformi la sequenza sonora in una di tipo Spread Spectrum; • Il messaggio segreto viene moltiplicato per l’onda sonora contenitore e per la chiave, ottenendo così che lo spettro dei dati viene distribuito su tutta la banda; • Infine, una volta attenuato viene aggiunto al file originario come ulteriore rumore;
  • 23.
    23 Audio – SpreadSpectrum  Risultati: • Si introduce un rumore al suono il che implica l’uso di algoritmi di riduzione per lo stesso in modo da renderlo non udibile; • La combinazione di semplici tecniche ripetitive e codici per correzione di errori assicura l’integrità delle informazioni nascoste; • La capacità offerta dal sistema si aggira nell’ordine di circa 4 bit per secondo;
  • 24.
    24 Audio – EchoData Hiding  Idea: • Si inserisce un eco in un segnale audio; • Attraverso l’ampiezza e la distanza rispetto al segnale originario si codifica il messaggio segreto;  Algoritmo: • Si definiscono δ0 e δ1 come le attese dell’eco rispetto al segnale per codificare rispettivamente i bit 0 e 1; • Si divide il suono in piccoli segmenti uno per ogni bit da nascondere; • A questo punto si creano due eco E0 e E1 con attese δ0 e δ1; • E0 viene filtrato con un segnale mixer che annulla i segmenti in cui va inserito il valore 1 e in E1 si filtra annullando i segmenti con valore 0; • A questo punto si ricompone il tutto; • La decodifica si basa sul determinare le distanze dell’eco rispetto al suono originario;
  • 25.
    25 Audio – EchoData Hiding  Risultati: • L’eco introdotto è percepito dall’ascoltatore come risonanza che arricchisce il suono; • Quindi con una minima alterazione, il segnale non possiede significative differenze rispetto alla versione originale; • Esistono casi in cui la risonanza così ottenuta è un problema per il tipo di sequenza sonora usata come contenitore, bisogna quindi applicare ulteriori filtri di raffinamento; • Le informazioni memorizzabili in questo modo sono di circa 16 bit per secondo;
  • 26.
    26 Steganografia Sostitutiva -Utilizzi  Digital Watermark: • Si tratta di un “marchio” aggiunto a un documento digitale che permette di identificarne l’autore; • Di solito, si tratta di pochi bit da codificare, ma che devono essere distribuiti su tutto il documento; • Inoltre, devono essere molto difficili da rimuovere;  Tamper-proofing: • L’obbiettivo è capire se un documento digitale è stato modificato oppure no; • Bisogna usare tecniche che tollerino le piccole alterazioni (es. il bilanciamento audio di un suono), ma non quelle “pesanti” (es. l’aggiunta di una persona in una foto);
  • 27.
    27 Steganografia Sostitutiva -Utilizzi  Feature Tagging: • Si codificano informazioni descrittive del documento digitale o di parte di esso (es. il nome di alcune persone presenti in una fotografia o di un luogo) senza che siano immediatamente visibili; • Le informazioni così inserite dovrebbero resistere finché l’area a cui appartengono non è rimossa; • Non si necessita delle stesse caratteristiche di sicurezza di un watermark;
  • 28.
    28 Conclusione  Le tecnichesteganografiche hanno ottenuto sempre molto successo e ancora di più con l’avvento di internet.  Tuttavia, il rapporto tra dati codificati e costi computazionali, si pensi al sistema steganografico completo, risulta nettamente sfavorevole per l’impiego massiccio nella comunicazione tra sistemi di calcolo.  Non a caso le ricerche nel campo steganografico si dirigono più verso usi come quello dei watermark, che al campo della trasmissione di informazioni.  Infatti, pur esistendo metodi molto affascinanti per la comunicazione (es. alcune tecniche generative basate su grammatiche complesse), questo ramo risulta ancora dominato di gran lunga dalle tecniche crittografiche che garantiscono anche una maggior sicurezza.
  • 29.
    29 Referenze  Libri: • “CrittografiaInvisibile”, Peter Wayner 1997. • “Codici e Segreti”, Simon Singh, 1999.  Articoli: • “Techniques for data hiding”, W.Bender & D.Gruhl & N.Morimoto & A.Lu, 1996. • “A steganographic framework for reference colour based encoding and cover image selection”, R. Rosenbaum & H.Schumann, 2000. • “Modulation and Information Hiding in Images”, J.R.Smith & B.O.Comiskey,1996.  Siti Web: • http://utenti.tripod.it/tritemio/ • http://members.tripod.com/steganography/stego.html • http://www.cl.cam.ac.uk/~fapp2/steganography/ • http://citeseer.nj.nec.com/cs/