一种基于数据的网络通信实现方法转让专利

申请号 : CN201510564270.X

文献号 : CN105262591B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓喃穆怡

申请人 : 常熟理工学院

摘要 :

本发明公开了一种基于数据的网络通信实现方法,所述基于数据的网络包括三类节点:消费节点,中间节点,提供节点;消费节点为有权限获取特定数据的授权用户设备,中间节点用于转发消费节点发送的数据请求消息以及提供节点发送的数据响应消息,提供节点为有权限提供特定数据的授权用户设备。所述网络节点通过本发明所提供的实现方法可安全获取网络提供的数据服务,同时能够确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。

权利要求 :

1.一种基于数据的网络通信实现方法,其特征在于,所述基于数据的网络包括三类节点:消费节点,中间节点,提供节点;消费节点为有权限获取特定数据的授权用户设备,中间节点用于转发消费节点发送的数据请求消息以及提供节点发送的数据响应消息,提供节点为有权限提供特定数据的授权用户设备;

所述网络中一共有I种数据,每一种数据由一个唯一的名称定义;每一种名称具有一个秘钥,该秘钥由第三方认证数据中心保存并签发;消费节点向第三方认证数据中心进行注册以获取一个特定名称Ni所定义的数据的访问权限,I≥i≥1,第三方认证数据中心向该消费节点提供名称Ni对应的秘钥ki以及单项哈希函数Hi,消费节点获取秘钥ki和哈希函数Hi后,执行公式(1)获取名称Ni的隐私名称hi;

提供节点向第三方认证数据中心进行注册以获取特定名称Ni定义的数据的提供权限,第三方认证数据中心向提供节点提供隐私名称hi以及加密过的数据ei,数据ei如公式(2)所示:hi=Encrypt1(Hi(Ni),ki)  公式(1),

ei=Encrypt1(Di,ki)  公式(2),

其中,Encrypt1是对称加密算法;Di表示由特定名字Ni定义的数据;

第三方认证数据中还向提供节点发放一对由隐私名称hi定义的公钥Pubkhi和私钥Prikhi。

2.根据权利要求1所述的一种基于数据的网络通信实现方法,其特征在于,每个节点保存一个路由转发表,路由转发表每个表项包含两个域:接口域和隐私名称域;中间节点包含一个数据请求消息缓存表以及一个数据缓存表;数据请求消息缓存表的表项包含两个域,一个域为隐私名称域,一个域为接口集合域;数据缓存表的表项包括两个域,一个域为隐私名称域,一个域为加密数据域;

消费节点C1向第三方认证数据中心注册后,获取了名称Ni所定义的数据的访问权限,并具有了名称Ni的秘钥ki以及单项哈希函数Hi,消费节点C1通过公式(1)计算隐私名称hi,然后通过下述过程获取特定名称Ni定义的数据Di:步骤201:开始;

步骤202:消费节点C1查看路由转发表中隐私名称hi的表项,然后从该表项所对应的接口广播一个数据请求消息,数据请求消息的头部为隐私名称hi;

步骤203:邻居节点收到数据请求消息后,判断自己是否能够提供隐私名称hi对应的加密数据ei,如果不能,进行步骤204,否则进行步骤208;

步骤204:邻居节点判断数据请求消息缓存表中是否有隐私名称域值为hi的表项,如果没有,则进行步骤205,否则进行步骤206;

步骤205:邻居节点在数据请求消息缓存表中增加一个表项,隐私名称域值为hi,接口集合域值为邻居节点接收数据请求消息的接口值,进行步骤207;

步骤206:邻居节点将接收数据请求消息的接口值加入到在隐私名称域值为hi的表项的接口集合域中;

步骤207:邻居节点查看路由转发表中隐私名称hi的表项,从该表项所对应的接口转发该数据请求消息,进行步骤203;

步骤208:邻居节点构建一个数据响应消息,数据响应消息的头部为隐私名称hi,负载为加密数据ei,然后从接收到数据请求消息的接口发送该数据响应消息;

步骤209:邻居节点收到数据响应消息后,判断自己是否为消费节点C1,如果是,进行步骤213,否则进行步骤210;

步骤210:邻居节点在数据缓存表中增加一个表项,隐私名称域为hi,加密数据域为ei,邻居节点查看数据请求消息缓存表,判断是否有隐私名称hi的表项,如果有,进行步骤211,否则进行步骤212;

