SlideShare una empresa de Scribd logo
1 de 54
Roberta Zaccarini Saenz
José Vinicio Peña Román
Bernardo José Hernández
HISTORIA
XACML fue desarrollado por un equipo que incluía a personas de Entrust
Inc., IBM, OpenNetworks.org, Quadrasis Inc., Sterling Commerce Inc., Sun y
BEA Systems Inc.
XACML fue adoptado como un estándar por la Organización para el
Avance de Estándares de Información Estructurada en febrero de 2003.
La primera especificación de XACML 3.0 fue lanzado el 10 de agosto de
2010.
La última versión, XACML 3.0, se estandarizó en enero de 2013.
DEFINICIÓN
Extensible Access Control Markup Language
Es un lenguaje basado en el estándar XML diseñado para expresar
las políticas de seguridad y derechos de acceso a la información.
Permite definir cómo es la estructura de intercambio de mensajes de
autorización y un modelo para organizar y almacenar la información
de autorización.
XACML impone una estructura base pero con flexibilidad suficiente para que
cada sistema exprese las políticas de autorización de la forma más
conveniente a su dominio.
Por Ejemplo:
Un sistema podrá formar un modelo de autorización basado en usuarios,
perfiles, y páginas permitidas mientras que otro podrá definirlo en términos
de transacciones, terminales.
ENTIDADES
XACML define a un sistema de autorización como cinco subsistemas, cada
uno con una función bien delimitada. Estos sistemas colaboran entre sí para
cumplir las funciones del sistema de autorización como un todo. La
especificación llama a cada uno de estos elementos «Points»
PAP (Policy Administration Point) / (Punto de Administración de
Política)
Es el punto en el cual se crean y administran las políticas de control. Puede
ser desde un editor XML de archivos de texto hasta un sistema encargado de
encapsular un lenguaje de políticas propietario en la forma de un lenguaje
XACML.
PDP (Policy Decision Point) / (Punto de Decisión de Política)
Es el punto responsable de evaluar un pedido de autorización. Según la
información que el pedido contenga y el examen de las políticas de acceso
existentes, determinará si el pedido debe ser rechazado o no.
PEP (Policy Enforcement Point) / (Punto de Control de Política)
Es el punto que intercepta el pedido de autorización y lo deriva al PDP.
Luego de obtener la respuesta del PDP elabora una repuesta para el
sistema que hizo el pedido de autorización.
ENTIDADES
ENTIDADES
PIP (Policy Information Point) / (Punto de Información de Política)
En algunos casos la evaluación de un pedido de información puede requerir
la búsqueda de información de otras fuentes. Esta información se refiere
concretamente a valores de determinados atributos. En estos casos, el
pedido contiene información sobre el recurso que contiene al valor del
atributo y el PIP es responsable de interpretar estos datos y obtener el valor.
PRP (Policy Retrieval Point) / (Punto de Obtención de Políticas)
En escenarios más complejos en los cuales las políticas están distribuidas o
no pueden ser accedidas directamente por el PDP, se definen uno o más
PRPs los cuales encapsulan la complejidad de obtener las políticas. El PDP
se comunica con estos puntos para mantener actualizada su base de
políticas, a la cual recurre cada vez que debe evaluar un pedido.
Cuando un usuario pide acceso a un recurso, genera una petición con
esta información de la solicitud hecha por el usuario y la manda a lo que
se conoce como un PEP, a su vez el PEP crea un mensaje SAML que
es enviado a un PDP donde residen todas las políticas de control de
acceso a las aplicaciones. Con la información contenida en el mensaje
SAML se busca la política que determinará si el usuario tiene los
privilegios o no para acceder al recurso solicitado. A veces la
información del usuario viene incompleta y es necesario consultar a los
PIP y AS para extraer más información. Al final se devuelve un Permit o
Deny o en algunos casos cuando no se encuentra ninguna política a
aplicar un no procede que es lo mismo que Deny. Con esta información
el PEP le dice a la aplicación si le da el acceso o no al recurso
solicitado.
EJEMPLO:
EJEMPLO
RELACIÓN CON OTROS ESTÁNDARES
OASIS SAML
Estándar para intercambiar información de autenticación y autorización entre
diferentes dominios de seguridad sobre internet. Se basa en protocolos que
consisten en intercambios de mensajes XML
SAML no determina cómo definir políticas de acceso, pero dentro del protocolo
que define contempla la posibilidad de intercambiar mensajes de autorización, los
cuales podrían contener estructuras basadas en XACML.
Norma ISO 10181-3
Esta norma define una arquitectura de control de acceso, pero no define ningún
lenguaje. La norma menciona dos elementos que XACML contempla:
1) «Access Control Decision Function» (ADF)
2) «Access Control Enforcement Point» (AEF):
VENTAJAS DE XACML
1. los administradores de seguridad pueden describir una política nueva una sola vez
sin tener que re-escribirla numerosas veces en cada aplicación con los otros
lenguajes de acceso sustituidos por XACML
2. Los desarrolladores de las aplicaciones no tienen que inventar sus propios
lenguajes de políticas y escribir código para soportarlas, pueden reutilizar código
ya existente y estándar.
3. Los creadores de XACML esperan que muchas herramientas de fácil uso para
escribir las políticas sean desarrolladas y que puedan usarse con muchas
aplicaciones.
VENTAJAS DE XACML
4. XACML es adaptable, puede acomodarse a la mayoría de necesidades de las políticas de control
de acceso y también dar soporte a requerimientos emergentes.
5. una sola política de XACML puede ser aplicada a muchas fuentes y recursos, ayudando a evitar
inconsistencias y eliminando la duplicidad al crear políticas idénticas para diferentes elementos.
6. Las políticas creadas con XACML pueden hacer referencia unas a otras, por ejemplo en una gran
organización una política para un sitio especifico podría hacer referencia sin problema a una
política que aplica a toda la compañía o a un país en el cual se tiene una sucursal de la misma.
ventajas tomadas de los escritos de Russel Kay editor de ComputerWorld,
analizando XACML
consultado el 14 de julio de 2014 en:
http://www.computerworld.com.au/article/40716/analysis_xacml/
XACML DESVENTAJAS EN ASPECTOS ESPEFICOS:
1. Hay una gran curva de aprendizaje requerida que los administradores deben sortear
para escribir políticas. posible solución: puede resolverse usando un editor grafico de
políticas (como el cliente grafico para la base de datos eXist)
2. La segunda desventaja bien puede ser el rendimiento, por ejemplo, recurrentemente el
soporte ofrecido por eXist a la política (PDP) no incluye el indexado de políticas, lo que
significa que cuando el PDP recibe una petición de acceso debe preguntar a cada
política si aplica con la petición hasta que se tenga el resultado positivo.
3. como alcanzar alta disponibilidad y confianza? si este sistema falla o cae, todos los
demás serán inoperables.
desventajas obtenidas de la pagina oficial de la base de datos con soporte
XACML eXist
en> http://exist-db.org/exist/apps/doc/xacml-dev.xml
COMO FUNCIONA EN PRÁCTICAMENTE UNA PETICIÓN EN XACML CON LAS
POLÍTICAS APLICABLES?
cuando el motor de XACML recibe una Request (petición) devuelve una sola
salida. Esta salida puede ser:
• Permit
• Deny
• Not applicable
Tomado de la web del sr. Amila Jayasekara,
estudiante de la universidad de indiana
QUE PASA CUANDO SE EVALUA MAS DE UNA POLITICA APLICABLE?
«Se utilizan los algoritmos de combinación de
políticas»
RESPUEST
A:
• Permit-Override
• Deny-Override
Por Ejemplo:
UNA PETICIÓN XACML BÁSICA:
UNA POLÍTICA XACML CONTIENE:
• El elemento «Target» es el que
permite filtrar aquellas políticas que
sean aplicables a la Request, si
tanto la política como la Request se
corresponden en este elemento y
los valores de la petición, entonces
se evalúa la Política completa para
saber si autoriza o no a la Request.
ELEMENTO TARGET:
ELEMENTO TARGET EN SINTAXIS DE LA POLÍTICA:
CORRESPONDENCIA DE TARGET EN POLÍTICA Y
PETICIÓN
EN POCAS PALABRAS LA ANTERIOR REQUEST Y
POLÍTICA SE ESTÁN REFIRIENDO A LA SIGUIENTE
FUNCIÓN:
Evaluate function rfc822Name-Match (“med.example.com”, [otros
parametros])
Los demás elementos
del target se refieren a
los recursos y acciones
que se tomaran para la
operación y el ambiente
que se vera afectado
(funcionan con la misma
sintaxis vista)
UNA POLÍTICA XACML CONTIENE:
• La política contiene también una
elemento «Rule» pueden haber
varias reglas dentro de la política.
• A diferencia del Target (sirve para
saber si la política aplica a la
Request)
• El elemento Rule sirve para
implementar la lógica de
Autorización.
ELEMENTO RULE:
ELEMENTO RULE: EL TARGET
• Al igual que las políticas el elemento Rule contiene un sub-elemento Target,
que nos deja saber si una regla es o no aplicable a una Request, lo que nos
permite de igual forma filtrar justo como en las políticas .
ELEMENTO RULE: LA CONDICIÓN
• La condición es el CORE de la regla, con ella implementamos
exactamente la lógica de autorización que entregara la política, que
inherentemente tiene un respuesta booleana (true – false)
ELEMENTO RULE: LA CONDICIÓN
«»»Parte de la sintaxis de la política donde vemos al elemento
Rule con efecto «PERMIT» si es que se evalúa como (true) de
lo contrario se entrega (false) «»»
Esta Rule contiene el elemento AND y tiene dos parámetros, en verde y azul. La
primera checa si la Request en sus parámetros de recurso trae el valor MONEY, el
segundo parámetro checa si la Request tiene entre sus valores de Acción el valor
Withdrew (retiro)
QUE PASA CUANDO SE EVALUA MAS DE REGLA APLICABLE?
«Se utilizan los algoritmos de combinación de
REGLAS»
RESPUEST
A:
• Permit-Override
• Deny-Override
Por Ejemplo:
UNA POLÍTICA XACML CONTIENE:
• El elemento Obligations es el ultimo
en ser visto, contiene disposiciones
opcionales sobre la política.
• Por ejemplo, si la salida de alguna
política fue (permit,Deny, etc)
entonces mande un E-mail al jefe
de Departamento (útil para control y
registro)
COMO EXPANDIR Y FACILITAR EL USO DE XACML?
DÉMOSLE UN POWERUP CON FRAMEWORKS
USANDO AXIOMATICS – ALFA
IMPORTANTE PROVEEDOR DE SOLUCIONES DE CONTROL DE ACCESO
BASADAS EN ATRIBUTOS
• Tu lenguaje de Programación preferido
de siempre.
• Una curva de Aprendizaje
prolongada en AXCML
VS
www.axiomatics.co
m
USANDO AXIOMATICS - ALFA
Como definir una política en AXCML donde un vendedor de autos tenga
permisos para crear ordenes de compra sobre los autos que vende?
USANDO AXIOMATICS - ALFA
ALGORITMOS PARA COMBINAR POLITICAS
Y DONDE ESTA MI CÓDIGO XACML?
Y DONDE ESTA MI CÓDIGO XACML?
XACML 3.0
Implementación y control de
acceso
<Requerimientos></Requerimientos>
 Para proporcionar un método para la combinación de reglas y
