SlideShare una empresa de Scribd logo
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
PKI con OpenSSL
Juan Manuel Garc´ıa Garc´ıa
18 de noviembre de 2010
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Librer´ıa OpenSSL
Autoridad Certificadora
Creaci´on de una AC
Generaci´on de certificados
Extracci´on de la clave p´ublica
Generaci´on de claves
Generaci´on de claves
Generaci´on de petici´on
Firma digital
Generaci´on
Verificaci´on
Cifrado h´ıbrido
Generaci´on de una clave de sesi´on
Cifrado de clave y datos
Descifrado
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Librer´ıa OpenSSL
Es una implementaci´on de c´odigo abierto de los protocolos
SSL y TLS.
Implementa una librer´ıa de funciones criptogr´aficas b´asicas.
Proporciona varias herramientas de criptograf´ıa.
Existen wrappers para varios lenguajes de programaci´on.
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Creaci´on de una AC
Generaci´on de certificados
Extracci´on de la clave p´ublica
Creaci´on de una AC
1. Se copian los scripts:
$ cp /usr/lib/ssl/misc/CA.pl .
$ cp /usr/lib/ssl/openssl.cnf .
2. Se crea la nueva AC:
$ ./CA.pl -newca
3. Podemos verificar que existe la clave privada:
$ cat demoCA/private/cakey.pem
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Creaci´on de una AC
Generaci´on de certificados
Extracci´on de la clave p´ublica
Generaci´on de certificados
1. Se genera una petici´on:
$ openssl req -new -keyout newreq.pem 
-out newreq.pem -days 365
2. La AC firma la petici´on:
$ openssl ca -out newcert.pem -infiles newreq.pem
3. Podemos verificar el certificado recien creado:
$ openssl verify -CAfile demoCA/cacert.pem 
newcert.pem
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Creaci´on de una AC
Generaci´on de certificados
Extracci´on de la clave p´ublica
Extracci´on de la clave p´ublica
1. Se extrae la clave p´ublica de un certificado digital mediante:
$ openssl x509 -in newcert.pem -pubkey -noout
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Generaci´on de claves
Generaci´on de petici´on
Generaci´on de claves
1. Se genera una clave privada:
$ openssl genrsa -out clave.pem 2048
2. Se puede ver el contenido de la clave:
$ openssl rsa -in clave.pem -text -noout
3. Y se puede extraer la clave p´ublica:
$ openssl rsa -in clave.pem -pubout 
-out clavepub.pem
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Generaci´on de claves
Generaci´on de petici´on
Generaci´on de petici´on
1. Se genera una petici´on con la llave creada:
$ openssl req -new -key clave.pem 
-out newreq.pem -days 365
2. Podemos verificar la petici´on:
$ openssl req -in newreq.pem -verify
3. La autoridad debe firmar la petici´on como vimos previamente.
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Generaci´on
Verificaci´on
Generaci´on de firma digital
1. Se genera el hash de los datos:
$ openssl dgst -md5 -binary -out data.md5 data
2. Se firma el hash con la clave privada:
$ openssl rsautl -sign -in data.md5 
-inkey clave.pem -out data.sig
3. En el archivo data.sig est´a la firma digital.
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Generaci´on
Verificaci´on
Verificaci´on de la firma
1. Se calcula el hash de los datos:
$ openssl dgst -md5 -hex data
2. Lo anterior debe ser igual a la salida de lo siguiente:
$ openssl rsautl -in data.sig -verify -hexdump 
-inkey clavepub.pem -pubin
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Generaci´on de una clave de sesi´on
Cifrado de clave y datos
Descifrado
Generaci´on de una clave de sesi´on
1. Se genera una clave aleatoria:
$ openssl rand -out clave_AB 32
2. Se revisa la clave generada:
$ hexdump clave_AB
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Generaci´on de una clave de sesi´on
Cifrado de clave y datos
Descifrado
Cifrado de clave y datos
1. Se cifran los datos con la clave sim´etrica:
$ openssl enc -aes-256-cbc -in data -out data.enc 
-K .... -iv 00
2. Se cifra la clave de sesi´on con la clave p´ublica:
$ openssl rsautl -encrypt -inkey clavepub.pem 
-in clave_AB -out clave_AB.enc -pubin
3. Se envian entonces clave AB.enc y data.enc al destinatario.
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
Outline
Librer´ıa OpenSSL
Autoridad Certificadora
Generaci´on de claves
Firma digital
Cifrado h´ıbrido
Generaci´on de una clave de sesi´on
Cifrado de clave y datos
Descifrado
Descifrado
1. Se extrae la clave de sesi´on:
$ openssl rsautl -decrypt -inkey clave.pem 
-in clave_AB.enc -hexdump
2. Se utiliza la clave de sesi´on para descifrar los datos:
$ openssl enc -aes-256-cbc -in data.enc -out data 
-d -K .... -iv 00
Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL

