Module 4: Access Control
Module 4: Access Control
Figure 4.1: W. Stallings: Computer Security: Principles and Practice: 2nd Edition
Access Control Policies
• Discretionary Access Control (DAC)
– Controls access based on the identity of the requestor (subject)
and on access rules stating what the requestor is (or is not)
allowed to do.
– The owner of a resource (object) can delegate access
permissions to other users (subjects).
• Mandatory Access Control (MAC)
– Subjects and Objects are assigned security clearances
– A subject having an equal or higher security clearance than the
object can only access the object.
– A subject that has clearance to access an object cannot enable
another subject to access that object (access control decisions
are taken at the admin level; not at the subject-level)
Figure 4.3 (a): W. Stallings: Computer Security: Principles and Practice: 2nd Edition
Access Control Lists and Capability Lists
Capab
ility
Lists
Figure 4.3 (b) and (c): W. Stallings: Computer Security: Principles and Practice: 2nd Edition
Tradeoff between ACLs and
Capability Lists
• ACLs are stored only at the authorization center and
every request from a subject to access an object has to
be validated by searching through the ACL of the object.
• Sticky bit
– When set for a file, the file contents are not totally moved out of
main memory after execution, and are stored in swap space: set
for frequently used programs to speedup execution.
– When set for a directory, only the owner of a file in the directory
can move, rename or delete the file: useful for managing files in
shared temporary directories.
UNIX File Permissions
• The owner uses the chmod command to set the access rights of a file
and can use the chown command to change the owner or group of a
file.
• The Access rights are: Read (r – 4), Write (w – 2) and Execute (x – 1),
nothing (0). rwx rwx rwx
• Each file has associated permissions of the form
owner group others
• If a file has to be given more than one access right to a class, we have
to add their corresponding values.
• Examples:
– Consider a file A.txt. To set read, write and execute permissions to
its owner, read and execute only permission to the group and read-
only permission to others, use the chmod command as chmod 754
A.txt
– To set the SetUID bit (4) and SetGID bit (2) to a file and set read,
write and execute permissions to the owner, read/write permission
to group and read permissions to others, use the chmod command
as: chmod 6764 A.txt
– To set the sticky bit to a file, use: chmod +t A.txt
Role-based Access Control (RBAC)
• RBAC models define a role as a job function within an organization.
• RBAC: Users are assigned to different roles (static or dynamic)
according to their responsibilities; each role is assigned the specific
access rights to one or more resources (mostly static)
• Set of users may change frequently, as is the assignments of a user
to one or more roles.
• Each role should contain the minimum set of access rights needed
for that role.
• A user is assigned to a role that enables him or her to perform only
what is required for that role.
RBAC Model Sub Categories
• RBAC Session: It is a particular instance of a connection of a user to the
system and defines the subset of activated roles. When a user logs in the
system, he/ she establishes a session, and during this session, can request
to activate a subset of the roles he/she is authorized to play.
• Core RBAC (Flat RBAC): Mainly used if a user is assigned only one role per
login session.
• Hierarchical RBAC: If the user can take on multiple roles during a login
session, the number of times the access permissions have to be checked can
be minimized if the user is authenticated for the role that is higher up in the
hierarchy among the roles the user intends to take on during the session.
• Constrained RBAC: The number of roles and/ or the combination of roles that
a user can simultaneously take during a login session could be restricted
according to a static or dynamic policy of Separation of Duties (SoD).
• The Static SoD constraints can be enforced upfront (i.e., before login) based
on the users-role mapping and the maximum number of roles per user per
session..
• The Dynamic SoD constraints can be enforced by keeping track of the user
access to roles within a session. In addition to limiting the number of roles per
session, constraints could be even subjective (for e.g., a user cannot be
assigned role r2 if he/she already has a role r1 in the same session).
Hierarchical RBAC
• The hierarchy in a RBAC could
President
be represented either in the
form of a tree or a lattice.
• We say a role ri dominates rj (ri Vice
≥ rj ), if ri appears higher up Vice
Vice President
than rj in the hierarchy of roles. President
President 1
1
• User Inheritance: All users 1
authorized for a role r are also
authorized for any role r’ where
r ≥ r’. Dean Dean Dean
Dean
• Permission Inheritance: A role r 2 Dean 1 2
1
is authorized for all permissions 2
for which any role r’, such that r
≥ r’, is authorized.
• Activation Inheritance:
Activating a role r automatically
activates all roles r’, such that r
≥ r’.
Chair Faculty