políticas individuales en un conjunto de políticas que se aplica solo a
una petición de decisión particular.
 Para proporcionar un método para la definición flexible del
procedimiento por el que se combinan las reglas y políticas.
 Para proporcionar un método para tratar con múltiples sujetos que
actúan en diferentes capacidades.
 Para proporcionar un método para basar una decisión de autorización
en los atributos de la materia y de los recursos.
<Propuestas y trabajos
En XACML 3.0>
 XACML v3.0 Administration and Delegation Profile
Version 1.0
Committee Specification 01, 10 August 2010
 XACML v3.0: Admin and Delegation Profile (pdf)
 SAML 2.0 Profile of XACML, Version 2.0
Committee Specification 01, 10 August 2010
(covers XACML 1.0, 1.1, 2.0, 3.0)
 SAML 2.0 Profile of XACML, Version 2 (pdf) (covers
XACML v1.0, v1.1, v2.0, v3.0)
<IMPLEMENTACIONES>
</IMPLEMENTACIONES
Nombre
Provider/Cr
eator
Programin
glanguage
XACML
version
supported
Latest
version
Last
updated
Comments
sunxacml Sun Java XACML 1.x and 2.0
(core features)
2.0 2004
WSO2 Balana WSO2 Java XACML 1.0, 2.0
and 3.0
1.0.0 2012
enterprise-java-
xacml
ppz...@gm
ail.com
Java 0.0.14 2009
HERASAF
XACML
herasaf Java XACML 2.0 1.0.0-
M3
2012
XACMLight N/A Java (Axis2
WS)
XACML 2.0 N/A N/A
Cambios ante la versión anterior
Perfiles
Jurisdiction
urn:oasis:names:tc:xacml:3.0:ec-us:resource:jurisdiction
USML
La Lista de Municiones de Estados Unidos (USML) es una lista de
artículos, servicios y tecnología relacionada designados como defensa
y del espacio-relacionados por el gobierno federal de los Estados
Unidos
urn:oasis:names:tc:xacml:3.0:ec-us:resource:usml
Authority-to-export
urn:oasis:names:tc:xacml:3.0:ec-us:resource:authority-to-export
Expiration-Date
urn:oasis:names:tc:xacml:3.0:ec-us:resource:expiration-date
Subject
Nationality
urn:oasis:names:tc:xacml:3.0:ec-us:subject:nationality
Current nationality
urn:oasis:names:tc:xacml:3.0:ec-us:subject:current-nationality
Location
urn:oasis:names:tc:xacml:3.0:ec-us:subject:location
<!ENTITY ec-us-subj
“urn:oasis:names:tc:xacml:3.0:ec-
us:subject:”>
<!ENTITY ec-us-res
“urn:oasis:names:tc:xacml:3.0:ec-
us:resource:”>
<!ENTITY func10
“urn:oasis:names:tc:xacml:1.0:function:”>
<!ENTITY resource_category
“urn:oasis:names:tc:xacml:3.0:attribut
e-category:resource”>
<!ENTITY subject_category
“urn:oasis:names:tc:xacml:1.0:subject-
category:access-subject”>
<!ENTITY xacml-res
“urn:oasis:names:tc:xacml:1.0:resource:”>
<!ENTITY xs
“http://www.w3.org/2001/XMLSchema#”>
<!ENTITY rca
"urn:oasis:names:tc:xacml:1.0:rule-
combining-algorithm:">
EJEMPLO A CONTINUACIÓN MUESTRA
UNA FORMA DE IMPLEMENTAR UNA REGLA PARA UN
ECCN TAL COMO SE DEFINE EN EL CCL. EN INGLÉS
DENEGAR EL ACCESO A LAS PERSONAS Y LUGARES EN
LA LUCHA CONTRA EL TERRORISMO (AT1) Y LA NO
PROLIFERACIÓN (NP1) LISTAS DE LOS PAÍSES SI EL
RECURSO HA ECCN COMENZANDO CON "3A980".
Que es la ECCN?Una clave para determinar si se necesita una licencia de exportación del
Departamento de Comercio, es saber si el artículo tiene la intención de
exportación tiene un Número de Clasificación de Control de Exportación
específica
Five Product Groups
A. Systems, Equipment and
Components
B. Test, Inspection and Production
Equipment
C. Material
D. Software
E. Technology
<Policy
xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"
PolicyId="urn:oasis:names:tc:xacml:3.0:ec-us:example:CCL"
RuleCombiningAlgId="&rca;first-applicable"
Version="1.0">
<Description>Simple rule for one ECCN.</Description>
<Target/>
<VariableDefinition VariableId="AT1">
<Apply FunctionId="&func10;any-of-any">
<Function FunctionId="&func10;string-equal"/>
<Apply FunctionId="&func10;string-union">
<AttributeDesignator
AttributeId="&ec-us-subj;current-nationality"
Category="&subject_category;"
DataType="&xs;string"
MustBePresent="false"/>
<AttributeDesignator
AttributeId="&ec-us-subj;location"
Category="&subject_category;"
DataType="&xs;string"
MustBePresent="false"/>
</VariableDefinition>
<Rule Effect="Deny" RuleId="3A980">
<Description>
Voice print identification and analysis equipment and parts"
</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="&func10;string-regexp-match">
<AttributeValue DataType="&xs;string">^3A980.*</AttributeValue>
<AttributeDesignator
AttributeId="&ec-us-res;eccn"
Category="&resource_category;"
DataType="&xs;string"
MustBePresent="false"/>
</Match>
</AllOf>
</AnyOf>
</Target>
<Condition>
<Apply FunctionId="&func10;or">
<VariableReference VariableId="AT1"/>
<VariableReference VariableId="NP1"/>
</Apply>
</Condition>
</Rule>
</Policy>

