Using XACML Policies to Express OAuth Scope. Hal Lockhart Oracle June 27, 2013



Similar documents
Using XACML Policies as OAuth Scope

IDENTITIES, ACCESS TOKENS, AND THE ISILON ONEFS USER MAPPING SERVICE

Your Mission: Use F-Response Cloud Connector to access Google Apps for Business Drive Cloud Storage

Securing JAX-RS RESTful services. Miroslav Fuksa (software developer) Michal Gajdoš (software developer)

Service for checking whether an is operative or not. Validate ids in your databases.

Riverbed Cascade Shark Common REST API v1.0

vcloud Air Platform Programmer's Guide

Package pinnacle.api

OAuth 2.0 Developers Guide. Ping Identity, Inc th Street, Suite 100, Denver, CO

Configuration Guide - OneDesk to SalesForce Connector

Cloud-based Identity and Access Control for Diagnostic Imaging Systems

Forumbee Single Sign- On

The Essential OAuth Primer: Understanding OAuth for Securing Cloud APIs

KMx Enterprise: Integration Overview for Member Account Synchronization and Single Signon

OAuth2 and UMA for ACE draft-maler-ace-oauth-uma-00.txt. Eve Maler, Erik Wahlström, Samuel Erdtman, Hannes Tschofenig

Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA

Contents. 2 Alfresco API Version 1.0

SQUEEZE SERVER. Operation Guide Version 3.0

OAuth2lib. implementation

SmartSantander Open Data access using FI-WARE G.E. [ORION]

SafeGuard Enterprise Management API. Product version: 6 Document date: February 2012

Forumbee Single Sign- On

ICT353/532 Advanced Business Analysis & Design

Automatic Recognition, Processing and Attacking of Single Sign-On Protocols with Burp Suite

On XACML, role-based access control, and health grids

8 9 +

OpenID Deutsche telekom. Dr. Torsten Lodderstedt, Deutsche Telekom AG

Cloud Elements! Marketing Hub Provisioning and Usage Guide!

bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5

Fairsail REST API: Guide for Developers

Instant YANG. The Basics. Hakan Millroth, Tail- f Systems ( hakan@tail- f.com)

Federated Identity and Single Sign-On using CA API Gateway

Oracle Database 10g: Introduction to SQL

Talend Component tgoogleanalyticsmanagement

5.1 Features Denver CO 80202

Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 ( )

Configuring CQ Security

Authorization-Authentication Using

Acronis Backup & Recovery: Events in Application Event Log of Windows

Windows Security. CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger.

Authenticate and authorize API with Apigility. by Enrico Zimuel Software Engineer Apigility and ZF2 Team

Identity, Privacy, and Data Protection in the Cloud XACML. David Brossard Product Manager, Axiomatics

Integrating XACML into JAX-WS and WSIT

Domain Name Auto-Registration for Plugged-in IPv6 Nodes. <draft-kitamura-ipv6-name-auto-reg-00.txt>

An Oracle White Paper June Security and the Oracle Database Cloud Service

Axway API Gateway. Version 7.4.1

UFTP AUTHENTICATION SERVICE

Configuring and Using the TMM with LDAP / Active Directory

Coveo Platform 7.0. Salesforce Connector Guide

Revolution R Enterprise DeployR 7.1 Enterprise Security Guide. Authentication, Authorization, and Access Controls

Autodesk Inventory Advisor Quick Start Guide

CA Nimsoft Service Desk

HP Project and Portfolio Management Center

SnapLogic Salesforce Snap Reference

Safewhere*Identify 3.4. Release Notes

Permissions Management for Site Admins

Developer Guide: REST API Applications. SAP Mobile Platform 2.3 SP03

CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS

History of SQL. Relational Database Languages. Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG)

Terms and Definitions for CMS Administrators, Architects, and Developers

Information Security Basic Concepts

Mobile Security. Policies, Standards, Frameworks, Guidelines

PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0

OpenLDAP Oracle Enterprise Gateway Integration Guide

Coveo Platform 7.0. Oracle Knowledge Connector Guide

This document describes the capabilities of NEXT Analytics v5.1 to retrieve data from Google Analytics directly into your spreadsheet file.

About the Authors Fundamentals p. 1 Introduction to LDAP and Active Directory p. 3 A Brief History of Directory Services p. 3 Definition of LDAP p.

Mobile Solutions for Data Collection. Sarah Croft and Laura Pierik

Introduc)on to STORK2.0 project

RSA SecurID Ready Implementation Guide

DPH TOKEN SELF SERVICE SITE INSTRUCTIONS:

McAfee Cloud Identity Manager

Salesforce Files Connect Implementation Guide

REST Webservices API Reference Manual

cielo24 Documentation

Standards for Identity & Authentication. Catherine J. Tilton 17 September 2014

A Model for Access Control Management in Distributed Networks

McAfee Cloud Identity Manager

IBM Security QRadar Version Vulnerability Assessment Configuration Guide IBM

A Brief Introduction to MySQL

ADO and SQL Server Security

Oracle Marketing Encyclopedia System

Package WikipediR. January 13, 2016

CLC Server Command Line Tools USER MANUAL

Keeping access control while moving to the cloud. Presented by Zdenek Nejedly Computing & Communications Services University of Guelph

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package Data Federation Administration Tool Guide

OpenSocial Network Programming

AAI for Mobile Apps How mobile Apps can use SAML Authentication and Attributes. Lukas Hämmerle

Wind River. Intelligent Device Platform XT EMS Profile EMS DEVICE MANAGEMENT USER'S GUIDE WIND RIVER 1.0

