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.
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?
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.
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
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