Más contenido relacionado

La actualidad más candente

Introduction to Google Analytics
Introduction to Google AnalyticsIntroduction to Google Analytics
Introduction to Google AnalyticsCemal Buyukgokcesu
 
Social Media Data Collection & Analysis
Social Media Data Collection & AnalysisSocial Media Data Collection & Analysis
Social Media Data Collection & AnalysisScott Sanders
 
Hashtag Marketing
Hashtag MarketingHashtag Marketing
Hashtag MarketingGreg Jarboe
 
Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Shrutika Oswal
 
All things data presentation Analytics Attribution models
All things data presentation Analytics Attribution modelsAll things data presentation Analytics Attribution models
All things data presentation Analytics Attribution modelsJacob Kildebogaard
 
Introduction to Google Analytics GA4
Introduction to Google Analytics GA4Introduction to Google Analytics GA4
Introduction to Google Analytics GA4Laura Lee Dooley
 
Image Search: Then and Now
Image Search: Then and NowImage Search: Then and Now
Image Search: Then and NowSi Krishan
 
Introduction to Google Analytics
Introduction to Google AnalyticsIntroduction to Google Analytics
Introduction to Google AnalyticsArjun Parekh
 
Movie lens recommender systems
Movie lens recommender systemsMovie lens recommender systems
Movie lens recommender systemsKapil Garg
 
