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

languages at galois
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Languages at Galois

Joey Dodds and many others

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5

Core Aggregator Aggregator Aggregator Aggregator User User Trust boundary

slide-6
SLIDE 6

What does a user want?

System

Sandwich eating certificate

slide-7
SLIDE 7

What does a user want?

System

Sandwich eating certificate checker at time t

slide-8
SLIDE 8

How many languages?

5*

*It’s way more than 5

slide-9
SLIDE 9

Core Aggregator Aggregator Aggregator Aggregator User User Trust boundary

slide-10
SLIDE 10

Layered verification

  • Code meets a low-level specification
  • Low-level specification meets higher-level specification
  • High level-specification has meaningful properties
slide-11
SLIDE 11

Core Aggregator Aggregator Aggregator Aggregator User User Trust boundary

slide-12
SLIDE 12

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

slide-13
SLIDE 13

Core Aggregator Aggregator Aggregator Aggregator User User Trust boundary

slide-14
SLIDE 14

Proof for internal messages

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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