Presentation is loading. Please wait.

Presentation is loading. Please wait.

Wednesday, June 03, 2015 © 2001 TrueTrust Ltd1 PERMIS PMI David Chadwick.

Similar presentations


Presentation on theme: "Wednesday, June 03, 2015 © 2001 TrueTrust Ltd1 PERMIS PMI David Chadwick."— Presentation transcript:

1 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd1 PERMIS PMI David Chadwick

2 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd2 X.812|ISO 10181 Access Control Framework ADF Initiator Target Submit Access Request Present Access Request Decision Request Decision AEF

3 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd3 ADF API Decision Request Decision AEF ADF Examples: OpenGroup AZN API IETF GAA API PERMIS API Application specific Application independent

4 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd4 AZN API System Structure Initiator Target AEF Authentication Service Authentication Mechanism AZN API ADF Initiator Security Attributes Access Control Policy Rules AZN API Implementation

5 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd5 PERMIS API System Structure ADF The PERMIS PMI API Initiator Target Submit Signed Access Request Present Access Request Decision Request Decision LDAP Directory Retrieve Policy and Role ACs AEF Authentication Service Application Gateway PERMIS API Implementation PKI

6 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd6 PERMIS PMI Components Privilege Policy Schema/DTD –This defines the meta rules that govern the creation of the Privilege Policy (Access Control Policy Rules) Privilege Allocator –This tool allows an administrator to create and sign Attribute Certificates, including a Policy AC (this is a signed version of the Privilege Policy), and store them in an LDAP directory The PERMIS PMI Implementation –This grants or denies Initiators access to resources, based on the Privilege Policy and the ACs of the Initiator. The ADF is accessed via the PERMIS API

7 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd7 Application Specific Components The Access Enforcement Function –Its task is to ensure the Initiator is authenticated by the PKI, then to call the ADF, and give access to the target if allowed The PKI –Any standard conforming PKI can be used Java PKCS#11 Interface to the PERMIS PMI The Privilege Policy in XML –This must be written according to the schema/DTD LDAP Directory –To store the Policy and Initiator ACs

8 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd8 PERMIS X.509 PMI RBAC Policy Role Based Access Control Policy written in XML Initiators are given Role Assignment ACs A role is loosely defined as any Attribute Type and Attribute Value Role values can form a hierarchy, where superiors inherit the privileges of their subordinates e.g. CTO>PM>TL>TM ACs can be issued by any trusted AA Access is based on the Roles Published by XML.org at www.xml.org

9 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd9 An Example Policy - the Header <!DOCTYPE X.509_PMI_RBAC_Policy SYSTEM "file://localhost/C:/research/permis/policy7.dtd">

10 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd10 Role Assignment Policy Components Subject Policy –Specifies subject domains based on LDAP subtrees Role Hierarchy Policy –Specifies hierarchy of role values SOA Policy –Specifies who is trusted to issue ACs Role Assignment Policy –Says which roles can be given to which subjects by which SOAs, with which validity times and whether delegation is allowed

11 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd11 An Example Subject Policy

12 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd12 An Example Role Hierarchy Policy TenderOfficer TenderClerk Tenderer

13 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd13 An Example SOA Policy

14 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd14 An Example Role Assignment Policy

15 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd15 Policy Components (cont) Target Policy –Specifies the target domains covered by this policy, using LDAP subtrees Action Policy –Specifies the actions (operations) supported by the targets, along with their allowed operands Target Access Policy –Specifies which roles are needed to access which targets for which actions, and under what conditions

16 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd16 Target Access Conditions A condition comprises: –a comparison operator –the LHS operand(variable), described by its source, name and type, and variable source is the action or the environment Eg. Source Read action, Name filename, Type string Eg. Source environment, Name time of day, Type time –a series of one or more variables or constant values against which the LHS operand is to be compared Conditions may be combined using AND, OR, NOT

17 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd17 An Example Target Policy

18 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd18 An Example Action Policy

19 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd19 An Example Target Access Policy

20 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd20 An Example Condition Statement <Constant Type="TimePeriod" Value= "DaysOfWeek=0111110 End=2001-10-00 LocalOrUTC=local Start=2001-06-00 TimeOfDay=T090000/T170000"/>

21 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd21 Creating Your Own Policy If an XML expert, simply use your favourite text editor Or use an XML tool such as Xeena from IBM Alphaworks

22 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd22 The Privilege Allocator A tool for creating Attribute Certificates

23 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd23 The PERMIS API Four Simple Calls: Constructor for API, GetCreds, Decision and Shutdown Written in Java and based approximately on the OpenGroup’s AZN API Constructor –Pass the name of the administrator, the OID of the policy and the URLs of the LDAP repositories –API Object reads in the Policy AC and verifies its signature and OID

24 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd24 API State Transition Diagram Initialised No API Object Subject Known Construct GetCreds Shutdown Decision GetCreds

25 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd25 The PERMIS API (cont) GetCreds –Pass the authenticated name (LDAP DN) of the subject –Pull mode, GetCreds retrieves the subject’s ACs –Push mode, ACs are passed to GetCreds –ACs are validated and roles extracted Decision –Pass the target name, the action, and the parameters of the subject’s request –Decision checks the request against the policy and returns Granted or Denied Shutdown –Terminates the use of this policy

26 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd26 Privilege Allocator LDAP directory Attribute Certificates + ACRLs SOA Remote Application User Privilege Policy INTERNET INTRANET PKI Certifies PK Certs+ PKCRLs Authorises Putting it altogether - Allocating Privileges LDAP directory

27 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd27 Privilege Creation Steps SOA defines Privilege Policy using Privilege Allocator Privilege Policy is stored in LDAP directory as self signed Attribute Certificate SOA allocates privileges to user, in accordance with the Privilege Policy SOA can revoke user privileges SOA can update Privilege Policy

28 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd28 E- Commerce Application Server LDAP directory Privilege Policy ACs + ACRLs + PK CRLs Remote Application User Digitally Signed Request (SSL or S/MIME) Privilege Verifier INTERNET INTRANET Granting User Access Application Gateway Accesses using privileges granted the user LDAP directory

29 Wednesday, June 03, 2015 © 2001 TrueTrust Ltd29 Example Applications Salford City Council - Electronic Tendering Barcelona Municipality - Car Parking Fines Bologna Comune - architects submitting building plans Electronic Prescription Processing


Download ppt "Wednesday, June 03, 2015 © 2001 TrueTrust Ltd1 PERMIS PMI David Chadwick."

Similar presentations


Ads by Google