Sie sind auf Seite 1von 116

nesys-st.

com Seguridad Telemática Avanzada

- C U R S I LLO -

Criptografía y certificación
GnuPG y OpenSSL
07/06
nesys-st.com Seguridad Telemática Avanzada

Objetivo:

Entender los conceptos detrás de la criptografía moderna, así


como la problemática de la gestión de la confianza. Herramientas
de aplicación criptográfica.

Dirigido a:

Gente con conocimientos básicos de redes, comunicaciones y


sistemas basados en GNU/Linux

Profesor: juriona@nesys-st.com
nesys-st.com Seguridad Telemática Avanzada

Duración: 6 horas
Fechas del curso: 10/07/2006 ~ 11/07/2006
Horario: 16:00 - 19:00

julio de 2006

lu ma mi ju vi sá do
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
nesys-st.com Seguridad Telemática Avanzada

- Índice -
Tema 1 Introducción a necesidades de seguridad
* Protocolos vulnerables, analizadores de redes
* Necesidades para la seguridad en las comunicaciones
o Privacidad
o Autenticación
o Integridad
o No repudio
nesys-st.com Seguridad Telemática Avanzada

- Índice -

Tema 2 Introducción a la criptografía

* Bases de la criptografía, definiciones

* Criptografía simétrica ? Clave privada

* Criptografía asimétrica ? Clave pública

* Criptografía no reversible ? Hashing y HMAC

* Criptografía híbrida - Esquema de comunicaciones


seguras

* Autenticación y firma digital


nesys-st.com Seguridad Telemática Avanzada

- Índice -

Tema 3 Criptografía y la gestión de la confianza

* Modelos de Confianza: centralizada, cruzada y distribuida


* PKI distribuida
o Gestión personal de la confianza
o Prácticas GPG y OpenPGP
* PKI centralizadas
o PKI y sus componentes: CAs, RAs, Directorios...
o Autoridades de Certificación y Registro
o Petición generación, distribución, validación y
revocación de certificados
o Prácticas OpenSSL, generación, gestión y revocación
de certs
* PKI desde el lado del cliente
o Usos de certificados, formatos...
o Aplicaciones: VPN, HTTPS, etc...
nesys-st.com Seguridad Telemática Avanzada

TEMA 1: INTRODUCCIÓN A LAS


NECESIDADES DE SEGURIDAD
nesys-st.com Seguridad Telemática Avanzada

Objetivos de la seguridad de las


comunicaciones
• Se trata de garantizar la confidencialidad, autenticidad, integridad,
no repudio, control de acceso y disponibilidad de la información
presente en las comunicaciones

• Esta información incluirá un posible intercambio de datos de


autenticación de los comunicantes

• Todo esto se puede conseguir ayudado de la criptografía a través de


la implantación de criptosistemas
nesys-st.com Seguridad Telemática Avanzada

Conceptos teóricos I

* Confidencialidad: requiere que la información sea accesible


únicamente por las entidades autorizadas.

* Autenticidad: requiere una identificación correcta del origen del


mensaje, asegurando que la entidad no es falsa.

* Integridad: requiere que la información sólo pueda ser modificada


por las entidades autorizadas.
nesys-st.com Seguridad Telemática Avanzada

Conceptos teóricos II

* No repudio: ofrece protección a un usuario frente a otro usuario


que niegue posteriormente que en realidad se realizó cierta
comunicación.

* Control de acceso: requiere que el acceso a los recursos


(información, capacidad de cálculo, nodos de comunicaciones,
entidades físicas, etc.) sea controlado y limitado por el sistema
destino.

* Disponibilidad: requiere que los recursos del sistema informático


estén disponibles a las entidades autorizadas cuando los necesiten.
nesys-st.com Seguridad Telemática Avanzada

Amenazas a la seguridad I


Interrupción: un recurso se vuelve no disponible. Este es un
ataque contra la disponibilidad.

Intercepción: una entidad no autorizada consigue acceso a un
recurso. Este es un ataque contra la confidencialidad.

Modificación: una entidad no autorizada no sólo consigue acceder
a un recurso, sino que es capaz de manipularlo. Ataque contra la
integridad.

Fabricación: una entidad no autorizada inserta objetos falsificados
en el sistema. Este es un ataque contra la autenticidad.
nesys-st.com Seguridad Telemática Avanzada

Amenazas a la seguridad II
nesys-st.com Seguridad Telemática Avanzada

MECANISMOS DE SEGURIDAD I

- Intercambio de autenticación: corrobora que una entidad, ya


sea origen o destino de la información, es la deseada.
(Contraseñas, Certificados ...)

- Cifrado: garantiza que la información no es inteligible para


individuos, entidades o procesos no autorizados. (Cifrado de datos
con AES ...)

- Integridad de datos: para verificar que los datos no han sido


modificados en el trayecto (Hash o resumen de un mensaje)
nesys-st.com Seguridad Telemática Avanzada

MECANISMOS DE SEGURIDAD II
- Firma digital: se enviará junto con los datos ordinarios,
garantizará la autenticidad y el no repudio de los datos

- Unicidad: consiste en añadir a los datos un número de


secuencia, la fecha y hora, un número aleatorio, o alguna
combinación de los anteriores, que se incluyen en la firma digital o
integridad de datos para darnos la unicidad en el tiempo.
nesys-st.com Seguridad Telemática Avanzada

TEMA 2: CRIPTOGRAFÍA
nesys-st.com Seguridad Telemática Avanzada


La criptografía es la técnica, ciencia o arte de la escritura secreta.

A la transformación del mensaje original en el mensaje cifrado
(criptograma) le llamamos cifrado, y a la inversa, el paso del
criptograma al mensaje original le llamamos descifrado.

Estos pasos se realizan mediante un conjunto de reglas
preestablecidas entre los comunicantes, definidas por el algoritmo, y
dependientes (hace únicas las operaciones) de un valor numérico al que
llamamos clave.

El criptoanálisis es el conjunto de técnicas que intenta encontrar la
clave utilizada en un algoritmo entre dos comunicantes.
nesys-st.com Seguridad Telemática Avanzada

Definición

Un conjunto finito (alfabeto), que permite representar tanto el texto en
claro como el criptograma.

A bajo nivel: bits,

A más alto nivel: caracteres ASCII o MIME.


Un conjunto finito denominado espacio de claves. Constituido por la
totalidad de las claves posibles del criptosistema.


Familias de transformaciones aritmético-lógicas -->

transformaciones de cifrado

transformaciones de descifrado
nesys-st.com Seguridad Telemática Avanzada

Definición

• Partiendo de un mensaje M (compuesto por elementos del alfabeto)


se consigue un criptograma C (también compuesto por elementos del
alfabeto)

• El algoritmo de cifrado será un conjunto de funciones matemáticas


que cogen como entrada el mensaje M y una clave de cifrado K

• Al criptograma C y a otra clave K’ (la de descifrado) se le aplica el


algoritmo de descifrado y se consigue de nuevo M
nesys-st.com Seguridad Telemática Avanzada

Cifrado vs Codificación
NO ES LO MISMO EL CIFRADO QUE LA CODIFICACIÓN

• Codificación: representación de la información de distintas formas,


según diferentes criterios (lenguajes, alfabetos…), pero no
necesariamente con cifrado

