xacml 3.0 new features and standardization status

23
XACML 3.0 New Features and Standardization Status Prepared for ITU-T by Hal Lockhart Oracle September 17, 2009

Upload: samantha-branch

Post on 31-Dec-2015

42 views

Category:

Documents


0 download

DESCRIPTION

XACML 3.0 New Features and Standardization Status. Prepared for ITU-T by Hal Lockhart Oracle September 17, 2009. XACML Current Status. XACML 2.0 OASIS Standard – Feb 2005 ITU-T Recommendation X.1142 – Jun 2006 XACML 3.0 In progress Core & base profiles recently completed Public Review - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XACML 3.0 New Features and Standardization Status

XACML 3.0 New Features and Standardization Status

Prepared for ITU-T by

Hal LockhartOracleSeptember 17, 2009

Page 2: XACML 3.0 New Features and Standardization Status

XACML Current Status XACML 2.0 OASIS Standard – Feb 2005 ITU-T Recommendation X.1142 – Jun 2006 XACML 3.0 In progress

Core & base profiles recently completed Public Review Administration/delegation {New} Hierarchical resource {Enhanced} Multiple resource {Enhanced} SAML {Enhanced} Digital Signature, Privacy, RBAC

XSPA Profile submitted for OASIS Standard Additional profiles under development

Obligation families, Export Compliance, Policy Distribution, Metadata, WS-XACML, Intellectual Property Control

Page 3: XACML 3.0 New Features and Standardization Status

Request Context Schema Generalization

Triggered by need to add “delegate” for reduction Eliminate <Subject>, <Environment>, <Resource> &

<Action> Elements Everything carried in <Attributes> Element URNs used to identify categories

XACML 2.0 Subject categories New URNs for Environment, Resource, Action & Delegate

Categories Generally upwardly compatible

Attribute selectors may require manual conversion Policy & Context Schemas combined

Page 4: XACML 3.0 New Features and Standardization Status

XACML 2.0 Request Context

<Request …> <Subject> <Attribute AttributeId=“ … subject-category” …> <AttributeValue> … access-subject</AttributeValue> </Attribute> <Attribute> AttributeId=“ … subject-id” …> <AttributeValue>John Smith</AttributeValue> </Attribute> <Attribute> AttributeId=“ … group” …> <AttributeValue>Engineer</AttributeValue> </Attribute> </Subject> <Resource> <Attribute> AttributeId=“ … resource-id” …> <AttributeValue>http://www.example.com/</AttributeValue> </Attribute> </Resource>…</Request>

Page 5: XACML 3.0 New Features and Standardization Status

XACML 3.0 Request Context

<Request …> <Attributes Category=“ … access-subject”> <Attribute> AttributeId=“ … subject-id” …> <AttributeValue>John Smith</AttributeValue> </Attribute> <Attribute> AttributeId=“ … group” …> <AttributeValue>Engineer</AttributeValue> </Attribute> </Attributes> < Attributes Category=“ … resource”> <Attribute> AttributeId=“ … resource-id” …> <AttributeValue>http://www.example.com/</AttributeValue> </Attribute> </Attributes>…</Request>

Page 6: XACML 3.0 New Features and Standardization Status

XACML 3.0 Administration/Delegation

Two primary use cases “HR-Admins can create policies concerning

the Payroll servers” “Jack can approve expenses while Mary is on

vacation” Backward compatible Defined as an optional Profile Policies can contain Issuer Policies can be Access or Admin Admin policies enable policy creation

Page 7: XACML 3.0 New Features and Standardization Status

Policy Evaluation

1. Select potentially applicable policies by Target matching

2. For each Policy evaluate Rules and combine

Target Match Evaluate condition Return Effect and associated Obligations

3. For each Policy Set combine policy results

4. Return Effect and Obligations

Page 8: XACML 3.0 New Features and Standardization Status

Policy Evaluation with Admin Policies

1. Select potentially applicable policies by Target matching

2. For each Policy evaluate Rules and combine Target Match Evaluate condition Return Effect and associated Obligations

3. For every un-trusted policy Find an applicable Admin policy which authorizes the Issuer Repeat until a chain to a trusted policy is found Discard unauthorized policies

4. For each Policy Set combine policy results

5. Return Effect and Obligations

Page 9: XACML 3.0 New Features and Standardization Status

Fine Points of Reduction

Access and Administrative policies are matched against the situation, not each other

Current vs. Historic attribute mode Indeterminate results must be propagated

for combining Maximum delegation depth Obligations in Administrative policies

apply to access decision

Page 10: XACML 3.0 New Features and Standardization Status

Obligation Families