Data mining in social network
Data mining in social networkData mining in social network
Data mining in social networkakash_mishra
 
Instagram case study
Instagram case study Instagram case study
Instagram case study Pritha Mistry
 
Descriptive Statistics with R
Descriptive Statistics with RDescriptive Statistics with R
Descriptive Statistics with RKazuki Yoshida
 
Recommendation System
Recommendation SystemRecommendation System
Recommendation SystemAnamta Sayyed
 
Sentiment Analysis
Sentiment AnalysisSentiment Analysis
Sentiment AnalysisAnkur Tyagi
 
Collaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemCollaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemMilind Gokhale
 
Scalable community detection with the louvain algorithm
Scalable community detection with the louvain algorithmScalable community detection with the louvain algorithm
Scalable community detection with the louvain algorithmNavid Sedighpour
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringViet-Trung TRAN
 

La actualidad más candente (20)

Introduction to Google Analytics
Introduction to Google AnalyticsIntroduction to Google Analytics
Introduction to Google Analytics
 
Social Media Data Collection & Analysis
Social Media Data Collection & AnalysisSocial Media Data Collection & Analysis
Social Media Data Collection & Analysis
 
Hashtag Marketing
Hashtag MarketingHashtag Marketing
Hashtag Marketing
 
Twitter sentiment analysis ppt
Twitter sentiment analysis pptTwitter sentiment analysis ppt
Twitter sentiment analysis ppt
 
Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence
 
All things data presentation Analytics Attribution models
All things data presentation Analytics Attribution modelsAll things data presentation Analytics Attribution models
All things data presentation Analytics Attribution models
 
Introduction to Google Analytics GA4
Introduction to Google Analytics GA4Introduction to Google Analytics GA4
Introduction to Google Analytics GA4
 
Image Search: Then and Now
Image Search: Then and NowImage Search: Then and Now
Image Search: Then and Now
 
Type Cross browsers testing
Type Cross browsers testingType Cross browsers testing
Type Cross browsers testing
 
Introduction to Google Analytics
Introduction to Google AnalyticsIntroduction to Google Analytics
Introduction to Google Analytics
 
Movie lens recommender systems
Movie lens recommender systemsMovie lens recommender systems
Movie lens recommender systems
 
Data mining in social network
Data mining in social networkData mining in social network
Data mining in social network
 
Instagram case study
Instagram case study Instagram case study
Instagram case study
 
Descriptive Statistics with R
Descriptive Statistics with RDescriptive Statistics with R
Descriptive Statistics with R
 
Recommendation System
Recommendation SystemRecommendation System
Recommendation System
 
Sentiment Analysis
Sentiment AnalysisSentiment Analysis
Sentiment Analysis
 
Collaborative Filtering Recommendation System
Collaborative Filtering Recommendation SystemCollaborative Filtering Recommendation System
Collaborative Filtering Recommendation System
 
Scalable community detection with the louvain algorithm
Scalable community detection with the louvain algorithmScalable community detection with the louvain algorithm
Scalable community detection with the louvain algorithm
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filtering
 
Web analytics
Web analyticsWeb analytics
Web analytics
 

Destacado

Evolución tecnológica de los microprocesadores amd
Evolución tecnológica de los microprocesadores amdEvolución tecnológica de los microprocesadores amd
Evolución tecnológica de los microprocesadores amdJr Robles
 
Creacion de bases de datos
Creacion de bases de datosCreacion de bases de datos
Creacion de bases de datoscarlos amador
 
Linked data: mayor granularidad, mayor control de acceso
Linked data: mayor granularidad, mayor control de accesoLinked data: mayor granularidad, mayor control de acceso
Linked data: mayor granularidad, mayor control de accesoNextel S.A.
 
