具有强隐私保护的社会网络系统转让专利

申请号 : CN201711342942.8

文献号 : CN108199866B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周洁赵序琦何凌云洪良怡陈湃卓谢宇明刘功申

申请人 : 上海交通大学

摘要 :

本发明提供了一种具有强隐私保护的社会网络系统,包括:P2P网络层、API层以及APP应用层,所述API层连接了P2P网络层和APP应用层;所述P2P网络层,建立社会网络系统的去中心化对等连接;所述API层,确定应用接口和提供社会网络系统的服务功能;所述APP应用层,生成应用界面,调用API层的应用接口提供界面响应和用户交互功能。本发明基于P2P实现社会网络结构,同时具有用户信息分散存储、网络链路加密保护和发布内容策略控制等功能。本发明保障社会网络中隐私性、完整性和可用性的安全需求,在保证社会网络用户适度便利的前提下,同时保护其隐私信息的不被侵犯,并做到应用性和安全性的和谐统一。

权利要求 :

1.一种具有强隐私保护的社会网络系统,其特征在于,包括:P2P网络层、API层以及APP应用层,所述API层连接了P2P网络层和APP应用层;

其中:

所述P2P网络层,建立社会网络系统的去中心化对等连接;

所述API层,确定应用接口和提供社会网络系统的服务功能;

所述APP应用层,通过应用开发,生成应用界面,调用API层的应用接口提供界面响应和用户交互功能;

所述P2P网络层包括:数据分布式存储模块、访问控制模块、网络结构保护模块和路由算法模块;其中:所述数据分布式存储模块,将文件和聊天数据存储在分散的网络中,形成分布式存储的文件和聊天数据;

访问控制模块,保证分布式存储的文件和聊天数据的机密性和完整性,细粒度的保护用户隐私,确保连接用户可信;

网络结构保护模块,保证用户的节点信息、IP地址信息以及用户使用的数据信息的机密性,确保网络连接结构对于用户的透明性;

路由算法模块,建立用户间的连接,确保数据下载链路建立,保证分布式存储数据的可用性;

还包括如下任一项或任多项:

-所述分布式存储的聊天数据包括在P2P网络中的聊天记录副本文件和存储在用户本地的聊天记录文件,其中:所述在P2P网络中的聊天记录副本文件,分布式存储于一定数量的节点上,该部分聊天数据不受用户自身控制;

所述存储在用户本地的聊天记录文件,脱离P2P网络,能够遭受到更改或删除;

-访问控制模块在保证用户分布式存储的文件的机密性时,通过对称密钥加密保证文件的机密性,同时由非对称密钥通过协议方式进行文件传输前的身份验证;

所述API层包含如下功能模块:

用户注册模块、用户验证模块、用户登入退出模块、用户搜索模块、用户连接模块、即时通讯模块、记录验证模块、黑名单模块、分布式存储模块、消息发布模块;

其中:

所述用户注册模块,填写导入用户数据,建立新用户并加入P2P网络层中成为新节点,并告知其他节点该新节点的建立;

所述用户验证模块,对用户账号密码进行核验,并对好友的请求和连接的建立进行身份核验,对可信用户发布公钥;

所述用户登入退出模块,对P2P网络层在线节点的添加和删除进行操作,对于即将下线的节点进行分布式存储信息在线完整度的核验,保证分布式存储信息的可用性;所述分布式存储信息包括:分布式存储的文件和聊天数据;

所述用户搜索模块,在用户A选定用户B进行即时通讯后,在P2P网络中迭代查找用户B,并在获取用户B的地址后再建立二者之间的链路;

所述用户连接模块,在用户A获取用户B的IP地址和监听端口信息后,与用户B建立连接;

所述即时通讯模块,在用户A和用户B建立通讯链路后,进行消息的发送与接收;

所述记录验证模块,在用户A和用户B建立连接后,对于用户A和用户B之前的存储在用户本地的聊天记录文件和在P2P网络中的聊天记录副本文件进行Md5码校验,比对其数据的完整性和保证聊天记录的不可抵赖性;

