OpenPMI

33
OpenPMI hacia la implantación del marco de trabajo de administración de privilegios X.509 José A. Montenegro José A. Montenegro http://www.lcc.uma.es/~monte [email protected] Granada, Noviembre 2006

description

José A. Montenegro http://www.lcc.uma.es/~monte [email protected] Granada, Noviembre 2006. OpenPMI. hacia la implantación del marco de trabajo de administración de privilegios X.509. Agenda. Situación Actual, Inseguridad: - PowerPoint PPT Presentation

Transcript of OpenPMI

OpenPMIhacia la implantación del marco de trabajo de administración

de privilegios X.509

José A. MontenegroJosé A. Montenegrohttp://www.lcc.uma.es/~monte

[email protected] Granada, Noviembre 2006

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 2/33

Agenda

•Situación Actual, Inseguridad: ¿Mal uso de las Tecnologías existentes o necesitamos Nuevas Tecnologías?

• Autenticación vs Autorización

• PMI como propuesta ITU-T X.509

•OpenPMIOpenPMI http://openpmi.sourceforge.net

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 3/33

Mal uso tecnología

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 4/33

Problema

√√

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 5/33

Posible solución: SSL/TLS

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 6/33

De nuevo el problema

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 7/33

De nuevo el problema – Visión del usuario

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 8/33

Nueva Propuesta Microsoft

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 9/33

Autenticación y Autorización•Autenticación y Autorización son conceptos vinculados.

– Tanto en el entorno digital como el humano

•Definición R.A.ER.A.E

– Identificar: 2. tr. Reconocer si una persona o cosa es la misma que se supone o se busca.

– Autenticación: 1. tr. Autorizar o legalizar algo.

– Autorizar: 1. tr. Dar o reconocer a alguien facultad o derecho para hacer algo.

• La identidad de una persona no varía del trabajo a la vida personal (identificación única)

•Y ¿la Autorización?

– Tenemos los mismos privilegios en todos los contextos: Hogar, Trabajo, Reunión de Amigos

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 10/33

•Autenticación es el proceso que prueba quién es el usuarioquién es el usuario

•Autorización, apoyándose en autenticación, pero describe qué puede qué puede hacer el usuariohacer el usuario

– Por tanto considera los derechos o propiedades que ha de poseer el usuario para realizar determinadas tareas

•Los esquemas de “Autorización” normalmente utilizados son:DACMACRBAC ….. ABAC….. ABAC

Autenticación y Autorización

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 11/33

•Es posible plantearse si son PKIs adecuadas para aplicaciones que necesitan servicios de autorización

•Es posible utilizar un certificado de identidad X.509 para almacenar los privilegios de un usuario– Utilizando la extensión “Subject directory

attributes”

•Pero ….Pero ….

•El problema con los certificados de identidad es que tienen un periodo de validez relativamente largo

•Además, no tiene que ser la misma entidad que emita sentencias de autenticación y autorización

PMI como propuesta ITU-T X.509 …

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 12/33

•La Recomendación X.509 del 2000 establece el marco de trabajo para los certificados de atributos.

•Privilege Management InfrastructurePrivilege Management Infrastructure, , PMIPMI

•Incluye la especificación de los elementos utilizados para la especificación de este tipo de certificado

Certificado de Atributo: Certificado de Atributo: Una estructura de información, firmada digitalmente por una Autoridad de Atributos, que vincula atributos con la identificación de su poseedor.

… Autorización y PKIs

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 13/33

Certificado Identidad vs Atributo

CA signature

Version

Serial Number

Signature Algorithm

Issuer

Validity period

Subject

Public Key Algorithm

Public Key

Issuer Unique Identifier

User Unique Identifier

Extensions

Version

Serial Number

Signature Algorithm

Issuer

Validity period

Holder

Attributes

Issuer Unique Identifier

Extensions

AA signature

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 14/33

Interés Legal

•German Digital Signature Law (SigG)

•Definición de Certificado:Certificado:

•A digital attestation concerning the attribution of a public signature key to a natural person to which a digital signature is affixed (signature key certificatesignature key certificate),

• or a special digital attestation which refers unmistakably to a signature key certificate and contains further information (attribute certificate).

OpenPMIhttp://openpmi.sourceforge.nethttp://openpmi.sourceforge.net

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 16/33

Proyectos OpenPMI realizados

•OpenSSL+AC

•Visual AA

•Delegation Editor

•xSAML

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 17/33

OpenSSL+AC I..

• Inicialmente es necesario establecer un marco de trabajo para X.509

– La librería OpenSSL es el marco establecido

a. Adición a la librería de Soporte Acs

b. Implementación de un proceso en línea de comandos para la administración de ACs

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 18/33

OpenSSL+AC II..

•OpenSSL está compuesto principalmente por dos elementos

– Cryptographic library (crypto)

– SSL library (ssl )

•El proceso es completado mediante cuatro pasos:

– Definición de la estructura del certificado

– Definición de las funciones asociadas