步骤211:邻居节点从隐私名称为hi的表项中的接口集合域中每个接口转发该数据响应消息,然后删除隐私名称域为hi的表项,执行步骤209;

步骤212:邻居节点丢弃该数据响应消息,进行步骤214;

步骤213:消费节点C1收到数据响应消息后,利用秘钥ki去解密加密数据ei,最终得到数据Di;

步骤214:结束。

说明书 :

一种基于数据的网络通信实现方法

技术领域

[0001] 本发明涉及一种网络通信实现方法,尤其涉及的是一种基于数据的网络通信实现方法。

背景技术

[0002] 基于数据的网络作为一种新型通信网络,能够实现节点与节点之间的多跳无线通信。随着网络技术的不断发展以及各种新应用的不断涌现,迫切需要实现基于数据的网络通信以满足用户急剧增长的应用需求。
[0003] 基于数据的网络作为一种特殊类型,它与数据为中心,而传统网络以地址为中心,因此并不利于数据的获取。例如,在IP网络中,由目的IP地址确定的目的节点来提供数据,如果该目的节点失效,那么就无法提供数据。而基于数据的网络以数据为中心,任何节点都可以提供数据,从而缩短了数据获取的延迟和代价。
[0004] 但是,如何实现以数据为中心的网络还需要进一步研究和探讨。

发明内容

