Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

26
Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde

Transcript of Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Page 1: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Seguridad Distribuida

Kerberos Vs PKI

Ruben RecabarrenMiguel Alcalde

Page 2: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Introducción

Criptografía Simétrica y Asimétrica.

- Ventajas, Desventajas, Uso.

Encripción DesencripciónTexto Cifrado Texto

Clave Clave

Page 3: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Firmas Digitales.

– Consiste en utilizar la clave privada para encriptar el documento.

– Todos los que confian en la autenticidad de la clave publica pueden verificar esta firma digital.

– En la práctica se firma un “hash” del texto en vez de firmar el documento completo.

Page 4: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Certificados DigitalesVersion

Número serial del Certificado

Certificador

Periodo de Validez

Id. del algoritmo de firma

Sujeto certificado

Información PK del sujeto.

Firma digital de la autoridad certificadora

Otra información opcional

Page 5: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Otro tipo de credenciales: Tickets y Autenticadores.– Usualmente tienen un tiempo de validez

corto.– Utilizados como transporte de información

encriptada:• Claves de sesión.• Identidad del portador legítimo del ticket.• Identidad del servidor que acepta el ticket.• Timestamp.

Ej: T c,s = s, {c, a, v, K c, s}K s

Page 6: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Public Key Infrastructure (PKI)

RFC 2828: Es un sistema de Autoridades de certificación que realiza algun conjunto de:– Manejo de certificados.– Manejo de almacenamientos historicos.– Manejo de claves.– Manejo de “tokens”.

para una comunidad de usuarios en una aplicación de criptografía asimétrica.

Page 7: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Un PKI consiste de por lo menos:

– Una Autoridad de Certificación (CA) encargada de la emisión de certificados.

– Una Autoridad de Registro (RA) encargada de evaluar las peticiones de emisión de certificados.

– Un servicio de directorios encargado de la distribución de certificados y de listas de revocación.

Page 8: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Modelo de utilización de un PKI

Page 9: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Kerberos

Su proposito es permitir la autenticación de clientes y servidores en ambos sentidos.

El sistema esta conformado por:– Servidor de Autenticación (AS).– Servidor otorgador de tickets (TGS).– Servidores “Kerberizados”.– Clientes “Kerberizados”.

Page 10: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Modelo de utilización de un Sistema Kerberos

Page 11: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Mensajes de Kerberos V5c = clientes = servidora = dirección de redv = validez (inicio y fin)t = timestampKx = Clave secreta de xKx,y = Clave de sesion{m}Kx = m encriptado con

la clave secreta de xTx,y = ticket de x para usar

yAx,y = Autenticador de x a y

Tc,s = s, {c,a,v,Kc,s}Ks

Ac,s = {c,t,key}Kc,s

1.c, tgs

2.{Kc,tgs}Kc,{Tc,tgs}Ktgs

3.{Ac,s}Kc,tgs,{Tc,tgs}Ktgs

4.{Kc,s}Kc,tgs,{Tc,s}Ks

5.{Ac,s}Kc,s,{Tc,s}Ks

6. {t}Kc,s

Page 12: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Creación de un PKI

SSleay / OpenSSL 0.9.5a.– Creación de un CA.

• mkdir ${SSLDIR}/certs mkdir ${SSLDIR}/crl mkdir ${SSLDIR}/newcerts mkdir ${SSLDIR}/privateecho "01" > ${SSLDIR}/serialtouch ${SSLDIR}/index.txt

• Archivo de configuración:

Page 13: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

#

# SSLeay example configuration file.

#

RANDFILE = /var/ssl/.rnd

####################################################################

[ ca ]

default_ca = CA_default # The default ca section

####################################################################

[ CA_default ]

dir = /var/ssl # Where everything is kept

certs = $dir/certs # Where the issued certs are kept

crl_dir = $dir/crl # Where the issued crl are kept

database = $dir/index.txt # database index file.

new_certs_dir = $dir/newcerts # default place for new certs.

certificate = $dir/private/CAcert.pem # The CA certificate

serial = $dir/serial # The current serial number

crl = $dir/clr/crl.pem # The current CRL

private_key = $dir/private/CAkey.pem # The private key

RANDFILE = $dir/private/.rand # private random number file

x509_extensions = x509v3_extensions # The extentions to add to the cert

default_days = 365 # how long to certify for

default_crl_days = 30 # how long before next CRL

default_md = md5 # which md to use.

preserve = no # keep passed DN ordering

