Lab - Certificados Digitales
Lab - Certificados Digitales
Lab - Certificados Digitales
DEL CUSCO
ESCUELA PROFESIONAL DE INGENIERA INFORMTICA Y DE SISTEMAS.
Cusco Per
2017
OBJETIVOS:
1.1. Introducir al alumno en las tcnicas para asegurar los sistemas de computadoras y las
comunicaciones de redes, con enfoque en la seguridad en el Internet.
1.2. Introducir al alumno en el despliegue de tecnologas que aseguren los datos, el
software, y las redes de comunicaciones.
1.3. Que el alumno se familiarice con los conceptos acerca de los certificados digitales y
las Autoridades en Certificados.
Certificado Digital:
El Certificado Digital certifica la propiedad o titularidad de una clave pblica para el as
llamado "sujeto del certificado".
Los usuarios que desean obtener certificados digitales emitidos por los CA's comerciales
necesitan pagar a esos CA's.
Certificado X.509:
X.509 es un estndar importante para los servicios de autenticacin de red, y el
certificado correspondiente es ampliamente usado para la comunicacin de Internet, i.e.
en S/MIME, IPsec y SSL/TLS.
El certificado X.509 es el formato ms ampliamente aceptado, y es un estndar de la
ITU (International Telecommunication Union).
Campos del Certificado X.509 v3:
El certificado es una SEQUENCE de 3 campos
Donde:
TBSCertificate ::= SEQUENCE { version [0]
EXPLICIT Version DEFAULT v1, serialNumber
CertificateSerialNumber, signature
AlgorithmIdentifier, issuer Name,
validity Validity, subject
Name, subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3 subjectUniqueID [2]
IMPLICIT UniqueIdentifier OPTIONAL, --
If present, version MUST be v2 or v3 extensions [3]
EXPLICIT Extensions OPTIONAL -- If
present, version MUST be v3
}
Campo Descripcin
tbsCertificate
Versin Versin del Certificado codificado
Nmero de Serie del Certificado (entero positivo
nmero Serie
asignado por la CA)
Algoritmo de la firma Identificador del Algoritmo usado por la CA para firmar
el certificado
Nombre de la Entidad que ha firmado y emitido el
Emisor
certificado
Validez Periodo de Validez del certificado
Nombre de la Entidad asociada con la clave pblica
Sujeto
almacenada en el campo clave pblica del sujeto
Informacin de Clave Identifica el algoritmo de la clave pblica y acarrea la
Pblica del Sujeto clave pblica
id nico del Emisor Identificador nico del Emisor (solo v2,v3) (OPCIONAL)
id nico del Sujeto Identificador nico del Sujeto (solo v2, v3) (OPCIONAL)
Extensiones Extensiones EXPLICITAS OPTIONAL
Identificador del Algoritmo criptogrfico usado por la
signatureAlgorithm
CA para firmar el certificado
Firma digital (de la CA) calculada sobre el campo
signatureValue
tbsCertificate codificado en ASN.1 DER
OpenSSL:
Es un conjunto de herramientas de criptografa que implementan los protocolos de red
SSL v2/v3 (Secure Sockets Layer) y TLS v1 (Transport Layer Security) y los estndares de
criptografa relacionados que son requeridos por ellos.
Acrnimos:
DER Distinguished Encoding Rules Este es un formato binario comnmente usado para
representar datos relacionados con certificados.
PEM (Privacy Enhanced Mail) El formato PEM son datos codificados en Base64
"delimitados" por una lnea de cabecera y una lnea de
pie-de-pgina. El acrnimo fue recogido por el
open-source y mejorado significativamente.
2. RECURSOS:
3.1. SO: Linux, Windows.
3.2. Herramienta: openSSL.
Nota: Los recursos indicados ya deben estar instalados en su computadora, laptop,
(o eventualmente instalados dentro de una mquina virtual).
En el entorno Windows cualquier comando que use comillas simples (') deber
ser reemplazado por comillas dobles (").
3.3. Archivos/Mensajes preparados para la realizacin del laboratorio (a descargar de la
pgina web del curso).
Lab08-archivos.rar.
3. DESARROLLO DE LA PRCTICA:
En este laboratorio, se crearn certificados digitales.
En una primera instancia, nos volveremos un "root CA" nosotros mismos, y generaremos
un certificado para este CA.
A diferencia de otros certificados, los cuales son usualmente firmados por otros CA,
los certificados de los "root CA" son auto firmados (i.e. firmado por uno mismo, por
la entidad para la entidad).
Los certificados "root CA" usualmente son pre-cargados en la mayor parte de los SO,
navegadores web, y otro software que se basa en PKI.
Los certificados "root CA" son incondicionalmente de confianza.
Importante!:
Como parte del proceso, le ser indicado ingresar informacin personalizada
para el certificado.
-----BEGIN CERTIFICATE-----
MIID1DCCArygAwIBAgIJAKk7yHaBRUAUMA0GCSqGSIb3DQEBCwUAMH8xCzAJBgNV
BAYTAlBFMQ4wDAYDVQQIDAVDdXNjbzEOMAwGA1UEBwwFQ3VzY28xDzANBgNVBAoM
BlVOU0FBQzENMAsGA1UECwwEREFJSTEPMA0GA1UEAwwGQWxpY2lhMR8wHQYJKoZI
hvcNAQkBFhBhbGljaWFAZ21haWwuY29tMB4XDTE3MDIxNjIxNDQxN1oXDTI3MDIx
NDIxNDQxN1owfzELMAkGA1UEBhMCUEUxDjAMBgNVBAgMBUN1c2NvMQ4wDAYDVQQH
DAVDdXNjbzEPMA0GA1UECgwGVU5TQUFDMQ0wCwYDVQQLDAREQUlJMQ8wDQYDVQQD
DAZBbGljaWExHzAdBgkqhkiG9w0BCQEWEGFsaWNpYUBnbWFpbC5jb20wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjaMERIMNhj0OL94NNKREjJYtC4lgy
8UnLySE2AWWr+MlVQFf5fVbFyi9rVEGCZ/sKmF9O+2p2FCGRJOZStS+X7SWnCi7V
v8dZ7zu+AapjKHZhYqU0yjXtBw6GXnzAaSe6B47OARkVUQj4QiOMeIM9zaeluKBc
Fy+6yxoayzUNpaBjiXh+rrWqw4I4QKpZB6tls6rRZyUqycaLVyobum+cooZYkbCK
I0WEeoCc3H5CopvlqxAEXikCqCi79MQMaGFFPYUZnfNc6rxMl6DJklfDRfsN1eQg
zx7ax/RECNIRK7y39U1SSfDMun+/rE/HPPqg93CRhKOYz69LYm/lrWh1AgMBAAGj
UzBRMB0GA1UdDgQWBBRVE9NcHsJe/NTgukAWvXEqLw3wLjAfBgNVHSMEGDAWgBRV
E9NcHsJe/NTgukAWvXEqLw3wLjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
CwUAA4IBAQBehce4Ed2tYpT9RUME4utz63qsgaf+HZu3/FSJ+yj+FXWMJQ/kYRAn
8JsEuuVDrouMGiH1yuxoBNu99HvIwSii7MSpU476Vd2EbFPS7s7OY9bB7FD4YzGO
KTW4rg5j3UCWVD1kl9RsYvd79tkVfmwq3QQCXwEjMzFkpSK2l2wNUieoBc30hwxO
H9qAxWvvuCnQz5K48+nKJeFBoSEhJEX0SlLTVDqZb6Z2ao0NAfTxGAoEkZQS8OZU
oY8fjpuQrzUqk/i81QZBsp4lmFF17degQ+0ErA0iHNCn3wcbGVVkBvUO9Dz1lO6F
Q7G7V57Q7l9ED6/3saKtZ/XDkEfXyZx3
-----END CERTIFICATE-----
4.1.2. (0.5 puntos) Mostrar la informacin del certificado digital auto firmado (la
versin no "codificada"). Utilizar las siguientes opciones.
clavePublica-A-CP.pem = clavePublica-A-CE.pem?
NO EXISTE clavePublica-A-CP
Nota: OpenSSL maneja un archivo de configuracin openssl.cfg que permite definir los
valores por defecto, automatizar los procesos, y otras tareas.
Los valores de las opciones en los comandos de OpenSSL sobrescriben estos valores
por defecto.
Importante!:
Como parte del proceso, tambin le ser indicado ingresar atributos "extra"
(no ingresar ningn valor, sola presionar Enter).
Nota: Para este laboratorio, Ud. tambin servir como una CA.
4.2.3. (3.5 + 0.5 puntos) Procesamiento de la peticin del Certificado Digital: Cuando
una CA recibe una peticin de certificado, lo descarga, verifica los datos del
solicitante y procede a generar el certificado respectivo y a firmarlo. Utilizar las
siguientes opciones.
IMPORTANTE! IMPORTANTE!:
Como parte del proceso, le ser pedido firmar el certificado y despus hacer
un "commit" de la "base de datos", a ambos pedidos responda con "y". Debe
mostrar el mensaje "Data Base Updated".
4.2.5. (0.5 puntos) Extraer la clave pblica RSA de Alicia a partir del certificado digital
x509 enviado por la CA comercial. Utilizar las siguientes opciones.
Mostrar clave pblica RSA obtenida a partir del certificado enviado por la CA
(incluyendo el "ttulo" + "lnea-de-cierre"):
5.2 Qu pasos toma el software de un usuario para validar la firma digital de una CA en
un certificado digital?
a. El software del usuario crea un "resumen del mensaje" para el certificado digital y
descifra el "resumen del mensaje" encriptado incluido dentro del certificado
digital. Si el descifrado se realiza apropiadamente y los valores del "resumen del
mensaje" son los mismos, el certificado es validado.
b. El software del usuario crea un "resumen del mensaje" para la firma digital y cifra
el "resumen del mensaje" incluido dentro del certificado digital. Si la encriptacin
se realiza apropiadamente y los valores del resumen del mensaje son los mismos,
el certificado es validado.
c. El software del usuario crea un "resumen del mensaje" para el certificado digital y
descifra el "resumen del mensaje" encriptado incluido dentro del certificado
digital. Si el usuario puede encriptar el "resumen del mensaje" apropiadamente
con la clave privada de la CA y los valores del "resumen del mensaje" son los
mismos, el certificado es validado.
d. El software del usuario crea un "resumen del mensaje" para la firma digital y
encripta el "resumen del mensaje" con su clave privada. Si el descifrado se realiza
apropiadamente y los valores del "resumen del mensaje" son los mismos, el
certificado es validado.
Enlaces:
http://www.openssl.org/docs/apps/openssl.html
https://www.openssl.org/docs/apps/ca.html#
https://www.openssl.org/docs/apps/req.html#
http://www.openssl.org/docs/apps/rsa.html#
https://www.openssl.org/docs/apps/verify.html#
https://www.openssl.org/docs/apps/x509.html#
RFC: 5280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List
(CRL) Profile 2008