29/03/2023 9:30
Pacifico Yokohama North G314–G315
Chairs: Jonathan Hoyland, Stephen Farrell
Thanks to the note takers!
Goals
Word of caution
UFMRG Wiki
Open discussion for later
Sample problem
Symbolic vs Computational analysis
Mechanization of the proofs with tools
Chris Patton: asking why the proofs are so huge in general
Colin Perkins: What sort of problem can it find?
Doug: Can you speak about formal analsys vs model checking? We use
model checking to prove some properties but didn’t get anything out
of it.
Christopher Inacio:
Jonathan: They are application specific, and contains features to
cater for that
?: How to document protocol spec so that formal analysis can be
easily understood in context? What is the next step towards FM
adoptoin?
Pieter Kasselman: How to make this usable and scalable?
Richard Barnes: One [use]case I came across was access control
protocol. We can find vulnerabiliities in these situations. This is
a nice non-academic usage of it [presumably: formal methods].
Carsten Bormann: To really close the loop, we need to get the
protocol designers onboard. In addition, we need to get reviewers,
implementers on board as well. One really important aspect of this
is evolution. Protocol evolve, and proofs needs to move along with
it and kept up-to-date. I have experience working with these tools
and ...
Chris Patton: presenting pen and paper cryptographic proof of VDAF
VDAF: Really lightweight Multi Party Computation draft in
IRTF-CFRG
VDAF: Distribute computation amongst a small set of
non-colluding aggregation servers
DAP is a higher level protocol to operate VDAF over HTTP.
Methodology : computational, pen and paper
This work uses the Universal Composability approach allows
to have composable formal bounds, different corruption
model.
Using the UC framework lead to find out some details that
needed to be feedback-ed into the specification
Proofs are not always checked. We hope to have a mechanized
computational proofs.
Stephen: Can you clarify difference between pen and paper vs
formalized proofs?
Stephen asks who knows the difference between pen-and-paper and
mechanized computational proofs
Wes Hardaker: the human is the problem because it misses details
Colin Perkins: is the issue with mechanization that tools don't
exist ?
Arnaud Taddei: is there a list of tools with examples and tutorials
HACSpec : Specification language for cryptography (presented at Real
World Crypto 2023)
The approach: use one single formal language and use tools to
transpile to verification languages (EasyCrypt and FStar)
Design goals
Example of ChaCha20 specification in HACSpec and how it is
translated to F*/Coq/EasyCrypt
libCRUX : Cryptographic Library written in HACSpec
Most verified code is generated C or Assembly which are finally
wrapped into Rust
HACSpec is written in a functional subset of rust that is easily
translated to different languages
Specification language
Functional correctness and constant-time code
Cryptographic security
Chris: do you have any code for generics?
Chris: What is the maintenance model for libCRUX?
Jonathan Hoyland: How usable are the tools
Benjamin Beurdouche:
Colin:
Michael Rosa: What do we call "formal methods"? De we still want to
automatically extract from RFC text some specs that could be used
for formal analysis?
Tetsuya: Different syntax in different tools but similar technique.
It’s hard to define security properties.
Colin
Chris Patton: is it a goal of the work to be opinionated about
techniques ?
Doug: similarly, how usable is "usable"? Different SDOs did provide
intermediate representation that could be used to formalize things.