– Inclusión de los nuevos elementos al proceso de compilación de la librería

– Verificación ACs con un Visualizador de ASN.1

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 19/33

Certificado Atributo

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 20/33

OpenSSL+AC III

• Una vez que hemos incluido el soporte de ACs dentro de OpenSSL tenemos dos posibilidades:

– Crear una herramienta dentro de la línea de comandos (x509AT)

– Aplicación externa (Visual AA)

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 21/33

Visual AA

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 22/33

Delegation Editor

•Delegación: Inicialmente adquiere matiz más cercano a transferencia de Identidad transferencia de Identidad que a la transferencia de los Privilegiostransferencia de los Privilegios – Autenticación era el servicio que dirigía el control de

acceso

– Sistemas, los recursos y las acciones estaban fácilmente limitados

– No era posible asignar propiedades a la delegación (ej. tiempo)

– Delegación de grano grueso

•Los recursos que un sistema debe administrar se han multiplicado y las acciones a realizar sobre ellos– De nuevo la situación actual desborda a la seguridad

– Necesaria Delegación de grano fino

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 23/33

Delegation Editor

•Delegation Model LanguajeDelegation Model Languaje: Lenguaje Visual para construir sentencias de Delegación.

– Permite a los usuarios diseñar fácilmente el estado del sistema

•Delegación Controlada Avanzada: Delegación Controlada Avanzada: (Issuer;Holder;Weight;Resource)

– Las métricas que evalúan los caminos de delegación deben cumplir propiedades de monotonía, es decir, el nivel de confianza del camino decrece a medida que profundiza

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 24/33

Delegation Editor

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 25/33

Delegation Editor

SOA

AA1

AA2

AA3 AA4

0,3

0,6

1

0,3

AA3 Firma

AA3

AA4

Arcsid :== SEQUENCE {

0 (SOA)

3 (AA3 )

0,3

1

0

}

Arcsid :== SEQUENCE {

3 (AA3)

4 (AA4 )

0,6

1

0

}

Arcsid :== SEQUENCE {

0 (SOA)

3 (AA3 )

0,3

1

0

}AA3 Firma

SOA

AA3

Arcsid :== SEQUENCE {

0 (SOA)

2 (AA2 )

0,3

0

1

}AA3 Firma

SOA

AA2

Arcsid :== SEQUENCE {

0 (SOA)

1 (AA1 )

1

1

0

}AA3 Firma

SOA

AA1

Equivalencia entre el grafo y la secuencia de ACs

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 26/33

Delegation Editor

Traducción directa del modelo de grafos a cadenas de certificados de atributos

Version

Serial Number

Signature Algorithm

Issuer

Validity period

Holder

Attributes

Iss. Unique Identifier

Extensions

AA signature

WeightPathIdentifier EXTENSION ::={ SYNTAX WeightPathIdentifieSyntax IDENTIFIED BY { id-ce-WeightPathIdentifier }}

WeightPathIdentifieSyntax ::= SEQUENCE SIZE (1..MAX) OF ArcsId

ArcsId ::= SEQUENCE {Origin IssuerSerial,Destination HolderSerial,Weight REAL (0..1),Delegable BIT,Sign BIT

}

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 27/33

xSAML

• Traductor de sentencias Saml a X509 y viceversa

•Realizado con librerías OpenSAML y BouncyCastle

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 28/33

Proyectos OpenPMI en realización• TLS+AC

– Soporte Web (Apache)

– Soporte Cliente (Mozilla)

– Otros protocolos como SSH

•Soporte para Smart Card

•Inclusión en núcleo Windows

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 29/33

TLS+AC

•Primera propuesta:

– S. Farrell. TLS extensions for Attribute Certificate based authorization. IETF TLS Working Group, 1998.

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 30/33

TLS+AC II

•Propuesta Actual:

–Mark Brown, Russ Housley. Transport Layer Security (TLS) Authorization Extensions. IETF TLS Working Group, 2006. ClientClient ServerServer

ClientHello (with AuthorizationData) --------> ServerHello (with AuthorizationData) Certificate* ServerKeyExchange* CertificateRequest* <-------- ServerHelloDone Certificate* ClientKeyExchange CertificateVerify* [ChangeCipherSpec] Finished --------> [ChangeCipherSpec] <-------- Finished

Application Data <-------> Application Data

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 31/33

TLS+AC III

• Estado Actual:

http://openpmi.sourceforge.net http://openpmi.sourceforge.net 32/33

Conclusiones

•Problemas de Seguridad:

– Mal uso existentes

– Necesarias nuevas tecnologías

•Hemos visto el caso de la Autenticación y Autorización

– En cualquier caso es necesario el desarrollo de herramientas

• OpenPMIOpenPMI propone un servicio de autorización estándar que completa a los servicios de autenticación

Gracias por su atención

http://openpmi.sourceforge.n

et

José A. MontenegroJosé A. Montenegrohttp://www.lcc.uma.es/~monte

[email protected] Granada, Noviembre 2006