Identity Management for Web Application Developers
Identity Management for Web Application DevelopersIdentity Management for Web Application Developers
Identity Management for Web Application DevelopersPrabath Siriwardena
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & GuidelinesPrabath Siriwardena
 
Securing Single-Page Applications with OAuth 2.0
Securing Single-Page Applications with OAuth 2.0Securing Single-Page Applications with OAuth 2.0
Securing Single-Page Applications with OAuth 2.0Prabath Siriwardena
 
Open Standards in Identity Management
Open Standards  in  Identity ManagementOpen Standards  in  Identity Management
Open Standards in Identity ManagementPrabath Siriwardena
 
8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 

Destacado (10)

Advanced API Security
Advanced API SecurityAdvanced API Security
Advanced API Security
 
Evolución tecnológica de los microprocesadores amd
Evolución tecnológica de los microprocesadores amdEvolución tecnológica de los microprocesadores amd
Evolución tecnológica de los microprocesadores amd
 
Creacion de bases de datos
Creacion de bases de datosCreacion de bases de datos
Creacion de bases de datos
 
Linked data: mayor granularidad, mayor control de acceso
Linked data: mayor granularidad, mayor control de accesoLinked data: mayor granularidad, mayor control de acceso
Linked data: mayor granularidad, mayor control de acceso
 
Identity Management for Web Application Developers
Identity Management for Web Application DevelopersIdentity Management for Web Application Developers
Identity Management for Web Application Developers
 
Abd seguridad
Abd seguridadAbd seguridad
Abd seguridad
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
Securing Single-Page Applications with OAuth 2.0
Securing Single-Page Applications with OAuth 2.0Securing Single-Page Applications with OAuth 2.0
Securing Single-Page Applications with OAuth 2.0
 
Open Standards in Identity Management
Open Standards  in  Identity ManagementOpen Standards  in  Identity Management
Open Standards in Identity Management
 
8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML
 

Similar a Xacml

Politicas de Seguridad Informática
Politicas de Seguridad InformáticaPoliticas de Seguridad Informática
Politicas de Seguridad InformáticaEcatel SRL
 
Análisis comparativo de bases de datos
Análisis comparativo  de bases de datosAnálisis comparativo  de bases de datos
Análisis comparativo de bases de datosJorge Mengelle
 
Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.camilaml
 
Bases de datos deductivas
Bases de datos deductivas Bases de datos deductivas
Bases de datos deductivas natar25
 
Casos de uso
Casos de usoCasos de uso
Casos de uso53140294
 
Analisis de sitemas
Analisis de sitemasAnalisis de sitemas
Analisis de sitemasAlan9126
 
KumenAgro Ensayos - Software de Gestión de Ensayos a Campo - Agro
KumenAgro Ensayos - Software de Gestión de Ensayos a Campo - AgroKumenAgro Ensayos - Software de Gestión de Ensayos a Campo - Agro
KumenAgro Ensayos - Software de Gestión de Ensayos a Campo - AgroManuel S. Garcia Llano
 
Sistema de ventas, compras y almacén
Sistema de ventas, compras y almacénSistema de ventas, compras y almacén
Sistema de ventas, compras y almacénLeo Ruelas Rojas
 
Bases de datos deductivas (bdd)
Bases de datos deductivas (bdd)Bases de datos deductivas (bdd)
Bases de datos deductivas (bdd)natar25
 
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónSemana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónremyor09
 
Requerimiento para la elaboración de sistemas
Requerimiento para la elaboración de sistemasRequerimiento para la elaboración de sistemas
Requerimiento para la elaboración de sistemasBeatriz Montilla
 
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020Laura Noussan Lettry
 
Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"Paulinalopezb
 

Similar a Xacml (20)

Politicas de Seguridad Informática
Politicas de Seguridad InformáticaPoliticas de Seguridad Informática
Politicas de Seguridad Informática
 
Gealfox
GealfoxGealfox
Gealfox
 
Análisis comparativo de bases de datos
Análisis comparativo  de bases de datosAnálisis comparativo  de bases de datos
Análisis comparativo de bases de datos
 
Introducción a aplicaciones web.
Introducción a aplicaciones web.Introducción a aplicaciones web.
Introducción a aplicaciones web.
 
Bases de datos deductivas
Bases de datos deductivas Bases de datos deductivas
Bases de datos deductivas
 
Sistemas de razonamiento logico
Sistemas de razonamiento logicoSistemas de razonamiento logico
Sistemas de razonamiento logico
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Analisis de sitemas
Analisis de sitemasAnalisis de sitemas
Analisis de sitemas
 
KumenAgro Ensayos - Software de Gestión de Ensayos a Campo - Agro
KumenAgro Ensayos - Software de Gestión de Ensayos a Campo - AgroKumenAgro Ensayos - Software de Gestión de Ensayos a Campo - Agro
KumenAgro Ensayos - Software de Gestión de Ensayos a Campo - Agro
 
Modelos de autenticación
Modelos de autenticaciónModelos de autenticación
Modelos de autenticación
 
Sistema de ventas, compras y almacén
Sistema de ventas, compras y almacénSistema de ventas, compras y almacén
Sistema de ventas, compras y almacén
 
Base datos f08
Base datos f08Base datos f08
Base datos f08
 
Diccionario de datos1
Diccionario de datos1Diccionario de datos1
Diccionario de datos1
 
Bases de datos deductivas (bdd)
Bases de datos deductivas (bdd)Bases de datos deductivas (bdd)
Bases de datos deductivas (bdd)
 
Valentiina
ValentiinaValentiina
Valentiina
 
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicaciónSemana 2: Administración de base de datos: conceptos básicos y su aplicación
Semana 2: Administración de base de datos: conceptos básicos y su aplicación
 