– Por ejemplo, un número decimal puede codificarse como


hexadecimal, y no por ello se convierte en un criptograma.
nesys-st.com Seguridad Telemática Avanzada

Algoritmo vs Clave
• Algoritmo: Descripción precisa de una sucesión de
instrucciones que permiten llevar a cabo un trabajo en un
número finito de pasos.

• Clave: Un valor numérico usado que hace que las


operaciones hechas sean únicas.
– Las claves son los valores concretos que junto con los algoritmos
criptográficos se usan para generar un texto cifrado concreto.
Básicamente son números muy grandes
– Para computación, en bits -> Nº de bits de la clave
– Un bit más -> doble seguridad
nesys-st.com Seguridad Telemática Avanzada

Criptosistemas abiertos VS cerrados


Abiertos  La fortaleza está en la clave usada y no en el algoritmo.
Sistemas abiertos


Cerrados  La fortaleza reside en la clave y en el algoritmo. Sistemas
propietarios
nesys-st.com Seguridad Telemática Avanzada

Criptoanálisis y criptología

• Criptoanálisis: Técnicas orientadas a la ruptura de los códigos de la


criptografía.

• Criptología: Ciencia que estudia las bases matemáticas de la


criptografía y el criptoanálisis.
nesys-st.com Seguridad Telemática Avanzada

Historia
• Antiguo Egipto: Escritura de jeroglíficos
• Cifrado Cesar: Sustituir cada letra por otra 3 más allá en el abecedario
• San Bernardino: Irregularidad de los símbolos
• Tarjetas con agujeros perforados
• Cifrado de Vignere: Cifrado por sustitución con uso de una clave
• Primera y segunda guerra mundial: La dificultad de códigos daba
robustez

¡¡PREHISTORIA!!

• Explosión en el area de la computación


• Explosión de la criptografía actual DES y RSA en los 70
• Sistemas híbridos…
nesys-st.com Seguridad Telemática Avanzada

Cifrado Cesar
nesys-st.com Seguridad Telemática Avanzada

Criptografía Fuerte
• Del inglés strong cryptography

“There are two kinds of cryptography in this world: cryptography that will
stop your kid sister from reading your files, and cryptography that will stop
major governments from reading your files. Our trade is about the latter.”

• La criptografía puede ser fuerte o débil


• Se mide según el tiempo y esfuerzo (recursos usados)
necesarios para romperla
nesys-st.com Seguridad Telemática Avanzada

Tipos

• Reversible: Del mensaje cifrado se puede obtener el mensaje en


claro original

• Irreversible: Del mensaje cifrado no se puede obtener el mensaje en


claro original (hashing o resumen)
nesys-st.com Seguridad Telemática Avanzada

Tipos

Hoy en día existen dos tipos de criptosistemas reversibles:


reversibles


De clave simétrica (SKC): Una sola clave para cifrar y descifrar.
También llamada de clave privada


De clave asimétrica (PKC): Una clave cifrará y otra descifrará los
mensajes, dichas claves estarán relacionadas de alguna manera (de
modo que sea computacionalmente imposible sacar una de la otra)

¡DIFERENCIAMOS ENTRE ALGORITMO Y CLAVE!


nesys-st.com Seguridad Telemática Avanzada

Criptosistemas simétricos
Cifrado con criptosistemas de clave secreta
Medio de
k Transmisión k
C C M
M
EKK
E MT DDKK
Texto Texto
Base protegida Criptograma protegida Base

C’ no permitido M no permitido

Integridad Intruso Confidencialidad

La confidencialidad y la integridad se lograrán si se DES, TDES,


protegen las claves en el cifrado y en el descifrado. Es IDEA, CAST,
decir, se obtienen simultáneamente si se protege la RIJNDAEL
clave secreta.
nesys-st.com Seguridad Telemática Avanzada

Características

• La mayor dificultad  La distribución de la clave


– ¿Cómo se da a conocer la clave al receptor del mensaje?
¿Se necesita otro canal para esta transmisión?

• El procesado requerido es más simple y rápido que el de clave


pública
nesys-st.com Seguridad Telemática Avanzada

Clave simétrica (SKC)


• Algoritmos usados:
1. DES: Nunca ha sido roto (salvo por fuerza bruta). Sujeto a las
leyes U.S.A.
2. IDEA: Se usa en Europa. No está sujeto a leyes
3. RC5: Su seguridad no está completamente probada
4. Triple DES: Mejora del DES. Cifrado múltiple
5. AES: Salto generacional del cifrado DES (estándar USA actual)
6. TWOFISH: Evolución del blowfish. Libre y muy efectivo
nesys-st.com Seguridad Telemática Avanzada

Clave simétrica (SKC)


• Ej: DES
– De bloque, con bloques de 64 bits
– Se le somete a 16 iteraciones
– Clave de 56 bits (más 8 de paridad)
• Ataques típicos:
1.Criptoanálisis diferencial
2.Criptoanálisis lineal
nesys-st.com Seguridad Telemática Avanzada

Problemas
• No sirve en relaciones que no son simétricas
– yo tengo un secreto compartido con el banco; pero no
acepto que el banco firme órdenes como si fueran mías

• Y es un problema complejo distribuirlas y


mantenerlas
– si tuviéramos un canal seguro te contaría un secreto
para establecer un canal seguro :-)
nesys-st.com Seguridad Telemática Avanzada

Esquemas
• Esquemas de cifrado:
– De bloque: Encripta por bloques de datos. Hay diferentes
modos de implementación (EBC y CBC)

– De streams: Bit a bit. Con mecanismo de realimentación


(CFB y OFB)

– De hash
nesys-st.com Seguridad Telemática Avanzada

Clave simétrica (SKC)


• Velocidad de cifrado alcanzada por los diferentes
algoritmos
nesys-st.com Seguridad Telemática Avanzada

Criptosistemas asimétricos (1)


Cifrado con clave pública del receptor
Intercambio de claves RSA Intercambio: RSA y DH
Clave pública Medio de Clave privada
del usuario B Transmisión del usuario B

M EB MT DDBB M

Usuario A C C Usuario B
Criptograma protegida

M no permitido

Observe que se Intruso Confidencialidad


cifra con la
clave pública del Las claves de EB y DB Un sistema similar es el
destinatario. son “inversas” intercambio de clave de
Diffie y Hellman DH
nesys-st.com Seguridad Telemática Avanzada

Criptosistemas asimétricos (2)


Cifrado con clave privada del emisor
Firmas: RSA y
Firma digital RSA DSS
Clave privada Medio de Clave pública
del usuario A Transmisión del usuario A

M DAA
D MT EA M

Usuario A C C Usuario B
protegida Criptograma

Observe que se cifra


C’ no permitido con la clave privada
Integridad Intruso del emisor.

Se firma sobre un hash Las claves de EA y DA La firma DSS está


H(M) del mensaje, por son “inversas” basada en el algoritmo
ejemplo MD5 o SHA-1 de cifra de El Gamal
nesys-st.com Seguridad Telemática Avanzada

Tipos de cifra con sistemas asimétricos


Criptosistemas de clave pública
k privada k k privada k pública
de A pública de B de A
de B
M DA EB D
DBB EA M
C
Usuario Usuario
A B
Confidencialidad

Integridad
Firma
digital Autenticación
del usuario A;
Información cifrada integridad de M

