用于集中控制式密钥管理的方法和服务器与流程

文档序号:12037821阅读:219来源:国知局
用于集中控制式密钥管理的方法和服务器与流程

本发明涉及物联网领域,特别涉及一种用于集中控制式密钥管理的方法和服务器。



背景技术:

对于具有安全需求的物联网组通信,系统通常采用对同一组内的物联网设备分配所在组对应的组密钥,从而使得同一组内的物联网设备利用相同的组密钥来正常进行组通信,这种方式可以降低服务器操作的复杂性,减少服务器维护和管理的密钥数。

但是对于安全性和实时性要求较高的物联网终端存在较高风险,如果用于通信的密钥被别的物联网设备获得,则其可以轻易的对信息进行破解。



技术实现要素:

鉴于以上技术问题,本发明提供了一种用于集中控制式密钥管理的方法和服务器,能够增强物联网环境下信息传输的安全性,大大降低信息被窃取的风险。

根据本发明的一个方面,提供一种用于集中控制式密钥管理的方法,包括:

对物联网组成员进行排序,其中,物联网组成员包括物联网网关和物联网终端;

随机生成初始化种子;

根据第一单向函数和第二单向函数分别生成第一密钥链和第二密钥链;

根据物联网组成员的顺序,依次将第一密钥链和第二密钥链的密 钥发送到相应的物联网组成员。

在本发明的一个实施例中,对物联网组成员进行排序的步骤包括:分别对物联网网关和物联网终端进行排序。

在本发明的一个实施例中,根据物联网组成员的顺序,依次将第一密钥链和第二密钥链的密钥发送到相应的物联网组成员的步骤包括:

根据物联网终端的顺序,依次将第一密钥链的密钥发送到相应的物联网终端;

根据物联网网关的顺序,依次将第二密钥链的密钥发送到相应的物联网网关。

在本发明的一个实施例中,根据物联网终端的顺序,依次将第一密钥链的密钥发送到相应的物联网终端的步骤包括:

根据物联网终端的顺序,将第一密钥链的密钥依次作为每个物联网终端与相应物联网网关的对偶密钥、以及物联网终端两两之间的对偶密钥,发送到相应的物联网终端和物联网网关。

在本发明的一个实施例中,根据物联网网关的顺序,依次将第二密钥链的密钥发送到相应的物联网网关的步骤包括:

根据物联网网关的顺序,将第二密钥链的密钥依次作为每个物联网网关与服务器的对偶密钥、物联网网关两两之间的对偶密钥以及广播密钥,发送到相应的物联网网关和物联网终端。

在本发明的一个实施例中,根据第一单向函数和第二单向函数分别生成第一密钥链和第二密钥链的步骤包括:

根据初始化种子和第一单向函数生成第一密钥链的第1个密钥;

根据第一密钥链的第i个密钥和第一单向函数生成第一密钥链的第i+1个密钥,其中i为大于0的自然数;

根据第一密钥链的第1个密钥和第二单向函数生成第二密钥链的第1个密钥;

根据第二密钥链的第j个密钥和第二单向函数生成第二密钥链的第j+1个密钥,其中j为大于0的自然数。

在本发明的一个实施例中,所述方法还包括:

在物联网组成员发生变化的情况下,在物联网组成员发生变化前进行广播通知,其中,所述变化包括变更、增加或删除;

对物联网组成员的密钥进行更新。

在本发明的一个实施例中,对物联网组成员的密钥进行更新的步骤包括:

在物联网网关变更的情况下,将第一密钥链中与变更前物联网网关相关的密钥发送给变更后的物联网网关,并将第二密钥链中与变更前物联网网关相关的密钥发送给变更后的物联网网关;

在新增物联网终端的情况下,在当前第一密钥链中增加相应密钥,并发送给对应的物联网终端和物联网网关,其中相应密钥包括新增物联网终端与相应物联网网关的对偶密钥、以及新增物联网终端与该物联网网关下原物联网终端之间的对偶密钥;

或者,

在物联网组成员发生变化的情况下,重新执行对物联网组成员进行排序的步骤。

根据本发明的另一方面,提供一种用于集中控制式密钥管理的服务器,包括排序模块、随机生成器、密钥链生成模块和密钥发送模块,其中:

排序模块,用于对物联网组成员进行排序,其中,物联网组成员包括物联网网关和物联网终端;

随机生成器,用于随机生成初始化种子;

密钥链生成模块,用于根据第一单向函数和第二单向函数分别生成第一密钥链和第二密钥链;