所述黑名单模块,保证用户A能够阻止用户B进行的与用户A建立连接的尝试;

所述分布式存储模块,保证只有授权用户能够访问和下载存储于本地的分布式存储数据,确保自身存储于其他用户机器中的文件和聊天数据是加密和完整的;

所述消息发布模块,对设定范围的选定对象进行消息通告,其中选定对象拥有一个特定公私钥对,使用公钥加密广播信息,只有获取过拥有对应私钥的用户才能得知信息的真实内容。

2.根据权利要求1所述的具有强隐私保护的社会网络系统,其特征在于,还包括如下任意一项或任意多项:-所述用户搜索模块,在线过程中保留一定时间戳的未下线好友IP地址和端口信息,所有过程中好友节点的相关信息相对于用户自身具有全部的透明性,保证节点信息的隐私性;

-所述用户连接模块,连接过程对于用户透明,对方节点的IP地址和端口信息不公开,程序后台自动响应和连接,用户不可见相关信息;

-所述即时通讯模块,发送和接收的信息在TCP链路中为通过接收方公钥加密的信息,接收后使用私钥进行解密,因此在链路中传输内容保证了消息的机密性。

3.根据权利要求1所述的具有强隐私保护的社会网络系统,其特征在于,所述记录验证模块在用户A和用户B连接并即时通讯时,首先对于用户A和用户B在此之前的存储在用户本地的聊天记录文件和在P2P网络中的聊天记录副本文件进行Md5码的对比校验,对于用户A和用户B是否存在更改或删除聊天记录的行为进行检验,通过检测存储在用户本地的聊天记录文件的完整性并通过界面响应告知用户A和用户B对方存储在用户本地的聊天记录文件的正确性。

4.根据权利要求1所述的具有强隐私保护的社会网络系统,其特征在于,所述APP应用层,其中:应用开发形式包括ios的APP、安卓平台的手机APP、windows应用软件、ubuntu应用软件和/或mac应用软件;

应用形式包括界面操作和终端输入输出;

应用开发中通过调用API层的各功能模块进行功能开发和应用。

说明书 :

具有强隐私保护的社会网络系统

技术领域

[0001] 本发明涉及社交网络系统,具体地,涉及一种基于P2P网络的具有强隐私保护的社会网络系统。

背景技术

[0002] 步入信息时代,在线社交网络逐渐成为了网络的主要载体,使用社交网络软件与他人交流聊天、获取信息和发布信息成为了现代社会中的主流生活方式。而在社会网络领域,由于在线社会网络的复杂结构、用户范围大和数据流量大的特性,隐私和便利如何均衡是两难问题。
[0003] 如今主流的在线社会网络系统通常采用集中式的服务模式,使得服务器成为整个架构的核心组成,用户个人信息数据、聊天记录和社交动态数据都通过中心服务器进行转发和存储,这使得用户信息暴露于有权访问服务器的人员面前,集中式大数据的模式更给攻击者提供了方便,即使未获得用户所有的信息,通过数据挖掘和交叉对比的方式就能够获得用户的有关信息,因此在集中式社交网络架构中数据中心和服务器的安全则成为了整个架构中安全需求的核心,而其一旦被攻击者入侵所造成的海量数据丢失所带来的损失和后果则是难以估计的。
[0004] 因此,随着用户对个人信息和隐私保护的意识增强,分布式的社交网络也逐渐开始形成。分布式社交网络的发展中,得到了国内网广泛的探究,成型的模型和技术有国外的PeerSon和Safbook,国内的WebService等。可分为结构化的分布式社交网络、非结构化的分布式社交网络和混合式在线社交网络。结构化的分布式社交网络将部分计算机新能较高、储存空间大、宽带频域宽的节点设置为超级用户节点来维护其他用户节点的数据转发和存储。非结构化分布式社交网络取消了超级用户节点的概念,所有用户节点共同维护社交网络数据的存储和运行。混合式在线社交网络结合了集中式和分布式的特点,当集中式的服务器出现问题时转为分布式的服务方法,建立临时的分布式网络。
[0005] 在分布式网络中不通过中心服务器来进行数据传递,而是由用户之间建立点对点的通信和数据传递,由此用户的个人信息和隐私数据将会分布式的存储在社交网络中,但是这种方式又难以保证对于该分布式网络中用户行为的有效管理,用户聊天的信息难以进行追溯,且缺乏进行细粒度访问控制的意识。
[0006] 因此,如何在通过分布式网络保证用户个人信息的不公开和隐私的同时确保用户数据的完整性、机密性和可用性以及不可抵赖性是亟待解决的问题。

