1 Overview of Access Control
1 Overview of Access Control
Access Control: 1
Access Control
Access Control: 2
Capability
Role-Based Access Control
Design Principles: what are the useful principles that can guide the design and contribute to an
implementation that is strong in security. Building a protection system is like building a bridge.
We never ask people without civil engineering training to build a bridge for us, because we know
that to build a bridge, we need to follow some civil engineering principles.
DAC: Discretionary Access Control
Definition: An individual user can set an access control mechanism to allow or deny access to
an object.
Relies on the object owner to control access.
DAC is widely implemented in most operating systems, and we are quite familiar with it.
Strength of DAC: Flexibility: a key reason why it is widely known and implemented in mainstream operating systems.
MAC: Mandatory Access Control
Definition: A system-wide policy decrees who is allowed to have access; individual user cannot
alter that access.
Relies on the system to control access.
Examples: The law allows a court to access driving records without the owners permission.
Traditional MAC mechanisms have been tightly coupled to a few security models.
Recently, systems supporting flexible security models start to appear (e.g., SELinux, Trusted
Solaris, TrustedBSD, etc.)
Access Control: 3
A capability can be thought of as a pair (x, r) where x is the name of an object and r is a set of
privileges or rights.
Advantage:
Easy to know the access right of a given subject.
Easy to revoke a users access right on all objects.
Disadvantage:
Difficult to know who can access a given object.
Difficult to revoke all access right to an object.
A number of capability-based computer systems were developed, but have not proven to be
commercially successful.
Social networks
Most social networks use ACL as its main access control model. Users can specify who can
access their profiles, friend lists, etc.
How is the ACL implemented in operating systems?
Where to store the access control list? (Must be in a safe place)
ACL is saved in the i-node data structure.
The i-node data structure (see Figure 1).
Access Control: 4
...
} inode[NR_INODES];
In practice, producing a system that can prevent all attacks has proved to be difficult. However, experience
has provided some useful principles that can guide the design and contribute to an implementation without
security flaws. Here are eight examples of design principles that apply particularly to protection mechanisms. These principles are summarized and explained by Saltzer and Schroeder in a classical paper, The
Protection of Information in Computer Systems [1]. We list these principles here, and you can read the
detailed explanations from the paper.
1. Economy of mechanism: Keep the design as simple and small as possible.
2. Fail-safe defaults: Base access decisions on permission rather than exclusion.
3. Complete mediation: Every access to every object must be checked for authority.
4. Open design: The design should not be secret.
5. Separation of privilege: Where feasible, a protection mechanism that requires two keys to unlock it is
more robust and flexible than one that allows access to the presenter of only a single key.
6. Least privilege: Every program and every user of the system should operate using the least set of
privileges necessary to complete the job.
7. Least common mechanism: Minimize the amount of mechanism common to more than one user and
depended on by all users.
8. Psychological acceptability: It is essential that the human interface be designed for ease of use, so
that users routinely and automatically apply the protection mechanisms correctly. Also, to the extent
that the users mental image of his protection goals matches the mechanisms he must use, mistakes
will be minimized.
These principles do not represent absolute rules they serve best as warnings. If some part of a design
violates a principle, the violation is a symptom of potential trouble, and the design should be carefully
reviewed to be sure that the trouble has been accounted for or is unimportant.
Access Control: 5
Reference Monitor
The Reference Monitor concept was introduced in the Computer Security Technology Planning Study (Oct,
1972) by James Anderson & Co. This document is widely referred to as the Anderson Report. Reference
Monitor provides an abstract model of the necessary and sufficient properties that must be achieved by
any system claiming to securely enforce access controls. The three properties of Reference Monitor are
summarized in the following:
1. The access mediation mechanism is always invoked every access is mediated. If this were not the
case, then it would be possible for an entity to bypass the mechanism and violate the policy that must
be enforced.
2. The access mediation mechanism is tamperproof. In the model, it is impossible for a penetrator to
attack the access mediation mechanism such that the required access checks are not performed and
authorizations not enforced.
3. It must be small enough to be subject to analysis and tests, the completeness of which can be assured.
This must be the case, since if the mechanism could be demonstrated to be flawed, then it would not
enforce the policy.
References
[1] J. H. Saltzer and M. D. Schroeder. The Protection of Information in Computer Systems. In Proceedings
of the IEEE, Vol. 63, No. 9. (1975), pp. 1278-1308.