7.1. Overview
Access control concerns itself with restricting access to authorized
persons and with establishing accountability. There are four terms
that are commonly used in discussions related to access control:
- Identification
-
Process in which a user presents his identity
- Authentication
-
Process of verifying the user is allowed to access the system
- Authorization
-
Process of verifying the user is allowed to access a particular
resource
- Accountability
-
Ability to tell who accessed a resource and when, and whether the
resource was modified as part of the access
From system users' point of view, they rarely
encounter accountability, and the rest of the processes can appear to
be a single step. When working as a system administrator, however, it
is important to distinguish which operation is performed in which
step and why. I have been very careful to word the definitions to
reflect the true meanings of these terms.
Identification is the easiest process to describe. When required,
users present their credentials so subsequent processes to establish
their rights can begin. In real life, this is the equivalent of
showing a pass upon entering a secure area.
The right of the user to access the system is established in the
authentication step. This part of the process is often viewed as
establishing someone's identity but, strictly
speaking, this is not the case. Several types of information, called
factors, are
used to make the decision:
- Something you know (Type 1)
-
This is the most commonly used authentication type. The user is
required to demonstrate knowledge of some informatione.g., a
password, passphrase, or PIN code.
- Something you have (Type 2)
-
A Type 2 factor requires the user to demonstrate possession of some
material access control element, usually a smart card or token of
some kind. In a wider sense, this factor can include the time and
location attributes of an access request, for example,
"Access is allowed from the central office during
normal work hours."
- Something you are (Type 3)
-
Finally, a Type 3 factor treats the user as an access control element
through the use of biometrics; that is, physical attributes of a user
such as fingerprints, voiceprint, or eye patterns.
The term two-factor
authentication is used to describe a system that requires two of the
factors to be used as part of the authentication process. For
example, to withdraw money from an ATM machine, you must present your
ATM card and know the PIN number associated with
it.
Before the authorization part of the access control process begins,
it is already known who the user is, and that he has the right to be
there. For a simple system, this may be enough and the authorization
process practically always succeeds. More complex systems, however,
consist of many resources and access levels. Within an organization,
some users may have access to some resources but not to others. This
is a normal operating condition. Therefore, the authorization process
looks at the resource and makes a decision whether the user is
allowed to access it. The best way to differentiate between
authentication and authorization is in terms of what they protect.
Authentication protects the system, while authorization protects
resources.
Accountability requirements should be considered when deciding how
authentication and authorization are going to be performed. For
example, if you allow a group of people to access an application
using identical credentials, you may achieve the first goal of access
control (protecting resources) but you will have no way of knowing
who accessed what, though you will know when. So, when someone leaks
that confidential document to the public and no one wants to take the
blame, the system logs will not help either. (This is why direct
root login should never be allowed. Let the
users log in as themselves first, and then change into
root. That way the log files will contain a
reliable access record.)
|