freedomofpress / securedrop-protocol

Research and proof of concept to develop the next SecureDrop with end to end encryption.
GNU Affero General Public License v3.0
47 stars 1 forks source link

consider domain-agnostic terminology for protocol participants #21

Open cfm opened 10 months ago

cfm commented 10 months ago

The asymmetry made explicit in #18 is one of the fundamental properties of this protocol—indeed, one of the symptoms that motivates having a custom protocol at all, versus Signal or MLS.

Within that asymmetry, however, the "journalist" and "source" roles are features of our domain, not of the essential protocol. Whatever names we expose in APIs, we may be able to come up with domain-agnostic terminology for these roles based on how they participate in this protocol.

cfm commented 10 months ago

For example, if we consider the first volley to be an instance of the first-contact problem:

Subsequently, if we consider the statefulness of the participants:

Or their PKI status:

Or their one-to-potentially-many relationship:

To be continued....

cfm commented 8 months ago

Two analogies to chew on:

  1. In an online community, an original poster (OP) is immutable once they've started a thread, no matter what conversation follows and no matter what role (if any) they play in it. SecureDrop sources are always original posters: they start the "thread" (in a one-to-one relation), no matter how much back-and-forth follows with any number of journalists.

  2. In the law, a petitioner is similarly immutable once they've filed a suit. This echoes initiator/respondent above, but in this case there is a third party: a government, specifically a court, which is hardly analogous to a SecureDrop server.

The challenge here is to describe the enduring asymmetry of the participants' original conversation- or protocol-level roles, which have implications for, but are not identical to, their roles at the level of any given message, exchange of messages, or window of time.

lsd-cat commented 4 months ago

I think given that now we have plenty of documentation, the audit, multiple diagrams and we are preparing for public disclosure, this is a good time to start finalizing the terminology and make things as consistent as we can.