INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACAN
SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN
“Ocultamiento de Datos en Imágenes Digitales”
T E S I S
QUE PARA OBTENER EL GRADO ACADÉMICO DE:
Maestro en Ciencias de Ingeniería en Microelectrónica
PRESENTA:
Ing. Carlos Leopoldo Velasco Bautista
ASESORES:
Dra. Mariko Nakano Miyatake Dr. Kazuhiko Yamaguchi
México D.F. Junio de 2009
Agradecimientos
Esta tesis de maestría es el resultado de un trabajo de investigación que ha requerido de esfuerzo, dedicación y paciencia, no hubiese sido posible su finalización sin la cooperación desinteresada de todas y cada una de las personas que a continuación citare.
Antes que nada, quiero dar gracias a Dios por ser mi fortaleza y fuente de inspiración a cada instante de mi vida.
A mis Padres Nicanor y Dalia por sus consejos, apoyo incondicional, amor y confianza que han depositado en mi, gracias a ustedes he logrado alcanzar metas que no hubiera podido lograr sin su dirección.
A mis hermanas Victoria y Blanca por su apoyo incondicional, moti- vación y alegría que traen a mi vida.
A mis asesores de proyecto la Dra. Mariko Nakano y al Dr. Ka- zuhiko Yamaguchi, por los conocimientos que han aportado a esta tesis, así como su paciencia, apoyo y consejos que me brindaron en todo momento.
Al Instituto Politécnico Nacionalpor haberme dado el lugar de estudios correcto en donde he pasado infinidad de anécdotas, triunfos, tristezas y alegrías los últimos años de mi vida.
A la Universidad de Electro-comunicaciones de Tokio Japón, por haberme permitido tener un año de estancia de estudios en sus instala- ciones.
Al Consejo Nacional de Ciencia y Tecnología por haber otorgado el apoyo económico durante mis estudios de maestría.
A mis amigos y en general a todas y cada una de las personas que han vivido conmigo la realización de esta tesis, les agradezco el haberme brindado todo el apoyo, colaboración y su amistad.
Resumen
El rápido crecimiento de las tecnologías de la información y las comunicaciones en estos últimos años, han traído como consecuencia el uso cotidiano de estas tecnologías en nuestra vida diaria; desde hacer un pago con nuestra tarjeta de crédito en una tienda en línea, como intercambiar información con nuestros amigos y familiares a través de un canal de transmisión público como Internet.
Uno de los problemas más comunes que enfrentan las comunicaciones es la seguridad en la transmisión de los datos, desde los orígenes de la humanidad ha sido de suma importancia el poder transportar la información importante de una manera segura por lo cual han surgido varias técnicas para solventar este problema. La mayoría de estas soluciones recaen en el uso de la criptografía.
La esteganografía es una solución alternativa para este problema, ya que haciendo uso de esta técnica podemos mantener una comunicación secreta o imperceptible por terceras personas que quieran infiltrarse en nuestra comunicación.
En esta tesis se proponen tres métodos esteganográficos que utilizan como señal portadora una imagen digital, por lo cual es deseable que estos métodos sean adaptivos a las características de la imagen alcanzando con esto que la técnica de ocultamiento de datos utilizada no cause degradaciones perceptivas en la imagen.
Los esquemas esteganográficos aquí propuestos están basados en el algoritmo de compresión JPEG, utilizan la técnica de ocultamiento de datos de cuantificación de indices modulados escalar sobre un conjunto de coeficientes DCT de baja frecuencia se-
de códigos correctores de errores y técnicas de sincronización.
Abstract
In recent years, a fast growth in communication and information technologies has brought as a result the daily use of these technologies in our daily life. For example making a payment with our credit card in an online store or interchanging information with our friends and relatives through a public transmission channel as Internet.
One of the most common problems that the communications face is the security in the data transmission, since origin of mankind the correct transportation of the important information in a secure way was very important, several techniques have arisen to solve this problem, most of these solutions rely on the use of cryptography.
Steganography is an alternative solution for this problem, since using this technique we can maintain a secret or imperceptible communication from a third party that want to infiltrate in our communication.
In this thesis we propose three steganography methods. These methods use a digital image as a host signal, thus it is desirable that these methods are adaptive to the image´ s characteristics for reaching with this that used data hiding method does not cause perceptive degradation in the image.
The proposed steganography methods are based on JPEG compression; they use the data hiding technique called scalar Quantization Index Modulation for data embedding in a set of low frequency DTC coefficients chosen. In addition to increase the perfor- mance of this proposed methods, each of them has its own coding framework base on the implementation of error correcting codes and synchronization techniques.
Índice general
1. Introducción 1
1.1. Motivación . . . 4
1.2. Objetivo de la Investigación . . . 5
1.3. Justificación . . . 5
1.4. Organización de la Tesis . . . 6
1.5. Conclusiones . . . 7
2. Estado del Arte 9 2.1. Introducción . . . 9
2.2. Definición de Esteganografía . . . 12
2.3. Esteganografía contra Criptografía . . . 13
2.4. Reseña Histórica de la Esteganografía . . . 15
2.4.1. Esteganografía Técnica . . . 15
2.4.2. Esteganografía Lingüística . . . 17
2.5. Variaciones de la Esteganografía . . . 19
2.5.1. Caballos de Troya . . . 19
2.5.2. Canales Encubiertos . . . 20
2.5.3. Huevos de Pascua . . . 21
2.5.4. Soluciones de Hardware . . . 22
2.6. Comunicación Esteganográfica . . . 23 iii
2.6.1. El Canal . . . 24
2.6.2. Bloques de Construcción . . . 25
2.7. Notación y Terminología . . . 27
2.8. Requerimientos de Diseño . . . 28
2.9. Métodos de Inserción . . . 30
2.9.1. Técnica Least Significant Bit . . . 31
2.9.2. Técnica Spread Spectrum . . . 32
2.9.3. Técnica Quantization Index Modulation . . . 34
2.10. Análisis Teórico de la Información . . . 36
2.11. Ocultamiento de Datos Robusto: Técnicas y Ataques. . . 37
2.12. Técnicas Adaptivas a la Imagen . . . 39
2.12.1. Modelo Perceptivo para el Ocultamiento Spread Spectrum . . . 40
2.12.2. Esquemas QIM Adaptivos . . . 40
2.13. Trabajo Previo en Esteganografía y Esteganálisis . . . 42
2.14. Conclusiones . . . 45
3. Conceptos Básicos de JPEG y QIM 47 3.1. Introducción . . . 47
3.2. Estándar de Compresión JPEG . . . 49
3.3. Modos de Operación JPEG . . . 50
3.3.1. Modo Secuencial . . . 50
3.3.2. Modo Progresivo . . . 51
3.3.3. Modo Jerárquico . . . 51
3.3.4. Modo Sin Pérdida . . . 52
3.4. Codificación JPEG . . . 52
3.5. Transformada Discreta de Coseno . . . 53
ÍNDICE GENERAL v
3.5.1. DCT en 1 Dimensión . . . 55
3.5.2. DCT en 2 Dimensiones . . . 56
3.6. Cuantificación . . . 59
3.7. Ordenamiento Zigzag . . . 60
3.8. Codificación de Huffman . . . 61
3.9. Conceptos Básicos de QIM . . . 62
3.9.1. QIM Escalar . . . 64
3.10. Como Usar QIM Contra Ataques JPEG . . . 66
3.11. Conclusiones . . . 67
4. Ocultamiento de Datos Adaptivos a la Imagen 69 4.1. Introducción . . . 69
4.2. Criterio Local contra Criterio Global en el Ocultamiento de Datos . . . 70
4.3. Métodos Esteganográficos con Adaptación Local . . . 72
4.3.1. Proceso General de Inserción . . . 72
4.3.2. Proceso General de Extracción . . . 74
4.4. Criterio Local para la Selección de Bloques . . . 75
4.4.1. Clasificación de Bloques Esquema ET y Esquema-1 . . . 76
4.4.2. Clasificación de Bloques Esquema-2 . . . 77
4.4.3. Clasificación de Bloques Esquema-3 . . . 82
4.5. Análisis y Resultados . . . 86
4.6. Conclusiones . . . 87
5. Esquemas de codificación 91 5.1. Introducción . . . 91
5.2. Códigos Correctores de Errores: Conceptos Básicos . . . 92
5.3. Códigos de Bloque y Códigos Convolucionales . . . 94
5.3.1. Códigos Golay . . . 95
5.3.2. Códigos Reed Solomon . . . 95
5.4. Códigos convolucionales . . . 99
5.5. Esquemas de codificación . . . 101
5.5.1. Codificación Esquema ET . . . 102
5.5.2. Codificación Esquema-1 . . . 104
5.5.3. Codificación Esquema-2 . . . 106
5.5.4. Codificación Esquema-3 . . . 109
5.6. Análisis y Resultados . . . 112
5.7. Conclusiones . . . 114
6. Conclusiones 119 6.1. Conclusiones Generales . . . 119
6.2. Trabajo a Futuro . . . 120
Bibliografía 123
A. Publicaciones 135
Índice de Tablas
2.1. Comparación entre Esteganografía y Criptografía. . . 15
3.1. Modos de operación JPEG. . . 50
3.2. Tablas de cuantificación recomendadas para el estándar JPEG. . . 59
3.3. Coeficientes cuantificados DCT de la fig.3.4 . . . 60
vii
Índice de figuras
2.1. Relación de la Esteganografía con campos relacionados . . . 11
2.2. Proceso esteganográfico. . . 13
2.3. Modelo esteganográfico describiendo el problema de los prisioneros. . . 23
2.4. Requerimientos generales de un sistema de ocultamiento de datos. . . . 28
2.5. Ocultamiento de datos usando Spread Spectrum . . . 33
2.6. Ejemplo de una cuantificación binaria en dos dimensiones [38]. . . 35
3.1. Perspectiva general de la codificación JPEG. . . 52
3.2. Funciones base cosinusoidales (N=8). . . 56
3.3. Funciones base cosinusoidales bidimensionales (N=8). . . 57
3.4. Muestra de 8 × 8 píxeles de Lena.bmp y sus coeficientes DCT. . . 58
3.5. Ordenamiento Zigzag para los coeficientes AC. . . 61
3.6. Modelo general del problema del ocultamiento de datos. . . 62
3.7. Funciones de cuantificación con intersección de rangos. El punto x0 re- presenta el rango de las dos funciones continuas cualesquiera x(s; 1) y x(s; 2). Aunque no hubiera perturbaciones o ataques en el canal, cuan- do obtenemos y = x0, el decodificador no puede decidir si pertenece a x(s; 1) o x(s; 2) puesto que para los dos es correcto y tendría una gran probabilidad de errar, [4]. . . 63
3.8. Insertando un bit dentro de una muestra usando QIM. Aquí Λ0 y Λ1 son los conjuntos de círculos y cruces respectivamente. . . 65
ix
3.9. Selección de una muestra x dada s y m ∈ {0, 1}, usando el método QIM.
(a) Prototipo de una función simétrica. (b) Función de inserción para m = 0. (c) Función de inserción para m = 1,[16]. . . 65 4.1. Criterio local contra estadístico: imagen Kiel de 512 × 512 pixeles. Se
puede observar que la calidad perceptiva de la imagen compuesta es mejor usando un criterio local. . . 71 4.2. Relación entre el número de bloques aptos en cada imagen dependiendo
del valor del umbral T h, Esquema ET y Esquema-1. . . 77 4.3. Clasificación de bloques utilizando el Esquema ET y el Esquema-1 con un
umbral T h = 14000, donde los bloques en negro representan los bloques que no son utilizados en el proceso de ocultamiento y los bloques visibles representan los bloques aptos. Las imágenes utilizadas cuentan con 4096 bloques disponibles. . . 78 4.4. Relación entre la capacidad y el umbral T h, Esquema ET y Esquema-1. 79 4.5. Relación entre la calidad y el umbral T h, Esquema ET y Esquema-1. . 79 4.6. División de las frecuencias un bloque DCT en el Esquema-2. . . 80 4.7. Relación entre el número de bloques aptos en cada imagen dependiendo
del valor del umbral T h, Esquema-2. . . 82 4.8. Clasificación de bloques utilizando el Esquema-2 con un umbral T h =
0,7×Emaxavg, donde los bloques en negro representan los bloques que no son utilizados en el proceso de ocultamiento y los bloques visibles representan los bloques aptos. Las imágenes utilizadas cuentan con 4096 bloques disponibles. . . 83 4.9. Relación entre la capacidad y el umbral T h, Esquema-2. . . 84 4.10. Relación entre la calidad y el umbral T h, Esquema-2. . . 84
ÍNDICE DE FIGURAS xi
4.11. División de las frecuencias un bloque DCT en el Esquema-3. . . 85
4.12. Relación entre el umbral T h1 y el número de bloques aptos, siendo T h1 = 200 el valor usado en el Esquema-3 . . . 87
4.13. Relación entre el umbral T h2 y el número de bloques aptos, siendo T h2 = 30 el valor usado en el Esquema-3 . . . 88
4.14. Relación entre el umbral T h3 y el número de bloques aptos, siendo T h3 = 0,025 el valor usado en el Esquema-3 . . . 88
4.15. Clasificación de bloques utilizando el Esquema-3 con un umbral T h1 = 200, T h1 = 30 y T h1 = 0,025; donde los bloques en negro representan los bloques que no son utilizados en el proceso de ocultamiento y los bloques visibles representan los bloques aptos. Las imágenes utilizadas cuentan con 4096 bloques disponibles. . . 89
4.16. PSNR alcanzado por los diferentes esquemas propuestos utilizando las imágenes estándares Lena, Peppers, Baboon, Clown, Bridge y Kiel. . . 90
4.17. Capacidad alcanzada por los diferentes esquemas propuestos utilizando las imágenes estándares Lena, Peppers, Baboon, Clown, Bridge y Kiel. 90 5.1. Desincronización entre codificador y decodificador después de una com- presión JPEG. . . 92
5.2. Codificación sistemática en bloque para la correción de errores. . . 93
5.3. Clasificación de los códigos correctores de errores. . . 94
5.4. Codificador convolucional. . . 100
5.5. Problema de falsos positivos y falsos negativos. . . 101
5.6. Esquema de codificación que ilustra la idea de borrado en el codificador para contrarrestar el problema de desincronización. . . 103
5.7. Esquema de codificación en el decodificador. Notar que las inserciones se convierten en errores y las eliminaciones en borrados adicionales. . . 104 5.8. Construcción de la Matriz de Mapeo (MM), donde cada elemento de MM
representa un bloque de 8 × 8 de la imagen huésped. . . 105 5.9. Errores obtenidos en el Esquema-2 sin emplear su esquema de codifica-
ción, debido a la compresión JPEG con diferentes factores de calidad. . 107 5.10. Esquema de codificación implementado en el Esquema-2 en el codificador.108 5.11. Esquema de codificación implementado en el Esquema-2 en el decodificador.109 5.12. Gráfica del ber(bit error rate) contra diferentes factores de calidad de
compresión JPEG, el ber obtenido corresponde a el esquema de codifi- cación del Esquema-3 sin utilizar códigos convolucionales. . . 110 5.13. Esquema de codificación utilizado en el Esquema-3 en el codificador. . . 111 5.14. Esquema de codificación utilizado en el Esquema-3 en el decodificador. 111 5.15. PSNR obtenido de los sistemas analizados en esta tesis utilizando las seis
imágenes estàndares Lena, Peppers, Baboon, Clown,Bridge y Kiel. . . . 113 5.16. Capacidad obtenida de los sistemas analizados en esta tesis utilizando las
seis imágenes estàndares Lena, Peppers, Baboon, Clown,Bridge y Kiel. 113 5.17. Esteganogramas obtenidos utilizando el Esquema-1 con su sistema de
codificación basado en una Matriz de Mapeo. . . 115 5.18. Esteganogramas obtenidos utilizando el Esquema-2 con su sistema de
codificación basado en dos bits de sincronización y códigos Reed Solomon.116 5.19. Esteganogramas obtenidos utilizando el Esquema-3 con su sistema de
codificación basado en dos bits de sincronización y códigos Convolucionales.117 5.20. Esteganogramas obtenidos utilizando el Esquema ET con su sistema de
codificación basado en códigos Reed Solomon. . . 118
Cap´ıtulo 1
Introducción
Se dice que la tecnología no determina la sociedad; tampoco la sociedad dicta el curso del cambio tecnológico. La tecnología es parte viva de la sociedad y ambos elementos se nutren, inventan y reinventan a sí mismos en un espiral interminable.
Hoy en día una revolución tecnológica sustentada en el desarrollo de las tecnologías de la información y comunicación, está influyendo cada vez más en nuestra sociedad.
La implementación y el desarrollo de tecnologías como Internet han permitido el acceso a un sin fin de nuevas aplicaciones que nos permiten obtener mayor información en tiempo real y de una manera eficiente.
Con herramientas como Internet las compañías de conectividad permiten que dia- riamente se realicen cientos de transacciones como compras de productos, reservaciones, transacciones bancarias en línea, entre otras, trayendo como consecuencia que las co- municaciones por Internet se conviertan en parte integral de nuestra vida diaria y por lo tanto es deseable que estas se realicen de una manera segura y confiable.
De esta manera el estudio de la seguridad en las comunicaciones ha cobrado impor- tancia por lo que se ha incrementado el uso de métodos implementados desde épocas antiguas, que son la base de nuevas técnicas de protección de la información que actual- mente son aplicadas en las comunicaciones electrónicas. Entre estos métodos se pueden citar la criptografía y la esteganografía [1].
1
Fundamentalmente el propósito de la criptografía y la esteganografía es proporcionar una comunicación segura. Sin embargo, la esteganografía no es igual a la criptografía.
La criptografía es la practica de cifrar un mensaje secreto de tal forma que sea ilegible a terceras personas [2], mientras que la esteganografía oculta la existencia misma del mensaje para evitar sospecha alguna de que datos secretos hayan sido ocultados [3].
La esteganografía es un concepto antiguo que ha sido utilizado desde los primeros años de la historia de la humanidad en diferentes formas y para diferentes propósitos.
El ocultar algo invaluable de gente malintencionada es natural y por lo tanto su trans- portación y entrega se convierten en una tarea muy importante. El ocultamiento de datos, debido a sus soluciones potenciales en la seguridad de la información continua recibiendo considerable atención de la comunidad investigadora.
El ocultamiento de datos ofrece retos únicos que requieren la integración de varias disciplinas, tales como el procesamiento de señales, visión por computadora, teoría de la información, compresión de señales, códigos correctores de errores y teoría de la comu- nicación. En esta tesis trataremos diversos temas fundamentales en estos campos, los cuales proveerán las bases para el diseño de técnicas practicas que puedan ser emplea- das en sistemas del mundo real. A través de una mezcla de propuestas experimentales y analíticas, podemos proveer soluciones prácticas a varios problemas importantes para la comunidad investigadora. El trabajo presentado en esta tesis esta principalmente enfocado en insertar datos en imágenes digitales sin embargo las propuestas pueden ser aplicadas en otros portadores como audio o video.
El ocultamiento de datos puede definirse formalmente como el proceso por el cual un mensaje o firma es incrustado imperceptiblemente dentro de un huésped o contenedor para obtener una señal compuesta o esteganograma. Hay tres requerimientos principales para un sistema de ocultamiento de datos: transparencia, robustez y capacidad. El ocultamiento de información dentro de una señal huésped debe ser perceptualmente
3
transparente sin perder de vista la capacidad que es la máxima cantidad de bits que se pueden embeber en la señal huésped. La información debe ser recuperable aun después de que la señal compuesta haya sufrido una variedad de procesamientos, intencionales o involuntarios, para remover la información.
Varias técnicas de ocultamiento de datos en imágenes digitales han sido propuestas, una de ellas es cuantificación por modulación de índices (QIM, por sus siglas en ingles) propuesta por Chen y Wornell [4], en este método la cuantificación es usada para forzar a la señal huésped a tomar valores deseados dependiendo de la señal de información a ser insertada. Los esquemas QIM han demostrado un buen desempeño rechazando las interferencias en la señal huésped. Sin embargo, sin una buena forma de controlar la degradación perceptible por medio de una adaptación local, los esquemas basados en cuantificación no pueden ser empleados para insertar grandes cantidades de información en una señal huésped.
Uno de los primeros trabajos basados en una cuantificación adaptiva fue hecho por Ramkumar [5], en el cual los coeficientes DCT con una magnitud igual a cero no eran modificados. También es notable el trabajo hecho por Mukharjee et al [6] quienes usaron una cuantificación en tramas para insertar datos y proporcionar la adaptación de la imagen eligiendo diferentes estructuras de tramas para diferentes tipos de bloques.
En este método un modelo perceptivo determina el nivel de inserción en un bloque. Wu and Lui [7] propusieron un método adaptivo para QIM, llamado “uneven embedding”
(Inserción irregular), en el cual el codificador selecciona las posiciones para insertar basado en un modelo perceptivo. Fidrich et al [8], plantearon una propuesta interesante llamada “wet paper codes” (códigos de papel mojado) para un ocultamiento de datos adaptivo . La idea es escribir sobre un papel con algunos puntos húmedos donde no podemos escribir. En términos de ocultamiento de datos, hay algunos lugares que no son buenos para insertar , así que al codificador no le es permitido insertar información
allí. Una desventaja es que el método es frágil contra ataques.
1.1. Motivación
Desde la antigüedad hasta nuestros días hay innumerables ejemplos de hechos his- tóricos y situaciones en los que el ser humano ha desarrollado su ingenio tratando de ocultar la informaciń a sus congéneres para poder transportarla de manera secreta sin levantar sospechas.
En la actualidad una enorme cantidad de señales de información son transmitidas cada segundo a través de una gran variedad de medios como la radio, la televisión, la telefonía y por supuesto Internet. Dentro de estas transmisiones hay comunicaciones secretas donde gente de todo tipo esta transmitiendo información tan inocente como un número cifrado de una tarjeta de crédito a una tienda en línea o tan insidiosa como un plan terrorista.
En esta era digital en la que vivimos las comunicaciones electrónicas son cada vez mas susceptibles a espionaje e intervenciones malintencionadas. Los temas de seguridad y privacidad han sido tradicionalmente abordados usando herramientas de Criptografía.
Los mensajes pueden ser agregados con un código de autenticación (hash) y cifrados así que solo el destinatario legítimo puede leerlos y verificar su integridad y autenticidad.
La criptografía moderna es un campo maduro en fundamentos matemáticos rigurosos y décadas de desarrollo.
Los mensajes cifrados son obvios y cuando son interceptados es claro que el remi- tente y el destinatario se están comunicando secretamente. La esteganografía es una herramienta alternativa para privacidad y seguridad. Dicha técnica puede ser un proce- so complementario para la criptografía, ocultando la información en otros objetos que parecen inofensivos así que su presencia no es revelada. Por consiguiente, la estegano-
1.2. OBJETIVO DE LA INVESTIGACIÓN 5
grafía puede ser una alternativa viable en países donde el uso de la criptografía es ilegal o en regimenes opresivos donde usar criptografía puede atraer atención indeseada.
1.2. Objetivo de la Investigación
El objetivo de esta investigación es plantear un esquema esteganográfico en imágenes digitales, que explote al máximo los rubros de imperceptibilidad, robustez y cantidad de información incrustada.
Para alcanzar este objetivo proponemos desarrollar un esquema esteganográfico adaptivo a las características en el dominio de la transformada discreta de coseno (DCT) de la imagen portadora, con esto el codificador seleccionara las regiones de la imagen ap- tas para incrustar información sin causar una degradación perceptiva en la imagen. La técnica de ocultación de datos a utilizar será la propuesta por Chen y Wornell llamada Quantization Index Modulation (QIM) [4]. Por último se utilizaran códigos correctores de errores para mejorar la robustez contra la compresión JPEG.
1.3. Justificación
Incrustar una gran cantidad de información dentro de imágenes digitales sin cau- sar una distorsión perceptiva ha sido desafiante. Los primeros acercamientos fueron simplemente modificar el bit menos significativo (LSB) de las muestras de la imagen para ocultar la información [9]. Sin embargo, incrustar en los bits menos significativos (LSBs) es muy frágil, ya que los datos ocultos serán perdidos por simples modifica- ciones de la imagen, tal como compresión. Las técnicas de espectro disperso (Spread spectrum) fueron propuestas para contrarrestar este problema [10]. Con esta técnica los datos son agregados en el dominio espacial o de la transformada. La transparencia
perceptiva es alcanzada usando la propuesta llamada perceptual shaping, en la cual la secuencia dispersa agregada es escalada por un parámetro determinado por la sensibi- lidad de percepción de la región. El método espectro disperso provee robustez contra ataques tales como compresión y ruido, pero es difícil incrustar grandes cantidades de información en imágenes usando esta técnica.
El método de ocultación de datos llamado quantization index modulation (QIM), basado en la cuantificación del portador mostró ser superior a la técnica de espectro disperso [4], [11], [12], [13].
Usando una versión simplificada de QIM, llamada QIM escalar, los datos pueden ser incrustado de tal forma que puedan sobrevivir ataques como compresión y ruido aditivo.
Sin embargo, cuando ocultamos grandes cantidades de información debemos ajustarnos a las características locales de la imagen para controlar la distorsión perceptiva. Para la ocultación de datos usando QIM, la adaptación no puede ser hecha tan simple como en espectro disperso que emplea la técnica perceptual shaping.
1.4. Organización de la Tesis
La presente tesis esta organizada en 6 capítulos, en el primer capítulo planteamos las metas, la motivación, la justificación y los objetivos que se pretenden alcanzar. En el segundo capítulo se da una breve introducción al ocultamente de datos, campo de investigación al cual pertenece la esteganografía; también se da una introducción de los requerimientos generales de un sistema esteganográfico y de las principales técnicas desarrolladas hasta el momento.
En el tercer capítulo se explican los conceptos básicos del esquema de compresión JPEG y de la técnica QIM escalar, al final de este capítulo se propone como manejar QIM para que la inserción de los datos sea robusta contra la compresión JPEG. En el
1.5. CONCLUSIONES 7
cuarto capítulo se habla sobre la importancia de adaptar los esquemas esteganográficos propuestos a las características locales de la imagen para alcanzar una incrustación de los datos imperceptible por el ojo humano.
En el quinto capítulo se introducen los esquemas de codificación para cada uno de los esquemas esteganográficos propuestos, estas soluciones están basadas en el uso de código correctores de errores y técnicas de sincronización. Para finalizar en el capítulo sexto hablaremos de las conclusiones que arrojo esta tesis así como también se expondrá el trabajo a futuro de la investigación.
1.5. Conclusiones
En este cap´tulo se presenta la definición de la tesis, es decir, una breve introducción al tema de investigación, los principales objetivos a alcanzar, la motivación que nos llevo a realizar el presente trabajo, la justificación del mismo así como también la organización general de la tesis.
Cap´ıtulo 2
Estado del Arte
2.1. Introducción
Por cientos de años, las personas han buscado maneras seguras para comunicarse.
Hay algunas evidencias históricas que las comunicaciones secretas son tan antiguas como la civilización misma. Los orígenes de dichas comunicaciones se remontan a la antigua China, India y Grecia [14].
Aeneas el estratega y otros escritores clásicos se concentraron en métodos para ocul- tar mensajes en ves de cifrarlos y aunque las técnicas criptográficas modernas comen- zaron a desarrollarse durante el Renacimiento encontramos que en 1641 John Wilkins continuaba prefiriendo ocultar que cifrar ya que levantaba menos sospechas [1]. Esta preferencia persiste en muchos contextos operacionales hasta nuestros días.
En nuestra vida cotidiana hay muchas razones por las que dos partes podrían desear una comunicación secreta. La razón puede ser benigna, como en el caso de dos amantes que desean ocultar su relación, o podría ser política como en el caso de una organización disidente deseando comunicarse entre ellas o con una organización vedada fuera de su país, o podría ser criminal como en el caso de las organizaciones criminales o terroristas.
Imaginémonos que tenemos que enviar un mensaje con contenido sumamente con- fidencial a un compañero. ¿Cómo podemos garantizar que nadie mas pueda leer el
9
mensaje mientras se esta transmitiendo?, ¿cómo podemos estar seguros que nadie ha modificado el mensaje mientras se esta transmitiendo?, ¿cómo puede saber nuestro com- pañero que el mensaje es realmente de nosotros?. Estas son algunas de las preguntas que nos hacemos cuando usamos comunicaciones secretas.
Hay dos maneras de encarar estas preguntas. Un método es cifrando el mensaje de tal manera que nadie pueda leerlo. En este caso, la gente puede decir que un mensaje secreto se esta transmitiendo pero no podrán leerlo. El segundo método es ocultar el hecho de que un mensaje se esta transmitiendo. Esto puede ser hecho con tinta invisible o colocando el mensaje verdadero en un mensaje no sospechoso. El primer método recae en la Criptografía y el segundo método recae en la Esteganografía. Ambas técnicas son útiles en comunicaciones encubiertas, pero cada una sirve para un propósito diferente.
La Criptografía proporciona los medios para una comunicación segura, mientras la Esteganografía proporciona los medios para una comunicación secreta.
Hoy en día las comunicaciones seguras son identificadas frecuentemente con la Crip- tografía, sin embargo algunos aspectos de seguridad no son enfrentados por las técnicas criptográficas. Por este motivo el estudio de la seguridad en las comunicaciones no in- cluye solo técnicas criptográficas sino también seguridad de tráfico cuya esencia recae en el ocultamiento de datos.
El ocultamiento de datos es un término general que abarca una amplia gama de problemas mas allá de la incrustación de información. El término ocultar puede referirse a hacer la información imperceptible o mantener su existencia en una forma secreta.
Con la llegada de Internet y otras redes públicas de comunicación han dado origen a una multitud de aplicaciones en las cuales el ocultamiento de datos juega un papel muy importante como en la protección de derechos de autor, esteganografía, identificación de contenido, fingerprinting, forensia digital, etc.
La idea general de ocultar información en contenidos digitales tales como imágenes,
2.1. INTRODUCCIÓN 11
audio y video, tiene una amplia clase de aplicaciones que van mas allá de la estega- nografía, figura 2.1. Las técnicas involucradas en tales aplicaciones son colectivamente referidas como ocultamiento de datos. Un caso especial del ocultamiento de datos son las marcas de agua digitales que son referidas en el idioma ingles como digital water- marking por lo cual watermarking es el proceso de insertar información dentro de un contenido digital multimedia de tal forma que la información (la marca de agua) pueda ser extraída o detectada posteriormente para una variedad de propósitos incluyendo la prevención y control de copias. La principal diferencia entre el ocultamiento de datos y las marcas de agua digitales es la ausencia de un adversario activo. En las aplicaciones de las marcas de agua digitales como la protección de derechos de autor y autentica- ción, hay un adversario activo que intentará remover, invalidar o falsificar la marca de agua. En el ocultamiento de datos no hay tal adversario activo ya que no hay un valor asociado con el acto de remover la información ocultada en el objeto portador. Sin em- bargo, las técnicas de ocultamiento de datos necesitan ser robustas contra distorsiones accidentales.
Figura 2.1: Relación de la Esteganografía con campos relacionados
A diferencia del ocultamiento de datos y las marcas de agua digitales, el princi- pal objetivo de la esteganografía es mantener una comunicación que se realice de una
manera completamente indetectable o secreta.
En la actualidad, la esteganografía es asociada con la alta tecnología, donde los datos son ocultos dentro de otros datos en un archivo electrónico. Por ejemplo, un documento en Word puede ser ocultado dentro de una imagen digital . Esto por lo general es realizado reemplazando los bits de información menos significativos del archivo original con bits de información que se quieren ocultar.
2.2. Definición de Esteganografía
El inventor de la palabra esteganografía es Trithemius, el autor de las primeras pu- blicaciones en Criptografía: Polygraphia y Steganographia. La palabra esteganografía se deriva de la composición de los vocablos griegos στ#γανω, steganos que significa “en- cubierto u oculto” y graphos que significa “escritura” por lo tanto literalmente significa escritura encubierta.
En general la definición está clara para la mayoría de los autores, sin embargo esta llega a variar un poco dependiendo del autor por ejemplo:
“La esteganografía” es la ciencia que se refiere a la comunicación invisible [15].
“La esteganografía” es un problema de ocultamiento de datos cuya característica principal es que la señal compuesta debe parecer como una señal sin información oculta [16].
“La esteganografía” es la disciplina en la que se estudian y aplican técnicas que permiten el ocultamiento de mensajes u objetos, dentro de otros, llamados porta- dores de modo que no se perciba su existencia [17].
“La esteganografía” es el arte de ocultar la comunicación escondiendo los mensajes en contenedores aparentemente inofensivos [3].
2.3. ESTEGANOGRAFÍA CONTRA CRIPTOGRAFÍA 13
Cuando el mensaje secreto es ocultado en un objeto contenedor a través de una técnica esteganográfica se obtiene un esteganograma que contendrá el mensaje oculto, este proceso es descrito en la figura 2.2, el cual muestra a el objeto contenedor y el mensaje secreto que puede o no hacer uso de técnicas de cifrado para darle una mayor protección a la información , una vez que los datos han sido ocultados la información puede ser transferida a través de medios de comunicación inseguros, en el canal ninguna persona sabe de la existencia del mensaje, sin embargo, esta expuesto a cualquier tipo de ataque; finalmente para recuperar el mensaje secreto se aplica el proceso inverso.
Figura 2.2: Proceso esteganográfico.
2.3. Esteganografía contra Criptografía
Fundamentalmente el propósito de la criptografía y la esteganografía es diferente. En 1883 Auguste Kerckhoffs enuncio los primeros principios de la ingeniería criptográfica, en los cuales el recomienda que asumamos que el método usado para cifrar los datos es conocido por el oponente , así la seguridad recae solo en la opción de la llave [18]. Desde entonces la historia de la Criptografía ha mostrado reiteradamente la seguridad por oscuridad, la cual recae en la suposición de que el enemigo continua estando ignorante de el sistema en uso. La criptografía cifra el contenido de un mensaje secreto de tal manera que nadie pueda leerlo, excepto la persona que tenga la llave, mientras que la esteganografía oculta la existencia del mensaje mismo.
La esteganografía no debe ser confundida con la criptografía, ya que la criptografía transforma el mensaje para hacer su significado ilegible de la gente malintencionada que lo intercepta. Por lo tanto , la definición de violación del sistema es diferente. En Criptografía, el sistema es violado cuando el atacante puede leer el mensaje secreto. Sin embargo, infringir en un sistema esteganográfico el atacante necesita detectar que se ha usado esteganografía además de poder leer el mensaje incrustado.
En criptografía la estructura del mensaje es cifrado para hacer su significado sin sentido e incomprensible a no ser que la llave de decodificación este disponible; la crip- tografía no hace por intentar disfrazar u ocultar el mensaje cifrado. Fundamentalmente ofrece la capacidad de transmitir información entre personas de tal manera que previe- ne que terceros puedan leer la información, además de que puede proveer autenticación para verificar la identidad de alguien o algo.
En contraste la esteganografía no altera la estructura del mensaje secreto , en ves de esto lo oculta dentro de un portador, como una imagen digital, de tal manera que no pueda ser visto. Un mensaje cifrado podría levantar sospechas en el lado del receptor mientras que un mensaje creado por medio de un método esteganográfico no lo haría.
En otras palabras la esteganografía evita que un receptor no planeado sospeche que la información existe.
Es posible combinar ambas técnicas, cifrando el mensaje secreto usando criptografía y entonces ocultar el mensaje secreto cifrado usando esteganografía. El esteganograma resultante puede ser transmitido sin revelar que la información secreta esta siendo inter- cambiada. Además, aun si el sistema esteganográfico fuera vulnerado por un atacante y el mensaje fuera detectado , se requeriría de la llave para decodificar el mensaje cifrado.
La tabla 2.1 muestra que ambas tecnologías tienen ventajas y desventajas.
2.4. RESEÑA HISTÓRICA DE LA ESTEGANOGRAFÍA 15
Esteganografía Criptografía
Paso desconocido del mensaje. Pase conocido del mensaje.
Tecnología poco conocida. Tecnología común.
Tecnología que sigue siendo desarrollada
para formatos seguros. La mayoría de los algoritmos son conoci- dos por los departamentos del gobierno.
Una ves detectado el mensaje es conoci-
do. Algoritmos robustos son actualmente re-
sistentes a ataques de fuerza bruta. Cos- toso poder computacional es requerido para descifrar.
Muchos formatos de portadores.
Tabla 2.1: Comparación entre Esteganografía y Criptografía.
2.4. Reseña Histórica de la Esteganografía
2.4.1. Esteganografía Técnica
Los ejemplos mas famosos de esteganografía se remontan a la antigüedad. En sus Historias [19], Heródoto (486-425 a.C) cuenta como alrededor del año 440 a.C. Histiæus rasuro la cabeza de su esclavo mas confiable , le tatuó el mensaje en el cuero cabelludo, espero después que le volviera a crecer el cabello y lo mando con el receptor del mensaje, con instrucciones que le rasurarán la cabeza. El objetivo fue para incitar a una revuelta contra los Persas. Asombrosamente el método siguió siendo usado por algunos espías Alemanes a principios del siglo XX [20].
Heródoto también describe como Demeratus alerto Esparta de una invasión inmi- nente por Xerxes. Este personaje oculto su mensaje usando tablillas de escritura. Las tablillas de escritura eran usualmente dos piezas de madera unidas como un libro con cada cara cubierta con cera. Su método consistía en tomar las tablillas de escritura quitarles la cera que las cubría y en la madera misma grabar el mensaje, después de
esto las tablillas eran cubiertas con cera para que pareciera exactamente como unas tablillas de escritura nuevas con la diferencia de llevar un mensaje oculto en su interior.
Un gran numero de técnicas fueron inventadas o reportadas por Æneas el estratega [21], incluyendo cartas ocultas en la suela de los mensajeros o en aretes de mujeres, ade- más de notas transportadas por palomas. El también propuso ocultar texto cambiando la altura del trazo de las letras o haciendo puntos muy pequeños encima de o debajo de las letras en un texto contenedor.
Esta técnica siguió en funcionamiento durante el siglo XVII, pero fue mejorada por Wilkins (1614-1672) quien uso tinta invisible para imprimir pequeños puntos [22], esta técnica fue reusada por espías Alemanes durante ambas Guerras Mundiales [23]. Una adaptación moderna de esta técnica sigue en uso para la seguridad de documentos y bloques impresos de píxeles diminutos a través de una página para codificar información tal como fecha, identificador de usuario,etc.
En 1857 Brewster sugirió ocultar mensajes secretos es espacios no mas grandes que un pequeño punto de tinta [24] y por el año 1860 los problemas básicos de crear imágenes diminutas había sido resuelto por Drago (fotógrafo Francés). Durante la guerra Franco- Prusiana de 1870-1871, mientras París estuvo sitiada, mensajes en microfilmes fueron enviados por medio de palomas mensajeras [25]. Durante la guerra Ruso-Japonesa de 1905 imágenes microscópicas fueron escondidas en orejas, fosas nasales y debajo de las uñas [26]. Finalmente la idea de Brewster se volvió realidad durante la Primera Guerra Mundial cuando mensajes para y de espías fueron reducidos a micropuntos por medio de varios pasos de reducción fotográfica y entonces puestas en la parte superior de puntos o comas impresas en portadas inofensivas de revistas [20], [27].
Las tintas invisibles fueron usadas exhaustivamente, originalmente fueron hechas de sustancias orgánicas disponibles como leche u orina [22], pero gracias a los progresos en Química durante la Primera Guerra Mundial se crearon combinaciones sofisticadas
2.4. RESEÑA HISTÓRICA DE LA ESTEGANOGRAFÍA 17
de tinta y reveladores, la tecnología cayo en desuso con la invención de reveladores universales los cuales podían determinar que parte de una pieza de papel había sido humedecida por los efectos en la superficie de las fibras del papel [23].
En la actualidad tintas especiales o materiales con estructuras particulares como tintas fluorescentes o DNA son usadas para escribir mensajes ocultos en documentos que requieren seguridad. Estos materiales proveen una respuesta única a algunas exci- taciones particulares tales como un reactivo o luz láser en una frecuencia particular.
Otro ejemplo proviene de la arquitectura, desde sus comienzos los artistas identifica- ron que trabajos de esculturas o pinturas tienden a verse diferente desde ciertos ángulos por lo cual establecieron reglas de perspectiva y anamorfismo [28]. A través de los si- glos XVI y XVII las imágenes anamorficas suministraron medios ideales de camuflajear declaraciones políticas peligrosas e ideas heréticas [29]. Una obra maestra de imágenes anamorficas ocultadas es Vexierbild que fue creada en 1535 por Erhard Schon, cuando esta obra se observa de manera normal uno ve un extraño paisaje, pero mirándola de lado revela retratos de reyes famosos.
2.4.2. Esteganografía Lingüística
Un método ampliamente utilizado por la esteganografía lingüística es el acróstico, el cual es una composición poética en el que las letras iniciales, medias o finales de cada verso, leídas en sentido vertical forman un vocablo o una locución. El ejemplo mas famoso es Amorosa visione de Giovanni Boccaccio (1313-1375) que es el acróstico mas grande del mundo [30]. En el libro The Codebreakers, David Kahn explica como un monje escribió un libro y puso el nombre de su amante en las primeras letras de capítulos sucesivos.
Expandiéndose en la simple idea de los acrósticos, monjes y otras personas literarias
encontraron mejores maneras de ocultar mensajes principalmente dentro de texto. Por los siglos XVI y XVII se presento una vasta literatura en esteganografía, donde muchos de los métodos dependieron de medios novedosos de la codificación de la información.
En el libro Schola Steganographica [31], Gaspar Scott (1608-1666) explica como ocultar mensajes en partituras musicales, donde cada nota corresponde a una letra.
Este libro es uno de los mas antiguos en esteganografía y criptografía, 400 páginas están dedicadas a este tema, la mayoría de las ideas presentadas en este libro fueron discutidas anteriormente en Steganographia (Trithemius, 1499) y Polygraphiæ (Trithemius,1516).
Schott también expande el código Ave Maria propuesto por Johannes Trithemius (1642-1512) en Steganographia, uno de los primeros libros conocidos en el área. El código expandido usa 40 tablas, cada una de las cuales contiene 24 entradas (una para cada letra del alfabeto de ese tiempo) en 4 lenguajes: Latín, Alemán, Italiano y Francés.
Cada letra del texto sin codificar es reemplazado por la palabra o frase que aparece en la entrada de la tabla correspondiente, el texto esteganografiado termina pareciéndose a una oración o un hechizo mágico.
En [22], John Wilkins (1614-1672) muestra como dos músicos pueden conversar el uno con el otro tocando sus instrumentos de música, tan bien como si sus instrumentos hablaran el discurso. También explica como uno puede ocultar secretamente un mensaje en un dibujo geométrico usando puntos, líneas o triángulos. En este método los extremos de las líneas y de los ángulos de las figuras hacen por su situación diferente expresar varias letras.
Una mejora es realizada cuando el mensaje es ocultado en posiciones aleatorias del texto contenedor. En un protocolo de seguridad desarrollado en la China antigua tanto el emisor como el receptor de un documento tenían una plantilla con un número de orificios ubicados aleatoriamente, de esta forma el emisor ponía su plantilla en el papel y escribía el mensaje real, después quitaba la plantilla y escribía un texto que incluía
2.5. VARIACIONES DE LA ESTEGANOGRAFÍA 19
las letras del mensaje oculto. De esta forma el receptor solo tenia que sobreponer la plantilla y podía leer el mensaje oculto.
A principios del siglo XVI Cardano(1501-1576) reinvento este método el cual es ahora conocido como la Rejilla de Cardano.
La presencia de errores o características estilísticas en predeterminados puntos en el material contenedor es otra manera para seleccionar las posiciones para incrustar información. Uno de los primeros ejemplos fue una técnica usada por Francis Bacon (1561-1626) en su alfabeto biliterario, el cual parece estar ligado a la controversia ya que utilizo trabajos atribuidos a Shakespeare. En este método cada letra es codificada en un código binario de cinco bits e insertadas en el texto contenedor imprimiendo las letras en fuente normal o itálica. La variabilidad de tipografía en el siglo XVI actuó como camuflaje.
2.5. Variaciones de la Esteganografía
Algunas veces hay confusión acerca de cómo la Esteganografía difiere de otras tec- nologías tales como los Caballos de Troya o los Huevos de Pascua. La esteganografía pura tiene como objetivo el ocultar información con el fin de comunicarla a alguien.
En ese sentido, los Caballos de Troya y los Huevos de Pascua son subconjuntos de la esteganografía, aun cuando el destinatario pueda no estar siempre contento al descubrir lo que esta oculto.
2.5.1. Caballos de Troya
Los programas Caballo de Troya son a menudo usados por atacantes para pasar de contrabando virus u otros tipos de códigos maliciosos dentro de una organización.
Para hacer esto, un Caballo de Troya tiene un programa manifiesto y otro encubierto.
El programa manifiesto es el que el usuario ve, tal como un juego o una animación, el programa encubierto es usualmente el virus o algún programa malicioso disfrazado que el atacante quiere instalar en un sistema para obtener acceso en el.
Los programas caballo de Troya son ligeramente diferentes de la esteganografía tradicional en que en un esquema esteganográfico, el remitente oculta un objeto secreto en un objeto contenedor y el receptor extrae el objeto secreto del estego-objeto. No hay manera de que el contenido del estego-objeto se ejecute de manera automática al llegar al receptor. Otra diferencia es que en un esquema esteganográfico tiene que haber dos partes involucradas, el remitente y el receptor. Ambas partes están consientes del esquema de comunicación. Con los programas caballo de Troya, solo hay una persona conciente de lo que esta ocurriendo en este caso el atacante o remitente del código malicioso. El receptor no tiene idea de lo que esta ocurriendo y tampoco tiene idea de la verdadera intención de la comunicación.
2.5.2. Canales Encubiertos
Cuando dos partes se están comunicando encubiertamente sobre los canales de co- municación normal, están esencialmente usando canales encubiertos de comunicación.
El objetivo es usar objetos de datos normales modificados ligeramente de tal manera que puedan ser usados para comunicar la información secretamente, sin embargo la modificación no debe hacer que el objeto que es enviado sobre el canal parezca inusual.
Los canales encubiertos son considerados una subclase de la esteganografía.
Con los canales encubiertos las dos partes usaran los recursos que estén disponibles para ellos para comunicarse mutuamente sin que nadie mas sepa que se están comuni- cando. Por ejemplo supongamos que Bill y Michele trabajan en la misma agencia de gobierno y se han estado reuniendo secretamente a la hora del almuerzo para discutir
2.5. VARIACIONES DE LA ESTEGANOGRAFÍA 21
sus planes para robar y vender secretos de estado. Ellos saben que si son vistos sa- liendo juntos de la oficina levantaran sospechas. Ellos también saben que sus agencias monitorean todas las comunicaciones y que los mensajes cifrados no están permitidos.
Debido a que trabajan para la misma organización, ambos tiene acceso a los mismos servidor de archivos. En el servidor de archivos hay varias carpetas incluyendo una que se llama Investigación. Cada archivo de proyecto de investigación en este fólder tiene un nombre código. Todos en la agencia pueden ver todos los archivos , solo no pueden acceder a ellos ya que tienen un password de protección. Bill y Michele idean un plan, ellos acuerdan que si un archivo de proyecto llamado Alfa1 aparece en el servidor en el fólder de Investigaciones, se reunirían ese día en un punto estratégico en un lugar específico.
Los canales encubiertos son similares a la esteganografía en que ambas partes saben que se están comunicando y que dicha comunicación es conocida solo por ellos. La gran diferencia es que no es usado un objeto contenedor. Datos normales son transmitidos y el mensaje encubierto no es oculto en realidad como en la esteganografía tradicional.
El mensaje es ocultado usando el mismo canal encubierto.
2.5.3. Huevos de Pascua
Los huevos de Pascua son un hibrido entre caballos de Troya y esteganografía. Un huevo de pascua es una característica oculta tal como una animación o un video que los programadores de un sistemas operativo o aplicación ponen de contrabando dentro de un programa. En algún punto en el tiempo los programadores revelan la existencia del huevo de pascua a el público. Los huevos de pascua usualmente son solo por diversión.
Los huevos de pascua funcionan muy semejante a la esteganografía en que alguien inserta o incrusta los datos encubiertos dentro del programa manifiesto y alguien tiene
que seguir un conjunto de pasos específicos para removerlos. Estos pasos implican gene- ralmente abrir una aplicación, ir a una cierta área de ella y escribir palabras especificas o comandos. Otros huevos de pascua comunes involucran hacer una modificación a la configuración de un archivo de una aplicación y entonces empezar la aplicación. El pro- pósito no es malicioso, como en la mayoría de los caballos de Troya, y estos programas no corren automáticamente sin el consentimiento del usuario.
Mas de 6000 huevos de pascua diferentes para una variedad de sistemas y aplicacio- nes pueden ser encontradas en [32].
2.5.4. Soluciones de Hardware
Un gran problema que los desarrolladores de software tienen es la protección de la copia ilegal de software. No hay nada que pare a alguien de hacer una copia de una parte de software y dárselo a otras 20 personas o instalar una sola copia en docenas de computadoras.
Una técnica que ha sido usada para parar estas prácticas incorpora una solución de hardware llamada dongle, este dispositivo se conecta en la parte de atrás de la computadora, usualmente a través del puerto paralelo, para correr el software. Esta solución trabaja pero es inconveniente para el usuario final. Además, estos dispositivos de hardware pueden ser replicados.
Una propuesta alternativa es usar un dongle en software. En este escenario, el pro- grama de software solo puede ser corrido una ves que se haya insertado u ocultado cierta información en el disco duro, usualmente en un sector oculto de tal manera que no pueda ser copiado fácilmente. Cuando el programa de software actual esta siendo instalado, busca la información ocultada. Si la encuentra, el software es instalado, si el software no encuentra el archivo, el programa no será instalado. Este software basado en
2.6. COMUNICACIÓN ESTEGANOGRÁFICA 23
la esteganografía provee una solución atractiva para limitar el número de instalaciones ilegales de software.
2.6. Comunicación Esteganográfica
La primera definición informal de un esquema esteganográfico fue formulada por Simmons como el problema de los prisioneros [33]. Dos prisioneros , Alice y Bob, están bajo la vigilancia de un guardia, Eve. El guardia permitirá a Alice y Bob comunicarse pero todas las comunicaciones deben pasar por ella. Si el guardia piensa que el mensaje de Alice para Bob es inofensivo , ella simplemente lo enviara a Bob. O bien, ella podría distorsionar el contenido intencionalmente con la esperanza de que tal distorsión quite cualquier mensaje secreto que pudiera estar presente. Si el guardia piensa que el mensaje de Alice para Bob esconde una comunicación encubierta, entonces ella podría bloquear la comunicación completamente. Este esquema esta representado en la figura 2.3.
Figura 2.3: Modelo esteganográfico describiendo el problema de los prisioneros.
En el modelo general de un esquema esteganográfico, tenemos que Alice desea enviar un mensaje m a Bob. Para hacer esto, Alice inserta m en el objeto contenedor c y obtiene
un estego-objeto s. El estego-objeto s es entonces enviado a través de un canal público.
Por lo tanto tenemos las siguientes definiciones:
Objeto contenedor : se refiere al objeto usado como portador para ocultar el men- saje secreto. Una variedad de objetos pueden ser empleados para insertarles el mensaje secreto como imágenes, audio, video, por mencionar algunos.
Estego-objeto: se refiere al objeto que esta transportando un mensaje oculto, así dado un objeto contenedor y un mensaje el objetivo del algoritmo esteganográfico es producir un estego-objeto el cual llevara el mensaje.
2.6.1. El Canal
En esteganografía, el canal físico usado para comunicarse es asumido por lo general libre de ruido, esto puede ser asegurado usando correctores de errores y protocolos estándares de Internet. Sin embargo, las propiedades del canal son definidas por el guardia. El guardia es considerado parte del canal porque puede o no interferir con la comunicación. Como tal, hay tres tipos de guardias: pasivos, activos y malintencionados.
El guardia es llamado pasivo si esta restringido a modificar el contenido enviado por Alice antes de ser recibido por Bob. El guardia solo puede impedir o permitir la entrega del mensaje de Alice. En este escenario el guardia examina la presencia de mensajes ocultos en cada comunicación de Alice. Si la prueba del guardia es negativa la comunicación es transmitida a Bob en otro caso es bloqueada. Este es el escenario mas comúnmente asumido ya que la mayoría de los algoritmos esteganográficos no son diseñados a ser robustos.
El guardia es llamado activo si intencionalmente modifica el contenido enviado por Alice antes de ser recibido por Bob. En este escenario, el guardia puede no
2.6. COMUNICACIÓN ESTEGANOGRÁFICA 25
sentirse enteramente confiado de su programa de esteganálisis. De este modo, aun cuando su prueba es negativa, el guardia puede alterar el contenido, esperando que la modificación destruirá cualquier mensaje esteganográfico que pueda estar presente. Si el algoritmo esteganográfico asume un guardia pasivo, entonces hay una alta probabilidad de que las alteraciones hechas al contenido degradarán severamente o removerán el mensaje oculto. Los tipos de modificación en un guardia activo podrían incluir compresión de imágenes y audio, filtro pasa bajas, y otros procedimientos que ligeramente degradan el contenido.
El guardia es llamado malintencionado si sus acciones son basadas en las espe- cificaciones del esquema esteganográfico y tienen como objetivo cachar las comu- nicaciones de los prisioneros secretamente. Esto puede incluir que el guardia trate de hacerse pasar por Alice o Bob, o si no engañarlos. Un guardia malintencionado es usualmente considerado en esteganografía de llave pública. En este escenario la estego llave es conocida y cualquiera puede extraer el mensaje secreto. Sin em- bargo, el mensaje es cifrado usando un sistema criptográfico de llave pública. Solo aquellos quienes posean la llave privada de Bob pueden descifrar el mensaje de Alice. Aun cuando la estego llave es conocida, es difícil distinguir entre un mensaje cifrado y una secuencia de bits aleatorios extraídos de un objeto huésped.
2.6.2. Bloques de Construcción
Los principales bloques de construcción de cualquier algoritmo esteganográfico son:
La elección del objeto portador.
Los algoritmos de inserción y extracción.
Manejo de una estego llave.
A diferencia de una marca de agua, un mensaje esteganográfico no dice nada acerca del objeto portador en el cual esta oculto. Por consiguiente, Alice y Bob son libres de seleccionar un objeto portador particular de su fuente de portadores. La principal restricción es el origen del objeto portador, el cual es determinado por los recursos dis- ponibles por Alice y Bob, por el guardia mismo y el contexto en el cual la comunicación toma lugar.
Una ves seleccionado el objeto portador como puede ser una imagen digital o una señal de audio. Alice y Bob necesitan construir las funciones de inserción y extrac- ción. Fundamentalmente una función de inserción puede ser basada en tres diferentes principios:
El objeto portador es preexistente y la función de inserción no modifica al objeto portador. Esto es referido como esteganografía por búsqueda de portador.
El objeto portador es generado basado en el mensaje a ocultar y la función de inserción no modifica al objeto portador. Esto es referido como síntesis de porta- dor.
El objeto portador es preexistente y la función de inserción modifica al objeto portador. Esto es referido como esteganografía por modificación de portador.
El proceso de inserción es controlado por una llave secreta compartida entre Alice y Bob. La llave puede ser usada para diferentes propósitos pero es importante esco- ger llaves fuertes, si no el guardia podría atacar el esquema esteganográfico tratando simplemente de leer mensajes del estego-objeto usando todas las estego llaves posibles.
2.7. NOTACIÓN Y TERMINOLOGÍA 27
2.7. Notación y Terminología
Ahora definiremos matemáticamente un esquema esteganográfico. Supongamos que Ks denota una llave esteganográfica tomado de un conjunto de todas las llaves estega- nográficas secretas K, M el conjunto de todos los mensajes incrustables y C el conjunto de todos los objetos contenedores. Un esquema esteganográfico esta formado por dos mapeos, el mapeo de inserción Emb y el mapeo de extracción Ext:
Emb : C × K × M → C Ext : C → M,
(2.1)
tal que Ext(Emb(c, Ks, m)) = m para todo c ∈ C, Ks ∈ K y m ∈ M. El objeto s = Emb(c, Ks, m) es llamado estego-objeto. El algoritmo de inserción Emb toma el objeto contenedor, la llave secreta y el mensaje como su entrada y produce el estego- objeto modificado. Para una función de inserción dada, la cardinalidad , |M|, de el conjunto M, es el número de los diferentes mensajes que pueden ser insertados en un objeto contenedor específico. El logaritmo log2|M| es llamado la capacidad de inserción y su unidad es el bit. Por ejemplo, para la inserción LSB en una imagen en escala de grises, la capacidad de inserción es igual al número de píxeles. Si la longitud, m, del mensaje insertado es mas pequeña que la capacidad de inserción , decimos que el mensaje tiene una longitud relativa,m/|M|.
El impacto de la inserción (o la distorsión de inserción) es medida como D(c, s), donde D es una distancia definida en C. Una rudimentaria pero común opción es la distancia euclidiana cuadrada.
D(c, s, ) = $c − s$2, si C = S = R. (2.2) Otra opción es la distancia de hamming.
D(c, s, ) = |{n : cn &= sn}|, si C = S = {0, 1}. (2.3)
La ecuación 2.2 puede ser usada para medir la distorsión entre señales de audio, entre imágenes en escala de grises, etc. La segunda ecuación 2.3 es aplicable a imágenes binarias, archivos de texto y otros archivos de datos binarios.
2.8. Requerimientos de Diseño
Hay varios requerimientos que están involucrados en el diseño de los sistemas de ocultamiento de datos. La figura 2.4 ilustra varios requerimientos de un sistema de ocultamiento de datos. A continuación describiremos brevemente la importancia de las consideraciones técnicas que se presentan sin importar la aplicación en particular.
Figura 2.4: Requerimientos generales de un sistema de ocultamiento de datos.
Transparencia perceptiva. Todas las aplicaciones requieren que la distorsión inducida a la señal huésped no sea perceptible, o en otras palabras que la señal
2.8. REQUERIMIENTOS DE DISEÑO 29
compuesta es perceptualmente transparente.
Robustez. La señal compuesta debe sobrevivir varios ataques intencionales o involuntarios que puedan remover los datos insertados. Los ataques que un sistema debe sobrevivir pueden ser operaciones benignas tales como compresión, ruido aditivo y filtrado o pueden ser ataques maliciosos tales como transformaciones geométricas e impresiones seguidas por escaneo. Los requerimientos exactos de robustez de un sistema dependerán obviamente de la aplicación en particular.
Capacidad. Esto se refiere a el número de bits que puedan ser insertados por un sistema dado mientras satisfaga las otras restricciones de diseño tales como robustez. Es deseado insertar tantos bits como sean posibles mientras se satisfacen las otras restricciones.
Transparencia estadística. Esto se refiere a el cambio que ocurre en las estadís- ticas de la señal huésped durante el proceso de inserción. Insertar de tal manera que solo haya un cambio mínimo a las estadísticas de la señal huésped es requerido cuando los sistemas de ocultamiento de datos son empleados para comunicaciones secretas, en las cuales su existencia no debe ser revelada.
Extracción a ciegas o informada. El concepto de extracción a ciegas o infor- mada del mensaje esta ausente de la literatura esteganográfica. Es usualmente asumido implícitamente que el destinatario de el mensaje secreto no tiene la señal huésped original disponible para usarla en la descodificación.
2.9. Métodos de Inserción
Los primeros artículos sobre ocultamiento de datos aparecieron a principios de 1990 [34]. Las ideas propuestas durante ese periodo incluyen la técnica de inserción en los bits menos significativos que es llamada en el idioma ingles “Least Significant Bit” (LSB), la cual es elemental y no robusta contra el ruido. El período que comprende de 1995-1998 se desarrollo la técnica espectro disperso la cual es referida en el idioma ingles como
“Spread Spectrum” (SS), esta técnica es mas robusta que su antecesora [10].
En 1999 varios investigadores llegaron a la conclusión de que era mas exacto modelar el proceso de ocultamiento de datos considerando el problema como una comunicación con información lateral en el codificador. Gracias a esto, nuevos métodos de inserción de datos han sido propuestos los cuales rechazan la interferencia de la señal huésped.
Estos métodos son basados en el trabajo de Costa titulado “Writing on dirty paper”
[35]. En este artículo se analiza la capacidad del canal en presencia de dos fuentes aditivas de ruido blanco gaussiano (AWGN), en las cuales el primer ruido era conocido.
Costa llego a la conclusión de que la capacidad del canal es independiente del primer ruido, lo cual representa varios beneficios para el ocultamiento de datos , haciendo la analogía de que la señal huésped es el primer ruido.
Basados en este trabajo, una nueva clase de técnica para el ocultamiento de datos fue propuesta por Chen y Wornell llamada “Quantization Index Modulation” (QIM) [11], [4]. La información es ocultada por la opción del cuantificador, basado en el mensaje a ser oculto. El decodificador solo determina cual de los posibles cuantificadores fue usado.
Debe ser notado que cualquiera de las técnicas mencionadas anteriormente, LSB, SS o QIM; pueden ser empleadas sobre los píxeles de una imagen esto es en el dominio espacial o en el dominio de la frecuencia. Debido a su compatibilidad con los estándares
2.9. MÉTODOS DE INSERCIÓN 31
de compresión JPEG y JPEG 2000, la Transformada Discreta de Coseno (DCT) y la Transformada Wavelet Discreta (DWT); estas técnicas pueden ser usadas para el ocultamiento de datos en imágenes digitales.
2.9.1. Técnica Least Significant Bit
Una manera natural de insertar o embeber información dentro de una señal huésped sin inducir alguna distorsión perceptiva es modificando el bit menos significativo. Este método es uno de los primeros propuestos para la inserción de datos. Este esquema ha sido utilizado por ambas técnicas clásicas de ocultamiento de datos: marcas de agua digitales [36] y comunicaciones encubiertas [9]. Aunque el método es muy simple para codificar y decodificar, tiene severas limitaciones para ambas aplicaciones. Cualquier procesamiento como compresión en el caso de una imagen digital como señal huésped, cambia el valor de los bits menos significativos y de ahí hace que los datos ocultados sean indecodificables. Los datos ocultados en los bits menos significativos de una imagen u otra señal huésped pueden ser fácilmente detectados usando simples análisis estadísticos.
A pesar de estas limitaciones, el ocultamiento LSB es bastante popular en un numero de paquetes de software libre y de prueba basados en el ocultamiento de datos en los bits menos significativos que están disponibles en línea [37].
El método es aplicable a la señal portadora de la forma s = {s1, s2, · · · , sN}, donde cada muestra si es codificada usando b Bits que representan la descomposición binaria natural de un entero entre cero y 2b−1. Por ejemplo, si podría representar uno de los 256 niveles de intensidad de una imagen en escala de grises, tal como 69 = (01000101); el bit menos significativo en este caso es uno. El plano LSB es la secuencia binaria de longitud N hecha por todos los LSB. Los LSB pueden ser modificados sin afectar negativamente la calidad de la señal, por lo tanto los métodos de inserción LSB simplemente reemplazan
el plano LSB por una secuencia de información. La proporción de información es 1 bit por muestra de s. La capacidad podría ser incrementada reemplazando el segundo LSB por una secuencia de información también, pero esto incrementaría la distorsión en la señal portadora.
2.9.2. Técnica Spread Spectrum
La técnica Espectro Disperso (Spread-Spectrum SS) fue introducida por Cox et al [10], para calmar el problema del ocultamiento LSB contra los ataques. El método agrega una secuencia pseudo-aleatoria dispersa en la imagen. La secuencia pseudo- aleatoria es construida a partir del mensaje a ser ocultado. El método y sus variaciones propuestas para aplicaciones de marcas de agua son robustas contra ataques tales como compresión, ruido aditivo y operaciones de procesamiento de señales.
Sin embargo en general es bien sabido que la capacidad de inserción de la técnica SS es baja, especialmente para las implementaciones de detección a siegas. Esto es porque los métodos aditivos no utilizan el hecho de que la señal huésped es conocida por el codificador. Por lo que la señal misma termina siendo el ruido o interferencia en el sistema.
La aplicación de la técnica SS en el ocultamiento de datos esta ilustrada en la figura 2.5. Cada mensaje m y llave secreta k están asociados a un patrón p(m,k) el cual es mezclado con la señal portadora s para formar la señal marcada x. Cada patrón es típicamente una secuencia de ruido pseudo-aleatorio. La mezcla podría ser tan simple como una adición ponderada.
Xn= sn+ γpm,kn , 1 ! n ! N (2.4) donde γ es un parámetro de potencia, el cual depende en la distorsión de inserción
2.9. MÉTODOS DE INSERCIÓN 33
Figura 2.5: Ocultamiento de datos usando Spread Spectrum
permitida. La distorsión cuadrática media de la inserción es γ2$p(m,k)$2y es usualmente la misma para toda m y k. La señal marcada x es corrompida posiblemente por el ruido del atacante, lo cual produce una señal degradada.
y= x + w. (2.5)
El receptor sabe de la llave secreta k y puede igualar y con |M| y la posible forma de onda p(m,k). Si la señal portadora original no esta disponible en el receptor, la igualación podría ser una simple correlación.
ˆ
m = argmax tm(y, k), m ∈ M. (2.6)
donde