Tema: Funciones hash y firma digital

Anuncio
Seguridad en redes. Guía 5
1
Facultad: Ingeniería
Escuela: Electrónica
Asignatura: Seguridad en redes
Tema: Funciones hash y firma digital
Contenidos
 Operación del algoritmo de función hash MD5
 Operación del algoritmo de función hash SHA-1
 Funcionamiento de la Firma Digital
Objetivos Específicos




Observar el comportamiento del algoritmo de funciones hash MD5.
Observar el comportamiento del algoritmo de funciones hash SHA-1.
Identificar las similitudes y diferencias entre las funciones hash MD5 y SHA-1.
Que el estudiante sea capaz de identificar las ventajas que ofrece la firma digital.
Materiales y Equipo
 PC con Windows XP instalado.
 Software CriptoRes y ExpoCrip instalado.
 Archivos de trabajo varios adjuntos a la práctica.
Introducción Teórica
SHA-1 (Secure Hash Algorithm o Algoritmo Hash Seguro).
Este estándar fue introducido el 17 de Abril de 1995, y especifica un algoritmo Hash
seguro, para calcular una representación de un mensaje o archivo de datos. Para un
mensaje de una longitud máxima de 264 bits como entrada, SHA-1 produce como salida
una cadena de 160 bits llamada "Mensaje Resumen". El mensaje resumen puede ser
introducido a un algoritmo de firma digital (o DSA por sus siglas en ingles), el cual genera
o verifica la firma del mensaje. Firmar el mensaje resumen en lugar del mensaje original
provee además, eficiencia en el proceso, debido a que el mensaje resumen es,
usualmente, mucho menor en tamaño que el original. El mismo algoritmo Hash con el que
se firmo el mensaje, debe ser utilizado por el receptor para verificar la firma digital.
El SHA-1 es llamado seguro debido a que, no es factible computacionalmente, encontrar
un mensaje que corresponda a un mensaje resumen dado, o encontrar dos diferentes
mensajes que produzcan el mismo mensaje resumen.
MD5 (Message Digest Algorithm).
Este algoritmo toma como entrada un mensaje de longitud arbitraria y produce una salida
de 128 bits, la cual representa la huella o un mensaje resumen de la entrada. Es además,
computacionalmente improbable producir dos mensajes que tengan el mismo mensaje
2 Seguridad en redes. Guía 5
resumen, o de obtener el mensaje original a partir de una mensaje resumen.
El algoritmo MD5 fue diseñado para ejecutarse muy rápidamente en computadoras
personales de 32 bits, además de que no requiere grandes tablas de substitución y puede
ser codificado de forma muy compacta.
Este algoritmo es una extensión del algoritmo para resumir MD4. MD5 es un poco más
lento que MD4 pero se considera mas seguro. MD5 se diseño porque las revisiones críticas
existentes señalaron que, MD4 fue quizás adoptado por su rapidez y no por su seguridad.
Debido a que MD4 fue diseñado para ser excepcionalmente rápido, se encuentra "en el
filo" en termino de riesgos de ataques cripto-analíticos exitosos. MD5 sacrifica un poco de
velocidad en su cálculo, por mucha más seguridad. Incorpora algunas recomendaciones
hechas por varios analizadores, y contiene varias optimizaciones. El Algoritmo MD5 se
hace de dominio público para revisiones y posibles adopciones como un estándar.
MD4 es un algoritmo de resumen del mensaje (el cuarto en la serie) diseñado por el
profesor Ronald Rivest del MIT. Implementa una función criptográfica de hash para el uso
en comprobaciones de integridad de mensajes. La longitud del resumen es de 128 bits.
Firma Digital
La firma digital de un documento es el resultado de aplicar cierto algoritmo matemático,
denominado función hash, al contenido. Esta función asocia un valor dentro de un
conjunto finito (generalmente los números naturales) a su entrada. Cuando la entrada es
un documento, el resultado de la función es un número que identifica casi unívocamente
al texto. Si se adjunta este número al texto, el destinatario puede aplicar de nuevo la
función y comprobar su resultado con el que ha recibido.
Para que sea de utilidad, la función hash debe satisfacer dos importantes requisitos.
Primero, debe ser difícil encontrar dos documentos cuyo valor para la función "hash" sea
idéntico. Segundo, dado uno de estos valores, debería ser difícil recuperar el documento
que lo produjo.
Algunos sistemas de cifrado de clave pública se pueden usar para firmar documentos. El
firmante cifra el documento con su clave privada y cualquiera que quiera comprobar la
firma y ver el documento, no tiene más que usar la clave pública del firmante para
descifrarla.
Existen funciones "hash" específicamente designadas para satisfacer estas dos
importantes propiedades. SHA y MD5 son dos ejemplos de este tipo de algoritmos. Para
usarlos un documento se firma con una función "hash", cuyo resultado es la firma. Otra
persona puede comprobar la firma aplicando la misma función a su copia del documento y
comparando el resultado con el del documento original. Si concuerdan, es casi seguro que
los documentos son idénticos.
Seguridad en redes. Guía 5
3
Procedimien
to
Operación del algoritmo de función hash MD5
Bibliografí
1. Hacer clic en el botón inicio de la barra de tareas de Windows, seleccionar Todos
a
los programas, hacer clic en la aplicación CriptoRes. Con lo cual iniciará la pantalla
que se observa en la figura 1.
Guía 1
2. En la barra de menú de la ventana de trabajo principal, hacer clic en la opción
Seguimientos > MD5. Con lo cual se nos despliega la ventana que se observa en la
figura 2.
3. En la sección Datos de entrada de esta ventana, seleccionar la opción Cadena de
texto y en la sección Tipo de Seguimiento, seleccionar la opción A nivel de bloques.
Luego, introducir los mensajes que se muestran a continuación:
a. Mensaje1 = abcd
b. Mensaje2 = Esta es una prueba de la función hash MD5
c. Mensaje3 = ESTA ES UNA PRUEBA DE LA FUNCIÓN HASH MD5
4. Para cada uno de los mensajes introducidos, obtener su función hash haciendo clic
en el botón Transformar y copiar a continuación los valores de dichas funciones.
a. Hash1=_______________________________________________________
b. Hash2=_______________________________________________________
c. Hash3=_______________________________________________________
5. Compare las funciones hash obtenidas a partir de los mensajes 2 y 3 obtenidas en
el
numeral
anterior
y
anote
sus
conclusiones
al
respecto.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
6. Obtener el mensaje 1 original a partir de la función hash 1. ¿Es posible realizar
este
procedimiento?
Explique
sus
conclusiones
a
continuación:
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
7. Hacer un seguimiento del mensaje 3 a nivel de bloques. Guardar el resultado, que
se puede observar en la pestaña Seguimiento del algoritmo, en un archivo de texto
llamado prac7md5bloques.txt.
4 Seguridad en redes. Guía 5
8. Hacer un seguimiento del mensaje 3 a nivel de pasos. Guardar el resultado, que se
puede observar en la pestaña Seguimiento del algoritmo, en un archivo de texto
llamado prac7md5pasos.txt.
9. Analizar ambos archivos y observar las operaciones efectuadas por el algoritmo
MD5 tanto en la operación por bloques como en la operación por pasos.
Figura 1: Ventana principal de aplicación de funciones Hash CriptoRes
10. Introducir por teclado el siguiente texto y calcular su función hash. Guardar el
resultado en un archivo de texto.
a. Mensaje4 = BEBA COCA COLA
11. A continuación, introducir por teclado el siguiente texto y vuelva a calcular su
función hash. Guardar el resultado en un archivo de texto.
a. Mensaje5 = BEBA BOCA COLA
12. Comparar la función hash de salida de ambos mensajes y comprobar que al
cambiar un solo bit del mensaje (la letra C por la B) cambian más de la mitad de
los bits de su función hash o resumen.
13. Haciendo uso de una calculadora científica obtenga el equivalente en binario de la
función hash para realizar esta comprobación.
Seguridad en redes. Guía 5
5
Figura 2: Ventana de Seguimiento del algoritmo MD5
14. Calcular la función hash del archivo neruda.txt y del archivo neruda.doc; los cuales
se encuentran en el directorio del instalador de la aplicación.
15. Observe que el contenido de ambos archivos es el mismo. Explique cual es la razón
por
la
cual
sus
funciones
hash
no
son
idénticas
también.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
16. Cerrar la ventana de Seguimiento del algoritmo MD5.
Operación del algoritmo de función hash SHA-1
1. Hacer clic en el botón inicio de la barra de tareas de Windows, seleccionar Todos
los programas, hacer clic en la aplicación CriptoRes. Con lo cual iniciará la pantalla
que se observa en la figura 1.
2. En la barra de menú de la ventana de trabajo principal, hacer clic en la opción
Seguimientos > SHA-1. Con lo cual se nos despliega la ventana que se observa en
la figura 3
6 Seguridad en redes. Guía 5
Figura 3: Ventana de Seguimiento del algoritmo SHA-1
3. En la sección Datos de entrada de esta ventana, seleccionar la opción Cadena de
texto y en la sección Tipo de Seguimiento, seleccionar la opción A nivel de bloques.
Luego, introducir los mensajes que se muestran a continuación:
a. Mensaje1 = abcd
b. Mensaje2 = SHA-1 es el estándar actual de funciones hash
c. Mensaje3 = ESTA ES UNA PRUEBA DE LA FUNCIÓN HASH SHA-1
4. Para cada uno de los mensajes introducidos, obtener su función hash haciendo clic
en el botón Transformar y copiar a continuación los valores de dichas funciones.
a. Hash1=_______________________________________________________
b. Hash2=_______________________________________________________
c. Hash3=_______________________________________________________
5. Hacer un seguimiento del mensaje 3 a nivel de bloques. Guardar el resultado, que
se puede observar en la pestaña Seguimiento del algoritmo, en un archivo de texto
llamado prac7sha-1bloques.txt.
6. Hacer un seguimiento del mensaje 3 a nivel de pasos. Guardar el resultado, que se
puede observar en la pestaña Seguimiento del algoritmo, en un archivo de texto
llamado prac7sha-1pasos.txt.
Seguridad en redes. Guía 5
7
7. Comparar los resultados de los archivos obtenidos en los numerales anteriores con
los obtenidos en los numerales 7 y 8 de la sección 1 haciendo uso del algoritmo
MD5. Completar la siguiente tabla de similitudes y diferencias.
SIMILITUDES
DIFERENCIAS
8. Introducir por teclado el siguiente texto y calcular su función hash. Guardar el
resultado en un archivo de texto.
a. Mensaje4 = Cuenta atrás: 3210
9. A continuación, introducir por teclado el siguiente texto y vuelva a calcular su
función hash. Guardar el resultado en un archivo de texto.
a. Mensaje5 = Cuenta atrás: 3211
10. Comparar la función hash de salida de ambos mensajes y comprobar que al
cambiar un solo bit del mensaje (el carácter 0 por el 1) cambian más de la mitad
de los bits de su función hash o resumen. Haciendo uso de una calculadora
científica obtenga el equivalente en binario de la función hash para realizar esta
comprobación.
11. Calcular la función hash del archivo cien.txt y del archivo cien.doc; los cuales se
encuentran en el directorio del instalador de la aplicación.
12. Observe que el contenido de ambos archivos es el mismo. Explique cual es la razón
por
la
cual
sus
funciones
hash
no
son
idénticas
también.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
13. Cerrar la ventana de Seguimiento del algoritmo SHA-1.
14. En la barra de menú de la ventana de trabajo principal, hacer clic en la opción
Criptosistemas y utilizar el algoritmo MD5 y SHA-1 para calcular la función hash o
8 Seguridad en redes. Guía 5
resumen de cualquier archivo, dentro de la PC asignada, con un tamaño de
algunos MBytes. Comparar el tiempo requerido por la aplicación en cada uno de los
casos y anotar los resultados a continuación.
Tamaño del archivo = _____________________
Tiempo MD5 = ___________________________
Tiempo SHA-1 = _________________________
¿Qué se puede concluir a raíz de los resultados obtenidos?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
15. Cerrar la aplicación CriptoRes.
Funcionamiento de la Firma Digital
1. Hacer clic en el botón inicio de la barra de tareas de Windows, seleccionar Todos
los programas, hacer clic en la aplicación ExpoCrip. Con lo cual iniciará la pantalla
que se observa en la figura 4.
Figura 4: Ventana principal de aplicación Sistemas de Cifra Exponencial
2. En la barra de menú de la ventana de trabajo principal, hacer clic en la opción
Firmas > Firma RSA. Con lo cual se nos despliega la ventana que se observa en la
figura 5.
3. Introducir los parámetros que se detallan a continuación, en las casillas destinadas
para ello en la aplicación. Estos parámetros son necesarios para el correcto
funcionamiento del algoritmo RSA.
a. p = 266677
Seguridad en redes. Guía 5
9
b. q = 724153
c. e = 617
Figura 5: Ventana de Firma Digital RSA
4. En la sección Texto a firmar, ingresar el siguiente mensaje: Firma digital con
algoritmo RSA.
5. Luego, hacer clic en el botón Realizar Firma. Y anotar la firma de dicho mensaje a
continuación en formato hexadecimal.
Firma=_____________________________________________________________
6. Comprobar la firma del mensaje anterior haciendo clic en el botón Comprobar
Firma.
7. Modifique un carácter del texto en claro y vuelva a solicitar la comprobación de la
firma. ¿Cuál es el resultado obtenido en esta ocasión y detalle sus conclusiones al
respecto?
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
8. Con los parámetros que se indican a continuación, firmar el archivo soldados.txt
que se encuentra en la carpeta de instalación de la aplicación.
a. p = 15704900959651293774270521395753
10 Seguridad en redes. Guía 5
b. q = 70180796165277040349245703851057
c. e = 65537
9. Comprobar la firma del apartado anterior. Luego, cambiar una coma por un punto
en el texto y volver a comprobar la firma.
10. Indique cual es la importancia de la firma digital en el proceso de aseguramiento
de la información.
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
11. Cerrar las aplicaciones abiertas y apagar la PC.
Investigación Complementaria
 Guía