发明内容

[0007] 针对现有技术中存在的上述不足,本发明的目的是提供一种具有强隐私保护的社会网络系统,在脱离集中式中心服务器和数据中心的同时,提供分布式存储中的细粒度访问控制、数据完整性保护、网络结构保护和数据不可抵赖性保护,提升用户在分布式社交网络系统中隐私保护和个人信息的安全。
[0008] 为实现上述目的,本发明是通过以下技术方案实现的。
[0009] 根据本发明的一个方面,提供了一种具有强隐私保护的社会网络系统,包括:P2P网络层、API层以及APP应用层,所述API层连接了P2P网络层和APP应用层;
[0010] 其中:
[0011] 所述P2P网络层,建立社会网络系统的去中心化对等连接;
[0012] 所述API层,确定应用接口和提供社会网络系统的服务功能;
[0013] 所述APP应用层,通过应用开发,生成应用界面,调用API层的应用接口提供界面响应和用户交互功能。
[0014] 优选地,所述P2P网络层包括数据分布式存储模块、访问控制模块、网络结构保护模块和路由算法模块;其中:
[0015] 所述数据分布式存储模块,将文件和聊天数据存储在分散的网络中,形成分布式存储的文件和聊天数据;
[0016] 访问控制模块,保证分布式存储的文件和聊天数据的机密性和完整性,细粒度的保护用户隐私,确保连接用户可信;
[0017] 网络结构保护模块,保证用户的节点信息、IP地址信息以及用户使用的数据信息的机密性,确保网络连接结构对于用户的透明性;
[0018] 路由算法模块,高效正确的建立用户间的连接,确保数据下载链路建立,保证分布式存储数据的可用性。
[0019] 优选地,还包括如下任一项或任多项:
[0020] -所述分布式存储的聊天数据包括在P2P网络中的聊天记录副本文件和存储在用户本地的聊天记录文件,其中:
[0021] 所述在P2P网络中的聊天记录副本文件,分布式存储于一定数量的节点上,该部分聊天数据不受用户自身控制;
[0022] 所述存储在用户本地的聊天记录文件,脱离P2P网络,能够遭受到更改或删除;
[0023] -访问控制模块在保证用户分布式存储的文件的机密性时,通过对称密钥加密保证文件的机密性,同时由非对称密钥通过协议方式进行文件传输前的身份验证。
[0024] 优选地,所述API层包含如下功能模块:
[0025] 用户注册模块、用户验证模块、用户登入退出模块、用户搜索模块、用户连接模块、即时通讯模块、记录验证模块、黑名单模块、分布式存储模块、消息发布模块;
[0026] 其中:
[0027] 所述用户注册模块,填写导入用户数据,建立新用户并加入P2P网络层中成为新节点,并告知其他节点该新节点的建立;
[0028] 所述用户验证模块,对用户账号密码进行核验,并对好友的请求和连接的建立进行身份核验,对可信用户发布公钥;
[0029] 所述用户登入退出模块,对P2P网络层在线节点的添加和删除进行操作,对于即将下线的节点进行分布式存储信息在线完整度的核验,保证分布式存储信息的可用性;所述分布式存储信息包括:分布式存储的文件和聊天数据;
[0030] 所述用户搜索模块,在用户A选定用户B进行即时通讯后,在P2P网络中迭代查找用户B,并在获取用户B的地址后再建立二者之间的链路;
[0031] 所述用户连接模块,在用户A获取用户B的IP地址和监听端口信息后,与用户B建立连接;
[0032] 所述即时通讯模块,在用户A和用户B建立通讯链路后,进行消息的发送与接收;
[0033] 所述记录验证模块,在用户A和用户B建立连接后,对于用户A和用户B之前的存储在用户本地的聊天记录文件和在P2P网络中的聊天记录副本文件进行Md5码校验,比对其数据的完整性和保证聊天记录的不可抵赖性;
[0034] 所述黑名单模块,保证用户A能够阻止用户B进行的与用户A建立连接的尝试;
[0035] 所述分布式存储模块,保证只有授权用户能够访问和下载存储于本地的分布式存储数据,确保自身存储于其他用户机器中的文件和聊天数据是加密和完整的;
[0036] 所述消息发布模块,对设定范围的选定对象进行消息通告,其中选定对象拥有一个特定公私钥对,使用公钥加密广播信息,只有获取过拥有对应私钥的用户才能得知信息的真实内容。
[0037] 优选地,还包括如下任意一项或任意多项:
[0038] -所述用户搜索模块,在线过程中保留一定时间戳的未下线好友IP地址和端口信息,所有过程中好友节点的相关信息相对于用户自身具有全部的透明性,保证节点信息的隐私性;
[0039] -所述用户连接模块,连接过程对于用户透明,对方节点的IP地址和端口信息不公开,程序后台自动响应和连接,用户不可见相关信息;
[0040] -所述即时通讯模块,发送和接收的信息在TCP链路中为通过接收方公钥加密的信息,接收后使用私钥进行解密,因此在链路中传输内容保证了消息的机密性。
[0041] 优选地,当用户A和用户B连接并即时通讯时,首先在记录验证模块中对于用户A和用户B在此之前的存储在用户本地的聊天记录文件和在P2P网络中的聊天记录副本文件进行Md5码的对比校验,对于用户A和用户B是否存在更改或删除聊天记录的行为进行检验,通过记录验证模块检测存储在用户本地的聊天记录文件的完整性并通过界面响应告知用户A和用户B对方存储在用户本地的聊天记录文件的正确性。
[0042] 优选地,所述APP应用层,其中:
[0043] 应用开发形式包括ios的APP、安卓平台的手机APP、windows应用软件、ubuntu应用软件和/或mac应用软件;
[0044] 应用形式包括界面操作和终端输入输出;
[0045] 应用开发中通过调用API层的各功能模块进行功能开发和应用。
[0046] 与现有技术相比,本发明具有如下的有益效果:
[0047] 采用本发明提供的具有强隐私保护的社会网络系统,可以脱离集中式中心服务器和数据中心的传统社交网络系统,大大降低个人信息和隐私数据暴露的危险,确保非授权用户无法得知或篡改分布式存储文件的内容,保证聊天数据存储的不可抵赖性,加强分布式社交网络中的用户有效管理和网络结构透明性,具体有如下:
[0048] 1、脱离传统集中式的社交网络系统
[0049] 现有的主流社交网络软件基于集中式中心服务器的架构,通过中心服务器将用户数据进行转发存储,大数据的用户信息存储于数据中心,所有用户的交互信息由中心服务器来进行管理转发,这样集中式的方式将攻击者的目标聚焦在了数据中心和中心服务器上,且大数据时代中的数据挖掘和数据分析可将用户个人信息数据最大化的得以利用。因此选用分布式的社交网络系统,将用户的信息数据分散在网络中,可以大大降低数据暴露的危险性。
[0050] 2、细粒度的访问控制
[0051] 用户分布式存储的文件面向其他用户进行权限控制,只有授权用户才能访问或下载。聊天记录文件分散加密存储因而他人不可见,但系统会进行Md5码计算来和本地的聊天记录文件进行比对。建立好友机制,对于黑名单内的用户禁止建立连接。
[0052] 3、网络结构透明性
[0053] 用户节点的信息不对外公布,所有连接操作中获取的对方节点信息对用户不可见,网络连接结构信息等均对用户透明。