La confidencialidad y la integridad se obtienen por separado


nesys-st.com Seguridad Telemática Avanzada

Clave asimétrica (PKC)

• Razón matemática para la existencia de este tipo de


criptografía  Dificultad matemática para hallar
funciones inversas
– Multiplicación vs Factorización
– Exponenciación vs Logaritmos
– Curvas elípticas

• El destinatario da a conocer su clave pública para


posibilitar la recepción y el envío de mensajes
nesys-st.com Seguridad Telemática Avanzada

Ejemplo – Distribución de claves


nesys-st.com Seguridad Telemática Avanzada

Clave asimétrica (PKC)

• Ejemplo Diffie – Hellman:


– Sea p = 97, g = 5
– A elige su secreto: a = 36
• Publica su clave pública: Pa = 5^36 mod 97 = 50
– B elige su secreto: b = 58
• Publica su clave pública: Pb = 5^68 mod 97 = 44
– A calcula k = Pba = 44^36 mod 97 = 75
– B calcula k = Pab = 50^58 mod 97 = 75
• Esa será la clave a usar en las comunicaciones entre A y B
nesys-st.com Seguridad Telemática Avanzada

Ejemplo: RSA (firma digital)


• Se cogen dos primos enteros muy grandes (p y q) y se calcula
su producto p x q = n (el módulo)
• Se escoge un número e (menor que n), que sea relativamente
primo a (p-1)(q-1), (e y (p-1)(q-1) no tienen factores en común
salvo el número 1)
• Se busca otro número d, tal que (exd -1) es divisible por (p-
1)(q-1)
• Los valores e y d se les denomina los exponentes público y
privado, respectivamente
• La clave pública es el par (n,e), y la clave privada el par (n,d).
• Los factores generadores p y q pueden ser destruidos o
mantenidos en secreto junto a la clave privada
nesys-st.com Seguridad Telemática Avanzada

Clave asimétrica (PKC)


• Ejemplo RSA
– Se cifra con la pública del receptor y así sólo el receptor puede
descifrarla
nesys-st.com Seguridad Telemática Avanzada

Clave asimétrica (PKC)


nesys-st.com Seguridad Telemática Avanzada

Clave asimétrica (PKC)

• Aplicaciones y usos:
1.Intercambio de claves privadas
2.Firma digital: se cifra un resumen del mensaje
• Las claves a emplear para que se considere
seguro son mucho mayores que en SKC
• Difícil de implementar y lentitud del proceso de
cálculo  ¡¡No se usa para cifrar mensajes!!
 ¡¡Se usa para distribuir claves!!
nesys-st.com Seguridad Telemática Avanzada

Clave asimétrica (PKC)


• Ideal para la distribución de claves
nesys-st.com Seguridad Telemática Avanzada

Características PKC
nesys-st.com Seguridad Telemática Avanzada

Funciones Hash
• Para resolver el problema de la integridad de los
mensajes
• Realiza una transformación a un mensaje
consiguiendo otro mensaje de longitud constante
 Valor de Hash
• Requerimientos:
1. La entrada puede ser de cualquier longitud
2. La salida tiene longitud fija (128, 160 o 256 bits)
3. La transformación es de cálculo fácil
4. La inversa es computacionalmente imposible
5. Libre de colisiones
nesys-st.com Seguridad Telemática Avanzada

Funciones Hash
•Se usa para dos funciones: • Algoritmos:
1.Integridad de mensajes MD5, SHA1
2.Firmas digitales (autenticidad y no-
repudio)
nesys-st.com Seguridad Telemática Avanzada

HMAC
•Message Authentication Code
•Añade un password al hash
•Sólo el que posee la clave puede generar el hash
Los últimos estudios demuestran que existen colisiones
en las funciones SHA-1 y MD5
nesys-st.com Seguridad Telemática Avanzada

Proceso Hash
nesys-st.com Seguridad Telemática Avanzada

MD5

• Inventado por Rivest  RFC 1321


• Coge un mensaje de entrada de longitud arbitraria y
produce una salida de 128 bits (message digest o
resumen)
• Se trata de que computacionalmente sea imposible
producir dos mensajes que tengan el mismo resumen, o
que se pueda producir un mensaje con un resumen pre-
especificado
• Para aplicaciones de firma digital: Un archivo grande se
“comprime” de manera segura antes de aplicarle la clave
privada para su transmisión por medio de un criptosistema
PKC
nesys-st.com Seguridad Telemática Avanzada

Ejemplos

• Para la integridad del SW


• Vamos a descargarnos un SW:
– El propio calculador de Hash MD5
– http://www.vonwangelin.com/md5/
– Nos dice el hash MD5 de su ejecutable
nesys-st.com Seguridad Telemática Avanzada

¿Qué usar, simétricos o


asimétricos?
Los sistemas de clave pública son muy
lentos pero tienen firma digital.
Los sistemas de clave secreta son muy
rápidos pero no tienen firma digital.

¿Qué hacer?
Cifrado de la información:
Sistemas de clave secreta

Firma e intercambio de claves de sesión:


Sistemas de clave pública
nesys-st.com Seguridad Telemática Avanzada

Sistema híbrido de cifra y firma

k privada k pública
de A k k secreta de A
DA secreta
K EA M
M K
C
Usuario A K Usuario B K

Cifrado asimétrico
Autenticación
Firma del usuario e
digital Cifrado simétrico integridad
sobre
H(M) Intercambio clave de sesión K usando
EB(M) en emisión y DB(C) en
recepción
nesys-st.com Seguridad Telemática Avanzada

¿Por qué 3 técnicas?


• Cada esquema está optimizado para una aplicación

1. Hash: integridad de datos


2. SKC: confidencialidad de los datos
3. PKC: Intercambio de claves, autenticación y no-repudio

• Conseguimos un criptosistema híbrido

• Vemos resumen:
– http://en.wikipedia.org/wiki/Cryptography
nesys-st.com Seguridad Telemática Avanzada

Longitud de las claves

• En la criptografía el tamaño importa


– La longitud de las claves es la encargada de proveer mayor
seguridad a los algoritmos de cifrado contra los ataques de
fuerza bruta
• Cada día es mayor la capacidad de cálculo del hardware
nesys-st.com Seguridad Telemática Avanzada

Longitud de claves
• Comparativa de nivel de seguridad en PKC y SKC
nesys-st.com Seguridad Telemática Avanzada

Longitud de las claves (1995!!)


TABLE 1. Minimum Key Lengths for Symmetric Ciphers.

Time and Cost Key Length Needed


Type of Attacker Budget Tool Per Key Recovered For Protection
In Late-1995
40 bits 56 bits
Scavange
Tiny d 1 week Infeasible 45
computer
Pedestrian Hacker time
5 hours 38 years
$400 FPGA 50
($0.08) ($5,000)

12 minutes 18 months
Small Business $10,000 FPGA 55
($0.08) ($5,000)

24 seconds 19 days
FPGA
($0.08) ($5,000)
Corporate Department $300K 60
0.18 seconds 3 hours
ASIC
($0.001) ($38)

7 seconds 13 hours
FPGA
($0.08) ($5,000)
Big Company $10M 70
0.005 seconds 6 minutes
ASIC
($0.001) ($38)
0.0002 12
Intelligence Agency $300M ASIC seconds seconds 75
($0.001) ($38)
nesys-st.com Seguridad Telemática Avanzada

