Skip to main content

Section 7.1 General Principles and Techniques

Access controls seek to provide tools for identification, authentication, authorization, and accounting with regard to a particular resource. While individual controls may provide multiple parts, it is still important to understand what each part represents:
Identification: The act of identifying an actor or something that is used to identify an actor. This could be as simple as a drivers license or as complex as a cryptographic signature that can only be made by the bearer of a private key. Example: A delivery driver presenting an employee badge.
Authentication: This step occurs when an identity is confirmed through the use of a specific process. This could be the process through which the private key is used or perhaps another biometric process such as reading a fingerprint. In either case the authentication is the method by which we verify identity. Example: Examining the delivery driver’s badge.
Authorization: Authorization is when an actor is given permission to access a resource. In casual conversation we may assume that authorization is a foregone conclusion once an actor has progressed this far, but in actuality authorization relies on the previous steps being completed and may in fact fail. A system may have identified who someone was through authentication with a username and password, but that user is not set up to have access to a resource. In this case the authorization step would fail. To continue with our delivery driver example: Allowing the delivery driver to pick up a package.
Accounting: Finally accounting is the process through which a record of access to the resource is recorded. Accounting may be a log of users who have signed in an log of what resources they each accessed. In a similar vein, with the delivery driver: A record of the driver’s visit is written in the sign-in book at the front desk.

Subsection 7.1.1 Least Privilege

The principle of least privilege states that an actor should only be given access to resources as necessary and with the permissions necessary to complete their task. These resources may be processes, programs, or even user accounts. This principle reduces an attack surface and helps stop the spread of malware as a single compromised account will not have access to all of the resources.
Least privilege is also an important concept for compliance purposes. For example, laws may require and audit of all accounts that have Internet access. By limiting accounts that have Internet access to only the accounts of actors that require Internet access to complete their tasks, it makes it easier to be in compliance.

Subsection 7.1.2 Multi-factor Authentication (MFA)

Multi-factor authentication is a technique that requires actors to provide two or more pieces of information to be used as identification. Some examples of identification would be usernames and passwords, token codes, a physical token, or biometric data. Typically it is suggested to use "something you have and something you know" for example the code in an SMS message to your phone (you have your phone) and a password (you know your password).
There are many popular products for MFA, most of which are based on the time based creation of a code. Google Authenticator
 1 
play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en_US&gl=US
and Authy
 2 
authy.com/
are each phone applications which generate codes from a cryptographic seed which is synced with the verifying system. RSA IDs generate similar codes on a dedicated hardware device.

Subsection 7.1.3 MAC, DAC, RBAC, and ABAC

There are several different authorization models that can be used.

Subsubsection 7.1.3.1 MAC

Mandatory Access Control (MAC) requires all objects (files, directories, devices, etc.) to have a security label that identifies who can access it and how. This is a particularly stringent form of access control which requires a great deal of effort to implement and maintain, but results in a high level of security.

Subsubsection 7.1.3.2 DAC

Discretional Access Control (DAC) simplifies things by allowing owners of objects to determine which permissions groups/users should be given to that object. This offers great flexibility and ease of implementation, but can result in a less secure environment if the owner of the object is compromised.

Subsubsection 7.1.3.3 RBAC

Role-Based Access Control (RBAC) builds off of DAC uses a core set of roles within a system to determine who has different levels of access to objects. RBAC is a common and flexible model which can be intelligently used to implement DAC or MAC.

Subsubsection 7.1.3.4 ABAC

Attribute-Based access control (ABAC) is a newer model that builds off of RBAC and uses more general attributes instead of just roles. ABAC can determine who has different levels of access to objects based on the attributes of the object, the user, the action, or even an external context.
These attributes can be used together in any way that can be codified into a rule. For example, "Give Fred read access to non-classified documents in this folder from 9:00AM to 5:00PM."
Table 7.1.1. Comparison between DAC, MAC, RBAC, and ABAC
Factors DAC MAC RBAC ABAC
Access Control
to Information
Through owner
of data
Through
fixed rules
Through
roles
Through
attributes
Access Control
Based on
Discretion of
owner of data
Classification
of users and data
Classification
of roles
Evaluation
of attributes
Flexibility of
Accessing Information
High Low High Very high
Access Revocation
Complexity
Very complex Very easy Very easy Very easy
Support for
Multilevel
Database System
No Yes Yes Yes
Used
in
The initial
Unix system
The U.S.
Department
of Defense
The ATLAS
experiment
in CERN
The U.S.
Federal
government
 3 
Khalaf, Emad. (2017). A Survey of Access Control and Data Encryption for Database Security. journal of King Abdulaziz University Engineering Sciences. 28. 19-30. 10.4197/Eng.28-1.2. Reproduced under license: CC BY-NC 4.0
You have attempted 1 of 1 activities on this page.