密钥分配方法和装置与流程

文档序号:14478795阅读:386来源:国知局

本发明涉及网络安全技术领域,特别是涉及密钥分配方法和装置。



背景技术:

可穿戴智能设备已广泛应用在军事国防、环境监测、医疗健康、工业以及高危领域的数据监控等领域。由于可穿戴智能设备的体系结构是开放的,其自身的一些特点决定了网络的安全性较差,不法分子可以容易地窃听、截获和伪造传输的信息,因此安全性成为了可穿戴智能设备急需解决的关键问题之一。

例如在由便携式医疗遥感设备构成的无线传感网络中,由于没有认证中心,且设备节点的处理能力有限,因此大多数已有的密钥协商机制不能直接应用在这样的无线传感网络中,因此,难以有效保证无线传感网络中设备节点的安全性。



技术实现要素:

基于此,有必要针对现有密钥协商机制难以保证无线传感网络中设备节点的安全性的问题,提供一种密钥分配方法和装置。

本发明实施例提供的方案包括:

一种密钥分配方法,包括:

获取网络节点在网络中的节点标识,对所述节点标识进行数值运算得到第一数值序列;其中,各网络节点的节点标识在网络中唯一;

根据所述第一数值序列确定出对应的第二数值序列;

根据所述第一数值序列、第二数值序列从预先确定的密钥集合中选取对应的集合元素,得到所述网络节点对应的密钥。

在一实施例中,对所述节点标识进行数值运算得到第一数值序列的步骤包括:

对所述节点标识进行哈希运算,得到对应的中间值;对所述中间值进行模运算,得到第一数值序列。

在一实施例中,根据所述第一数值序列确定出对应的第二数值序列的步骤包括:

对所述第一数值序列进行转置,得到对应的第二数值序列。

在一实施例中,所述密钥集合包括公钥矩阵和私钥矩阵;

根据所述第一数值序列、第二数值序列从预先确定的密钥集合中选取对应的集合元素,得到所述网络节点对应的密钥的步骤包括:

根据所述第一数值序列、第二数值序列从公钥矩阵中选取一个矩阵元素作为公钥;根据所述第一数值序列、第二数值序列从私钥矩阵中选取一个矩阵元素作为私钥;由此得到所述网络节点对应的密钥对。

在一实施例中,根据所述第一数值序列、第二数值序列从公钥矩阵中选取一个矩阵元素作为公钥;根据所述第一数值序列、第二数值序列从私钥矩阵中选取一个矩阵元素作为私钥的步骤包括:

根据所述第一数值序列中各元素确定矩阵的行,根据第二数值序列中各元素确定矩阵的列,根据确定出的行和列,分别从公钥矩阵、私钥矩阵中选取第一矩阵元素作为公钥、第二矩阵元素作为私钥。

在一实施例中,得到所述网络节点对应的密钥对之后,还包括:

将所述公钥发送给所述网络节点,将所述密钥对发送给所述所述网络节点对应的服务器。

在一实施例中,所述网络节点包括设备标签以及标签识别节点,所述服务器为设备监控服务器。

一种密钥分配装置,包括:

第一序列确定模块,用于获取网络节点在网络中的节点标识,对所述节点标识进行数值运算得到第一数值序列;其中,各网络节点的节点标识在网络中唯一;

第二序列确定模块,用于根据所述第一数值序列确定出对应的第二数值序列;

以及,密钥确定模块,用于根据所述第一数值序列、第二数值序列从预先确定的密钥集合中选取对应的集合元素,得到所述网络节点对应的密钥。

实施上述实施例具有以下有益效果:通过对网络节点的节点标识进行数值运算得到第一数值序列和第二数值序列;根据所述第一数值序列、第二数值序列从预先确定的密钥集合中选取对应的集合元素,得到所述网络节点对应的密钥;即根据网络节点在网络中的节点标识为其分配对应的密钥对,有效保证了密钥分配的安全性,提高了无线传感网络中设备节点的安全性的问题。

附图说明

图1为一实施例的密钥分配方法的示意性流程图;

图2为一实施例的密钥分配系统的示意性结构图;

图3为一实施例的密钥分配装置的示意性结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明各实施例中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。

图1为一实施例的密钥分配方法的示意性流程图;如图1所示,本实施例中的密钥分配方法包括步骤:

s11,获取网络节点在网络中的节点标识,对所述节点标识进行数值运算得到第一数值序列;其中,各网络节点的节点标识在网络中唯一。