密钥发送模块,用于根据物联网组成员的顺序,依次将第一密钥链和第二密钥链的密钥发送到相应的物联网组成员。

在本发明的一个实施例中,排序模块用于分别对物联网网关和物联网终端进行排序。

在本发明的一个实施例中,密钥发送模块包括第一密钥发送单元 和第二密钥发送单元,其中:

第一密钥发送单元,用于根据物联网终端的顺序,依次将第一密钥链的密钥发送到相应的物联网终端;

第二密钥发送单元,用于根据物联网网关的顺序,依次将第二密钥链的密钥发送到相应的物联网网关。

在本发明的一个实施例中,第一密钥发送单元用于根据物联网终端的顺序,将第一密钥链的密钥依次作为每个物联网终端与相应物联网网关的对偶密钥、以及物联网终端两两之间的对偶密钥,发送到相应的物联网终端和物联网网关;第二密钥发送单元用于根据物联网网关的顺序,将第二密钥链的密钥依次作为每个物联网网关与服务器的对偶密钥、物联网网关两两之间的对偶密钥以及广播密钥,发送到相应的物联网网关和物联网终端。

在本发明的一个实施例中,密钥链生成模块包括第一密钥生成单元和第二密钥生成单元,其中:

第一密钥生成单元,用于根据初始化种子和第一单向函数生成第一密钥链的第1个密钥;并根据第一密钥链的第i个密钥和第一单向函数生成第一密钥链的第i+1个密钥,其中i为大于0的自然数;

第二密钥生成单元,用于根据第一密钥链的第1个密钥和第二单向函数生成第二密钥链的第1个密钥;并根据第二密钥链的第j个密钥和第二单向函数生成第二密钥链的第j+1个密钥,其中j为大于0的自然数。

在本发明的一个实施例中,所述服务器还包括变化通知模块和密钥更新模块,其中:

变化通知模块,用于在物联网组成员发生变化的情况下,在物联网组成员发生变化前进行广播通知,其中,所述变化包括变更、增加或删除;

密钥更新模块,用于对物联网组成员的密钥进行更新。

在本发明的一个实施例中,密钥更新模块用于在物联网网关变更的情况下,将第一密钥链中与变更前物联网网关相关的密钥发送给变 更后的物联网网关,并将第二密钥链中与变更前物联网网关相关的密钥发送给变更后的物联网网关;在新增物联网终端的情况下,在当前第一密钥链中增加相应密钥,并发送给对应的物联网终端和物联网网关,其中相应密钥包括新增物联网终端与相应物联网网关的对偶密钥、以及新增物联网终端与该物联网网关下原物联网终端之间的对偶密钥;或者,在物联网组成员发生变化的情况下,指示排序模块重新执行对物联网组成员进行排序的操作。

本发明通过为不同物联网组成员的通信设置相应的对偶密钥,从而增强了物联网环境下信息传输的安全性,大大降低了信息被窃取的风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明用于集中控制式密钥管理的方法一个实施例的示意图。

图2为本发明一个实施例中通过单向函数生成密钥链的示意图。

图3为本发明用于集中控制式密钥管理的方法另一实施例的示意图。

图4为本发明一个实施例中物联网业务实现场景的示意图。

图5为图4物联网业务实现场景中物联网网关变更后的示意图。

图6为图4物联网业务实现场景中新增物联网终端后的示意图。

图7为本发明用于集中控制式密钥管理的服务器一个实施例的示意图。

图8为本发明一个实施例中密钥链生成模块的示意图。

图9为本发明一个实施例中密钥链发送模块的示意图。

图10为本发明用于集中控制式密钥管理的服务器另一实施例的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为本发明用于集中控制式密钥管理的方法一个实施例的示意图。优选的,本实施例可由用于集中控制式密钥管理的服务器执行。该方法包括以下步骤:

为所有的物联网节点建立一个三层的组通信系统,其中每一个叶节点对应于一个物联网终端成员dm,根节点对应于服务器根节点sr,其它为物联网网关节点gm。

步骤101,对物联网组成员进行排序,其中,物联网组成员包括物联网网关(物联网网关节点)gm和物联网终端(物联网终端成员)dm。

在本发明的一个实施例中,步骤101可以包括:分别对物联网网关gm和物联网终端dm进行排序。

步骤102,利用随机生成器随机生成初始化种子s。

步骤103,根据第一单向函数f和第二单向函数g分别生成第一密钥链{k}和第二密钥链{k}。

在本发明的一个实施例中,第一单向函数f和第二单向函数g可以为二次单向函数。

在本发明的一个实施例中,如图2所示,步骤103可以包括:

步骤1031,根据初始化种子s和第一单向函数f生成第一密钥链{k}的第1个密钥k1。

步骤1032,根据第一密钥链{k}的第i个密钥ki和第一单向函数f生成第一密钥链{k}的第i+1个密钥ki+1,其中i为大于0的自然数。

步骤1033,根据第一密钥链{k}的第1个密钥k1和第二单向函数g生成第二密钥链{k}的第1个密钥k1。

步骤1034,根据第二密钥链{k}的第j个密钥kj和第二单向函数g生成第二密钥链{k}的第j+1个密钥kj+1,其中j为大于0的自然数。

步骤104,根据物联网组成员的顺序,依次将第一密钥链{k}和第二密钥链{k}的密钥发送到相应的物联网组成员。

在本发明的一个实施例中,步骤104可以包括:

步骤1041,根据物联网终端的顺序,将第一密钥链{k}的密钥依次作为每个物联网终端与相应物联网网关的对偶密钥、以及物联网终端两两之间的对偶密钥,发送到相应的物联网终端和物联网网关。

步骤1042,根据物联网网关的顺序,将第二密钥链{k}的密钥依次作为每个物联网网关与服务器的对偶密钥、两两物联网网关之间的对偶密钥以及广播密钥,发送到相应的物联网网关和物联网终端。

基于本发明上述实施例提供的用于集中控制式密钥管理的方法, 可以通过服务器预先为两两物联网终端之间生成相应的对偶密钥,为每个物联网终端与相应物联网网关生成相应的对偶密钥,并发送给到相应的物联网终端和物联网网关;还可以为每个物联网网关与服务器之间生成相应的对偶密钥、为两两物联网网关之间生成相应的对偶密钥、生成广播密钥,并发送到相应的物联网网关和物联网终端。

因此,本发明上述实施例中用于通信的密钥不会被别的物联网设备获得,从而增强了物联网环境下信息传输的安全性,大大降低了信息被窃取的风险;因此适用于有一定安全需求的m2m(machinetomachine,机器对机器)信息传输领域、对于安全性和实时性要求较高的物联网终端等领域。

图3为本发明用于集中控制式密钥管理的方法另一实施例的示意图。优选的,本实施例可由用于集中控制式密钥管理的服务器执行。该方法包括以下步骤:

步骤301,服务器根节点sr分别和物联网网关gm及物联网终端dm建立安全通信信道。

步骤302,对物联网组成员进行初始化;分别对物联网网关gm和物联网终端dm进行排序;sr通过随机生成器生成初始化种子s。

步骤303,sr中存储的两个单向函数f和g用于计算产生密钥链,sr在内存中存储与相应dm对应的初始化种子s和生成的两个密钥链{k}和{k}。其中,生成密钥链{k}和{k}的具体步骤,与图1实施例中的步骤103,以及图2实施例相同或类似,这里不再详述。

步骤304,sr通过sr和dm间的安全信道、sr和gm间的安全信道,根据物联网终端的顺序,将第一密钥链{k}的密钥依次作为每个物联网终端与相应物联网网关的对偶密钥、以及物联网终端两两之间的对偶密钥,发送到相应的物联网终端和物联网网关。

例如:在本发明图4实施例的物联网业务实现场景中,对物联网网关gm和物联网终端dm进行排序后,sr下包括两个物联网网关gm1和gm2,物联网网关gm1下对应三个物联网终端dm1、dm2和dm3,物联网网关gm2下对应两个物联网终端dm4和dm5。

这时,将第一密钥链{k}中的第1至第5个密钥(即k1至k5)分别设定为dm1与gm1、dm2与gm1、dm3与gm1、dm4与gm2、dm5与gm2之间的对偶密钥;将第一密钥链{k}中的第6至第9个密钥(即k6至k9)分别设定为dm1与dm2、dm1与dm3、dm2与dm3、dm4与dm5之间的对偶密钥。

之后,sr通过和gm间的安全信道,将k1至k3发送给gm1,将k4至k5发送给gm2。

同时,sr通过和dm间的安全信道,将k1、k6、k7发送给dm1,将k2、k6、k8发送给dm2,将k3、k7、k8发送给dm3,将k4、k9发送给dm4,将k5、k9发送给dm5。

步骤305,sr通过sr和dm间的安全信道、sr和gm间的安全信道,根据物联网网关的顺序,将第二密钥链{k}的密钥依次作为每个物联网网关与服务器的对偶密钥、两两物联网网关之间的对偶密钥以及广播密钥,发送到相应的物联网网关和物联网终端。