Los sistemas actuales utilizan algoritmo público y claves


secretas, debido a:

· Los algoritmos públicos se pueden fabricar en cadena,


tanto chips de hardware como aplicaciones software.

· Los algoritmos públicos están más probados, ya que


toda la comunidad científica puede trabajar sobre ellos
buscando fallos o agujeros. Un algoritmo secreto puede tener
agujeros detectables sin necesidad de conocer su
funcionamiento completo.

· Es más fácil y más seguro transmitir una clave que todo


el funcionamiento de un algoritmo.
nesys-st.com Seguridad Telemática Avanzada

Criptoanálisis - Ataques
• Dependerán de lo que los atacantes dispongan
• Suponemos que el atacante tiene acceso al texto cifrado
• Entonces puede:
–Sólo captura texto cifrado
–Conoce (o puede adivinar) parte del texto plano
–Puede cifrar el texto que quiera
• Múltiples tipos:
– http://en.wikipedia.org/wiki/Category:Cryptographic_attacks
• En todo caso, siempre existirá un ataque, conocido el
algoritmo, la “fuerza bruta”.
La única protección: Longitud de claves
nesys-st.com Seguridad Telemática Avanzada

Criptoanálisis - Ataques
• Criptoanálisis diferencial:
– Leves diferencias en entradas, qué diferentes salidas
producen
– Busca comportamientos no aleatorios del algoritmo
• detección de patrones estadísticos
– Necesita chosen-plaintext-atack
• Criptoanálisis lineal:
– Se trata de buscar aproximaciones afines de la acción del
cifrado
nesys-st.com Seguridad Telemática Avanzada

Problemas
• Temas legales en la criptografía:
– Limitaciones en legislación USA para la exportación
• Clasifica la criptografía como munición
• Según el tamaño de la clave de los algoritmos
– PGP y PGPi
– Digital Millennium Copyright Act (DMCA)
• Criminaliza la producción y distribución de ciertas
técnicas y tecnologías criptoanalíticas
• Sobre todo las destinadas a “romper” tecnologías de
aseguración de copyright (DRM)
• fuente: wikipedia
nesys-st.com Seguridad Telemática Avanzada

AUTENTICACIÓN Y FIRMA DIGITAL


nesys-st.com Seguridad Telemática Avanzada

Autenticación de mensajes
• Requerimiento básico de seguridad: Asegurar la
procedencia de los mensajes.
– Cartas lacradas en la edad media
– Tarjetas identificadoras, claves de acceso, etc.
• Objetivos:
1. El mensaje procede de la persona que dice remitirlo
2. Nadie ha modificado el mensaje en cuestión
• Se usan firmas digitales y certificados  Sustitutos de la
firma manuscrita
nesys-st.com Seguridad Telemática Avanzada

Firmas digitales
• Necesidad del equivalente electrónico a la firma manuscrita
• Aseguran la procedencia de un mensaje  Autenticidad y no
repudio
• ¡¡Valor legal!!
• Implicaciones económicas, legales y jurídicas
• Ley de firma electrónica RD 17/9/1999
nesys-st.com Seguridad Telemática Avanzada

Firmas digitales
• Propiedades:
– Personal
– Infalsificable
– Fácil de autenticar
– No repudio
– Fácil de generar
• ¡Aún más segura que la manuscrita!
nesys-st.com Seguridad Telemática Avanzada

Firmas digitales

• La firma debe depender del “mensaje” a firmar (¡No siempre


la misma!)
– Previene sustitución
• Determinista: Dos firmas del mismo mensaje dan mismo
resultado
• Es un bloque de datos unívoco, sólo ha podido generar la
persona que lo firma
– Con PKC, mediante su clave privada
• En vez de cifrar un mensaje completo con la clave privada
(proceso tedioso) se cifra el resumen (hash) de un mensaje
– Se envía junto con el mensaje
nesys-st.com Seguridad Telemática Avanzada

Firmas digitales

• Esquema de firma, siempre hay dos partes:

– Algoritmo de firma

– Algoritmo de verificación
nesys-st.com Seguridad Telemática Avanzada

Firmas digitales
• Una de las formas de realizar firma digital es la siguiente
forma:
– A genera un resumen del mensaje (función hash (conocida y
pública)), y lo cifra usando PKC con su clave privada
(F(H(M)))
– A envía el par mensaje original + resultado anterior a B
– B calcula dos cosas:
• Con el mensaje saca el hash
• Con PKC y clave pública de A descifra F(H(M)))
– Si ambos resúmenes son iguales se acepta la firma
nesys-st.com Seguridad Telemática Avanzada

Firmas digitales
• Usa PKC + Hashing
• Con la firma digital conseguimos:
integridad
autenticación
no repudio
• Ejemplo: DSS (Digital Signature Standard)
– Algoritmo DSA de firma
– SHA-1 como Hash
nesys-st.com Seguridad Telemática Avanzada

TEMA 3: CRIPTOGRAFÍA Y
GESTIÓN DE LA CONFIANZA
nesys-st.com Seguridad Telemática Avanzada

Modelos de confianza - TRUST

• TRUST: creencia personal en que algo es verdadero


• El uso de la criptografía requiere el establecimiento de
relaciones de confianza, es decir, en algún momento se
tiene que confiar en que algo es verdad
• Public Key Infrastructure: Mecanismo de distribución de
“confianza”
• Existen varios modelos:
1. Modelo de confianza distribuida, GPG/PGP
2. Modelo de confianza centralizada, CA
3. Modelo de confianza cruzado, delegación
nesys-st.com Seguridad Telemática Avanzada

PKI's
Es el conjunto de hardware, software, gente, políticas y procedimientos
necesarios para crear, gestionar, guardar, distribuir y revocar
certificados basados en criptografía de clave pública.
IETF-PKIX
nesys-st.com Seguridad Telemática Avanzada

PKI's
• Una PKI es el conjunto de servicios de seguridad que
posibilitan el uso y administración de:
– Certificados y criptografía de clave pública
– en sistemas de computación distribuidos
– incluyendo claves, certificados y políticas
nesys-st.com Seguridad Telemática Avanzada

PKI's

• Normalmente basados en certificados X.509


• Las PKIs garantizan la seguridad en los negocios
electrónicos
• No hay una sola tecnología ni un estándar único de PKIs
• Debería existir una estructura mundial de PKI que soporte
políticas y regulaciones internacionales  Variedad de
intereses, no es posible…
nesys-st.com Seguridad Telemática Avanzada

Componentes de una PKI


• Una PKI y sus mecanismos proveen:
– Autenticación  Vía certificados digitales
– Control de acceso  Vía gestión de claves
– Confidencialidad  Vía cifrado
– Integridad  Vía firmas digitales
– No repudio  Vía firmas digitales
nesys-st.com Seguridad Telemática Avanzada

Componentes de una PKI

• Una PKI consiste de:


– Una Autoridad Certificadora (CA) que expide y verifica certificados
digitales. Estos certificados contienen las claves públicas
– Una autoridad de registro (RA), que actúa como verificador del CA
antes de que un certificado sea expedido a un solicitante
– Uno o más directorios donde se almacenan los certificados (con
sus claves públicas), normalmente en directorios que siguen el
estándar X.500 con acceso LDAP
– Un sistema de gestión de certificados
nesys-st.com Seguridad Telemática Avanzada

