0216_accessControlx

Download Report

Transcript 0216_accessControlx

Access Control
Li Xiong
CS573 Data Privacy and Security
What is Access Control?
 Security Engineering by Ross Anderson,
2001

Its function is to control which principles
(persons, processes, machines, …) have
access to which resources in the system –
which files they can read, which programs
they can execute, and how they share data
with other principles, and so on.
 Access control is pervasive
 OS (unix, windows), databases, Java
Night Club Example
 Authentication
 ID Check
 Access Control
 Over 18 - allowed in
 Over 21 - allowed to drink
 On VIP List - allowed to access VIP area
 Enforcement Mechanism
 Walls, Doors, Locks, Bouncers
Access control and other security
services
 Identification and Authentication – establishing and
verifying the identity of the user
 Something you know, such as a password or a
personal identification number (PIN).
 Something you have, such as a smart card or
security token.
 Something you are, such as fingerprint, voice,
retina, or iris characteristics.
 Where you are, for example on or off campus,
inside or outside a company firewall
 Access control determines which subject can access
what resources after identification and authentication
Access control and other security
services
 Enforcement mechanisms
 Auditing – posteriori analysis of all the
requests and activities of users in the system


Deterrent – users may be discouraged from
attempting violations
Means to analyze users behavior to detect
possible violations
Access control and other security
services
Access control
 Access control mechanisms – low level
software functions that can be used to
implement a policy


Access matrix model
Implementation approaches
 Access control policies – high level guidelines
that determine how accesses are controlled
Discretionary access control (DAC)
 Mandatory access control (MAC)
 Role based access control (RBAC)
 Attribute based access control (ABAC)

Access Matrix Model
 A set of subjects S
 A set of objects O
 A set of rights R
 An access control matrix
 One row for each subject
 One column for each subject/object
 Elements are right of subject on an another
subject or object
Access matrix
Implementation approaches
 Access control lists (ACLs)
 Capabilities
 Authorization relation or table
Access control lists (ACLs)
 Each object is associated with an ACL
 Storing the matrix in columns
 Modern OS typically take the ACL approach
Capabilities
 Each subject is associated with a capability list
 Storing the matrix in rows
Authorization relation
 Each row, or tuple, specifies one access right
of a subject to an object
 Relational databases typically use it
Access control
 Access control mechanisms – low level
software functions that can be used to
implement a policy


Access matrix model
Implementation approaches
 Access control policies – high level guidelines
that determine how accesses are controlled
Discretionary access control (DAC)
 Mandatory access control (MAC)
 Role based access control (RBAC)

Discretionary AC
 Restricts access to objects based solely on
the identity of users who are trying to
access them
 No restrictions on information flow
Individuals
Resources
database 1
database 2
database 3
Application
Access List
Name Access
Tom
Yes
John
No
Cindy
Yes
Mandatory AC
 Governs access based on the classification of subjects and
objects
 Assign a security level to all information – sensitivity of
information
 Assign a security level to each user – security clearance
 Military and government: Top secret (TS) > secret (S) >
confidential (C) > unclassified (U)
 Access principles
 Read Down – a subject’s clearance must dominate the
security level of the object being read
 Write Up – a subject’s clearance must be dominated by
the security level of the object being written

Mandatory AC (cont)
 Information can only flow upwards or within the same
class
Individuals
Write up
TS
S
Read down
Resources/Information
Database 1
DS
Database 2
S
Database 3
C
C
U
Role-Based AC
 Governs the access based on roles
 Access authorizations on objects are specified for roles
 Users are given authorizations to adopt roles
 A user has access to an object based on the roles
Role-Based AC
Individuals
Roles
Role 1
Role 2
Role 3
User’s change frequently, Roles don’t
Resources
Database 1
Database 2
Database 3
Role-based Access Control
Benefits
 Authorization management – assigning users to roles




and assigning access rights to roles
Hierarchical roles – Inheritance of privileges based
on hierarchy of roles
Least privilege – allow a user to sign on with least
privilege required for a particular task
Separation of duties – no single user should be given
enough privileges
Object classes – objects can be grouped based on
classifications
RBAC Reference Model (Sandhu ‘96)
 RBAC0, minimum requirement
 RBAC1, RBAC0 + role hierarchies
 RBAC2, RBAC0 + constraints
 RBAC3, RBAC1 + RBAC2