例如:对于本发明图4实施例的物联网业务实现场景中,步骤305具体可以包括:

将第二密钥链{k}中的第1、第2个密钥(即k1、k2)分别设定为sr与gm1、sr与gm2之间的对偶密钥;将第二密钥链{k}中的第3个密钥(即k3)设定为gm1与gm2之间的对偶密钥;将将第二密钥链{k}中的第4个密钥(即k4)设定为广播密钥。

之后,sr通过和gm间的安全信道,将k1、k3、k4发送给gm1,将k2、k3、k4发送给gm2。

同时,sr通过和dm间的安全信道,将广播密钥k4分别发送给dm1至dm5中的每一个。

步骤306,在物联网组成员发生变化的情况下,在物联网组成员发生变化前进行广播通知,其中,物联网组成员的变化包括变更、增加、删除等变化中的至少一种。

步骤307,对物联网组成员的密钥进行更新。

下面结合几种物联网组成员发生变化的具体情况,对步骤307如 何进行密钥更新进行进一步说明:

第一、对于物联网网关变更。

例如:图5所示的物联网业务实现场景,将图4所示的物联网业务实现场景中的物联网网关gm1变更为gm3。这种情况下,步骤307可以包括:将第一密钥链{k}中与变更前物联网网关gm1相关的密钥(k1至k3)发送给变更后的物联网网关gm3;并将第二密钥链{k}中与变更前物联网网关gm1相关的密钥(k1、k3、k4)发送给变更后的物联网网关gm3。

第二、对于新增物联网终端的情况。

例如:图6所示的物联网业务实现场景,在图4所示的物联网业务实现场景中新增了物联网终端dm6。这种情况下,步骤301还可以包括:服务器根节点sr建立与物联网终端dm6的安全通信信道。

这种情况下,步骤307可以包括:在当前第一密钥链{k}中增加相应密钥,其中相应密钥包括新增物联网终端dm6与相应物联网网关gm1的对偶密钥k10、以及新增物联网终端dm6与该物联网网关下gm1原物联网终端(dm1、dm2和dm3)之间的对偶密钥(k11、k12和k13)。之后将k10、k11、k12、k13和广播密钥k4发送给新增物联网终端dm6;将k10发送物联网网关gm1;并将k11、k12和k13分别发送给原物联网终端dm1、dm2和dm3。

第三、对于删除物联网终端的情况。

若在图4所示的物联网业务实现场景中删除了物联网终端dm3,则可以指示其他物联网组成员的密钥保持不变,或者可以指示其他物联网组成员删除与dm3有关的密钥。

在本发明的另一实施例中,在物联网组成员发生变化的情况(例如以上三种变化的情况)下,可以重新执行对物联网组成员进行排序的步骤(步骤302),即随机对gm和dm进行重新随机排序生成新的密钥链{k}和{k},同时对gm和dm放入密钥进行同步变更。

步骤308,物联网组成员进行相互通信及并通过对偶密钥进行双向认证。

本发明上述实施例在图1实施例的基础上在服务器根节点sr分别和物联网网关gm及物联网终端dm建立安全通信信道,来发送生成的密钥,从而进一步提高了物联网环境下信息传输的安全性,进一步降低了信息被窃取的风险。

同时,本发明上述实施例在物联网组成员发生变化的情况下,可以对物联网组成员的密钥进行更新。例如当dm增加或删除时或gm变更时,sr可以通过下载新的密钥到新的gm处,在dm处进行密钥的更新,并跟相关的dm进行同步,从而确保了新的gm和dm之间的同步认证。

图7为本发明用于集中控制式密钥管理的服务器一个实施例的示意图。所述服务器包括排序模块71、随机生成器72、密钥链生成模块73和密钥发送模块74,其中:

排序模块71,用于对物联网组成员进行排序,其中,物联网组成员包括物联网网关和物联网终端。

在本发明的一个实施例中,排序模块71具体可以用于分别对物联网网关和物联网终端进行排序。

随机生成器72,用于随机生成初始化种子。

密钥链生成模块73,用于根据第一单向函数f和第二单向函数g分别生成第一密钥链{k}和第二密钥链{k}。

在本发明的一个实施例中,如图8所示,密钥链生成模块73包括第一密钥生成单元731和第二密钥生成单元732,其中:

第一密钥生成单元731,用于根据初始化种子和第一单向函数f生成第一密钥链{k}的第1个密钥;并根据第一密钥链{k}的第i个密钥和第一单向函数f生成第一密钥链{k}的第i+1个密钥,参见图2所示实施例,其中i为大于0的自然数。