其中,节点标识可以是节点id,用于唯一识别网络中不同的网络节点。

在一实施例中,在所述步骤s11之前,还包括步骤:为系统中每一个网络节点分配唯一确定的节点id。

s12,根据所述第一数值序列确定出对应的第二数值序列。

其中,所述第一数值序列和第二数值序列包含的元素总数相同。

s13,根据所述第一数值序列、第二数值序列从预先确定的密钥集合中选取对应的集合元素,得到所述网络节点对应的密钥。

在一可选实施例中,上述的所述密钥集合包括公钥矩阵和私钥矩阵,所述公钥矩阵和私钥矩阵中均包含多个矩阵元素。对应地,根据所述第一数值序列、第二数值序列从预先确定的密钥集合中选取对应的集合元素,得到所述网络节点对应的密钥的步骤包括:根据所述第一数值序列、第二数值序列从公钥矩阵中选取一个矩阵元素作为公钥;根据所述第一数值序列、第二数值序列从私钥矩阵中选取一个矩阵元素作为私钥;由此得到所述网络节点对应的密钥。

在其他可选实施例中,还可根据所述第一数值序列从预先确定的密钥集合中选取一个集合元素,根据所述第二数值序列从所述密钥集合中再选取一个集合元素,由此得到所述网络节点对应的密钥对。

上述方法,通过对网络节点的节点标识进行数值运算得到第一数值序列和第二数值序列;根据所述第一数值序列和第二数值序列从预先确定的密钥集合中选取对应的集合元素,由此得到所述网络节点对应的密钥;即根据网络节点在网络中的节点标识为其分配对应的密钥对,有效保证了密钥分配的安全性,提高了无线传感网络中设备节点的安全性的问题。

在一实施例中,通过对所述第一数值序列进行转置处理,得到对应的第二数值序列。可以理解的,由第一数值序列确定对应的第二数值序列的具体实现方式还可以是其他方式,上述实施例作为一可选实施例,不应当理解为对上述步骤实现方式的唯一限定。

在一可选实施例中,上述的对所述节点标识进行数值运算得到第一数值序列的步骤包括:对所述节点标识进行哈希运算,得到对应的中间值;对所述中间值进行模运算,得到第一数值序列。

哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。所述对所述节点标识进行哈希运算,得到对应的中间值,即得到所述节点标识对应的哈希值。然后通过对所述哈希值进行模运算,得到与所述节点标识相关的第一数值序列。该方式既能保证得到的第一数值序列与网络节点的节点标识相关,又能较好的区分不同的网络节点。可以理解的,第一数值序列的具体确定方式还可以是其他方式,上述实施例作为一可选实施例,不应当理解为对该过程的唯一限定。

在一可选实施例中,上述的根据所述第一数值序列、第二数值序列从公钥矩阵中选取一个矩阵元素作为公钥;根据所述第一数值序列、第二数值序列从私钥矩阵中选取一个矩阵元素作为私钥的步骤包括:根据所述第一数值序列中各元素确定矩阵的行,根据第二数值序列中各元素确定矩阵的列,根据确定出的行和列,分别从公钥矩阵、私钥矩阵中选取第一矩阵元素作为公钥、第二矩阵元素作为私钥。即将第一数值序列、第二数值序列中的元素作为矩阵元素选取的索引,并非将第一数值序列、第二数值序列中元素本身的数值作为密钥,进一步提高了密钥分配的安全性。

在一可选实施例中,通过上述实施例得到所述网络节点对应的密钥对之后,还包括:将所述公钥发送给所述网络节点,将所述密钥对发送给所述所述网络节点对应的服务器。可选地,所述网络节点包括设备标签以及标签识别节点,不同类型的网络节点共同构成一个网络系统。可选的,所述服务器为针对设备的监控服务器。

可以理解的,上述实施例的方法,可应用于无线传感器网络中,其中,所述网络节点包括设备标签以及标签识别节点,所述服务器为设备监控服务器。

下面以监控便携式医疗遥感设备的无线传感网络为例,对本发明的密钥分配方法进行举例说明。参见图2所示,上述无线传感网络中包括:便携式医疗遥感设备、标签识别节点(srn)、远程监控服务器(rms)以及密钥发行服务器(kms),所述便携式医疗遥感设备设置有设备标签(sig);构成的网络如图2所示。其中,远程监控服务器与密钥分发服务器分别有确定的网络标识符,他们之间存在可靠连接。kms为系统中每一个网络节点指定唯一确定的节点id,并在设定节点前通过安全的方式递交给各个网络节点。rms记录着系统中有效节点id数据库,用于匹配当前系统中有效的节点id。在已经建立的网络结构中,子节点允许同父节点进行通信,例如:设备标签(sig)与标签识别节点(srn)进行通信,标签识别节点(srn)与远程监控服务器(rms)进行通信。

