Sei sulla pagina 1di 19

Ing.

Manuel Lagos Barzola


Roca Arango Jhony Beltrán
- SEGURIDAD INFORMATICA (IS-444)-

Contenido
1. OBJETIVO ..................................................................................................................................... 3

2. INFORME PREVIO ....................................................................................................................... 3

3. DESARROLLO TEÓRICO ........................................................................................................... 3

4. DESARROLLO DE LA PRÁCTICA ............................................................................................ 4

4.1. Instalación del certificado raíz ................................................................................................ 4

4.5. Copia de seguridad ................................................................................................................ 10

4.6. Instalar OpenSSL .................................................................................................................. 10

4.7. Preparación del certificado .................................................................................................... 11

4.8. Verificar validez del certificado personal ............................................................................. 11

4.9. Conversión de formato de certificados.................................................................................. 12

4.10. Conceptos básicos de cifrado asimétrico ........................................................................... 13

4.11. Envío de un mensaje cifrado a un compañero ................................................................... 13

4.12. Envío de un mensaje firmado ............................................................................................ 15

4.13. Alternativa de firma electrónica ........................................................................................ 17

5. CUESTIONARIO ......................................................................................................................... 18

6. CONCLUSIONES. ....................................................................................................................... 18

7. RECOMENDACIONES .............................................................................................................. 19

8. BIBLIOGRAFÍA .......................................................................................................................... 19

2
- SEGURIDAD INFORMATICA (IS-444)-

LABORATORIO Nº 6

“CERTIFICADOS DIGITALES II – CIFRADO SIMÉTRICO – ASIMÉTRICO – ENVIO DE


CORREO SEGURO”

1. OBJETIVO

1.1. Instalar Un certificado raíz.


1.2. Verificar los certificados digitales utilizados.
1.3. Crear e instalar un certificado digital.
1.4. Comprender como poder enviar un correo de manera segura.
1.5. Aprender los comandos básicos del OpenSSL para cifrados simétricos y asimétricos.

2. INFORME PREVIO

3. DESARROLLO TEÓRICO

3.1. CACERT:

CAcert es una Entidad Certificadora conducida por la comunidad, que emite certificados al público en
general de forma gratuita.
La razón de ser de CAcertes promover la conciencia y la educación en la seguridad computacional a
través del uso de la encriptación, especificamente con la familia de standards X.509. Hemos compilado
un documento base que contiene ayudas y trucos para utilizar encriptación con programas de uso
común, e información general acerca de la Infraestructura de Claves Públicas (Public Key
Infrastructures, PKI).
Para los entusiastas que quieran probar el agua, tenemos una manera fácil de obtener certificados que
puede usar con su programa de correo. Puede usarlo no solo para encriptar, pero también para probar

3
- SEGURIDAD INFORMATICA (IS-444)-

a sus amigos y familia que el mensaje proviene de Usted realmente .


Para los administradores que están buscando como proteger los servicios que entregan, proveemos de
certificados para sus equipos individuales y múltiples (wildcard), que pueden ser entregados casi
inmediatamente. No solo puede proteger sus páginas web, pero también las conecciones POP3, SMTP
y IMAP, por nombrar solo algunas. A diferencia de otros certificadores, nosotros no limitamos la clase
de los certificados, o el uso de certificados múltiples (wildcard). Cada uno tiene el derecho a la
seguridad y a proteger su privacidad, no solo aquellos que manejan los sitios de comercio electrónico.
Si usted es extremadamente interesado en encriptación, puede unirse al programa de Certificación y
Circulo de Confianza de CAcert. Esto le permite verificar su identidad y obtener otros beneficios,
como certificados válidos por mayores períodos, y la posibilidad de incluir su nombre en los
certificados de correo.

3.2. OPENSSL

OpenSSL es un proyecto de software desarrollado por los miembros de la comunidad Open Source
para libre descarga y está basado en SSLeay, desarrollado por Eric Young y Tim Hudson.
Consiste en un robusto paquete de herramientas de administración y librerías relacionadas con la
criptografía, que suministran funciones criptográficas a otros paquetes como OpenSSH y navegadores
web (para acceso seguro a sitios HTTPS).
Estas herramientas ayudan al sistema a implementar el Secure Sockets Layer (SSL), así como otros
protocolos relacionados con la seguridad, como el Transport Layer Security (TLS). Este paquete de
software es importante para cualquiera que esté planeando usar cierto nivel de seguridad en su máquina
con un sistema operativo libre basado en GNU/Linux. OpenSSL también permite crear certificados
digitales que pueden aplicarse a un servidor, por ejemplo Apache.

4. DESARROLLO DE LA PRÁCTICA
4.1. Instalación del certificado raíz

