Download presentation
1
Present by Napasakorn Sukjay 51-7038-002-5 Poom Samaharn 51-7038-006-6
Access Control Matrix Present by Napasakorn Sukjay Poom Samaharn
2
Topic Introduction Access Control Matrix Access Control List (ACL)
Capability List (C-List) The confused deputy Comparison between ACL and C-List Summary
3
Introduction Access control matrix is a model of system resource’s protection. It was first proposed by Butler W. Lampson [1] , an American computer scientist, in The protection schemes in this model do not allow unauthorized users or subjects to use system resources. In other words, a particular subject has limitedly accessing rights to some specific objects if not all. For access control system, it likes using locked doors. The doors can be opened by anyone who owns the right keys. Another example is checking the movie ticket at a theatre. Viewers with the valid tickets are allowed to pass the door and watch the movie. Because of increasing in system complexity, the derivative forms of access control matrix such as access control list (ACL) and capability list (C-list) are better applied. Those derivatives have some advantages and disadvantages.
4
Access Control Matrix Access control matrix consists of triple parts such as subject, object, and access operation. A subject is an active entity in a computer system such as user, program, process, and thread. An object is a passive entity or system resource such as file, directory, database record and printer. In access control matrix’s schema, the subjects and objects are placed in a table. Each row represents a subject and each column represents an object. The data inside the table are set of access operations such as read, write, and execute. The access operations are responsible for interactions between subjects and objects.
5
A user requests access operations for objects/resources.
A schematic view A user requests access operations for objects/resources. The reference monitor checks request validity and return either granting access or denying access. Access Request Reference Monitor Grant/ Deny
6
Principle of access control is as follows
1. Assign subjects on the system. 2. Assign objects which are recognized by associated programs. 3. Assign access operations that subjects can use. 4. Assign subjects which interact with objects thru processes.
7
Access Control Matrix Table 1: Access Control Matrix [3] r = read w = write x = execute - = not allowed Corresponding to table 1, there are three users (Bob, Alice, and Sam) and one program (Acct. program) as subjects. They are aligned in row order. For column alignment, there are five objects that comprise OS, accounting Program, accounting data, insurance data, and payroll data. Noticeably, the accounting program performs as both subject and object. This approach protects accounting data from corruption or changing by other programs. If other subjects attempt to modify account data, that attempt will be rejected. However, this protection can be intentionally avoided. The system administrator, Sam, would substitute the accounting program with a fallacious version. This would cause the protection failure of the original accounting program. However, Alice and Bob are still being able to read and execute the account program (original or fallacious) without corrupting it in any circumstances.
8
Access Control List (ACL)
In practical, the system should better not to assign numerous numbers of objects and subjects in a large access control matrix. With a large amount of matrix entries and extreme scattering of data [2], the large access control matrix would waste too much memory space (e.g. 10,000 subjects x 1,000,000 objects = 1,000,000,000 matrix entries). It also takes quite a while to check and pair between any subject and any object. For better performance of authorization operation, the access control matrix is split into two doable options or derivatives. The first is access control list and the later is capability. The matrix is split into columns which represents objects. These columns are called “access control lists” (ACLs). An ACL acts for a column in the access control matrix. ACL is attached to an object and specifies its related subjects.
9
Access Control List (ACL)
The composition of an ACL entry Table 1:The composition of an ACL entry [3] Table 2: Access Control Matrix [3] According to table1 and table 2, if we look for insurance data we can write:
10
Access Control Lists (ACLs) cont.
From the figure 1, there are three subjects (Alice, Bob and Fred) and three objects (file1, file 2, and file 3). Each object is set for particular subject permissions. According to figure 1, each file or object has its own ACL. File 1 links to two subjects that are Alice and Fred. File 1 allows a permission to read for both subjects. For ACL of file 2, it allows a permission to write file 2 for Alice and a permission to read file 2 for Bob. Figure 1: Access Control Lists (ACLs)
11
Capability List (C-List)
The second derivative of access control matrix is “capability list or C-list”. In this case, the access control matrix is spilt into rows, each row represent one subject. A capability list is attached to a subject and specifies its related objects. Each entry in the list is a capability which is a pair of object and a set of access operations. Permissions to access objects for each subject are listed in each C-list.
12
Capability List (C-List) cont.6
Table 1: Access Control Matrix [3] From access control matrix, if we look for Alice’s C-list we can write:
13
Capability (C-List) cont.
From figure 2, there are three subjects (Alice, Bob and Fred) and three objects (file 1, file 2, and file 3). Each subject is assigned permission for operate on each object. For example, Alice has a permission to write on file 2, read and write on file 3. Figure 2: Capability (C-List)
14
Confused Deputy A deputy is a program that acts on behalf of users or subjects. One of the known deputies is “compiler”. Compiler, a program that transforms source code into a binary form, must act as a deputy for many users. This act causes a classical security problem which is called “confused deputy”. A confused deputy is a deputy that is inappropriately manipulated. This “confused deputy” problem is commonly found in computer systems.
15
Confused Deputy cont. Table 3: Access Control Matrix for confused Deputy [3] *r = read w = write x = execute - = not allowed From table 3, the compiler is granted a permission to write anything into a file named “Bill”. The file “Bill” contains critical information for resources. There is a user named “Alice”. Alice can invoke the compiler and give it a file name to get debugging output. If Alice invokes to compiler and provide “Bill” as the name of debugging file, the compiler will get confused. Although, Alice does not have a permission to write anything on file “Bill”, the compiler which is the deputy of Alice will overwrite file “Bill” with debugging information.
16
The confused deputy cont.
Figure 3: The confused deputy [3] When the “confused deputy” problem occurs, C-list can prevent it but ACLs have difficulties to avoid this problem. The confusion prevention of C-list is providing C-list to the compiler shortly before starting debugging process. Alice must give her C-List to compiler if she wants to invoke the compiler. Once receiving C-list, the compiler checks all permissions related to the target file. The complier will know that Alice does not have the permission to overwrite file “Bill”. On the other hand, ACLs do not have similar protection mechanism to avoid the confusion.
17
Comparison between ACL and C-List
Figure 4: Comparison between Access control list and capability [3]
18
Comparison between ACL and C-List cont.
Access Control List and Capability List look similar but there are many differences. The obvious and significant difference is the direction of arrows of both approaches According to figure 4, the arrows for ACLs direct from the resources (objects) to users (subjects) but the arrows for C-lists direct from users to the resources. This means that the capability pairing between users and resources is generated by the system. Thus, the permission of users to access files can be modified by the system itself. Oppositely, the system with ACL approach must need a special method for pairing users to files. This is the first advantage of capability over the ACL. The table 4 displays other advantages and disadvantages between both.
19
ACL vs. C-List Table 4: ACL vs. C-List [3]
20
Summary Access control matrix is a model of system resource’s protection. Access control matrix consists of subjects, objects, and access operations. Subjects are placed in all rows on the matrix table. Objects are placed in all columns. The table are useful for manipulating and protecting system resources. For example, one user can read a file but cannot overwrite it. In practical, the access control matrix is split into two approaches. The first is ACL which corresponds to the columns. The second is C-list which corresponds to the row. ACL focuses on objects but C-List focuses on subjects. Both have differences and the differences give some advantages and disadvantages over other. One common problem such as confused deputy can be prevented by C-list. However, ACL is more commercially use because it does not have high overhead and easy to implement.
21
References [1] “Access Control Matrix”, Available at: ,accessed February 2009. [2] J.Crampton. “Access Control”, Available at: Control.ppt, accessed February 2009. [3] M. Stamp. “Information Security Principles and Practice” , John Wiley & Sons Inc., NJ. 2006
22
Thank you
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.