有关p2p社交网络的注意事项

时间:2011-07-17 16:19:25

标签: security cryptography social-networking

虽然野外有许多社交网络,但大多数都依赖于存储在第三方拥有的中心网站上的数据。

我想构建一个解决方案,其中数据在成员系统上保持本地。将项目视为地址簿,一旦联系人更改其坐标,就会自动更新联系人的数据。这个基本想法可能会在以后扩展......

将使用中央主机使用公钥/私钥加密传输更新。 主机的唯一作用是存储和转发中间件。私钥在每个成员的系统上保持私密。

如果两个客户端都在线并且可以建立 p2p连接,则客户端可以在没有中央主机的情况下传输数据电报。

因此,发件人和收件人将是唯一能够创建可信消息的各方。

问题:

  • 是否存在我应采用的某些协议?
  • 我应该记住哪些安全问题?
  • 是否存在某些应以某种方式集成或使用的服务?

更专业:

  • 使用例如亚马逊或谷歌提供的服务?
  • 或者更好地使用原始网络服务器?如果是:为什么?
  • 应该使用哪种算法和密钥长度?

UPDATE-1

我搜索了我自己的问题标题,并发现这个学术项目在2008/09开发:http://www.lifesocial.org/

6 个答案:

答案 0 :(得分:9)

您所描述的解决方案听起来非常像电子邮件,加密邮件作为有效负载,而应用程序而非人类创建邮件。

它听起来并不像“p2p” - 在大多数P2P协议中,中央服务器的唯一要求就是发现 - 你正在使用商店和服务器。向前。

作为概念的快速证明,我建立了一个电子邮件服务器,并构建一个应用程序,将电子邮件发送到该服务器上注册的地址,使用PGP加密 - 工具和库可用,因此您应该能够在几天而不是几周内完成并运行。根据我的经验,为这类问题建立一个丢弃的PoC是一种很好的方法来筛选出我的想法。

第二个问题是社交网络的本质是它是一个网络。您的设计可能要求您存储的内容多于两个直接联系人的数据 - 您可能还需要存储他们的朋友,或至少存储这些朋友的公共交互。

这可能不是您计划的一部分,但如果是,您需要在早期考虑它 - 您可能最终必须将整个社交图传输给每个参与者以进行本地存储,这会产生可扩展性问题。 ...

答案 1 :(得分:6)

关于Safebook的论文可能对您有意义。 你也可以看看other distributed OSN,看看他们在做什么。

答案 2 :(得分:2)

http://en.wikipedia.org/wiki/Distributed_social_network上提及的联邦网络实际上并未分发。 Stefan打算做的事情确实是新的,只有一些专有人员才会探索。

答案 3 :(得分:2)

过去两年我一直在考虑相同的概念。我终于决定尝试用Python了。

我昨晚花了大部分时间,今天早上写了一个套接字通信脚本&服务器。我还计划从等式中删除中央服务器,因为它只是简单的麻烦,并且当所有成员都可以保留他们朋友的密钥的副本时,没有任何意义。

可以通过某人的公钥的哈希字符串访问每个配置文件。我的社交网络依赖于节点和pod。 Pod是其端口对网络开放的计算机。它们有助于中继流量,因为大多数防火墙会阻止传入的套接字请求。节点存储信息并与其他节点共享。每个节点都将获得一个活动pod的目录,可用于中继其流量。

答案 4 :(得分:2)

PeerSoN项目看起来像您可能感兴趣的内容:http://www.peerson.net/index.shtml

他们做了很多研究,论文可以在他们的网站上找到。

答案 5 :(得分:1)

关于它的一些想法:

  • 使用的协议:您可以完全考虑P2P程序及其设计
  • 安全问题:隐私。小心不要打开门:因为你打开了一扇门,整个系统都会受到损害。
  • 服务:您可以通过其API与常规社交网络集成

人们将不得不在他们的计算机中安装一个程序并记住每次打开它,就像任何P2P客户端一样。将所有内容留在Web服务器上的占用空间小/用户操作的必要性。

不知何故,您需要一个集中式服务器来管理搜索。你不能只是广播互联网来寻找朋友。或者你必须依赖uppon电子邮件请求添加一些,为此你需要提前知道电子邮件。

使用您的程序的朋友/联系人越少,想要使用它的人就越少,因为它没有可用的联系信息。

我看到您的服务器将是存储转发,因此解决了更新问题。