• Acceder a la página http://www.cacert.org


• Intentar acceder en modo https y aparecerá un error porque el certificado no es válido
• Para poder acceder sin problemas debes instalar el certificado raíz (Root certifícate en la página
principal)
• Utilizar el format PEM
• Establecer la confianza en la entidad

4
- SEGURIDAD INFORMATICA (IS-444)-

4.2. Verificación del certificado raíz

Realizar las siguientes operaciones para comprobar el funcionamiento del certificado raíz

• Acceder a la página https://www.cacert.org


o Comprobar en el candadito que el acceso es Seguro

Ilustración 1

• Localizar el certificado dentro de Firefox


o Entrar en Tools/options/Advanced/Encryption/View Certificates

o El certificado debe estar en la sección de Authorities en la organización Root CA

5
- SEGURIDAD INFORMATICA (IS-444)-

o Comprobar para qué usos es válido


o Editar las propiedades y anular alguno de los posibles usos del certificado
o Volver a comprobar para qué usos es válido
o Anular la confianza en esta CA para identificar sitios web
o Intentar recargar la página de cacert en modo https
o Corregir las propiedades del certificado raíz

4.3. Crear e instalar un certificado personal

Antes de firmar un certificado personal hay que seguir un proceso en que la entidad emisora pueda
verificar de alguna manera toda la información contenida en el certificado. En el caso los certificados
de la Casa de la Moneda (FNMT) se verifica el nombre y el NIF (campo CN del subject), pero no se
verifica la dirección de correo electrónico (campo E del subject). Sin embargo, en el caso de CAcert
no se verifica el nombre y sí se verifica la dirección de correo.

Pasos a seguir para obtener el certificado:


• Crear una cuenta en CAcert mediante el botón join (sólo se pueden generar certificados
digitales después de crear la cuenta)

6
- SEGURIDAD INFORMATICA (IS-444)-

• Entrar mediante "password login" (notar que el momento de pedir login/password se


activa el modo seguro https)

• Seleccionar Client Certificates/New

7
- SEGURIDAD INFORMATICA (IS-444)-

• Generar el certificado

• ¿en qué momento se ha validado la dirección de correo?

4.4. Comprobar el certificado

Realizar las siguientes operaciones para verificar el funcionamiento del certificado

• Salir de CAcert y volver a entrar mediante "certifícate login" instead of "password


login"
• Localizar el certificado en Firefox
o Entrar en Tools/options/Advanced/Encryption/View Certificates
o El certificado debe estar en la sección de certificados personales en la organización
Root CA
o Comprobar si es válido y comprobar el campo subject y las fechas de validez.
o Editar las propiedades del certificado raíz (solapa de Authorities) y anular alguno
de los posibles usos del certificado

8
- SEGURIDAD INFORMATICA (IS-444)-

o Volver a comprobar el certificado personal para ver si ha dejado de ser válido


o Salir de CAcert e intentar entrar mediante "certifícate login" cuando el certificado
no es válido.
o Corregir las propiedades del certificado raíz

9
- SEGURIDAD INFORMATICA (IS-444)-

4.5. Copia de seguridad

Es muy importante guardar copia de seguridad de los certificados. Para ellos los guardaremos
en ficheros seguros (Formato p12) que se pueden enviar por correo electrónico o copiar a un
flash.

• Entrar en Tools/options/Advanced/Encryption/View Certificates


• Seleccionar el certificado persona y pulsar "backup"
o El sistema preguntará el nombre del fichero y la clave con que va cifrar dicho
fichero
o Es muy probable que pida la Master Password antes de exportar. La clave del
fichero puede ser distinta, pero la del fichero será la importante para poder
recuperar el fichero para la próxima práctica.

• El certificado raíz también se puede exportar, en este a caso a fichero PEM (extensión
.crt) que no va cifrado porque es información pública. No es imprescindible porque se
puede volver al instalar desde la web CAcert

• Enviar por correo electrónico los ficheros y recodar (o apuntar en otro sitio) el login y la
clave de acceso a CAcert, y las claves de los ficheros .p12

4.6. Instalar OpenSSL

• Acceder a la página www.openssl.org


• Buscar el ejecutable de Windows en la sección Related/binaries

10
- SEGURIDAD INFORMATICA (IS-444)-

• Para poder trabajar en d:\temp hay que definir el path:


o Path c:\openssl\bin

4.7. Preparación del certificado

4.8. Verificar validez del certificado personal

En prácticas anteriores hemos obtenido un certificado personal de la entidad cacert.org.


Realizar los siguientes pasos para comprobar su validez.

