No steam or gas ever drives anything until it is confined. No life ever grows great until it is focused, dedicated, disciplined. Henry Emerson FosdickSecurity and Protection
A model of protection abstracts the essential features of a protection system so that various properties of it can be proven.
O
R
| o1 | o2 | s1 | s2 | s3 | |
|---|---|---|---|---|---|
| s1 | read, write | own, delete | own | sendmail | recmail |
| s2 | execute | copy | recmail | own | block, wakeup |
| s3 | own | read, write | sendmail | block, wakeup | own |
| A schematic view of a capability | ||
|
||
|
The object descriptor can be the address of the corresponding objects and therefore, aside from providing protection, capabilities can also be used as an addreessing mechanism by the system.
A user program issues a request to access a word within an object. The address of the request contains the capability ID of the object and an offset within the object.
How does this relate to segmented/paged virtual memory?
| Subjects | Access Rights |
|---|---|
| Arnold | read, write, execute |
| George | read |
| Michael | write |
| Tong | execute |
| Smith | read, write |
To provide data security. Store and transmit information in an encoded form that does not make any sense.
The basic mechanism:
All of this only works under three conditions:
Public key encryption: new mechanism for encryption where knowing the encryption key does not help you to find decryption key, or vice versa.
Encryption procedure E and decryption procedure D must satisfy the following properties:
e.g. Safe mail:
Does such a scheme exist?
The RSA ( Rivest-Shamir-Adleman ) scheme:
| M → | Me mod n | C = Me mod n →→→→→→→→ |
Cd mod n | → M |
| ↑
( e, n ) encryption key |
↑
( d, n ) decryption key |
| M | M7 | encrypt: C = M7 mod 55 |
C23 | decrypt: M = C23 mod 55 |
| 8 | 209152 | 2 | 8388608 | 8 |
| 9 | 4782969 | 4 | 70368744177664 | 9 |
| 51 | 897410677851 | 6 | 789730223053602816 | 51 |
Positive identification: can also use public keys to certify identity:
These two forms of encryption can be combined together. To identify sender in secure mail, encrypt first with your private key, then with receiver's public key. The encryption/decryption functions to send from B to A are:
| encrypted text = E ( D( P, d-keyB ), e-keyA ) |
| decrypted text = E ( D( P, d-keyA ), e-keyB ) |
Encryption appears to be a great way to thwart listeners. It does not help with Trojan Horses, though.
Old Data Encryption Standard (DES) is not public-key based, but as implemented efficiently and appeared to be relatively safe.
New Advanced Encryption Standard (AES), called Ryndal (pronounced "rine doll").
General problem: how do we know that an encryption mechanism is safe? It is extremely hard to prove. This is a hot topic for research: theorists are trying to find provably hard problems, and use them for proving safety of encryption.
Summary of Protection: very hard, but is increasingly important as things like electronic funds transfer become more and more prevalent.