GNU/consensus/berlin-2013

From LibrePlanet
< GNU‎ | consensus
Revision as of 09:16, 26 July 2013 by Mrogers (talk | contribs) (Comments from mrogers)
Jump to: navigation, search

Socialnet_3.0

Preparing Berlin's workshop, August 24-25 2013.

Klaus' Proposal (KS)

1) End-to-end encryption

End-to-end encryption whenever I share information with friends - that will be realised by secushare.org

2) Self determined storage

Self determined storage of my data in a platform independent way - that will be realised by unhosted.org (and it is already built into Diaspora as a possibility afaik).

3) A migration strategy

A migration strategy, which makes the transfer to socialnet_3.0 painless. This was the most difficult requirement to understand. But the solution is not complicated: Socialnet_3.0 will be a "social browser" that keeps my old contacts going in the world of faceboogle via plugins.


Elijah's Proposal (ES)

1) Client side encryption

Covers KS#1. Consensus.

2) Social graph obfuscation

Consensus.

3) Self determined data storage

Covers KS#2. Consensus. See OwnCloud, GNUnet, RetroShare.

4) Scalability

Need details

5) Integration of old friends on legacy networks

(which would compromise 1 and 2 for those, of course). Covers KS#3. NO Consensus.

  • Option #1: keep bridges with legacy infrastructure
  • Option #2: abandon legacy infrastructure

In any case, a migration strategy is needed in the meantime.

6) High availability

you should be able to access your data when you want it.

Need details.

7) Device portability

you should be able to access your data from multiple devices at the same time

Need details.

This may conflict with self-determined data storage (ES#3): if I want to store data only on my mobile device, it may not be accessible from elsewhere.

8) Client choice

you should be able to use a mobile, desktop, or html5 app client (once webcrypto is deployed in browsers).

Need details.

You should have a choice of clients, but html5 is an implementation detail - we should agree on principles at this stage, not implementation details.

9) Multiple identity

you should be able to maintain multiple identities, and choose to link them or not.

Need details.

10) Protocol agnostic

you should be able to cross-communicate with different protocols, be they XMPP, HTTP, or p2p based.

Need details.

Again, this seems like an implementation detail. Interoperation between platforms or providers is presumably the goal here, not protocols for their own sake.

11) Secure groups

groups with membership determined cryptographically. Groups function as a virtual user, with all users in the group able to receive and send as the group, because they share a private group-key.

Need details.

Whether the group membership is determined cryptographically is an implementation detail. Perhaps it would be better to express this as "group identities", as the sibling of multiple identities (ES#9). One person should be able to speak/listen with many identities, and many people should be able to speak/listen with one identity.

lynX's Annotations (XA)

Derived from ES with the following annotations:

4) Scalability

Multicast strategies. Learn from Bittorrent. Try Gnunet Mesh.

5) Integration of old friends on legacy networks

Not important. Legacy networks aren't at the same level of privacy and security, so they may result in security leaks and downgrade attack scenarios. Facebook never needed to be compatible to anyone else to become the leader, so do we not. People will simply start using our tools and discover they no longer need the other ones.

This implies that I also regard 3) A migration strategy from KS' proposal as actually not important to fulfil our goals, although it is feasible anyway.

8) Client choice

With all the loopholes in HTTP combined with JS and HTML, web-based is always dangerous for privacy. Browsers are particularely unreliable for encryption jobs. Still, a localhost-based web interface or smartphone-like app is viable as an alternative to a native user interface. Of course the foundation the browser or app runs on must be secure: if your device isn't running a free operating system, you can't be sure of anything.

You may want to question the terms "client" and "server" since such architectures are frequently part of the problem. Our aim is for self-sufficient nodes and if you really really need a "server" it must be free from administration requirements and capable of running in your home. Servers must not serve large numbers of users of dumb client apps, but only as routers for fully operational mobile nodes.

10) Protocol agnostic

For the purpose of tunneling, yes. For the purpose of interaction and exchange, no. All other communication technologies can't offer the same degree of privacy and it would be intransparent having to explain to your grandmother that some chatrooms, forums, fan pages or individuals are "not safe" to interact with.