点对点数据获取方法、系统及服务器的制作方法

文档序号:7768973阅读:192来源:国知局
专利名称:点对点数据获取方法、系统及服务器的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及一种点对点数据获取方法、系统及服务器。
背景技术
现有点对点(Peer to Peer ;简称为P2P)下载是请求节点向服务器请求节点列 表,在得到节点列表后向节点列表中的源节点请求数据下载,从连接建立成功的源节点下 载数据;同时,该请求节点也会作为源节点向其他节点提供数据。在数据交换过程中,如果 非授权节点得到源节点的地址,直接向源节点请求数据下载,则该非授权节点也会得到合 法的数据内容,即这种数据交换过程存在安全问题。针对上述问题,现有技术采用非对称密钥对交互过程中的数据进行加密,以保证 数据安全。常见的有一次一密的加密方式和采用一个非对称密钥对多个数据块同时加密的 方式。采用这种非对称密钥的加密方式,请求节点收到加密数据后,需要向服务器请求解密 数据块(即解密密钥),在收到服务器的解密数据块后对加密数据进行解密,获取数据。该 方式在数据传输过程中存在大量请求节点向服务器请求解密数据块的交互过程,降低了数 据传输的效率。另外,现有技术中还有采用对称密钥对交互过程中的数据进行加密,以保证数据 安全的方式。目前在采用对称密钥的方法中,对称密钥包含在种子文件中,密钥由种子服务 器预先导入到P2P网络中;在传输过程中,文件被分为片断,每个片断采用预先导入的密钥 进行加密,请求节点采用预先导入的密钥进行解密,以获取数据。与非对称密钥方式相比, 该方式无需请求节点与种子服务器进行交互,提高了传输效率,但是,对于某一固定文件来 说,密钥是不变的,如果有授权请求节点散布了该密钥或被非法用户破解了该密钥,则该文 件的分发将不受控,因此,在该加密方式下文件同样存在安全隐患。为了进一步提高数据传 输的安全性,现有技术又提出一种新的对称密钥方法,即对同一片断用不同的密钥来加密, 源节点将用不同密钥加密的片断分别发送给不同的请求节点,这样就要求源节点记录每个 请求节点和每个片断对应密钥的关系并把该对应关系发送给请求节点,这样请求节点在收 到加密片断后可以采用正确的密钥来解密片断获取数据。由于在P2P网络中,每个节点既 是请求节点又是源节点,因此,每个节点都要存储大量片断、密钥和请求节点的对应关系, 当P2P网络中节点数量较多时,这种方式会降低节点的处理能力,且对节点的要求较高。由上述分析可见现有P2P数据加密方式在安全性问题和其他传输性能问题(例 如传输效率问题或节点处理能力问题)上无法做到较好的平衡,因此,在保证P2P系统传输 性能的同时保证数据传输的安全性的问题有待进一步解决。

