• No se han encontrado resultados

Diseño e Implementación de una Credencial de Identificación Electrónica -Edición Única

N/A
N/A
Protected

Academic year: 2017

Share "Diseño e Implementación de una Credencial de Identificación Electrónica -Edición Única"

Copied!
143
0
0

Texto completo

(1)

Xochitepec, Morelos a 1 de diciembre de 2008 .

Lic. Arturo A z u a r a Flores:

Director de Asesoría Legal del Sistema

Por medio de la presente hago constar que soy autor y titular de la obra titulada " D i s e ñ o e implementación d e una credencial de identificación electrónica", en los sucesivo LA OBRA, en virtud de lo cual autorizo a el Instituto Tecnológico y de Estudios Superiores de Monterrey (EL INSTITUTO) para que efectúe la divulgación, publicación, comunicación pública, distribución y reproducción, así como la digitalización de la misma, con fines académicos o propios al objeto de EL INSTITUTO.

El Instituto se compromete a respetar en todo momento mi autoría y a otorgarme el crédito correspondiente en todas las actividades mencionadas anteriormente de la obra.

De la misma manera, desligo de toda responsabilidad a EL INSTITUTO por cualquier violación a los derechos de autor y propiedad intelectual que cometa el suscrito frente a terceros.

(2)

Diseño e Implementación de una Credencial de Identificación

Electrónica ­Edición Única

Title

Diseño e Implementación de una Credencial de

Identificación Electrónica ­Edición Única

Authors

Joel Cristoper Flores Escalante

Affiliation

Tecnológico de Monterrey, Campus Cuernavaca

Issue Date

2008­12­01

Item type

Tesis

Rights

Open Access

Downloaded

19­Jan­2017 00:43:19

(3)
(4)

SUPERIORES DE MONTERREY

TECNOLÓGICO

DE MONTERREY

Diseño e implementación de una Credencial de

Identificación Electrónica

Autor:

Joel C r i s t o p e r Flores Escalante

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íaz

D r . R o b e r t o Gómez Cárdenas

(5)

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

(6)
(7)

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,

(8)
(9)

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.

(10)
(11)

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

(12)
(13)

í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

(14)

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 DCT 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

(15)

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

(16)
(17)

í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

(18)

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

(19)

í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

(20)
(21)

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­

(22)

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 ojo.

(23)

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.

(24)

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

(25)

• 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. 

(26)

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.

(27)

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".

(28)

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

(29)

• 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.

(30)

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)

(31)

Clave secreta (k) Clave secreta (k)

[image:31.612.112.505.78.298.2]

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.

(32)

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.

(33)

Llavero público de Alicia

[image:33.612.83.474.78.456.2]

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)

(34)

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. 

(35)

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)

(36)

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

(37)

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­

(38)

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) 

(39)

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. SHA­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.

(40)

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.

(41)

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.

(42)

Ocuttaml infom (Informatl

ento de la íación on hlding)

Canales de encubrimiento (Cover channels)

Esteganografía

(Steganography) (Anonymlty) Anonimato

I Marcado de derechos de autor

8 (Copyright marking)

rüti

I (Llni

Esteganografía lingüistica

(Llngulstic Steganography) (Technlcal Steganography) Esteganografía técnica 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].

(43)

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.

(44)

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.

(45)

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.

(46)

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.

(47)

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 bits 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.

(48)

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)

(49)

Sk=I(c,m)

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 I d e n t i f i c a c i ó n

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.

(50)

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.

(51)

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.

(52)

con pérdida puede resultar en la merma total de la información secreta. Este tipo de compresión trata de reducir el tamaño de la información al remover componentes de señales imperceptibles. Un atacante activo que no pueda probar la existencia de mensajes secretos, estará tentado a modificar la cu­ bierta simplemente adhiriendo ruido aleatoriamente y con esto destruir la información. En el caso de las imágenes digitales puede aplicar técnicas de transformación o simplemente convertir la imagen a otro formato de archivo. Por todo lo anterior la robustez es una característica deseable en un sistema esteganográfico. Un sistema se dice robusto si es resistente a transformacio­ nes y ataques.

La seguridad y la robustez son dos características a tomar en cuenta al escoger alguna técnica esteganográfica para incrustar información. Hay que tomar en cuenta que la técnica esteganográfica no altere de manera drástica la cubierta y que esta técnica proporcione resistencia a los ataques de transformación y adhesión de datos. Al igual que se debe considerar la posibilidad de agregar una capa más de seguridad al utilizar criptografía para cifrar los datos, como ya vimos anteriormente esto añade ruido que puede pasar por "natural" haciendo más difícil el esteganálisis.

2.4. Imágenes

Como hemos mencionado anteriormente este trabajo se centra en la es­ teganografía de imágenes ya que el objetivo de este trabajo es crear una identificación electrónica. Los archivos de imágenes son los ideales para uti­ lizar porque de esta manera se utiliza la fotografía del usuario como medio portador.

Debido a la proliferación de las imágenes digitales y al alto grado de re­ dundancia que presentan, existe un alto interés en el estudio de éstas como medio portador [KSM04].

Para una computadora una imagen es una colección de números que re­ presentan diferentes intensidades de luz en diversos "puntos" [MEO05], ver figura 2.12.