Allows Obligations to be grouped in families with the same properties

Specific Obligations semantics still undefined Timing – before, after, with access or any Exclusive - Fallback = true or false Sequential

Ordered = true or false Repetitive = true or false Failure Mode = fail fast, continue or atomic

Work in process

Page 11: XACML 3.0 New Features and Standardization Status

New Combining Algorithms

More rational handling of Indeterminate Same algorithms for rule and policy combining Indeterminate are classified by possible effect Example: for deny overrides, if Indeterminate

rule or policy could only result in Permit & there is at least one Permit, result is Permit

New algorithms are mandatory to implement Old algs are present, but not recommended

Page 12: XACML 3.0 New Features and Standardization Status

Other new features

Multiple decisions in a single request, varying any attribute category (just Resource in 2.0)

Advice – like Obligations, but can be ignored if not understood by PEP

New XPath 2.0 functions New time duration functions Policy distribution protocol Decision request protocol based on WS-Trust Metadata profile Authorization API, Attribute Manifest File

Page 13: XACML 3.0 New Features and Standardization Status

Authorization API

XACML 2.0 Specifies Policy language evaluation semantics XML format for policy interchange Abstract format for inputs and outputs,

expressed in XML Protocol for remote requests using XML input

& output format XACML 2.0 does not specify

API for requesting policy decision

Page 14: XACML 3.0 New Features and Standardization Status

Authorization API Benefits

Needed for call to local PDP Local PDP required for low latency

calls Inefficient to serialize data to and from

XML XML form not required by the standard

Also useful to have standard API for remote requests Common code to build message

Page 15: XACML 3.0 New Features and Standardization Status

API General Characteristics Java initially, C++ and perhaps others to

follow Modeled on XACML Request/Response

Contexts Use XACML datatypes – in format natural to

language Mostly to be used by infrastructure

components Occasionally application may need to provide data Infrastructure could be Container, Aspects, tool-

generated code, etc.

Page 16: XACML 3.0 New Features and Standardization Status

Why not Java Authorization/JSR 115?

Java Authorization (with or w/o JSR 115) based on Permissions

Passive enforcement by container is a good idea

Limitations to use of XACML features No convenient, standard way to provide XACML

inputs No method to return outputs, e.g. Obligations,

missing Attributes New Resource type requires definition of new

permissions class (recompile)

Page 17: XACML 3.0 New Features and Standardization Status

API Overview Methods to build (and access) Request

Context Methods to process Response Context “decide” method to invoke PDP

Single or bulk decisions “whatIsAllowed” method to obtain allowed

alternatives Operates in the context of some scope Creates invokes a series of decisions Returns allowed alternatives within scope

Other convenience methods

Page 18: XACML 3.0 New Features and Standardization Status

The Input Attributes Problem

XACML Policies operate on data provided

Only PDP sees/evaluates policies What attributes should be provided? Where can attributes be obtained

from? How can the proper instance value

be obtained?

Page 19: XACML 3.0 New Features and Standardization Status

Attribute Manifest File

File in XML format identifies attributes to be added to Request Context

Name of Attribute, Issuer, datatype, location, access method, other attribute to use as key

Not all fields may be present Three usecases:

PDP advertizes required attributes PIPs are configured to add attributes to Request

Context Policy authoring tools use attribute name &

format

Page 20: XACML 3.0 New Features and Standardization Status

Multiple PIP’s – Enhancing Request Context

LDAP

Application

PEP

PDP

AMF

AMF

AMF

P

I

P

P

I

P

P

I

P

ReqCtx

ReqCtx

ReqCtx

OVD

DB

SAML

Page 21: XACML 3.0 New Features and Standardization Status

Multiple PIP’s – Reacting to Missing Attributes

LDAP

Application

PEP

PDP

AMF

AMF

AMF

P

I

P

P

I

P

P

I

P

RespCtxMiss Attr

OVD

DB

SAML

RespCtxMiss Attr

RespCtxMiss Attr

Page 22: XACML 3.0 New Features and Standardization Status

API and AMF Standardization Approach Contributed to OASIS XACML TC in July 2009

Intent is to standardize Interoperable components Open Source Project started to develop

implementations API

Mate with open source XACML impl Implement remote client Mate with JAAC

AMF Deployment time access methods

More info: http://www.openliberty.org/wiki/index.php/Main_Page#OpenAz

Page 23: XACML 3.0 New Features and Standardization Status

Projected Status - Spring 2010

Only XSPA Profile likely to reach OASIS Standard

Core & 1st set of Profiles will reach Committee Specification Need Implementations

TC may adopt XACML 2.0 Approved Errata