Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Application Layer Protocol

We assume classic Pub/Sub model for our e2ee collaboration application where the service provider is merely untrusted delivery service which could:

  • see encrypted application layer messages
  • see current ART tree structure: e.g. public key of each node of a tree
  • see current ART epoch (but importantly not set it)
  • set sequence number of each message and ART update as it’s a part of a protocol
  • potentially lead denial of service attacks by not delivering or selectively delivering messages
  • see group creator identity public key.

SP couldn’t:

  • see the content of any protected message inside group
  • impersonate any user inside group providing fake proofs
  • see metadata of users inside some group (meaning their identity public keys, names and other private information) except constantly ratcheting leaf public key
  • see metadata of group itself except neutral group_id