Más contenido relacionado

PDF
Capítulo 6: Criptografía de clave pública
PDF
Capítulo 9: Protocolos criptográficos
PDF
Capítulo 10: Aplicaciones especiales de la criptografía
PDF
Capítulo 7: Firma digital
PDF
Medidas seguridad implementadas en Nepcom
PPTX
Rsa eddy montalvan
PPTX
Algoritmos De Encriptacion Para
PDF
poco de encriptacion
Capítulo 6: Criptografía de clave pública
Capítulo 9: Protocolos criptográficos
Capítulo 10: Aplicaciones especiales de la criptografía
Capítulo 7: Firma digital
Medidas seguridad implementadas en Nepcom
Rsa eddy montalvan
Algoritmos De Encriptacion Para
poco de encriptacion

La actualidad más candente (15)

DOC
Trabajo De Compu Algoritmos
DOCX
El Algoritmo RSA
PPT
16 autenticafirma
PDF
Diffie hellman
PPTX
Cifrado rsa
PPTX
criptografia de curva elipticas
PDF
Criptografía y congruencias para trabajo
PPT
14 cifraasimetrica
PPT
15 funcioneshash
PPTX
Leccion04 rsa crypt4you
PPTX
Flores Carrera Jennifer 1 A
DOC
Encriptacion
PDF
criptosistema ELGAMAL
Trabajo De Compu Algoritmos
El Algoritmo RSA
16 autenticafirma
Diffie hellman
Cifrado rsa
criptografia de curva elipticas
Criptografía y congruencias para trabajo
14 cifraasimetrica
15 funcioneshash
Leccion04 rsa crypt4you
Flores Carrera Jennifer 1 A
Encriptacion
criptosistema ELGAMAL
Publicidad

Destacado (9)

PDF
Modulo I: Arquitectura de Seguridad Informática
PPTX
Seguridad informatica
PDF
Pantallazos1
PPT
PPT
MODALIDADES DE DELITOS
PPT
Seguridad Informática
PPTX
SEGURIDAD INFORMÁTICA Y POLICIA INFORMÁTICA
PPTX
Seguridad Informatica
PDF
Seguridad en Informatica - Luis Castellanos
Modulo I: Arquitectura de Seguridad Informática
Seguridad informatica
Pantallazos1
MODALIDADES DE DELITOS
Seguridad Informática
SEGURIDAD INFORMÁTICA Y POLICIA INFORMÁTICA
Seguridad Informatica
Seguridad en Informatica - Luis Castellanos
Publicidad

Similar a Cap 11 PKI con OpenSSL (20)