¿A que 3
personaje se le debe el concepto de Firma Digital?
 ¿Cómo puede ser comprobada la validez de una firma digital?
 Investigue 5 aplicaciones en los que la firma digital es utilizada sobre documentos
Guía
4
digitales.
fía
Bibliografía
 Técnicas
de Protección de Datos, A. Fuster, D. de La Guía, L. Hernández,
GuíaCriptográficas
3
F. Montoya y J. Muñoz, Ed. Ra-Ma, España, 2000.
 Diseño e Implementación de Prototipo de Laboratorio de Criptografía, VíctorEscobar,
Rafael
Gallardo,
Guía
4 Carlos Zelaya, Tesis Universidad Don Boso, 2005.
 Criptografía y Seguridad en Computadores, Manuel José Lucena López, España, 1999.
fía
Seguridad en redes. Guía 5 11
Hoja de cotejo:
Docente:
Guía 5: Funciones hash y firma digital
Tema: Presentación del programa
5
1
Máquina No:
Alumno:
Máquina No:
Alumno:
Docente:
Máquina No: Fecha:
GL:
Docente:
GL:
GL:
a
EVALUACION
%
1-4
CONOCIMIENTO
25
APLICACIÓN DEL
CONOCIMIENTO
70
Demostró poco
conocimiento sobre
el tema de la
práctica.
Obtiene las
funciones hash MD5
de diferentes
mensajes y un
archivo de texto a
nivel de bloques y a
nivel de pasos
Demostró
conocimiento medio
sobre el tema de la
práctica.
Obtiene las funciones
hash MD5 y SHA-1 de
diferentes mensajes y
un archivo de texto
2.5
Es un observador
pasivo.
2.5
Es ordenado pero
no hace un uso
adecuado de los
recursos.
Participa
ocasionalmente o lo
hace constantemente
pero sin coordinarse
con su compañero.
Hace un uso adecuado
de recursos
respetando las pautas
de seguridad, pero es
desordenado.
ACTITUD
TOTAL
100
5-7
8-10
Demostró buen
conocimiento sobre
el tema de la
práctica.
Obtiene las
funciones hash MD5 y
SHA-1 de diferentes
mensajes y un
archivo de texto
Aplica y comprueba la
firma digital a
mensajes y archivos
de texto.
Participa propositiva e
integralmente en toda
la práctica.
Hace un manejo
responsable y
adecuado de los
recursos conforme a
pautas de seguridad e
higiene.
Nota
Descargar