The most widely used mechanism for preventing unauthorized access to systems is Identification and Authentication. Identification is the process where a user gives a valid and recognized identity to the system and authentication is the process whereby the system verifies the supplied identity. Access control, which is the concept of authorization, is concerned with determining the allowed activities of legitimate users (Scott-Chapman, 2006). The major aim of access control systems is to protect system resources against inappropriate and undesired user access. To reduce the security risks on computer systems as much as possible, there is a need to define who is allowed to access the stored information, which system resources the user is allowed to access, and what type of actions he/she is allowed to perform on those resources. Access control is one of the most important security mechanisms in the network environment and web services. Access control consists of policy, model and mechanism. The policy is the statement of what is, and what is not allowed, while the model is the formal representation of the security policies enforced by the system and is useful for proving the theoretical limitations of a system. The mechanism is a method, tool, or procedure for enforcing the Access Control Policy (NISTIR, 2006).
Access control systems are generally classified as Discretionary Access Control (DAC) and Non-Discretionary Access Control (NDAC). In DAC, the object owner or anyone else who is authorized to control the object's access specifies who have access to the object or specifies the policies.
All access control policies other than DAC are categorized as NDAC. In NDAC, policies are rules that are not specified at the discretion of the user. Some examples of NDAC are:
i. Mandatory Access Control (MAC):- This technique specifies that access control policy decisions are made by a central authority and not by the individual owner of the object. For example, the individual owner of an object can not specify whether an object is Top Secret and so on.
ii. Role-based Access Control (RBAC):- This describes the technique in which categories and duties of users are considered before permissions are granted to invoke an operation. The different categories are predefined, and have varying amount of privileges. The users will be placed in these categories. A user may be assigned many roles, but may not execute all his roles at the same time.
iii. Purpose-based Access Control (PBAC):- In this case, access is granted based on the intentions of the subjects. Each user is required to state his or her access purpose when trying to access an object. For example, in a school environment, data is collected for registration, checking of results, and so on. The system validates the stated access purpose by the user to make sure that the user is indeed allowed for the access purpose.
iv. History-based Access Control (HBAC):- This describes an access control technique in which access is granted based on the previous records. A subject is granted access to an object if logical the subject have previous access to the object to some reasonable threshold.
v. Temporal Constraints Access Control (TCAC):- This involves access control policies in which time restrictions are attached resource access. For example, some activities must be performed within a reasonable period.
vi. Rule-based Access Control (RuBAC):- This describes the technique that allows subjects or users to access objects based on pre-determined and configured rules. RuBAC is a general term for access control system that allows some form of organization-defined rules.
However, most of the current access control techniques are not completely adequate to ensure effective access control to computer resources because they are still faced with some problems. Some of the problems are:-
* the difficult to tailor access based on various attributes or constraints
* the difficulty in encapsulating all possible job functions and requirements to access objects
* inadequate capability of the administrator to compose all rules that covers the necessary access constraints and permission between subjects, operations and objects because of dynamic nature of operation
* non-prevention unauthorized access
* denial of authorized access because of complicated rules, etc. …