Requerimiento para la elaboración de sistemas
Requerimiento para la elaboración de sistemasRequerimiento para la elaboración de sistemas
Requerimiento para la elaboración de sistemas
 
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
POOABD (POO Aplicada a B Datos) - RDBMS parte 1 -2020
 
Teoría general de sistema
Teoría general de sistemaTeoría general de sistema
Teoría general de sistema
 
Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"Proyecto final "publisher, access y bases de datos"
Proyecto final "publisher, access y bases de datos"
 

Xacml

  • 1. Roberta Zaccarini Saenz José Vinicio Peña Román Bernardo José Hernández
  • 2. HISTORIA XACML fue desarrollado por un equipo que incluía a personas de Entrust Inc., IBM, OpenNetworks.org, Quadrasis Inc., Sterling Commerce Inc., Sun y BEA Systems Inc. XACML fue adoptado como un estándar por la Organización para el Avance de Estándares de Información Estructurada en febrero de 2003. La primera especificación de XACML 3.0 fue lanzado el 10 de agosto de 2010. La última versión, XACML 3.0, se estandarizó en enero de 2013.
  • 3. DEFINICIÓN Extensible Access Control Markup Language Es un lenguaje basado en el estándar XML diseñado para expresar las políticas de seguridad y derechos de acceso a la información. Permite definir cómo es la estructura de intercambio de mensajes de autorización y un modelo para organizar y almacenar la información de autorización.
  • 4. XACML impone una estructura base pero con flexibilidad suficiente para que cada sistema exprese las políticas de autorización de la forma más conveniente a su dominio. Por Ejemplo: Un sistema podrá formar un modelo de autorización basado en usuarios, perfiles, y páginas permitidas mientras que otro podrá definirlo en términos de transacciones, terminales.
  • 5. ENTIDADES XACML define a un sistema de autorización como cinco subsistemas, cada uno con una función bien delimitada. Estos sistemas colaboran entre sí para cumplir las funciones del sistema de autorización como un todo. La especificación llama a cada uno de estos elementos «Points» PAP (Policy Administration Point) / (Punto de Administración de Política) Es el punto en el cual se crean y administran las políticas de control. Puede ser desde un editor XML de archivos de texto hasta un sistema encargado de encapsular un lenguaje de políticas propietario en la forma de un lenguaje XACML.
  • 6. PDP (Policy Decision Point) / (Punto de Decisión de Política) Es el punto responsable de evaluar un pedido de autorización. Según la información que el pedido contenga y el examen de las políticas de acceso existentes, determinará si el pedido debe ser rechazado o no. PEP (Policy Enforcement Point) / (Punto de Control de Política) Es el punto que intercepta el pedido de autorización y lo deriva al PDP. Luego de obtener la respuesta del PDP elabora una repuesta para el sistema que hizo el pedido de autorización. ENTIDADES
  • 7. ENTIDADES PIP (Policy Information Point) / (Punto de Información de Política) En algunos casos la evaluación de un pedido de información puede requerir la búsqueda de información de otras fuentes. Esta información se refiere concretamente a valores de determinados atributos. En estos casos, el pedido contiene información sobre el recurso que contiene al valor del atributo y el PIP es responsable de interpretar estos datos y obtener el valor. PRP (Policy Retrieval Point) / (Punto de Obtención de Políticas) En escenarios más complejos en los cuales las políticas están distribuidas o no pueden ser accedidas directamente por el PDP, se definen uno o más PRPs los cuales encapsulan la complejidad de obtener las políticas. El PDP se comunica con estos puntos para mantener actualizada su base de políticas, a la cual recurre cada vez que debe evaluar un pedido.
  • 8. Cuando un usuario pide acceso a un recurso, genera una petición con esta información de la solicitud hecha por el usuario y la manda a lo que se conoce como un PEP, a su vez el PEP crea un mensaje SAML que es enviado a un PDP donde residen todas las políticas de control de acceso a las aplicaciones. Con la información contenida en el mensaje SAML se busca la política que determinará si el usuario tiene los privilegios o no para acceder al recurso solicitado. A veces la información del usuario viene incompleta y es necesario consultar a los PIP y AS para extraer más información. Al final se devuelve un Permit o Deny o en algunos casos cuando no se encuentra ninguna política a aplicar un no procede que es lo mismo que Deny. Con esta información el PEP le dice a la aplicación si le da el acceso o no al recurso solicitado. EJEMPLO:
  • 10. RELACIÓN CON OTROS ESTÁNDARES OASIS SAML Estándar para intercambiar información de autenticación y autorización entre diferentes dominios de seguridad sobre internet. Se basa en protocolos que consisten en intercambios de mensajes XML SAML no determina cómo definir políticas de acceso, pero dentro del protocolo que define contempla la posibilidad de intercambiar mensajes de autorización, los cuales podrían contener estructuras basadas en XACML. Norma ISO 10181-3 Esta norma define una arquitectura de control de acceso, pero no define ningún lenguaje. La norma menciona dos elementos que XACML contempla: 1) «Access Control Decision Function» (ADF) 2) «Access Control Enforcement Point» (AEF):
  • 11. VENTAJAS DE XACML 1. los administradores de seguridad pueden describir una política nueva una sola vez sin tener que re-escribirla numerosas veces en cada aplicación con los otros lenguajes de acceso sustituidos por XACML 2. Los desarrolladores de las aplicaciones no tienen que inventar sus propios lenguajes de políticas y escribir código para soportarlas, pueden reutilizar código ya existente y estándar. 3. Los creadores de XACML esperan que muchas herramientas de fácil uso para escribir las políticas sean desarrolladas y que puedan usarse con muchas aplicaciones.
  • 12. VENTAJAS DE XACML 4. XACML es adaptable, puede acomodarse a la mayoría de necesidades de las políticas de control de acceso y también dar soporte a requerimientos emergentes. 5. una sola política de XACML puede ser aplicada a muchas fuentes y recursos, ayudando a evitar inconsistencias y eliminando la duplicidad al crear políticas idénticas para diferentes elementos. 6. Las políticas creadas con XACML pueden hacer referencia unas a otras, por ejemplo en una gran organización una política para un sitio especifico podría hacer referencia sin problema a una política que aplica a toda la compañía o a un país en el cual se tiene una sucursal de la misma. ventajas tomadas de los escritos de Russel Kay editor de ComputerWorld, analizando XACML consultado el 14 de julio de 2014 en: http://www.computerworld.com.au/article/40716/analysis_xacml/
  • 13. XACML DESVENTAJAS EN ASPECTOS ESPEFICOS: 1. Hay una gran curva de aprendizaje requerida que los administradores deben sortear para escribir políticas. posible solución: puede resolverse usando un editor grafico de políticas (como el cliente grafico para la base de datos eXist) 2. La segunda desventaja bien puede ser el rendimiento, por ejemplo, recurrentemente el soporte ofrecido por eXist a la política (PDP) no incluye el indexado de políticas, lo que significa que cuando el PDP recibe una petición de acceso debe preguntar a cada política si aplica con la petición hasta que se tenga el resultado positivo. 3. como alcanzar alta disponibilidad y confianza? si este sistema falla o cae, todos los demás serán inoperables. desventajas obtenidas de la pagina oficial de la base de datos con soporte XACML eXist en> http://exist-db.org/exist/apps/doc/xacml-dev.xml
  • 14. COMO FUNCIONA EN PRÁCTICAMENTE UNA PETICIÓN EN XACML CON LAS POLÍTICAS APLICABLES? cuando el motor de XACML recibe una Request (petición) devuelve una sola salida. Esta salida puede ser: • Permit • Deny • Not applicable Tomado de la web del sr. Amila Jayasekara, estudiante de la universidad de indiana
  • 15. QUE PASA CUANDO SE EVALUA MAS DE UNA POLITICA APLICABLE? «Se utilizan los algoritmos de combinación de políticas» RESPUEST A: • Permit-Override • Deny-Override Por Ejemplo:
  • 17. UNA POLÍTICA XACML CONTIENE: • El elemento «Target» es el que permite filtrar aquellas políticas que sean aplicables a la Request, si tanto la política como la Request se corresponden en este elemento y los valores de la petición, entonces se evalúa la Política completa para saber si autoriza o no a la Request.
  • 19. ELEMENTO TARGET EN SINTAXIS DE LA POLÍTICA:
  • 20. CORRESPONDENCIA DE TARGET EN POLÍTICA Y PETICIÓN
  • 21. EN POCAS PALABRAS LA ANTERIOR REQUEST Y POLÍTICA SE ESTÁN REFIRIENDO A LA SIGUIENTE FUNCIÓN: Evaluate function rfc822Name-Match (“med.example.com”, [otros parametros]) Los demás elementos del target se refieren a los recursos y acciones que se tomaran para la operación y el ambiente que se vera afectado (funcionan con la misma sintaxis vista)
  • 22. UNA POLÍTICA XACML CONTIENE: • La política contiene también una elemento «Rule» pueden haber varias reglas dentro de la política. • A diferencia del Target (sirve para saber si la política aplica a la Request) • El elemento Rule sirve para implementar la lógica de Autorización.
  • 24. ELEMENTO RULE: EL TARGET • Al igual que las políticas el elemento Rule contiene un sub-elemento Target, que nos deja saber si una regla es o no aplicable a una Request, lo que nos permite de igual forma filtrar justo como en las políticas .
  • 25. ELEMENTO RULE: LA CONDICIÓN • La condición es el CORE de la regla, con ella implementamos exactamente la lógica de autorización que entregara la política, que inherentemente tiene un respuesta booleana (true – false)
  • 26. ELEMENTO RULE: LA CONDICIÓN «»»Parte de la sintaxis de la política donde vemos al elemento Rule con efecto «PERMIT» si es que se evalúa como (true) de lo contrario se entrega (false) «»» Esta Rule contiene el elemento AND y tiene dos parámetros, en verde y azul. La primera checa si la Request en sus parámetros de recurso trae el valor MONEY, el segundo parámetro checa si la Request tiene entre sus valores de Acción el valor Withdrew (retiro)
  • 27. QUE PASA CUANDO SE EVALUA MAS DE REGLA APLICABLE? «Se utilizan los algoritmos de combinación de REGLAS» RESPUEST A: • Permit-Override • Deny-Override Por Ejemplo:
  • 28. UNA POLÍTICA XACML CONTIENE: • El elemento Obligations es el ultimo en ser visto, contiene disposiciones opcionales sobre la política. • Por ejemplo, si la salida de alguna política fue (permit,Deny, etc) entonces mande un E-mail al jefe de Departamento (útil para control y registro)
  • 29. COMO EXPANDIR Y FACILITAR EL USO DE XACML? DÉMOSLE UN POWERUP CON FRAMEWORKS
  • 30. USANDO AXIOMATICS – ALFA IMPORTANTE PROVEEDOR DE SOLUCIONES DE CONTROL DE ACCESO BASADAS EN ATRIBUTOS • Tu lenguaje de Programación preferido de siempre. • Una curva de Aprendizaje prolongada en AXCML VS www.axiomatics.co m
  • 31. USANDO AXIOMATICS - ALFA Como definir una política en AXCML donde un vendedor de autos tenga permisos para crear ordenes de compra sobre los autos que vende?
  • 34. Y DONDE ESTA MI CÓDIGO XACML?
  • 35. Y DONDE ESTA MI CÓDIGO XACML?
  • 36. XACML 3.0 Implementación y control de acceso
  • 37.
  • 39.  Para proporcionar un método para la combinación de reglas y políticas individuales en un conjunto de políticas que se aplica solo a una petición de decisión particular.  Para proporcionar un método para la definición flexible del procedimiento por el que se combinan las reglas y políticas.  Para proporcionar un método para tratar con múltiples sujetos que actúan en diferentes capacidades.  Para proporcionar un método para basar una decisión de autorización en los atributos de la materia y de los recursos.
  • 41.  XACML v3.0 Administration and Delegation Profile Version 1.0 Committee Specification 01, 10 August 2010  XACML v3.0: Admin and Delegation Profile (pdf)  SAML 2.0 Profile of XACML, Version 2.0 Committee Specification 01, 10 August 2010 (covers XACML 1.0, 1.1, 2.0, 3.0)  SAML 2.0 Profile of XACML, Version 2 (pdf) (covers XACML v1.0, v1.1, v2.0, v3.0)
  • 43.
  • 44. Nombre Provider/Cr eator Programin glanguage XACML version supported Latest version Last updated Comments sunxacml Sun Java XACML 1.x and 2.0 (core features) 2.0 2004 WSO2 Balana WSO2 Java XACML 1.0, 2.0 and 3.0 1.0.0 2012 enterprise-java- xacml ppz...@gm ail.com Java 0.0.14 2009 HERASAF XACML herasaf Java XACML 2.0 1.0.0- M3 2012 XACMLight N/A Java (Axis2 WS) XACML 2.0 N/A N/A
  • 45.
  • 46.
  • 47. Cambios ante la versión anterior
  • 48. Perfiles Jurisdiction urn:oasis:names:tc:xacml:3.0:ec-us:resource:jurisdiction USML La Lista de Municiones de Estados Unidos (USML) es una lista de artículos, servicios y tecnología relacionada designados como defensa y del espacio-relacionados por el gobierno federal de los Estados Unidos urn:oasis:names:tc:xacml:3.0:ec-us:resource:usml Authority-to-export urn:oasis:names:tc:xacml:3.0:ec-us:resource:authority-to-export
  • 50. <!ENTITY ec-us-subj “urn:oasis:names:tc:xacml:3.0:ec- us:subject:”> <!ENTITY ec-us-res “urn:oasis:names:tc:xacml:3.0:ec- us:resource:”> <!ENTITY func10 “urn:oasis:names:tc:xacml:1.0:function:”> <!ENTITY resource_category “urn:oasis:names:tc:xacml:3.0:attribut e-category:resource”> <!ENTITY subject_category “urn:oasis:names:tc:xacml:1.0:subject- category:access-subject”> <!ENTITY xacml-res “urn:oasis:names:tc:xacml:1.0:resource:”> <!ENTITY xs “http://www.w3.org/2001/XMLSchema#”> <!ENTITY rca "urn:oasis:names:tc:xacml:1.0:rule- combining-algorithm:">
  • 51. EJEMPLO A CONTINUACIÓN MUESTRA UNA FORMA DE IMPLEMENTAR UNA REGLA PARA UN ECCN TAL COMO SE DEFINE EN EL CCL. EN INGLÉS DENEGAR EL ACCESO A LAS PERSONAS Y LUGARES EN LA LUCHA CONTRA EL TERRORISMO (AT1) Y LA NO PROLIFERACIÓN (NP1) LISTAS DE LOS PAÍSES SI EL RECURSO HA ECCN COMENZANDO CON "3A980".
  • 52. Que es la ECCN?Una clave para determinar si se necesita una licencia de exportación del Departamento de Comercio, es saber si el artículo tiene la intención de exportación tiene un Número de Clasificación de Control de Exportación específica Five Product Groups A. Systems, Equipment and Components B. Test, Inspection and Production Equipment C. Material D. Software E. Technology
  • 53. <Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:oasis:names:tc:xacml:3.0:ec-us:example:CCL" RuleCombiningAlgId="&rca;first-applicable" Version="1.0"> <Description>Simple rule for one ECCN.</Description> <Target/> <VariableDefinition VariableId="AT1"> <Apply FunctionId="&func10;any-of-any"> <Function FunctionId="&func10;string-equal"/> <Apply FunctionId="&func10;string-union"> <AttributeDesignator AttributeId="&ec-us-subj;current-nationality" Category="&subject_category;" DataType="&xs;string" MustBePresent="false"/> <AttributeDesignator AttributeId="&ec-us-subj;location" Category="&subject_category;" DataType="&xs;string" MustBePresent="false"/>
  • 54. </VariableDefinition> <Rule Effect="Deny" RuleId="3A980"> <Description> Voice print identification and analysis equipment and parts" </Description> <Target> <AnyOf> <AllOf> <Match MatchId="&func10;string-regexp-match"> <AttributeValue DataType="&xs;string">^3A980.*</AttributeValue> <AttributeDesignator AttributeId="&ec-us-res;eccn" Category="&resource_category;" DataType="&xs;string" MustBePresent="false"/> </Match> </AllOf> </AnyOf> </Target> <Condition> <Apply FunctionId="&func10;or"> <VariableReference VariableId="AT1"/> <VariableReference VariableId="NP1"/> </Apply> </Condition> </Rule> </Policy>