PDF
Infraestructura de clave pública con Software Libre
ODP
Curso pki
ODP
Curso PKI
PPT
Firma digital presentación ryt2024itu.ppt
PDF
CyberCamp 2018 - La autenticación con certificados en las Sedes Electrónicas
PDF
Seg t2 practicas_certificado ssl
PDF
Generacion de certifcados con OpenSSL para email
PDF
Manual de usuario reactivacion de certificado via software
PDF
Certificados Cacert
PDF
Manual de usuario; reactivacion de certificado
PDF
EY Spain - CiberSeg UAH 2017 - Taller de creación de tools de inteligencia - ...
PPT
17 certdigitalespkcs
PDF
05 certificaado digital
DOCX
Respuestas
PDF
PDF
Conexión inversa. Análisis Forense en medios de pago.
PPT
Tutorial sobre Firma Digital
PPT
3. certificados y pki
PDF
Hack like a pro with custom VPS - Najava Negra 2019
PPTX
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Infraestructura de clave pública con Software Libre
Curso pki
Curso PKI
Firma digital presentación ryt2024itu.ppt
CyberCamp 2018 - La autenticación con certificados en las Sedes Electrónicas
Seg t2 practicas_certificado ssl
Generacion de certifcados con OpenSSL para email
Manual de usuario reactivacion de certificado via software
Certificados Cacert
Manual de usuario; reactivacion de certificado
EY Spain - CiberSeg UAH 2017 - Taller de creación de tools de inteligencia - ...
17 certdigitalespkcs
05 certificaado digital
Respuestas
Conexión inversa. Análisis Forense en medios de pago.
Tutorial sobre Firma Digital
3. certificados y pki
Hack like a pro with custom VPS - Najava Negra 2019
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)

Más de Juan Manuel García (11)

PDF
Capítulo 8: Criptografía de curvas elípticas
PDF
Capítulo 5: Criptografía de clave pública, antecedentes matemáticos
PDF
Capítulo 4: Cifrado en Bloque
PDF
Capítulo 3: Cifrado en flujo
PDF
Capítulo 1: Introducción a la Criptografía
PDF
Capítulo 2: Criptoanálisis clásico
PDF
Modulo VI: Detección de intrusos
PDF
Modulo V: Acceso remoto y redes privadas virtuales
PDF
Modulo IV: Control de acceso y cortafuegos
PDF
Modulo III: Seguridad en Servidores
PDF
Modulo II: Tecnología Criptográfica
Capítulo 8: Criptografía de curvas elípticas
Capítulo 5: Criptografía de clave pública, antecedentes matemáticos
Capítulo 4: Cifrado en Bloque
Capítulo 3: Cifrado en flujo
Capítulo 1: Introducción a la Criptografía
Capítulo 2: Criptoanálisis clásico
Modulo VI: Detección de intrusos
Modulo V: Acceso remoto y redes privadas virtuales
Modulo IV: Control de acceso y cortafuegos
Modulo III: Seguridad en Servidores
Modulo II: Tecnología Criptográfica

Último (20)

DOCX
Guía 5. Test de orientación Vocacional 2.docx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
Diapositiva proyecto de vida, materia catedra
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
Curso de generación de energía mediante sistemas solares
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
modulo seguimiento 1 para iniciantes del
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Presentación de Redes de Datos modelo osi
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Guía 5. Test de orientación Vocacional 2.docx
historia_web de la creacion de un navegador_presentacion.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Diapositiva proyecto de vida, materia catedra
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
la-historia-de-la-medicina Edna Silva.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
TRABAJO DE TECNOLOGIA.pdf...........................
Curso de generación de energía mediante sistemas solares
Propuesta BKP servidores con Acronis1.pptx
modulo seguimiento 1 para iniciantes del
MANUAL de recursos humanos para ODOO.pdf
Historia Inteligencia Artificial Ana Romero.pptx
Presentación de Redes de Datos modelo osi
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
capacitación de aire acondicionado Bgh r 410
Power Point Nicolás Carrasco (disertación Roblox).pptx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx

Cap 11 PKI con OpenSSL

  • 1. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido PKI con OpenSSL Juan Manuel Garc´ıa Garc´ıa 18 de noviembre de 2010 Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 2. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Librer´ıa OpenSSL Autoridad Certificadora Creaci´on de una AC Generaci´on de certificados Extracci´on de la clave p´ublica Generaci´on de claves Generaci´on de claves Generaci´on de petici´on Firma digital Generaci´on Verificaci´on Cifrado h´ıbrido Generaci´on de una clave de sesi´on Cifrado de clave y datos Descifrado Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 3. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Librer´ıa OpenSSL Es una implementaci´on de c´odigo abierto de los protocolos SSL y TLS. Implementa una librer´ıa de funciones criptogr´aficas b´asicas. Proporciona varias herramientas de criptograf´ıa. Existen wrappers para varios lenguajes de programaci´on. Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 4. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Creaci´on de una AC Generaci´on de certificados Extracci´on de la clave p´ublica Creaci´on de una AC 1. Se copian los scripts: $ cp /usr/lib/ssl/misc/CA.pl . $ cp /usr/lib/ssl/openssl.cnf . 2. Se crea la nueva AC: $ ./CA.pl -newca 3. Podemos verificar que existe la clave privada: $ cat demoCA/private/cakey.pem Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 5. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Creaci´on de una AC Generaci´on de certificados Extracci´on de la clave p´ublica Generaci´on de certificados 1. Se genera una petici´on: $ openssl req -new -keyout newreq.pem -out newreq.pem -days 365 2. La AC firma la petici´on: $ openssl ca -out newcert.pem -infiles newreq.pem 3. Podemos verificar el certificado recien creado: $ openssl verify -CAfile demoCA/cacert.pem newcert.pem Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 6. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Creaci´on de una AC Generaci´on de certificados Extracci´on de la clave p´ublica Extracci´on de la clave p´ublica 1. Se extrae la clave p´ublica de un certificado digital mediante: $ openssl x509 -in newcert.pem -pubkey -noout Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 7. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Generaci´on de claves Generaci´on de petici´on Generaci´on de claves 1. Se genera una clave privada: $ openssl genrsa -out clave.pem 2048 2. Se puede ver el contenido de la clave: $ openssl rsa -in clave.pem -text -noout 3. Y se puede extraer la clave p´ublica: $ openssl rsa -in clave.pem -pubout -out clavepub.pem Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 8. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Generaci´on de claves Generaci´on de petici´on Generaci´on de petici´on 1. Se genera una petici´on con la llave creada: $ openssl req -new -key clave.pem -out newreq.pem -days 365 2. Podemos verificar la petici´on: $ openssl req -in newreq.pem -verify 3. La autoridad debe firmar la petici´on como vimos previamente. Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 9. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Generaci´on Verificaci´on Generaci´on de firma digital 1. Se genera el hash de los datos: $ openssl dgst -md5 -binary -out data.md5 data 2. Se firma el hash con la clave privada: $ openssl rsautl -sign -in data.md5 -inkey clave.pem -out data.sig 3. En el archivo data.sig est´a la firma digital. Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 10. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Generaci´on Verificaci´on Verificaci´on de la firma 1. Se calcula el hash de los datos: $ openssl dgst -md5 -hex data 2. Lo anterior debe ser igual a la salida de lo siguiente: $ openssl rsautl -in data.sig -verify -hexdump -inkey clavepub.pem -pubin Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 11. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Generaci´on de una clave de sesi´on Cifrado de clave y datos Descifrado Generaci´on de una clave de sesi´on 1. Se genera una clave aleatoria: $ openssl rand -out clave_AB 32 2. Se revisa la clave generada: $ hexdump clave_AB Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 12. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Generaci´on de una clave de sesi´on Cifrado de clave y datos Descifrado Cifrado de clave y datos 1. Se cifran los datos con la clave sim´etrica: $ openssl enc -aes-256-cbc -in data -out data.enc -K .... -iv 00 2. Se cifra la clave de sesi´on con la clave p´ublica: $ openssl rsautl -encrypt -inkey clavepub.pem -in clave_AB -out clave_AB.enc -pubin 3. Se envian entonces clave AB.enc y data.enc al destinatario. Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL
  • 13. Outline Librer´ıa OpenSSL Autoridad Certificadora Generaci´on de claves Firma digital Cifrado h´ıbrido Generaci´on de una clave de sesi´on Cifrado de clave y datos Descifrado Descifrado 1. Se extrae la clave de sesi´on: $ openssl rsautl -decrypt -inkey clave.pem -in clave_AB.enc -hexdump 2. Se utiliza la clave de sesi´on para descifrar los datos: $ openssl enc -aes-256-cbc -in data.enc -out data -d -K .... -iv 00 Juan Manuel Garc´ıa Garc´ıa PKI con OpenSSL