首先,kms根据实际需要情况设定参数,使用椭圆曲线算法构建出密钥组合的密钥矩阵a,密钥矩阵b。其中,密钥矩阵a为公钥矩阵,密钥矩阵b为私钥矩阵。

进一步地,密钥发行服务器(kms)根据节点id计算网络节点对应的密钥的步骤如下:

s1:通过哈希函数算法运算将网络节点的节点id进行转换成中间变量x;

s2:对x进行模运算得到模m的随机数序列(i0,i1,…,ih-1);(其中m为密钥矩阵中的行数,h为密钥矩阵中的列数);

s3:对随机数序列(i0,i1,…,ih-1)进行转置换得到序列(j0,j1,…,jh-1)t

s4:以得到的两个序列作为矩阵元素的所在位置的索引,分别在a与b矩阵中选取相应的矩阵元素,由此得到各网络节点对应的密钥对。

此后,密钥发行服务器(kms)在设定节点前,通过安全的方式将公钥递交给各个网络节点,将密钥对通过安全的方式发送至远程监控服务器(rms)。标签识别节点(srn)和设备标签(sig)采用各自的公钥发送信息,远程监控服务器(rms)根据所述密钥对得到对应的私钥,进而对标签识别节点(srn)或者设备标签(sig)发送的信息进行解密,由此得到网络中便携式医疗遥感设备的信息。

需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。此外,还可对上述实施例进行任意组合,得到其他的实施例。

基于与上述实施例中的密钥分配方法相同的思想,本发明还提供密钥分配装置,该装置可用于执行上述密钥分配方法。为了便于说明,密钥分配装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

图3为本发明一实施例的密钥分配装置的示意性结构图;如图3所示,本实施例的密钥分配装置包括:

第一序列确定模块,用于获取网络节点在网络中的节点标识,对所述节点标识进行数值运算得到第一数值序列;其中,各网络节点的节点标识在网络中唯一;

第二序列确定模块,用于根据所述第一数值序列确定出对应的第二数值序列;

以及,密钥确定模块,用于根据所述第一数值序列、第二数值序列从预先确定的密钥集合中选取对应的集合元素,得到所述网络节点对应的密钥。

在一可选实施例中,所述第一序列确定模块,具体用于对所述节点标识进行哈希运算,得到对应的中间值;对所述中间值进行模运算,得到第一数值序列。

在一可选实施例中,所述第二序列确定模块,具体用于对所述第一数值序列进行转置,得到对应的第二数值序列。

在一可选实施例中,所述密钥集合包括公钥矩阵和私钥矩阵;所述密钥确定模块,具体用于根据所述第一数值序列、第二数值序列从公钥矩阵中选取一个矩阵元素作为公钥;根据所述第一数值序列、第二数值序列从私钥矩阵中选取一个矩阵元素作为私钥;由此得到所述网络节点对应的密钥对。

在一可选实施例中,所述密钥分配装置还包括:密钥分发模块,用于将所述公钥发送给所述网络节点,将所述密钥对发送给所述所述网络节点对应的服务器。

可选地,上述实施例中,网络节点包括设备标签以及标签识别节点,所述服务器为设备监控服务器。

需要说明的是,密钥分配装置与本发明的密钥分配方法基于同一构思,在密钥分配装置的实施方式中,各模块之间的信息交互、执行过程等内容,与上述方法实施例一一对应。在上述密钥分配方法的实施例阐述的技术特征及其有益效果均适用于密钥分配装置的实施例中,特此声明。

此外,上述示例的密钥分配装置的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述密钥分配装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,作为独立的产品销售或使用。所述程序在执行时,可执行如上述各实施例的方法的全部或部分步骤。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

据此,在一个实施例中还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种密钥分配方法。

此外,所述存储介质还可设置与一种计算机设备中,所述计算机设备中还包括处理器,所述处理器执行所述存储介质中的程序时,能够实现上述各实施例的方法的全部或部分步骤。

据此,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种密钥分配方法。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

可以理解,本发明实施例所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

以上所述实施例仅表达了本发明的几种实施方式,不能理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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