Componentes de un PKI
nesys-st.com Seguridad Telemática Avanzada

Certificados digitales
• Cogemos una clave pública de un repositorio de Internet,
¿Cómo sabemos que realmente corresponde al destinatario
deseado?
– Certificados digitales, así la identidad del dueño no puede
ser falsificada
• Una tercera identidad interviene en la administración de las
claves públicas y asegura que las claves públicas tienen un
usuario claramente identificado
nesys-st.com Seguridad Telemática Avanzada

¿Qué es un certificado digital?


• Un certificado digital es un documento con diversos datos,
entre otros:
– Nombre de un usuario
– Su clave pública
– Firmado por una Autoridad de Certificación (CA)
• Como emisor y receptor confiarán en esa CA, el usuario que
tenga un certificado expedido por ella se podrá autenticar ante
el otro
nesys-st.com Seguridad Telemática Avanzada

Certificados digitales
• Se trata de una credencial que contiene información acerca de
la entidad certificadora (CA) y de la entidad certificada (usuario)
• Caso de DNI  paralelismo
• El formato será el de un fichero digital intransferible y no
modificable
• Una CA da fe de la firma de una entidad certificada
nesys-st.com Seguridad Telemática Avanzada

Certificados digitales
• Funciones de los certificados:
1. Establecer identidades: Asocia una clave pública a un
individuo u otra entidad
2. Asignar una autoridad: Establece qué acciones podrá
realizar el poseedor del certificado
3. Securiza la información confidencial
• Ejemplo: X.509
• Existen muchas CAs, que proveen los certificados (Verisign,
Thawte, FNMT, Izenpe...)
nesys-st.com Seguridad Telemática Avanzada

Aplicaciones de los Certificados

• Algunas de las aplicaciones más habituales en las que se


utilizan certificados digitales son:
– Para la autenticación de Servidores Web---> Certificados de
Servidor Web
– Para la autenticación de Clientes Web---> Certificados de Cliente
Web
– Para la protección de correos electrónicos ---> Certificado de
correo electrónico
– Para el sellado de tiempos ---> Certificado de tiempo
nesys-st.com Seguridad Telemática Avanzada

Autoridades de Certificación
La Autoridad de Certificación es un A B
ente u organismo que, de acuerdo con certificado de B
unas políticas y algoritmos, certificará
-por ejemplo- claves públicas de certificado de A
usuarios o servidores.

El usuario A enviará al usuario B su


certificado (la clave pública firmada
por AC) y éste comprobará con esa clave clave
pública AC AC pública AC
autoridad su autenticidad. Lo mismo
en sentido contrario.
Autoridad de Certificación AC
nesys-st.com Seguridad Telemática Avanzada

Características de una Autoridad


Certificadora
• Algunas de las funciones de una entidad de certificación son:
– Emisión de certificados para nuevos usuarios. Acreditan que la
clave pública pertenece al usuario a quien se atribuye y su
vigencia.
– Evita la generación de certificados falsos, sólo los válidos se
encuentran firmados por la autoridad certificadora.
– Rutinas para modificar o dar de baja un certificado.
– Generar listas de revocación (CRL).
– Comunicarse con otros centros de certificación (estructuras
jerárquicas)
nesys-st.com Seguridad Telemática Avanzada

Elementos de una AC
El sistema debe tener:
• Una política de certificación
• Un certificado de la CA
• Los certificados de los usuarios (X.509)
• Los protocolos de autenticación, gestión y obtención de
certificados:
– Se obtienen de bases de datos (directorio X.500, LDAP)
– O bien directamente del usuario en tiempo de conexión
(WWW con SSL)
nesys-st.com Seguridad Telemática Avanzada

Algunas características de diseño de la


AC
• Deberá definirse una política de certificación
– Ámbito de actuación y estructura
– Relaciones con otras ACs
• Deberá definirse el procedimiento de certificación para la
emisión de certificados:
– Verificación on-line
– Verificación presencial
• Deberá generarse una Lista de Certificados Revocados
nesys-st.com Seguridad Telemática Avanzada

Funcionamiento de una AC, pasos

• Puesta en marcha de la AC:


– Generará su par de claves
– Protegerá la clave privada con una passphrase
– Generará el certificado de la propio AC
• Distribución del certificado de la AC:
– A través del d Directorio X.500
– Por medio de páginas Web
• Podrá certificar a usuarios (servidores y a clientes):
– Tipos de certificados según la profundidad en el registro
• Clase 1, 2, 3 y 4
nesys-st.com Seguridad Telemática Avanzada

Certificados digitales X.509


• X.509 está basado en criptografía asimétrica y firma digital.
• En X.509 se define un framework (una capa de
abstracción) para suministrar servicios de autenticación a
los usuarios del directorio X.500.
• La autenticación se realiza mediante el uso de certificados.

- Un certificado contiene: el nombre de la CA, el nombre del


usuario, la clave pública del usuario y cualquier otra información
como puede ser un timestamp.
- El certificado se cifra con la clave privada de la CA.
- Todos los usuarios poseen la clave pública del CA.
nesys-st.com Seguridad Telemática Avanzada

Formato del certificado digital X.509


Versión Identificador del algoritmo
Nº de serie

Algoritmo
Parámetros Período de validez

Autoridad de Certificación

Inicio de la validez
Caducidad de la validez Clave pública que se firma

Nombre del usuario

Algoritmo
Parámetros Función hash que se cifra con la clave
Clave pública del usuario privada de la AC

Firma de la AC
nesys-st.com Seguridad Telemática Avanzada

Campos del certificado digital X.509


• V: Versión del certificado (actualmente V3).
• SN: Número de serie (bajo la CA)
• AI: identificador del algoritmo de firma
• CA: Autoridad certificadora (issuer)
• TA: Periodo de validez
• A: Propietario de la clave pública que se está firmando (subject)
• P: Clave pública más identificador de algoritmo utilizado y más
parámetros si son necesarios.
• Y{I}:Firma digital de Y por I usando la clave privada de la entidad
certificadora
nesys-st.com Seguridad Telemática Avanzada

Certificate Request
• Esto no es un certificado
• Se trata de un formato de datos (normalmente un archivo) en cuál se
realiza una solicitud de un certificado x509 por parte de un usuario
• Se complementa con la clave privada (normalmente en otro archivo)
• Los datos que lleva serán parte de los que lleva un certificado, pero le
faltará la parte de compromiso
– Subject
– Clave pública
– Algoritmo de firma
nesys-st.com Seguridad Telemática Avanzada

Certificate Revocation List


• Es otro certificado emitido por la CA
• Está vez no nos certifica una identidad (subject)
• Se trata de una lista identificadora de los certificados revocados
(anulados para su funcionamiento) por la CA
• Dos tipos:
– CRL absoluta
– Delta CRL
• Dos estados de revocación (según x509):
– Revoked, anulado sin vuelta a atrás
– Hold, estado reversible de invalidez temporal
• Las CRL se deben publicar por parte de la PKI
– De forma periódica, mediante algún tipo de recurso: http, ftp,
etc...
– On-line: Protocolo de consulta de CRLs --> OCSP
nesys-st.com Seguridad Telemática Avanzada

