Bird
Raised Fist0
Cybersecurityknowledge~5 mins

Access control models (MAC, DAC, ABAC) in Cybersecurity - Time & Space Complexity

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Time Complexity: Access control models (MAC, DAC, ABAC)
O(n)
Understanding Time Complexity

We want to understand how the time it takes to check access permissions changes as the number of users and resources grows.

How does the system handle more users or rules without slowing down too much?

Scenario Under Consideration

Analyze the time complexity of this simplified access check function.


function checkAccess(user, resource, action) {
  for (let rule of accessRules) {
    if (rule.appliesTo(user, resource, action)) {
      return rule.isAllowed;
    }
  }
  return false;
}
    

This code checks each access rule one by one to see if it applies to the user, resource, and action requested.

Identify Repeating Operations

Look for loops or repeated checks in the code.

  • Primary operation: Looping through all access rules.
  • How many times: Once for each rule until a match is found or all rules are checked.
How Execution Grows With Input

As the number of access rules grows, the time to check access grows too.

Input Size (number of rules)Approx. Operations (rule checks)
10Up to 10 checks
100Up to 100 checks
1000Up to 1000 checks

Pattern observation: The time grows roughly in direct proportion to the number of rules.

Final Time Complexity

Time Complexity: O(n)

This means the time to check access grows linearly with the number of access rules.

Common Mistake

[X] Wrong: "Checking access is always instant no matter how many rules there are."

[OK] Correct: Each rule must be checked until a match is found, so more rules mean more work and longer time.

Interview Connect

Understanding how access checks scale helps you design systems that stay fast as they grow, a key skill in cybersecurity roles.

Self-Check

"What if access rules were organized in a way that lets us find the right rule without checking them all? How would that change the time complexity?"

Practice

(1/5)
1. Which access control model uses labels and system-enforced rules to restrict access?
easy
A. Mandatory Access Control (MAC)
B. Discretionary Access Control (DAC)
C. Attribute-Based Access Control (ABAC)
D. Role-Based Access Control (RBAC)

Solution

  1. Step 1: Understand MAC characteristics

    MAC uses labels and system rules to control access, not user choice.
  2. Step 2: Compare with other models

    DAC lets owners decide, ABAC uses attributes, RBAC uses roles. Only MAC uses labels and system rules.
  3. Final Answer:

    Mandatory Access Control (MAC) -> Option A
  4. Quick Check:

    Labels + system rules = MAC [OK]
Hint: Labels and system rules mean MAC model [OK]
Common Mistakes:
  • Confusing DAC with MAC because both control access
  • Thinking ABAC uses labels like MAC
  • Mixing RBAC roles with MAC labels
2. Which of the following correctly describes Discretionary Access Control (DAC)?
easy
A. Access is based on predefined roles within an organization
B. Access is controlled by system-enforced labels only
C. Access is granted based on user attributes like time and location
D. Resource owners decide who can access their resources

Solution

  1. Step 1: Recall DAC definition

    DAC allows resource owners to decide who can access their resources.
  2. Step 2: Eliminate other options

    System-enforced labels describe MAC, attributes describe ABAC, roles describe RBAC.
  3. Final Answer:

    Resource owners decide who can access their resources -> Option D
  4. Quick Check:

    Owner control = DAC [OK]
Hint: Owner decides access means DAC model [OK]
Common Mistakes:
  • Confusing DAC with MAC which uses system labels
  • Mixing ABAC attributes with DAC
  • Assuming roles control DAC access
3. Consider this scenario: A system grants access to a file only if the user's department matches the file's department attribute and access time is within business hours. Which access control model is this an example of?
medium
A. Mandatory Access Control (MAC)
B. Discretionary Access Control (DAC)
C. Attribute-Based Access Control (ABAC)
D. Role-Based Access Control (RBAC)

Solution

  1. Step 1: Identify key access factors

    Access depends on user attributes (department) and conditions (time).
  2. Step 2: Match model to attribute-based rules

    ABAC uses attributes like department and time to decide access.
  3. Final Answer:

    Attribute-Based Access Control (ABAC) -> Option C
  4. Quick Check:

    Attributes + conditions = ABAC [OK]
Hint: Attributes and conditions point to ABAC model [OK]
Common Mistakes:
  • Choosing MAC because of strict rules
  • Confusing RBAC roles with attributes
  • Thinking DAC controls by owner only
4. A company uses a system where users can share files and decide who else can access them, but the system also enforces security labels on files that cannot be changed by users. What is the error in this access control setup?
medium
A. It does not enforce any access control
B. It mixes DAC and MAC models incorrectly
C. It allows users to override system labels
D. It uses ABAC without defining attributes

Solution

  1. Step 1: Analyze the setup

    Users control sharing (DAC), but system enforces labels (MAC).
  2. Step 2: Identify conflict

    Mixing DAC and MAC can cause conflicts because MAC labels cannot be overridden by users.
  3. Final Answer:

    It mixes DAC and MAC models incorrectly -> Option B
  4. Quick Check:

    Mixing DAC and MAC causes conflicts [OK]
Hint: DAC owner control conflicts with MAC system labels [OK]
Common Mistakes:
  • Assuming ABAC is used without attributes
  • Thinking users can override MAC labels
  • Ignoring the presence of enforced labels
5. An organization wants to implement an access control system that allows access based on user role, time of day, and location, but also requires that certain highly sensitive files can only be accessed by users with a specific security clearance label. Which combination of access control models best fits this requirement?
hard
A. Mandatory Access Control (MAC) combined with Attribute-Based Access Control (ABAC)
B. Discretionary Access Control (DAC) combined with Role-Based Access Control (RBAC)
C. Role-Based Access Control (RBAC) only
D. Attribute-Based Access Control (ABAC) only

Solution

  1. Step 1: Identify requirements

    Access depends on role, time, location (attributes) and security clearance labels (system-enforced).
  2. Step 2: Match models to requirements

    ABAC handles attributes like role, time, location; MAC enforces security clearance labels.
  3. Step 3: Combine models for full coverage

    Using MAC with ABAC covers both label enforcement and attribute-based conditions.
  4. Final Answer:

    Mandatory Access Control (MAC) combined with Attribute-Based Access Control (ABAC) -> Option A
  5. Quick Check:

    Labels + attributes = MAC + ABAC [OK]
Hint: Combine MAC labels with ABAC attributes for complex control [OK]
Common Mistakes:
  • Choosing RBAC only, missing label enforcement
  • Using DAC which lacks system labels
  • Assuming ABAC alone handles security labels