Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

draft TLA+ model of the server as a message queue with clients #29

Open
cfm opened this issue Dec 1, 2023 · 0 comments
Open

draft TLA+ model of the server as a message queue with clients #29

cfm opened this issue Dec 1, 2023 · 0 comments
Labels
formal methods Issues for tracking the formal modelling of the protocol

Comments

@cfm
Copy link
Member

cfm commented Dec 1, 2023

Per #26 (comment), we are on the right track for modeling this protocol's security properties. However, I have a feeling that we will also want to model this server's correctness properties, such as:

  1. Does the wheat+chaff message queue work as we expect?
  2. What are the CAP bounds on the pool of journalist keys?
  3. How should we choose an expiration interval for different rates of submission and retrieval?
  4. How does (3) influence whether we use the message queue for in-band synchronization (link TK)

My intuitions are that:

  1. This isn't a job for Tamarin, which cares about protocols, not systems.
  2. It could be done in Coq or Isabelle, which as generic proof assistants can do both protocols and systems. But since we're not already using either one of them...
  3. We might as well just start with TLA+, much like docs(Reply): model unified Reply object securedrop-client#1632.
@lsd-cat lsd-cat added the formal methods Issues for tracking the formal modelling of the protocol label Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
formal methods Issues for tracking the formal modelling of the protocol
Projects
None yet
Development

No branches or pull requests

2 participants