• Partimos de un fichero .p12 (Formato PKCS#12)

• Instalar en Firefox el certificado raíz Root CA desde la página cacert.org


• Importar el certificado personal en Certificate Manager

• Comprobar la validez dentro del Certificate Manager

11
- SEGURIDAD INFORMATICA (IS-444)-

• Comprobar la validez entranto en cacert.org con validación por certificado.

4.9. Conversión de formato de certificados

Las extensiones de archivos más utilizadas son las siguientes:

• .crt.cer ó .der para certificados X.509 puros en formato DER


• .pem para certificados X.509 puros en formato PEM
• .p7c .p7b .p7s .p7m … para certificados X.509 dentro de una estructura PKCS#7 en
formato DER o PEM
• .p12 ó .pfx para certificados X.509 dentro de una estructura PKCS#12 en formato DER

El comando pkcs12 de openssl permite convertir un fichero .p12 en un fichero .pem que
contiene tanto la clave pública como la privada.

openssl pkcs12 -in certificado.p12 -out certificado.pem

A continuación podemos utilizar el comando rsa para extraer en otro fichero .pem sólo la
clave pública y sólo la clave privada.

openssl rsa -in certificado.pem -out clave_publica.pem -pubout

openssl rsa -in certificado.pem -out clave_privada.pem

12
- SEGURIDAD INFORMATICA (IS-444)-

4.10. Conceptos básicos de cifrado asimétrico

Crear un texto corto (una línea) en un archivo de texto

• Para cifrar con la clave pública:


openssl rsautl -in texto.txt -out texto.rsa -inkey clave_publica.pem -pubin –encrypt

• ¿qué significa cada opción?


• ¿Pide el password?
• ¿Cuál es la longitud máxima de fichero que se puede cifrar por este método?

• Para descifrar con la clave privada:


openssl rsautl -in texto.rsa -out texto_recuperado.txt -inkey clave_privada.pem -decrypt

openssl rsautl -in texto.rsa -out texto_recuperado.txt -inkey certificado.pem -decrypt

• ¿qué significa cada opción?


• ¿Pide el password?

4.11. Envío de un mensaje cifrado a un compañero

Para cifrar ficheros grandes se suelen combinar algoritmos simétricos con asimétricos.
Realizar con openssl los siguientes pasos para poder enviar por correo electrónico un archivo
grande.

• Preparar un fichero grande, por ejemplo una foto.


• Cifrar el fichero utilizando un algoritmo simétrico

• Por correo electrónico, intercambiar con un compañero las claves públicas.

13
- SEGURIDAD INFORMATICA (IS-444)-

• Cifrar con RSA la clave utiliza para el cifrado simétrico.


o La clave utilizada para el cifrado simétrico debe guardarse en un fichero de
texto para poder cifrarla con RSA
o ¿qué clave habrá que utilizar para cifrar con RSA?
o Al realizar este cifrado RSA, openssl no debe pedir ninguna clave.

• Enviar al compañero el archivo cifrado (simétrico) junto con la clave cifrada (en
asimétrico).

• Deshacer los cifrados para obtener el archivo original. Para obtener la clave simétrica,
deberíamos utilizar nuestra clave privada.

14
- SEGURIDAD INFORMATICA (IS-444)-

4.12. Envío de un mensaje firmado

4.12.1. Obtener el resumen de un documento

Utilizar el comando dgst de openssl para generar el resumen del documentos

• openssl dgst –md5 fichero.doc


• openssl dgst –sha1 fichero.doc

Como podemos observar la figura muestra el resumen del documento, La herramienta openssl proporciona el comando
dgst para obtener el resumen de un documento. Este comando recibe como argumento el nombre del algoritmo HASH
que se quiera utilizar.

4.12.2. Cifrar el resumen

Realizar los siguientes pasos:

• Guardar el código de resumen en un fichero de texto

• ¿Qué clave hay que utilizar para el cifrado RSA?

Para poder cifrar utilizaremos nuestra clave privada.


• Cifrar dicho fichero de manera asimétrica con la clave privada, mediante el comando
openssl rsautl -sign -in sha.txt -inkey prikey.pem -out sig.txt

15
- SEGURIDAD INFORMATICA (IS-444)-

4.12.3. Enviar por correo electrónico

Enviar a un compañero los siguientes elementos:

• Documento original, sin cifrar


• La firma electrónica (código de resumen cifrado con la clave privada: sig.txt)
• La clave pública

4.12.4. Verificar la firma

Realizar los siguientes pasos para verificar la integridad del documento recibido:

• Obtener el resumen del documento (mediante MD5 o SHA)


• Comparar con el resultado de extraer el resumen de sig.txt
openssl rsautl -verify -in sig.txt -inkey pubkey.pem –pubin –raw

16
- SEGURIDAD INFORMATICA (IS-444)-

La figura nos muestra la función hash del documento cifrado lo cual podemos obtener
con la clave pública.

4.13. Alternativa de firma electrónica

Para cifrar ficheros también se pueden utilizar los comandos smime, que es el estándar
utilizado en el correo electrónico.
openssl smime -sign -in bigfile.doc -out bigfile.msg -signer certificado.pem
Enter pass phrase for certificado.pem: xxxxxx

Para realizar la verificación completa se puede utilizar el comando:


openssl smime -verify -in bigfile.msg –Cafile rootca.pem -out extraido.doc
Verification successful

Donde mymit.pem es el certificado completo (incluyendo la clave privada) en formato


PEM, tal y como se obtiene al aplicar el comando pkcs12 descrito anteriormente.
Este comando genera un archivo pequeño llamado bigfile.signature que contiene
exclusivamente la firma digital del documento.
El receptor puede realizar la verificación del documento mediante el siguiente comando:
Si la aplicación no necesita verificar el certificado del autor de documento, entonces
se puede utilizar la opción –noverify en lugar de la opción –CAfile, como se muestra
en el siguiente ejemplo:
openssl smime -verify -noverify -in bigfile.msg -out extraido.doc
Verification successful

¿Qué estándar PKCS utiliza smime?

el estándar oficial de correo seguro S/MIME es la llamada versión 3, publicada en los

17
- SEGURIDAD INFORMATICA (IS-444)-

documentos RFC 2632-2634, de junio de 1999. Una diferencia respecto a S/MIME versión
2 es que, en lugar de utilizar directamente el estándar PKCS #7, se basa en el nuevo
estándar CMS (RFC 2630). El CMS mantiene la compatibilidad con PKCS #7 pero incluye
nuevos métodos para el intercambio de claves, en particular el método Diffie-Hellman
(descrito en el RFC 2631).
NOTA: Puede ser necesario hacer la conversión a .pem utilizando la opción -clcerts (ver
P6aclaracion.pdf)

5. CUESTIONARIO

5.1. Rellene las preguntas del desarrollo de la práctica.


KCS #7 es un formato para representar mensajes protegidos criptográficamente. Cuando la
protección está basada en criptografía de clave pública, en PKCS #7 se utilizan certificados
X.509 para garantizar la autenticidad de las claves.
La norma PKCS #7 define unas estructuras de datos para representar cada uno de los campos
que forman parte de un mensaje. A la hora de intercambiar estos datos se deben codificar según
las reglas especificadas por la notación ASN.1 (la misma que se utiliza para representar los
certificados X.509 y las CRL).Ésta es la estructura general de un mensaje PKCS #7, descrita con
la misma notación que utilizamos para los certificados ("opc." significa opcional y "rep."
significa repetible)

6. CONCLUSIONES.
Estas funciones también son útiles para obtener códigos de control de integridad de archivos que son
muy utilizados en detección de intrusiones, virus y otras amenazas. Para realizar la firma electronica
como tal sería necesario cifrar el código obtenido, sin embargo toda la operación se puede realizar de
manera directa mediante unos parámetros adicionales.
En este artículo se han descrito las principales aplicaciones de la criptografía. También se ha descrito
lo que es un certificado digital y su importancia para poder garantizar comunicaciones seguras entre
dos interlocutores, por ejemplo un usuario y su banco. Por último se han presentado ejemplos de
utilización de los algoritmos mediante la herramientade uso gratuito openssl que permite cifrar,
descifrar, manipular certificados, firmar electrónicamente y verificar la autenticidad.

18
- SEGURIDAD INFORMATICA (IS-444)-

7. RECOMENDACIONES
Una de las recomendaciones que se les puede brindar a aquellas personas interesadas en
aprender y profundizar más sobre el tema, es principalmente conocer cómo funcionan los
certificados digitales, en este informe presentamos capturas sobre cómo se realiza la
encriptación y desencriptación de claves, utilizando nuestro certificado digital.

8. BIBLIOGRAFÍA
• Hacking Etico - Carlos Tori.
• Seguridad Informática. Cesar Seoani Ruano.
• La enciclopedia de la Seguridad Informática, Vieites.
• Criptografía y Seguridad en Computadoras, Manuel José Lucena López.
• Cryptography and Network Security - William Stallings - 4ed.
• http://www.cert.fnmt.es/content/pages_std/html/tutoriales/tuto7.htm
• https://es.wikipedia.org/wiki/X.509
• https://secure.cacert.org/account.php
• http://www.cacert.org/help.php?id=2&lang=es_ES
• http://www.softwarelibre.org.bo/esteban/files/86/228/openssl02.pdf
• www.openssl.org/

19

Potrebbero piacerti anche