SOFTWARE
PKI
nesys-st.com Seguridad Telemática Avanzada

PGP - Pretty Good Privacy

• Es un software que provee un esquema de e-mail basado


en criptografía de clave pública, con posibilidad de cifrado y
firma de documentos

• Mantiene “anillos de confianza”, donde guarda tanto las


claves privadas como las claves públicas de las personas
en quién se confía, vinculadas a sus direcciones de e-mail
nesys-st.com Seguridad Telemática Avanzada

PGP - Pretty Good Privacy

• La confianza será siempre una decisión personal del usuario 


Confianza distribuida
• Usa diferentes algoritmos de cifrado (posibilidad de elegir)
• Usa PKC, para la gestión de claves y para la firma electrónica y
comunicaciones
• Se accede a la clave privada por medio de un password (SKC)
• Es de uso muy sencillo
nesys-st.com Seguridad Telemática Avanzada

Sistema PGP – Pretty Good Privacy


- Creador: Philip Zimmermann

- Criptosistema mixto basado en anillos de confianza.

- Flexible y potente, admite certificados y se puede integrar con otros


modelos de PKI ya existentes
nesys-st.com Seguridad Telemática Avanzada

GnuPG - Gnu Privacy Guard


- Implementación de PGP bajo licencia GNU (GPL)

- Basado en el esquema de PGP, propone un sistema de


comunicaciones basado en criptografía asimétrica, dónde la confianza
está distribuida a cada uno de los usuarios

- Creador/mantenedor: Comunidad Open Source

- También basado en anillos de confianza.

- Flexible y potente, admite certificados y se puede integrar con otros


modelos de PKI ya existentes
nesys-st.com Seguridad Telemática Avanzada

PGP (Pretty Good Privacy)


-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PRIVATE KEY BLOCK-----
Version: PGP 8.0.3 Version: PGP 8.0.3

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 FEgRLWw9dgA==jBw7
4g===cHzL -----END PGP PRIVATE KEY BLOCK-----
-----END PGP PUBLIC KEY BLOCK-----
nesys-st.com Seguridad Telemática Avanzada

PGP (Pretty Good Privacy)


-----BEGIN PGP MESSAGE----- *** PGP SIGNATURE VERIFICATION ***
Version: PGP 8.0.3 *** Status: Good Signature
*** Signer: aaguirre <aaguirre@nesys-st.com> (0x5FAE003E)
qANQR1DBwU4DPTkmezh5CM0QB/9yL+0Yqndji+j3+lTICW4OTGEOYmm478D9LEcB *** Signed: 09/09/2005 10:16:49
p1SNqcUF6/CHnMI2mqjMIh7x8oMbHtUoZVeoYLUjO7LbZugI0qauR2dDtke+r/cu
VpJp2KNBS+H/qdGPOXF6CIWhdKAwrUwlu85FqdkNnst3k2EUZ+qz9ThPFx2uBVx7
*** Verified: 09/09/2005 10:17:20
/i3dlF3250Sg0QmWk8uw1IkCmecjUV+2FI64mEBA1bPiMPxmYMB6eI7HJW39U3Zf *** BEGIN PGP DECRYPTED/VERIFIED MESSAGE ***
uaOgIHD8/K8kFi2yl+8gwvbtob11/KNGQbLfi9d4UGgjVhj0pYLfVNcTjeRZeFlZ
juv1fzcS5NquHsiunwHltvGI7mKbsWd5X8AISAR4ExZ3k7ovB/9DpSrRbNRSV3yP
fnp0bu3IrBEydujTS4PozESpmVGOm9eOeAPJm4VobZbF8AJR1YAHbpYVVR0UhXJ7
RAXzwCstYeEiZLcfYQxH0uFjjxlouG27/htGJ6Qq1wn/N+b61vb3WS2SkLQmYSOv MENSAJE CIFRADO
9GArnGQ3uS/y3lwv/6gOcUP3uUf6P70eSzqSlJdZdbEqbpqVhOdhuqf+b40k+4+g
4qGlmfRhj2gVWvjTpEpn75JVM76yRqzq0fTJxoWzol0yWy4/FuiO+GiRE3E8V7u7 *** END PGP DECRYPTED/VERIFIED MESSAGE ***
oTwzj+ksUcuz/1Uqyy7yNe6Vlu0kH/X2XDK8CDISsRcqji4wpYIVzVNTd8GK1xNz
dVzWFy260pQBV+x1cDsYIFUaVLthEsBRgTKnFKfq9Um1MFADdzJ6BR5JViURk7ZD
PICoJ9Lm7DKjw19t+k1G8S+8VSpVEW5FAh9X02beUgzoClYQAkLxl30xMsP9UByb
GBrHtaJG1bc4BF7pP5NBnKb/4IludrBhZCqAUK++qIRFbDfv5QIxyVZyVnTGfUUM
CnqZdSr1D0SmQHDD
=Xa3L
-----END PGP MESSAGE-----

-----BEGIN PGP SIGNED MESSAGE----- *** PGP SIGNATURE VERIFICATION ***


Hash: SHA1 *** Status: Good Signature
*** Signer: aaguirre <aaguirre@nesys-st.com> (0x5FAE003E)
MENSAJE CIFRADO *** Signed: 09/09/2005 10:23:31
-----BEGIN PGP SIGNATURE-----
*** Verified: 09/09/2005 10:25:33
Version: PGP 8.0.3 *** BEGIN PGP VERIFIED MESSAGE ***

iQA/AwUBQyFGgxibNN1frgA+EQJ15ACg+FGVWbBQ0rLKm4CsRotxp7mR8kwAoPSj MENSAJE CIFRADO


z2QSryPMOv7pak0E76igFO7p
=j0Nb
-----END PGP SIGNATURE----- *** END PGP VERIFIED MESSAGE ***
nesys-st.com Seguridad Telemática Avanzada

