### Lessons
1. The [[Authorization]] Problem
2. [[Access control matrix|Access Control Matrix (ACM)]]
3. [[Access right propagation|Access Right Propagation]] & [[The HRU result|The HRU Result]]
4. [[ACM representation|ACM Representation]] and Use
5. [[ACM representation#ACLs or C-lists|ACL vs. C-Lists]] - [[ACM representation#Confused deputy problem|The Confused Deputy Problem ]]
6. Case Studies: Access Control in Unix, Windows, Hydra and Java
7. [[Unix access control lists (ACLs)]]
8. [[Unix access control lists (ACLs)#Extended ACLs|Access Control with Extended ACLs]]
9. [[Setuid and access control|Setuid() and Access Control]]
10. [[Windows ACLs|Negative Access Rights in Windows]]
11. [[Java access control model|Java Access Control Model]]
12. Deciding Access in Java
13. [[Hydra - a capability based system|Hydra and C-Lists]]
14. [[Hydra - a capability based system#Mutual suspicion problem|Addressing Protection Problems with Capabilities]]
15. [[Attacks against access control|Attacks Against Access Control]]
### Readings
1. [Protection](http://bwlampson.site/08-Protection/WebPage.html)
2. Access control lists:
1. [Unix](https://www.usenix.org/legacy/events/usenix03/tech/freenix03/full_papers/gruenbacher/gruenbacher.pdf)
2. [Windows](http://www.cs.washington.edu/homes/mikesw/papers/win2kacl.pdf)
3. [Going beyond the sandbox: new security architectures in JDK 1.2](http://www.usenix.org/publications/library/proceedings/usits97/full_papers/gong/gong.pdf)
3. Capability-based systems: [Hydra](http://homes.cs.washington.edu/~levy/capabook/Chapter6.pdf)
4. [Setuid demystified](https://www.usenix.org/conference/11th-usenix-security-symposium/setuid-demystified)