SUPERIORES DE MONTERREY
TECNOLÓGICO DE MONTERREY
Diseño e implementación de una Credencial de Identificación Electrónica
Autor:
J o e l C r i s t o p e r F l o r e s E s c a l a n t e
Sometido al Programa de Graduados en Informática y Computación en cumplimiento
parcial con los requerimientos para obtener el grado de:
Maestro en Ciencias de la Computación
Asesores:
D r . Jesús A r t u r o Pérez D í a z D r . R o b e r t o G ó m e z C á r d e n a s
Cuernavaca, Morelos. Diciembre del 2008
Diseño e implementación de una Credencial de Identificación Electrónica
Presentada por:
Joel Cristoper Flores Escalante Aprobada por:
Dr. Roberto Gómez Cárdenas
Profesor Investigador del dpto. de Tecnologías de la Información y Computación.
ITESM Campus Estado de México Co-asesor de Tesis
Dr. José Martín Molina Espinosa
Director de Posgrados en Ciencias Computacionales (MCC, DCC) ITESM Campus Ciudad de México
Sinodal
Dr. Miguel González Mendoza
Director de Posgrados en Ciencias Computacionales (MCC, DCC) ITESM Campus Estado de México
Sinodal
Dr. Jesús Arturo Pérez Díaz
Director del depto. de Tecnologías de la Información y Mecatrónica ITESM Campus Cuernavaca
Asesor de Tesis
Dedicatoria
A mis padres,
Rosa Irasema Escalante Pech y Miguel Simón Flores Navarrete, gracias por su apoyo incondicional,
sin el nada de esto hubiese sido posible.
Gracias por su dedicación, esfuerzo y consejos.
A mis hermanos Justo y José, a mi cuñada Guadalupe,
a mis sobrinitos Isabel, Miguel y Mariel,
gracias por estar siempre que lo necesité, gracias por
todo.
A todos gracias por su amor, este trabajo es dedicado a ustedes,
los quiero.
Agradecimientos
Quiero agradecerles a mis asesores el Dr. Jesús Arturo Pérez Díaz y el Dr.
Roberto Gómez Cárdenas, por darme la oportunidad de participar en este pro- yecto; su conocimiento, experiencia, liderazgo y buenas intenciones guiaron este trabajo a rendir frutos. A mis sinodales, el Dr. José Martín Molina Espinosa y el
Dr. Miguel González Mendoza, por su aportación para enriquecer y concluir es- ta tesis. Gracias por su tiempo, paciencia y dedicación a mi formación académica.
También agradezco a Arianna, Rogelio, José Manuel y Quetzali. A César por su aporte en huellas dactilares. Gracias por el apoyo y por ser buenos compañeros y amigos.
A mis padres, hermanos, cuñada, sobrinitos, a mi tía Nasly y a toda la familia, por motivarme a seguir adelante. Gracias por ser tan maravillosa familia.
A todos mis amigos y amigas de San Francisco de Campeche, también son parte especial de mi vida, gracias por creer en mí, gracias por su confianza y porras. Para ustedes también es la dedicatoria de este trabajo.
A todos muchas gracias.
Resumen
En materia de seguridad computacional es necesario estar actualizado con las nuevas técnicas, con el fin de proveer una visión más amplia a la hora de enfrentar los retos de esta era informática. Este trabajo de tesis incursiona en el aún joven mundo esteganográfico con la intensión de crear una aplicación funcional y útil, a la par de proveer de una base solida de información para futuros trabajos relacionados con este arte.
En esta investigación se presenta una "Credencial de Identificación Elec- trónica" (CIE) cuya función será proveer un alto grado de seguridad al au- tenticar a los usuarios, haciendo uso de biométricas, criptografía y estegano- grafía. La CIE cifra la información personal del usuario así como la huella dactilar del mismo para después incrustarla en una fotografía del rostro del usuario. Se utilizan dos factores de autenticación (algo que se sabe y algo que se tiene) en el proceso anterior. Todo esto para proporcionar capas de seguridad que blinden la credencial. Ésta ofrece flexibilidad para funcionar en sistemas de base de datos, en medios de almacenamientos como chips para tarjetas inteligentes o pasaportes digitales. También se desarrollaron esquemas para llevar a cabo la autenticación de usuarios por medio de la CIE. Como la autenticación vía remota por medio de una interfaz Web y la autenticación en una máquina local.
índice general
1. Introducción 17 1.1. Antecedentes 17 1.2. Descripción del problema 18
1.3. Objetivo general 20 1.4. Objetivos específicos 20 1.5. Alcance y limitaciones 21
1.6. Metodología 21 2. Estado del Arte 23 2.1. Criptografía 23
2.1.1. Metas de la criptografía 24 2.1.2. Terminología básica 24 2.1.3. Principio de Kerckhoffs 25 2.1.4. Cifrado simétrico 26
2.1.4.1. AES 27 2.1.5. Cifrado asimétrico 28
2.1.5.1. RSA 32 2.1.6. Funciones Hash 32
2.1.6.1. SHA-2 35
2.1.7. Radix64 36 2.2. Ocultamiento de la información 37
2.3. Esteganografía 39 2.3.1. Usos de la esteganografía 40
2.3.2. El proceso esteganográfico 41 2.3.3. Esteganografía pura 43 2.3.4. Esteganografía de clave privada 44
2.3.5. Esteganografía de clave pública 45 2.3.6. La llave esteganográfica 47
9
2.3.7. Seguridad y robustez 47
2.4. Imágenes 48 2.4.1. Esquema de colores 49
2.4.1.1. RGB 49 2.4.1.2. YCbCr . 50 2.4.2. Imágenes BMP 51 2.4.3. Imágenes JPEG 52 2.4.4. Imágenes basadas en paleta de colores 58
2.5. Técnicas esteganográficas 59 2.5.1. El dominio del espacio 60
2.5.1.1. Sustitución del bit menos significativo (LSB) . 60 2.5.1.2. Imágenes basadas en paleta de colores . . . . 63
2.5.2. El dominio de la transformación 68 2.5.2.1. DCT por modulación de coeficientes 68
2.5.2.2. LSB en los Coeficientes D C T 70 2.5.2.3. Transformación discreta de Fourier 72
2.6. Esteganálisis 74 2.6.1. Detección de la información escondida 75
2.6.2. Extracción y deshabilitación de la información 76
2.7. Selección del algoritmo esteganográfico 76
2.8. Trabajos relacionados 77 3. Diseño de la CIE 79
3.1. Introducción 79 3.1.1. Autenticación robusta 79
3.1.2. Confidencialidad de la información 80
3.1.3. Secrecía de la información 80 3.1.4. Integridad de la información 81 3.1.5. Disponibilidad de la información 81
3.1.6. Sistema de autenticación 82 3.2. Creación de la CIE 82
3.2.1. Módulo de obtención de la información 84
3.2.2. Módulo Criptográfico 84 3.2.2.1. Cifra/descifra 85 3.2.2.2. Integridad 85 3.2.3. Módulo esteganográfico 87
3.2.3.1. Llave esteganográfica 88 3.2.3.2. Selección e incrustación 90
ÍNDICE GENERAL 11
3.2.4. Extracción de los datos 92 3.3. Creación del sistema de autenticación 94
3.3.1. Base de datos de CIEs 96
3.3.2. Modo local 96 3.3.2.1. Autenticación desde un medio portable . . . . 96
3.3.3. Modo remoto 97
4. Implementación 99 4.1. Introducción 99 4.2. Hardware y software utilizados 99
4.3. Puesta en marcha 103 4.3.1. Obtención de la información 103
4.3.2. Proceso de creación de la CIE 105
4.3.3. Autenticación local 108 4.3.3.1. Autenticar una CIE portable 108
4.3.4. Autenticación remota 109
4.4. Pruebas 112 4.4.1. Test-3 113 4.4.2. Resultados test-1 114
4.4.3. Resultados test-2 117 4.4.4. Resultados test-3 118
5. Conclusiones 119 5.1. Comparación con los trabajos relacionados 120
5.2. Trabajos futuros 121 A. Evolución de la esteganografía 123
B. El lado obscuro 127
índice de figuras
2.1. Modelado de criptografía simétrica 27 2.2. Modelado de criptografía asimétrica 29 2.3. Autenticación mediante criptografía asimétrica 30
2.4. Modelo híbrido 31 2.5. Clasificación del ocultamiento de la información 38
2.6. El problema de los prisioneros de Simmons 41 2.7. Proceso de incrustación en esteganografía pura 43 2.8. Proceso de extracción en esteganografía pura 44 2.9. Incrustación en esteganografía de clave secreta 45 2.10. Extracción en esteganografía de clave secreta 45
2.11. Esteganografía con clave pública 46
2.12. Colección de píxeles 49 2.13. Espacio de colores RGB 50 2.14. Componentes Y,Cb,Cr de una imagen 51
2.15. Proceso JPEG 53 2.16. Componente Y divido en bloques 53
2.17. Bloque de 8x8 54 2.18. Ordenamiento zigzag 57
2.19. Proceso de descompresión JPEG 58 2.20. Imágenes basadas en paletas de colores 58 2.21. Tabla de colores para la imagen tux.gif 59 2.22. Cubierta original baile-azteca.bmp, tamaño 20.2 mb 62
2.23. Esteganograma baile-azteca-stego.bmp, tamaño 20.2 mb 63
2.24. Paleta de colores 66 2.25. Paleta de colores ordenada 67
3.1. Modelo general de la CIE 83 3.2. Módulos de la CIE 83
13
3.3. Diagrama de flujo para la cifra de datos 85 3.4. Diagrama de flujo para la descifra de datos 86 3.5. Diagrama de flujo para el resumen de los datos 86 3.6. Diagrama de flujo para la comparación de resúmenes 87
3.7. Proceso esteganográfico 88 3.8. Diagrama de interacción del proceso esteganográfico 89
3.9. Extracción de los datos 92 3.10. Diagrama de flujo para la extracción de los datos 93
3.11. Diagrama para la autenticación 95 3.12. Modelo local de autenticación 97
3.13. Modelo local portátil 98 3.14. Modelo remoto de autenticación 98
4.1. Hardware utilizado 100 4.2. Lectores de huellas digitales 100
4.3. Recolección de información personal 104 4.4. Obtención de la huella del usuario 104
4.5. Abrir foto del usuario 106 4.6. Guardar esteganograma 106 4.7. Finalización de la CIE 107
4.8. Conexión a la base de datos 108
4.9. Autenticación local 109 4.10. Autenticación desde un medio portable 110
4.11. Interfaz Web 110 4.12. Pantalla de Login 111 4.13. Usuario autenticado vía Web 111
4.14. Usuario no autenticado vía Web 112 4.15. Gráfica de calidad de huellas digitalizadas por el lector 115
4.16. Gráfica de coeficientes en las imágenes 115 4.17. Gráfica de la cantidad de espacio utilizado 116 4.18. Gráfica del tiempo del proceso de creación de la CIE 117
5.1. CIE en un tarjeta inteligente 121 A.1. Letras decoradas en "Hypnerotomachia Poliphili" 124
A.2. Tabla del la tercera parte "Steganographia" 125 A.3. Ocultamiento de información en notas musicales 126
índice de tablas
2.1. Diferencias entre esteganografía y criptografía 40
2.2. Cuantificación para el componente Y. 55 2.3. Cuantificación para los componentes Cb y Cr 56
2.4. Ejemplo de tabla de colores 59 2.5. Valores binarios para los índices 64 2.6. Valores binarios para los índices reordenados. . 64
2.7. Tabla con el mensaje 001 incrustado 65
2.8. Datos de la imagen 65 2.9. Datos de la imagen. 67 2.10. Comparación entre las técnicas de incrustación 77
4.1. Contenido de las bases de datos 114
15
Capítulo 1 Introducción
1.1. Antecedentes
La autenticación de usuarios cada día cobra más relevancia, es indispen- sable para las organizaciones tanto privadas como públicas.
Para las organizaciones privadas como corporaciones o empresas que ma- nejan información confidencial, es de vital importancia certificar a todos los usuarios que tienen acceso a sus instalaciones, para evitar el robo de infor- mación secreta que pueda causar daño a sus intereses.
En lo referente a lo gubernamental, es sumamente importante que se pueda garantizar la protección de los datos personales, la autenticación y la gestión de identidades con un mecanismo de validación de personas que sea altamente confiable. Para utilizarlo en diversas actividades de gobierno electrónico, como votaciones, etc.
El uso de biométricas para la autenticación de usuarios es un arte que se usa cada vez más por la confiabilidad y seguridad que proporcionan. Siendo la de las huellas dactilares la más madura y aceptada a nivel mundial. Sin embargo mucha gente está todavía renuente a confiar en algún tipo de iden- tificación donde su huella pueda ser extraída y reproducida.
El reto de esta tesis es proponer e implementar un modelo donde la huella dactilar de una persona pueda ser almacenada en un medio seguro y alta-
17
mente confiable para su posterior utilización en identificación o verificación de usuarios.
1.2. Descripción del problema
Los mecanismos de autenticación se dividen en aquellos que autentican al usuario basado en algo que se tiene, algo que se sabe y algo que se es [O'G03]
[KayOO].
La autenticación basada en "algo que se tiene", reposa en un objeto físico que el usuario lleva consigo y que de alguna forma comprueba la identidad de éste. Ejemplos de este tipo de autenticación pueden ser tarjetas inteligentes que son leídas por algún dispositivo y permiten la entrada a un determinado sitio.
El tipo de autenticación más común es la basada en "algo que se sabe".
Esta depende de un conocimiento del usuario, almacenando dentro el siste- ma. El usuario introduce este conocimiento en el sistema y éste lo compara con lo almacenado. Como ejemplo podemos mencionar el NIP (Número de Identificación Personal) de las tarjetas de crédito o la contraseña para entrar a un sistema.
La autenticación basada en "algo que se es", se fundamenta en las carac- terísticas físico/biológicas de un individuo. Esta técnica también se conoce como biométrica. Se realiza una medición física y se compara con un perfil almacenado con anterioridad. Entre las características más utilizada pode- mos mencionar la huella digital, la geometría de la mano y el iris del o j o .
Los mecanismos clásicos de autenticación han sufrido de diferentes ata- ques. Por ejemplo, los sistemas de banca electrónica utilizan una autentica- ción basada en lo que se sabe, sin embargo ha sido una de las más atacadas.
Se desconoce el monto de las pérdidas por parte de los usuarios de la banca electrónica como resultado de este tipo de ataques. En México según cifras de la Comisión Nacional para la Protección de los Usuarios de Servicios Fi- nancieros(Condusef) [Con07] las pérdidas por este tipo de fraude en el 2006 fueron de 215 millones de pesos, esto de tan sólo 640 denuncias registradas, y cerca de 5 mil millones de pesos se pierden debido al robo de identidades
1.2. DESCRIPCIÓN DEL PROBLEMA 19
según la Asociación Internacional de Investigadores de Crímenes Financieros (IAFCI por sus siglas en inglés) [IAF07]. Los sniffers y keyloggers son las he- rramientas más utilizadas para obtener contraseñas de los usuarios y obtener lo que se sabe, y con ello realizar ataques de suplantación. Los programas llamados keyloggers se instalan automáticamente desde la red, y representan una puerta trasera en los sistemas, las claves de acceso les son robadas a usuarios descuidados o neófitos en las nuevas tecnologías. Todo esto es posi- ble porque la contraseña, sólo representa algo que se sabe y no un mecanismo integral de autenticación.
Los mecanismos basados en "algo que se tiene" presentan la desventa- ja de autenticar al objeto y no siempre al usuario. Si el usuario Benito le proporciona su credencial a Alicia, ésta puede autenticarse como Benito sin ningún problema, pudiendo suplantar la identidad. La pérdida o robo del objeto tiene como consecuencia la inversión de tiempo y recursos para su reposición.
Los mecanismos basados en "algo que se es" también han sido víctimas de ataques. En enero del 2002 el equipo del investigador japonés Tsutomu Matsumoto [Mat02] demostró que es posible engañar a algunos dispositivos biométricos (ya que existen algunos que verifican la presión sanguínea y evi- tan este ataque) basados en huellas dactilares, utilizando elementos caseros.
Los investigadores presentaron dos métodos, en el primero recrean la huella digital directamente de un dedo y en el otro la recrean partir de huellas obte- nidas en diferentes objetos. Este ha sido uno de los ataques más importante contra mecanismos biométricos, ya que desgraciadamente la mayor parte de lectores no son capaces de comprobar que el dedo del cual se extrae la huella se encuentre vivo.
Por todo lo anterior se necesita tener un mecanismo de autenticación que sea robusto y confiable, en nuestro trabajo se creará un sistema que cum- pla con los requerimientos de seguridad necesarios para garantizar lo anterior.
En el aspecto social la intención de este proyecto es contribuir a la crea- ción de mecanismos de autenticación que sean cada vez más seguros para beneficio de la sociedad. Y reducir las cifras por pérdidas en suplantación y robo de identidad mencionadas anteriormente por la Condusef y la IAFCI.
En el aspecto científico nuestro trabajo experimenta con dos ramas de la seguridad (criptografía [MV096] y esteganografía [PAK99]) en busca de crear un dispositivo de seguridad funcional, útil y práctico. Como es la pro
puesta de esconder la huella del usuario en una fotografía. De tal manera que romper el sistema significa pasar por dos niveles de seguridad, siendo esto extremadamente difícil.
Entonces es posible crear una Credencial de Identificación Electrónica (CIÉ) a través de técnicas de seguridad como es la criptografía y estegano
grafía para lograr un mayor nivel de seguridad en sistemas de autenticación de usuarios.
1.3. Objetivo general
El objetivo de este trabajo es la creación de una credencial de identifica
ción electrónica (CIÉ), con una seguridad robusta. La credencial utilizará los factores de autenticación "algo que se sabe" (clave privada) y "algo que se es" (vector característico de una huella digital). La información será tratada con técnicas criptográficas y de esteganografía para ocultar la información en la fotografía del usuario, misma que será usada para la autenticación entre las partes mediante un sistema de verificación.
La CIÉ deberá cumplir con las siguientes características:
• Autenticación robusta.
• Confidencialidad de la información.
• Secrecía de la información.
• Integridad de la información.
• Disponibilidad de la información.
1.4. Objetivos específicos
• Conseguir la extracción de la huella mediante un dispositivo lector de huellas dactilares.
1.5. ALCANCE Y LIMITACIONES 21
• Implementar el cifrado de la información (huella y datos personales) del usuario.
• Implementar el resumen (hash) de la información.
• Diseñar e implementar una aplicación que permita crear la CIÉ, con- gregando el resumen, cifrado y ocultamiento de la información.
• Diseñar e implementar un sistema de autenticación que valide a los usuarios.
1.5. Alcance y limitaciones
Dentro de los alcances de la tesis está el estudiar y comprender las dife- rentes técnicas de esteganografía, para poder hacer uso de ellas en la creación de la CIÉ.
El trabajo se limita a utilizar el vector característico previamente ob- tenido de la lectura de la huella dactilar. En lo referente a criptografía la investigación se limita a lo básico para poder realizar el cifrado con AES y el resumen con SHA-256, sin profundizar en los demás algoritmos y técnicas criptográficas.
1.6. Metodología
Se investigará las diversas técnicas esteganográficas para decidir cual es la mejor opción para el proyecto. Con el uso de la técnica seleccionada se logrará integrar los dos factores de autenticación propuestos para la CIÉ.
Con el uso de SHA-256 se obtendrá el resumen del vector característico de la huella digital y de la información personal del usuario. Mediante el algorit- mo AES se cifrará la información del vector, una vez cifrada la información se utilizará esteganografía para ocultar la información (tanto el resumen como el cifrado) en la foto del usuario. La clave privada será utilizada tanto para el proceso de cifrado como para el de esteganografía.
De ésta manera la información no será visible ni accesible para ser falsi- ficada. La técnica de cifra usada garantiza la confidencialidad de los datos,
mientras que el resumen nos asegura que la información no haya sido alterada de alguna manera. El ocultamiento de la información en la imagen hace más robusta la seguridad de la CIÉ.
Incluso si alguien robará la fotografía le sería imposible extraer la huella de la imagen ya que desconoce la contraseña y donde se encuentra almace- nada; de igual forma si alguien interceptará la contraseña no cuenta con la foto y por ende no tiene acceso a la huella.
En el proceso de autenticación la parte autenticadora contará con la ima- gen que contiene la huella. El usuario digitalizará su huella a través de un lector y tecleará su contraseña. La contraseña será utilizada para descifrar la huella del archivo, que posee la parte autenticadora y a continuación proce- derá a comparar ambas huellas para determinar si el usuario es autenticado o no. Este procedimiento se puede realizar de forma local o remota:
• Local. En el modo local el sistema debe ser capaz de verificar a un usuario que proporcione su huella y contraseña en una máquina local.
Este modo de la CIÉ podrá ser implementada en sistemas que necesiten autenticación de usuarios, por ejemplo acceso físico en los aeropuertos, edificios particulares, validación de votantes en elecciones, etc.
• Remoto. La huella y la contraseña se proveen vía una interfaz Web. Lo cual permite que el proceso pueda ser remoto. Este modo está pensan- do en la seguridad de sistemas de autenticación que necesiten validar remotamente a usuarios para tener acceso al sitio o también para re- clamar ciertos privilegios.
La idea de que la parte autenticadora almacene la CIÉ, es decir la imagen con la huella cifrada, es para que un atacante no tenga directamente acceso a ella. Cabe señalar que la contraseña nunca será almacenada en alguna base de datos, su función será descifrar la información, por lo consiguiente la única persona que cuenta con la contraseña será el usuario.
La credencial debe tener flexibilidad para funcionar tanto en base de datos, como en dispositivos de almacenamiento como chips dentro de una tarjeta inteligente para crear un DNI (documento nacional de identidad, en México credencial para votar con fotografía) o pasaportes digitales. A esta característica nos referimos como "portabilidad".
Capítulo 2
Estado del Arte
2.1. Criptografía
Hoy en día con el crecimiento de la Internet y los sistemas de informa
ción que proveen comunicación a millones de personas y a diario se realizan transacciones millonarias, compras electrónicas, intercambio de información confidencial, etc. Surge la necesidad de garantizar la seguridad de la informa
ción. En este contexto se desenvuelve la criptografía que ha dejado de ser un tema relacionado solamente con lo militar para convertirse en una poderosa herramienta para empresas y personas que necesitan garantizar la privacidad de su información digital.
La "criptografía" es el arte y ciencia de mantener los mensajes seguros.
En esta técnica transformamos el mensaje para hacer su significado obscuro de tal manera que sea imposible de leer para las partes no autorizadas. Para lograr este objetivo la estructura del mensaje es mezclada y revuelta con lo cual se logra obtener un significado ininteligible y sin sentido, solamente las personas con la llave apropiada pueden revertir el proceso para obtener el texto plano.
Alfred Menezes [MV096] define: "La criptografía es el estudio de técnicas matemáticas relacionadas con los aspectos en seguridad de la información, tales como confidencialidad, integridad de los datos, autenticación de la en
tidad y autenticación del origen de los datos".
23
En esta definición podemos apreciar que el objetivo de la criptografía es amplio y de gran importancia para los sistemas de información, no solamente se puede asegurar que los mensajes sean ininteligibles sino también validar la identidad de las personas y verificar que los datos no hayan sido alterados de alguna forma.
2.1.1. Metas de la criptografía
Como se menciono anteriormente la criptografía está estrechamente rela
cionada con la seguridad de la información, su meta es poder garantizar el siguiente conjunto de aspectos:
• Confidencialidad: Se asegura que la información transmitida o alma
cenada en un sistema de computo sea accesible sólo para las partes autorizadas. Este es el aspecto que se refiere al secreto y privacidad de los datos.
• Integridad: Se asegura que solamente entidades autorizadas puedan mo
dificar los valores de un sistema de computo o información transmitida.
Debe tener la habilidad de detectar la modificación de los datos por per
sonas no autorizadas. La modificación de los datos incluye: inserción, borrado y sustitución.
• Autenticación: Se asegura que el origen del mensaje sea correctamente identificado y se tenga la convicción de que la identidad no es falsa. Se suele dividir en dos partes:
• Autenticación de la entidad: Se refiere a que las partes participan
tes se deben autenticar unas a otras.
• Autenticación de los datos: Trata aspectos como el origen de los datos, fecha, contenido, etc.
• No repudiación: Para asegurarse que ninguna de las partes niegue acuerdos o acciones previas.
2.1.2. Terminología básica
En las siguiente sección revisaremos los conceptos básicos e importan
tes necesarios para entender las técnicas criptográficas que servirán a este trabajo.
2.1. CRIPTOGRAFÍA 25
• Criptología es el estudio de la criptografía y criptoanalisis.
• Criptografía se refiere a la construcción de códigos secretos.
• Criptoanalisis se refiere a romper los códigos secretos. Además de poner al descubierto las debilidades y deficiencias de los códigos. El "romper"
el código consiste en descubrir los elementos que lo componen, básica
mente sus claves.
• Texto plano es el mensaje a cifrar que será procesado por un algoritmo para producir texto cifrado.
• Texto cifrado o criptograma es el mensaje cifrado mediante un algorit
mo de cifrado.
• Algoritmo de cifrado es el proceso para convertir texto plano en texto cifrado.
• Algoritmo de descifrado proceso inverso que remueve los códigos del texto cifrado para obtener nuevamente el texto plano.
• Criptosistema conjunto de procedimientos que garantizan la seguridad de la información y que utilizan técnicas criptográficas.
• La clave es usada para configurar el criptosistema tanto para cifrar como para el descifrado.
2.1.3. Principio de Kerckhoffs
En 1883 Auguste Kerckhoffs (1835-1903) enunció los primeros principios criptográficos en "La Cryptographie Militaire" [Ker83]. Una de las más impor
tantes reglas de la criptografía fue descrita en su trabajo: Kerckhoffs asume que el algoritmo usado para cifrar los datos es conocido por su oponente, entonces la seguridad debe recaer en el secreto de la clave.
A partir de este principio la "seguridad por obscuridad", donde se asume que el oponente permanecerá ignorante del sistema usado, se considera inse
gura.
Los criptosistemas se pueden clasificar con referencia en la forma en que usan las claves. Si tanto el emisor como el receptor usan la misma clave se
dice que el sistema es simétrico. En cambio si ambos utilizan diferentes claves el sistema es asimétrico. A continuación se recalcarán los puntos importantes de ambos.
2.1.4. Cifrado simétrico
Un criptosistema de cifrado simétrico o de llave privada consta de una sola clave para cifrar y descifrar. Dicha clave se dice que es privada porque únicamente el emisor y el receptor deben conocerla, para esto se deben poner de acuerdo en la manera de transmitirla a través de un canal seguro.
El cifrado simétrico nos servirá en este trabajo para mantener la confi
dencialidad de la huella digital al cifrar el vector característico de la misma, de tal manera que sea inaccesible para entes no autorizados.
El cifrado del algoritmo a usar debe ser lo suficientemente fuerte para satisfacer el principio de Kerckhoffs, es decir que no sea posible descifrar el texto cifrado sin contar con la clave.
En la figura 2.1 se muestra el modelo del criptosistema simétrico. Sea X el texto plano a cifrar, K la clave de cifrado y E el algoritmo de cifra a usar, entonces obtenemos el texto cifrado Y haciendo:
La notación nos indica que el texto cifrado es producido mediante la función de cifra haciendo uso de la clave y que recibe como parámetro de entrada el texto claro. Para invertir el proceso es necesario contar con la clave de cifrado y hacer:
Es decir recuperamos el texto plano mediante la utilización del algoritmo de descifrado D recibiendo como parámetros la clave y el texto cifrado.
Existen una variedad de algoritmos para el cifrado simétrico como el DES {Data Encription Standard) [Dav78], 3DES [Sta99], IDEA (Internatio
nal Data Encryption Algorithm) [MV096], BLOWFISH [Sch94], entre otros.
Sin embargo el algoritmo a usar en este trabajo de tesis es el AES por ser
Y = EK(X) (2.1)
X = DK(Y) (2.2)
2.1. CRIPTOGRAFÍA 27
Clave secreta (k) Clave secreta (k)
Algoritmo de cifra (E) Algoritmo de descifrado (O)
Figura 2.1: Modelado de criptografía simétrica.
actualmente el estándar de seguridad y garantizar seguridad y rapidez. En la siguiente sección hablaremos brevemente de las características de este al- goritmo.
2 . 1 . 4 . 1 . A E S
AES (Advanced Encryption Standard) [Sta02] es considerado el sistema de cifrado simétrico más seguro en nuestros días. El algoritmo fue seleccionado de un concurso lanzado por la NIST (National Institute Standard and Te- chnology) como reemplazo del ya inseguro DES (Data Encryption Standard).
El algoritmo ganador fue el Rijndael desarrollado por dos criptólogos bel- gas Joan Daemen y Vincent Rijmen (de la abreviación del apellido de ambos se deriva el nombre del cifrador). Se basa en construcciones algebraicas con diez etapas que involucran operaciones de sustituciones de bits (ByteSub), cambio de renglones (ShiftRow), mezcla de columnas (MixColumn) y suma de claves de etapa (AddRoundKey). Fue diseñado para resistir el criptoanali- sis lineal y diferencial.
Aun cuando en [FSW01] se hace énfasis en una posible debilidad del Rijn- dael en la simplicidad de sus operaciones algebraicas y en [CP02] se publica una técnica conocida como "ataque XSL" que en teoría podría romper el criptosistema, hasta el momento en la práctica este ataque no es realizable [MR03] y no se sabe de algún ataque que haya resultado exitoso. Desde el
2003 el gobierno de los Estados Unidos, previo estudio y revisión de la NSA (National Security Agency), anunció que AES podia ser usado para infor- mación clasificada y "top secret" [CNS03], esto debido a que garantiza la seguridad por varias décadas.
Por todo lo anterior AES es el algoritmo ideal para utilizar en nuestro trabajo en lo que concierne a la cifra de los datos. Esta cifra añadirá una capa de seguridad más a nuestro esquema de la CIÉ.
2.1.5. Cifrado asimétrico
El estudio del cifrado asimétrico nos proveerá las bases para entender las funciones hash que se tratarán más adelante y el intercambio de claves a través de medios no confiables.
La criptografía asimétrica o de clave pública involucra el uso de dos cla- ves, una para cifrar y otra distinta para descifrar. Como resultado la clave para cifrar puede ser pública. Este diseño soluciona el principal problema de la criptografía simétrica: la distribución de la clave, debido a que la clave pública puede viajar a través de canales inseguros. Además se añaden fun- cionalidades importantes en áreas como confidencialidad y autenticación.
Whitfield Diflie y Martin Hellman [DH76] estudiaron la técnica en la cual está basada el cifrado asimétrico, con su novedosa técnica de intercambio de claves. A partir de esto la criptografía asimétrica se empieza a desenvolver.
En la figura 2.2 podemos observar el proceso de un criptosistema asimétri- co para proporcionar confidencialidad:
1. Se genera un par de claves, una pública y una privada.
2. La clave pública servirá para cifrar y se publica en un registro público o se distribuye en un archivo de texto. Todos los participantes pueden tener acceso a ella. La clave privada se mantiene en secreto.
3. Si Alicia quiere enviar un mensaje a Benito, tiene que cifrar el mensaje utilizando la clave pública de Benito.
2.1. CRIPTOGRAFÍA 29
Llavero público de Alicia
Algoritmo de cifra (E) Algoritmo de descifrado (D)
Figura 2.2: Modelado de criptografía asimétrica.
4. Cuando Benito recibe el mensaje, lo descifra utilizando su clave privada.
Ninguna otra persona puede descifrar el mensaje por que sólo Benito conoce la clave privada.
Por supuesto el criptosistema debe cumplir el principio de Kerckhoffs, es decir que computacionalmente no es posible determinar la clave de descifrado conociendo solamente el algoritmo y la clave pública.
El proceso anterior involucra el mensaje en texto claro X, Benito genera un par de claves relacionadas: una pública y accesible KUb y una clave privada KRb la cual es exclusiva de Benito. El algoritmo de cifrado E recibe como entrada X y KUb y como salida genera el texto cifrado Y:
Y = EKUb(X) (2.3)
El receptor es capaz de invertir el proceso de cifrado a través del algoritmo de descifrado D:
X = DKRb(Y) (2.4)
Nadie más es capaz de revertir el proceso sin conocimiento de KRb, aun
conociendo E,D y KUb.
Un esquema de criptosistema asimétrico para proporcionar autenticación es haciendo:
y — EKRO.{X) (2.5)
X = DKUa(Y) (2.6)
En este caso Alicia cifra el mensaje usando su clave privada, Benito o cualquier persona que posea la llave pública de Alicia puede descifrar el mensaje, ver figura 2.3.
Llavero público de Benito
Clave secreta de Alicia (KRaj
Algoritmo de cifra (Ej Algoritmo de descifrado |D)
Figura 2.3: Autenticación mediante criptografía asimétrica.
Puesto que Alicia utilizó su llave privada para cifrar es imposible alterar el mensaje, de esta manera el mensaje puede utilizarse como un tipo de fir
mado digital.
Este esquema proporciona autenticación ya que se puede confirmar que Alicia escribió el mensaje dado que KUa es usada para recuperar X, también proporciona no repudiación ya que el mensaje puede ser usado en caso de que Alicia quiera negar que escribió el mensaje. Lo que este criptosistema no
2.1. CRIPTOGRAFÍA 31
proporciona es confidencialidad ya que cualquiera que tenga acceso a la llave pública de Alicia puede leer el mensaje.
La autenticación, no repudiación y confidencialidad pueden ser alcanza- das con un criptosistema híbrido (ver figura 2.4):
Texto Plano (X)
Algoritmo de cifra (E)
Algoritmo de descifrado (D)
Figura 2.4: Modelo híbrido.
Z = EKUb[EKRa(X)} (2.7)
X = DKUa[DKRb(Z)} (2.8)
El criptosistema primero cifra el mensaje usando la clave privada de Ali- cia, posteriormente la salida de este proceso se cifra usando la clave pública de Benito. Únicamente Benito puede descifrar el mensaje usando su llave pri- vada para obtener el mensaje firmado por Alicia y a éste aplicarle descifrado utilizando la llave pública de Alicia. Como resultado se tiene autenticación ya que el mensaje viene firmado por Alicia con su llave privada además de ir cifrado con la llave pública de Benito, lo que añade confidencialidad de los datos y solamente Benito puede tener acceso al mensaje.
Existen varios algoritmos de cifra asimétrica, en este trabajo se escoge RSA por ser el actual estándar en las transacciones en la Internet por lo tanto es el más usado y hasta el momento sigue siendo confiable.
2.1.5.1. R S A
RSA fue uno de los primeros algoritmos en implantar la propuesta de Diffie-Hellman. Fue publicado en año 1977 por R.L. Rivest, A. Shamir y L.
Adleman [RSA77] (de la primera letra del apellido de los tres se deriva el nombre del algoritmo).
Trabaja con factorización de números primos y el teorema de Euler. La clave de cifrado se genera de escoger dos números primos lo suficientemen- te grandes para hacer extremadamente difícil encontrar factorizaciones del producto de los números escogidos, éstos son utilizados posteriormente para generar la clave de cifrado y de ésta se deriva la de descifrado. La seguridad del algoritmo depende de la dificultad del problema de factorización.
Se conocen diversos ataques que podrían poner en riesgo la seguridad de RSA, entre los más famosos se encuentra el ataque de tiempo de Kocher [Koc96] y el conocido como ataque predictor de banda [AcKKS07]. El ata- que de Kocher ha sido ampliamente estudiado y existen implementaciones de RSA que blindan al algoritmo de este ataque. Y el predictor de banda no ha podido romper en su totalidad la clave.
A pesar de la existencia de estos ataques aún no se considera inseguro el algoritmo ya que no lo han roto en su totalidad y tampoco se conoce de alguna computadora capaz de resolver en un tiempo adecuado el problema de la factorización de números primos grandes. Debido a lo anterior el algo- ritmo sigue siendo ampliamente utilizado hasta nuestros días, por ejemplo en Internet, SSL (Secure Socket Layer) que es el protocolo de seguridad más usado utiliza RSA para el intercambio de claves de sesión.
2.1.6. Funciones Hash
Una función hash recibe como entrada un mensaje y lo transforma en un "resumen", este resumen puede servir como "huella digital" del mensa- je o también se le conoce como mensaje digerido (message digest) o checksum.
2.1. CRIPTOGRAFÍA 33
Las funciones hash tienen que cumplir con ciertas características para garantizar la seguridad deseada:
• El mensaje de entrada X puede ser de tamaño variable.
• El resumen h, donde h = H(X), es de tamaño fijo.
• H(X) es relativamente fácil de calcular.
• Debe ser de un sólo sentido (one-way). Dado h no es factible poder encontrar X de tal forma que H(X) = h. Es decir que es impractica- ble encontrar la inversa de la función hash para llegar al mensaje de entrada.
• Resistencia de colisión débil. Dado X no es factible encontrar un men- saje Y, con Y ^ X de tal manera que H(Y) — H(X).
• Resistencia de colisión fuerte. A diferencia del anterior, aquí se pre- tende buscar dos mensajes aleatorios (X, Y), Y ^ X de tal forma que H(X) = H(Y), lo cual no debe ser factible.
Algunas aplicaciones principales del hash son:
• Integridad de Mensajes. Sirve para calcular si un mensaje o un archi- vo se transfirió correctamente sin errores o alteraciones. Se calcula el
checksum antes y después de la transferencia y se comparan ambos, si son iguales entonces no hubo alteración alguna. En caso contrario la transferencia llegó corrupta de cierto modo. Para sacar un hash se utiliza la ecuación:
h = H(X) (2.9)
• Firmas Digitales. Las funciones hash son más rápidas que el criptosis- tema usado para garantizar autenticación visto en la sección anterior.
Por tal motivo los "resúmenes" se usan en la creación de lo que se conoce formalmente como "firmas digitales". Esto es:
h = H(X) S = EKRa(h) h = DKUa(S)
(2.10)
Obtenemos un hash h del mensaje X, procedemos a cifrarlo mediante el algoritmo E utilizando la llave privada de Alicia, esto para generar la firma digital S. Para revertir el proceso y recuperar el hash se aplica un algoritmo de descifrado D con la llave pública de Alicia. El mecanismo de firmado digital proporciona autenticación, no repudio e integridad.
La autenticación y no repudio se logra debido a que A utilizó su llave privada y únicamente con su llave pública es posible revertir el proceso de cifrado. Para comprobar la integridad del mensaje se necesita volver a aplicar el hash al mensaje y comparar la salida contra el hash recibido, si son iguales el mensaje no sufrió alteración alguna, en caso contrario el mensaje ha sido alterado. Puesto que el mensaje viaja en texto plano cualquiera tiene acceso a la información por lo que no se cumple la confidencialidad. Para garantizar la confidencialidad se necesita que el mensaje y la firma digital sean cifrados usando la clave pública del destinatario:
En este caso se procede a obtener la firma S con el procedimiento explicado anteriormente. Siendo Benito el destinatario del mensaje se cifra el mensaje X plus S, utilizando la clave pública de Benito. De tal forma que solamente Benito podrá descifrar el mensaje y obtener la firma digital para comprobar que el mensaje vino de Alicia y no ha sido alterado.
• Esquemas por consigna. Son útiles cuando se está compitiendo por cier
ta meta y no se quiere revelar el resultado al oponente. Por ejemplo Alicia y Benito compiten resolviendo un problema de optimización de tráfico en redes, Alicia llega a una solución, a Benito le gustaría seguir
Y = EKUb(X,S) (X,S) = DKRb(X,S)
(2.11)
2.1. CRIPTOGRAFÍA 35 con la suya pero tiene que asegurarse que Alicia no cambie la de ella.
Entonces Alicia hace un hash de su solución y se la envía a Benito, Benito no puede ver la solución de Alicia con el simple "resumen" pero se asegura que Alicia no pueda cambiarla, cuando Benito termina pue- den comparar ambas y ver quien es el que gano. En caso que Benito llegue a la misma solución que Alicia, Alicia podrá comprobar que la encontró primero, al revelar su solución y calcular el hash de nuevo.
Estas funciones nos servirán para poder realizar un resumen de la infor- mación almacenada en la CIÉ con el propósito de verificar que ésta no haya sido alterada de alguna forma. Este resumen también será incrustado en la credencial, de tal manera que para verificar la integridad se tenga que calcu- lar el hash de la información y compararla contra la almacenada.
Entre los algoritmos de hash más usados se encuentra el MD5 (Message- Digest algorithm 5). Sin embargo la seguridad de éste se ha comprometido.
El ataque analítico de Xiaoyun Wang [WY05] et al. tan sólo tarda una hora, en un cluster de IBM, para encontrar colisiones en el algoritmo. En el 2005 Arjen Lenstra [LWdW05] et al. construyeron dos certificados con diferentes claves públicas pero el mismo hash md5. Poco tiempo después Vlastimil Klima [Kli05] describe un algoritmo mejorado que puede construir colisiones en md5 en tan solo unas cuantas horas en una notebook. Por estas razones md5 no es el ideal para utilizar en nuestro trabajo.
2.1.6.1. S H A - 2
SHA (Secure Hash Algorithm) fue desarrollado por la NSA (National Se- curity Agency) de los Estados Unidos y publicado por la NIST (National Institute of Standards and Technology) en el año 1993, esta versión es cono- cida como SHA-0.
El estándar aceptado en 1995 generalmente se conoce como SHA-1 [Sta99]
y produce un hash de 160 bits. En el 2005 Wang Xiaoyun et al., publicaron un ataque al SHA-0 [WYY05] poniendo en entredicho la seguridad de éste.
Este ataque sirvió de base para romper el SHA-1 [Sch05] ya que las diferen- cias con SHA-0 son mínimas.
Además de SHA-0 y SHA-1 existe SHA-2 que implementa tamaños de
hash de 224, 256, 384, 512. Hasta el momento SHA-2 no ha sido roto. Es por esto que en nuestro trabajo se utilizará para obtener el resumen.
2.1.7. Radix64
El código utilizado por la mayor parte de las computadoras para repre- sentar caracteres es el código ASCII. Se trata de un código de 7 bits, dejando el octavo bit para paridad. Es importante no confundirlo con otros códigos de 8 bits como el estándar ISO-8859/1 que utiliza el octavo bit para representar caracteres adicionales usado en idiomas distintos al inglés como el español.
El código ASCII reserva los primeros 32 códigos (del 0 al 31) para caracteres de control, los cuales no representan información imprimible.
Una llave o un archivo es un conjunto de bits aparentemente aleatorios.
No es posible utilizar el código ASCII para representar los bits que componen una llave, ó los bits de un archivo que contiene un criptograma. Si tomamos grupos de siete bits y los representamos por su equivalente en ASCII nos po- demos encontrar con que coinciden con alguno de los valores no imprimibles.
Es necesario contar con un código diferente para representar una llave o un archivo cifrado.
En computación radix64 (también conocido como base64) es un esquema de codificación en el que cualquier dato binario es convertible a caracteres ASCII imprimibles. Es definido como contenido MIME de transferencia para su uso en correo electrónico. Los únicos caracteres que utiliza son los roma- nos en mayúsculas y minúsculas (A-Z, a-z), los numéricos (0-9), el símbolo de suma ( " + " ) y división ( " / " ) , así como el símbolo de igual ( " = " ) que se emplea como un código especial de sufijo.
Las especificaciones completas se encuentran en el RFC 141 y RFC 2405.
El esquema está definido para datos cuya longitud original es múltiplo de 8 bits. El código resultante es aproximadamente 33 % más grande que los datos originales y típicamente aparece como un conjunto de caracteres aleatorios.
En nuestro proyecto base64 será usado para evitar perdida de coinci- dencias en nuestros datos como la huella dactilar del usuario y la cifra del mensaje secreto.
2.2. OCULTAMIENTO DE LA INFORMACIÓN 37
2.2. Ocultamiento de la información
La necesidad de ocultar información ha existido en las sociedades desde tiempos inmemoriales. A sido una herramienta en los principales conflictos históricos, donde el valor del conocimiento es determinativo para tomar ven- taja sobre el contrario, de ahí surge la importancia de mantener este conoci- miento "oculto".
En la actualidad los sistemas de información han cobrado una vital im- portancia para el funcionamiento de los sectores de la sociedad humana. Con el crecimiento de la Internet los ataques a estos sectores se han multiplica- do, volviéndose la seguridad un factor de consideración principal. Se necesita garantizar la confidencialidad, integridad, autenticidad y disponibilidad de recursos, todo esto para garantizar el buen funcionamiento y operación de las organizaciones.
El estudio de las comunicaciones seguras no solo incluye a la criptografía sino también a la seguridad del tráfico de información, cuya esencia recae en el ocultamiento de la información [PAK99].
El ocultamiento de la información se encarga de encubrir la existencia de los datos (confidencialidad). El punto principal de la investigación en éste trabajo es encubrir la existencia del vector característico de la huella digital dentro de la fotografía del propietario de la huella.
En la figura 2.5 podemos observar la clasificación del ocultamiento de la información, propuesta en [Pfi96].
Los canales de encubrimiento son canales de comunicación que no fue- ron diseñados con la intención de transmitir información [PAK99]. Ejemplos comunes son: variaciones del tiempo y mensajes de error en los protoco- los de comunicación [GM93]; la radiación electromagnética, señales de video
[Eck85], etc.
El anonimato se refiere a que la identidad de un agente, que realiza cier- tas acciones, quede escondida de observadores [HO05]. La importancia de esta rama va en aumento debido a que cada día transitan más comunicacio- nes a través del Internet. Navegar en Internet o enviar archivos son dos de
Ocuttaml infom (Informatl
ento de la íación on hlding)
Canales de encubrimiento (Cover channels)
Esteganografía (Steganography)
Anonimato (Anonymlty)
I Marcado de derechos de autor 8 (Copyright marking)
rüti
I (Llni
Esteganografía lingüistica (Llngulstic Steganography)
Esteganografía técnica (Technlcal Steganography)
Marcado de derecho! de autor robusto (Robust copyright marking)
Marcado de agua débil I (Fragüe watermarklng)|
Marcado de agua imperceptible (Imperceptible watermarklng)
Marcado de agua visible (Visible watermarklng)
Figura 2.5: Clasificación del ocultamiento de la información.
las actividades en donde se desea utilizar el anonimato. Se han desarrollado aplicaciones interesantes en este campo: Sharad Goel et al. con su herbivore [WNR07] desarrollan un protocolo para dar anonimato en una red. Levine et al. crean hordes [LS02] un protocolo multicast con anonimato. Para transac
ciones Web anónimas Reiter y Rubin crean crowds [RR99]. Más aplicaciones interesante se pueden encontrar en: [SBS02], [SGR97] y [F99].
El marcado de derechos de autor tiene un gran interés en la industria privada. Para las industrias de la música, películas, libros y software es im
portante poner "marcas de agua" con leyendas de derechos de autor [PAK99].
También es posible esconder "huellas digitales" o "etiquetas" que son un tipo de números seriales que identifica a un cliente de tal manera que al detectar una copia ilegal se pueda identificar el origen. El consorcio de la industria del DVD pretende usar las marcas de agua para el manejo de copias de videos.
Por ejemplo los videos caseros no serán marcados, los programas de televisión serían marcados con "copiar solo una vez" y los videos comerciales se marcan con "nunca copiar". De tal manera que el equipo para copiar videos respete estas marcas [MCB99].
Para el objetivo de la tesis incursionaremos en la rama de la estegano-
2.3. ESTEGANOGRAFÍA 39 grafía.
2.3. Esteganografía
"Un efecto esencial de la elegancia es ocultar sus medios."
Honoré de Balzac (1799-1850) escritor francés.
Fabien Petitcolas [PAK99] nos dice con respecto a la esteganografía:
"Mientras que la criptografía protege el contenido de los mensajes, la es
teganografía oculta su existencia".
Esteganografía es derivada del griego stegos que significa "cubierta" y de grafía que significa "escritura" así que literalmente significa "escritura encu
bierta" [PAK99].
La esteganografía es el arte y ciencia de esconder información de tal ma
nera que su presencia no sea detectada [Cac04]. Su principal objetivo, antes de evitar que intrusos o personas no deseadas conozcan la información se
creta, es el de hacer pensar a esas personas que la información siquiera existe.
La meta de la esteganografía es incrustar un mensaje m en un medio portador c, de tal manera que la presencia de m en el objeto S, resultante del proceso de incrustación, no pueda ser detectado por nadie, excepto para el receptor autorizado [HM05].
A pesar de que es un arte que data desde hace mucho tiempo (véase Apéndice A ) , el auge de ésta se da en la pasada década por dos razones [PA98]:
1. Las agencias de publicidad y transmisión se interesaron en técnicas para esconder marcas de derecho de autor y números de series en películas digitales, grabaciones de audio, libros y productos multimedia.
2. Las restricciones gubernamentales de varios países hacia los servicios de cifra motivaron a la gente a estudiar métodos por los cuales mensajes privados pueden ser incrustados en una cubierta aparentemente inocua.
2.3.1. Usos de la esteganografía
Una pregunta frecuente con la cual se encuentra la gente, es la de ¿porque utilizar esteganografía, ¡sí ya existe la criptografía!?
La esteganografía se usa para ocultar información. Si dos partes (emisor y receptor) entablan una comunicación usando criptografía, una tercera parte (el espía) puede sospechar que información valiosa está siendo intercambiada e intentará realizar un ataque, tratando de romper el sistema o modificarlo.
Con la gran revolución de la computación y el incremento en velocidad de procesamiento cada día se facilita el trabajo del criptoanalisis, por lo que es importante no sólo cifrar sino también ocultar la información. Entonces el objetivo es crear una comunicación secreta la cual sea totalmente desconocida para el oponente. La información al estar oculta en un medio aparentemente inocente, no levanta sospecha alguna. En la tabla 2.1 podemos observar una comparación entre ambas técnicas de seguridad.
Esteganografía Criptografía Previene el descubrimiento de la
comunicación
Previene el descubrimiento del contenido por partes
no autorizadas No se conoce la transferencia
del mensaje
Se conoce la transferencia del mensaje
Tecnología poco conocida En desarrollo para ciertos formatos
Tecnología común Algoritmos bien conocidos No altera la estructura
del mensaje secreto
Altera la estructura del mensaje secreto
Tabla 2.1: Diferencias entre esteganografía y criptografía.
La utilidad de este tipo de sistemas se extiende a cualquier entidad con la necesidad de secrecía de la información. Hoy en día la esteganografía empieza a ser ampliamente estudiada y su presente y futuro se relaciona con usos en los campos de negocios, militar, derechos de autor, y en general con personas que quieran mantener conversaciones secretas. En el Apéndice B se incur- siona en la discusión del posible uso de la esteganografía por organizaciones terroristas.
2.3. ESTEGANOGRAFÍA 41
La CIÉ pretende ocultar el vector cifrado de la huella digital, de tal manera que no se sospeche que se está enviando información importante. Se trata de agregar un nivel de seguridad más.
2.3.2. El proceso esteganográfico
El modelo clásico de un sistema esteganográfico viene definido en el "pro- blema de de los prisioneros" por Simmons [Sim84]. En el Alicia y Benito son puestos en custodia en celdas separadas. Ellos intentan desarrollar un plan de escape, para su mala fortuna todo la comunicación debe de pasar por Wendy la guarda de la prisión. Wendy no dejará que se comuniquen a través de criptografía y si detecta información sospechosa los pondrá en aislamiento prohibiendo la comunicación entre ambos.
La solución es crear un canal subliminal en el cual se ocultará información importante dentro de un mensaje inocente, por ejemplo una pintura (figura 2.6). Si Wendy no sospecha que hay información oculta dejará pasar el men- saje, en caso contrario lo desechará.
¿Mensaje oculto?
Wendy
Benito
Figura 2.6: El problema de los prisioneros de Simmons.
Wendy puede puede ser "pasiva" o "activa". Un guarda pasivo simplemen-
te examina el mensaje y trata de determinar si contiene información oculta.
Si al parecer existe información secreta tomará las medidas necesarias. Por otro lado si es una guardia activa puede alterar la información, aún cuando no haya encontrado ningún rastro de información secreta que pudiera estar oculta, con la finalidad de frustrar la comunicación secreta [KSM04].
Para nuestros objetivos asumimos que Alicia y Benito son dos personas intentando intercambiar información clasificada a través de la red y Wendy es un espía que intercepta la comunicación entre ambos.
Los elementos básicos que intervienen en el proceso esteganográfico son:
• El mensaje secreto. Es aquel que se quiere mantener oculto y que úni
camente las personas autorizadas puedan tener acceso a el.
• El medio portador. Es el recipiente donde se incrustará la información secreta. Este puede ser:
• Audio/video digital: wav, midi, avi, mpeg, mpi, etc.
• Protocolos de red: TCP, IP y UDP.
• Discos y archivos: utilizan el espacio desperdiciado para ocultar información.
• Imágenes digitales: BMP, JPG y GIF.
• La llave esteganográfica. Es opcional y su objetivo es hacer más seguro el sistema.
• El algoritmo de incrustación/extracción. Comprende los pasos para in
crustar/extraer el mensaje secreto.
• El objeto esteganografiado o esteganograma. Es el medio portador en el cual ya se encuentra fusionado el mensaje secreto mediante el algoritmo de incrustación.
El estudio de esta tesis se centra en la esteganografía de imágenes, por lo que el medio portador utilizado y estudiado serán imágenes digitales.
Existen básicamente tres "estegosistemas": esteganografía pura, de clave secreta y de clave pública. A continuación se definen cada uno de ellos.
2.3. ESTEGANOGRAFÍA 43
2.3.3. Esteganografía pura
Este sistema no requiere el previo intercambio de claves. En éste el este- ganograma S está definido por:
S = I{c,m) (2.12) Donde / es el algoritmo de incrustación que recibe como parámetros al
medio portador c y el mensaje secreto m. El algoritmo es el que realiza la identificación de los bits redundantes y el subconjunto que va a utilizar de ellos para sustituirlos por la información del mensaje secreto, ver figura 2.7.
S = I ( c , m )
I d e n t i f i c a c i ó n
M e d i o p o r t a d o r C d e b i t s r e d u n d a n t e s E s t e g a n o g r a m a S H H H H B Selección de datos y I Z " * ^
• H reemplazamlenlo
K m •! I *HLiA
n n i t n
Mensaje secreto m
Figura 2.7: Proceso de incrustación en esteganografía pura.
Para recuperar el mensaje hacemos la inversa del algoritmo de incrusta
ción:
m = r1(S) (2.13)
Esto es aplicamos el algoritmo de extraer I '1 al medio portador y recu
peramos el mensaje secreto, ver figura 2.8.
La fuerza de estos sistemas radica en la seguridad por obscuridad en don
de se supone que el oponente desconoce el algoritmo de ocultamiento. Al no satisfacer el principio de Kerckhoffs este proceso es débil ya que una vez descubierta la técnica de integración será posible extraer el mensaje. Por este motivo esta técnica no es la indicada para alcanzar un alto grado de seguridad. Sin embargo estos sistemas pueden alcanzar un nivel de seguridad alto al utilizar un criptosistema para cifrar la información y aprovechar que la información cifrada es estadísticamente indistinguible de la "aleatoriedad
rn»r
1(S)
E s t e g a n o g r a m a S
w Mensaje
~ secreto m
de datos
Figura 2.8: Proceso de extracción en esteganografía pura.
natural" de la cubierta. Por lo tanto aunque Wendy intercepte la cubierta y conozca cual es la técnica de incrustación utilizada, no será capaz de distin
guir si el medio portador realmente tiene información o si tan sólo se trata de bits aleatorios. Únicamente la persona que posea la llave del criptosistema podrá revertir el proceso de cifrado.
2.3.4. Esteganografía de clave privada
En la esteganografía de clave privada se satisface el principio de Kerckhoffs ya que la seguridad recae en la secrecía de la clave (sabiduría heredada de la criptografía).
En este sistema el emisor y el receptor comparten una clave, ésta es la llave esteganográfica, la cual sólo conocen Alicia y Benito. Definimos el sistema:
S = Ik(c,m) (2.14)
En este caso aplicamos el algoritmo de incrustación / en función de la llave esteganográfica k, recibiendo la cubierta y el mensaje secreto como paráme
tros (ver figura 2.9).
Para realizar la extracción aplicamos la inversa del algoritmo de incrus
tación con la misma llave esteganográfica para recuperar el mensaje secreto (ver figura 2.10):
m = I^(S) (2.15) En estos sistemas se logra una seguridad robusta, ya que al satisfacer el
principio de Kerckhoffs el oponente no será capaz de extraer la información secreta sin contar con la llave. Aun así tenga conocimiento del algoritmo de
2.3. ESTEGANOGRAFÍA 45 S k = I ( c , m )
M e d i o p o r t a d o r C
I d e n t i f i c a c i ó n d e b i t s r e d u n d a n t e s
Clave d e usuario k
E s t e g a n o g r a m a S
Selección de datos y reemplazan! lento
Mensaje secreto m
Figura 2.9: Incrustación en esteganografía de clave secreta.
m=Ik"1(S) Clave de usuario k
E s t e g a n o g r a m a S
•
Mensaje secreto rn Selección y
recuperación de datos
Figura 2.10: Extracción en esteganografía de clave secreta.
incrustación, no tiene manera de distinguir los bits que contienen el mensaje secreto, de los bits que contienen solamente ruido. Esto es debido a que la llave se utiliza para seleccionar pseudo aleatoriamente un subconjunto de los bits redundantes que serán usados en la incrustación del mensaje [PA98].
2.3.5. Esteganografía de clave pública
La esteganografía de clave pública usa los criptosistemas asimétricos. Pa
ra esto Alicia y Benito intercambian claves públicas, mismas que utilizarán para cifrar mensajes e incrustarlos en la imagen portadora.
El protocolo sería el siguiente: Alicia cifra la información usando la clave pública de Benito, la incrusta en la cubierta y la envía por el canal inseguro.
Benito descifra la información usando su llave privada. Wendy aún conocien
do el algoritmo de incrustación no será capaz de reconocer si se envía texto cifrado en el medio portador o si se trata de puro ruido. El sistema viene ilustrado en la figura 2.11, entonces Alicia realiza:
Identificación
Medio portador C de bits redundantes Esteganograma S
_ e69d50a34c9f8d 8 0 ü C a 3 6 6 4 9 4 2 2 8e2be0eSc64lb
mensaje cifrado m' Uave pública
de B ÍKUb)
Llave privada deB(KRb) ffy
Mensaje - e69d50a34c918d
A »Oaca36649422 8e2be0e8e641b
m'
Figura 2.11: Esteganografía con clave pública.
5 = I(c, EKUb(m)) = / ( c , rri) (2.16) Y para recuperar el mensaje Benito realiza:
m = DKRb(I-1(S)) (2.17)
Este estegosistema se puede considerar como una variante de la estega
nografía pura, debido a que no utiliza ninguna llave esteganográfica en el proceso.
Otro enfoque que se puede utilizar con este tipo de sistemas, es para crear un protocolo de intercambio de claves. Para esto Alicia genera un par de claves (privada y pública) para utilizar con un criptosistema. Entonces incrusta la llave pública en el medio portador. La llave incrustada tiene apa
riencia de ser tan sólo bits aleatorios y Wendy no será capaz de reconocer que se está enviando información cifrada. Benito recibe el medio y procede a extraer la llave y utiliza ésta para cifrar una llave privada (generada por él) y un mensaje de recibido, después de incrustar la información cifrada en una cubierta, la envía a Alicia. Wendy de nuevo apreciará únicamente rui
do aleatorio. Alicia recibe la cubierta, extrae la información y ahora ambos comparten una clave que puede ser usada como llave esteganográfica.
Sin embargo este protocolo es susceptible al "ataque del hombre en el me
dio" . Ya que si Wendy se da cuenta del intercambio de claves públicas puede reemplazar la llave de Alicia y enviarle la propia a Benito, éste enviará la
2.3. ESTEGANOGRAFÍA 47
llave esteganográfica, Wendy interceptará esta comunicación y podrá desci- frar la llave, posteriormente le enviará la llave a Alicia cifrándola con la llave pública de ésta. Ahora Wendy está en condiciones de leer toda la información secreta.
2.3.6. La llave esteganográfica
La llave esteganográfica cumple una función muy importante, la cual es revolver la información en los bits redundantes de tal manera que no se pueda extraer la información en el orden correcto si no se cuenta con la cla- ve. Intentar extraer el mensaje secreto sin la llave producirá un texto que será confundido como ruido aleatorio.
En la literatura esteganográfica existe diversos enfoques para crear la llave esteganográfica, el más común es el uso de un generador de números pseudo- aleatorios, sin embargo Aura [Aur96] usa un generador de permutaciones de números pseudoaleatorios para seleccionar los bits redundantes, el generador es reiniciado para lograr una mayor aleatoriedad. Provos [ProOl] propone un generador de números pseudoaleatorios que funciona realimentándolo con una semilla y con un intervalo de bits redundantes cambiante, de acuerdo al tamaño restante del mensaje secreto y de los mismos bits pseudoaleatorios.
La opción de Provos es interesante pero muy lenta. La idea de Aura de realimentar la generación aleatoria será tomada en cuenta al momento de desarrollar nuestra función generadora de números pseudoaleatorios.
2.3.7. Seguridad y robustez
La seguridad en el contexto esteganográfico, se refiere al hecho de que los cambios realizados por el algoritmo de incrustación en la cubierta original, deben ser imperceptibles en el esteganograma. Este objetivo es fácil de cum- plir cuando se enfrenta contra un análisis humano, es decir que se comparen ambas cubiertas y los sentidos humanos no detecten nada raro. Sin embargo existen ataques estadísticos que dificultan alcanzar esta característica.
Muchos sistemas esteganográficos son sensibles a las modificaciones sobre la cubierta, por ejemplo en las imágenes digitales las técnicas de procesamien- to de imágenes (filtrado, transformaciones y transparencias). La compresión