[0005] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于数据的网络通信实现方法。
[0006] 技术方案:本发明公开了一种基于数据的网络通信实现方法,所述基于数据的网络包括三类节点:消费节点,中间节点,提供节点;消费节点为有权限获取特定数据的授权用户设备,中间节点用于转发消费节点发送的数据请求消息以及提供节点发送的数据响应消息,提供节点为有权限提供特定数据的授权用户设备;
[0007] 所述网络中一共有I种数据,每一种数据由一个唯一的名称定义;每一种名称具有一个秘钥,该秘钥由第三方认证数据中心(例如,数字证书认证机构的计算机数据中心)保存并签发;消费节点向第三方认证数据中心进行注册以获取一个特定名称Ni所定义的数据的访问权限,I≥i≥1,第三方认证数据中心向该消费节点提供名称Ni对应的秘钥ki以及单项哈希函数Hi,消费节点获取秘钥ki和哈希函数Hi后,执行公式(1)获取名称Ni的隐私名称hi;
[0008] 提供节点向第三方认证数据中心进行注册以获取特定名称Ni定义的数据的提供权限,第三方认证数据中心向提供节点提供隐私名称hi以及加密过的数据ei,数据ei如公式(2)所示:
[0009] hi=Encrypt1(Hi(Ni),ki)   (1)
[0010] ei=Encrypt1(Di,ki)   (2)
[0011] 其中,Encrypt1是对称加密算法;Di表示由特定名字Ni定义的数据;
[0012] 公式(1)中的Encrypt1是任意对称加密算法,例如数据加密算法(DES);
[0013] 第三方认证数据中还向提供节点发放一对由隐私名称hi定义的公钥Pubkhi和私钥Prikhi。
[0014] 通过上述过程,消费节点可以获取名称和秘钥,而第三方认证机构只向提供节点提供隐私名称和加密之后的数据,但是并不向提供节点提供秘钥,因此提供节点并不知道自己提供的数据和名称是什么,从而实现了数据的隐私保护。
[0015] 本发明所述方法中,每个节点保存一个路由转发表,路由转发表每个表项包含两个域:接口域和隐私名称域;
[0016] 提供节点P1注册后,获取了提供隐私名称hi和数据ei的权限,以及隐私名称hi对应的公钥Pubkhi和私钥Prikhi,然后提供节点P1执行下述步骤建立路由:
[0017] 步骤101:开始;
[0018] 步骤102:提供节点P1根据公式(3)用私钥Prikhi获取数字签名Sign_hi,然后构建数据消息,数据消息负载为隐私名称hi和数字签名Sign_hi,最后提供节点P1从自己的每一个接口发送数据消息,;
[0019] Sign_hi=Encrypt2(Prikhi,hi)   (3),
[0020] 其中,Encrypt2是非对称加密算法,例如RSA算法;
[0021] 步骤103:中间节点或者消费节点收到数据消息后,首先用隐私名称hi的公钥Pubkhi对数字签名Sign_hi进行验证,即用公钥Pubkhi对数字签名Sign_hi解密,判断解密结果与隐私名称hi相同,如果不相同,进行步骤104,否则进行步骤105;
[0022] 步骤104:中间节点或者消费节点丢弃该数据消息,进行步骤107;
[0023] 步骤105:中间节点或者消费节点判断路由转发表中是否有隐私名称hi的表项,如果没有,进行步骤104,否则进行步骤106;
[0024] 步骤106:中间节点或者消费节点在路由转发表中增加隐私名字hi的表项,表项的接口域值设置为收到数据消息的接口值,然后从自己的每个接口转发该数据消息,返回执行步骤103;
[0025] 步骤107:结束。
[0026] 通过上述过程,提供节点建立了以数据为中心的路由表,通过该路由表可以实现数据的查询和获取,从而降低了以数据为中心的数据获取延迟和代价。路由转发表的表项为加密数据,因此可以实现路由的安全性。
[0027] 本发明所述方法中,中间节点包含一个数据请求消息缓存表以及一个数据缓存表;数据请求消息缓存表的表项包含两个域,一个域为隐私名称域,一个域为接口集合域;数据缓存表的表项包括两个域,一个域为隐私名称域,一个域为加密数据域;
[0028] 消费节点C1向第三方认证数据中心注册后,获取了名称Ni所定义的数据的访问权限,并具有了名称Ni的秘钥ki以及单项哈希函数Hi,消费节点C1通过公式(1)计算隐私名称hi,然后通过下述过程获取特定名称Ni定义的数据Di:
[0029] 步骤201:开始;
[0030] 步骤202:消费节点C1查看路由转发表中隐私名称hi的表项,然后从该表项所对应的接口广播一个数据请求消息,数据请求消息的头部为隐私名称hi;
[0031] 步骤203:邻居节点收到数据请求消息后,判断自己是否能够提供隐私名称hi对应的加密数据ei,如果不能,进行步骤204,否则进行步骤208;
[0032] 步骤204:邻居节点判断数据请求消息缓存表中是否有隐私名称域值为hi的表项,如果没有,则进行步骤205,否则进行步骤206;
[0033] 步骤205:邻居节点在数据请求消息缓存表中增加一个表项,隐私名称域值为hi,接口集合域值为邻居节点接收数据请求消息的接口值,进行步骤207;
[0034] 步骤206:邻居节点将接收数据请求消息的接口值加入到在隐私名称域值为hi的表项的接口集合域中;
[0035] 步骤207:邻居节点查看路由转发表中隐私名称hi的表项,从该表项所对应的接口转发该数据请求消息,进行步骤203;
[0036] 步骤208:邻居节点构建一个数据响应消息,数据响应消息的头部为隐私名称hi,负载为加密数据ei,然后从接收到数据请求消息的接口发送该数据响应消息;
[0037] 步骤209:邻居节点收到数据响应消息后,判断自己是否为消费节点C1,如果是,进行步骤213,否则进行步骤210;
[0038] 步骤210:邻居节点在数据缓存表中增加一个表项,隐私名称域为hi,加密数据域为ei,邻居节点查看数据请求消息缓存表,判断是否有隐私名称hi的表项,如果有,进行步骤211,否则进行步骤212;
[0039] 步骤211:邻居节点从隐私名称为hi的表项中的接口集合域中每个接口转发该数据响应消息,然后删除隐私名称域为hi的表项,执行步骤209;
[0040] 步骤212:邻居节点丢弃该数据响应消息,进行步骤214;
[0041] 步骤213:消费节点C1收到数据响应消息后,利用秘钥ki去解密加密数据ei,最终得到数据Di;
[0042] 步骤214:结束。
[0043] 通过上述过程,消费节点能够从最近的中间节点或者提供节点获取数据,数据请求消息和数据响应消息通过数据请求消息缓存表和数据转发表实现了以数据为中心的路由,从而确保消费节点能从距离最近的节点获取数据,从而降低了以数据为中心的数据获取延迟和代价。此外,消费节点并不知道哪个节点为自己提供了数据,而提供节点也不知道自己为谁提供了数据,因此实现了身份隐藏。
[0044] 有益效果:本发明提供了一种基于数据的网络通信实现方法,所述网络节点通过本发明所提供的实现方法可安全获取网络提供的数据服务,同时能够确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