Models
Hierarchies
Constraints
RBAC0
No
No
RBAC1
Yes
No
RBAC2
No
Yes
RBAC3
Yes
Yes
Core RBAC System
(UA)
User Assignment
USERS
(PA)
Permission
Assignment
ROLES
OPS
OBS
PERMISSIONS
user_sessions
session_roles
SESSIONS
USERS
Process
Intelligent Agent
Person
ROLES
A role is a job function with some associated semantics
regarding responsibility and authority (permissions).
Director
Developer
Budget
Manager
Help Desk
Representative
MTM relation between
USERS & PRMS
Permissions
 A permission is an approval of a particular
access to one or more objects
 Database – Update Insert Append Delete
 Locks – Open Close
 Reports – Create View Print
 Applications - Read Write Execute
SQL
UA (user assignment)
USERS set
A user can be assigned to
one or more roles
ROLES set
Developer
A role can be assigned
to one or more users
Help Desk Rep
PA (permission assignment)
PRMS set
A prms can be assigned to
one or more roles
ROLES set
Create
Delete
Drop
Admin.DB1
View
Update
Append
A role can be assigned
to one or more prms
User.DB1
SESSIONS
Each session is a mapping of one user to possibly
many roles
USER
SESSION
FIN1.report1
SQL
DB1.table1
APP1.desktop
Role Hierarchy RBAC
(RH)
Role Hierarchy
(UA)
User Assignment
USERS
(PA)
Permission
Assignment
ROLES
OPS
OBS
PERMISSIONS
user_sessions
session_roles
SESSIONS
Tree Hierarchies
Production
Engineer 1
Quality
Engineer 1
Production
Engineer 2
Engineer 1
Quality
Engineer 2
Engineer 2
Engineering Dept
Director
Project Lead 1
Production
Engineer 1
Quality
Engineer 1
Project Lead 2
Production
Engineer 2
Quality
Engineer 2
Lattice Hierarchy
Director
Project Lead 1
Production
Engineer 1
Project Lead 2
Quality
Engineer 1
Production
Engineer 2
Engineer 1
Quality
Engineer 2
Engineer 2
Engineering Dept
Constrained RBAC
SSD
(RH)
Role Hierarchy
(UA)
User Assignment
USERS
(PA)
Permission
Assignment
ROLES
OPS
OBS
PERMISSIONS
user_sessions
session_roles
SESSIONS
DSD
Static mutual exclusion constraints
 Two mutually exclusive roles: cannot both have the
same user as members
 Two mutually exclusive roles: cannot both have the
same permissions
 Two mutually exclusive permissions: one role cannot
have both permissions
Cardinality constraints
 On user-role assignment
 At most k users can belong to the role
 At least k users must belong to the role
 Exactly k users must belong to the role
Dynamic Constraints
 At most k users can activate the same role in one
session
 No user is allowed to activate n or more roles in one
session
Constraints with Role Hierarchies
 Two roles can be mutually exclusive only if neither
one inherits the other
 If two roles are mutually exclusive, no roles can
inherit from both
 If two roles are mutually exclusive, there can be no
“root” or “super users”
Separation of Duty
 Constraints is a means rather than an end
 Separation of duty is the goal
 No single user possesses all the permissions needed
to accomplish a sensitive task
 Permission assignment problem
Attribute based Access Control
(ABAC)
 Access control decisions are made based on a set of
characteristics, or attributes, associated with the
requestor and/or the resource
 A requester provides a set of attributes, they are
checked against permissible attributes
 E.g. a person in UltraMegaCorp tries to access an
administration interface for customer data in Atlanta must
present credentials with a division attribute of “customer
relations division” and a title of “senior manager” and a
location attribute of “Atlanta”
 No need for predefined list of roles or permissions
References
 Access control: principle and practice,
Sandhu, 1994
 Role-based Access Control Models, Sandhu,
1996
Coming up
 Hippocratic databases
 Fine-grained access control
 Policy management and enforcement