第二密钥生成单元732,用于根据第一密钥链{k}的第1个密钥和第二单向函数g生成第二密钥链{k}的第1个密钥;并根据第二密钥链{k}的第j个密钥和第二单向函数g生成第二密钥链{k}的第j+1个密钥,参见图2所示实施例,其中j为大于0的自然数。

密钥发送模块74,用于根据物联网组成员的顺序,依次将第一密钥链{k}和第二密钥链{k}的密钥发送到相应的物联网组成员。

在本发明的一个实施例中,如图9所示,密钥发送模块74具体可以包括第一密钥发送单元741和第二密钥发送单元742,其中:

第一密钥发送单元741,用于根据物联网终端的顺序,依次将第一密钥链{k}的密钥发送到相应的物联网终端。

在本发明的一个优选实施例中,第一密钥发送单元731具体可以用于根据物联网终端的顺序,将第一密钥链{k}的密钥依次作为每个物联网终端与相应物联网网关的对偶密钥、以及物联网终端两两之间的对偶密钥,发送到相应的物联网终端和物联网网关。

第二密钥发送单元742,用于根据物联网网关的顺序,依次将第二密钥链{k}的密钥发送到相应的物联网网关。

在本发明的一个优选实施例中,第二密钥发送单元742具体可以用于根据物联网网关的顺序,将第二密钥链{k}的密钥依次作为每个物联网网关与服务器的对偶密钥、物联网网关两两之间的对偶密钥以及广播密钥,发送到相应的物联网网关和物联网终端。

基于本发明上述实施例提供的用于集中控制式密钥管理的服务器,可以预先为两两物联网终端之间生成相应的对偶密钥,为每个物联网终端与相应物联网网关生成相应的对偶密钥,并发送给到相应的物联网终端和物联网网关;还可以为每个物联网网关与服务器之间生成相应的对偶密钥、为两两物联网网关之间生成相应的对偶密钥、生成广播密钥,并发送到相应的物联网网关和物联网终端。

因此,本发明上述实施例中用于通信的密钥不会被别的物联网设备获得,从而增强了物联网环境下信息传输的安全性,大大降低了信息被窃取的风险;因此适用于有一定安全需求的m2m信息传输领域、对于安全性和实时性要求较高的物联网终端等领域。

图10为本发明本发明用于集中控制式密钥管理的服务器另一实施例的示意图。与图7所示实施例相比,在图10所示实施例中,所述服务器还可以包括变化通知模块75和密钥更新模块76,其中:

变化通知模块75,用于在物联网组成员发生变化的情况下,在物联网组成员发生变化前进行广播通知,其中,物联网组成员的变化包括变更、增加、删除等变化中的至少一种。

密钥更新模块76,用于对物联网组成员的密钥进行更新。

在本发明的一个实施例中,密钥更新模块76具体可以用于在物联网网关变更的情况下,将第一密钥链{k}中与变更前物联网网关相关的密钥发送给变更后的物联网网关,并指示密钥发送模块74将第二密钥链{k}中与变更前物联网网关相关的密钥发送给变更后的物联网网关;在新增物联网终端的情况下,在当前第一密钥链{k}中增加相应密钥,并指示密钥发送模块74将增加的相应密钥发送给对应的物联网终端和物联网网关,其中相应密钥包括新增物联网终端与相应物联网网关的对偶密钥、以及新增物联网终端与该物联网网关下原物联网终端之间的对偶密钥;或者,在物联网组成员发生变化的情况下,指示排序模块71重新执行对物联网组成员进行排序的操作。

本发明上述实施例在物联网组成员发生变化的情况下,可以对物联网组成员的密钥进行更新。例如当dm增加或删除时或gm变更时,sr可以通过下载新的密钥到新的gm处,在dm处进行密钥的更新,并跟相关的dm进行同步,从而确保了新的gm和dm之间的同步认证。

在本发明的一个实施例中,如图10所示,所述服务器还可以包括安全通道建立模块77,其中:

安全通道建立模块77,用于分别建立服务器根节点sr和物联网网关gm及物联网终端dm之间的安全通信信道,以便密钥发送模块74通过所述安全通信信道将密钥链生成模块73生成的密钥发送给相应的物联网组成员。

本发明上述实施例上述实施例的基础上通过安全通道建立模块77在服务器根节点sr分别和物联网网关gm及物联网终端dm建立安全通信信道,来发送生成的密钥,从而进一步提高了物联网环境下信息传输的安全性,进一步降低了信息被窃取的风险。

在上面所描述的服务器可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(plc)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。

至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1