Infraestructura de clave pública
    -PKI- con Software Libre
                     Febrero 2009



       Toni de la Fuent...
Contenidos

    Quién soy
●



    ¿Qué es PKI y para qué sirve?
●



    Conceptos relacionados con PKI
●



    Criptogr...
Quién soy

Director de Sistemas y Soporte de Intecna Soluciones
España y LATAM.
Responsable de Formación de Intecna Soluci...
¿Qué es PKI y para qué sirve? I

Es un sistema para gestión de certificados digitales y
aplicaciones de firma digital o/y ...
¿Qué es PKI y para qué sirve? II

Proporciona el marco que permite la implantación de
clave pública.
Incluye una Autoridad...
¿Qué es PKI y para qué sirve? III

Los componentes de una PKI son o pueden ser
entidades con funciones diferentes:
       ...
¿Qué es PKI y para qué sirve? IV

Las claves privadas se protegen con una contraseña y
se deben almacenar de forma cifrada...
Conceptos relacionados con PKI

    Criptografía asimétrica o de clave pública
•
    Funciones Hash
•
    Firma digital
•
...
Criptografía asimétrica

Cifrado simétrico:
Se cifra y descifra con la misma clave. (DES, RC2, RC5,
Tripe DES, AES, etc.)
...
Firma digital

Esquema de funcionamiento de la firma digital:
Certificados digitales I

¿Qué es un certificado?


   • Documento electrónico que garantiza la identidad
     de una pers...
Certificados digitales II

Información que contiene un certificado (X.509v3):

     La identidad de un usuario y su clave ...
Certificados digitales III

¿Cómo obtengo un certificado digital?

• Se solicitan a una autoridad de certificación.
• Tien...
Certificados digitales IV

Contenido de un certificado:
Data:
    Version: 3 (0x0)
    Serial Number: 18 (0x12)
    Signat...
Autoridades de Certificación I

Autoridad de Certificación (CA):
 • Entidad intermediaria y confiable que emite y
   admin...
Autoridades de Certificación II

Tipos de autoridades de certificación:
   • CA interna
   • CA ext. certificadora de empl...
Validez de los certificados:
                                       CRL y OCSP
Listas de Revocación de Certificados (CRL)
...
Validez de los certificados:
                                   CRL y OCSP
Contenido de una CRL:
   • Versión
   • Algorit...
Validez de los certificados:
                                    CRL y OCSP
