Chapter 13
Chapter 13
Operating System Concepts with Java – 8th Edition 14.1 Silberschatz, Galvin and Gagne ©2009
Chapter 14: Protection
Goals of Protection
Principles of Protection
Domain of Protection
Access Matrix
Implementation of Access Matrix
Access Control
Revocation of Access Rights
Capability-Based Systems
Language-Based Protection
Operating System Concepts with Java – 8th Edition 14.2 Silberschatz, Galvin and Gagne ©2009
Objectives
Operating System Concepts with Java – 8th Edition 14.3 Silberschatz, Galvin and Gagne ©2009
Goals of Protection
Each object has a unique name and can be accessed through a well-
defined set of operations
Operating System Concepts with Java – 8th Edition 14.4 Silberschatz, Galvin and Gagne ©2009
Principles of Protection
Operating System Concepts with Java – 8th Edition 14.5 Silberschatz, Galvin and Gagne ©2009
Domain Structure
Operating System Concepts with Java – 8th Edition 14.6 Silberschatz, Galvin and Gagne ©2009
Domain Implementation (UNIX)
UNIX
z Domain = user-id
z Domain switch accomplished via file system
Each file has associated with it a domain bit (setuid bit)
When file is executed and setuid = on, then user-id is set to
owner of the file being executed. When execution completes
user-id is reset
Operating System Concepts with Java – 8th Edition 14.7 Silberschatz, Galvin and Gagne ©2009
Domain Implementation (MULTICS)
If j < I ⇒ Di ⊆ Dj
Operating System Concepts with Java – 8th Edition 14.8 Silberschatz, Galvin and Gagne ©2009
Access Matrix
Operating System Concepts with Java – 8th Edition 14.9 Silberschatz, Galvin and Gagne ©2009
Access Matrix
Operating System Concepts with Java – 8th Edition 14.10 Silberschatz, Galvin and Gagne ©2009
Use of Access Matrix
Operating System Concepts with Java – 8th Edition 14.11 Silberschatz, Galvin and Gagne ©2009
Use of Access Matrix (Cont.)
Operating System Concepts with Java – 8th Edition 14.12 Silberschatz, Galvin and Gagne ©2009
Implementation of Access Matrix
Each column = Access-control list for one object
Defines who can perform what operation.
Domain 1 = Read, Write
Domain 2 = Read
Domain 3 = Read
Operating System Concepts with Java – 8th Edition 14.13 Silberschatz, Galvin and Gagne ©2009
Access Matrix of Figure A
With Domains as Objects
Figure B
Operating System Concepts with Java – 8th Edition 14.14 Silberschatz, Galvin and Gagne ©2009
Access Matrix with Copy Rights
Operating System Concepts with Java – 8th Edition 14.15 Silberschatz, Galvin and Gagne ©2009
Access Matrix With Owner Rights
Operating System Concepts with Java – 8th Edition 14.16 Silberschatz, Galvin and Gagne ©2009
Modified Access Matrix of Figure B
Operating System Concepts with Java – 8th Edition 14.17 Silberschatz, Galvin and Gagne ©2009
Access Control
Operating System Concepts with Java – 8th Edition 14.18 Silberschatz, Galvin and Gagne ©2009
Role-based Access Control in Solaris 10
Operating System Concepts with Java – 8th Edition 14.19 Silberschatz, Galvin and Gagne ©2009
Revocation of Access Rights
Operating System Concepts with Java – 8th Edition 14.20 Silberschatz, Galvin and Gagne ©2009
Capability-Based Systems
Hydra
z Fixed set of access rights known to and interpreted by the system
z Interpretation of user-defined rights performed solely by user's
program; system provides access protection for use of these rights
Operating System Concepts with Java – 8th Edition 14.21 Silberschatz, Galvin and Gagne ©2009
Language-Based Protection
Operating System Concepts with Java – 8th Edition 14.22 Silberschatz, Galvin and Gagne ©2009
Protection in Java 2
The protection domain indicates what operations the class can (and
cannot) perform.
Operating System Concepts with Java – 8th Edition 14.23 Silberschatz, Galvin and Gagne ©2009
Stack Inspection
Operating System Concepts with Java – 8th Edition 14.24 Silberschatz, Galvin and Gagne ©2009
End of Chapter 14
Operating System Concepts with Java – 8th Edition 14.25 Silberschatz, Galvin and Gagne ©2009