[0045] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0046] 图1为本发明所述的网络体系结构示意图。
[0047] 图2为本发明所述的路由转发表结构示意图。
[0048] 图3为本发明所述的路由建立流程示意图。
[0049] 图4为本发明所述的数据请求消息缓存表结构示意图。
[0050] 图5为本发明所述的数据缓存表结构示意图。
[0051] 图6为本发明所述的数据获取流程示意图。具体实施方式:
[0052] 本发明提供了一种基于数据的网络通信实现方法,所述网络节点通过本发明所提供的实现方法可安全获取网络提供的数据服务,同时能够确保安全性,缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。
[0053] 图1为本发明所述的网络体系结构示意图。所述基于数据的网络包括三类节点:消费节点1,中间节点2,提供节点3;消费节点1为有权限获取特定数据的授权用户设备,中间节点2用于转发消费节点1发送的数据请求消息以及提供节点3发送的数据响应消息,提供节点3为有权限提供特定数据的授权用户设备;所述设备为可以保存数据并进行数据通信的装置,可以是计算机、智能终端、工控机等等。
[0054] 所述网络中一共有I种数据,每一种数据由一个唯一的名称定义;每一种名称具有一个秘钥,该私钥由第三方认证数据中心(例如,数字证书认证机构的计算机)保存并签发;消费节点1向第三方认证数据中心进行注册以获取一个特定名称Ni所定义的数据的访问权限,I≥i≥1,第三方认证数据中心向该消费节点1提供名称Ni对应的秘钥ki以及单项哈希函数Hi,消费节点1获取秘钥ki和哈希函数Hi后,执行公式(1)获取名称Ni的隐私名称hi;
[0055] 提供节点3向第三方认证数据中心进行注册以获取特定名称Ni定义的数据的提供权限,第三方认证数据中心向提供节点3提供隐私名称hi以及加密过的数据ei,数据ei如公式(2)所示:
[0056] hi=Encrypt1(Hi(Ni),ki)   (1)
[0057] ei=Encrypt1(Di,ki)   (2)
[0058] 其中,Encrypt1是对称加密算法;Di表示由特定名字Ni定义的数据;
[0059] 公式(1)中的Encrypt1是任意对称加密算法,例如数据加密算法(DES);
[0060] 第三方认证数据中还向提供节点发放一对由隐私名称hi定义的公钥Pubkhi和私钥Prikhi。
[0061] 通过上述过程,消费节点可以获取名称和秘钥,而第三方认证机构只向提供节点提供隐私名称和加密之后的数据,但是并不向提供节点提供秘钥,因此提供节点并不知道自己提供的数据和名称是什么,从而实现了数据的隐私保护。
[0062] 图2为本发明所述的路由转发表结构示意图。每个节点保存一个路由转发表,路由转发表每个表项包含两个域:接口域和隐私名称域。
[0063] 图3为本发明所述的路由建立流程示意图。提供节点P1注册后,获取了提供隐私名称hi和数据ei的权限,以及隐私名称hi对应的公钥Pubkhi和私钥Prikhi,然后提供节点P1执行下述步骤建立路由:
[0064] 步骤101:开始;
[0065] 步骤102:提供节点P1根据公式(3)用私钥Prikhi获取数字签名Sign_hi,然后构建数据消息,数据消息负载为隐私名称hi和数字签名Sign_hi,最后提供节点P1从自己的每一个接口发送数据消息;
[0066] Sign_hi=Encrypt2(Prikhi,hi)   (3),
[0067] 其中,Encrypt2是非对称加密算法,例如RSA算法;
[0068] 步骤103:中间节点或者消费节点收到数据消息后,首先用隐私名称hi的公钥Pubkhi对数字签名Sign_hi进行验证,即用公钥Pubkhi对数字签名Sign_hi解密,判断解密结果与隐私名称hi相同,如果不相同,进行步骤104,否则进行步骤105;
[0069] 步骤104:中间节点或者消费节点丢弃该数据消息,进行步骤107;
[0070] 步骤105:中间节点或者消费节点判断路由转发表中是否有隐私名称hi的表项,如果没有,进行步骤104,否则进行步骤106;
[0071] 步骤106:中间节点或者消费节点在路由转发表中增加隐私名字hi的表项,表项的接口域值设置为收到数据消息的接口值,然后从自己的每个接口转发该数据消息,返回执行步骤103;
[0072] 步骤107:结束。
[0073] 通过上述过程,提供节点建立了以数据为中心的路由表,通过该路由表可以实现数据的查询和获取,从而降低了以数据为中心的数据获取延迟和代价。路由转发表的表项为加密数据,因此可以实现路由的安全性。
[0074] 图4为本发明所述的数据请求消息缓存表结构示意图。数据请求消息缓存表的表项包含两个域,一个域为隐私名称域,一个域为接口集合域。
[0075] 图5为本发明所述的数据缓存表结构示意图。数据缓存表的表项包括两个域,一个域为隐私名称域,一个域为加密数据域。
[0076] 图6为本发明所述的数据获取流程示意图。消费节点C1向第三方认证数据中心注册后,获取了名称Ni所定义的数据的访问权限,并具有了名称Ni的秘钥ki以及单项哈希函数Hi,消费节点C1通过公式(1)计算隐私名称hi,然后通过下述过程获取特定名称Ni定义的数据Di:
[0077] 步骤201:开始;
[0078] 步骤202:消费节点C1查看路由转发表中隐私名称hi的表项,然后从该表项所对应的接口广播一个数据请求消息,数据请求消息的头部为隐私名称hi;
[0079] 步骤203:邻居节点收到数据请求消息后,判断自己是否能够提供隐私名称hi对应的加密数据ei,如果不能,进行步骤204,否则进行步骤208;
[0080] 步骤204:邻居节点判断数据请求消息缓存表中是否有隐私名称域值为hi的表项,如果没有,则进行步骤205,否则进行步骤206;
[0081] 步骤205:邻居节点在数据请求消息缓存表中增加一个表项,隐私名称域值为hi,接口集合域值为邻居节点接收数据请求消息的接口值,进行步骤207;
[0082] 步骤206:邻居节点将接收数据请求消息的接口值加入到在隐私名称域值为hi的表项的接口集合域中;
[0083] 步骤207:邻居节点查看路由转发表中隐私名称hi的表项,从该表项所对应的接口转发该数据请求消息,进行步骤203;
[0084] 步骤208:邻居节点构建一个数据响应消息,数据响应消息的头部为隐私名称hi,负载为加密数据ei,然后从接收到数据请求消息的接口发送该数据响应消息;
[0085] 步骤209:邻居节点收到数据响应消息后,判断自己是否为消费节点C1,如果是,进行步骤213,否则进行步骤210;
[0086] 步骤210:邻居节点在数据缓存表中增加一个表项,隐私名称域为hi,加密数据域为ei,邻居节点查看数据请求消息缓存表,判断是否有隐私名称hi的表项,如果有,进行步骤211,否则进行步骤212;
[0087] 步骤211:邻居节点从隐私名称为hi的表项中的接口集合域中每个接口转发该数据响应消息,然后删除隐私名称域为hi的表项,执行步骤209;
[0088] 步骤212:邻居节点丢弃该数据响应消息,进行步骤214;
[0089] 步骤213:消费节点C1收到数据响应消息后,利用秘钥ki去解密加密数据ei,最终得到数据Di;
[0090] 步骤214:结束。
[0091] 通过上述过程,消费节点能够从最近的中间节点或者提供节点获取数据,数据请求消息和数据响应消息通过数据请求消息缓存表和数据转发表实现了以数据为中心的路由,从而确保消费节点能从距离最近的节点获取数据,从而降低了以数据为中心的数据获取延迟和代价。此外,消费节点并不知道哪个节点为自己提供了数据,而提供节点也不知道自己为谁提供了数据,因此实现了身份隐藏。
[0092] 实施例1
[0093] 基于表1的仿真参数,本实施例模拟了本发明中的基于数据的网络通信实现方法,性能分析如下:当提供者和消费者节点为3跳时,数据获取代价为4000个字节,延迟时间为15ms,随着距离的增加时,数据获取代价和延迟也随之增加。当提供者和消费者节点之间的中间节点数量为6时,数据获取代价为4500个字节,延迟时间为12ms,随着参与路由的中间节点数量的增加,数据获取代价和延迟也随之增加。
[0094] 表1仿真参数
[0095]
[0096] 本发明提供了一种基于数据的网络通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。