<< Chapter < Page | Chapter >> Page > |
The idea of protection domains originated with Multics and is a key one for understanding computer security. Imagine a matrixof all protection domains on one axis and all system resources (files) on another. The contents of each cell in the matrix are the operations permitted bya process (or thread) in that domain on that process.
Domain | File 1 | File 2 | Domain 1 | Domain 2 |
1 | RW | RWX | - | Enter |
2 | R | - | - | - |
Notice that once domains are defined, the ability to change domains becomes another part of the domain system. Processes in givendomains are allowed to enter other domains. A process's initial domain is a function of the user who starts the process and the process itself.
While the pure domain model makes protection easy to understand, it is almost never implemented. Holding the domains as a matrixdoesn't scale.
UNIX divides processes into 2 parts, a user part and a kernel part. When running as a user the process has limited abilities, andto access hardware, it has to tap into the kernel. The kernel can access all OS and hardware, and decides what it will do on a user's behalf based oncredentials stored in the PCB.
This is a simplification of the MULTICS system of protection rings. Rather than 2 levels, MULTICS had a 64 ring system where eachring was more privileged than the ones surrounding it, and checked similar credentials before using its increased powers.
Solutions: nothing works perfectly, but here are some possibilities:
Key technology: encryption. Store and transmit information in an encoded form that does not make any sense.
The basic mechanism:
Notification Switch
Would you like to follow the 'Operating systems' conversation and receive update notifications?