Servidor OSCP (Online Certificate Status Proto...
Soluciones PKI en Software Libre

Las soluciones a tener en cuenta son:

       OpenCA
   •
       OpenXPKI (fork de OpenC...
Soluciones PKI en Software Libre
OpenCA: herramienta que proporciona un interface Web
para poder administrar una PKI.
Comp...
Soluciones PKI en Software Libre
OpenCA: Capturas de pantalla, Inicialización:
Soluciones PKI en Software Libre
OpenCA: Capturas de pantalla, General:
Soluciones PKI en Software Libre

OpenXPKI: fork de OpenCA, con varios componentes
reescritos.
Componentes:
  • Similares ...
Soluciones PKI en Software Libre

OpenXPKI: captura de pantalla, listado:
Soluciones PKI en Software Libre
EJBCA: Infraestructura completa de PKI realizada en
Java.
Componentes:
  • Java JDK.
  • ...
Soluciones PKI en Software Libre

EJBCA: Capturas de pantalla, panel de administración:
Soluciones PKI en Software Libre

EJBCA: Capturas de pantalla, visor de eventos:
Soluciones PKI en Software Libre

PHPki: Infraestructura mínima de PKI realizada en PHP
y OpenSSL.
Componentes:
  • Apache...
Soluciones PKI en Software Libre

PHPki: captura de pantalla, menú de administración:
Soluciones PKI en Software Libre

Gnomint: Herramienta gestión de CA y certificados
para Gnome.
Componentes:
  • Gnome.
  ...
Soluciones PKI en Software Libre

Gnomint: captura de pantalla, listado:
Soluciones PKI en Software Libre

OpenSSL: Herramienta por excelencia para gestión y
creación de CAs y certificados.
Compo...
Soluciones PKI en Software Libre

OpenSSL: línea de comandos, ejemplos:
$ fnd /etc -type f | xargs openssl md5 > /etc/secu...
Soluciones PKI en Software Libre
eParapher: Cliente para firma digital de documentos.
Componentes:
  • Java 5 y 6.
  • Ecl...
Conclusiones
Preguntas y respuestas
Agradecimientos:
Víctor Manuel Fernández Gómez - http://vfernandezg.blogspot.com/
              Gonzalo Álvarez Marañón - ...
$ while true; do ; ‘¡gracias!’; done

                     ;-)


                Toni de la Fuente
         Director de Si...
Upcoming SlideShare
Loading in...5
×

Infraestructura de clave pública con Software Libre

6,890

Published on

Infraestructura de clave pública con Software Libre. Introducción a la PKI y soluciones actuales para implementar PKI con soluciones Open Source.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,890
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
311
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Infraestructura de clave pública con Software Libre

  1. 1. Infraestructura de clave pública -PKI- con Software Libre Febrero 2009 Toni de la Fuente Director de Sistemas y Soporte Intecna Soluciones afuente@intecna.es
  2. 2. Contenidos Quién soy ● ¿Qué es PKI y para qué sirve? ● Conceptos relacionados con PKI ● Criptografía asimétrica ● Firma digital ● Certificados digitales ● Autoridades de certificación ● Validez de los certificados: CRL y OCSP ● Soluciones ●
  3. 3. Quién soy Director de Sistemas y Soporte de Intecna Soluciones España y LATAM. Responsable de Formación de Intecna Soluciones España y LATAM. Miembro del comité de Innovación de Intecna Soluciones. Creador de phpRADmin, solución para seguridad de redes basadas en FreeRADIUS y PKI. Blog personal blyx.com, desde 2002 publicando artículos relacionados con Software Libre, Seguridad y Tecnologías de la Información.
  4. 4. ¿Qué es PKI y para qué sirve? I Es un sistema para gestión de certificados digitales y aplicaciones de firma digital o/y cifrado. Debe proporcionar: Autenticidad, la firma digital tendrá la misma ● validez que la manuscrita. Confidencialidad de la información transmitida ● entre las partes. Integridad. Debe asegurarse la capacidad de ● detectar si un documento firmado ha sido manipulado. No Repudio, de un documento firmado ● digitalmente.
  5. 5. ¿Qué es PKI y para qué sirve? II Proporciona el marco que permite la implantación de clave pública. Incluye una Autoridad de Certificación (CA) y gestiona la información relacionada con ella. Debe prestar los siguientes servicios: • Emisión de certificados • Generación del par de claves (pública y privada) • Distribución de certificados • Certificación cruzada • Salvaguarda de claves • Suspensión y revocación de certificados • etc.
  6. 6. ¿Qué es PKI y para qué sirve? III Los componentes de una PKI son o pueden ser entidades con funciones diferentes: Autoridad de Certificación: CA • Autoridad de Registro: RA • Autoridad Raiz: Root CA • Usuarios finales. • Una PKI sólo es válida si se cumplen las siguientes condiciones: • Las claves privadas estén protegidas. • Las claves públicas estén inequívocamente asociadas a una entidad.
  7. 7. ¿Qué es PKI y para qué sirve? IV Las claves privadas se protegen con una contraseña y se deben almacenar de forma cifrada en: Disco duro. • Floppy. • Dispositivo USB. • Smart Card. •
  8. 8. Conceptos relacionados con PKI Criptografía asimétrica o de clave pública • Funciones Hash • Firma digital • Certificados digitales • Autoridad de Certificación • Autoridad de Registro • CRL • OCSP • PEM • PKCS • DER •
  9. 9. Criptografía asimétrica Cifrado simétrico: Se cifra y descifra con la misma clave. (DES, RC2, RC5, Tripe DES, AES, etc.) Cifrado asimétrico: Basado en un par de claves (pública y privada) de modo que lo que se cifra con una sólo se puede descifrar con la otra del mismo par.
  10. 10. Firma digital Esquema de funcionamiento de la firma digital:
  11. 11. Certificados digitales I ¿Qué es un certificado? • Documento electrónico que garantiza la identidad de una persona o fqdn. • Contiene información del titular del certificado.
  12. 12. Certificados digitales II Información que contiene un certificado (X.509v3): La identidad de un usuario y su clave pública. • Un número de serie y versión. • Periodo de validez. • La identidad de quién emite el certificado. • Descripción. • Clave pública. • Algoritmos utilizados. • La firma digital de las informaciones contenidas en el • certificado.
  13. 13. Certificados digitales III ¿Cómo obtengo un certificado digital? • Se solicitan a una autoridad de certificación. • Tienen un tiempo de validez determinado, a partir del cual caducan. • Normalmente hay que pagar por ellos.
  14. 14. Certificados digitales IV Contenido de un certificado: Data: Version: 3 (0x0) Serial Number: 18 (0x12) SignatureAlgorithm: PKCS #1 SHA-1 con cifrado RSA Issuer: OU = FNMT Clase 2 CA, O = FNMT, C = ES Validity: NotBefore: Jan7 13:02:39 2000 GMT NotAfter: Jan6 13:02:39 2001 GMT Subject: CN = Toni, OU = 00011, OU = FNMT Clase 2 CA, O = FNMT, C = ES PublicKeyAlgorithm: rsaEncryption RSA PublicKey: (512 bit) Modulus(512 bit): 00:98:59:ab:d9:7e:a3:40:21:60:ee:54:a5:a4:54: d2:29:fd:50:82:c1:28:05:25:0a:6b:aa:61:aa:e0: 19:3b:d7:5e:18:f2:14:60:ed:58:f6:87:eb:4c:61: fc:9e:ed:9d:b2:19:d4:73:25:cc:d4:63:88:54:f4: 49:2a:ba:ce:7b Exponent: 65537 (0x10001) SignatureAlgorithm: PKCS #1 SHA-1 con cifrado RSA 7a:df:8a:aa:b5:23:5b:c6:ff:f3:02:73:65:bb:0f:05:7a:fd: f4:68:ee:b9:fe:92:72:53:bb:f2:31:9e:38:92:69:b3:04:22: d7:be:f5:18:42:7a:c0:9b:e2:1e:04:a4:66:02:80:76:79:0e: f6:c3:7e:25:2d:ec:00:01:fb:f7
  15. 15. Autoridades de Certificación I Autoridad de Certificación (CA): • Entidad intermediaria y confiable que emite y administra los certificados. • Garantiza la asociación entre una clave pública y una identidad. • Debe verificar los datos incorporados en el certificado. • Problemas asociados a lo difuso de las relaciones de confianza. • Publicación de las listas de certificados no válidos.
  16. 16. Autoridades de Certificación II Tipos de autoridades de certificación: • CA interna • CA ext. certificadora de empleados • CA ext. certificadora de clientes • CA tipo Tercera Parte Confiable Tipos de certificados: • Certificados de usuarios • Certificados de servidores • Certificados de CA
  17. 17. Validez de los certificados: CRL y OCSP Listas de Revocación de Certificados (CRL) Misión: • Detectar que un certificado no es válido en caso de sustracción, errores, cambios de derechos, ruptura de la CA. Problemas: • CRLs de gran longitud • Existe un intervalo de posible fraude • Comprobación on-line de certificados Para verificar una firma de un documento, el usuario no sólo ha de verificar el certificado y su validez, sino que también ha de adquirir la versión más reciente de la CRL y confirmar que el número de serie del certificado no está en tal CRL.
  18. 18. Validez de los certificados: CRL y OCSP Contenido de una CRL: • Versión • Algoritmo de Firma • Emisor • Actualización Presente • Siguiente Actualización • Nº Serie Certificado • Fecha Revocación • Extensiones Locales • Extensiones Globales
  19. 19. Validez de los certificados: CRL y OCSP Servidor OSCP (Online Certificate Status Protocol) • Confirmación online del estado de un certificado. • Servicio online de alta disponibilidad que debe ofrece la CA a los usuarios. • Proporciona información más adecuada y reciente. • No requiere CRLs: ahorra tráfico y CPU. • Las CRLs contienen información sensible. • Usa LDAP como backend. Funcionamiento: el cliente OSCP envía petición de estado al OSCP responder y suspende su aceptación hasta recibir respuesta.
  20. 20. Soluciones PKI en Software Libre Las soluciones a tener en cuenta son: OpenCA • OpenXPKI (fork de OpenCA) • EJBCA • PHPki • Gnomint • OpenSSL •
  21. 21. Soluciones PKI en Software Libre OpenCA: herramienta que proporciona un interface Web para poder administrar una PKI. Componentes: • Una interface web creado en Perl (Público). • Openssl para operaciones criptográficas. • Una base de datos (MySQL/PgSQL). • Un OpenLDAP, Apache (mod_ssl). Características: • Software Libre. • Integración con otras aplicaciones. • Comunidades de soporte y empresas. • Soporte estándares internacionales. • Versión 1.0.2 • En castellano • Demo en http://mm.cs.dartmouth.edu/pki/pub/
  22. 22. Soluciones PKI en Software Libre OpenCA: Capturas de pantalla, Inicialización:
  23. 23. Soluciones PKI en Software Libre OpenCA: Capturas de pantalla, General:
  24. 24. Soluciones PKI en Software Libre OpenXPKI: fork de OpenCA, con varios componentes reescritos. Componentes: • Similares a OpenCA (perl). Características: • Software Libre. • No se liberan versiones de forma normal, se distribuye en ISO, SVN, nightly builds. • Soporte estándares internacionales. • Versión 0.9.1 • Integrado con RT para solicitud de certificados. • Múltiples instancias de CA • Soporte nCipher y nShield para hardware criptográfico.
  25. 25. Soluciones PKI en Software Libre OpenXPKI: captura de pantalla, listado:
  26. 26. Soluciones PKI en Software Libre EJBCA: Infraestructura completa de PKI realizada en Java. Componentes: • Java JDK. • Servidor de aplicaciones Jboss, Glashfish • Ant Características: • Software Libre. • Proyecto muy activo. • Soporte estándares internacionales. • Versión 3.8.1. • Software complementario para más funcionalidades. • Multiples CAs y multiplataforma. • Soporte a gran variedad de HW criptográfico y eParapher*.
  27. 27. Soluciones PKI en Software Libre EJBCA: Capturas de pantalla, panel de administración:
  28. 28. Soluciones PKI en Software Libre EJBCA: Capturas de pantalla, visor de eventos:
  29. 29. Soluciones PKI en Software Libre PHPki: Infraestructura mínima de PKI realizada en PHP y OpenSSL. Componentes: • Apache + mod_ssl. • OpenSSL • PHP (librerías criptográficas) Características: • Software Libre. • Proyecto parado. • Soporte y funcionalidades limitadas. • Versión 0.82. • Muy fácil de usar e implementar. • No soporta HW criptográfico.
  30. 30. Soluciones PKI en Software Libre PHPki: captura de pantalla, menú de administración:
  31. 31. Soluciones PKI en Software Libre Gnomint: Herramienta gestión de CA y certificados para Gnome. Componentes: • Gnome. • OpenSSL Características: • Software Libre. • Soporte y funcionalidades limitadas. • Versión 0.6.0. • Muy fácil de usar e implementar. • No soporta HW criptográfico. • No soporta OCSP.
  32. 32. Soluciones PKI en Software Libre Gnomint: captura de pantalla, listado:
  33. 33. Soluciones PKI en Software Libre OpenSSL: Herramienta por excelencia para gestión y creación de CAs y certificados. Componentes: • OpenSSL ;) Características: • Software Libre. • Herramienta por línea de comandos. • Soporta gestión de CA, cifrado, firma, etc. • Navaja suiza para certificados. • Multiplataforma. • Dispone de su propia shell. Ver: Usando OpenSSL en el mundo real.pdf (blyx.com)
  34. 34. Soluciones PKI en Software Libre OpenSSL: línea de comandos, ejemplos: $ fnd /etc -type f | xargs openssl md5 > /etc/secure/md5_sigs.txt El anterior comando creará un archivo MD5 hash de todos los archivos del directorio /etc. Estos finger prints deben ser almacenados como solo lectura y en un lugar seguro. Veamos un ejemplo para cifrar un archivo llamado passwd con Blowfish: $ openssl bf -e -in /etc/secure/passwd -out /etc/secure/passwd.enc.bf El siguiente ejemplo muestra como descifrar el archivo /etc/secure/sensitive_data.enc.3des que fue cifrado con el algoritmo 3DES: $ openssl enc -des3 -d -in /etc/secure/sensitive_data.enc.3des -out /etc/secure/sensitive_data El siguiente ejemplo muestra como generar el MD5de la contraseña “blah”: $ echo blah | openssl passwd -stdin -1 La opción quot;-1quot; indica que usaremos MD5 como algoritmo y la opción “-stdin” indica que le pasamos la contraseña a través de la entrada estándar.
  35. 35. Soluciones PKI en Software Libre eParapher: Cliente para firma digital de documentos. Componentes: • Java 5 y 6. • Eclipse. • OpenOffice 2.4+ • Maven. • Apache directory studio. Características: • Software Libre. • Herramienta gráfica multiplataforma. • Windows, Linux y Mac. • En estado inicial, versión 0.0.1. • Bien dimensianada. • Soporta firmas en PDF, PDF/A, CMS and XML. • Firma masiva (bulk sign).
  36. 36. Conclusiones
  37. 37. Preguntas y respuestas
  38. 38. Agradecimientos: Víctor Manuel Fernández Gómez - http://vfernandezg.blogspot.com/ Gonzalo Álvarez Marañón - Univ. Oviedo. Pedro Pablo Pérez García - Univ. Oviedo. José María Sierra - Univ. Comillas.
  39. 39. $ while true; do ; ‘¡gracias!’; done ;-) Toni de la Fuente Director de Sistemas y Soporte Intecna Soluciones afuente@intecna.es
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×