COMP3052 Computer Security 4 -- Access Control

COMP3052 Computer Security 4 -- Access Control

[IMPORTANT] Background

To discuss access control, we first have to develop a suitable terminology. The very nature of 'access' suggests that:

  • There is an active entity - a subject or principal
  • Accessing a passive object with some specific access operation
  • While a reference monitor grants or denies access
Fundamental Model of Access Control

Difference between authentication and access control:

  • Authentication verify identity
  • Access control stipulates who can or cannot access certain resources

Access control has two steps - Authentication & Authorisation

  • Authentication
    • Decide who has access to the system
  • Authorisation
    • of those with access, who is authorised to do something to the resource (object)

Principal vs Subject vs Object

  • Principal: An entity that can be granted access to objetcs or can make statements affecting access control decisions
    • user identity in an OS, used when discussing security policies
  • Subject: An active entity within an IT system (active party)
    • process running under a user identity, used when discussing operational system enforcing policies.
  • Object: Files or resources (passive party)

Access Operations

  • Access Mode
    • Observe: look at the contents of an object
    • Alter: change the contents of an object
  • General Model on common access on files:
    • Read (concern: confidentiality)
    • Write (concern: integrity)
    • Execute
  • Ownership (in charge of setting security policies)
    • Owner can be defined for each resource, owner controls who gets access
    • Or the security policy is a system-wide mandatory policy

[IMPORTANT] Access Control Structures

  1. Access Control Matrix (ACM) Access control matrix

At a basic level, access rights can be defined individually for each combination of subject and object simply and object simply in the form of a table. The access control matrix is an abstract concept and not very suitable for direct implementation if the number of subjects and objects is large or if the sets of subjects and object change frequently.

  1. Capabilities Capability

There are two fundamental options for implementing an access control matrix. Access rights can be kept with the subjects or with the objects. In the first case, every subject is given a capability, an unforgeable(不可伪造的) token that specifies this subject's access rights. This capability corresponds to the subject's row in the access control matrix

Disadvantage

  • It is difficult to get an overview of who has permission to access a given object
  • It is difficult to revoke(撤销) a capability - either the operating system has to be given the task or users have to keep track of all the capabilities they have passed on
  1. Access Control Lists (ACL) Access control list
  • Less memory used
    • Stored with a file and quick to access
    • but:
      • management of individual subjects is cumbersome
      • obtaining an overview of permissions is challenging
      • tedious to set this up for every subjects and objects
    • UNIX simplifies the ACL structure: User/Group/others
    • Windows extends usual rwe with:
      • take ownership
      • change permission
      • delete

Intermediate Controls

Problems of complexity are solved by indirection. This principle can be applied to access control. Intermediate layers between users and objects are introduced to represent policies in a more manageable fasion.

Groups

Groups Users with similar access rights are collected in groups and groups are given permissions to access objects, and are thus a mean of simplifying the definition of access control policies.

Negative Permission

Negative Permission an entry in an access control structure that specifies the access operations a user is not allowed to perform.

Policy Conflict

In the above image, the negative permission given to u3 contradicting the positive permission given to group g1, and thus an example of policy conflict.

  • Can be resolved by reference monitor
    • e.g., a simple and widely used algorithm is just process the first entry matching in ACL(Access Control Lists) and ignore the later entries

Privileges

Privileges

A policy could refer to the operationss a user is allowed to execute. Privilege stands for the right to execute certain operations

  • Usually associating with operating system functions

Robe-based Access Control (RBAC)

Compared with ACL: Identity-based Access Control (IBAC)

  • Access is based on a role, e.g. accountants should access certain financial files
    • role -> collection of application specific operations or resource access
      • Difference with group and role:
        • group are collections of users
        • roles are collections of permissions
    • RBAC focuses on users and the jobs they perform
    • Easier to scale and applicable to large networks and organizations (enterprise level)
    • Most operating systems are user/group based, so role-based access can be provided using nested groupsrbac within groups

Protection Rings

protection rings

Protection rings are a particularly simple example of an intermediate layer of hardware-based access control for subjects and objects. Each subject (process) and each object is assigned a number, depending on its 'importance'.

Access control decisions are made by comparing the subject's and object's numbers

Comparing Security Attributes

When evaluating a security policy, he reference monitor compares the access rights granted to the subject with the access rights demanded by the policy.

Partial Ordering

A security policy might grant access to an object if the object label is \(\le\) subject label

Considering the above example, the department creates a group Year_1 for first year students to manage access for resources specifically dedicated to them. There is also a group Year_2 for second year students, Year_3 for third year students, etc. The group of first year students would be contained in the group of all students, but there is no such relation between group Year_1 and Year_2. By using Hasse diagrams (a graphical representation of partially ordered sets in the above image), the edges in the diagram give a seleton of the partial ordering, which is \(a \le b\) if and only if there a path from a to be.

In this case, \(\{Year\_1\} \le \{Year\_1, Year\_2\}\), and a security policy might grant access to an object if the object label is \(\le\) subject label.

Multi-Level Security

multi-level security

Linearly ordered hierarchy of four security levels in early security research in 1970s and 1980s: often in military applications.

Lattice

The linear ordering of security levels in Multi-Layer security can only express a limited security policies, while in order to be able to state other policies, such as people at level secret could have access to lower categories, a lattice of security levels was introduced.

Lattice

Others

  1. JVM: sandboxing - run code in restricted environments
  2. Virtualization - emulates a number of other machines
  3. Trusted computing - verifiable state of software and hardware
Author

Tragic Master

Posted on

2024-02-13

Updated on

2024-02-13

Licensed under