个人在线社交网络:一个个人在线社交网络
摘要
当前在线社交网络(OSNs)生态系统采用客户端‐服务器架构,导致终端用户日益关注用户数据的隐私和控制问题。本文提出一种保护隐私的去中心化在线社交网络平台,该平台模拟现实生活中的社交互动。具体而言,我们将在线社交网络平台去中心化,并将信息的直接控制权交还给用户。该分布式平台消除了在线社交网络中的中央权威,用户仅通过移动设备与指定的对等节点共享其内容。这种去中心化系统确保交互仅在好友之间发生,第三方无法访问用户内容或关系。为了能够在POSN平台中高效地共享对象并实现及时访问,我们利用免费存储云来分发加密的用户内容。结合手机对手机应用与云基础设施,可在享受点对点系统优势(如无中央权威和可扩展性)的同时,解决点对点系统在可用性方面的局限性。
关键词: 去中心化 · Phone-to-phone · Privacy · Social网络
1 引言
在线社交互动是我们日常活动的重要组成部分。正如米尔格拉姆实验所示,我们生活在一个小世界中[10,21]。将数字世界中的这个小世界连接起来一直是一个挑战,并已通过各种方式得到解决。在线社交网络支持频繁的社会互动以及知识或八卦的传播。在线社交网络的出现引发了信息传播的重大变革,以及用户之间互动方式的改变。从数据到搜索再到社交互动,全球用户如今通过不断增长和扩展的用户生成内容,与互联网建立了更深层次的连接。
当前在线社交网络生态系统的客户端‐服务器架构引发了隐私问题。通常情况下,用户在使用在线社交网络时必须信任企业(以及政府)来处理其个人数据。在线社交网络会收集大量有关其客户端的个人信息,并基于收集或衍生的信息提供新服务。例如,服务提供商可以根据用户档案或用户圈子(即好友)来过滤广告。此外,在线社交网络具有预测性
在持续收集用户数据的同时,关于用户的能力。研究人员尝试通过基于用户的密钥管理来解决隐私问题[6,12,14,34],点对点架构[8,9,11,13,25,27,32,36],去中心化平台[1,3,20,30,31,33,35,38]。总体而言,点对点OSN架构由于用户的高流失率而存在效率低下的问题。尽管一些提出的去中心化平台利用了云资源,但它们依赖于通常是收费的计算云,且可能分析用户数据。
在去中心化架构中,对象的高效共享和及时访问起着至关重要的作用[22]。在双向好友OSN中,用户通常只访问大量帖子中的少量对象,且许多用户仅访问最近发布的对象。此外,无论发布内容的用户是否已离线,其更新都必须及时对其好友可用。为应对这些挑战,我们利用免费存储云来分发加密的用户内容。尽管已有部分在线社交网络使用云服务,但它们要么将其作为明文执行平台,要么作为中央服务器的备份存储。据我们所知,这是首个推动依赖移动设备和存储云、无中央服务器的去中心化OSN的研究。点对点系统要求节点在线才能进行数据交换,而我们利用云服务显著提升了数据可用性。免费云存储服务使得POSN能够通过智能手机或平板应用等用户客户端运行,而无需自建基础设施。此外,智能手机和平板设备具备相当的计算能力,可用于实现用户之间的直接交互。
在本文中,为了解决隐私问题,我们提出了一种隐私保护的去中心化在线社交网络(个人在线社交网络),该网络模拟现实生活中的社交互动。图1展示了正在开发中的安卓应用的示例截图。主要贡献本文的重点是将手机对手机应用与云基础设施相结合,以解决点对点系统由于高流失率导致的主要局限性,即可用性问题,同时保留点对点系统的优势,即无中央权威和可扩展性。该方法可进一步扩展,用于提供其他形式的社交通信,特别是在数据隐私受到关注的场景中。
2 云作为存储
在提议的个人在线社交网络中,每个用户的数据都保存在独立的位置,所有者负责授予其好友访问权限。云可以提供这一点
免费的存储资源。用户将加密数据上传到他们的云,并从他们朋友的云中获取数据(参见第5节)。云服务提供商只能观察到加密数据,并与有访问权限的用户共享这些加密数据,如图2所示。
为了查找在线好友,我们需要查看他们云位置文件中的IP地址和端口号。为了访问好友发布的内容,用户应下载该内容,即墙贴文件。通常情况下,包含帖子的墙将自动下载,但多媒体内容和评论将仅当用户查看时才被下载。尽管下载文件很简单,但跨不同云服务检查数百个用户的文件并不高效。了解你的好友是否有新内容将加快这一过程。在线好友可以加速该过程,因为他们可以分享关于共同好友的信息(参见第8节)。
为了查看云服务是否能提供在线社交网络的通信效率,我们将流行的在线社交网络(即Facebook和Google+)与流行的云存储服务(即Dropbox、谷歌云端硬盘、Sky Drive、Mediafire、Copy Cloud)的文件上传/下载时间进行了比较。图3展示了在校园内通过安卓平板使用无线网络进行10次测量所得的平均上传和下载时间。在这些实验中,为减少后台进程和无线状态带来的偏差,我们关闭了所有不必要的服务,执行了一次小文件传输以确保无线功能已开启,并将测量过程保持在前台运行。由于Facebook会对图片进行调整大小和压缩,即使上传了约1兆字节的大图片,我们也无法下载到同样大小的图片。因此,1兆字节及以上大小的文件为视频大小翻倍,而小于1兆字节的则为Facebook调整大小的图片。我们在城市内的10个不同的无线网络位置也获得了可比较的性能结果(因篇幅限制未展示)。
上传照片时,Facebook的图片表现逐渐变差(可能是由于重新渲染所致),但视频方面与其他平台相当。Google+的表现似乎比除一个云服务提供商外的所有其他平台都差。我们的深入分析显示,Google+ API会对视频进行流式传输,因此总下载时间显著增加。总体而言,在上传1MB及以上大小的视频时,各平台的上传性能相似。对于小于1MB的文件,在线社交网络的下载性能优于云服务,而对于更大尺寸的文件则性能相当。尽管这可能会影响聊天等交互式通信,但1秒或更小的性能差异对人类用户来说并不明显,不会影响个人在线社交网络(POSN)的适应性。这些实验表明,将文件上传或下载到在线社交网络或云服务提供商时,性能上没有显著差异。
此外,我们在里诺/旧金山湾区通过3G对7部手机进行了测量。图4展示了手机在相近时间内传输相同文件时,Dropbox相对于Facebook的性能比率。由于每位志愿者完成的实验次数不同,我们分别展示了每个数据点。注意,高于1的点表示在线社交网络比云更快。总体而言,我们观察到在线社交网络最多可快达10倍,或云最多可快达9倍,而在大多数情况下,在线社交网络更快。我们认为这种数据传输中的显著性能差异是由于3G流量速率不稳定所致。
3 好友关系建立
在去中心化系统中,让感兴趣的人建立友谊是一个挑战。因此,在个人在线社交网络中,我们需要依赖其他机制来建立友谊并确保身份的真实性。POSN平台依靠用户现有的联系方式,即电话号码和电子邮件地址,来建立友谊并确认身份。POSN平台可以在用户之间交换电子邮件或短信,以建立用于后续验证的证书/令牌告知朋友的云位置和公钥,如图5所示。由于临时身份需要唯一,个人在线社交网络基于电子邮件地址或电话号码的哈希生成身份。
当一个人想要与联系人建立友谊时,他/她会发送一个包含其身份、公钥和个人资料位置的URI。接收方如果愿意建立链接,可以回复其个人信息。请注意,这两条消息应通过电子邮件或短信交换,以确保真实身份。这种方法也符合我们对个性化社交网络的关注,因为本网络中的链接应对应用户之间现实生活中的友谊。
请注意,恶意电子邮件服务提供商可能会篡改消息,这是一个我们将重点关注的研究挑战。为解决此问题,可以通过获取公钥证书或使用PGP发送安全电子邮件,以确保公钥相对于潜在的中间人攻击者的有效性。分布式密钥协商协议也可以用于在好友之间验证公钥 [5,28,29]。
4 数据传播
POSN利用云存储系统,用户将内容上传至云服务,并从好友的云服务中获取动态消息。尽管有人可能认为开销会过高(例如,Facebook有12亿用户),但实际上每个用户只需管理其好友的内容。平均而言,一个Facebook用户拥有130个好友(在美国这一数字为214)[18],这些好友通常被划分为12个组[37]。我们像大多数在线社交网络一样将用户保留在组中,并为每个组以及个人分别维护一个墙贴文件。当用户发布帖子时,该帖子将被追加到相应的组中。
为了更好地了解在线社交网络中的数据生成情况,我们在获得用户明确许可的情况下,对16名Facebook用户及其社交圈(即朋友分享的帖子)的活动进行了为期15天的监控。平均而言,被分析用户的好友数量为220人(其中146人使用智能设备),这些好友被划分为9个组。同样,每天在用户圈子中平均有53条文字帖子、37个链接、51张图片、7个视频和85条聊天消息。在同一时期内,被监控用户自己仅总共上传了25张图片和2个视频。
我们观察到大多数照片小于 100KB,而没有任何照片大于 1兆字节。同样,大多数视频小于 10MB,但也有例外,存在大于 100MB 的视频。
由于多媒体文件可能非常大,因此应通过云来分发多媒体,用户可以通过云中的直接链接通知在线好友有新内容可供下载。否则,用户将需要发送多个文件副本(即副本数量等于在线好友数量)。图7显示了当用户发布其好友的帖子。这表明如果用户直接向在线好友发送多媒体文件,用户的开销将显著增加。例如,向90位在线好友发送一个平均大小为93KB的文件,用户需要传输超过8MB的数据。因此,发布者并非直接发送文件的多个副本,而是通知在线好友该文件已上传至云。
此外,图8显示了用户好友圈中非多媒体帖子(例如动态更新、链接、点赞和评论)的频率。图中,各点表示当有 x 位在线好友时帖子的平均数量,线条为移动平均值。平均而言,在一次会话期间,用户发布 66 条非多媒体内容,同时平均有 81位在线好友。尽管使用云来高效分发内容,但非多媒体帖子可以直接传递给在线好友。
5 隐私保护
为了在POSN平台中提供安全与隐私保护,数据在上传到云之前会被加密。POSN中的每位用户都拥有一个公钥。该公钥在好友关系建立时进行交换,并通过云共享。然而,这种方法效率很低,因为将为每位好友创建单独的动态发布。相反,POSN为每个群组维护一个动态墙,因为大多数用户会形成好友集群[17,24]。因此,每个群组需要一个用于群组动态墙的对称密钥,并且这些密钥需要安全地交换。为了管理对属于特定群组的动态帖子的访问,发布者将对称密钥嵌入文件中,如图9所示。通过该机制,POSN在不增加显著开销的情况下确保了安全性
由于对称密钥无需交换,而是通过公钥恢复,因此可以安全地添加到系统中。此外,由于多媒体文件可能发布到不同的群组,我们使用单独的对称密钥加密多媒体文件,并在群组的墙贴中共享这些对称密钥。每个用户的仓库都提供用各用户公钥加密的群组密钥,以及该用户的评论文件(参见第6节关于评论的内容)。在图9中,鲍勃只能访问“全部”群组,而克里斯可以访问“全部”和“家庭”群组。由于群组的对称密钥可以更新,因此 Keyver 表示密钥的版本号。注意,每个用户都有不同的仓库文件,因此默认情况下无法查看他人的文件。
为了评估加密开销,我们使用校园内的安卓平板通过无线网络分析了加密(使用标准的Android AES库)的性能开销。图10展示了Dropbox相对于Facebook的性能比率,其中蓝点表示无加密传输,红点表示有加密传输的10次测量的平均值。总体而言,我们观察到加密会提高该比率从1.40到1.71的平均值,时间增加22%且带有加密。这些结果令人鼓舞,因为额外的加密并未增加显著的延迟开销。
6 评论
评论是在线社交网络的重要功能,因为人们通常关心朋友的意见,因此应将其纳入框架中。然而,大多数点对点和去中心化在线社交网络平台却忽略了这一特性,因为在去中心化结构中实现非常具有挑战性(见第10节)。在个人在线社交网络中,每个用户将她的/他的项目发布到云中。为了让好友能够发布评论,他们需要被授予对动态墙的写入权限。这可能会引发安全性问题,因为好友可能有意或无意地破坏共享文件。
在此框架中实现评论功能的一种方法是为每位好友(如图11中的大卫、埃里克、弗兰克和乔治)打开一个具有共享写入权限的文件。如果某位好友想要对某个特定帖子发表评论,则可以将该评论发布到属于该好友的文件中。通过使用之前分配的墙贴ID,可以将评论与对应的帖子关联起来。下一个挑战是如何将此评论传播给正在查看原始帖子的好友。到目前为止,我们假设使用墙贴文件来交换数据。但现在,我们需要检查最多等于好友数量的文件,以查看他们是否对帖子发表了评论。所有者可以将各位好友评论文件中的评论汇总,并将其包含在原始帖子文件下,然后从各个评论文件中删除这些评论。然而,这一过程只有在所有者在线时才能完成。
此外,用户可能使用不同的云服务提供商,且可能没有发布者所用云的账户(如图11中的鲍勃和克里斯)。这类用户的评论文件会存储在他们自己的云中,用于记录他们好友的帖子。为了管理这些分布式的评论文件,原始发布者需要拥有一个包含好友信息的文件,其中提供指向每位好友评论位置的链接(例如图11中的好友列表)。在这种情况下,爱丽丝在将鲍勃的评论同步到她的动态墙后,将无法删除该评论。
评论功能的最后一个问题是效率。从每位好友的云中收集评论会给系统带来相当大的开销。为了最小化这种开销,我们实现了第8节中描述的缓存方案。当用户对一条发布进行评论时,该用户会将此评论发送给所有(共同)在线好友,这些好友可以进一步传播给其他共同好友。
7 搜索优化
在线社交网络在分布式平台中另一个具有挑战性的功能是对象搜索。在个人在线社交网络中,云仅用于存储目的,而朋友的加密内容分散在多个位置。为了搜索好友的内容,需要将所有好友的墙文件下载到客户端进行搜索。这种方案效率非常低下,因为用户圈子中的内容数量可能非常高。为了解决个人在线社交网络中的这一问题,如图12所示,实现了一种索引结构。每当发布一条内容时,内容创建者会将其关键词或标签插入索引文件,并随内容一起上传至云。
考虑到一个用户可能有多个群组,单个索引文件无法处理不同的群组。因为所有者可能会向特定群组发布多媒体内容,若将其标签信息插入公共索引中,会暗示其他用户该内容的存在。因此,个人在线社交网络为每个群组维护一个独立的索引文件,并使用该群组的对称密钥进行加密,如图9所示。
由于所有好友都需要索引文件,因此需要将其分发给他们。如果用户想要搜索多媒体内容,用户需要下载每位好友的索引文件。然后在这些索引文件中搜索所需内容,这种方式效率也不高。为了提高搜索效率,个人在线社交网络(POSN)将在用户在线时,预先处理所有好友的索引文件,并在客户端创建一个新的索引结构。
8 数据分布优化
缺乏中央服务器导致需要访问多个位置以收集来自好友的帖子。在最坏情况下,用户必须检查所有好友的云位置,这可能会引入显著的开销。在POSN框架中,客户端与在线好友的客户端建立直接连接。当在线时,客户端可以交换关于非在线共同好友的信息。
由于朋友通常会形成群组(即社区),因此可以显著减少。图13展示了被监控用户的635位好友之间的网络关系,他们之间形成了多个群组。在线好友可以交换关于共同好友最新动态的信息。因此,客户端需要聚合信息的连接数量将减少。
在个人在线社交网络中,当一个客户端(例如图A中的客户端14)上线时,它会查找好友的云,查看是否有新发布的消息,并获取其通信地址(即IP地址和端口号),如果好友在线的话。如果该好友(例如客户端D)在线,则客户端可以建立直接连接,并向该好友询问共同好友的信息(如示例中的客户端C、E、F和G)。在线好友将提供其所知的共同好友信息。一旦报告了其他在线好友(例如C),新上线的用户就可以递归地向这些好友查询。此操作是仅当客户端上线时才执行。此后,无需定期检查每位好友云中的新动态消息,而是将帖子通知推送给在线好友。由于用户可能同时上线,他们需要首先在云中更新在线状态,然后查找好友以确保彼此知晓。
查询顺序很重要,因为尽早找到在线好友具有显著的好处,且可以采用多种方法。第一种方法是根据共同好友数量对好友进行排序。第二种方法是根据预期的在线时长对好友进行排序。为了实现这些方法,用户需要保存并共享相关信息。这些方法的成功率是一个研究问题,我们将在系统中尝试优化。
在图15中,我们比较了四种方法,分别是理想情况、最长在线时长、最多共同好友和随机方法,基于我们的测量数据。在图中,x轴表示当一个用户上线时其在线好友的百分比,y轴表示可以建立连接的百分比被消除。平均而言,有14.6%的好友处于在线状态,而理想情况下平均可节省76.5%的连接。优先查询最常在线的好友的启发式方法平均可节省57.9%的连接,而优先查询最多共同好友的方法平均可节省53.2%的连接。即使是随机排序,平均也能节省45.7%的连接。
图16展示了基于图13中对用户测量的结果,当用户上线时其需要下载的多媒体数据量。随着登录间隔时间的增加,用户可能从其好友处下载的数据量也随之增加。在极端情况下,我们观察到当用户约一天未登录且好友发布了大量视频。因此,个人在线社交网络不会自动下载全部多媒体内容,而是会解析最近的帖子,并在用户浏览帖子时(尤其是对于较大的视频)等待用户向下滚动以获取后续内容。
9 讨论
9.1 社会挑战
友谊可能不会永远持续,或者友谊的亲密程度可能会发生变化,因此朋友之间交换的内容也会随之改变。POSN框架应能反映好友关系状态的变化。为了减少与某位好友的信息交换程度,可以更改该好友所属的群组或多个群组。由于我们可能不希望对方察觉到取消好友关系,因此我们将所有其他好友移至使用新密钥的一个或多个新群组中。这样一来,即使被取消好友关系的人分析原始数据,也会认为没有新的帖子发布。
现实生活中另一个挑战是跟踪。要在我们的系统中跟踪某人,该跟踪者必须在现实生活中认识受害者,并且是个人在线社交网络平台上的好友。如果跟踪者只是受害者的某个好友的好友,则只能看到受害者的评论。只要跟踪者不是受害者的好友,就无法通过个人在线社交网络查看受害者的共享内容。
为了在不损害用户隐私的情况下支持第三方应用,每个用户可以在其云中为每个已授权的应用程序保存一个应用程序文件。该应用程序文件使用密钥进行加密,如同其他群组动态墙一样。应用程序将相关数据写入文件,而不会向应用程序开发者透露。此外,希望在特定应用程序中合作的好友可以交换他们的应用程序文件位置和密钥,以便进行协作或竞争。在线应用程序还可以通过在线客户端创建的套接字连接交换信息。
9.2 安全挑战
被盗设备构成安全风险。被盗设备的所有者应立即发送通知。该通知可以通过电子邮件、短信或某些自动化机制发送,以尽量减少损失。一旦收到通知,与该用户关联的每个密钥都将被更新。另一方面,应谨慎部署该机制,以防止其被用于拒绝服务攻击。因此,我们将研究一种能够提供即时通知机制且无法被用于DoS(拒绝服务)的解决方案。
最后,云服务提供商可能会跟踪谁在访问个人文件,并获取有关用户交互的信息[15,23]。请注意,为了下载内容,在线好友只需使用指向文件的直接链接,而无需登录到云服务。此外,在线用户无需连接到云服务即可交换非多媒体内容。为了防止云服务提供商进行基于IP的分析,用户可以为所管理的不同群组使用多个云服务。此外,好友可以在与云服务的通信中使用代理和匿名技术[16,19]。同样,用户在线的好友(不一定是下载加密数据者的好友)也可被用于访问云服务,从而使云服务无法确定谁正在访问该内容。
10 相关工作
我们分析了一些能够识别的去中心化在线社交网络,发现目前有几种正在使用的去中心化社交网络:Diaspora [3]、Friendica [1] 和 Retroshare [2]。
Diaspora 拥有数万名活跃用户。Diaspora 由一组节点(目前约有 130 个公开可用的节点)组成,通过这些节点实现系统的去中心化,并可通过浏览器访问。尽管个人可以部署自己的私有节点,但 Diaspora 的主要问题在于每个节点都是众多用户的中央服务器。类似地,Friendica 使用一组去中心化服务器构建社交网络平台。
Retroshare 是一个点对点PC应用程序,提供去中心化在线社交网络支持。
此外,学术界提出了多个去中心化在线社交网络,但似乎没有一个被积极使用。Cachet [27]、PeerSon [8]、Safebook [9] 和 LifeSocial [13] 构建了一个点对点(P2P)系统,其中对等节点不一定受信任。Polaris [36]、My3[25] 和 Vegas [11] 构建朋友之间的P2P网络以复制数据。Confidant [20]、Tent [4] 和 Vis‐a‐Vis [31] 通过在处理用户数据的服务器之间建立协议来构建分布式平台。Persona [6] 提出使用基于属性的加密将用户数据存储在不可信存储服务器上,并结合基于网页的在线社交网络平台。PrPl [30]允许用户使用个人或第三方服务器来存储其加密内容。
最后,还有一些非传统在线社交网络的隐私保护社交网络。皮西亚尝试为社交搜索提供一个隐私感知的点对点网络 [26]。Gossple 是一个匿名社交网络,帮助用户基于共同兴趣与其他用户建立新关系 [7]。priv.io [38] 构建了一个去中心化的基于网页的平台,以安全地共享数据。Contrail 是一个通信平台,可在去中心化社交网络中提供内容过滤 [33]。NOYB [14] 和 Lockr [34] 可集成到当前社交网络中,以保障用户在在线社交网络中的用户隐私。
好友关系建立 :提供安全功能的去中心化网络通常会更加谨慎地保护特定用户的存在不被暴露,因此寻找朋友成为一项挑战。而其他系统对此类信息的管理较为宽松,因而更容易添加更多朋友。这里存在一个权衡,即系统的隐私保护程度与用户查找和添加好友的难易程度之间的平衡。由于Diaspora和Friendica具有成员目录,因此可以轻松找到好友。在Cachet、LifeSocial和Vis‐a‐Vis中,用户可以通过分布式哈希表(DHT)来定位朋友。PeerSon、Persona、Polaris、Retroshare和 Vegas通过交换证书文件来建立友谊。在所提出的个人在线社交网络(POSN)中,我们依赖现有身份(即电子邮件地址)来交换凭证并建立好友关系。
数据存储 :根据定义,在去中心化在线社交网络中,数据不会存储在单一位置。一些应用程序以分布式方式存储数据作为安全预防措施,一些是为了促进用户之间的互连性,而另一些则是出于多种原因的结合。Diaspora 和 Friendica 将数据存储在一组服务器上,这些服务器可以是私有的。点对点系统将加密数据存储在所有对等节点中(例如 Cachet、LifeSocial 和 PeerSon),或仅存储在受信任的对等节点中(例如 My3、Safebook 和 Vegas)。Confidant、Tent 和 Vis‐a‐Vis 将数据分散存储在用户选择的服务器(可能是云服务提供商)上,但这些服务器实际上会处理用户数据。Persona 在服务器上存储数据,但仅存储加密数据。一些系统仅将数据存储在用户的个人电脑中(例如 Retroshare)或智能手机中(例如 Polaris)。在所提出的个人在线社交网络中,我们在移动设备之间构建一个点对点平台,并利用云进行加密数据存储。
内容搜索支持 :在分析的系统中,只有Confidant、Diaspora和Friendica的用户可以在自己的服务器(或Diaspora的情况下其他服务器)中搜索内容,而 Vegas用户可以通过受控的好友泛洪来搜索内容。与通常不允许搜索功能的 P2P平台不同,个人在线社交网络通过预先构建搜索索引提供加密内容搜索。
支持评论 :在分析的系统中,只有Confidant、Diaspora和Friendica允许对帖子进行评论,因为内容存储在一组服务器上。与不允许评论功能的P2P平台不同,个人在线社交网络通过系统传播评论来实现评论功能。
11 结论
在线社交网络在我们的日常生活中已变得极为重要。人们更倾向于通过在线社交网络与好友进行沟通和互动。本文提出了一种保护隐私的去中心化在线社交网络,使用户能够直接控制自己的信息。个人在线社交网络可通过安装一个应用程序并使用免费的云存储服务轻松部署。POSN平台专注于个人社区,并致力于通过加密云存储优化系统性能。手机对手机应用与云基础设施的结合,解决了点对点系统的主要局限性,即可用性问题,同时保留了点对点系统的优势,即无中央权威和可扩展性。个人在线社交网络确保交互仅在好友之间发生,第三方无法访问用户的内容或关系。
1313

被折叠的 条评论
为什么被折叠?



