Skip to content
Steven Allen edited this page May 8, 2015 · 1 revision

Multi-Group system

Instead of having one group fits all: have two group types that fit different scenarios.

Organization (working name)

  • Services know the organization name and can learn whether or not a user is a member.
  • Members know that they are a member of the organization.
  • If two members collude, they can determine whether or not they are members of the same organization.
  • New members will gain access to previously published content.
  • Old members will lose access to previously published content.

Example Organizations:

  • Haystack
  • My Group Project
  • Coworkers

Algorithm

Any of the ones we've been looking at will do.

Circle (working name)

  • Members can't observe membership in any way.
  • New members don't gain access to previously published content.
  • Old members don't gain lose access to previously published content (this would allow them to observe membership).

Example Circles:

  • Friends
  • People I like to annoy
  • Coworkers that I actually like.

Algorithm

Use APC: https://cs.iupui.edu/~xkzou/Papers/HICSS-44-SA-SGC.pdf

Basically, the ACL is just a list of users with access to the content. This preserves circle secrecy because the circles exist solely on the authentication agent.

Max size: 200 Members (Tests done on a 1.86GHz laptop w/ 1GB memory)

  • 3.125KiB ACL
  • 70ms ACL generation (in producers browser).
  • 1ms ACL proof (in consumers browser).

Note: this only accounts for ACP computations. We'll probably need to do some extra signatures/hashing but ACP appears to be fairly fast.

Clone this wiki locally