Drupal Survey. Software Requirements Specification /10/2009. Chris Pryor Principal Project Manager

NewsletterAdmin 2.4 Setup Manual

Portal Factory CMIS Connector Module documentation

ZyWALL OTP Co works with Active Directory Not Only Enhances Password Security but Also Simplifies Account Management

OAISYS Administration Guide

The Future of Cloud Identity Security. Michael Schwartz Founder / CEO Gluu

Transcription:

Using XACML Policies to Express OAuth Scope Hal Lockhart Oracle June 27, 2013

Topics Scope Background Requirements Design AlternaKves XACML Overview Proposed Approach Benefits Next Steps Future Research

Scope Background Issued as a result of Access Grant Intended to represent what is allowed by this Token (not actually defined by RFC 6749) Can be Handle or Self- contained Handle is reference to data held by AS Self- contained can be interpreted by RS I disknguish between Requested Scope and Issued Scope

Standardized Scope Requirements Self- contained by definikon Agreed syntax and semankcs Cover any domain Compute Scope given idenkty of Resource Owner & Client, plus requested Scope (at most) Determine if Scope allows requested access using info available to RS (not owner a^ributes)

Current Design Approaches Handle - reference to info held by AS Tight coupling between AS & RS AS could become performance bo^leneck AS required to manage info for token lifekme Role small set of privilege alternakves RS (or AS) knows what they mean (good or bad) Inflexible Role explosion & confusion

XACML Overview Access Control Policy language Well defined semankcs Original syntax XML JSON in progress Decision Request Input: A^ributes - Name, Value, Category Categories idenkfy the enkkes associated with request, e.g. Subject, Resource, AcKon, Environment, etc. Set of A^ributes values called a SituaKon Output: Effect (Permit, Deny) ObligaKons, Advice

Policy EvaluaKon Oversimplified 1 Policies contain operakons on a^ribute values which produce True or False If False, policy is not applicable If True, Effect (Permit or Deny) is noted (Along with ObligaKons and Advice) If mulkple applicable policies have different effects, a combining rule is used E.g. Default Deny

Policy EvaluaKon Oversimplified 2 Policies form a tree Nodes are Policy Sets, leaves are Policies Once a branch is found not applicable, its children are not evaluated Policy Sets can contain Policies or Policy References Different policy combinakons will be applicable to different SituaKons

Policy Tree

Applicable Policies - SituaKon 1

Applicable Policies - SituaKon 2

Using XACML for Scope Scope must be able to limit Resources, ackons, Kmes, dates, locakons, etc. Cover mulkple situakons Non- unique a^ributes (Public, confidenkal, Tuesday) Wildcards (regular expressions) Boolean operators (A or B or C) Could invent a new language XACML already does this

Deciding What Policies Include all policies relevant to RS Write program to construct polices as needed I don t know how to do this Small number of preset access pa^erns Policies associated with each Like Roles, except actual rights are expressed Use XACML PDP to select

Using XACML PDP Requested Scope can contain XACML decision request IdenKfy typical or most strongly protected SituaKon Or custom tweak request to parkcular policies Submit request to PDP 3.0 feature idenkfy applicable policies Obtain policies by ID (could be cached)

Decapitated Policies Request contains Subject A^ributes of Resource Owner Applicable policies most likely will reference Need to plug Subject A^ribute values into policies as constants OpKonally opkmize out null operakons Eliminate dangling policy references presumably from non- applicable policies

Decapitated Policy Example 1 Initial Policy If Subject Attribute Group equals user and Resource Attribute Class equals private permit access. Decapitated Policy If user equals user and Resource Attribute Class equals private permit access. Optimized Policy If Resource Attribute Class equals private permit access.

Decapitated Policy Example 1 Initial Policy If Subject Attribute Group equals user and Resource Attribute Name matches Regex( /user/ +Subject Attribute Username+ /* ) permit access. Decapitated Policy If user equals user and Resource Attribute Name matches Regex( /user/ + hal + /* ) permit access. Optimized Policy If user equals user and Resource Attribute Name matches Regex( /user/ + hal + /* ) permit access. or If Resource Attribute Name matches Regex( /user/hal/* ) permit access.

Benefits General, flexible, domain independent Means to select policies based on Client request Common expression of OAuth and non- OAuth access control policies Enables XACML delegakon for full generality Major revisions of access model only require policy changes

Next Steps Increase priority of XACML JSON policies Need policy retrieval API standard Detailed specificakon of decapitakon algorithm Support for just in Kme policies w/o delegakon profile

Future Research RelaKonship to ObligaKons & Advice RelaKonship to other Subject Categories Use of XACML Admin/DelegaKon Profile with this scheme Use of access- permi^ed funckon with OAuth Deeper understanding of relakonship between various access control models

TheoreKcal ConsideraKons 1 Use of non- unique a^ribute values groups enkkes into sub- groups and enables scaling Policies are wri^en in the most natural form If X, allow access Each policy applies to many situakons Also enables scaling As a consequence, policies only work one way Determine if access allowed, can t enumerate what is allowed

TheoreKcal ConsideraKons 2 Not only can t go backward, can t go sideways Can t compare two policies, only say if they are both applicable to a given situakon Proposal is a way to sidestep problem and go from specific (request) to general (policies) OAuth can be looked at as a two stage policy evaluakon 1. Subject a^ributes for token issuance (once) 2. Remaining a^ributes for access (many Kmes)

RelaKonship to UMA Work Proposal can co- exist with anonymous Subject A^ribute and Role- based scheme Other ideas?