发明内容
本发明提供一种点对点数据获取方法、系统及服务器,用以在保证P2P系统传输 性能的同时,保证数据传输的安全性。本发明提供一种点对点数据获取方法,包括
4
源节点根据服务器下发的初始密钥,加密内容数据的第一数据片断形成第一密文 片断,并将所述第一密文片断发送给请求节点;所述服务器至少向所述请求节点和所述源节点发送一次第一密钥更新消息,所述 第一密钥更新消息包括第一更新密钥;所述源节点根据所述第一更新密钥加密所述内容数据的第二数据片断,并在所述 第二数据片断中添加密钥更新标识,形成第二密文片断,并向所述请求节点发送所述第二 密文片断;所述请求节点接收所述第二密文片断,采用所述密钥更新标识对应的第一更新密 钥解密所述第二密文片断,以获取所述内容数据。本发明提供一种服务器,包括第一发送模块,用于向源节点和请求节点发送初始密钥,以使所述源节点根据所 述初始密钥加密内容数据的第一数据片断形成第一密文片断,并使所述请求节点根据所述 初始密钥解密所述第一密文片断;第二发送模块,用于在所述第一发送模块发送所述初始密钥后,至少向所述请求 节点和所述源节点发送一次第一密钥更新消息,所述第一密钥更新消息包括第一更新密 钥,以使所述源节点根据所述第一更新密钥加密所述内容数据的第二数据片断形成第二密 文片断,并使所述请求节点根据所述第一更新密钥解密所述第二密文片断,以获取所述内 容数据。本发明提供一种点对点数据获取系统,包括本发明提供的任一服务器,还包括源 节点和请求节点;所述请求节点,用于接收所述服务器发送的第一密钥更新消息,所述第一密钥更 新消息包括第一更新密钥;并用于接收所述源节点发送的第一密文片断和第二密文片断, 并根据所述第一更新密钥解密所述第二密文片断,以获取内容数据;所述源节点,用于接收所述服务器发送的所述初始密钥和所述第一密钥更新消 息,根据所述初始密钥加密所述内容数据的第一数据片断形成所述第一密文片断和根据所 述第一更新密钥加密所述内容数据的第二数据片断,并在所述第二数据片断中添加密钥更 新标识形成所述第二密文片断,并将所述第一密文片断和所述第二密文片断发送给所述请 求节点。本发明提供的点对点数据获取方法、系统及服务器,在请求节点向源节点请求获 取内容数据的过程中,由服务器至少向源节点和请求节点发送一次携带更新密钥的密钥更 新消息,由源节点根据更新密钥对接收密钥更新消息之后的数据片断进行加密并携带密钥 更新标识,而请求节点根据密钥更新标识采用相应的更新密钥解密加密后的数据片断,最 终获取内容数据。在本发明技术方案中,同一内容数据的不同数据片断可采用不同的密钥 进行加密,保证了数据传输的安全性;而不同密钥是由服务器主动向请求节点和源节点下 发的,请求节点无需与服务器进行密钥交互保证了数据传输效率;另外,在本发明技术方案 中源节点通过在发送的密文片断中添加密钥更新标识,使请求节点识别相应密钥对密文片 断进行解密,各节点无需存储不同密钥、数据片断以及其他节点之间的对应关系,对节点的 处理能力要求较低,易于实施。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1为本发明实施例一提供的P2P数据获取方法的流程图;图2为本发明实施例二提供的P2P数据获取方法的流程图;图3为本发明实施例提供的服务器向请求节点和源节点发送第一密钥更新消息 的方法流程图;图4为本发明实施例三提供的P2P数据获取方法的流程图;图5为本发明实施例提供的服务器的一种结构示意图;图6为本发明实施例提供的服务器的又一种结构示意图;图7为本发明实施例提供的服务器的另一种结构示意图;图8为本发明实施例提供的P2P数据获取系统的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例一提供的P2P数据获取方法的流程图。如图1所示,本实施 例的方法包括步骤11、源节点根据服务器下发的初始密钥,加密内容数据的第一数据片断形成 第一密文片断,并将第一密文片断发送给请求节点;其中,内容数据是请求节点请求获取的信息。在P2P数据传输过程中,由源节点将 内容数据划分为多个数据片断进行传输。在请求节点与源节点建立连接之前,服务器向源 节点和请求节点下发加密数据片断用的密钥(即初始密钥),在本实施例中采用对称密钥 方式来加密数据片断,因此,请求节点和源节点的密钥相同。其中,第一数据片断是指源节 点采用初始密钥所加密的数据片断,其可以包括一个数据片断也可以包括多个数据片断。步骤12、服务器至少向请求节点和源节点发送一次第一密钥更新消息,所述第一 密钥更新消息包括第一更新密钥;该步骤具体在请求节点向源节点请求获取内容数据的过程中实施,即在源节点根 据初始密钥加密第一数据片断形成第一密文片断并发送给请求节点之后实施。其中,第一 密钥更新消息是指服务器在请求节点向源节点请求获取内容数据的过程中下发的密钥更 新消息,主要用于使源节点对同一内容数据的不同数据片断采用不同密钥加密,提高数据 片断传输的安全性。具体的,服务器根据一定的策略通过密钥更新消息向请求节点和源节 点发送更新密钥;其中服务器所依据的策略可以是定时策略,即每隔一定实现就下发一次 密钥更新消息;也可以是次数策略,即针对每个内容数据设定下发密钥更新消息的总次数, 但不限定每次发送的时间;还可以是针对不同内容数据而特殊设定的下发策略,对此本实施例不做限定。步骤13、源节点根据第一更新密钥加密内容数据的第二数据片断,并在第二数据 片断中添加密钥更新标识,形成第二密文片断,并向请求节点发送第二密文片断;其中,当源节点接收到服务器下发的密钥更新消息后,解析获取其中的更新密钥; 根据预先约定的规则,源节点或者需要用更新密钥对后续数据片断进行加密,此时,源节点 采用更新密钥对接收密钥更新消息时刻之后要发送的数据片断进行加密,同时在数据片断 中添加密钥更新标识,形成密文片断,并将密文片断发送给请求节点。其中,密钥更新标识 用于使请求节点获知从哪个密文片断开始,需要采用更新密钥对密文片断进行解密,来获 取数据片断;且在服务器下发多次密钥更新消息的情况下,该密钥更新标识还用于使请求 节点获知使用哪个更新密钥对相应密文片断进行解密,即该密钥更新标识同时标识采用更 新密钥开始加密的数据片断、采用更新密钥解密的密文片断以及所采用的更新密钥之间的 映射关系。其中,第二数据片断是指采用更新密钥加密的数据片断,其可以包括一个数据片 断也可以包括多个数据片断;另外,对于服务器下发多次密钥更新消息的情况,当下一次密 钥更新消息到来时,当前密钥更新消息中的更新密钥可视为初始密钥,因此,采用下一次密 钥更新消息中的更新密钥加密的数据片断也是第二数据片断,即两次密钥更新消息之间的 数据片断均属于第二数据片断,根据第二数据片断形成的密文片断即为第二密文片断。步骤14、请求节点接收第二密文片断,采用密钥更新标识对应的第一更新密钥解 密第二密文片断,以获取内容数据。请求节点接收到第二密文片断之后,根据第二密文片断中携带的密钥更新标识获 取相应的更新密钥进行解密,获取第二数据片断;同时,对于第一密文片断,请求节点会采 用初始密钥进行解密,获取第一数据片断,并最终获取整个内容数据。其中,在本实施例中,请求节点可以在每接收到一个密文片断(包括第一密文片 断和第二密文片断)时,就采用相应的密钥进行解密获取数据片断,并最终获取整个内容 数据;请求节点也可以在接收到所有密文片断之后,对携带密钥更新标识的密文片断根据 密钥更新标识采用相应的更新密钥进行解密,对未携带密钥更新标识的密文片断采用初始 密钥进行解密,并最终获取整个内容数据。本实施例的P2P数据获取方法,在请求节点向源节点请求获取内容数据的过程 中,由服务器至少向源节点和请求节点发送一次携带更新密钥的密钥更新消息,由源节点 根据更新密钥对接收密钥更新消息之后的数据片断进行加密并携带密钥更新标识,而请求 节点根据密钥更新标识采用相应的更新密钥解密加密后的数据片断,最终获取内容数据。 在本实施例中,同一内容数据的不同数据片断可采用不同的密钥进行加密,保证了数据传 输的安全性;而不同密钥是由服务器主动向请求节点和源节点下发的,请求节点无需与服 务器进行密钥交互保证了数据传输效率;另外,在本实施例中,源节点通过在发送的密文 片断中添加密钥更新标识,使请求节点识别相应密钥对密文片断进行解密,各节点无需存 储不同密钥、数据片断以及其他节点之间的对应关系,对节点的处理能力要求较低,易于实 施。 其中,在上述实施例中,为了进一步提高数据传输的安全性,服务器可以提高向请 求节点和源节点发送密钥更新消息的频率,最佳可以达到每个数据片断均采用不同的密钥
7来加密。图2为本发明实施例二提供的P2P数据获取方法的流程图。本实施例基于实施例 一实现,如图2所示,本实施例的方法包括步骤21、请求节点向服务器发送节点列表请求,所述节点列表请求包括内容数据 fn息;当请求节点有需要获取的内容数据时,首先向服务器发送节点列表请求,以获取 可提供服务的、有资源的节点信息。其中,内容数据信息可以为内容数据的名称、链接地址 数据或部分内容等。其中,内容数据可以是一部电影、一首音乐、一篇文章等,相应的内容数 据信息可以为影片名、歌曲名、文章名称,还可以是影片导演、歌手名字、作者姓名等。服务 器根据内容数据信息为请求节点获取能为请求节点提供服务的节点列表。步骤22、服务器向请求节点返回节点列表,所述节点列表中包括内容数据信息对 应的源节点信息;当服务器获取到可为请求节点提供服务器的源节点时,通过节点列表的形式 向请求节点返回各源节点的信息;其中,源节点的信息可以是源节点的统一资源定位 符(Uniform/Universal Resource Locator ;简称为URL)地址或源节点的网际协议 (Internet Protocol ;简称为=IP)地址等。步骤23、服务器向请求节点和源节点发送初始密钥;当服务器向请求节点返回节点列表之后,向请求节点和源节点下发初始密钥,以 使源节点根据初始密钥加密第一数据片断,并使请求节点根据初始密钥解密接收到的第一 密文片断。步骤M、请求节点根据节点列表向源节点发送内容数据获取请求;其中,请求节点可能同时与多个源节点建立连接,分别获取不同数据片断。步骤25、源节点根据服务器下发的初始密钥,加密内容数据的第一数据片断形成 第一密文片断,并将第一密文片断发送给请求节点;步骤沈、服务器至少向请求节点和源节点发送一次第一密钥更新消息,所述第一 密钥更新消息包括第一更新密钥;步骤27、源节点根据第一更新密钥加密内容数据的第二数据片段,并在第二数据 片段中添加密钥更新标识,形成第二密文片段,并向请求节点发送第二密文片段;步骤观、请求节点接收第二密文片断,采用密钥更新标识对应的第一更新密钥解 密第二密文片断,以获取内容数据。其中步骤25-步骤洲可参见实施例一的描述,在此不再赘述。另外,请求节点可 以根据数据片断中的序号,监测内容数据的获取状况;当监测到内容数据的获取结束后,向 服务器发送通告消息,以告知服务器该内容数据的获取完成。服务器根据该通告消息可以 停止向请求节点和源节点发送密钥更新消息,同时还可以将分配给该内容数据的初始密钥 或更新密钥等收回。上述操作为一种可选操作,本实施例以请求节点获取内容数据为重点。本实施例的P2P数据获取方法,请求节点向服务器请求节点列表,服务器在向请 求节点返回节点列表后,向请求节点和源节点发送初始密钥;请求节点根据节点列表向源 节点发送内容数据获取请求,源节点根据初始密钥加密数据片断并发送给请求节点,在之 后服务器通过发送多次密钥更新消息使源节点和请求节点采用更新密钥对后续数据片断进行加密和解密处理,实现对同一内容数据的不同数据片断采用不同密钥加密后传输,提 高了数据传输的安全性;同时,不同密钥是由服务器主动向请求节点和源节点下发的,请求 节点无需与服务器进行密钥交互保证了数据传输效率;另外,在本实施例中,源节点通过在 发送的密文片断中添加密钥更新标识,使请求节点识别相应密钥对密文片断进行解密,各 节点无需存储不同密钥、数据片断以及其他节点之间的对应关系,对节点的处理能力要求 较低,易于实施。图3为本发明实施例提供的服务器向请求节点和源节点发送第一密钥更新消息 的方法流程图。本实施例基于上述实施例实现,如图3所示,本实施例发送第一更新消息的 方法包括步骤31、服务器根据内容数据信息,判断密钥池中是否有可用密钥;如判断结果 为有,则执行步骤32,反之,执行步骤33。其中,在服务器上预先设有密钥池,主要用于存储密钥并对密钥进行管理,其中密 钥包括初始密钥和各种更新密钥。可用密钥主要是指未被使用的密钥。密钥池中的密钥在 其生存周期之内可被循环使用。步骤32、服务器从密钥池中选择一个可用密钥作为第一更新密钥,并执行步骤 34 ;步骤33、服务器根据内容数据信息,生成第一更新密钥,并将第一更新密钥存储到 密钥池中,并执行步骤34;当密钥池中没有可用密钥时,服务器可为当前内容数据生成一个新密钥,作为其 第一更新密钥。其中,服务器可以根据预设规则生成密钥,具体可参见现有技术,在本实施 例中并不做限定。步骤34、服务器根据第一更新密钥,生成第一密钥更新消息,并执行步骤35 ;其中,服务器可以将第一更新密钥作为数据内容,并封装请求节点、源节点的地址 信息后生成第一密钥更新消息,但并不限于此。步骤35、服务器将第一密钥更新消息发送给请求节点和源节点。本实施例提供的发送第一密钥更新消息的方法,服务器通过密钥池对其密钥进行 管理,首先从可用密钥中选择第一更新密钥,若不存在时根据密钥生成规则生成新的密钥 作为第一更新密钥,并将第一更新密钥封装为第一密钥更新消息,下发给请求节点和源节 点,该方式简单易于实现,且资源消耗较少。另外,在本实施例中,服务器也可以不执行判断密钥池中是否存在可用密钥的操 作,而直接根据内容数据信息生成第一更新密钥,并将第一更新密钥存储到密钥池中,该方 式更加简单和便于实施,只是对密钥池的容量相对要求较高。基于上述实施例,为了便于对密钥进行管理以及提高密钥的保密性,服务器为每 个密钥设置一个生存周期,当生存周期结束时,该密钥将被删除。图4为本发明实施例三提 供的P2P数据获取方法的流程图。本实施例基于上述实施例实现,如图4所示,本实施例的 方法还包括步骤41、服务器查询密钥池;具体的,服务器可以周期性查询密钥池,也可以实时查询密钥池,其中为减轻服务 器的负担,优选周期性轮循密钥池中的各个密钥。其中,服务器可以在每个密钥生成时为其
9设定一计时器,记录每个密钥的存在时间。步骤42、服务器删除密钥池中存在时间大于预设生存周期的密钥;服务器通过判断计时器记录的存在时间大于预设生存周期时,将该密钥删除,通 过这种方式可以提高密钥的保密性。步骤43、服务器根据被删除的密钥,生成第二更新密钥,以更新密钥池。服务器为被删除的密钥生成新的密钥,即第二更新密钥,来替代被删除的密钥,并 将第二更新密钥存储到密钥池中,通过该方式可以保证密钥池中存在一定数量的密钥,以 便于向有获取数据内容请求的节点提供密钥(例如初始密钥或更新密钥)。其中,被删除的密钥可能是可用密钥,即未被使用的密钥,也可能是正在被使用的 密钥。为了保证正在使用该被删除的密钥的节点能够正常通信,本实施例提供一种实施方 式,即服务器通过第二密钥更新消息将第二更新密钥发送给正在使用被删除的密钥的源节 点和请求节点,同时达到更新上述请求节点和源节点的密钥的目的。其中,第二更新密钥是 在服务器更新其密钥池中的密钥时,为保证被删除的密钥不影响P2P系统的运行而生成的 用来替代被删除的密钥的。本实施例的P2P数据获取方法,通过预设生存周期,由服务器对其密钥池中的密 钥进行更新,提高了密钥的保密性,进而提高了基于密钥池中的密钥进行传输的数据的安 全性。在此需要说明,服务器根据预设生存周期更新密钥的方案,可以与上述各实施例 相结合,且并不限定其先后顺序,即服务器根据预设生存周期更新密钥的方案可与其他实 施例的方案并行实施。图5为本发明实施例提供的服务器的一种结构示意图。如图5所示,本实施例的 服务器包括第一发送模块51和第二发送模块52。其中,第一发送模块51,与源节点和请求节点连接,用于向源节点和请求节点发送 初始密钥,以使源节点根据初始密钥加密内容数据的第一数据片断形成第一密文片断,并 使请求节点根据初始密钥解密第一密文片断;第二发送模块52,与第一发送模块51、源节 点和请求节点连接,用于在第一发送模块51发送初始密钥后,至少向请求节点和源节点发 送一次第一密钥更新消息,所述第一密钥更新消息包括第一更新密钥,以使源节点根据第 一更新密钥加密内容数据的第二数据片断形成第二密文片断,并使请求节点根据第一更新 密钥解密第二密文片断,以获取内容数据。本实施例的服务器,可用于执行本发明方式实施例提供的P2P数据获取方法的流 程,具体通过第一发送模块和第二发送模块,在请求节点向源节点请求获取内容数据的过 程中至少发送一次密钥更新消息,以使源节点根据密钥更新消息中的更新密钥对接收密钥 更新消息之后的数据片断进行加密,以及使请求节点根据更新密钥解密后续密文片断,实 现了对同一内容数据的不同数据片断采用不同的密钥进行加密,提高了数据传输的安全 性;同时,不同密钥(主要指更新密钥)由服务器通过其第二发送模块主动向请求节点和源 节点发送,请求节点无需与服务器进行密钥交互保证了数据传输效率。图6为本发明实施例提供的服务器的又一种结构示意图。本实施例基于上述实施 例实现,如图6所示,本实施例的服务器还包括接收模块61和返回模块62。其中,接收模块61,与请求节点连接,用于接收请求节点发送的节点列表请求,所述节点列表请求包括内容数据信息;返回模块62,与接收模块61和请求节点连接,用于根 据内容数据信息获取源节点信息,并向请求节点返回节点列表,所述节点列表包括内容数 据信息对应的源节点信息。上述各功能模块,可用于执行本发明上述实施例提供的P2P数据获取方法的流 程,其具体工作原理不再赘述。进一步,第二发送模块52包括处理单元、生成单元和发送单元。其中,处理单元, 用于根据内容数据信息,从密钥池中选择第一更新密钥,或者根据内容数据信息,生成第一 更新密钥,并存储到密钥池中;生成单元,用于根据第一更新密钥,生成第一密钥更新消息; 发送单元,用于将第一密钥更新消息发送给请求节点和源节点。本实施例第二发送模块的各功能单元可用于执行本发明上述方法实施例提供的 发送第一密钥更新消息的流程,其具体工作原理请参见方法实施例的描述,在此不再赘述。图7为本发明实施例提供的服务器的另一种结构示意图。本实施例可基于上述 实施例实现,如图7所示,本实施例的服务器还包括查询模块71、删除模块72和生成模块 73。其中,查询模块71,与密钥池连接,用于查询密钥池;删除模块72,与密钥池连接, 用于删除密钥池中存在时间大于预设生存周期的密钥;生成模块73,与密钥池和删除模块 72连接,用于根据被删除的密钥,生成第二更新密钥,以更新密钥池。其中,上述功能模块可用于执行本发明方法实施例提供的P2P数据获取方法的流 程,主要用于对密钥池进行更新,其具体工作原理详见方法实施例的描述,在此不再赘述。 通过上述模块,本实施例的服务器可以对密钥池中的密钥进行更新,将存在一定时间的密 钥删除,提高了密钥的保密性,进而提高了基于密钥池中的密钥进行数据传输时的安全性。图8为本发明实施例提供的P2P数据获取系统的结构示意图。如图8所示,本实 施例的系统包括源节点81、请求节点82和服务器83。其中,源节点81分别与服务器83 和请求节点82连接,请求节点82也与服务器83连接。其中,本实施例中的服务器83采用本发明上述实施例提供的服务器,其结构可参 见图5-图7所示,其工作原理可参见上述方法实施例的描述,在此不再赘述。基于此,本实 施例系统的主要工作原理如下请求节点82向服务器83发送的节点列表请求,所述节点列表请求包括内容数据 信息;服务器83根据内容数据信息获取可为请求节点82提供服务的源节点信息,并向请求 节点82返回节点列表,所述节点列表包括所述内容数据信息对应的源节点信息;请求节点 82接收服务器83返回的节点列表。服务器83在向请求节点82返回节点列表之后,向源节点81和请求节点82发送 初始密钥;源节点81和请求节点82接收服务器83发送的初始密钥;源节点81根据初始密 钥加密内容数据的第一数据片断形成所述第一密文片断,并发送给请求节点82 ;请求节点 82接收源节点81发送的第一密文片断,并根据初始密钥解密第一密文片断。服务器83在发送初始密钥之后,向源节点81和请求节点82发送第一密钥更新消 息,所述第一密钥更新消息包括第一更新密钥;源节点81和请求节点82接收服务器83发 送的第一密钥更新消息;源节点81根据第一更新密钥加密内容数据的第二数据片断,并在 第二数据片断中添加密钥更新标识形成第二密文片断,并将第二密文片断发送给请求节点82 ;请求节点82接收源节点81发送的第二密文片断,并根据第一更新密钥解密第二密文片 断,以获取内容数据。本实施例提供的P2P数据获取系统,可用于执行本发明上述实施例提供的P2P数 据获取方法的流程,具体在请求节点向源节点请求获取内容数据的过程中,由服务器至少 向源节点和请求节点发送一次携带更新密钥的密钥更新消息,由源节点根据更新密钥对接 收密钥更新消息之后的数据片断进行加密并携带密钥更新标识,而请求节点根据密钥更新 标识采用相应的更新密钥解密加密后的数据片断,最终获取内容数据。在本实施例中,同一 内容数据的不同数据片断可采用不同的密钥进行加密,保证了数据传输的安全性;而不同 密钥是由服务器主动向请求节点和源节点下发的,请求节点无需与服务器进行密钥交互保 证了数据传输效率;另外,在本实施例中源节点通过在发送的密文片断中添加密钥更新标 识,使请求节点识别相应密钥对密文片断进行解密,各节点无需存储不同密钥、数据片断以 及其他节点之间的对应关系,对节点的处理能力要求较低,易于实施。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
1权利要求
1.一种点对点数据获取方法,其特征在于,包括源节点根据服务器下发的初始密钥,加密内容数据的第一数据片断形成第一密文片 断,并将所述第一密文片断发送给请求节点;所述服务器至少向所述请求节点和所述源节点发送一次第一密钥更新消息,所述第一 密钥更新消息包括第一更新密钥;所述源节点根据所述第一更新密钥加密所述内容数据的第二数据片断,并在所述第二 数据片断中添加密钥更新标识,形成第二密文片断,并向所述请求节点发送所述第二密文 片断;所述请求节点接收所述第二密文片断,采用所述密钥更新标识对应的第一更新密钥解 密所述第二密文片断,以获取所述内容数据。
2.根据权利要求1所述的点对点数据获取方法,其特征在于,在源节点根据服务器下 发的初始密钥,加密内容数据的第一数据片断形成第一密文片断之前还包括所述请求节点向所述服务器发送节点列表请求,所述节点列表请求包括内容数据信息;所述服务器向所述请求节点返回节点列表,所述节点列表中包括所述内容数据信息对 应的源节点信息;所述服务器向所述请求节点和所述源节点发送所述初始密钥。
3.根据权利要求2所述的点对点数据获取方法,其特征在于,所述服务器至少向所述 请求节点和所述源节点发送一次第一密钥更新消息包括所述服务器根据所述内容数据信息,从密钥池中选择所述第一更新密钥,或者根据所 述内容数据信息,生成所述第一更新密钥,并将所述第一更新密钥存储到所述密钥池中; 所述服务器根据所述第一更新密钥,生成所述第一密钥更新消息; 所述服务器将所述第一密钥更新消息发送给所述请求节点和所述源节点。
4.根据权利要求3所述的点对点数据获取方法,其特征在于,还包括 所述服务器查询所述密钥池;所述服务器删除所述密钥池中存在时间大于预设生存周期的密钥; 所述服务器根据被删除的密钥,生成第二更新密钥,以更新所述密钥池。
5.一种服务器,其特征在于,包括第一发送模块,用于向源节点和请求节点发送初始密钥,以使所述源节点根据所述初 始密钥加密内容数据的第一数据片断形成第一密文片断,并使所述请求节点根据所述初始 密钥解密所述第一密文片断;第二发送模块,用于在所述第一发送模块发送所述初始密钥后,至少向所述请求节点 和所述源节点发送一次第一密钥更新消息,所述第一密钥更新消息包括第一更新密钥,以 使所述源节点根据所述第一更新密钥加密所述内容数据的第二数据片断形成第二密文片 断,并使所述请求节点根据所述第一更新密钥解密所述第二密文片断,以获取所述内容数 据。
6.根据权利要求5所述的服务器,其特征在于,还包括接收模块,用于接收所述请求节点发送的节点列表请求,所述节点列表请求包括内容 数据信息;返回模块,用于向所述请求节点返回节点列表,所述节点列表包括所述内容数据信息 对应的源节点信息。
7.根据权利要求6所述的服务器,其特征在于,所述第二发送模块包括处理单元,用于根据所述内容数据信息,从密钥池中选择所述第一更新密钥,或者根据 所述内容数据信息,生成所述第一更新密钥,并存储到所述密钥池中;生成单元,用于根据所述第一更新密钥,生成所述第一密钥更新消息;发送单元,用于将所述第一密钥更新消息发送给所述请求节点和所述源节点。
8.根据权利要求7所述的服务器,其特征在于,还包括查询模块,用于查询所述密钥池;删除模块,用于删除所述密钥池中存在时间大于预设生存周期的密钥;生成模块,用于根据被删除的密钥,生成第二更新密钥,以更新所述密钥池。
9.一种包括如权利要求5-8任一项所述的服务器的点对点数据获取系统,其特征在 于,还包括源节点和请求节点;所述请求节点,用于接收所述服务器发送的第一密钥更新消息,所述第一密钥更新消 息包括第一更新密钥;并用于接收所述源节点发送的第一密文片断和第二密文片断,并根 据所述第一更新密钥解密所述第二密文片断,以获取内容数据;所述源节点,用于接收所述服务器发送的所述初始密钥和所述第一密钥更新消息,根 据所述初始密钥加密所述内容数据的第一数据片断形成所述第一密文片断和根据所述第 一更新密钥加密所述内容数据的第二数据片断,并在所述第二数据片断中添加密钥更新标 识形成所述第二密文片断,并将所述第一密文片断和所述第二密文片断发送给所述请求节 点ο
10.根据权利要求9所述的点对点数据获取系统,其特征在于,所述请求节点还用于向 所述服务器发送节点列表请求,所述节点列表请求包括内容数据信息,并接收所述服务器 返回的节点列表,所述节点列表包括所述内容数据信息对应的源节点信息;以及用于接收 所述服务器发送的所述初始密钥,并根据所述初始密钥解密所述第一密文片断,以获取所 述内容数据。
全文摘要
本发明提供一种点对点数据获取方法、系统及服务器,方法包括源节点根据服务器下发的初始密钥,加密第一数据片断形成第一密文片断,并发送给请求节点;服务器至少向请求节点和源节点发送一次第一密钥更新消息,第一密钥更新消息包括第一更新密钥;源节点根据第一更新密钥加密第二数据片断,并在第二数据片断中添加密钥更新标识,形成第二密文片断,并发送给请求节点;请求节点接收第二密文片断,采用密钥更新标识对应的第一更新密钥解密第二密文片断,以获取内容数据。本发明技术方案,不仅可以保证传输数据的安全性,还可以保证数据传输效率,且对节点处理能力要求较低,易于实施。
文档编号H04L29/08GK102065135SQ201010590870
公开日2011年5月18日 申请日期2010年12月15日 优先权日2010年12月15日
发明者刘红旗, 刘辛炎, 张伦泳, 王子奇, 马少红 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1