Aplicaciones de la Criptografía
José M. Sempere
Departamento de Sistemas Informáticos y Computación
Universidad Politécnica de Valencia
Certificados digitales
Introducción
El estándar X.509
Autoridades de certificación (CAs)
Listas de revocación (CRLs)
Infraestructuras de clave pública (PKIs)
Correo electrónico seguro
El sistema PGP
El protocolo PEM
Comercio electrónico
Certificados digitales
... por qué surgen los certificados digitales ?
• Entornos de miles (millones) de usuarios intercambiando información
• Red pública de transmisión de datos
• Necesidad de seguridad y confianza
•Un certificado digital equivale a un certificado en la vida real
•Si un usuario A quiere acreditar una información a un usuario B
basta con que enseñe un certificado de acreditación firmado por
una entidad de confianza para ambas partes
A
B
C
A
B
C
información
información
confirmación
confirmación
sin certificados
A
C
A
C
confirmación A y C
Autoridad
de
certificación
con certificados
información + certificado
información + certificado
certificado A y C
El estándar X.509 para certificados digitales
Version
Certificate serial number
Signature Algorithm Identifier
Issuer
Validity period
Subject
Subject Public Key Information
Issuer Unique Identifier (op)
Subject Unique Identifier (op)
Extensions (op)
Generación de la
firma digital
Clave privada de
Topologías para las autoridades de
certificación y los usuarios
CA1
CA6
CA5
CA3
CA2
CA7
CA4
user1
user2
user3
user4
user5
user6
user7
Jerárquico en árbol
Topologías para las autoridades de
certificación y los usuarios
CA1
CA7
CA2
CA3
user1
user2
CA4
user3
user7
CA5
user4
CA6
user5
user6
Jerárquico en red
CA9
CA8
user8
user9
Las listas de revocación de certificados
Version
Signature Algorithm Identifier
Issuer Name
This Update
Next Update (op)
Revoked Certificates
CRL Extensions
Certificate Authority’s Digital Signature
Generación de la
firma digital
Clave privada
de la AC
Revocation Date
User Certificate
(Serial Number)
CRL Entry Extensions
Revocation Date
User Certificate
(Serial Number)
CRL Entry Extensions
Infraestructuras de clave pública
Una infraestructura de clave pública se compone de cinco
componentes ...
1.
Autoridades de certificación
2.
Autoridades de registro
3.
Usuarios de la tecnología PKI
4.
Clientes
Infraestructuras de clave pública
re
p
o
si
to
ri
o
s
CR
L
/Ce
rt
if
ic
a
d
o
s
entidades finales
Autoridades
de registro
Autoridad de
certificación
Autoridad de
certificación
Transacciones
de administración
Publicación de
certificados
Publicación de
Certificados y CRLs
Transacciones
de administración y
operacionales
Usuarios de PKI
Administradores de PKI
Transacciones
de administración
Sistema PGP (Pretty Good Privacy)
• Sistema de libre distribución
• Gestión de claves no jerarquizada
• Incorpora cifrado, firma y certificación
• Principales algoritmos de cifrado: RSA y Diffie-Hellman/DSS
Sistema PGP (Pretty Good Privacy)
Anillo de confianza
(keyring)
PGP
Interfaces con el sistema
Agentes de correo
Gestor de
claves
Gestor de archivos
S.O.
Protocolo PEM (Privacy Enhanced Mail)
• Actúa como estándar
• Sistema comercial (RIPEM) de distribución libre restringida
• Gestión de claves jerarquizada
• Incorpora cifrado, firma y certificación
• Principales normas: RFC 821, RFC 822, RFC 1421-1424, SMTP,
X.400 y X.500
Tipos de mensajes
(a) MIC-CLEAR: Integridad y autenticidad.
(b) MIC-ONLY: MIC-CLEAR + Codificación
(c) ENCRIPTED: MIC-ONLY + Cifrado
(añade confidencialidad)
MIC: Message Integrity Code
Entorno del sistema PEM
Editor
Agente de transferencia
de correo (SMTP relay)
Filtro PEM
Agente de
usuarios
Agente de transferencia
de correo (SMTP)
Módulo PEM
Gestor de transferencia
de correo (SMTP)
Agente de usuarios
SMTP
(RFC-821)
RFC-822
SMTP
(RFC-821)
Recuperación
(Por ejemplo POP)
Emisor (Host multiusuario)
Receptor (workstation)
Proceso de envío de correo del sistema PEM (1)
Codificación a 6-bits y
limitación de longitud de
linea
Cálculo del MIC y
cifrado (opcional)
Estandarización SMTP
Paso 1
Paso 2
BEGIN PRIVACY ENHANCED MESSAGE
CABECERA ENCAPSULADA:
Contiene campos de control para la
autenticación, integridad y cifrado
(opcional), así como otros datos.
LINEA EN BLANCO
TEXTO ENCAPSULADO:
(CIFRADO)
Texto del usuario y (opcionalmente)
campos de cabecera repetidos
END PRIVACY ENHANCED MESSAGE
Proceso de envío de correo del sistema PEM (2)
Cabecera de mensaje (RFC-822)
MENSAJE ENCAPSULADO
Dirección, Subject, etc.
del usuario
Dirección del usuario y
otra información para cifrar
Contenido del mensaje
sin cifrar
Formato para mensajes encapsulados
---BEGIN PRIVACY-ENHANCED
MESSAGE---Encapsulated Header Portion
(Contains encryption control fields inserted in plaintext.
Examples include "DEK-Info:" and "Key-Info:".
Note that, although these control fields have line-oriented
representations similar to RFC 822 header fields, the set
of fields valid in this context is disjoint from those used
in RFC 822 processing.)
Blank Line
(Separates Encapsulated Header from subsequent
Encapsulated Text Portion)
Encapsulated Text Portion
Contains message data encoded)
Post-Encapsulation Boundary
(Post-EB)
MESSAGE---Campos para mensajes simétricos
Proc-Type:
Tipo de mensaje (MIC-CLEAR/MIC-ONLY/ENCRYPTED)
Content-Domain:
Documento de estandarización
DEK-Info (Data Exchange Key):
Algoritmo de cifrado del texto y los parámetros
Originator-ID-Symmetric:
Identificación del emisor (dirección de email, dirección de la
autoridad para el intercambio, versión/fecha de expiración)
Recipient-ID-Symmetric:
Identificación del receptor (dirección de email, dirección de la
autoridad para el intercambio, versión/fecha de expiración)
Key-Info:
Algoritmo para cifrar el DEK, Algoritmo para el cálculo del MIC, DEK codificado,
MIC codificado)
Campos para mensajes asimétricos
Proc-Type:
Tipo de mensaje (MIC-CLEAR/MIC-ONLY/ENCRYPTED)
Content-Domain:
Documento de estandarización
DEK-Info (Data Exchange Key):
Algoritmo de cifrado del texto y los parámetros
Originator-Certificate:
Certificado del emisor
Key-Info:
Algoritmo para cifrar el DEK, DEK cifrado con la clave pública del emisor
Issuer-Certificate:
Certificado de la autoridad de certificación
MIC-Info:
Algoritmo de resumen, Algoritmo de firma, MIC firmado con la clave pública
del emisor
Recipient-ID-Asymmetric:
Autoridad de la clave pública del receptor, versión/fecha de
expiración)
Ejemplo de mensaje encapsulado (simétrico)
---BEGIN PRIVACY-ENHANCED
MESSAGE---Proc-Type: 4,ENCRYPTED
Content-Domain: RFC822
DEK-Info: DES-CBC,F8143EDE5960C597
Originator-ID-Symmetric: [email protected],,
Recipient-ID-Symmetric: [email protected],ptf-kmc,3
Key-Info: DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,
B70665BB9BF7CBCDA60195DB94F727D3
Recipient-ID-Symmetric: [email protected],ptf-kmc,4
Key-Info: DES-ECB,RSA-MD2,161A3F75DC82EF26,
E2EF532C65CBCFF79F83A2658132DB47
LLrHB0eJzyhP+/fSStdW8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoH1nvNSIWL9M
8tEjmF/zxB+bATMtPjCUWbz8Lr9wloXIkjHUlBLpvXR0UrUzYbkNpk0agV2IzUpk
J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlK1Z6720dcBWGGsDLpTpSCnpot
dXd/H5LMDWnonNvPCwQUHt==
---END PRIVACY-ENHANCED
MESSAGE---Ejemplo de mensaje encapsulado y cifrado (asimétrico)
---BEGIN PRIVACY-ENHANCEDMESSAGE---Proc-Type: 4,ENCRYPTED Content-Domain: RFC822 DEK-Info: DES-CBC,BFF968AA74691AC1 Originator-Certificate: MIIBlTCCAScCAWUwDQYJKoZIhvcNAQECBQAwUTELMAkGA1UEBhMCVVMxIDAeBgNV BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDzAN BgNVBAsTBk5PVEFSWTAeFw05MTA5MDQxODM4MTdaFw05MzA5MDMxODM4MTZaMEUx CzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEU MBIGA1UEAxMLVGVzdCBVc2VyIDEwWTAKBgRVCAEBAgICAANLADBIAkEAwHZHl7i+ yJcqDtjJCowzTdBJrdAiLAnSC+CnnjOJELyuQiBgkGrgIh3j8/x0fM+YrsyF1u3F LZPVtzlndhYFJQIDAQABMA0GCSqGSIb3DQEBAgUAA1kACKr0PqphJYw1j+YPtcIq iWlFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2wfX5byMp2X3U/ 5XUXGx7qusDgHQGs7Jk9W8CW1fuSWUgN4w== Key-Info: RSA, I3rRIGXUGWAF8js5wCzRTkdhO34PTHdRZY9Tuvm03M+NM7fx6qc5udixps2Lng0+ wGrtiUm/ovtKdinz6ZQ/aQ== Issuer-Certificate: MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAwTzELMAkGA1UEBhMCVVMxIDAeBgNV BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDTAL BgNVBAsTBFRMQ0EwHhcNOTEwOTAxMDgwMDAwWhcNOTIwOTAxMDc1OTU5WjBRMQsw CQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIERhdGEgU2VjdXJpdHksIEluYy4xDzAN BgNVBAsTBkJldGEgMTEPMA0GA1UECxMGTk9UQVJZMHAwCgYEVQgBAQICArwDYgAw XwJYCsnp6lQCxYykNlODwutF/jMJ3kL+3PjYyHOwk+/9rLg6X65B/LD4bJHtO5XW cqAz/7R7XhjYCm0PcqbdzoACZtIlETrKrcJiDYoP+DkZ8k1gCk7hQHpbIwIDAQAB MA0GCSqGSIb3DQEBAgUAA38AAICPv4f9Gx/tY4+p+4DB7MV+tKZnvBoy8zgoMGOx dD2jMZ/3HsyWKWgSF0eH/AJB3qr9zosG47pyMnTf3aSy2nBO7CMxpUWRBcXUpE+x EREZd9++32ofGBIXaialnOgVUn0OzSYgugiQ077nJLDUj0hQehCizEs5wUJ35a5h MIC-Info: RSA-MD5,RSA, UdFJR8u/TIGhfH65ieewe2lOW4tooa3vZCvVNGBZirf/7nrgzWDABz8w9NsXSexv AjRFbHoNPzBuxwmOAFeA0HJszL4yBvhG Recipient-ID-Asymmetric: MFExCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5j LjEPMA0GA1UECxMGQmV0YSAxMQ8wDQYDVQQLEwZOT1RBUlk=, 66 Key-Info: RSA, O6BS1ww9CTyHPtS3bMLD+L0hejdvX6Qv1HK2ds2sQPEaXhX8EhvVphHYTjwekdWv 7x0Z3Jx2vTAhOYHMcqqCjA== qeWlj/YJ2Uf5ng9yznPbtD0mYloSwIuV9FRYx+gzY+8iXd/NQrXHfi6/MhPfPF3d jIqCJAxvld2xgqQimUzoS1a4r7kQQ5c/Iua4LqKeq3ciFzEv/MbZhA== ---END PRIVACY-ENHANCED