# A few difference way of specifying how similar the request should look

# For type CA, the listed attributes must be the same, and the optional

# and supplied fields are just that :-)

policy = policy_match

Page 14: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

# For the CA policy[ policy_match ]countryName = matchstateOrProvinceName = matchlocalityName = matchorganizationName = matchorganizationalUnitName = matchcommonName = suppliedemailAddress = optional# For the 'anything' policy# At this point in time, you must list all acceptable 'object'# types.[ policy_anything ]countryName = optionalstateOrProvinceName = optionallocalityName = optionalorganizationName = optionalorganizationalUnitName = optionalcommonName = suppliedemailAddress = optional[ req ]default_bits = 1024default_keyfile = privkey.pemdistinguished_name = req_distinguished_name[ req_distinguished_name ]countryName = Country Name (2 letter code)countryName_default = GBcountryName_min = 2countryName_max = 2stateOrProvinceName = State or Province Name (full name)

Page 15: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

stateOrProvinceName_default = Some-State

localityName = Locality Name (eg, city)

organizationName = Organization Name (eg, company; recommended)

organizationName_max = 64

organizationalUnitName = Organizational Unit Name (eg, section)

organizationalUnitName_max = 64

commonName = server name (eg. ssl.domain.tld; required!!!)

commonName_max = 64

emailAddress = Email Address

emailAddress_max = 40

[ req_attributes ]

challengePassword = A challenge password

challengePassword_min = 4

challengePassword_max = 20

[ x509v3_extensions ]

# under ASN.1, the 0 bit would be encoded as 80

# nsCertType = 0x40

Page 16: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Creación de un PKI (cont.)

Creación de un CA (cont.)– ssleay req -new -x509 -keyout $

{SSLDIR}/private/CAkey.pem -out ${SSLDIR}/private/CAcert.pem -config archivo-de-configuracion.cnf

CAkey.pem es la clave privada de la autoridad certificadora.

CAcert.pem es el certificado raiz.

Page 17: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Creación de un PKI (3)

Creación de un nuevo certificado:– Creación de un CSR:

• ssleay req -new -keyout newkey.pem -out newreq.pem -days 360 -config ssleay.cnf

– Certificación de un CSR:• cat newreq.pem newkey.pem > new.pem

• ssleay ca -policy policy_anything -out newcert.pem -config ssleay.cnf -infiles new.pem

Page 18: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Instalación de Kerberos(cliente) Windows 2000 y Mac OS X con menus

y ventanas. Para UNIX: Descomprimir y compilar

los archivos en el directorio /usr/krb/ Añadir al /etc/krb5.conf los servidores

de autenticación

Page 19: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Instalación de Kerberos (servidor) Windows 2000 y Mac OS X con menus y

ventanas. Para UNIX: descomprimir y compilar los

archivos en el directorio /usr/krb Editar el inetd.conf para cambiar los

demonios por los de kerberos. Registrar los servicios en el SA.

Page 20: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Uso del cliente Kerberos

/usr/krb/bin/kinit => Pide un ticket /usr/krb/bin/klist => Muestra los

tickets validos

/usr/krb/bin/kdestroy => Destruye los tickets

validos (log-out)

Page 21: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Ventajas de Kerberos

Basado en standard IETF Permite Transitive Trust Provee autenticación mutua Bajo costo de implantación Reduce tiempos de Log-in

Page 22: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Desventajas de Kerberos

Complejo de administrar Poco escalable Permite Transitive Trust Requiere “Kerberizar” aplicaciones El KDC es un punto crítico Implementación de Windows 2000 Vulnerable por los usuarios

Page 23: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Ventajas de PKI

Ofrece no-repudio Mantenimiento mas sencillo No requiere alta disponibilidad Reduce tiempos de Log-in Permite encriptar y firmar información

Page 24: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Desventajas de PKI

Los estándares están en desarrollo Implementación costosa La seguridad de la clave raíz es

esencial Es difícil relacionar un certificado con

un usuario

Page 25: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Preguntas y

Comentarios

Page 26: Seguridad Distribuida Kerberos Vs PKI Ruben Recabarren Miguel Alcalde.

Bibliografía

Schneier, Bruce. Applied Criptography. John Wiley & Sons, 1996.

Hynes, Matt. An Analysis of Distributed Network Security Services: Kerberos and Public Key Infrastructure (PKI). Guardent Inc.

Oppliger, Rolf. Kerberos vs. PKI slides. e-SECURITY Technologies. 2000