330 likes | 451 Views
José A. Montenegro http://www.lcc.uma.es/~monte monte@lcc.uma.es Granada, Noviembre 2006. OpenPMI. hacia la implantación del marco de trabajo de administración de privilegios X.509. Agenda. Situación Actual, Inseguridad:
E N D
José A. Montenegro http://www.lcc.uma.es/~monte monte@lcc.uma.es Granada, Noviembre 2006 OpenPMI hacia la implantación del marco de trabajo de administración de privilegios X.509
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 • OpenPMI http://openpmi.sourceforge.net http://openpmi.sourceforge.net
Mal uso tecnología http://openpmi.sourceforge.net
Problema √ http://openpmi.sourceforge.net
Posible solución: SSL/TLS http://openpmi.sourceforge.net
De nuevo el problema http://openpmi.sourceforge.net
De nuevo el problema – Visión del usuario http://openpmi.sourceforge.net
Nueva PropuestaMicrosoft http://openpmi.sourceforge.net
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.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
Autenticación y Autorización • Autenticación es el proceso que prueba quién es el usuario • Autorización, apoyándose en autenticación, pero describe qué puede hacer 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: • DAC • MAC • RBAC ….. ABAC http://openpmi.sourceforge.net
PMI como propuesta ITU-T X.509 … • 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 …. • 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 http://openpmi.sourceforge.net
… Autorización y PKIs • La Recomendación X.509 del 2000 establece el marco de trabajo para los certificados de atributos. • Privilege Management Infrastructure, PMI • Incluye la especificación de los elementos utilizados para la especificación de este tipo de certificado • 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. http://openpmi.sourceforge.net
Certificado Identidad vs Atributo Version Serial Number Version Signature Algorithm Serial Number Issuer Signature Algorithm Validity period Issuer Subject Validity period Public Key Algorithm Holder Public Key Attributes Issuer Unique Identifier Issuer Unique Identifier User Unique Identifier Extensions Extensions AA signature CA signature http://openpmi.sourceforge.net
Interés Legal • German Digital Signature Law (SigG) • Definición de 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 certificate), • or a special digital attestation which refers unmistakably to a signature key certificate and contains further information (attribute certificate). http://openpmi.sourceforge.net
OpenPMI http://openpmi.sourceforge.net
Proyectos OpenPMI realizados • OpenSSL+AC • Visual AA • Delegation Editor • xSAML http://openpmi.sourceforge.net
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
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
Certificado Atributo http://openpmi.sourceforge.net
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
Visual AA http://openpmi.sourceforge.net
Delegation Editor • Delegación: Inicialmente adquiere matiz más cercano a transferencia de Identidad que a la transferencia 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
Delegation Editor • Delegation 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: • (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
Delegation Editor http://openpmi.sourceforge.net
Delegation Editor Arcsid :== SEQUENCE { 0 (SOA) 2 (AA2 ) 0,3 0 1 } Arcsid :== SEQUENCE { 0 (SOA) 1 (AA1 ) 1 1 0 } AA1 1 0,3 SOA AA2 Arcsid :== SEQUENCE { 0 (SOA) 3 (AA3 ) 0,3 1 0 } 0,3 Arcsid :== SEQUENCE { 0 (SOA) 3 (AA3 ) 0,3 1 0 } 0,6 AA3 AA4 SOA SOA SOA AA3 AA1 AA3 AA2 AA4 Arcsid :== SEQUENCE { 3 (AA3) 4 (AA4 ) 0,6 1 0 } AA3 Firma AA3 Firma AA3 Firma AA3 Firma Equivalencia entre el grafo y la secuencia de ACs http://openpmi.sourceforge.net
Delegation Editor Version Serial Number Signature Algorithm Issuer Validity period Holder Attributes Iss. Unique Identifier Extensions AA signature • Traducción directa del modelo de grafos a cadenas de certificados de atributos 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
xSAML • Traductor de sentencias Saml a X509 y viceversa • Realizado con librerías OpenSAML y BouncyCastle http://openpmi.sourceforge.net
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
TLS+AC • Primera propuesta: • S. Farrell. TLS extensions for Attribute Certificate based authorization. IETF TLS Working Group, 1998. http://openpmi.sourceforge.net
TLS+AC II • Propuesta Actual: • Mark Brown, Russ Housley. Transport Layer Security (TLS) Authorization Extensions. IETF TLS Working Group, 2006. ClientServer 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
TLS+AC III • Estado Actual: http://openpmi.sourceforge.net
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 • OpenPMI propone un servicio de autorización estándar que completa a los servicios de autenticación http://openpmi.sourceforge.net
José A. Montenegro http://www.lcc.uma.es/~monte monte@lcc.uma.es Granada, Noviembre 2006 Gracias por su atención http://openpmi.sourceforge.net