欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 管理密钥的方法、系统及可读存储介质独创技术42071字

管理密钥的方法、系统及可读存储介质

2021-04-08 14:48:05

管理密钥的方法、系统及可读存储介质

  技术领域

  本申请涉及无线传输技术领域,特别涉及一种管理密钥的方法、系统及可读存储介质。

  背景技术

  在无线传输技术中,需要通过密钥对携带信息的信号进行加密,以避免在传输信号的过程中发生信息泄漏。因此,如何对密钥进行管理,是保证无线传输安全性的关键。

  相关技术提供一种管理密钥的方法,该方法首先通过主机端与从机端协商得到初始密钥。主机端得到新密钥后,向从机端发送唤醒指令,在接收到从机端针对该唤醒指令返回的应答信息后,将新密钥发送给从机端,以使从机端将新密钥代替初始密钥,从而完成初始密钥的更新。

  可以看出,相关技术需要先由主机端向从机端发送唤醒指令,才能实现初始密钥的更新,因而相关技术所需的功耗较高。

  申请内容

  本申请实施例提供了一种管理密钥的方法、系统、装置、设备及可读存储介质,以解决相关技术所需的功耗较高的问题。所述技术方案如下:

  一方面,提供了一种管理密钥的方法,所述方法包括:

  主机端接收目标从机端发送的更新信息,根据所述更新信息确定初始密钥是否需要更新;

  若所述初始密钥需要更新,基于所述更新信息获取新密钥;

  向所述目标从机端发送所述新密钥,以使所述目标从机端将所述新密钥代替所述初始密钥。

  可选地,所述根据所述更新信息确定初始密钥是否需要更新,包括:

  若接收到所述更新信息的次数不小于参考次数,确定所述初始密钥需要更新。

  可选地,所述更新信息包括滚动码;

  所述基于所述更新信息获取新密钥,包括:

  按照参考方式对所述滚动码进行计算,得到计算结果,将所述计算结果作为所述新密钥。

  可选地,所述主机端接收目标从机端发送的更新信息,包括:

  所述主机端接收所述目标从机端发送的更新组包,所述更新组包携带所述更新信息。

  可选地,所述向所述目标从机端发送所述新密钥之后,所述方法还包括:

  接收所述目标从机端发送的针对所述新密钥的回复信息;

  若所述回复信息不是通过所述新密钥加密过的信息,重新向所述目标从机端发送所述新密钥。

  可选地,所述主机端接收目标从机端发送的更新信息之前,所述方法还包括:

  获取序列号,将所述序列号指示的从机端作为所述目标从机端;

  基于所述目标从机端获取所述初始密钥。

  可选地,所述基于所述目标从机端获取所述初始密钥,包括:

  向所述目标从机端发送主机密钥信息,所述主机密钥信息包括主机数值与基点的乘积,所述基点为参考椭圆曲线上的任意一点;

  接收所述目标从机端发送的从机密钥信息,所述从机密钥信息包括从机数值与所述基点的乘积;

  基于所述参考椭圆曲线,获取所述主机数值与所述从机密钥信息的乘积,将所述主机数值与所述从机密钥信息的乘积作为所述初始密钥。

  可选地,所述基于所述目标从机端获取所述初始密钥之后,所述方法还包括:

  向所述目标从机端发送注册信息,所述注册信息包括根据所述初始密钥加密过的主机信息;

  接收所述目标从机端发送的针对所述注册信息的应答信息,所述应答信息包括根据所述初始密钥加密过的从机信息;

  根据所述初始密钥解密所述应答信息,以完成与所述目标从机端之间的注册。

  一方面,提供了一种管理密钥的系统,所述系统包括:

  主机端,用于接收目标从机端发送的更新信息,根据所述更新信息确定初始密钥是否需要更新;若所述初始密钥需要更新,基于所述更新信息获取新密钥;向所述目标从机端发送所述新密钥;

  目标从机端,用于向所述主机端发送更新信息,接收所述主机端发送的新密钥,将所述新密钥代替所述初始密钥。

  可选地,所述主机端,用于若接收到所述更新信息的次数不小于参考次数,确定所述初始密钥需要更新。

  可选地,所述更新信息包括滚动码;所述主机端,用于按照参考方式对所述滚动码进行计算,得到计算结果,将所述计算结果作为所述新密钥。

  可选地,所述主机端,用于接收所述目标从机端发送的更新组包,所述更新组包携带所述更新信息。

  可选地,所述主机端,还用于接收所述目标从机端发送的针对所述新密钥的回复信息;若所述回复信息不是通过所述新密钥加密过的信息,重新向所述目标从机端发送所述新密钥。

  可选地,所述主机端,还用于获取序列号,将所述序列号指示的从机端作为所述目标从机端;基于所述目标从机端获取所述初始密钥。

  可选地,所述主机端,用于向所述目标从机端发送主机密钥信息,所述主机密钥信息包括主机数值与基点的乘积,所述基点为参考椭圆曲线上的任意一点;接收所述目标从机端发送的从机密钥信息,所述从机密钥信息包括从机数值与所述基点的乘积;基于所述参考椭圆曲线,获取所述主机数值与所述从机密钥信息的乘积,将所述主机数值与所述从机密钥信息的乘积作为所述初始密钥。

  可选地,所述主机端,还用于向所述目标从机端发送注册信息,所述注册信息包括根据所述初始密钥加密过的主机信息;接收所述目标从机端发送的针对所述注册信息的应答信息,所述应答信息包括根据所述初始密钥加密过的从机信息;根据所述初始密钥解密所述应答信息,以完成与所述目标从机端之间的注册。

  一方面,提供了一种管理密钥的装置,所述装置包括:

  接收模块,用于主机端接收目标从机端发送的更新信息;

  确定模块,用于根据所述更新信息确定初始密钥是否需要更新;

  第一获取模块,用于若所述初始密钥需要更新,基于所述更新信息获取新密钥;

  第一发送模块,用于向所述目标从机端发送所述新密钥,以使所述目标从机端将所述新密钥代替所述初始密钥。

  可选地,所述确定模块,用于若接收到所述更新信息的次数不小于参考次数,确定所述初始密钥需要更新。

  可选地,所述更新信息包括滚动码;

  所述第一获取模块,用于按照参考方式对所述滚动码进行计算,得到计算结果,将所述计算结果作为所述新密钥。

  可选地,所述接收模块,用于所述主机端接收所述目标从机端发送的更新组包,所述更新组包携带所述更新信息。

  可选地,所述装置还包括:

  第二发送模块,用于接收所述目标从机端发送的针对所述新密钥的回复信息;若所述回复信息不是通过所述新密钥加密过的信息,重新向所述目标从机端发送所述新密钥。

  可选地,所述装置还包括:

  第二获取模块,用于获取序列号,将所述序列号指示的从机端作为所述目标从机端;基于所述目标从机端获取所述初始密钥。

  可选地,所述第二获取模块,用于向所述目标从机端发送主机密钥信息,所述主机密钥信息包括主机数值与基点的乘积,所述基点为参考椭圆曲线上的任意一点;接收所述目标从机端发送的从机密钥信息,所述从机密钥信息包括从机数值与所述基点的乘积;基于所述参考椭圆曲线,获取所述主机数值与所述从机密钥信息的乘积,将所述主机数值与所述从机密钥信息的乘积作为所述初始密钥。

  可选地,所述装置还包括:

  注册模块,用于向所述目标从机端发送注册信息,所述注册信息包括根据所述初始密钥加密过的主机信息;接收所述目标从机端发送的针对所述注册信息的应答信息,所述应答信息包括根据所述初始密钥加密过的从机信息;根据所述初始密钥解密所述应答信息,以完成与所述目标从机端之间的注册。

  一方面,提供了一种管理密钥的设备,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现本申请实施例提供的管理密钥的方法。

  另一方面,提供了一种可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现本申请实施例提供的管理密钥的方法。

  本申请实施例提供的技术方案带来的有益效果至少包括:

  本申请实施例通过目标从机端发送的更新信息来确定初始密钥是否需要更新,因而省略了主机端向从机端发送唤醒指令的过程,降低了更新初始密钥所需的功耗。

  附图说明

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

  图1是本申请实施例提供的实施环境示意图;

  图2是本申请实施例提供的管理密钥的方法的流程图;

  图3是本申请实施例提供的组包格式图;

  图4是本申请实施例提供的组包格式图;

  图5是本申请实施例提供管理密钥的交互图;

  图6是本申请实施例提供的参考椭圆曲线的示意图;

  图7是本申请实施例提供的组包格式图;

  图8是本申请实施例提供管理密钥的交互图;

  图9是本申请实施例提供管理密钥的交互图;

  图10是本申请实施例提供的管理密钥的装置的结构示意图。

  具体实施方式

  为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

  在无线传输技术中,两端设备之间用于传输信号的通道称为信道。由于信道是无线的,因而信道可能被两端设备以外的第三方窃听或干扰,则信道传输的信号被捕获,从而导致信号所携带的信息泄漏。

  因此,需要通过密钥对携带信息的信号进行加密,使得第三方即使捕获了加密后的信号,也无法对该加密后的信号进行解密,即第三方获取不到加密后的信号所携带的信息,从而避免了上述信息泄漏。可以看出,如何对密钥进行管理,是保证无线传输安全性的关键。

  相关技术提供了一种管理密钥的方法,该方法可应用于主机端与从机端之间的无线传输。方法包括:首先通过主机端与从机端协商得到初始密钥。在主机端得到新密钥后,向从机端发送唤醒指令,在接收到从机端针对该唤醒指令返回的应答信息后,将新密钥发送给从机端,以使从机端将新密钥代替初始密钥,从而完成初始密钥的更新。

  然而,相关技术需要先由主机端向从机端发送唤醒指令,在接收到从机端返回的应答信息后,才能实现初始密钥的更新。因此,相关技术中主机端与从机端的交互次数较多,更新初始密钥的过程较为复杂,从而使得相关技术所需的功耗较高。

  本申请实施例提供了一种管理密钥的方法,该方法可应用于如图1所示的无线报警系统的实施环境中。该无线报警系统用于报警探测,由一个或多个从机端11、主机端12和客户端13组成。图1中,从机端13可与主机端12进行通信连接,以与主机端12进行交互,交互通过sub-g无线传输。另外,主机端12还与客户端13通过有线或移动网格进行通信连接,以实现与客户端13的交互。

  其中,从机端11包括无线探测器、无线辅助设备以及无线输出设备,主机端12包括报警主机。无线探测器包括位移探测器、紧急按钮、红外探测器、门磁、烟感气感探测器以及温感水浸探测器。无线辅助设备包括中继器及遥控器,无线输出设备包括无线警号及无线警灯。主机端12基于无线辅助设备获取无线探测器的探测结果,根据探测结果确定是否控制无线输出设备进行声光示警,以及将探测结果发送给客户端13。由于从机端11可通过电池供电,因而需要在无线传输方面进行低功耗方面的考虑,而又不失安全性。

  本领域技术人员应能理解上述无线报警系统仅为举例,本申请实施例提供的方法除了可以应用于图1所示的无线报警系统中,还可以应用于其他无线报警系统中,或者有秘钥管理需求的其他系统中,本申请实施例对此不加以限定。

  基于上述图1所示的实施环境,参见图2,本申请实施例提供了一种管理密钥的方法,该方法可应用于图1所示的主机端12中。如图2所示,该方法包括:

  步骤201,主机端接收目标从机端发送的更新信息,根据更新信息确定初始密钥是否需要更新。

  其中,目标从机端是可在休眠状态与唤醒状态之间切换的从机端。当处于休眠状态的目标从机端被唤醒后,目标从机端切换为唤醒状态,处于唤醒状态的目标从机端可向主机端发送更新信息。在目标从机端向主机端发送更新信息后,主机端便接收到目标从机端发送的更新信息,该更新信息用于主机端确定初始密钥是否需要更新。

  在本实施例中,更新信息包括但不限于目标从机端的心跳信息。在无线传输技术中,若主机端与目标从机端之间不进行信息传输,则目标从机端处于休眠状态,以避免浪费功耗。在目标从机端处于休眠状态的过程中,目标从机端会定时自动唤醒,并主动向主机端上报用于指示目标从机端状态正常的信息,该信息即为心跳信息。

  可以看出,本实施例利用了目标从机端定时自动唤醒这一过程,将目标从机端发送的心跳信息作为更新信息,使得主机端可根据该心跳信息确定初始密钥是否需要更新。相比于相关技术中,主机端需要先向目标从机端发送唤醒指令,将处于休眠状态的目标从机端唤醒,才能实现初始密钥的更新,本实施例通过省略发送唤醒指令来降低交互次数,从而实现了功耗的降低。

  当然,除了心跳信息以外,更新信息还可以为处于唤醒状态的目标从机端主动上报的其他信息,或者处于休眠状态的目标从机端定时自动唤醒并上报的其他信息,均能省略发送唤醒指令这一步骤,本实施例在此不对更新信息加以限定。

  需要说明的是,初始密钥是主机端与目标从机端通信连接后,通过协商首次获取的密钥。在获取初始密钥之后,以及对初始密钥进行更新之前,主机端与目标从机端之间均可通过该初始密钥来进行信息的传输。进行信息传输时,作为发送端的一方根据初始密钥对原始信息进行加密,得到加密信息并发送给作为接收端的另一方;作为接收端的另一方也根据初始密钥对加密信息进行解密,将加密信息还原为原始信息,从而完成信息传输。例如,上述主机端所接收的目标从机端发送的更新信息,便为通过初始密钥加密过的信息。

  在本实施例中,主机端通过更新信息来确定初始密钥的更新时机,以保证信息传输的安全性。可选地,根据更新信息确定初始密钥是否需要更新,包括:若接收到更新信息的次数不小于参考次数,确定所述初始密钥需要更新。

  其中,在获取初始密钥之后,目标从机端每隔参考时间向主机端发送一次根据初始密钥加密过的更新信息,主机端可根据累计到接收更新信息的次数,来间接确认初始密钥已使用的时间。若主机端接收到更新信息的次数不小于参考次数,则说明初始密钥已使用的时间足够长,则此时可确定初始密钥需要更新。

  需要说明的是,目标从机端两次发送更新信息之间的参考时间越短,即目标从机端发送更新信息的频率越高,则主机端有更多的机会来确定初始密钥是否需要更新,从而保证初始密钥能够被及时更新。该参考时间可根据经验来选取,本实施在此不加以限定。

  另外,除了根据接收到更新信息的次数来确定初始密钥是否需要更新以外,还可以获取接收到更新信息的时间点与获取初始密钥的时间点之间的时间间隔,根据该时间间隔来确定初始密钥是否需要更新。其中,主机端设置有用于指示初始需要更新的参考间隔,对于接收到的任一更新信息,若时间间隔与参考间隔之间的差值不大于阈值,则可确定初始密钥需要进行更新。

  进一步地,若在超过上述参考间隔后仍未收到更新信息,则可结合相关技术中主机端向目标从机端发送唤醒指令的方式来实现初始密钥的更新,从而保证初始能够及时被更新。在该方式下,相比于相关技术每次更新初始密钥均由主机端将目标从机端唤醒,本方案只有在超过参考间隔后仍未收到更新信息的情况下才由主机端将目标从机端唤醒,而其他情况可通过更新信息来进行密钥更新,因而降低了主机端将目标从机端唤醒的频次,仍然降低了交互次数,使得功耗降低。

  可选地,对于主机端接收目标从机端发送的更新信息的方式,包括:主机端接收目标从机端发送的更新组包,更新组包携带更新信息。在该方式下,目标从机端向主机端发送更新组包,该更新组包仍可通过初始密钥进行加密。主机端在接收到该更新组包之后,可对该更新组包进行解析,从而得到更新组包中携带的更新信息。

  在根据更新信息确定初始密钥是否需要更新之后,若确定结果为初始密钥不需要更新,则主机端继续等待接收目标从机端下一次发送的更新信息,并在下一次接收到更新信息时,重复按照上述方法确定初始密钥是否需要更新。若确定结果为初始密钥需要更新,则可进一步触发主机端获取新密钥。

  步骤202,若初始密钥需要更新,基于更新信息获取新密钥。

  在本实施例中,若初始密钥需要更新,则主机端基于接收的更新信息来获取新密钥。可选地,更新信息包括滚动码。则基于更新信息获取新密钥,包括:按照参考方式对滚动码进行计算,得到计算结果,将计算结果作为新密钥。

  接下来,对滚动码进行说明:滚动码是一种滚动累加的数字码,主机端与目标从机端之间进行信息传输时,作为发送端的一方将滚动码与待传输的信息一起发送给作为接收端的一方,作为接收端的一方进行接收后,则完成了收发两端的滚动码同步。在下一次进行信息传输时,作为发送端的一方会增加当前同步的滚动码的数值,再按照上述说明进行发送。

  例如,以目标从机端作为发送端为例,目标从机端将滚动码1及待传输的信息发送给主机端,主机端进行接收后,目标从机端与发送端均同步了滚动码1。在下一次进行信息传输时,以主机端作为发送端为例,则主机端增加当前同步的滚动码1的数值,如将1增加为2,再将滚动码2与待传输的信息发送给目标从机端,目标从机端接收后则同步了滚动码2,该同步过程可多次进行。

  可以看出,在多次同步的过程中,滚动码的数值不断增加,即每次信息传输所使用的滚动码具有唯一性。因此,本实施例可基于该滚动码来获取新密钥,即按照参考方式对滚动码进行计算,得到计算结果,将计算结果作为新密钥,该新密钥同样也具有唯一性,因而新密钥的安全性较强。其中,参考方式包括但不限于伪随机算法。

  更新信息及滚动码均可通过更新组包来携带,更新组包的格式可参见图3。其中,更新组包包括数据头及数据主体。数据头包含组包信息及序列号,组包信息是指主机端与目标从机端之间进行通信所使用的通信协议信息,序列号包括主机端序列号及目标从机端序列号,用于标识该更新组包的来源及目的地。

  数据主体即为用于携带更新信息的数据段,数据主体包括上述更新信息、滚动码以及预留段。其中,更新信息已进行说明,此处不再加以赘述。若滚动码在多次信息传输过程中数值增大而导致滚动码所占字节大于参考字节长度,则可对滚动码进行初始化,从而减小滚动码所占字节,保证滚动码的正常使用。预留段为空白数据段,可用于携带目标从机端所定义的参考通信协议。若预留段携带了参考通信协议,则主机端与目标从机端之间通过上述组包信息以及参考通信协议进行通信。

  在本实施例中,数据头可进行明文传输,而数据主体需要根据初始密钥进行加密后传输,以保证更新组包的安全性。对于数据头和数据主体所占的字节,可例如为数据头占用12字节,数据主体占用16字节,也可根据其他需要进行调整。

  在主机端基于更新信息获取新密钥后,便可触发向目标从机端发送新密钥,以便于目标从机端完成初始密钥的更新。

  步骤203,向目标从机端发送新密钥,以使目标从机端将新密钥代替初始密钥,完成密钥管理。

  可选地,主机端可通过新密钥组包来向目标从机端发送新密钥,新密钥组包的格式如图4所示。其中,数据头格式与图3所示的更新组包格式相同,而通过初始密钥加密的数据主体包括主机端基于更新信息获取的新密钥、应答信息、滚动码以及预留段。需要说明的是,应答信息是针对目标从机端发送的更新信息的应答信息。滚动码是对用于获取新密钥的滚动码增加数值而得到的新滚动码,增加的数值可以为参考正整数,例如在本实施例中,增加的数值取为1、2或3。

  向目标从机端发送新密钥之后,目标从机端会将新密钥代替初始密钥,从而完成密钥管理。不过,由于该代替过程由目标从机端执行,而该代替过程存在失败的可能性,因而主机端需要对目标从机端是否成功执行了代替过程进行检验,以保证密钥管理的完成。因此,可选地,本实施例提供的方法还包括:

  接收目标从机端发送的针对新密钥的回复信息,若回复信息不是通过新密钥加密过的信息,重新向目标从机端发送新密钥。

  其中,目标从机端在接收到主机端发送的新密钥后,便会执行将新密钥代替初始密钥。参见图5,若该代替过程成功执行,则目标从机端将新密钥加密的信息作为回复信息发送给主机端。主机端接收到该根据新密钥加密的回复信息后,便可通过检测确认该回复信息为通过新密钥加密的信息,从而确认目标从机端已成功执行了代替过程,即已完成初始密钥的更新。

  相应地,若该代替过程执行失败,则目标从机端仍通过初始密钥加密信息得到回复信息,并发送给主机端。主机端通过检测确认该回复信息不是通过新密钥加密过的信息,从而确认目标从机端未完成初始密钥的更新,因而重新向目标从机端发送一次或发送多次新密钥,以保证目标从机端与主机端之间正常的信息交互。

  若主机端重新向目标从机端发送多次新密钥之后,目标从机端仍无法完成对初始密钥的更新,本实施例还提供以下方法:目标从机端与主机端仍通过初始密钥进行信息交互,等到主机端下一次接收到目标从机端发送的更新信息后,再对初始密钥进行更新。

  另外,在目标从机端成功将新密钥代替初始密钥之后,在使用新密钥进行信息传输之前,目标从机端还需要先调用转换算法对新密钥进行转换。其原因在于,主机端生成的新密钥的字节长度常常较小,以便于降低传输该新密钥所需的功耗,因而需要通过转换来增加新密钥的字节长度,以使得转换后的新密钥适满足不同类型的加密标准所要求的密钥字节长度。例如,新密钥为4字节,而AES(Advanced Encryption Standard,高级加密标准)-128中使用的密钥为128比特(8比特=1字节,即16字节),则需要调用转换算法将新密钥由4字节转换为16字节,以保证新密钥的正常使用。接下来,以4字节的新密钥表示为1234为例,对调用转换算法将4字节的新密钥转换为16字节密钥的过程进行说明:

  其中,16字节密钥中的第1-4字节保持新密钥的字节位置不变,即1-4字节为1234。第5-8字节为新密钥的奇数字节与偶数字节的数字互换,即5-8字节为2143。第9-12字节为新密钥的前2个字节与后2个字节的数字互换,即9-12字节为3412。第13-16字节仍保持新密钥的字节位置不变,即13-16字节为1234。因此,完成了将4字节的新密钥1234转换为16字节密钥1234,2134,3412,1234。

  当然,上述转换算法仅为举例,根据新密钥的字节长度、加密标准所要求的密钥字节长度的不同,还可以调用其他转换算法,本实施例对此不加以限定。无论调用哪种转换算法来完成转换,在后续的信息传输过程中,目标从机端与主机端均可通过转换后的新密钥来进行信息的互传。

  接下来,对主机端与目标从机端协商初始密钥的方式进行说明。可选地,在主机端接收目标从机端发送的更新信息之前,本实施例提供的方法还包括:

  获取序列号,将序列号指示的从机端作为目标从机端;基于目标从机端获取初始密钥。

  其中,一个序列号用于且仅用于对一个从机端进行指示,主机端通过获取序列号,便可将该序列号所指示的从机端作为目标从机端,从而与目标从机端建立通信连接,再与该目标从机端协商获取初始密钥。

  可选地,主机端获取序列号的方式包括但不限于以下两种:

  第一种获取序列号的方式:用户通过客户端将序列号输入主机端,则主机端在检测所输入的序列号之后,向多个从机端广播组包,从而获取序列号所指示的从机端作为目标从机端。该方式多用于远程通信。

  第二种获取序列号的方式:从机端将序列号上报至主机端,主机端接收到的序列号,并将发送该序列号的从机端,也就是该序列号所指示的从机端作为目标从机端。该方式多用于本地通信。由于该方式由从机端先发起,因而省略了主机端向多个从机端广播组包的过程,所需功耗较低。

  无论采用哪种方式获取序列号,在将序列号指示的从机端作为目标从机端之后,可进一步基于目标从机端获取初始密钥。可选地,获取初始密钥的方法包括:向目标从机端发送主机密钥信息,主机密钥信息包括主机数值与基点的乘积,基点为参考椭圆曲线上的一点;接收目标从机端发送的从机密钥信息,从机密钥信息包括从机数值与基点的乘积;基于参考椭圆曲线,获取主机数值与从机密钥信息的乘积,将主机数值与从机密钥信息的乘积作为初始密钥。

  其中,主机端与目标从机端之间在获取初始密钥之前已经确定好参考椭圆曲线及基点,例如,将参考椭圆曲线及基点分别输入主机端与目标从机端,则获取初始密钥的过程中,主机端和目标从机端直接调用参考椭圆曲线及基点即可。这种基于参考椭圆曲线及基点进行计算的方法称为ECDH算法,即基于ECC(Elliptic Curve Cryptosystems,椭圆曲线密码体制)的DH(Diffie-Hellman,迪菲-赫尔曼)的密钥交换算法。可选地,本实施例所采用的ECDH算法为secp128r1算法。

  主机数值rB是主机端产生的随机数,基点P为参考椭圆曲线上的任意一点,则主机密钥信息KB可表示为KB=rB×P。以图6所示的参考椭圆曲线为例,对主机数据与基点进行乘积的方式进行说明:

  在参考椭圆曲线中,rB×P的含义为rB个P相加。过点P做参考椭圆曲线的切线,该切线交参考椭圆曲线于第一过渡点2P’,第一过渡点关于横坐标的对称点即为P与P的相加结果2P。点P与点2P的连接线同样交参考椭圆曲线于第二过渡点3P’,第二过渡点关于横坐标的对称点即为P与2P的相加结果3P。按照同样方法,可根据点3P与点P得到点4P、根据点4P与点P得到点5P,以此类推,最终得到rB×P,即KB。可以看出,KB也为参考椭圆曲线上的一点。

  在获取主机密钥信息KB之后,主机端便将主机密钥信息KB。目标从机端进行接收后,同样产生一个随机数作为从机数值rA,基于参考椭圆曲线按照上述方法计算从机密钥信息KA=rA×P,并将从机密钥信息KA返回给主机端。

  之后,主机端再基于参考椭圆曲线计算主机数值rB与从机密钥信息KA的乘积作为初始密钥,即初始密钥Ke2=rB×KA。相应地,从机端也基于椭圆曲线计算从机数值rA与主机密钥信息KB的乘积作为初始密钥,即初始密钥Ke1=rA×KB。由于Ke2=rB×KA==rB×rA×P=rA×rB×P=rA×KB=Ke1,因此主机端与目标从机端获取了相同的初始密钥,从而实现了初始密钥的获取。

  对于获取的初始密钥,除了可在获取初始密钥之后、以及对初始密钥进行更新之前这段时间内,通过初始密钥对传输的信息进行加密以外,该初始密钥还可应用于后续每次主机端向目标从机端发送新密钥的过程。其原因在于,初始密钥是计算得到的,因而安全性较好,采用该初始密钥来发送新密钥会提高更新密钥的安全性。

  获取初始密钥过程中传输信息所使用的组包可参见图7。主机端向目标从机端发送信息时,数据主体为主机密钥信息KB,目标从机端向主机端发送信息时,数据主体为从机密钥信息KA。

  需要说明的是,采用非加密传输的方式来传输图7所示的组包即可。其原因在于,即使除主机端与目标从机端以外的第三方获取到主机密钥信息以及从机密钥信息,若该第三方想要获取初始密钥,则必须基于主机密钥信息以及基点计算得到主机数值(或者基于从机密钥信息以及基点计算得到从机数值),再根据主机数值与从机密钥信息得到初始密钥(或者根据从机数值与主机密钥信息得到初始密钥)。

  其中,计算主机数据(或从机数值)的过程面临椭圆曲线上的离散对数问题,计算过程较为困难,困难可理解为:计算所需要的时间大于该初始密钥的使用时间,也就是说,在第三方计算得到初始密钥之前,该初始密钥已被替换新密钥,因而第三方的计算不会导致信息的泄漏,也就是说,采用非加密传输的方式是可行的。

  可选地,在获取初始密钥之后,方法还包括:向目标从机端发送注册信息;接收目标从机端发送的针对注册信息的应答信息;根据初始密钥解密应答信息,以完成与目标从机端之间的注册。

  其中,主机端向目标从机端发送的注册信息包括根据初始密钥加密过的主机信息,目标从机端在接收到注册信息之后,根据初始密钥解密该注册信息便可获取主机信息,目标从机端可对该主机信息进行存储。之后,目标从机端向主机端发送的应答信息包括根据初始密钥加密过的从机信息,主机端进行接收后同样根据初始密钥解密应答信息得到从机信息,并对从机信息进行存储,从而完成主机端与目标从机端之间的注册。

  当然,除了通过上述主机端向目标从机端发送注册信息、目标从机端针对注册信息返回应答信息来完成注册以外,也可以是先由目标从机端向主机端发送注册信息(此时注册信息为根据初始密钥加密过的从机信息),主机端针对注册信息返回应答信息(此时应答信息为根据初始密钥加密过的主机信息),从而完成注册。

  需要说明的是,注册信息、应答信息均可通过如图3所示的组包来进行发送。使用图3中的组包发送注册信息时,将注册信息代替更新信息;发送应答信息时,将应答信息代替更新信息,从而实现发送。

  进一步地,注册可分为远程注册以及本地注册。参见图8,远程注册流程采用上述第一种获取序列号的方式。本地注册流程如图9所示,其采用上述第二种获取序列号的方式。主机端与目标从机端完成注册后,便可启用相应的报警逻辑功能,从而使得主机端与目标从机端可应用于无线报警系统,并通过sub-g无线传输主机端与目标从机端之间的交互。

  综上所述,本申请实施例通过目标从机端发送的更新信息来确定初始密钥是否需要更新,因而省略了主机端向从机端发送唤醒指令的过程,降低了更新初始密钥所需的功耗。

  由于报警系统以安全性为第一前提,使用本申请实施例提供的秘钥管理方法可以保证在加密算法方面的安全,弥补对称加密算法在秘钥方面的泄露风险。此外,该方法是一种可以应用于单片机的秘钥管理机制,不占用过多的代码空间,同时运行处理具有即时性,延时等待时间较短。本实施例提供的方法同时兼顾设备的低功耗性能,秘钥的交换和更新时间都很短,其余时间均默认处于休眠状态。

  基于相同构思,本申请实施例提供了一种管理密钥的系统,该系统包括:

  主机端,用于接收目标从机端发送的更新信息,根据更新信息确定初始密钥是否需要更新;若初始密钥需要更新,基于更新信息获取新密钥;向目标从机端发送新密钥;

  目标从机端,用于向主机端发送更新信息,接收主机端发送的新密钥,将新密钥代替初始密钥。

  可选地,主机端,用于若接收到更新信息的次数不小于参考次数,确定初始密钥需要更新。

  可选地,更新信息包括滚动码;主机端,用于按照参考方式对滚动码进行计算,得到计算结果,将计算结果作为新密钥。

  可选地,主机端,用于接收目标从机端发送的更新组包,更新组包携带更新信息。

  可选地,主机端,还用于接收目标从机端发送的针对新密钥的回复信息;若回复信息不是通过新密钥加密过的信息,重新向目标从机端发送新密钥。

  可选地,主机端,还用于获取序列号,将序列号指示的从机端作为目标从机端;基于目标从机端获取初始密钥。

  可选地,主机端,用于向目标从机端发送主机密钥信息,主机密钥信息包括主机数值与基点的乘积,基点为参考椭圆曲线上的任意一点;接收目标从机端发送的从机密钥信息,从机密钥信息包括从机数值与基点的乘积;基于参考椭圆曲线,获取主机数值与从机密钥信息的乘积,将主机数值与从机密钥信息的乘积作为初始密钥。

  需要说明的是,该系统所包括的主机端以及目标从机端所执行的各个步骤及各个步骤中涉及的信息等均可参考上述管理密钥的方法中的相关内容,此处不再一一赘述。

  综上所述,本申请实施例通过目标从机端发送的更新信息来确定初始密钥是否需要更新,因而省略了主机端向从机端发送唤醒指令的过程,降低了更新初始密钥所需的功耗。

  基于相同构思,本申请实施例提供了一种管理密钥的装置,参见图10,该装置包括:

  接收模块1001,用于主机端接收目标从机端发送的更新信息;

  确定模块1002,用于根据更新信息确定初始密钥是否需要更新;

  第一获取模块1003,用于若初始密钥需要更新,基于更新信息获取新密钥;

  第一发送模块1004,用于向目标从机端发送新密钥,以使目标从机端将新密钥代替初始密钥,完成密钥管理。

  可选地,确定模块1002,用于若接收到更新信息的次数不小于参考次数,确定初始密钥需要更新。

  可选地,更新信息包括滚动码;

  第一获取模块1003,用于按照参考方式对滚动码进行计算,得到计算结果,将计算结果作为新密钥。

  可选地,接收模块1001,用于主机端接收目标从机端发送的更新组包,更新组包携带更新信息。

  可选地,装置还包括:

  第二发送模块,用于接收目标从机端发送的针对新密钥的回复信息;若回复信息不是通过新密钥加密过的信息,重新向目标从机端发送新密钥。

  可选地,装置还包括:

  第二获取模块,用于获取序列号,将序列号指示的从机端作为目标从机端;基于目标从机端获取初始密钥。

  可选地,第二获取模块,用于向目标从机端发送主机密钥信息、基点以及参考椭圆曲线,主机密钥信息包括主机数值与基点的乘积,基点为参考椭圆曲线上的任意一点;接收目标从机端发送的从机密钥信息,从机密钥信息包括从机数值与基点的乘积;基于参考椭圆曲线,获取主机数值与从机密钥信息的乘积,将主机数值与从机密钥信息的乘积作为初始密钥。

  可选地,装置还包括:

  注册模块,用于向目标从机端发送注册信息,注册信息包括根据初始密钥加密过的主机信息;接收目标从机端发送的针对注册信息的应答信息,应答信息包括根据初始密钥加密过的从机信息;根据初始密钥解密应答信息,以完成与目标从机端之间的注册。

  综上所述,本申请实施例通过目标从机端发送的更新信息来确定初始密钥是否需要更新,因而省略了主机端向从机端发送唤醒指令的过程,降低了更新初始密钥所需的功耗。

  需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

  基于相同构思,本申请实施例提供了一种管理密钥的设备,设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现本申请实施例所提供的管理密钥的方法。

  基于相同构思,本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现本申请实施例所提供的管理密钥的方法。

  上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

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

  以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

《管理密钥的方法、系统及可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)