Understanding Core Access Control Models in Information Security
Access control is a fundamental security principle and a cornerstone of the CISSP curriculum, focusing on ensuring that users can only access the specific information and resources they are authorized to use, and no more. The mechanism for enforcing this is the access control model, a framework that dictates how subjects (e.g., users, processes) can access objects (e.g., files, databases, systems). Understanding the differences between the primary models—DAC, MAC, RBAC, and ABAC—is critical for designing and managing secure systems.
Discretionary Access Control (DAC)
Discretionary Access Control is a model where the owner of an object has the discretion to determine who can access it and what permissions they have. This is the most flexible and widely used model, common in most commercial operating systems like Microsoft Windows and Linux/Unix.
- Control Mechanism: Control is decentralized. The data owner or creator controls access.
- Implementation: Typically implemented using Access Control Lists (ACLs). An ACL is a table associated with an object that lists which subjects are allowed to access it and what operations (read, write, execute) they are permitted to perform.
- Key Characteristics: It is highly flexible and easy to manage on a small scale. However, it is vulnerable to several risks, including permission creep (users accumulating unnecessary permissions over time) and Trojan horse attacks, where a malicious program inherits the permissions of the user running it and can then pass those permissions on to other unauthorized subjects.
- Example: A user creates a spreadsheet on a shared network drive. That user is the owner and can right-click the file, go to its properties, and grant read/write access to specific colleagues while denying access to others. The decision is entirely at the owner's discretion.
Mandatory Access Control (MAC)
In a Mandatory Access Control model, access control is mandated by the system and cannot be changed or overridden by users or data owners. Access decisions are based on security labels assigned to both subjects (a clearance level) and objects (a classification level). This model is highly structured and is primarily used in environments where confidentiality is of utmost importance, such as military and government systems.
- Control Mechanism: Control is centralized and enforced by the operating system's security kernel.
- Implementation: The system compares a subject's security clearance (e.g., Top Secret, Secret, Unclassified) with an object's classification. For a subject to read an object, their clearance must be equal to or greater than the object's classification (the "no read up" principle from the Bell-LaPadula model).
- Key Characteristics: MAC is very rigid and offers a high degree of protection against unauthorized data leakage. It enforces a genuine need-to-know policy. However, it is complex to implement and manage, and its inflexibility makes it unsuitable for most commercial environments.
- Example: An analyst with a "Secret" security clearance attempts to open a document. The system checks the analyst's clearance label ("Secret") against the document's classification label. If the document is labeled "Top Secret," the system will mandatorily block access, regardless of who created the document or their wishes.
Role-Based Access Control (RBAC)
Role-Based Access Control, often called non-discretionary access control, is the most common model in corporate environments. Access rights and permissions are grouped by roles that correspond to job functions within an organization. Users are then assigned to these roles, thereby inheriting the permissions associated with them.
- Control Mechanism: Access is determined by system-defined roles, which are managed by administrators.
- Implementation: Administrators create roles (e.g., 'Accountant', 'Sales Manager', 'System Admin'), assign a specific set of permissions to each role, and then assign users to one or more roles.
- Key Characteristics: RBAC greatly simplifies permission management, especially in large organizations with high employee turnover. It enforces the principles of least privilege and separation of duties by ensuring users only have access necessary for their job function. It is highly scalable and reduces the administrative burden and risk of error associated with assigning permissions to individual users.
- Example: A new employee joins the finance department as a clerk. Instead of an administrator manually assigning permissions to dozens of different financial folders and applications, they simply assign the user to the "Finance Clerk" role. The user instantly inherits all the necessary permissions to perform their job duties. When they leave the company, the administrator simply revokes their role assignment.
Attribute-Based Access Control (ABAC)
Attribute-Based Access Control is the most dynamic and granular model. It makes access decisions based on a combination of attributes of the subject, the object, the requested action, and the environment. These attributes are evaluated against a set of policies or rules.
- Control Mechanism: Access is granted through a policy engine that evaluates attributes against established policies.
- Implementation: Policies are written in a logical language (e.g., "IF-THEN" rules). For example, a policy might use a user's role, their location (IP address), the time of day, the device being used, and the data's sensitivity level to make a real-time access decision.
- Key Characteristics: ABAC is extremely powerful and flexible, allowing for fine-grained, context-aware security. It is well-suited for complex, dynamic environments like cloud computing and IoT. However, defining and managing the vast number of potential policies and attributes can be very complex.
- Example: A policy might state: "Allow users with the attribute 'Doctor' to access objects with the attribute 'Patient Medical Record' if the action is 'View' and the environmental attribute 'Network Location' is 'Internal Hospital Wi-Fi' and the 'Time of Day' is between 7 AM and 7 PM." If any of these attributes are not met (e.g., the doctor tries to access the record from a public coffee shop), access is denied.