languages at galois
play

Languages at Galois Joey Dodds and many others Trust boundary - PowerPoint PPT Presentation

Languages at Galois Joey Dodds and many others Trust boundary Aggregator Aggregator User Core Aggregator Aggregator User What does a user want? Sandwich eating certificate System What does a user want? Sandwich eating certificate


  1. Languages at Galois Joey Dodds and many others

  2. Trust boundary Aggregator Aggregator User Core Aggregator Aggregator User

  3. What does a user want? Sandwich eating certificate System

  4. What does a user want? Sandwich eating certificate checker at time t System

  5. How many languages? 5 * *It’s way more than 5

  6. Trust boundary Aggregator Aggregator User Core Aggregator Aggregator User

  7. Layered verification ● Code meets a low-level specification ● Low-level specification meets higher-level specification ● High level-specification has meaningful properties

  8. Trust boundary Aggregator Aggregator User Core Aggregator Aggregator User

  9. Layered verification (TLS) ● Code meets a low-level specification Proof that C code for transition function is equal to ours ● Low-level specification meets higher-level specification Proof that our transition fn is equal to a fn written from RFCs ● High level-specification has meaningful properties Handshake always completes

  10. Trust boundary Aggregator Aggregator User Core Aggregator Aggregator User

  11. Proof for internal messages In we’ve defined executable serialization and parsing functions We have proved: ∀ msg . parse (serialize msg ) = msg

  12. Proof for monolithic system In we’ve defined a linear temporal logic This allows us to talk about things that ☐ always happen And ♢ eventually happen

  13. Proof for monolithic system We prove that if a user sends a message to the system now, eventually they will get a certificate back This was crazy hard

Recommend


More recommend