附图说明

[0054] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0055] 图1为系统设计框图;
[0056] 图2为路由机制原理图;
[0057] 图3为登录界面图;
[0058] 图4为即时通讯界面图;
[0059] 图5为聊天数据比对告知图。

具体实施方式

[0060] 下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
[0061] 实施例
[0062] 本实施例提供了一种具有强隐私保护的社会网络系统,包括:P2P网络层、API层以及APP应用层,所述API层连接了P2P网络层和APP应用层;
[0063] 其中:
[0064] 所述P2P网络层,建立社会网络系统的去中心化对等连接,包含数据分布式存储模块、访问控制模块、网络结构保护模块和路由算法模块;
[0065] 所述API层,确定应用接口和提供社会网络系统服务功能,包含用户注册模块、用户验证模块、用户登入退出模块、用户搜索模块、用户连接模块、即时通讯模块、记录验证模块、黑名单模块、分布式存储模块、消息发布模块;
[0066] 所述APP应用层,通过应用开发,生成应用界面,调用API接口提供界面响应和用户交互功能。
[0067] 进一步地,所述P2P网络层包括数据分布式存储模块、访问控制模块、网络结构保护模块和路由算法模块,其中:
[0068] 所述数据分布式存储模块,将文件和聊天数据存储在分布式网络中,形成分布式存储的文件和聊天数据。在本实例中,分布式网络的实现采用了分布式散列表(DHT)的技术,并采取了Kademlia协议实现,对于各种数据采用键-值对的方式进行存取;
[0069] 访问控制模块,保证分布式存储的文件和聊天数据的机密性和完整性,细粒度的保护用户隐私,确保连接用户可信。在本实例中,用户节点在接入DHT网络时,首先要进行身份验证。身份的验证采用加密的私钥来进行,而每个用户的标识ID采用对应公钥的哈希值。对于某些隐私数据,采用公钥加密后并存放在DHT网络上,只有拥有对应私钥的用户才能获取并解密出原文;
[0070] 网络结构保护模块,保证用户的节点信息、IP地址信息等用户相关的信息的机密性,确保网络连接结构对于用户的透明性。在本实例中,P2P网络架设在公用的Internet网络上,并且对于每一个节点采用NodeID来表示,并且节点之间的关系在逻辑上可以用二叉树来描述,是与Internet的网络结构解耦的;
[0071] 路由算法模块,高效正确的建立用户间的连接,确保数据下载链路建立,保证分布式存储数据的可用性。在本实例中,前述提到P2P网络的逻辑结构为二叉树结构,路由时,将二叉树进行拆分,从根节点开始,将不包含自己的子树一一拆分出来。对于每一个节点而言,完成子树拆分后会得到n个子树,对于每一个子树,选取K个节点作为该子树的代表节点,记录其信息。在进行路由时,则可以根据记录的节点进行递归查询,获取每一个节点的路由信息。
[0072] 进一步地,所述API层包含用户注册模块、用户验证模块、用户登入退出模块、用户搜索模块、用户连接模块、即时通讯模块、记录验证模块、黑名单模块、分布式存储模块、消息发布模块,其中:
[0073] 所述用户注册模块,填写导入用户数据,建立新用户并加入P2P网络层中成为新节点,告知其他节点该节点的建立。在本实例中,底层网络节点的加入由P2P网络提供的接口完成,主要完成的工作为网络节点与用户账户的关联,需要在网络中记录对应身份标识ID的相关账户信息;
[0074] 所述用户验证模块,对用户账号密码进行核验,并对好友的请求和连接的建立进行身份核验,对可信用户发布公钥。在本实例中,对主体用户的身份验证,每一个注册时分发的密钥代表了一个用户,私钥采用AES对称加密算法进行加密,通过提供私钥的解密口令,来验证用户的身份,并以此来加入网络;
[0075] 所述用户登入退出模块,对P2P网络在线节点的添加和删除进行操作,对于即将下线的节点进行分布式存储信息在线完整度的核验,保证分布式存储信息的可用性。在本实例中,加入DHT网络需要与任一已在网络中的节点进行连接,需要提供一个永久开放的固定的BOOTSTRAP节点来提供对网络的接入,在连接BOOTSTARP节点后即可根据Kademlia协议加入网络;
[0076] 所述用户搜索模块,在用户A选定用户B进行通讯后,在P2P网络中迭代查找用户B,并在获取用户B的相关信息。在本实例中,用户信息都存储在DHT网络中,通过DHT网络中的键值对可以搜索到相应用户的信息;
[0077] 所述用户连接模块,在用户A获取用户B的IP地址和监听端口信息后,与用户B建立连接。在本实例中,用户A和用户B通过DHT网络作为中介来完成,借由DHT网络中对应每个用户唯一的键值对来完成用户二者间的连接;
[0078] 所述即时通讯模块,在用户A和用户B建立通讯链路后,进行消息的发送与接收。在本实例中,用户A和用户B之间的通信通过整个DHT网络为中介来完成,每一个用户都拥有一个唯一的键值对,用来接收其他用户向其传递的信息,传递的信息包括发送者身份标识、信息内容等数据。以此方式来完成用户之间的通信;
[0079] 所述记录验证模块,在用户A和用户B建立连接后,对于用户A和用户B之前的聊天记录本地文件和网络中分布式存储的聊天记录副本文件进行Md5码校验,比对其数据的完整性和保证聊天记录的不可抵赖性。在本实例中,聊天信息内容由消息接收方生成的密钥进行加密分布存储于对应键值的节点上,当双方进行聊天记录比对时,对于分布存储在对应节点上的聊天记录副本和存储在消息发送方和消息接收方端的聊天记录文件进行Md5码的比对,可由此推断用户双方是否存在着聊天消息内容上的篡改,由此可得逞聊天数据的不可抵赖性;
[0080] 所述黑名单模块,保证用户A能够阻止用户B进行的与用户A建立连接的尝试。在本实例中,在用户搜索模块前加入一个起到过滤功能的黑名单模块,若进行搜索的用户处在所搜索的用户的黑名单内,则直接不进行实际搜索模块的调用,而是直接返回结束;
[0081] 所述消息发布模块,对一定范围的选定对象进行消息通告,其中对象拥有一个特定公私钥对,使用公钥加密广播信息,只有获取过拥有对应私钥的用户才能得知信息的真实内容。在本实例中,一组公私钥对标识出一组用户群体,他们之间相互发布的消息、动态是相互可见的,而处在此群组以外的用户则无法解密也无法看到其中的信息。
[0082] 进一步地,应用开发形式可包括ios的APP、安卓平台的手机APP、windows应用软件、ubuntu应用软件、mac应用软件。应用形式可包括界面操作和终端输入输出。应用开发中通过调用API层的各功能进行功能开发和应用。
[0083] 下面结合附图对本实施例进一步描述。
[0084] 如图1所示,本实施例提供的强隐私保护的新型社会网络系统,包括三层设计,分别是P2P网络层、API层和应用层。其中,在图中右下至上为从底层架构到APP应用使用的层次递进,API层是三层的衔接。
[0085] 通过界面操作进行用户登录的操作,调用用户验证API,通过验证解密私钥正确后,通过DHT提供的接口接入P2P网络。首先跟预设的BOOTSTRAP节点建立连接,然后随机生成一个散列值作为NodeID,向BOOTSTRAP节点发出查询请求,建立起自己的路由表。
[0086] 登录后,用户则作为P2P网络的节点存在,此时可以进行一些应用所提供的操作,比如与为好友关系的另一名用户进行文字通信,在发送一条消息时,首先调用API进行用户验证,验证用户的身份标识以及好友关系(这些信息都存储在DHT网络中),验证通过后,调用即时通讯的API,通过底层DHT网络所提供的内容存储功能,将发送的文字内容、发送者的身份标识和时戳等内容纪录在DHT网络中目标用户的键值对上,而目标用户则始终在监听自己的键值对上的内容变化,对于新增的记录,对发送者、发送内容和发送时间进行解析后,呈现在程序的UI上。
[0087] 下面进行模块详述。
[0088] a.分布式存储模块
[0089] 数据分布式存储模块用于将文件和聊天数据存储在分散分布式网络中,分布式网络的实现采用了分布式散列表(DHT)的技术,并采取了Kademlia协议实现,对于各种数据采用键-值对的方式进行存取。
[0090] 在保存数据时,当某个节点得到了新加入的数据(K/V),它会先计算自己与新数据的key之间的“距离”;然后再计算它所知道的其它节点与这个key的距离。如果计算下来,自己与key的距离最小,那么这个数据就保持在自己这里,否则的话,把这个数据转发给距离最小的节点。收到数据的另一个节点,也采用上述过程进行处理(递归处理)。
[0091] 在获取数据时,当某个节点接收到查询数据的请求(key),它会先计算自己与key之间的“距离”;然后再计算它所知道的其它节点与这个key的距离。如果计算下来,自己与key的距离最小,那么就在自己这里找有没有key对应的value。有的话就返回value,没有的话就报错。否则的话,把这个数据转发给距离最小的节点。收到数据的另一个节点,也采用上述过程进行处理(递归处理)。
[0092] b.路由算法模块
[0093] DHT网络的逻辑结构为二叉树结构,当一个节点在建立路由表时,从根节点开始,逐层把不包含自己的子树拆分出来,得到n个子树;对于每个子树,如果知道每一个子树中的一个节点,就可以利用这n个节点进行递归路由,从而能够达到整个二叉树。
[0094] 由于分布式网络可能面临节点频繁上下线的问题,每个子树只记录一个节点显然不能满足健壮性的要求,所以对于每个子树记录其中的k个节点。要注意有的子树节点数量可能不足k个,所以对于此子树记录的节点可能达不到k个。
[0095] c.(细粒度)访问控制模块
[0096] 对于DHT网络中存储的数据,需要进行精细的访问控制。访问控制模块用于保证分布式存储的文件和聊天数据的机密性和完整性,细粒度的保护用户隐私,确保连接用户可信。用户节点在接入DHT网络时,首先要进行身份验证。身份的验证采用加密的私钥来进行,而每个用户的标识ID采用对应公钥的哈希值。对于某些隐私数据,采用公钥加密后并存放在DHT网络上,只有拥有对应私钥的用户才能获取并解密出原文;对于用户使用即时通讯所产生的聊天记录,分别采用各自接收方用户的密钥进行加密并存储在对应的键下面。
[0097] 采用本发明提供的强隐私保护的新型社会网络系统,可以脱离集中式中心服务器和数据中心的传统社交网络系统,大大降低个人信息和隐私数据暴露的危险,确保非授权用户无法得知或篡改分布式存储文件的内容,保证聊天数据存储的不可抵赖性,加强分布式社交网络中的用户有效管理和网络结构透明性,具体有如下优点:
[0098] a.脱离传统集中式的社交网络系统
[0099] 现有的主流社交网络软件基于集中式中心服务器的架构,通过中心服务器将用户数据进行转发存储,大数据的用户信息存储于数据中心,所有用户的交互信息由中心服务器来进行管理转发,这样集中式的方式将攻击者的目标聚焦在了数据中心和中心服务器上,且大数据时代中的数据挖掘和数据分析可将用户个人信息数据最大化的得以利用。因此选用分布式的社交网络系统,将用户的信息数据分散在网络中,可以大大降低数据暴露的危险性。
[0100] b.细粒度的访问控制
[0101] 用户分布式存储的文件面向其他用户进行权限控制,只有授权用户才能访问或下载。聊天记录文件分散加密存储因而他人不可见,但系统会进行Md5码计算来和本地的聊天记录文件进行比对。建立好友机制,对于黑名单内的用户禁止建立连接。
[0102] c.网络结构透明性
[0103] 用户节点的信息不对外公布,所有连接操作中获取的对方节点信息对用户不可见,网络连接结构信息等均对用户透明。
[0104] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。