### Lessons
1. Getting Back to a Single Node
2. [[Secure boot|Secure Boot Details]]
3. Delegation
4. Delegation and Login
5. Revisiting a full request/grant scenario: Making sense of all the statements
6. Putting it all together
7. Request Validity Checking
8. Threat modeling and security analysis
9. Revising SGX: An example of distributed trust
10. SGX trust framework and attestation
### Readings
- [Authentication in Distributed Systems: Theory and Practice](https://www.cs.utexas.edu/~shmat/courses/cs380s/lampson92.pdf)
- [SGX: End-to-end remote attestation](https://software.intel.com/en-us/articles/code-sample-intel-software-guard-extensions-remote-attestation-end-to-end-example)
- [Distributed Systems Security with Information Flow Control](http://www.scs.stanford.edu/~nickolai/papers/zeldovich-dstar.pdf)
Users delegate to machines that act on their behalf.
A credential is a statement that we can verify to be true.
Because the user doesn't have a trusted path to the computer we have to have things speaking on behalf of other things.
We need to set up a secure communication channel between nodes.
![[attachments/Pasted image 20230714115145.png]]