(53)

m l l i

• 

mam

mam :•

• a  .... 

• 

mam

_

te 

• i 

•  • 

m ÜÉ  te 

• i 

• 

i  ü 

ÉS 

• S I 

• 

­.­

•  • 

•  • 

­

• 

­

­

• 

-

­­

­

Figura 2.12: Colección de píxeles. 

element), los cuales son la unidad más pequeńa en la que se compone una  imagen. Cada píxel ocupa una región pequeńa de forma rectangular y des­ pliega un color a la vez. Las imágenes se dibujan en la pantalla ajusfando el  color de los píxeles [Mia99]. 

2.4.1. Esquema de colores 

Existen diferentes maneras de representar los colores numéricamente, los  sistemas que se encargan de estos se llaman "modelos de colores". El número  de bits utilizados en un modelo de colores se llama "profundidad de bit". 

A continuación describiremos los principales esquemas de colores que nos  servirán en nuestro trabajo. 

2.4.1.1. R G B

El modelo comúnmente usado en las computadoras es el RGB (Red,  Green, Blue) este esquema utiliza una profundidad de 24 bits que componen  una terna de 8 bits que representan la intensidad del rojo, verde y azul. El  esquema también se conoce como "color verdadero". La cantidad de colores  que puede representarse por cada color es de 256 (28) y en total la terna RGB 

representa más de 16 millones de colores (ver figura 2.13). 

(54)

G G

Figura 2.13: Espacio de colores RGB. 

• Hexadecimal: FFFFFF. > Decimal: (255,255,255).

• Binario: (11111111,11111111,11111111).

2.4.1.2. Y C b C r

El otro esquema que estudiaremos es el YCbCr. La Y es el componente de luminosidad y representa la intensidad de la imagen, Cb y Cr son los

componentes de color para el azul y el rojo respectivamente, ver figura 2.14.

El componente Y por si solo es una representación en escala de grises de la imagen, la información más importante de la imagen se encuentra en este componente. Este hecho hace posible tener una mayor compresión al incluir más datos de Y que de Cb y Cr [Mia99].

La relación entre el modelo RGB y YCbCr está definida por las siguientes ecuaciones [Ham92]:

Y = 0.299^ + 0.587^ + 0.1145 (2.18)

Cb = ­0.16875 ­ 0.3313G + 0.55 + 128

Cr = 0.5R ­ 0.4187G ­ 0.08135 + 128

(55)

Figura 2.14: Componentes Y,Cb,Cr de una imagen.

R = Y + 1.402CV (2.19)

G = Y ­ 0.34414(C6 ­ 128) ­ 0.71414(Cr ­ 128)

B = Y + 1.772(C6­ 128)

El esquema YCbCr es el utilizado en procesos como el JPEG el cual es importante en nuestra investigación.

2.4.2. Imágenes

BMP

(56)

Se le puede dar a estos archivos una compresión sin pérdida de calidad: la compresión RLE (Run­length encoding) para 4 y 8 bits por píxel, no obs­ tante la compresión se utiliza exclusivamente en bloques grandes con colores idénticos, lo que le da un valor bastante limitado. Debido a lo anterior, es muy raro encontrar estos archivos con sus datos comprimidos, así como los archivos con codificación diferente a 24 bits [Caz05]. Por lo tanto el esquema de colores más usado con este formato es el RGB.

BMP es un archivo de mapa de bits, estos archivos se componen de di­ recciones asociadas a códigos de color, uno para cada cuadro en una matriz de píxeles. Normalmente, se caracterizan por ser muy poco eficientes en su uso de espacio en disco, pero pueden mostrar un buen nivel de calidad.

2.4.3. Imágenes JPEG

El proceso de compresión con perdida es usado en imágenes tipo JPEG

(Joint Photographic Experts Group). Más adelante se tratarán las técnicas de incrustación involucradas en este proceso.

El proceso JPEG involucra las siguientes fases (ver figura 2.15): 1. Preparación de la imagen.

2. Transformación de la imagen. 3. Cuantificación.

4. Codificación.

De estas fases las que realizan compresión son:

• La cuantificación de los coeficientes de la imagen. En esta operación se reduce el número de posibles valores de una cantidad y por lo tanto se reduce el número de bits para representarla.

• Codificación de la entropía. Es una técnica de compresión que busca compactar los datos cuantificados.

(57)

Imagen Preparación d e ia imagen Transformactón d e la imagen

Imagen

Comprimida Codificación Cuantfficación

fe

Figura 2.15: Proceso JPEG.

Paso 1: Preparación del imagen

El primer paso es convertir al esquema YCbCr por medio de la ecuación (2.18), de ésta manera separamos nuestros componentes, ver figura 2.14.

En la figura 2.16 podemos ver una figura en RGB de la cual extraemos su componente Y. 

Imagen RGB Componente Y División en subimagenes

Figura 2.16: Componente Y divido en bloques.

Figure

Figura 2.1: Modelado de criptografía simétrica.
Figura 2.2: Modelado de criptografía asimétrica.
Figura 2.24: Paleta de colores.
Figura 2.25: Paleta de colores ordenada.
+7

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)