written 8.4 years ago by |
Access Control List (ACL):
- An access control list (ACL) is a table that tells a computer operating system which access rights each user has to a particular system object, such as a file directory or individual file.
- Each object has a security attribute that identifies its access control list. The list has an entry for each system user with access privileges.
- The most common privileges include the ability to read a file (or all the files in a directory), to write to the file or files, and to execute the file (if it is an executable file, or program).
- Microsoft Windows NT/2000, Novell's NetWare, Digital's OpenVMS, and UNIX-based systems are among the operating systems that use access control lists.
Capability List:
- A capability is a token, ticket, or key that gives the possessor permission to access an entity or object in a computer system.
- A capability can be thought of as a pair (x, r) where x is the name of an object and r is a set of privileges or rights. With each subject we can store that subject's capabilities. And, the subject presents to the guard a capability in order to get access to an object.
- Note that a capability is completely transferable; it doesn't matter who presents the capability. This framework completely eliminates the need for authentication.
- However, with ACLs we were assuming that authentication was unforgettable. With capabilities, we now need a way to make capabilities unforgettable. The success of a capability-based mechanism depends on it.
Comparison of Access control list and Capability list
Consider the Real-Life Analogy: Bank Analogy Carla wishes to keep all of her valuables in a safe deposit box in the bank. On occasion, she would like one or more trustworthy friends to make deposits or withdrawals.
There are two ways that the bank can control access to the box:
i. The bank maintains a list of people authorized to access the box.
ii. The bank issues Carla one or more keys to the safe deposit box.
ACL Approach
i. Bank's involvement : $\hspace{2 cm}$ The bank must (i) store the list, (ii) verify users. ii. Forging access right: $\hspace{2 cm}$ The bank must safeguard the list. The bank must authenticate.
iii. Add a new person : $\hspace{2 cm}$ The owner must visit the bank.
iv. Delegation :$\hspace{2 cm}$ A friend cannot extend his or her privilege to someone else.
v. If a friend becomes untrustworthy, the owner can remove his/her name.
Capability Approach
i. Bank's involvement : $\hspace{2 cm}$ The bank need not be involved in any transactions
ii. Forging access right : $\hspace{2 cm}$ The key cannot be forged
iii. Adding a new person: $\hspace{2 cm}$ The owner can give the key to the new person
iv. Delegation : $\hspace{2 cm}$ A friend can extend his or her privilege to someone else.
v. Revoke : $\hspace{2 cm}$ The owner can ask for the key back, but it may not be possible to know whether or not the friend has made a copy.
Bell-LaPadula Model
The Bell–LaPadula Model (BLP) is a state machine model used for enforcing access control in government and military applications.
The model is a formal state transition model of computer security policy that describes a set of access control rules which use security labels on objects and clearances for subjects. Security labels range from the most sensitive (e.g."Top Secret"), down to the least sensitive (e.g., "Unclassified" or "Public").
The Bell–LaPadula model focuses on data confidentiality and controlled access to classified information, in contrast to the Biba Integrity Model which describes rules for the protection of data integrity. In this formal model, the entities in an information system are divided into subjects and objects.
The notion of a "secure state" is defined, and it is proven that each state transition preserves security by moving from secure state to secure state, thereby inductively proving that the system satisfies the security objectives of the model.
The Bell–LaPadula model is built on the concept of a state machine with a set of allowable states in a computer system. The transition from one state to another state is defined by transition functions.
A system state is defined to be "secure" if the only permitted access modes of subjects to objects are in accordance with a security policy.
To determine whether a specific access mode is allowed, the clearance of a subject is compared to the classification of the object (more precisely, to the combination of classification and set of compartments, making up the security level) to determine if the subject is authorized for the specific access mode. The clearance/classification scheme is expressed in terms of a lattice.
The model defines two mandatory access control (MAC) rules and one discretionary access control (DAC) rule with three security properties:
i. The Simple Security Property: a subject at a given security level may not read an object at a higher security level (no read-up).
ii. The star-property: a subject at a given security level must not write to any object at a lower security level (no write-down).
iii. The Discretionary Security Property: use of an access matrix to specify the discretionary access control.
SE Linux, like most other systems that protect multi-level data, uses the BLP model. This model specifies how information can flow within the system based on labels attached to each subject and object. Refer to the following diagram:
i. Under such a system, users, computers, and networks use labels to indicate security levels. Data can flow between like levels, for example between "Secret" and "Secret", or from a lower level to a higher level.
ii. This means that users at level "Secret" can share data with one another, and can also retrieve information from Confidential-level (i.e., lower-level), users. However, data cannot flow from a higher level to a lower level.
iii. This prevents processes at the "Secret" level from viewing information classified as "Top Secret".
iv. It also prevents processes at a higher level from accidentally writing information to a lower level.
v. This is referred to as the "no read up, no write down" model.