1. La Seguridad de la Información comienza por TI...
Taller – Infraestructura de
Clave
Pública 1
Axel Díaz – adiaz@suscerte.gob.ve
Especialista – Servicios de Certificación Electrónica y Criptografía
2. Agenda
PKI
Cifrado simétrico y asimétrico
Par de llaves
Aponwao (cómo firmar electrónicamente)
RSA
Ciclo de vida de un certificado
Métodos de verificación
CRL
OCSP
CRL
Base de datos
LDAP
OpenSSL
Creación y administración de una AC
Archivo de configuración de OpenSSL
Generación de CRL
Comandos básicos para lectura y
conversión de extensiones
Certificados
CRL
OCSP
3. Secretos en la humanidad
Secretos
Claves bancarias
Claves en redes sociales
Claves de los correos electrónicos
Fotos
Conversaciones
Archivos informáticos
6. Cifrado simétrico
Metemos el documento en la caja fuerte, le enviamos a la otra persona
la caja junto con la contraseña
Supongamos un documento que queremos enviar de forma segura.
¿Por qué no la metemos en una caja fuerte?
8. Cifrado asimétrico
¿Cómo le enviamos la clave secreta a un amigo entonces?
Le pedimos a nuestro amigo que nos
envíe su candado abierto
Metemos el mensaje en la caja
Cerramos la caja con el candado de
nuestro amigo
Enviamos la caja cerrada por el
candado
Nuestro amigo con su llave abre la
caja y saca el mensaje
9. Cifrado asimétrico
¡Números primos!
3 x 11 = 33
Número primo 1 x Número primo 2 Resultado
Clave privada Clave pública
¿N1 x N2? = 4,951760155×10²⁷
¿1,650586718×10²⁷ y 3?
¿4,951760155×10²⁷ y 1?
¿2305843009213693951 y 2147483647?
10. Par de llaves
Suponga la existencia de un candado especial que usa dos llaves,
una para abrirlo y otra para cerrarlo.
La Llave Privada debe mantenerse en secreto, mientras que la
llave Pública puede ser distribuida.
Llave pública
Llave privada
Internet
Personal
11. RSA – Rivest, Shamir y Adleman
Método de cifrado más utilizado
Posibilidad de cifrar y firmar
Generación de par de llaves de forma rápida, sencilla pero muy
robusta.
12. RSA – Práctico
Instalación
# aptitude install ssh
Generación de par de llaves
$ ssh-keygen
Ubicación del par de llaves:
$ /home/USUARIO/.ssh/id_rsa
$ /home/USUARIO/.ssh/id_rsa.pub
14. Ciclo de vida de un certificado
Autoridad de Registro (AR)
de PSC
Llave privada
Signatario
Llave pública
Autoridad de
Certificación (AC)
de PSC
Certificado
Electrónico
15. Métodos de verificación
CRL (Certificate
Revoqued List)
OCSP (Online
Certificate Status
Protocol)
CRL
Base de Datos
LDAP
16. OpenSSL – Creación y administración de
una AC
Todo comando inicia con “openssl”
Luego se debe indicar el tipo de objeto que se quiere tratar: x509
(certificados), crl (listas de revocación), rsa (llaves rsa), ocsp
(ocsp)
De aquí en adelante vienen los parámetros propios de cada tipo
de objeto, pero casi todos tienen en común: -text, -in, -out,
-noout, -inform, -outform
17. OpenSSL – Creación de la AC Raíz
Crear directorio para nuestra PKI:
# mkdir PKI
# cd PKI/
Preparar directorios y archivos necesarios
# mkdir root_ca
# cp /etc/ssl/openssl.cnf root_ca
Se edita el archivo openssl.cnf en las siguientes líneas:
(Se comenta la línea RANDFILE)
#RANDFILE = $ENV::HOME/.rnd
(Se modifica la línea del dir)
dir = . # Where everything is kept
18. OpenSSL – Creación de la AC Raíz
Se crean los directorios que almacenarán los datos para la creación del certificado raíz:
# mkdir certs
# mkdir crl
# mkdir newcerts
# mkdir private
# touch serial
# echo 0100 > serial
# touch index.txt
# touch crlnumber
# echo 0100 > crlnumber
19. OpenSSL – Creación de la AC Raíz
Se genera un número aleatorio de 1024 bits de longitud:
# openssl rand -out ./private/.rand 1024
Se genera el par de llaves con una contraseña ingresada por
nosotros:
# openssl genrsa -out ./private/cakey.pem -des3 -rand
./private/.rand 2048
Se crea el certificado autofirmado:
# openssl req -x509 -new -key ./private/cakey.pem -out
cacert.pem -config openssl.cnf
20. OpenSSL – Creación de la AC
Subordinada
Vamos al directorio raíz y preparamos los archivos de
configuración y directorio de la AC Subordinada:
# cd ../
# mkdir sub_ca
# cp root_ca/openssl.cnf sub_ca/
21. OpenSSL – Creación de la AC
Subordinada
Se crean los directorios que almacenarán los datos para la creación del certificado raíz:
# mkdir certs
# mkdir crl
# mkdir newcerts
# mkdir private
# touch serial
# echo 0100 > serial
# touch index.txt
# touch crlnumber
# echo 0100 > crlnumber
22. OpenSSL – Creación de la AC
Subordinada
Se genera un número aleatorio de 1024 bits de longitud:
# openssl rand -out ./private/.rand 1024
Se genera el par de llaves con una contraseña ingresada por
nosotros:
# openssl genrsa -out ./private/cakey.pem -des3 -rand
./private/.rand 2048
Creamos una petición de certificado:
# openssl req -new -key ./private/cakey.pem -out subcareq.pem
-config openssl.cnf
23. OpenSSL – Creación de la AC
Subordinada
Firmamos la petición con el certificado de la AC Raíz:
# cd ../root_ca/
# openssl ca -in ../sub_ca/subcareq.pem -extensions v3_ca
-config openssl.cnf
Nos copiamos el certificado generado por la AC Raíz hacia el
directorio de la AC Subordinada:
# cd ../subca/
# cp ../root_ca/newcerts/0100.pem cacert.pem
24. OpenSSL - Generación de LCR
Se genera una nueva LCR a partir del archivo de configuración
openssl.cnf
# openssl ca -gencrl -config openssl.cnf -out lcr.pem
25. OpenSSL – Leer y convertir certificados y
lista de certificados revocados
openssl x509 -text -noout -in [certificado.pem]
openssl x509 -inform [DER/PEM] -outform [PEM/DER] -in
[certificado.der/pem]
26. Aponwao
Aplicación para firma y validación de documentos PDF
Certificados de la cadena de confianza en Venezuela
Firmas en lotes y de documentos duplicados
Envío de documentos firmados a email o medio extraíble
Personalización de ubicación de imagen de firma
Múltiples perfiles de firma