PKI (Public Key Infrastructure) es un conjunto de políticas, procedimientos y tecnologías que permiten la gestión segura de claves públicas y certificados digitales.

¿Qué es PKI?

PKI proporciona un marco para crear, distribuir, validar y revocar certificados digitales, estableciendo confianza en entornos digitales.

Componentes Principales

Autoridad Certificadora (CA)

  • Root CA: Autoridad raíz de confianza
  • Intermediate CA: Autoridades intermedias
  • Issuing CA: Autoridades emisoras
  • Subordinate CA: Autoridades subordinadas

Certificados Digitales

  • X.509: Estándar de certificados
  • Clave pública: Contenida en el certificado
  • Identidad: Información del titular
  • Validez: Período de validez

Lista de Revocación (CRL)

  • CRL: Lista de certificados revocados
  • OCSP: Protocolo de verificación en línea
  • Delta CRL: Lista incremental
  • CRL Distribution Points: Puntos de distribución

Repositorio de Certificados

  • LDAP: Directorio de certificados
  • HTTP: Descarga vía web
  • FTP: Transferencia de archivos
  • Base de datos: Almacenamiento centralizado

Arquitectura PKI

Jerarquía de Confianza

Root CA
├── Intermediate CA 1
│   ├── End Entity Cert 1
│   └── End Entity Cert 2
└── Intermediate CA 2
    ├── End Entity Cert 3
    └── End Entity Cert 4

Tipos de CA

  • Root CA: Máxima autoridad
  • Policy CA: Define políticas
  • Issuing CA: Emite certificados
  • Cross-certified CA: Certificación cruzada

Tipos de Certificados

Por Propósito

  • SSL/TLS: Certificados de servidor web
  • Code Signing: Firma de código
  • Email: Certificados S/MIME
  • Client: Certificados de cliente
  • Timestamping: Sellado de tiempo

Por Validación

  • DV (Domain Validated): Validación de dominio
  • OV (Organization Validated): Validación de organización
  • EV (Extended Validated): Validación extendida
  • IV (Individual Validated): Validación individual

Por Alcance

  • Single Domain: Un solo dominio
  • Wildcard: Subdominios de un dominio
  • Multi-Domain: Múltiples dominios
  • Unified Communications: Comunicaciones unificadas

Proceso de Emisión

Solicitud de Certificado

  1. Generar CSR: Certificate Signing Request
  2. Validar identidad: Verificar identidad del solicitante
  3. Revisar política: Aplicar políticas de CA
  4. Emitir certificado: Generar y firmar certificado

Validación

  • Domain Validation: Verificar control del dominio
  • Organization Validation: Verificar organización
  • Extended Validation: Validación exhaustiva
  • Individual Validation: Verificar identidad personal

Instalación

  • Servidor web: Instalar en servidor
  • Cliente: Instalar en dispositivo
  • Trust store: Agregar a almacén de confianza
  • Configuración: Configurar aplicaciones

Gestión del Ciclo de Vida

Creación

  • Generación de claves: Crear par de claves
  • Solicitud: Enviar CSR a CA
  • Validación: Proceso de validación
  • Emisión: Generar certificado

Distribución

  • Descarga: Descargar certificado
  • Instalación: Instalar en sistema
  • Configuración: Configurar aplicaciones
  • Verificación: Probar funcionamiento

Renovación

  • Antes de expirar: Renovar proactivamente
  • Proceso automático: Renovación automática
  • Validación: Revalidar identidad
  • Reinstalación: Instalar nuevo certificado

Revocación

  • Compromiso: Revocar por compromiso
  • Pérdida: Revocar por pérdida
  • Cambio: Revocar por cambio de datos
  • Expiración: Dejar expirar naturalmente

Implementación

OpenSSL

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Generar clave privada
openssl genrsa -out private.key 2048

# Generar CSR
openssl req -new -key private.key -out request.csr

# Verificar CSR
openssl req -in request.csr -text -noout

# Instalar certificado
openssl x509 -in certificate.crt -text -noout

Microsoft Certificate Services

1
2
3
4
5
6
7
8
# Instalar Certificate Services
Install-WindowsFeature -Name AD-Certificate -IncludeManagementTools

# Configurar CA
Install-AdcsCertificationAuthority -CACommonName "MyCA"

# Emitir certificado
New-CertificateRequest -Template "WebServer" -Subject "CN=example.com"

Let’s Encrypt

1
2
3
4
5
6
7
8
# Instalar Certbot
apt-get install certbot

# Obtener certificado
certbot --apache -d example.com

# Renovar certificados
certbot renew

Seguridad

Protección de CA

  • Hardware Security Module: Protección física
  • Air-gapped: Aislamiento de red
  • Backup seguro: Respaldos cifrados
  • Acceso restringido: Control de acceso

Validación de Certificados

  • Verificación de firma: Validar firma CA
  • Verificación de validez: Comprobar fechas
  • Verificación de revocación: Consultar CRL/OCSP
  • Verificación de cadena: Validar cadena completa

Mejores Prácticas

  • Políticas claras: Definir políticas de CA
  • Procedimientos: Documentar procedimientos
  • Auditoría: Auditorías regulares
  • Monitoreo: Monitoreo continuo

Estándares y Protocolos

Estándares

  • X.509: Estándar de certificados
  • PKCS#10: Solicitud de certificado
  • PKCS#7: Mensaje criptográfico
  • RFC 5280: Perfil de certificado X.509

Protocolos

  • OCSP: Verificación en línea
  • SCEP: Enrollamiento simple
  • CMP: Gestión de certificados
  • CMC: Mensajes de gestión

Aplicaciones

Web Security

  • HTTPS: Sitios web seguros
  • TLS/SSL: Cifrado de comunicaciones
  • HSTS: HTTP Strict Transport Security
  • Certificate Pinning: Fijación de certificados

Email Security

  • S/MIME: Correo electrónico seguro
  • PGP/GPG: Cifrado de correo
  • DKIM: Autenticación de dominio
  • SPF: Verificación de remitente

Code Signing

  • Software: Firma de aplicaciones
  • Drivers: Firma de controladores
  • Updates: Firma de actualizaciones
  • Mobile: Firma de aplicaciones móviles

Identity Management

  • Smart Cards: Tarjetas inteligentes
  • Tokens: Dispositivos de autenticación
  • Biometrics: Autenticación biométrica
  • SSO: Single Sign-On

Monitoreo y Auditoría

Monitoreo

  • Expiración: Alertas de expiración
  • Revocación: Monitoreo de revocaciones
  • Uso: Seguimiento de uso
  • Rendimiento: Métricas de rendimiento

Auditoría

  • Logs: Registro de actividades
  • Compliance: Cumplimiento normativo
  • Penetration Testing: Pruebas de penetración
  • Vulnerability Assessment: Evaluación de vulnerabilidades

Conceptos Relacionados

Referencias