Parte II: MS - AD CS
Active Directory Certificate Services
Arquitecturas PKI corporativas
CA root
Jerárquica CA root
cert cert cert Bridge PKI
CA sub
cert cert
CA sub
cert
usuarios PKI
Relaciona a las
PKI corporativas
Cert cruzada Mesh
La PKI corporativa (en este caso standalone) puede integrarse de alguna de las maneras consideradas antes.
CA (Certificate Authority)
■ Acepta/rechaza solicitudes
■ Verifica info del solicitante y si la
operación está permitida
■ Valida certificados
■ Revoca y publica la CRL (Certification
ROLES
Revocation List)
RA (Registration Authority)
■ Autoriza peticiones al CA o Sub-CA
■ No publica certificados
■ Descarga validación básica de la CSR
■ Protege a la CA de la exposición directa
PKI – Root CA
https://safenet.gemalto.es/data-encryption/hardware-security-modules-hsms/
AD CS (Active Directory Certificate Services)
Todos los roles de servicios AD CS (Active Directory Certificate Services) corren en todas
las ediciones de W2K12: Datacenter, Enterprise, Essentials (Server Mgr); y Foundation
(con PShell):
Seleccionar
2) CA Web Enrollment: Interface para solicitar y renovar CERTs, recuperar CRL, etc.
Directivas
CERTs automática basada en directivas para usuarios y equipos
6) Certificate Enrollment Web Service: inscripción CERTs automática basada en
directivas para usuarios y equipos
RSA – Estándares criptográficos PKCS
Versión Nombre Comentarios
PKCS#1 2.1 Estándar criptográfico RSA Ver RFC 3447. Define el formato del cifrado RSA.
Un protocolo criptográfico que permite a dos partes sin conocimiento previo
Intercambio de claves
PKCS#3 1.4 una de la otra establecer conjuntamente una clave secreta compartida,
Diffie-Hellman
utilizando un canal de comunicaciones inseguro.
Recomendaciones para la implementación de criptografía basada en
contraseñas, que cubren las funciones de derivación de claves, esquemas de
PKCS#5 2.0 Cifrado basado en contraseñas
encriptación, esquemas de autenticación de mensajes, y la sintaxis ASN.1 que
identifica las técnicas. Ver RFC 2898 y PBKDF2.
Ver RFC 2315. Para firmar y/o cifrar mensajes en PKI y distribución de
Sintaxis del mensaje
PKCS#7 1.5 certificados (p.ej. como respuesta a un mensaje PKCS#10). Base de S/MIME,
criptográfico
ahora basado en la RFC 3852
Sintaxis de la información
PKCS#8 1.2 Ver RFC 5208.
de clave privada
Tipos de atributos
PKCS#9 2.0
seleccionados
Ver RFC 2986. Formato de los mensajes enviados a una Autoridad de
PKCS#10 1.7 Solicitud de certificación
certificación para solicitar la certificación de una clave pública. Ver CSR.
Cryptographic Token Interface Define un API genérico de acceso a dispositivos criptográficos (ver HSM).
PKCS#11 2.20
o cryptoki Interfaz de dispositivo criptográfico
Sintaxis de intercambio de Formato de fichero usado comúnmente para almacenar claves privadas con
PKCS#12 1.0
información personal su certificado de clave pública protegido mediante clave simétrica.
Define un estándar que permite a los usuarios de dispositivo criptográficos
Formato de información de identificarse con aplicaciones independientemente de la implementación del
PKCS#15 1.1
dispositivo criptográfico PKCS#11 cryptoki u otro API. RSA ha abandonado las partes relacionadas con
la tarjeta IC de este estándar, subsumidas por el estándar ISO/IEC 7816-15. 1
AD CS – Documentos básicos CA
CP (Certificate Policy)
Define los objetivos y alcances de la CA (qué hacer).
Responsabilidades de todos los participantes, propósito de los CERT,
cuestiones legales
CPS (Certificate Practice Statement)
Guías técnicas de procedimiento para la operación de la CA (detalles
de como hacer lo que especifica la CP). Configuración servidor ,
algoritmos, emisión, renovación, recuperación y revocación.
Estándares UIT-T X.509
UIT-T X.509 [RFC 5280, actualizada por RFC 6818]
Certificate and CRL Profile [RFC 3280]
Online Certificate Status Protocol [RFC 2560]
Time Stamp Protocol [RFC 3161]
AD CS – Agregar Roles y Características
AD CS – Agregar Roles y Características
Power Shell Get-WindowsFeature
Get-WindowsFeature muestra todos los roles. Para evitar búsqueda y scroll, usar filtro:
Get-WindowsFeature | where {$_.name -like "adcs*" -or $_.name -like "ad-c*"}
Recomendaciones:
• CA raíz offline (menos expuesta a riesgos).
• Duración de los certificados mayor que los
de la CA subordinada.
AD CS – Configuración
Entidad de Certificación CA - Clave CA
AD CS – Configuración
Entidad de Certificación CA - Opciones de Cifrado - CSP
Por defecto SHA1. Windows no aceptará certificados con SHA1 en 2017. Como mínimo, SHA256.
AD CS – Configuración
Entidad de Certificación CA - Todas las Opciones de Cifrado
De lo
contrario, se
“cuelga”
TILDAR !
PS# Install-AdcsCertificationAuthority AllowAdministratorInteraction
AD CS – Configuración
Entidad de Certificación CA - Nombre - Issuer
AD CS – Configuración
Entidad de Certificación CA - Validez de la Clave de la CA
AD CS – Configuración
Entidad de Certificación CA - Ubicación Bases de Datos
AD CS – Configuración
Entidad de Certificación CA - Confirmación
AD CS – Configuración
Entidad de Certificación CA - Configurando
AD CS – Configuración
Entidad de Certificación CA - Resultados
AD CS – Configuración
Inscripción Web de la CA - Configuración
AD CS – Configuración
Inscripción Web de la CA - Confirmación
AD CS – Configuración
Inscripción Web de la CA - Resultados
AD CS – Configuración
Respondedor en línea de la CA - Configuración
AD CS – Configuración
Inscripción Web de la CA - Confirmación /Resultados
AD CS – Configuración
NDES- Configuración
NDES es la implementación MS de SCEP (Simple Certificate Enrollment Protocol). Protocolo PKI que
usa tecnologías PKCS#10 y #7 sobre HTTP para solicitar y emitir CERTs a través de diferentes
dispositivos y fabricantes.
Para usar NDES (SCEP) en Windows Server 2012 (ADCS PKI), agregar este rol al servidor que provee
CA Web Enrollment
NDES exige una cuenta de usuario AD (Active Directory), que sea miembro del grupo local IIS_IUSRS
AD CS – Configuración
NDES- Crear cuenta de servicio NDES
AD CS – Configuración
NDES- Especificar la cuenta de servicio NDES
AD CS – Configuración
RA (Autoridad de Registro) - Configuración
AD CS – Configuración
RA (Autoridad de Registro) - Opciones de Cifrado
AD CS – Configuración
RA (Autoridad de Registro) - Configuración de Cifrado
AD CS – Configuración
RA (Autoridad de Registro) - Confirmación
AD CS – Configuración
RA (Autoridad de Registro) - Conclusión y resultados
AD CS – Verificación
Configuración completa – Roles y Características
AD CS – Verificación
Configuración completa – Certificados emitidos a la RA
MSCEP (Microsoft SCEP) exige por defecto una password challenge única, generada dinámicamente para cada dispositivo a
enrolar.
Es decir que no se puede registrar ningún dispositivo sin intervención del administrador.
Para deshabilitar la password challenge en la registry:
Click Start – enter -- regedit.
Cambiar el valor de EnforcePassword por defecto (1) a (0)
Computer->HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->Cryptography->MSCEP->EnforcePassword.
AD CS – Base de Datos CA
Backup y Restore
AD CS – Base de Datos CA
Backup y Restore
AD CS – Base de Datos CA
Backup y Restore
PROCEDIMIENTOS
PROCEDIMIENTOS
Sincronismo CA
Uno de los fundamentos PKI es el tiempo. El reloj del sistema define si un certificado es inválido.
access-list 1 permit host 192.168.0.1 !! Opcional: ACL para permitir a un server específico.
Privada
Cliente PKI
Genera/guarda un par
clave público-privado
(RSA, DSA o ECDSA)
CA/RA
X.509
Procedimientos
Registración de Dispositivos de red NDES (SCEP)
WORKFLOW
1.- Obtener copia y validar el certificado de la CA (para generar un canal cifrado confiable)
HTTP GET. Certificado CA, codificación binaria (X.509). (Verificar hash por otro canal).
2.- Generar el CSR y enviarlo en forma segura a la CA
HTTP GET (message= <URL codificada>; text= <PKCS#7 >; firmado y cifrado PKCS#10)
HTTP Response (Reject/Pending/Success)
3.- Sondear (poll) al servidor SCEP (NDES de la CA) para chequear la emisión del certificado
4.- Re-registrar (re-enroll) para obtener nuevo certificado antes de la expiración del actual.
5.- Recuperar la CRL cuando sea necesario (o CDP)
http://W2K12-CA/CertSrv/mscep_admin
URI Automático/directo
http://192.168.250.18/CertSrv/mscep_admin
http://W2K12-CA/CertSrv/mscep_admin
http://192.168.250.18/CertSrv/mscep_admin
Procedimiento: Descarga automática NDES
1) Requerimiento del administrador NDES
La contraseña que se solicita durante la registración (enroll), la cual debería utilizarse en caso de solicitar la
revocación del certificado, es la que se indica durante el requerimiento de inscripción.
Procedimiento: Descarga automática
2) Configuración en el cliente (router)
Después de unos minutos, el certificado es recibido por el cliente (router). En realidad es el router el que polea a la CA
para verificar el estado):
Feb 22 17:44:53.339: %PKI-6-CERTRET: Certificate received from Certificate Authority
A#show cry pki certificates
Certificate
Status: Available
Certificate Serial Number (hex): 3100000009B8F2FB0322C5913C000000000009
Certificate Usage: General Purpose
Issuer:
cn=W2K12-CA-CA-1
Subject:
Name: A.cth.moc
Serial Number: FGL151726PZ
cn=A
hostname=A.cth.moc
serialNumber=FGL151726PZ
CRL Distribution Point:
file:////W2K12-CA/CertEnroll/W2K12-CA-CA-1.crl
Validity Date:
start date: 17:38:12 AR Feb 22 2018
end date: 17:48:12 AR Feb 22 2019
Associated Trustpoints: trust
Procedimiento: Descarga automática
6bis) Para evitar el challenge-password
contenido en base 64
-----BEGIN CERTIFICATE-----
MIIDCzCCAfOgAwIBAgIQclOqpST5WpFD6dCUmKCkBzANBgkqhkiG9w0BAQsFADAY
MRYwFAYDVQQDEw1XMksxMi1DQS1DQS0xMB4XDTE4MDIyMjAxMzMzMVoXDTIzMDIy
…….
VnA7Xy/fNQVO6OgHfZgxnS34Gs5nitJGN74mOd4FgQIFqs4WaHPJpk2AZ3MstI9P
/RCN18jJWU03iMLpuok+tukecRSWPQELEq+coLQmHAk5axxHVwCZby1O5m/Qy0PP
L3qDdlXR8Z+Ioqu/cej1
-----END CERTIFICATE-----
contenido en base 64
MIIBjjCB+AIBADAuMSwwEgYDVQQFEwtGR0wxNTE3MjZQWjAWBgkqhkiG9w0BCQIW
CUEuY3RoLm1vYzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArfHZndW8e0yi
…..
v1ey/2v1qeYyAgtwQjCrpDVwJ8X0SscBtx5+NjgxW0/2OkqJX2vgfdhEBrh65ZKp
1q7cSYR+vPTMV4fRxSf6AOdHKABvdWmF/ksjEwH0wfz3Axg2aEc8b1/J7n89XAR2
eBSxGe52dubdmDSgy9RC5sVg
http://192.168.250.18/certsrv/certrqxt.asp
-----BEGIN CERTIFICATE-----
MIIDSTCCAjGgAwIBAgITMQAAAApPtM2ja7/neAAAAAAACjANBgkqhkiG9w0BAQsF
manualmente en base 64
CA
cn=W2K12-CA-CA-1
Fingerprint MD5: 6F736326 D69BCE25 0D79900E 441F5DB0
Fingerprint SHA1: E616ACA8 6B793FC0 18BCE6F7 5C362008 32049C90
Si permitimos que el router genere la clave en el momento de la registración (enroll) lo hará por defecto con
un par de 512 bits. Lo mismo si lo hacemos manualmente sin indicar la longitud de la clave.
La solicitud del Certificado se envía a la CA y la misma permanece en la carpeta de SOLICITUDS
PENDIENTES.
Cuando se intente emitir el certificado, surgirá el error, y el certificado NO SE EMITE.
ERROR: Permisos insuficientes
BACKUP
AD CS CA
Otros servicios CA Web enrollment
Formatos de los certificados
Formato PEM
Formato común en el que las CA emiten los certificados. Contiene ‘—–BEGIN CERTIFICATE—–” y “—–END CERTIFICATE—–” .
Se pueden incluir varios certificados PEM, y aún la clave privada en un archivo, uno a continuación del otro.
La mayoría de los OS y aplicaciones (eg:- Apache) esperan que los certificados y la clave privada residan en archivos separados.
> Son archivos ASCII codificados en Base64
> Extensiones .pem, .crt, .cer, .key
> Apache y otros servidores usan certificados en formato PEM
Formato DER
Es la versión binaria de certificado PEM ASCII. Pueden incluirse todo tipo de certificados y claves privadas en formato DER.
> Archivos en formato binario
> Extensiones .cer & .der
> DER se usa en Java
P7B/PKCS#7
Contienen “—–BEGIN PKCS—–” y “—–END PKCS7—–”. Solo pueden contener certificados y cadenas de certificados (no claves
privadas).
> Archivos ASCII codificados en Base64
> Extensiones .p7b, .p7c
> Plataformas que los soportan: Windows OS, Java Tomcat
PFX/PKCS#12
Sons archivos cifrados que se usan para almacenar el certificado de un servidor, todo certificado intermedio y clave privada.
> Archivos en formato binario
> Extensiones .pfx, .p12
> Típicamente utilizados por Windows OS para importar / exportar certificados y claves privadas
Conversión de certificados
Notepad: SSL estándar (x.509) PKCS#7
PEM
PEM DER
—————————————————————————————————–
$ openssl x509 -outform der -in certificate.pem -out certificate.der
—————————————————————————————————–
PEM P7B
———————————————————————————————————————————
$ openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CAcert.cer
———————————————————————————————————————————-
PEM PFX
———————————————————————————————————————————————
$ openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -
certfile CAcert.crt
———————————————————————————————————————————————
Conversión de certificados
openssl: DER, P7B, PFX
DER PEM
————————————————————————————————–
$ openssl x509 -inform der -in certificate.cer -out certificate.pem
————————————————————————————————–
P7B PEM
————————————————————————————————-
$ openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
————————————————————————————————-
P7B PFX
—————————————————————————————————————————
$ openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
$ openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CAcert.cer
—————————————————————————————————————————
PFX PEM
——————————————————————————————–
$ openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
——————————————————————————————–
NOTA: Al convertir PFX PEM, openssl coloca todos los certificados y claves privadas en un único
archivo. Es necesario abrir el archivo con un editor de texto y copiar cada certificado y clave privada
(incluyendo las sentencias BEGIN/END) a su propio archivo de texto individual y salvarlos como
certificados Clientecert.cer, CAcert.cer, privateKey.key, respectivamente.
REFERENCIAS LINKS