Title: INTRODUCCI
1INTRODUCCIÓN A PKI(Public Key Infrastructure)
- Raúl González Martínez
- David Sanz Llorente
- Ivan Fontanals Martínez
2Amenazas
- Espionaje o robo cuando se copian los datos sin
que estos hayan sido modificados de forma que el
propietario no se ha dado cuenta. - Manipulación o modificación cuando se ha
modificado el contenido de los datos. - Falsificación o suplantación cuando se ha
manipulado la autoría del autor. - Repudio esta amenza la sufre quién recibe los
datos, cuando el autor de éstos dice no haberlos
escrito nunca.
3Medidas
- Para evitar el efecto de las anteriores amenazas,
se pueden adoptar dos tipos de medidas - Medidas físicas encerrar los datos en alguna
caja fuerte. - Medidas lógicas la criptografía.
- La criptografía puede dividirse a su vez en dos
subgrupos - Criptografia de clave simétrica.
- Criptografia de clave pública (o asimétrica).
4Herramientas de la Criptografía
- Cifrado permite proteger los datos contra el
espionaje. - Resumen o hash permite la protección de la
integridad de los datos contra la manipulación. - La firma permite la verificación de la autoría
de los datos protegiéndolos contra la
falsificación o el repudio de autoría. - Una vez configurada las herramientas
criptográficas, pueden utilizarse para
identificar a usuarios la certificación o
Infraestructura de clave pública o PKI.
5Clave Simétrica (I)
- Utiliza una clave K para los procesos de cifrado
y descifrado - P e (k,M) M d (k,P)
- Al tener únicamente una clave que es pública,
esta debe ser intercambiada a través de un canal
seguro. - Dos tipos de cifrado
- Algoritmos de cifrado de flujo (RC4)
- P e (k,M) k xor M
- M d (k,P) k xor P
- donde k es una clave de igual longitud que M
generada a partir de una semilla. - Algoritmos de cifrado de bloque (3DES) trabaja
sobre bloques de entrada produciendo bloques del
mismo tamaño dependiendo de la clave de cifrado.
6Clave Simetrica (II)
- Ataques contra el cifrado
- Criptoanálisis Analizando la secuencia P.
- Fuerza Bruta Probando todas las combinaciones
de la clave k. - Actualmente las claves tienen entre 112 y 168
bits, lo que implica que para descifrarlos es
necesario 1,61017 años. - Además incrementando un bit de la clave, dobla
el espacio y por tanto el tiempo para encontrar
la clave correcta. - El hash permite obtener una secuencia de longitud
fija y única para cada mensaje. - Algoritmos de hash empleados son MD5 y SHA1.
7Clave pública (I)
- Utiliza dos claves para el cifrado y el
descifrado, una pública y otra privada. - P e (Kpub,M)
- M d (Kprv,P)
- La publicación de la clave pública no compromete
la privacidad de la clave privada, puesto que no
se puede encontrar la segunda a partir de la
primera.
8Clave pública (II)
- Cifrado P e (Kpub,M)
- Descifrado M d (Kprv,P)
- Si se aplica el mismo proceso al reves obtenemos
la firma digital, la qual permite saber que solo
una persona puede haber cifrado el mensaje M - P e (Kprv,M)
- M d (Kpub,P)
- Ataques contra la criptografía asimétrica
- La longitud de las claves Suelen utilizarse
claves de 1024 bits, y en algunos casos de 2048
bits. - Corrección en la aplicación de algoritmos Toda
la seguridad del sistema se basa en el hecho de
mantener protegidas las claves privadas.
9Uso práctico de cifrado y firma (I)
- Proceso de cifrado
- Se genera una clave simétrica K de forma
aleatoria y con ella se cifra el mensaje M P1
e (K,M) - La clave de sesión se cifra con la clave pública
del destinatario - P2 e (Kpub,K)
- Enviamos la concatenación de P1 y P2.
- Proceso de firma
- Se extrae el hash del mensaje a firmar H h
(M) - Se firma el hash P (Kprv,H)
- Se envía una concatenación de M y la firma P.
10Uso práctico de cifrado y firma (II)
- Cuando recibe P1 y P2 simplemente debe descifrar
la clave de sesión y con ella el resto del
mensaje. - Cuando se recibe la firma, se calcula H a partir
de M - H1 h (M)
- y la clave pública del firmante se aplica sobre
la firma P. - H2 e (Kpub,P)
- Ambas versiones del hash deben ser iguales
- H1 H2 H
- Si no es así, el mensaje M ha sido manipulado o
bien la firma no es válida y ha sido realizado
por otra persona.
11Infraestructura de clave pública (PKI)
- Introducción
- Definición de certificado
- Autoridades de Certificación
- Autoridades de Registro
- Lista de Revocaciones de Certificados (CRLs)
12Introducción
- Cómo podemos tener la certeza de que las claves
públicas pertenecen a quien parecen pertenecer? - PKI es una combinación de procesos, algoritmos y
estructuras de datos que permitirá asegurar la
identidad de los participantes en un intercambio
de datos mediante la utilización de la
criptografía. - La estructura de datos más importante de PKI es
el certificado.
13Certificado
- Es una estructura de datos que permite
identificar al titular de una clave pública. - Consta de tres campos
- Nombre del titular del certificado
- Titular de la clave pública
- Firma de los campos previos
- (La firma de los dos campos previos asegura la
integridad contra una posible manipulación no
deseada.)
14Autoridades de Certificación (CA)
- - Son los encargados de emitir los certificados.
Débe ser alguien de confianza para los
participantes. - - Las CAs auto-firmadas, son las llamadas CAs
Raíz - - La petición de certificación la realiza el
titular firmando una secuencia de datos
(generalmente es su nombre) con su clave privada.
De esta manera la CA puede comprobar si las
claves son correctas. - La confianza en la CA se basa en dos factores
- Sigue procedimientos de verificación de los datos
del titular y verifica que su clave pública sea
realmente suya. - La clave privada de la CA se mantiene bajo
medidas de seguridad
15Listas de revocación (CRLs)
- Si el certificado se utiliza para cifrar la
información del titular sólo podrá utilizarse
durante su período de validez si no es así, se
dice que el certificado ha caducado. - Un certificado podrá dejar de ser válido por
varias razones, como por ejemplo si el titular ya
no trabaja en la misma empresa o si la clave
privada ya no es secreta. - Cada CA sabe que tendrá que retirar algunos
certificados debido a que alguno de sus campos
dejan de ser válidos, certificados revocados. - Las CRLs son las listas donde cada CA va a
publicar los certificados revocados o caducados.
Dichas CRLs contendrán el número de certificado
dentro de la CA y serán de acceso público, por
ejemplo mediante un LDAP.
16Autoridades de Registro (RA)
- Son los responsables de verificar los datos que
se añadirán al certificado como verificar el
nombre del titular, ... de acuerdo con una
política de certificación. - Cada CA tiene una o más RAs que le proporcionan
peticiones de certificado. - La RA será la encargada de enviar la petición de
certificados a la CA una vez las comprobaciones
sean correctas. - Los certificados podrán ser publicados en un
servicio de directorios como puede ser LDAP y
donde todo el mundo pueda acceder a él.
17Formatos y codificación de un certificado
- Certificado X.509 v1
- Certificado X.509 v3
- Certificados de una CA
- Certificados de una CRL
- Contenedores de estructuras criptográficas
18Certificado X.509 v1
19Certificado X.509 v3
20Certificado X.509 v3 extensiones
- Extensiones más comunes
- SubjectAltName Nombre alternativo del titular
(web o e-mail del titular) - keyUsage (crítico) Indica el uso que se debe
hacer de ese certificado, por ejemplo si es para
firmar, cifrar, firmar CRLs, etc... - ExtendedKeyUsage (crítico) Similar al anterior.
Microsoft lo utiliza para añadir funcionalidades
apropiadas a su sistema operativo. - netscapeCertType (crítico) Similar a KeyUsage
pero implementado por Netscape. - crlDistributionPoints (crítico) Identifica los
puntos donde se podrá acceder a las CRLs para
comprobar si el certificado ha sido revocado. - basicContraints (crítico) Indica si el
certificado proviene de una CA o no. En caso
afirmativo, indica si es raiz o no.
21Certificados de la Autoridad de Certificación
- Los certificados de una CA versión 1, son
prácticamente idénticos al de los usuarios. - Los certificados versión 3, incluirán la
extensión mencionada antes de basicContraints
con valor true. - Cuando el emisor de una CA es el mismo que el
receptor, campos Issuer y Subject
respectivamente, se dice que que el certificado
es auto-firmado. En este caso estaremos hablando
de una CA raíz. - No todas las CAs son raíz, existen también
subordinadas que disponen de un certificado
firmado por una CA de nivel superior.
22Jerarquía de certificación
23Lista de Revocaciones CRLs (I)
Las CRLs disponen de un formato ASN.1. Contienen
una lista de números de serie de certificados
revocados por la CA.
Ejemplo de CRL CRL SEQUENCE toBeSigned
SEQUENCE version 1 (v2) signature
pkcs1-sha1WithRsaSignature issuer CNroot,
OUOC, Ces thisUpdate utcTime
"000830165749Z" nextUpdate utcTime
"000930165749Z" revokedCertificates SEQUENCE
OF revokedCertificate crlExtensions
SEQUENCE OF extension signatureAlgorithm
pkcs1-sha1WithRsaSignature signature
"56A376E029E97824 ... DFB19FBFAF"
24Lista de Revocaciones CRLs (II)
revokedCertificate SEQUENCE certificate
4 revocationDate utcTime "000830165749Z" cr
lEntryExtensions SEQUENCE OF extension
extension SEQUENCE OF extnId
id-ce-reasonCode critical false extnValue
(enum) certificateHold
- Suspendido o inhabilitado
- No especificado
- Clave comprometida
- CA comprometida
- Modificación de afiliciación
- Obsoleto
- Fin de opeativilidad
25Contenedores de estructuras criptográficasPKCS
(Public Key Criptograhic Standards)
- Todas las estructuras que veremos a continuación,
son secuencias en ASN.1 y codificación DER o BER. - Tanto DER como BER son codificaciones binarias.
- Uno de los usos de los PKCS son las peticiones de
certificados. - Básicamente existen dos maneras de pedir un
certificado - 1- El cliente genera su clave pública y privada
y manda a validar su certificado a una CA. En
este caso se usa PCSK 10. - 2- El cliente pide a una CA un certificado. En
este caso es la CA quien genera el par de claves
y se lo envía con un PKCS 12. Este contenedor
ira protegido con un password para que nadie
pueda ver la clave privada emitida.
26Ejemplo de PKCS 10 Petición de un certificado
SEQUENCE toBeSigned SEQUENCE version 0
(v1) subject CNMelcior, OReis
Mags subjectPublicKeyInfo "AF3FFDA
...08F8DF7" attributes ... signatureAlgorithm
sha1WithRsaSignature signature "
7767DD15200 3DC00F60A
Son las extensiones pero no se usan en la
petición de un certificado.
27Otros PKCS
- PKCS 7 Contenedores de datos no estructurados.
- Usos
- Datos firmados no incluidos. (No contiene los
datos que firma) - Datos firmados incluidos.
- Datos cifrados.
- Datos cifrados y firmados.
- Cadenas de certificación.
- Certificados individuales. (por ejemplo que
responden a una petición de certificación).
28Otros PKCS ...
- PKCS 1 define el formato de la clave privada en
RSA. - PKCS 5 define un contenedor de información
genérica para cifrar simétricamente desde una
contraseña. - PKCS 8 especifica un contenedor para claves
privadas genéricas a las cuales puede aplicarse
la criptografía del PKCS 5. - ...