OpenSSL
OpenSSL es un trabajo derivado de SSLeay. SSLeay fue desarrollado originalmente
por Eric A. Young y Tim J. Hudson en 1995. En Diciembre de 1998, el desarrollo de
SSLeay fue interrumpido y la primera versión de OpenSSL fue liberada (0.9.1c) ,
utilizando SSLeay 0.9.1b como punto de partida. OpenSSL se compone de dos
partes:
1.librería criptográfica 2.conjunto de aplicaciones SSL
Existen versiones para distintas plataformas http://www.openssl.org
OpenSSL>
Standard commands
asn1parse ca ciphers crl crl2pkcs7
dgst dh dhparam dsa dsaparam
enc engine errstr gendh gendsa
genrsa nseq ocsp passwd pkcs12
pkcs7 pkcs8 rand req rsa
rsautl s_client s_server s_time sess_id
smime speed spkac verify version
x509
Message Digest commands (see the `dgst' command for more details)
md2 md4 md5 rmd160 sha sha1

Cipher commands (see the `enc' command for more details)


aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc
aes-256-ecb base64 bf bf-cbc bf-cfb
bf-ecb bf-ofb cast cast-cbc cast5-cbc
cast5-cfb cast5-ecb cast5-ofb des des-cbc
des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb
des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
des-ofb des3 desx rc2 rc2-40-cbc
rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb
rc4 rc4-40
nesys-st.com Seguridad Telemática Avanzada

OpenSSL
[root@nesys209 ssl]# rpm -i openssl-0.9.7a-35.rpm

[root@nesys209 ssl]# openssl version


OpenSSL 0.9.7a Feb 19 2003

[root@nesys209 ssl]# openssl version -d


OPENSSLDIR: "/usr/share/ssl"

[root@nesys209 ssl]# ls -sla


total 36
4 drwxr-xr-x 7 root root 4096 sep 7 22:30 .
4 drwxr-xr-x 161 root root 4096 jun 29 13:45 ..
4 drwx------ 3 root root 4096 jun 14 09:42 CA
0 lrwxrwxrwx 1 root root 19 jun 14 09:42 cert.pem -> certs/ca-bundle.crt
4 drwxr-xr-x 2 root root 4096 jun 24 19:10 certs
4 drwxr-xr-x 2 root root 4096 mar 25 2004 lib
4 drwxr-xr-x 3 root root 4096 jun 16 12:01 misc
8 -rw-r--r-- 1 root root 7655 sep 7 22:30 openssl.cnf
4 drwxr-xr-x 2 root root 4096 jun 24 19:10 private

Archivo de configuración de openssl

[root@nesys209 ssl]# cat /usr/share/ssl/openssl.cnf


nesys-st.com Seguridad Telemática Avanzada

OpenSSL
•Hashing
#openssl md5 a.txt
#openssl sha1 a.txt
#openssl sha1 -out a_hash.txt a.txt

•Cifrado simétrico 3DES


#openssl enc -des3 -salt -in a.txt -out cifra_a.bin -pass pass:CLAVE

Descifrado 3DES
#openssl enc -des-ede3-cbc -d -in cifra_a.bin -out descifra_a_3des.txt -pass pass:CLAVE

•Cifrado simétrico BLOWFISH


#openssl bf-cfb -salt -in a.txt -out cifra_a.bin -pass pass:CLAVE

Descifrado BLOWFISH
#openssl bf-cbc -salt -d -in cifra_a.bin -out descifra_a_blow.txt -pass pass:CLAVE

•Codificación de la información
#openssl base64 -in cifra_a.bin -out cifra_a_base64.txt
nesys-st.com Seguridad Telemática Avanzada

OpenSSL
Construyendo una Autoridad de Certificación

Creamos la estructura del entorno de la PKI

# mkdir /tmp/newca
# cd /tmp/newca
# mkdir certs private
# chmod g-rwx,o-rwx private
# echo '01' > serial
# touch index.txt
# ls -las

4 drwxr-xr-x 4 root root 4096 sep 10 17:20 .


4 drwxrwxrwt 9 root root 4096 sep 10 17:19 ..
4 drwxr-xr-x 2 root root 4096 sep 10 17:19 certs
0 -rw-r--r-- 1 root root 0 sep 10 17:20 index.txt
4 drwx------ 2 root root 4096 sep 10 17:19 private
4 -rw-r--r-- 1 root root 3 sep 10 17:20 serial
nesys-st.com Seguridad Telemática Avanzada

OpenSSL /usr/share/ssl/openssl.cnf

[ CA_default ]
dir = /tmp/newca # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
new_certs_dir = $dir/certs # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/privkey.pem # The private key
RANDFILE = $dir/private/.rand # private random number file
x509_extensions = usr_cert # The extentions to add to the cert
. . .
# crl_extensions = crl_ext
default_days = 365 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = md5 # which md to use.
preserve = no # keep passed DN ordering
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
nesys-st.com Seguridad Telemática Avanzada

OpenSSL
Construyendo una Autoridad de Certificación
+ Construyendo el certificado de la CA autofirmado
#openssl req -x509 -days 3650 -newkey rsa -out cacert.pem -outform PEM –keyout
cakey.pem

Información del certificado


#openssl x509 -in cacert.pem -text -noout

+ Se han realizado dos pasos en uno, crear el CSR de la CA y luego convertirlo en un


certificado x509 rellenándole los campos necesarios

+ Generación de una petición del certificado (request)

# openssl req -newkey rsa:1024 -keyout userkey.pem -keyform PEM -out


userreq.pem -outform PEM

Información de la petición del certificado (request)


#openssl req -in userreq.pem -text -noout
nesys-st.com Seguridad Telemática Avanzada

OpenSSL
[root@nesys209 newca]# cat userkey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,CE2D5DC9F9275BE0

fPVuz1E2dFPb5ja3dSQrgUyJ1Z0vMMPyuREAL53eoUAplkBQnkutKyiK13GXFlHT
mb4kYswgy4koa/Jj9AjO10jTUdQ0bKF4F69w/hWLKl7CcOdTiZpCFXtE/b8kS/+d
Kecw/4YEfDW2V+rrlYu8QaMUSvTBGjlrT2wlJIdTpn78uEjdEeyjDmf5VL8yyeSb
FqKZa1zgE3qCUedpL24NCYBUESCoMUH4YtdXn4hvxaHkdgBigDS3LW9Ztedo+tCy
qqYBqO9LBQAgYVgYoxe37BKw++mBAo32AbP9KUY/TqW3atsGEzeTKgt8XErvkEsJ
NquuxjwEQClOcoASF5ox8TOEAGMic7iUKlmIZB37a4n7on075Wenoez7/i/EuFR6
YMxABMVZ9jTcPJfNJViKpCUFEli8vGgBF83iifbGgYaCfRyCcyvB5fFBzmkYHft4
uVaJJLoaxotLj8FHTPPeCQqtfgpESPSVrq+funfDtZJiKzUB3JATeyshK8Zc0OR8
REu51+jWD9CY5piRDvfk6JEvsSv2vXt6rbFXGkzysasrbgcb722dpkLNTWDTJxEl
UyCfLJflCxZ08lXbG6oaMIHxhbaewcEyovxOTHIFbYzL+y3xetwDD3I3f+XhikB/
l9eC+MUIaFzSS9rFXOzxULzZ3gdCUMHkcIRUY7J1e6mYmBs6Z3g4lchKVe1/cxrd
B6AtRxIJIJFLwBumXGnXvBHTfTdAcN6Ical32zyL2DOgY4yy/sdwUA8yFEoavK0g
g9aQhgULjdPAcuvxloF4YE8UosBhu0VqzdhMtiY5oosK5A/AAC7cNg==
-----END RSA PRIVATE KEY-----

[root@nesys209 newca]# cat userreq.pem


-----BEGIN CERTIFICATE REQUEST-----
MIIBxTCCAS4CAQAwgYQxCzAJBgNVBAYTAkVTMRAwDgYDVQQIEwd2aXpjYXlhMRAw
DgYDVQQHEwdTb25kaWNhMQ4wDAYDVQQKEwVORVNZUzEMMAoGA1UECxMDUEtJMREw
DwYDVQQDEwhuZXN5czIwOTEgMB4GCSqGSIb3DQEJARYRaW5mb0BuZXN5cy1zdC5j
b20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK393j3aF0hBgsRR1lbwfswo
99b2rzXHB5npgq6BjKind1IaWfDcy/zMF+fcYWD1o2A5s6R0XoKaIDTKFVd3P338
uL8HuIoMcfY2e6kL7FmvjCtDBP8mdOtBp7YNb3j1wVQYkivJoIUwLFZpYDJBwGFW
Wq1RK405PklL7ltgOxPNAgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQAAQH24mSdP
nzbYM11pIltXlZPUYuxSDUrt2eq6snGrMgnKprZDqObKixkM/8nQnhT1Jv/buVKG
Jpf8iivMWgSHED/KVB3fwmnJ/Qy6gQgQLJ/ip7SufpjTtMVMg4ETG/bbvtn9tBkL
NcZ9jkcPATUVaajuHaQ5ExmjCcJfCfurvA==
-----END CERTIFICATE REQUEST-----
nesys-st.com Seguridad Telemática Avanzada

OpenSSL
Generación de un certificado a partir del request (CSR)
#openssl ca -in userreq.pem
...
-----BEGIN CERTIFICATE-----
MIIEADCCAuigAwIBAgIBATANBgkqhkiG9w0BAQQFADCBhDELMAkGA1UEBhMCRVMx
EDAOBgNVBAgTB3ZpemNheWExEDAOBgNVBAcTB1NvbmRpY2ExDjAMBgNVBAoTBU5F
U1lTMQwwCgYDVQQLEwNQS0kxETAPBgNVBAMTCG5lc3lzMjA5MSAwHgYJKoZIhvcN
...
IppRmJrZ7HCOsgOkhsoYe4EIYcZRoqgZFK0dehcRWG4/auXmKFO+XtdYorjYEU0/
07PI2LtOyEjA2lgCEk5pH/khbAI=
-----END CERTIFICATE-----

[root@nesys209 newca]# cat index.txt


V 060910160943Z 01 unknown . . .

Revocación de certificados
# cp certs/01.pem testcert.pem
# openssl ca -revoke usercert.pem
Using configuration from openssl.cnf
Enter PEM pass phrase:
Revoking Certificate 01.
Data Base Updated

[root@nesys209 newca]# cat index.txt


R 060910160943Z 050910161743Z 01 unknown . . .
nesys-st.com Seguridad Telemática Avanzada

OpenSSL
Generación de una lista de revocación

#openssl ca -gencrl -out exampleca.crl

[root@nesys209 newca]# cat exampleca.crl


-----BEGIN X509 CRL-----
MIIB4TCByjANBgkqhkiG9w0BAQQFADCBhDELMAkGA1UEBhMCRVMxEDAOBgNVBAgT
B3ZpemNheWExEDAOBgNVBAcTB1NvbmRpY2ExDjAMBgNVBAoTBU5FU1lTMQwwCgYD
...
pzZzTn8qjaa04D3DDOaque8XTILCLJWk7gUrMGR0VrAbghr79B69gFAJWKMKRJ/Y
gmOO85lAAfr1waQEb6ooCBK2LpZONOpiCKMAwLKAvFQnSCfcrWIlrXmJMhXvPjab
SFbI6V4=
-----END X509 CRL-----

#openssl crl -in exampleca.crl -text -noout


Certificate Revocation List (CRL):
Version 1 (0x0)
Signature Algorithm: md5WithRSAEncryption
Issuer: /C=ES/ST=vizcaya/L=Sondica/O=NESYS/OU=PKI/CN=nesys209/emailAddress=info@nesys-st.com
Last Update: Sep 10 16:21:38 2005 GMT
Next Update: Oct 10 16:21:38 2005 GMT
Revoked Certificates:
Serial Number: 01
Revocation Date: Sep 10 16:17:43 2005 GMT
Signature Algorithm: md5WithRSAEncryption
ba:93:b1:5c:e9:21:03:b3:ed:ec:f6:17:89:f6:41:61:36:ab:
nesys-st.com Seguridad Telemática Avanzada

Formatos de certs
• PKCS: Public Key Cryptography Standards. Estándares
emitidos por RSA http://www.rsasecurity.com/rsalabs/pkcs/.
– PKCS#1: Especificación del algoritmo RSA
– PKCS#8: Formato para claves privadas
– PKCS#10: Formato para requests de certificados (CSRs)
– PKCS#12: Formato combinado para claves-certs (pfx, p12)
• ASN.1, DER y PEM:
– ASN.1 estándar de descripción de datos portables. En crypto 
Descripción de claves.
– DER codifica los datos en un stream de bytes
– PEM Coge el stream, lo codifica Base64 y le añade una cabecera y un
pie de página.
nesys-st.com Seguridad Telemática Avanzada

Certificados y formatos de claves


PEM

Puede contener todas las claves privadas (RSA y DSA), claves públicas (RSA y DSA) y
certificados (x509). Es el formato por defecto para OpenSSL. Guarda datos codificados
en Base64 y formato DER, rodeado de cabeceras ASCII, de tal forma que es muy
adecuado para transferencias entre sistemas.

DER

Puede contener todas las claves privadas, públicas y certificados. Se guarda de acuerdo
con el formato ASN1 DER. Suele ser el utilizado por los navegadores

PKCS#12

También conocido como PFX (ext .p12 y .pfx). Puede contener todas las claves
privadas, públicas y certificados. Se guardan los datos en binario. Lo usa Microsoft.
nesys-st.com Seguridad Telemática Avanzada

Conversión de certificados

To PKCS#12 (Netscape, IE etc) from PEM

openssl pkcs12 -export -in pem-certificate-and-key-file -out pkcs-12-certificate-and-key-file


openssl pkcs12 -export -in pem-certificate-file -inkey pem-key-file -out pkcs-12-certificate-and-key-file

From PKCS#12 to PEM

openssl pkcs12 -in pkcs-12-certificate-file -out pem-certificate-file


openssl pkcs12 -in pkcs-12-certificate-and-key-file -out pem-certificate-and-key-file

From PEM/DER to DER/PEM - DSA Keys

openssl dsa -inform PEM|DER -outform DER|PEM -in pem-file|der-file -out der-file|pem-file

From PEM/DER to DER/PEM - RSA Keys

openssl rsa -inform PEM|DER -outform DER|PEM -in pem-file|der-file -out der-file|pem-file
nesys-st.com Seguridad Telemática Avanzada

Ejercicios
1. Manejo de GPG
– Creación par de claves, gestión de anillos, cifrado,
firma, descifrado y validación…
– Validación de firmado de SW putty
– http://www.gnupg.org/gph/en/manual.html
2. Manejo OpenSSL:
– Creación de una CA, creación de requests, firmado
de certs, gestión de CRLs
– Creación de una PKI de tres niveles
– Uso de la PKI bajo OpenVPN
nesys-st.com Seguridad Telemática Avanzada

Recursos a utilizar durante el curso

• PCs con sistemas GNU/linux en red


• Salida a internet
• Distros live-CD de GNU/linux de seguridad
• Proyector
• Presentaciones de seguridad y documentos
• Laboratorios con sistemas y redes
• Recursos en internet
• Recursos compartidos entre alumnos y profesor vía FTP

Contacto durante el curso: juriona@nesys-st.com


nesys-st.com Seguridad Telemática Avanzada

REFERENCIAS
Openssl.org, gnupg.org, openvpn.org,
seguridaddigital.info
Wikipedia
UPM, Jorge Ramió Aguirre, J.L. Mañas
Jérémy Chartier

NESYS-ST.COM

Boletín Cryptogram 15/09/98, www.counterpane.com

Applied Cryptography, B.Schneier

www.kriptopolis.org
nesys-st.com Seguridad Telemática Avanzada

Licencia

Das könnte Ihnen auch gefallen