Access Control in a Distributed Object Environment Using XML and - - PowerPoint PPT Presentation
Access Control in a Distributed Object Environment Using XML and - - PowerPoint PPT Presentation
Access Control in a Distributed Object Environment Using XML and Roles Jason Crampton and Hemanth Khambhammettu Information Security Group Royal Holloway, University of London Introduction Overview What are we doing? Ensuring
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Introduction – Overview
- What are we doing?
– Ensuring that access to protected resources in a distributed computing environment is restricted to appropriately authenticated and authorised users
- Why is it important?
– Web services – Complex heterogeneous systems in large enterprises
- How are we doing it?
– An architecture for authentication and authorisation – Authorisation uses role-based techniques – Components of architecture integrated by XML schema
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Introduction – Objectives
- Modularity
– Independence of authentication and authorisation mechanisms – Independence of authorisation enforcement point and authorisation decision point – Avoid bottlenecks at decision and enforcement points – Promote inter-operability, scalability and extensibility
- Avoid reliance on third-party trust mechanisms
- Support for audit and delegation
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Introduction – Access control
Reference Monitor Authenticated User Protected Resource
- Access control protects resources from users
– Access control lists (ACLs) defined for protected resources (Windows 2000, IBM RACF) – A resource’s ACL consists of entries defining which users and groups can access the object – Often difficult to administer in large enterprise
Read?
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Introduction – RBAC
- Role-based access control
– associates each user with a set of roles – and associates each role with a set of permissions
- Hence each user is indirectly associated with a
set of permissions
- Roles may form a hierarchy reflecting
- rganisational structure
- Scales well and simplifies administration
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Components of architecture
- Authentication engine
– Creates authentication tokens
- Interface
– Access control enforcement point – Assesses the validity of authentication tokens, session certificates and access requests
- Session manager
– Creates session certificates – Only processes requests from the interface – Maintains information about role hierarchy and user-role assignment
- Authorisation engine
– Access control decision point – Only processes requests from the interface – Maintains information about permission-role assignment
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
XML schema
- Authentication tokens
– Contain user identity, public key of user, delegation information, lifetime of token
- Session certificates
– Contain issuer information, user identity, public key of user, lifetime of certificate, roles assigned to user, delegation information
- Interface requests
– Access requests (forwarded to authorisation engine) – Session certificate requests (forwarded to session manager)
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Session creation (1)
- User presents credentials to authentication engine
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Session creation (2)
- Authentication engine generates public/private key
pair and sends private key to user
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Session creation (3)
- Authentication engine generates authentication token
and sends it to interface
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Session creation (4)
- Interface sends authentication token to session
manager
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Session creation (5)
- Session manager creates session certificate, encrypts
it and sends it to user
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Making an access request (1)
- User sends session certificate and digitally signed
access request to interface
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Making an access request (2)
- Interface verifies signature on access request and
forwards access request to authorisation engine
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Making an access request (3)
- Authorisation engine decides whether request should
be granted and sends decision to interface
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Making an access request (4)
- Interface enforces decision by returning either a
handle to the resource or an error message
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Updating session certificates
- A session certificate is a static binding of a user
identity to a set of roles
- Validity of session certificate is sensitive to
– Changes to the user-role assignment relation – Changes in the structure of the hierarchy
- A user u could have been issued with a session
certificate containing a role r and then have his assignment to a role r revoked
– Any subsequent request by u to use a permission p assigned to r should be denied by the system
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Updating session certificates (1)
- Session manager sends revised certificate to interface
in response to changes in role hierarchy or user-role assignment
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Updating session certificates (2)
- User makes access request
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Updating session certificates (3)
- Interface verifies signature, substitutes new session
certificate and forwards request to authorisation engine which returns decision
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Updating session certificates (4)
- Interface enforces decision and sends revised session
certificate to user
Interface Session Manager User Authentication Engine Authorisation Engine
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Delegation
- Our architecture allows users to delegate their
privileges to other users (whom they trust)
- The ability to delegate privileges is
– determined by the authentication engine – defined in the authentication token
- Delegation element in session certificate determines
– whether the certificate can be delegated – constrains the number of delegation certificates that can be created
Access Control in a Distributed Environment Jason Crampton & Hemanth Khambhammettu ISSA 2003 Sandton, South Africa
Conclusions
- The architecture provides
– mutual authentication for user and target system – role-based authorisation – dynamic re-issue of session certificates – delegation
- Future work to include