Hash, Firma Digital y Certificados

Anuncio
Lab 04
Hash, Firma Digital y Certificados
Área de Telemática
Seguridad de la información
Universidad de Antioquia
Actividad 01: Funciones resumen “HASH”
GPA es un excelente FrontEnd (Interfaz de usuario) de GPG en lo referente al
cifrado asimétrico. Sin embargo, para el cálculo de funciones HASH no lo es.
Por tanto, haremos uso del modo de línea de comandos de GPG para trabajar lo
concerniente a funciones resumen.
a. Utilizando el modificador gpg --version identifique los algoritmos de
resumen “HASH” soportados por GPG.
b. Cree en su carpeta de trabajo un archivo llamado lab04.txt cuyo contenido
sea el mensaje “verificando funciones de resumen, firma digital y certificados
digitales”. Ahora mediante GPG, determine la “huella digital” (función
HASH) del archivo anterior haciendo uso de los sistemas de resumen más
utilizados actualmente.
SHA1: gpg --print-md sha1 lab04.txt
MD5: gpg --print-md md5 lab04.txt
c. En el archivo lab04.txt modifique el caracter “v” de minúsculas a mayúsculas
y calcule nuevamente el HAHS para las funciones MD5 y SHA1. Qué puede
concluir?
d. Utilizando Cryptool, determine el porcentaje de bits que se modifican en el
HASH realizando la modificación sugerida para el mensaje “verificando
funciones de resumen, firma digital y certificados digitales”, en el ítem c.
(Procedimientos Individuales > HASH > Demostración HASH)
e. Encuentre en Internet una utilidad que determine el HASH de un archivo
con un par de simples clik’s. Tenga en cuenta como criterio de selección
que dicha aplicación sea “freeware” y de reducido tamaño. Anexe el
informe, nomCe de la aplicación, enlace de descarga y breve descripción.
Actividad 02: Firma Digital
f. Utilizando GPA ilustre el procedimiento y el resultado obtenido para firmar
el mensaje “verificando funciones de resumen, firma digital y certificados
digitales”, con la llave privada que usted creó en el laboratorio pasado. Envíe
dicho resultado al correo del profesor y no olvide enviar también su llave
pública.
g. Utilizando GPA ilustre el procedimiento y el resultado obtenido para firmar
y cifrar el mensaje “verificando funciones de resumen, firma digital y
certificados digitales”, con el par llave pública/privada que usted creó en el
laboratorio pasado, Envíe dicho resultado al correo del profesor y no olvide
enviar también su llave pública.
h. Descargue la llave pública del curso a su PC, impórtela a su sistema, y
verifique que si fue vinculada al sistema. Descargue los documentos
identificados como: info_A.txt e info_B.txt, observe su contenido y
determine mediante la aplicación de Portapapeles de GPA si se puede
verificar de la firma de la información contenida en dichos documentos.
Cuál de los documentos fue realmente firmado por “clase”?
i. A partir de la información obtenida en el ítem anterior y utilizando
Cryptool, genere un mensaje que parezca que realmente ha sido firmado por
mi (Alexander Leal), pero que en realidad ha sido suplantado por ustedes.
(Análisis > HASH > Ataque al valor HASH de una firma digital). Adjunte el
mensaje y el resultado del procedimiento entregado por Cryptool.
Actividad 03: Certificados Digitales
j. En tu navegador por defecto (Mozilla, IExplorer, Google Chrome) ingresa a
www.gmail.com y responde las siguientes preguntas:
* Quién extendió el certificado?
* Cuál es su período de validez?
* A quién identifica?
* Algoritmos usados en la firma
Nota: Para obtener la información
arriba solicitada, de doble click en el
icono del navegador con forma de
candado, una llavecita o algo así.
Por ejemplo en Google Chrome
k. La autoridad certificadora que extendió el certificado firmó la clave pública
de GMAIL para que tuviera la certeza de que en este instante estás
conectado con GMAIL, y no con un tercero que te tima. Para verificar dicha
firma, tu navegador tiene que disponer de la clave pública de la entidad
certificadora (CA). Determine entonces:
* ¿Dónde está ese certificado?
* ¿De cuántos certificados dispone tu navegador?
* ¿Cuántos ya expiraron?
* Mencione por lo menos dos CA’s que contengan su llave pública en tu
navegador
l. Verifique que el servidor web apache este corriendo, para comprobarlo abra
un navegador y entre a localhost, después de verificarlo modifique el
index.html por defecto de apache (que se encuentra en: /var/www) por lo
siguiente: como título “Laboratorio 04” y como párrafo “Certificados
Digitales”. Luego implemente la red sugerida en la figura y en la estación
cliente capture mediante WireShark el resultado de la transacción web
obtenida.
A partir de la captura realizada de respuesta a las preguntas solicitadas
abajo.
En qué consiste el evente GET, qué información envía el cliente
allí?
Cuál es la respuesta del servidor WEB frente a esta petición?
En dicha respuesta puede verse en claro el contenido de la página
que usted publicó “Certificados Digitales”
m. Ahora, agregue seguridad a la conexión anterior. Para tal propósito es
necesario instalar en el servidor web un certificado digital, de modo que
éste pueda soportar conexiones del tipo HTTPS (HyperText Transfer
Protocol Secure) mediante SSL (Secure Socket Layer). OpenSSL permite
crear el certificado para apache.
1. Activar el módulo SSL
udeasec@udeasec-VirtualBox:~$ sudo a2enmod ssl
.
tras activar el módulo SSL se debe reiniciar el servidor web
udeasec@udeasec-VirtualBox:~$ sudo service apache2 restart .
2. Crear un certificado SSL autofirmado
Crear un subdirectorio dentro de las carpetas de configuración de
Apache para guardar los archivos de certificado que se crearán.
udeasec@udeasec-VirtualBox:~$ sudo mkdir /etc/apache2/ssl .
Se crea la llave y el certificado en un solo paso
udeasec@udeasec-VirtualBox:~$ sudo openssl req -x509 -nodes -
days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key out /etc/apache2/ssl/apache.crt .
Al hacer se debe responder una serie de preguntas que la terminal irá
solicitando, quedando de la siguiente manera:
Country Name (2 letter code) [AU]:CO
State or Province Name (full name) [Some-State]:Antioquia
Locality Name (eg, city) []:Medellin
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Universidad de
Antioquia
Organizational Unit Name (eg, section) []:Laboratorio de Seguridad Informática
Common Name (e.g. server FQDN or YOUR name) []:”IP WebServer”
Email Address []:[email protected]
3. Configurar Apache para usar el SSL
Abrir el archivo con privilegios de root
udeasec@udeasec-VirtualBox:~$ sudo nano /etc/apache2/sitesavailable/default-ssl
Cambiar la ruta donde Apache busca los certificados, una opción es
comentar la ruta que trae por defecto agregando al principio un “#”
quedando entonces el archivo de la siguiente manera:
#SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLCertificateFile
/etc/apache2/ssl/apache.crt
SSLCertificateKeyFile
/etc/apache2/ssl/apache.key
4. Active el Host Virtual SSL
Para activar el Host virtual se debe ejecutar el siguiente comando en la
terminal:
udeasec@udeasec-VirtualBox:~$ sudo a2ensite default-ssl
Y por último se reinicia el servidor web
udeasec@udeasec-VirtualBox:~$ sudo service apache2 restart
Una vez se ha instalado el certificado en el servidor web, realice desde
el cliente una petición web segura “https” a éste, capturando el
resultado de la transacción mediante Wireshark y responda las
siguientes preguntas.
Qué ocurre en el navegador del cliente al
ingresar por primera vez al servidor web?
Describa mediante un diagrama todo el proceso de
negociación realizado entre el servidor web y el cliente
para descargar la página solicitada de una manera segura.
Incluya las fases “There way handshake TCP”, “SSL Hello”,
“Key Exchange”, “TSL Application Data” y “Ending TCP”
En el primer paquete “SSL Hello” el navegador del cliente
le indica al servidor web la suite de esquemas de cifrado
que éste tiene disponible. Enuncia cuántos y cuáles
esquemas de cifrado puede implementar su navegador?
Logran ustedes identificar el mensaje en claro
“Certificados Digitales” dentro de los paquetes “TSL
Application Data” capturados?
Identifique en el navegador del cliente las siguientes
características del certificado digital
o Quién extendió el certificado
o Algoritmos utilizado en la firma
n. Determine el tipo de extensión asociada a los certificados digitales en
formato X509, identifique mediante Google algunos sitios web con
certificados digitales e ilustre la estructura de dicho certificado.
Descargar