Steganografia

Da Wikipedia, l'enciclopedia libera.

La steganografia è una tecnica che si prefigge di nascondere la comunicazione tra due interlocutori, infatti il termine è composto appunto dalle parole greche στεγανός (nascosto) e γραφία (scrittura). Tracce di questa tecnica si hanno già nell'antica Grecia: Erodoto narra l'episodio di Demarato che per avvisare i compatrioti di una possibile invasione persiana scrive su di una tavoletta un messaggio da nascondere, poi copre la tavoletta di cera e sulla cera scrive un messaggio innocuo. Poiché nell'antichità le tavolette di cera erano normalmente usate per scrivere testi provvisori, non destò sospetti.[1] Per una teorizzazione completa di questa tecnica bisogna però attendere il 1499, quando la steganografia viene teorizzata dall'abate Tritemio nell'omonimo libro.

Libri[modifica | modifica sorgente]

Frontespizio del primo libro sulla steganografia

La "Steganographia" di Tritemio si proponeva di poter inviare messaggi tramite l'uso di linguaggi magici, sistemi di apprendimento accelerato e senza l'utilizzo di simboli o messaggeri. L'opera iniziò a circolare in corrispondenze private e suscitò reazioni così allarmate che l'autore decise di non darla alle stampe e ne distrusse addirittura larghe parti, ritenendo che non avrebbero mai dovuto vedere la luce. Continuò comunque a circolare in forma di minuta e fu pubblicata postuma nel 1606[2].

Uso[modifica | modifica sorgente]

La steganografia può trovare uso in ogni forma di comunicazione, è sufficiente che mittente e destinatario abbiano concordato un codice non vincolato ai normali simboli alfabetici. Ad esempio: Alice e Bob si accordano sull'uso di un sistema steganografico: il numero di virgole presente in una singola pagina sarà tra 1 e 21, questo numero corrisponderà ad una lettera dell'alfabeto. Qualora A e B dovessero trovarsi in un regime di comunicazione controllata, potrebbero scrivere pagine di copertura narrando informazioni prive di valore per loro, ma facendo un uso accurato delle virgole, riuscirebbero a nascondere il vero messaggio con questa tecnica steganografica.

Caratteristiche[modifica | modifica sorgente]

La steganografia si pone come obiettivo di mantenere nascosta l'esistenza di dati a chi non conosce la chiave atta ad estrarli, mentre per la crittografia è non rendere accessibili i dati nascosti a chi non conosce la chiave. La crittanalisi è l'attacco alla crittografia, che mira ad estrarre i dati cifrati senza chiave. L'obiettivo della steganalisi non è quindi quello di estrarre i dati nascosti, ma semplicemente di dimostrarne l'esistenza.

Principi della steganografia digitale[modifica | modifica sorgente]

La steganografia è una forma di Sicurezza tramite segretezza, l'algoritmo di steganografia a differenza di un algoritmo crittografico deve tenere conto della forma plausibile che i dati generati devono avere, affinché non destino sospetti.

La steganografia valuta la robustezza dei suoi algoritmi sia in condizioni di analisi da parte di individui (che il dato generato sia coerente, almeno alle apparenze, con dati simili) sia da parte di computer (quindi analisi matematiche, statistiche e di confronto con archivi).

Steganografia LSB/rumore di fondo[modifica | modifica sorgente]

LSB (dall'inglese least significant bit, bit meno significativo) è la tipologia di steganografia più diffusa. Si basa sulla teoria secondo la quale l'aspetto di un'immagine digitale ad alta definizione non cambia se i colori vengono modificati in modo impercettibile.

Ogni pixel è rappresentato da un colore differente, cambiando il bit meno significativo di ogni pixel, il singolo colore non risulterà variato in modo significativo e il contenuto dell'immagine sarà preservato nonostante questa manipolazione.

L'algoritmo steganografico riceve in input un'immagine di copertura/contenitore (C), una chiave (K) ed un dato da nascondere (D). Estrae da C i bit meno significativi, misurandone la dimensione e verificando se questa è sufficiente per ospitare D. Tramite K, D viene sparpagliato tra i bit meno significativi, sovrascrivendo i valori originali. Viene così generato S, il dato steganografico.

Chi analizzerà S avrà davanti a sé un'immagine plausibile, e pur conoscendo l'algoritmo avrà bisogno di K per verificare se c'è un messaggio nascosto. È sempre possibile un attacco di tipo forza bruta, avendo chiaro l'algoritmo e il dato da forzare, come avviene nella crittografia.

In alcuni algoritmi di steganografia, K viene usato per cifrare D e non nel processo steganografico, che di conseguenza è sempre uguale per ogni esecuzione dell'algoritmo. Essendo la sicurezza dell'algoritmo vincolata a parametri umani, non si può generalizzare dicendo che questo approccio è insicuro, ma l'uso della chiave per finalità crittografiche e quindi un uso della distribuzione steganografica non dipendente da chiave, può diventare una vulnerabilità.

L'esempio portato con le immagini può essere replicato su altri dati multimediati (file audio e video), perché tutti condividono la caratteristica di tollerare distorsioni plausibili, lasciando fruibile il contenuto originale.

Questa tecnica steganografica viene generalizzata dicendo che si basa sul rumore di fondo. Tutte quelle porzioni di dati contenenti dettagli inessenziali per la trasmissione del contenuto possono essere utilizzate come contenitore steganografico, una volta trovato un codice adeguato a non causare incoerenze evidenti all'analista.

Steganografia pura/a generazione di copertura[modifica | modifica sorgente]

In alcuni contesti, piuttosto che usare un contenitore per nascondere dei dati al suo interno, un software di steganografia può ricevere in input la chiave (K) e il dato (D) e generare autonomamente un dato steganografato. Di fatto il contenitore viene generato basandosi su di una base di dati preesistente.

Spammimic [1], dimostrato vulnerabile nel 2007 [2], ha implementato questa tecnica applicandola a contenitori di tipo testo: il software genera spam, in quanto teorica fonte di informazioni casuali e plausibili, come contenitore di dati steganografati. Il fatto che spammimic sia stato dimostrato vulnerabile non è da imputarsi alla tecnologia scelta[senza fonte], ma solo alla limitatezza del dizionario dal quale lo spam viene generato e dalla presenza di tratti riconoscibili.

Tools Steganografici[modifica | modifica sorgente]

Attacchi alla steganografia[modifica | modifica sorgente]

Steganalisi[modifica | modifica sorgente]

La steganalisi è il processo mediante il quale è possibile dire che un dato contiene dati steganografati o fa parte di una trasmissione steganografica.

Distorsione[modifica | modifica sorgente]

Un attacco a distorsione è portato quando la terza parte che osserva le comunicazioni può modificare il dato in modo automatico al fine di cambiarne alcune caratteristiche. Un attacco di distorsione applicato a dei contenuti multimediali con steganografia LSB si realizza diminuendo la definizione del contenuto: infatti qualunque tecnica steganografica sia stata applicata, la ridefinizione dell'immagine danneggia il messaggio nascosto nel dato.

Note[modifica | modifica sorgente]

  1. ^ Nicola Cocchiaro, Steganografia, cocchiar.web.cs.unibo.it, 2005. URL consultato il 4 novembre 2011.
  2. ^ Graziella Montemarani, op. cit., p.16

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]