CN115002763A - 网络密钥更新方法、装置、电子设备及服务器 - Google Patents

网络密钥更新方法、装置、电子设备及服务器 Download PDF

Info

Publication number
CN115002763A
CN115002763A CN202210588194.6A CN202210588194A CN115002763A CN 115002763 A CN115002763 A CN 115002763A CN 202210588194 A CN202210588194 A CN 202210588194A CN 115002763 A CN115002763 A CN 115002763A
Authority
CN
China
Prior art keywords
network key
network
key
data
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210588194.6A
Other languages
English (en)
Inventor
樊明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202210588194.6A priority Critical patent/CN115002763A/zh
Publication of CN115002763A publication Critical patent/CN115002763A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0433Key management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开网络密钥更新方法、装置、电子设备及服务器。第一节点设备从离线状态切换为在线状态,且确定第一网络密钥失效时,向服务器发送验证请求;在接收第一网络密钥更新通知后,向服务器发送第一网络密钥更新请求;在接收第一网络密钥更新应答后,获取其中的第二数据,利用自身的设备密钥对第二数据进行解密,得到第二网络密钥(服务器在接收到第一节点设备的验证请求前最后一次向Mesh网络发送的网络密钥)和第二网络密钥的生成时间,保存解密得到的数据,即刻生效第二网络密钥,删除第一网络密钥,完成网络密钥更新。基于本申请公开的方案,节点设备在离线状态错失网络密钥更新的情况下,再上线时能够更新网络密钥。

Description

网络密钥更新方法、装置、电子设备及服务器
技术领域
本申请属于Mesh通信技术领域,尤其涉及一种网络密钥更新方法、装置、电子设备及服务器。
背景技术
Mesh网络是一种新型的无线通信网络架构。在Mesh网络中,任何节点设备都可以作为路由器,每个节点设备都可以发送和接收信号,每个节点设备都可以与一个或多个节点设备进行直接通信,从而实现更大范围的通信。
Mesh网络的安全通信是建立在网络密钥(NetKey)基础上的。具体的,Mesh网络管理设备为Mesh网络分配网络密钥,当该Mesh网络中的节点设备进行通信时,需要基于该网络密钥对数据进行加密和解密。
为了保证Mesh网络的安全通信,需要对网络密钥进行更新。如何对Mesh网络的网络密钥进行更新,以保证Mesh网络的安全通信,对于本领域技术人员来说是非常重要的问题。
发明内容
有鉴于此,本申请的目的在于提供一种网络密钥更新方法、装置、电子设备及服务器,以保证Mesh网络的安全通信。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请提供一种网络密钥更新方法,应用于Mesh网络中的第一节点设备,所述方法包括:
所述第一节点设备从离线状态切换为在线状态,且确定当前使用的第一网络密钥失效的情况下,向服务器发送验证请求,所述验证请求包含所述第一节点设备的设备标识;
接收所述服务器发送的包含第一随机数的第一网络密钥更新通知;
利用设备密钥对所述第一随机数和所述第一网络密钥的生成时间进行加密,以获得第一数据,向所述服务器发送包含所述设备标识和所述第一数据的第一网络密钥更新请求;
接收所述服务器发送的第一网络密钥更新应答;
获取所述第一网络密钥更新应答包含的第二数据,利用所述设备密钥对第二数据进行解密,以获得第二网络密钥和所述第二网络密钥的生成时间,保存所述第二网络密钥和所述第二网络密钥的生成时间,即刻生效所述第二网络密钥,删除所述第一网络密钥,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥。
可选的,还包括:
接收所述服务器发送的包含第二随机数的第二网络密钥更新通知;
利用所述设备密钥对所述第二随机数和当前使用的第三网络密钥的生成时间进行加密,以获得第三数据,向所述服务器发送包含所述设备标识和所述第三数据的第二网络密钥更新请求;
接收所述服务器发送的第二网络密钥更新应答;
获取所述第二网络密钥更新应答包含的第四数据,利用所述设备密钥对所述第四数据进行解密,以获得第四网络密钥、所述第四网络密钥的生成时间和启用时间,保存所述第四网络密钥和所述第四网络密钥的生成时间;
在到达所述启用时间时生效所述第四网络密钥;
在到达删除时间时删除所述第三网络密钥,其中,所述删除时间位于所述启用时间之后,且与所述启用时间相差指定的时间间隔。
可选的,还包括:
所述第一节点设备生效所述第四网络密钥后,在向所述Mesh网络中的其他节点设备发送数据的过程中,使用所述第四网络密钥对待发送的数据进行加密。
可选的,还包括:
在所述启用时间和所述删除时间之间,所述第一节点设备分别使用所述第三网络密钥和所述第四网络密钥对所述Mesh网络中的其他节点设备发送的数据进行解密。
可选的,所述向服务器发送验证请求,包括:
广播搜索代理请求;
从应答所述搜索代理请求的节点设备中确定出目标代理设备;
向所述目标代理设备发送验证请求,以便所述目标代理设备将所述验证请求传输至所述服务器。
第二方面,本申请提供一种网络密钥更新方法,应用于服务器,所述方法包括:
接收Mesh网络中的第一节点设备发送的验证请求,所述验证请求包含所述第一节点设备的设备标识;
基于所述验证请求包含的设备标识进行身份验证;
在确定通过身份验证的情况下,向所述第一节点设备发送包含第一随机数的第一网络密钥更新通知;
接收所述第一节点设备发送的第一网络密钥更新请求,所述第一网络密钥更新请求包含所述第一节点设备的设备标识和第五数据;
获取所述第一节点设备的设备密钥,利用所述第一节点设备的设备密钥对所述第五数据进行解密,以获得所述第五数据包含的随机数和网络密钥的生成时间;
获取第二网络密钥和所述第二网络密钥的生成时间,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥;
至少基于所述第五数据包含的随机数和所述第一随机数进行合法性验证;
在确定通过合法性验证的情况下,向所述第一节点设备发送第一网络密钥更新应答,所述第一网络密钥更新应答包含所述第一节点设备的设备标识和第二数据,所述第二数据为利用所述第一节点设备的设备密钥对所述第二网络密钥和所述第二网络密钥的生成时间进行加密得到的数据。
可选的,还包括:
在满足预设的更新条件时,生成包含第二随机数的第二网络密钥更新通知;
向Mesh网络中在线的节点设备发送所述第二网络密钥更新通知;
生成第四网络密钥,记录所述第四网络密钥的生成时间,配置所述第四网络密钥的启用时间;
接收节点设备发送的第二网络密钥更新请求,所述第二网络密钥更新请求包含所述节点设备的设备标识和第六数据;
获取与所述第二网络密钥更新请求包含的设备标识对应的设备密钥,利用当前获取到的设备密钥对所述第六数据进行解密,以获得所述第六数据包含的随机数和网络密钥的生成时间;
至少基于所述第六数据包含的随机数和所述第二随机数进行验证;
在确定通过验证的情况下,向所述节点设备发送第二网络密钥更新应答,所述第二网络密钥更新应答包括所述节点设备的设备标识和第四数据,所述第四数据为利用所述设备密钥对所述第四网络密钥、所述第四网络密钥的生成时间和启用时间进行加密得到的数据。
第三方面,本申请提供一种网络密钥更新装置,应用于Mesh网络中的第一节点设备,所述装置包括:
验证请求发送单元,用于在所述第一节点设备从离线状态切换为在线状态,且确定当前使用的第一网络密钥失效的情况下,向服务器发送验证请求,所述验证请求包含所述第一节点设备的设备标识;
第一更新通知接收单元,用于接收所述服务器发送的包含第一随机数的第一网络密钥更新通知;
第一更新请求发送单元,用于利用设备密钥对所述第一随机数和所述第一网络密钥的生成时间进行加密,以获得第一数据,向所述服务器发送包含所述设备标识和所述第一数据的第一网络密钥更新请求;
第一更新应答接收单元,用于接收所述服务器发送的第一网络密钥更新应答;
第一网络密钥更新单元,用于获取所述第一网络密钥更新应答包含的第二数据,利用所述设备密钥对第二数据进行解密,以获得第二网络密钥和所述第二网络密钥的生成时间,保存所述第二网络密钥和所述第二网络密钥的生成时间,即刻生效所述第二网络密钥,删除所述第一网络密钥,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥。
第四方面,本申请提供一种网络密钥更新装置,应用于服务器,所述装置包括:
验证请求接收单元,用于接收Mesh网络中的第一节点设备发送的验证请求,所述验证请求包含所述第一节点设备的设备标识;
身份验证单元,用于基于所述验证请求包含的设备标识进行身份验证;
第一更新通知发送单元,用于在确定通过身份验证的情况下,向所述第一节点设备发送包含第一随机数的第一网络密钥更新通知;
第一更新请求接收单元,用于接收所述第一节点设备发送的第一网络密钥更新请求,所述第一网络密钥更新请求包含所述第一节点设备的设备标识和第五数据;
第一更新请求处理单元,用于获取所述第一节点设备的设备密钥,利用所述第一节点设备的设备密钥对所述第五数据进行解密,以获得所述第五数据包含的随机数和网络密钥的生成时间;
网络密钥获取单元,用于获取第二网络密钥和所述第二网络密钥的生成时间,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥;
第一合法性验证单元,用于至少基于所述第五数据包含的随机数和所述第一随机数进行合法性验证;
第一更新应答发送单元,用于在确定通过合法性验证的情况下,向所述第一节点设备发送第一网络密钥更新应答,所述第一网络密钥更新应答包含所述第一节点设备的设备标识和第二数据,所述第二数据为利用所述第一节点设备的设备密钥对所述第二网络密钥和所述第二网络密钥的生成时间进行加密得到的数据。
第五方面,本申请提供一种电子设备,包括通信模块、处理器和存储器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述任意一种应用于第一节点设备的网络密钥更新方法的各个步骤。
第六方面,本申请提供一种服务器,包括通信模块、处理器和存储器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述任意一种应用于服务器的网络密钥更新方法的各个步骤。
由此可见,本申请的有益效果为:
本申请公开的网络密钥更新方法,Mesh网络中的第一节点设备从离线状态切换为在线状态后,如果确定第一网络密钥(即当前使用的网络密钥)失效,那么向服务器发送验证请求;在接收到服务器发送的包含第一随机数的第一网络密钥更新通知后,向服务器发送第一网络密钥更新请求,第一网络密钥更新请求包含第一节点设备的设备标识和第一数据,其中,第一数据为利用自身的设备密钥对第一随机数和第一网络密钥的生成时间进行加密得到的数据;在接收到服务器发送的第一网络密钥更新应答后,获取第一网络密钥更新应答包含的第二数据,利用自身的设备密钥对第二数据进行解密,得到第二网络密钥和第二网络密钥的生成时间,保存解密得到的数据,即刻生效第二网络密钥,删除第一网络密钥,完成第一节点设备的网络密钥更新,其中,第二网络密钥为服务器在接收到第一节点设备的验证请求前最后一次向Mesh网络发送的网络密钥。基于本申请公开的网络密钥更新方法,节点设备在离线状态错失网络密钥更新的情况下,当再上线时能够更新网络密钥,基于更新后的网络密钥与其他节点设备进行通信。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开的一种网络密钥更新方法的流程图;
图2为本申请公开的另一种网络密钥更新方法的流程图;
图3为本申请公开的另一种网络密钥更新方法的流程图;
图4为本申请公开的另一种网络密钥更新方法的流程图;
图5为本申请公开的应用于节点设备的网络密钥更新装置的结构示意图;
图6为本申请公开的应用于服务器的网络密钥更新装置的结构示意图;
图7为本申请公开的电子设备的硬件结构图;
图8为本申请公开的服务器的硬件结构图。
具体实施方式
本申请提供一种网络密钥更新方法、装置、电子设备及服务器,以保证Mesh网络的安全通信。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请公开的一种网络密钥更新方法的流程图。该方法应用于Mesh网络中的第一节点设备,其中,Mesh网络中的每个节点设备具有唯一的设备标识(DevID)和设备密钥(DevKey)。该方法包括:
S11:第一节点设备从离线状态切换为在线状态,且确定第一网络密钥失效的情况下,向服务器发送验证请求。其中,验证请求包含第一节点设备的设备标识,第一网络密钥为第一节点设备当前使用的网络密钥。
第一节点设备处于离线状态(如关机或者掉电)的时段内,如果服务器对Mesh网络的网络密钥进行了更新,那么当第一节点设备切换为在线状态后,其存储和使用的是已过期的网络密钥(也就是失效的网络密钥),是无法与Mesh网络中的其他节点设备进行通信的,无法接入Mesh网络。因此,需要提供一种网络密钥更新机制,保证节点设备从离线状态切换为在线状态后,能够更新网络密钥,基于更新后的网络密钥与其他节点设备进行通信。
实施中,第一节点设备从离线状态切换为在线状态后,可以采用如下方式确定当前使用的网络密钥是否失效:当接收到其他节点设备发送的数据后,利用当前使用的网络密钥对数据进行解密,如果解密成功,则确定当前使用的网络密钥未失效,如果解密失败,则确定当前使用的网络密钥失效。
需要说明的是,在正常情况下,Mesh网络中的节点设备进行通信时,需要基于网络密钥对数据进行加密和解密,也就是,发送方基于网络密钥对数据加密,接收方基于网络密钥对数据进行解密,如果接收方解密失败,就丢弃接收到的数据。
第一节点设备向服务器发送验证请求的前提是,第一节点设备当前存储和使用的是失效的网络密钥。为了保证验证请求的接收方不丢弃该验证请求,第一节点设备不再基于网络密钥对验证请求进行加密,并且,该验证请求应具有类型标识,以便接收方能够获知接收到的数据为验证请求。例如,验证请求的特定位置(如头部或尾部)为标识位,该标识位用于指示该数据为验证请求。
另外,第一节点设备向服务器发送验证请求,存在多种情况:第一种情况,第一节点设备直接向服务器发送验证请求;第二种情况,经由一个或多个节点设备将第一节点设备的验证请求转发给服务器。
S12:第一节点设备接收服务器发送的第一网络密钥更新通知,第一网络密钥更新通知包含第一随机数。
服务器基于第一节点设备发送的验证请求对第一节点设备进行身份验证,在通过身份验证的情况下,向第一节点服务器发送网络密钥更新通知,该网络密钥更新通知包含一个随机数。为了便于描述,将这里的网络密钥更新通知称为第一网络密钥更新通知,将这里的随机数称为第一随机数。
需要说明的是,服务器发送第一网络密钥更新通知,以及其他节点设备向第一节点设备转发第一网络密钥更新通知时,无需基于网络密钥对第一网络密钥更新通知进行加密,并且,第一网络密钥更新通知应具有类型标识,以便接收方能够获知接收到的数据为网络密钥更新通知。例如,第一网络密钥更新通知的特定位置(如头部或尾部)为标识位,该标识位用于指示该数据为网络密钥更新通知。
S13:第一节点设备利用设备密钥对第一随机数和第一网络密钥的生成时间进行加密,以获得第一数据,向服务器发送包含设备标识和第一数据的第一网络密钥更新请求。
第一节点设备存储有网络密钥以及该网络密钥的生成时间。第一节点设备接收到第一网络密钥更新通知后,获取第一网络密钥更新通知包含的第一随机数,利用自己的设备密钥对第一随机数和第一网络密钥的生成时间进行加密,以获得第一数据,将自己的设备密钥和第一数据封装为网络密钥更新请求,向服务器发送该网络密钥更新请求。为了便于描述,将这里的网络密钥更新请求称为第一网络密钥更新请求。
需要说明的是,第一节点设备向服务器发送网络密钥更新请求,存在多种情况:第一种情况,第一节点设备直接向服务器发送网络密钥更新请求;第二种情况,经由一个或多个节点设备将第一节点设备的网络密钥更新请求转发给服务器。
第一节点设备发送网络密钥更新请求时,以及其他节点设备转发网络密钥更新请求时,无需基于网络密钥对网络密钥更新请求进行加密,并且,该网络密钥更新请求应具有类型标识,以便接收方能够获知接收到的数据为网络密钥更新请求。例如,网络密钥更新请求的特定位置(如头部或尾部)为标识位,该标识位用于指示该数据为网络密钥更新请求。
S14:第一节点设备接收服务器发送的第一网络密钥更新应答。
其中,第一网络密钥更新应答包含第一节点设备的设备标识和第二数据,第二数据为服务器利用第一节点设备的设备密钥对第二网络密钥和第二网络密钥的生成时间进行加密得到的数据。第二网络密钥为服务器在接收到验证请求前最后一次向Mesh网络发送的网络密钥。
关于第二网络密钥具体为哪个网络密钥,这里结合实例进行说明。
例如:第一节点设备在T1时刻关机、在之后的T2时刻开机。在T1时刻至T2时刻之间,假如服务器仅在T3时刻向Mesh网络发送网络密钥(即更新Mesh网络的网络密钥),那么将在T3时刻发送的网络密钥作为第二网络密钥携带于第一网络密钥更新应答中。在T1时刻至T2时刻之间,假如服务器先后于T3时刻、T4时刻和T5时刻向Mesh网络发送网络密钥,那么将在T5时刻发送的网络密钥作为第二网络密钥携带于第一网络密钥更新应答中。
需要说明的是,服务器发送网络密钥更新应答,以及其他节点设备向第一节点设备转发网络密钥更新应答时,无需基于网络密钥对网络密钥更新应答进行加密,并且,该网络密钥更新应答应具有类型标识,以便接收方能够获知接收到的数据为网络密钥更新应答。例如,网络密钥更新应答的特定位置(如头部或尾部)为标识位,该标识位用于指示该数据为网络密钥更新应答。为了便于描述,将这里的网络密钥更新应答称为第一网络密钥更新应答。
S15:第一节点设备获取第一网络密钥更新应答包含的第二数据,利用设备密钥对第二数据进行解密,以获得第二网络密钥和第二网络密钥的生成时间,保存第二网络密钥和第二网络密钥的生成时间,即刻生效第二网络密钥,删除第一网络密钥。
第一节点设备接收第一网络密钥更新应答,获取第一网络密钥更新应答包含的第二数据,利用自身的设备密钥对第二数据进行解密,以获得第二数据包含的第二网络密钥和第二网络密钥的生成时间,保存第二网络密钥和第二网络密钥的生成时间。并且,在获得第二网络密钥后,即刻生效第二网络密钥,删除第一网络密钥。这里对“即刻”的含义进行说明:在执行解密操作获得第二网络密钥后,不进行任何的等待或延迟,就执行生效第二网络密钥的操作。
可以理解的是,第一节点设备生效第二网络密钥后,就可以基于第二网络密钥与其他节点设备进行通信,此时,Mesh网络中在线的节点设备使用的是同一个网络密钥(也就是第二网络密钥)。在实施中,第一节点设备可以同时执行生效第二网络密钥的操作和删除第一网络密钥的操作,也可以先执行生效第二网络密钥的操作,之后执行删除第一网络密钥的操作。
本申请公开的网络密钥更新方法,Mesh网络中的第一节点设备从离线状态切换为在线状态后,如果确定第一网络密钥(即当前使用的网络密钥)失效,那么向服务器发送验证请求;在接收到服务器发送的包含第一随机数的第一网络密钥更新通知后,向服务器发送第一网络密钥更新请求,第一网络密钥更新请求包含第一节点设备的设备标识和第一数据,其中,第一数据为利用自身的设备密钥对第一随机数和第一网络密钥的生成时间进行加密得到的数据;在接收到服务器发送的第一网络密钥更新应答后,获取第一网络密钥更新应答包含的第二数据,利用自身的设备密钥对第二数据进行解密,得到第二网络密钥和第二网络密钥的生成时间,保存解密得到的数据,即刻生效第二网络密钥,删除第一网络密钥,完成第一节点设备的网络密钥更新,其中,第二网络密钥为服务器在接收到第一节点设备的验证请求前最后一次向Mesh网络发送的网络密钥。基于本申请公开的网络密钥更新方法,节点设备在离线状态错失网络密钥更新的情况下,当再上线时能够更新网络密钥,基于更新后的网络密钥与其他节点设备进行通信。
本申请上述公开了节点设备从离线状态切换为在线状态后,如何对该节点设备的网络密钥进行更新。在此基础上,本申请还公开在常规状态下,如何对Mesh网络中在线的节点设备进行网络密钥更新的方案。下面仍以第一节点设备为例进行说明。
参见图2,图2为本申请公开的另一种网络密钥更新方法的流程图。该方法应用于Mesh网络中的第一节点设备,该方法包括:
S21:第一节点设备接收服务器发送的第二网络密钥更新通知。
其中,第二网络密钥更新通知包含第二随机数。
S22:第一节点设备利用设备密钥对第二随机数和第三网络密钥的生成时间进行加密,以获得第三数据,向服务器发送包含设备标识和第三数据的第二网络密钥更新请求。
其中,第三网络密钥为第一节点设备当前使用的网络密钥。
第一节点设备存储有网络密钥以及该网络密钥的生成时间。第一节点设备接收到第二网络密钥更新通知后,获取第二网络密钥更新通知包含的第二随机数,利用自己的设备密钥对第二随机数和第三网络密钥的生成时间进行加密,以获得第三数据,将自己的设备密钥和第三数据封装为网络密钥更新请求,向服务器发送该网络密钥更新请求。为了便于描述,将这里的网络密钥更新请求称为第二网络密钥更新请求。
S23:第一节点设备接收服务器发送的第二网络密钥更新应答。
其中,第二网络密钥更新应答包含第一节点设备的设备标识和第四数据,第四数据为服务器利用第一节点设备的设备密钥对第四网络密钥、第四网络密钥的生成时间和启用时间进行加密得到的数据。第四网络密钥是服务器发送第二网络密钥更新通知后生成的新的网络密钥。
与上文中的第一网络密钥更新应答相比,第二网络密钥更新应答还包含第四网络密钥的启用时间。其中,第四网络密钥的启用时间应满足:Mesh网络中在线的节点设备在该启用时间之前已解密得到第四网络密钥。申请人经过多次试验得出,服务器向在线的节点设备发送第二网络密钥更新通知后,在线的节点设备最多需要花费3分钟完成第二网络密钥更新应答的接收及后续的解密操作。在实施中,可以根据试验数据和第四网络密钥的生成时间确定第四网络密钥的启用时间。
S24:第一节点设备获取第二网络密钥更新应答包含的第四数据,利用设备密钥对第四数据进行解密,以获得第四网络密钥、第四网络密钥的生成时间和启用时间,保存第四网络密钥和第四网络密钥的生成时间。
S25:第一节点设备在到达启用时间时生效第四网络密钥。
S26:第一节点设备在达到删除时间时删除第三网络密钥。
其中,删除时间位于第四网络密钥的启用时间之后,且与第四网络密钥的启用时间相差指定的时间间隔。该时间间隔可以采用经验值,例如30秒,当然也可以是其他数据,本申请不进行具体限定。需要说明的是,Mesh网络中的各个节点设备预存有该时间间隔的取值,而且各个节点设备预存的该时间间隔是同一数值。
第一节点设备接收第二网络密钥更新应答,获取第二网络密钥更新应答包含的第四数据,利用自身的设备密钥对第四数据进行解密,以获得第四数据包含的第四网络密钥、第四网络密钥的生成时间、以及第四网络密钥的启用时间。第一节点设备保存第四网络密钥和第四网络密钥的生成时间。在到达第四网络密钥的启用时间时,第一节点设备生效第四网络密钥。当到达删除时间时,第一节点设备删除第三网络密钥。
需要说明的是,上述是以第一节点设备为例,对常规状态下,如何对Mesh网络中在线的节点设备进行网络密钥更新的方案进行介绍。可以理解的是,Mesh网络中在线的节点设备都是执行上述方案来实现网络密钥的更新。另外,Mesh网络中的节点设备具备保持时间同步的能力,也就是说,各个节点设备的系统时间相同,或者存在极小的误差。因此,当到达第四网络密钥的启用时间时,Mesh网络中各个在线的节点设备能够在极短的时间内完成第四网络密钥的生效,当到达删除时间时,Mesh网络中各个在线的节点设备能够在很短的时间内完成第三网络密钥的删除,各个在线的节点设备执行前两个操作的时间差异由各个节点设备的系统时间的差值决定,该时间差异是很小的,可以认为,Mesh网络中在线的节点设备是同步完成第四网络密钥的生效、以及同步完成对第三网络密钥的删除操作。
可以看到,第一节点设备在生效第四网络密钥和删除第三网络密钥之间,是存在一定的时间间隔的。同样的,Mesh网络中其他在线的节点设备在生效第四网络密钥和删除第三网络密钥之间,也是存在一定的时间间隔的。在该时间间隔内,每个在线的节点设备存储有两个网络密钥,即第三网络密钥和第四网络密钥。
作为一种可选的实施方式,第一节点设备在从生效第四网络密钥至删除第三网络密钥之间,在向Mesh网络中的其他节点设备发送数据的过程中,使用第三网络密钥或者第四网络密钥对待发送的数据进行加密。
作为一种更优的实施方式,第一节点设备生效第四网络密钥后,在向Mesh网络中的其他节点设备发送数据的过程中,使用第四网络密钥对待发送的数据进行加密。
另外,考虑到Mesh网络中在线的节点设备的系统时间可能存在一定差异,这导致各个节点设备生效第四网络节点的时间可能存在一定差异。作为一种可选的实施方式,在第四网络密钥的启用时间和第三网络密钥的删除时间之间,第一节点设备分别使用第三网络密钥和第四网络密钥对Mesh网络中的其他节点设备发送的数据进行解密。类似的,在第四网络密钥的启用时间和第三网络密钥的删除时间之间,各节点设备接收到其他节点设备发送的数据时,分别使用第三网络密钥和第四网络密钥对接收到的数据进行解密。
本申请图2所示的网络密钥更新方法,相较于图1所示的网络密钥更新方法,增加了在常规状态下,对Mesh网络中在线的节点设备进行网络密钥更新的方案。并且,服务器向节点设备发送的第二网络密钥更新应答不仅包含第四网络密钥(即新的网络密钥)和第四网络密钥的生成时间,还包括第四网络密钥的启用时间,这使得Mesh网络中在线的各节点设备能够同步启用第四网络密钥,能够同步删除第三网络密钥(即旧的网络密钥),提供了简单有效的网络密钥同步切换机制。
可选的,在本申请图1所示的网络密钥更新方法中,第一节点设备向服务器发送验证请求,采用如下方案:
1)、广播搜索代理请求;
2)、从应答搜索代理请求的节点设备中确定出目标代理设备;
3)、向目标代理设备发送验证请求,以便目标代理设备将验证请求传输至服务器。
其中,第一节点设备从应答搜索代理请求的节点设备中确定出目标代理设备,可以采用多种方案。
第一种方案:
第一节点设备获取应答搜索代理请求的各个节点设备与服务器之间的通信质量参数,将具有最好通信质量参数的节点设备作为目标代理设备。
第二种方案:
第一节点设备获取自身与应答搜索代理请求的各个节点设备之间的通信质量参数,将具有最好质量参数的节点设备作为目标代理设备。
可选的,根据节点设备与服务器之间的跳数确定节点设备与服务器之间的通信质量参数,根据节点设备与节点设备之间的跳数确定节点设备和节点设备之间的通信质量参数。
下面从服务器的角度对本申请公开的网络密钥更新方法进行介绍。
参见图3,图3为本申请公开的另一种网络密钥更新方法的流程图。该方法应用于服务器,其中,Mesh网络中的每个节点设备具有唯一的设备标识和设备密钥,服务器存储有接入Mesh网络的节点设备的配置信息,节点设备的配置信息至少包括该节点设备的设备标识和设备密钥。该方法包括:
S31:服务器接收Mesh网络中的第一节点设备发送的验证请求。该验证请求包含第一节点设备的设备标识。
S32:服务器基于验证请求包含的设备标识进行身份验证。
服务器基于第一节点设备的设备标识确定第一节点设备是否为已接入Mesh网络的节点设备。
可选的,服务器维护一个设备名单,该设备名单包含已接入Mesh网络的全部节点设备的标识。服务器接收到验证请求后,判断该验证请求包含的设备标识是否存在于该设备名单,如果存在于该设备名单,则确定通过身份验证,执行后续流程,否则,确定未通过身份验证,结束流程。
需要说明的是,对于已删除的节点设备,由于服务器已将该节点设备的配置信息删除,因此,即便已删除的节点设备向服务器发送验证请求,也无法通过身份验证,更无法进行更新网络密钥。
S33:服务器在确定通过身份验证的情况下,向第一节点设备发送第一网络密钥更新通知,第一网络密钥更新通知包含第一随机数。
可选的,服务器基于随机算法生成一个随机数,将该随机数称为第一随机数。服务器向第一节点设备发送携带有第一随机数的第一网络密钥更新通知。另外,服务器还需要存储该第一随机数,以便后续使用。
服务器向第一节点设备发送第一网络密钥更新通知,存在多种情况:第一种情况,服务器直接向第一节点设备发送第一网络密钥更新通知;第二种情况,服务器经由一个或多个节点设备将第一网络密钥更新通知转发给第一节点设备。
S34:服务器接收第一节点设备发送的第一网络密钥更新请求,第一网络密钥更新请求包含第一节点设备的设备标识和第五数据。
S35:服务器获取第一节点设备的设备密钥,利用第一节点设备的设备密钥对第五数据进行解密,以获得第五数据包含的随机数和网络密钥的生成时间。
服务器存储有接入Mesh网络的各节点设备的设备标识和设备密钥。服务器接收到第一网络密钥更新请求后,获取第一网络密钥更新请求包含的设备标识(也就是第一节点设备的设备标识),进一步获取第一节点设备的设备标识对应的设备密钥(也就是第一节点设备的设备密钥),利用第一节点设备的设备密钥对第五数据进行解密,以获得第五数据包含的随机数和网络密钥的生成时间。
S36:服务器获取第二网络密钥和第二网络密钥的生成时间。
其中,第二网络密钥为服务器在接收到验证请求前最后一次向Mesh网络发送的网络密钥。
S37:服务器至少基于第五数据包含的随机数和第一随机数进行合法性验证。
作为一种可选的实施方式,服务器比较从第五数据解密出的随机数和第一随机数,如果两者相同,则确定通过合法性验证,继续执行后续流程,否则,确定未通过合法性验证,结束流程。
作为另一种可选的实施方式,服务器比较从第五数据解密出的随机数和第一随机数,比较从第五数据解密出的网络密钥的生成时间和第二网络密钥的生成时间,如果从第五数据解密出的随机数和第一随机数相同,且从第五数据解密出的网络密钥的生成时间早于第二网络密钥的生成时间,则确定通过合法性验证,继续执行后续流程,否则,确定未通过合法性验证,结束流程。
作为另一种可选的实施方式,服务器基于第一网络密钥更新请求包含的设备标识确定该节点设备是否为已接入Mesh网络的节点设备,比较从第五数据解密出的随机数和第一随机数,比较从第五数据解密出的网络密钥的生成时间和第二网络密钥的生成时间,如果该节点设备为已接入Mesh网络的节点设备,从第五数据解密出的随机数和第一随机数相同,且从第五数据解密出的网络密钥的生成时间早于第二网络密钥的生成时间,则确定通过合法性验证,继续执行后续流程,否则,确定未通过合法性验证,结束流程。
S38:服务器在确定通过合法性验证的情况下,向第一节点设备发送第一网络密钥更新应答。
其中,第一网络密钥更新应答包含第一节点设备的设备标识和第二数据,第二数据为利用第一节点设备的设备密钥对第二网络密钥和第二网络密钥的生成时间进行加密得到的数据。
本申请公开的网络密钥更新方法,服务器接收到第一节点设备发送的验证请求(第一节点设备从离线状态切换为在线状态,且当前使用的网络密钥失效的情况下发送)后,基于验证请求包含的设备标识进行身份验证,在通过身份验证的情况下,向第一节点设备发送包含第一随机数的第一网络密钥更新通知;服务器接收到第一网络密钥更新请求后,利用对应的设备密钥对第一网络密钥更新请求包含的第五数据进行解密,以获得第五数据包含的随机数和网络密钥的生成时间;服务器获取第二网络密钥和第二网络密钥的生成时间,其中,第二网络密钥为服务器在接收到本次验证请求前最后一次向Mesh网络发送的网络密钥;服务器至少基于第五数据包含的随机数和第一随机数进行合法性验证,在确定通过合法性验证的情况下,向第一节点设备发送第一网络密钥更新应答,以便第一节点设备从第一网络密钥更新应答中解密出第二网络密钥和第二网络密钥的生成时间,并即刻生效第二网络密钥,删除第一网络密钥。基于本申请公开的网络密钥更新方法,节点设备在离线状态错失网络密钥更新的情况下,当再上线时能够从服务器获取Mesh网络当前使用的网络密钥,基于更新后的网络密钥与其他节点设备通信。另外,对于已从Mesh网络删除的节点设备,由于该节点设备无法通过服务器的身份验证,是无法更新网络密钥的。
本申请图3所示的方案公开了节点设备从离线状态切换为在线状态后,服务器如何对该节点设备的网络密钥进行更新。在此基础上,本申请还公开在常规状态下,服务器如何对Mesh网络中在线的节点设备进行网络密钥更新的方案。
参见图4,图4为本申请公开的另一种网络密钥更新方法的流程图。该方法应用于服务器,该方法包括:
S41:服务器在满足预设的更新条件时,生成第二网络密钥更新通知,第二网络密钥更新通知包含第二随机数。
可选的,该预设的更新条件包括以下条件中的任意一个:
1)、达到指定的更新时间;
2)、将节点设备从Mesh网络删除。
当到达指定的更新时间时,需要对Mesh网络的网络密钥进行更新,以保证Mesh网络的安全运行。
另外,当有节点设备从Mesh网络删除时,为了避免已删除的节点设备继续与Mesh网络中的其他节点设备通信,对Mesh网络的网络密钥进行更新,使得已删除的节点设备使用的网络密钥被失效,从而使得已删除的节点设备不能继续与Mesh网络中的其他节点设备进行通信。
需要说明的是,当把节点设备从Mesh网络删除时,服务器将预先保存的该节点设备的配置信息删除,以保证已删除的节点设备无法通过服务器的身份验证。如果服务器维护有设备名单,那么将该节点设备的设备标识从该设备名单中删除。
S42:服务器向Mesh网络中在线的节点设备发送第二网络密钥更新通知。
可选的,服务器基于随机算法生成一个随机数,将该随机数称为第二随机数。服务器向Mesh网络中在线的节点设备发送携带有第二随机数的第二网络密钥更新通知。另外,服务器还需要存储该第二随机数,以便后续使用。
实施中,服务器向可以直接通信的节点设备发送第二网络密钥更新通知,各节点设备再向其他在线的节点设备发送第二网络密钥更新通知,以使得Mesh网络中在线的节点设备都可以接收到第二网络密钥更新通知。
需要说明的是,图4所示的方案为针对Mesh系统中在线的节点设备进行网络密钥更新,在线的各节点设备使用的是相同的网络密钥。服务器向可以直接通信的节点设备发送第二网络密钥更新通知,各节点设备再向其他在线的节点设备发送第二网络密钥更新通知时,需要利用当前的网络密钥对第二网络密钥更新通知进行加密,相应的,各节点设备接收到数据后,利用当前的网络密钥对接收到的数据进行解密,以获得第二网络密钥更新通知。
S43:服务器生成第四网络密钥,记录第四网络密钥的生成时间,配置第四网络密钥的启用时间。
关于如何配置第四网络密钥的启用时间,在前文中做了说明,这里不再赘述。
S44:服务器接收节点设备发送的第二网络密钥更新请求,第二网络密钥更新请求包含节点设备的设备标识和第六数据。
S45:服务器获取与第二网络密钥更新请求包含的设备标识对应的设备密钥,利用该设备密钥对第六数据进行解密,以获得第六数据包含的随机数和网络密钥的生成时间。
S46:服务器至少基于第六数据包含的随机数和第二随机数进行合法性验证。
作为一种可选的实施方式,服务器比较从第六数据解密出的随机数和第二随机数,如果两者相同,则确定通过合法性验证,继续执行后续流程,否则,确定未通过合法性验证,结束流程。
作为另一种可选的实施方式,服务器比较从第六数据解密出的随机数和第二随机数,比较从第六数据解密出的网络密钥的生成时间和第四网络密钥的生成时间,如果从第六数据解密出的随机数和第二随机数相同,且从第六数据解密出的网络密钥的生成时间早于第四网络密钥的生成时间,则确定通过合法性验证,继续执行后续流程,否则,确定未通过合法性验证,结束流程。
作为另一种可选的实施方式,服务器基于第二网络密钥更新请求包含的设备标识确定该节点设备是否为已接入Mesh网络的节点设备,比较从第六数据解密出的随机数和第二随机数,比较从第六数据解密出的网络密钥的生成时间和第四网络密钥的生成时间,如果该节点设备为已接入Mesh网络的节点设备,从第六数据解密出的随机数和第二随机数相同,且从第六数据解密出的网络密钥的生成时间早于第四网络密钥的生成时间,则确定通过合法性验证,继续执行后续流程,否则,确定未通过合法性验证,结束流程。
S47:服务器在确定通过合法性验证的情况下,向节点设备发送第二网络密钥更新应答。
其中,第二网络密钥更新应答包括节点设备的设备标识和第四数据,第四数据为利用该节点设备的设备密钥对第四网络密钥、第四网络密钥的生成时间和启用时间进行加密得到的数据。
需要说明的是,步骤S43并不限定于图4所示的位置,只要在执行步骤S46之前执行即可。
本申请图4所示的网络密钥更新方法,相较于图3所示的网络密钥更新方法,增加了在常规状态下,服务器对Mesh网络中在线的节点设备进行网络密钥更新的方案。并且,服务器向节点设备发送的第二网络密钥更新应答不仅包含第四网络密钥(即新的网络密钥)和第四网络密钥的生成时间,还包括第四网络密钥的启用时间,这使得Mesh网络中在线的各节点设备能够同步启用第四网络密钥,能够同步删除第三网络密钥(即旧的网络密钥),提供了简单有效的网络密钥同步切换机制。另外,对于已从Mesh网络删除的节点设备,由于该节点设备无法通过服务器的合法性验证,是无法更新网络密钥的。
本申请上述公开了应用于节点设备和服务器的网络密钥更新方法。相应的,本申请还公开应用于节点设备和服务器的网络密钥更新装置。说明书中关于两者的描述可以相互参考。
参见图5,图5为本申请公开的应用于节点设备的网络密钥更新装置的结构示意图。该装置包括验证请求发送单元51、第一更新通知接收单元52、第一更新请求发送单元53、第一更新应答接收单元54和第一网络密钥更新单元55。
其中:
验证请求发送单元51,用于在第一节点设备从离线状态切换为在线状态,且确定第一网络密钥失效的情况下,向服务器发送验证请求。其中,验证请求包含第一节点设备的设备标识,第一网络密钥为第一节点设备当前使用的网络密钥。
第一更新通知接收单元52,用于接收服务器发送的第一网络密钥更新通知。其中,第一网络密钥更新通知包含第一随机数。
第一更新请求发送单元53,用于利用设备密钥对第一随机数和第一网络密钥的生成时间进行加密,以获得第一数据,向服务器发送包含设备标识和第一数据的第一网络密钥更新请求。
第一更新应答接收单元54,用于接收服务器发送的第一网络密钥更新应答。其中,第一网络密钥更新应答包含第一节点设备的设备标识和第二数据,第二数据为利用第一节点设备的设备密钥对第二网络密钥和第二网络密钥的生成时间进行加密得到的数据,第二网络密钥为服务器在接收到验证请求前最后一次向Mesh网络发送的网络密钥。
第一网络密钥更新单元55,用于获取第一网络密钥更新应答包含的第二数据,利用设备密钥对第二数据进行解密,以获得第二网络密钥和第二网络密钥的生成时间,保存第二网络密钥和第二网络密钥的生成时间,即刻生效第二网络密钥,删除第一网络密钥。
在本申请的另一个实施例中,在图5所示网络密钥更新装置的基础上,还包括第二更新通知接收单元、第二更新请求发送单元、第二更新应答接收单元、更新应答处理单元和第二网络密钥更新单元。
其中:
第二更新通知接收单元,用于接收服务器发送的第二网络密钥更新通知。其中,第二网络密钥更新通知包含第二随机数。
第二更新请求发送单元,用于利用设备密钥对第二随机数和第三网络密钥的生成时间进行加密,以获得第三数据,向服务器发送包含设备标识和第三数据的第二网络密钥更新请求,第三网络密钥为第一节点设备当前使用的网络密钥。
第二更新应答接收单元,用于接收服务器发送的第二网络密钥更新应答。其中,第二网络密钥更新应答包含第一节点设备的设备标识和第四数据,第四数据为利用第一节点设备的设备密钥对第四网络密钥、第四网络密钥的生成时间和启用时间进行加密得到的数据。
更新应答处理单元,用于获取第二网络密钥更新应答包含的第四数据,利用设备密钥对第四数据进行解密,以获得第四网络密钥、第四网络密钥的生成时间和启用时间,保存第四网络密钥和第四网络密钥的生成时间。
第二网络密钥更新单元,用于在到达启用时间时生效第四网络密钥,在到达删除时间时删除第三网络密钥,其中,删除时间位于启用时间之后,且与启用时间相差指定的时间间隔。
可选的,第一节点设备生效第四网络密钥后,在向Mesh网络中的其他节点设备发送数据的过程中,使用第四网络密钥对待发送的数据进行加密。
可选的,在第四网络密钥的启用时间和第三网络密钥的删除时间之间,第一节点设备分别使用第三网络密钥和第四网络密钥对Mesh网络中的其他节点设备发送的数据进行解密。
可选的,验证请求发送单元51向服务器发送验证请求,具体为:广播搜索代理请求;从应答所述搜索代理请求的节点设备中确定出目标代理设备;向目标代理设备发送验证请求,以便目标代理设备将验证请求传输至服务器。
参见图6,图6为本申请公开的应用于服务器的网络密钥更新装置的结构示意图。该装置包括验证请求接收单元61、身份验证单元62、第一更新通知发送单元63、第一更新请求接收单元64、第一更新请求处理单元65、网络密钥获取单元66、第一合法性验证单元67和第一更新应答发送单元68。
其中:
验证请求接收单元61,用于接收Mesh网络中的第一节点设备发送的验证请求。其中,验证请求包含第一节点设备的设备标识。
身份验证单元62,用于基于验证请求包含的设备标识进行身份验证。
第一更新通知发送单元63,用于在确定通过身份验证的情况下,向第一节点设备发送第一网络密钥更新通知。其中,第一网络密钥更新通知包含第一随机数。
第一更新请求接收单元64,用于接收第一节点设备发送的第一网络密钥更新请求。其中,第一网络密钥更新请求包含第一节点设备的设备标识和第五数据。
第一更新请求处理单元65,用于获取第一节点设备的设备密钥,利用第一节点设备的设备密钥对第五数据进行解密,以获得第五数据包含的随机数和网络密钥的生成时间。
网络密钥获取单元66,用于获取第二网络密钥和第二网络密钥的生成时间。其中,第二网络密钥为服务器在接收到验证请求前最后一次向Mesh网络发送的网络密钥。
第一合法性验证单元67,用于至少基于第五数据包含的随机数和第一随机数进行合法性验证。
第一更新应答发送单元68,用于在确定通过合法性验证的情况下,向第一节点设备发送第一网络密钥更新应答。其中,第一网络密钥更新应答包含第一节点设备的设备标识和第二数据,第二数据为利用第一节点设备的设备密钥对第二网络密钥和第二网络密钥的生成时间进行加密得到的数据。
在本申请的另一个实施例中,在图6所示网络密钥更新装置的基础上,还包括第二更新通知发送单元、网络密钥生成单元、第二更新请求接收单元、第二更新请求处理单元、第二合法性验证单元和第二更新应答发送单元。
其中:
第二更新通知发送单元,用于在满足预设的更新条件时,生成第二网络密钥更新通知,向Mesh网络中在线的节点设备发送第二网络密钥更新通知。其中,第二网络密钥更新通知包含第二随机数。
网络密钥生成单元,用于生成第四网络密钥,记录第四网络密钥的生成时间,配置第四网络密钥的启用时间。
第二更新请求接收单元,用于接收节点设备发送的第二网络密钥更新请求,第二网络密钥更新请求包含节点设备的设备标识和第六数据。
第二更新请求处理单元,用于获取与第二网络密钥更新请求包含的设备标识对应的设备密钥,利用当前获取到的设备密钥对第六数据进行解密,以获得第六数据包含的随机数和网络密钥的生成时间。
第二合法性验证单元,用于至少基于第六数据包含的随机数和第二随机数进行验证。
第二更新应答发送单元,用于在确定通过验证的情况下,向节点设备发送第二网络密钥更新应答。其中,第二网络密钥更新应答包括节点设备的设备标识和第四数据,第四数据为利用设备密钥对第四网络密钥、第四网络密钥的生成时间和启用时间进行加密得到的数据。
本申请还提供一种电子设备。
参见图7,图7示出了电子设备的硬件结构,该电子设备包括:处理器701、存储器702、通信接口703、以及通信总线704。
在本申请实施例中,处理器701、存储器702、通信接口703、通信总线704的数量为至少一个,且处理器701、存储器702和通信接口703通过通信总线704完成相互间的通信。通信总线704可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
需要说明的是,本领域技术人员可以理解,图7中示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图7所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对电子设备的各个构成部件进行具体的介绍。
处理器701是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
处理器701可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器702可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM)和只读存储器(Read-Only Memory,ROM),也可能还包括大容量存储设备,例如至少1个磁盘存储器等。
其中,存储器702存储有程序,处理器701可调用存储器存储的程序,所述程序用于:
所述第一节点设备从离线状态切换为在线状态,且确定第一网络密钥失效的情况下,向服务器发送验证请求,所述验证请求包含所述第一节点设备的设备标识,所述第一网络密钥为所述第一节点设备当前使用的网络密钥;
接收所述服务器发送的第一网络密钥更新通知,所述第一网络密钥更新通知包含第一随机数;
利用所述设备密钥对所述第一随机数和所述第一网络密钥的生成时间进行加密,以获得第一数据,向所述服务器发送包含所述设备标识和所述第一数据的第一网络密钥更新请求;
接收所述服务器发送的第一网络密钥更新应答,所述第一网络密钥更新应答包含所述第一节点设备的设备标识和第二数据,所述第二数据为利用所述第一节点设备的设备密钥对第二网络密钥和所述第二网络密钥的生成时间进行加密得到的数据,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥;
获取所述第一网络密钥更新应答包含的所述第二数据,利用所述设备密钥对第二数据进行解密,以获得所述第二网络密钥和所述第二网络密钥的生成时间,保存所述第二网络密钥和所述第二网络密钥的生成时间,即刻生效所述第二网络密钥,删除所述第一网络密钥。
其中,第一节点设备即为图7所示的电子设备。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请还提供一种服务器。
参见图8,图8示出了服务器的硬件结构,该电子设备包括:处理器801、存储器802、通信接口803、以及通信总线804。
在本申请实施例中,处理器801、存储器802、通信接口803、通信总线804的数量为至少一个,且处理器801、存储器802和通信接口803通过通信总线804完成相互间的通信。通信总线804可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
需要说明的是,本领域技术人员可以理解,图8中示出的服务器的结构并不构成对电子设备的限定,服务器可以包括比图8所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图8对服务器的各个构成部件进行具体的介绍。
处理器801是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。
处理器801可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器802可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM)和只读存储器(Read-Only Memory,ROM),也可能还包括大容量存储设备,例如至少1个磁盘存储器等。
其中,存储器802存储有程序,处理器801可调用存储器存储的程序,所述程序用于:
接收Mesh网络中的第一节点设备发送的验证请求,所述验证请求包含所述第一节点设备的设备标识;
基于所述验证请求包含的设备标识进行身份验证;
在确定通过身份验证的情况下,向所述第一节点设备发送第一网络密钥更新通知,所述第一网络密钥更新通知包含第一随机数;
接收所述第一节点设备发送的第一网络密钥更新请求,所述第一网络密钥更新请求包含所述第一节点设备的设备标识和第五数据;
获取所述第一节点设备的设备密钥,利用所述第一节点设备的设备密钥对所述第五数据进行解密,以获得所述第五数据包含的随机数和网络密钥的生成时间;
获取第二网络密钥和所述第二网络密钥的生成时间,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥;
至少基于所述第五数据包含的随机数和所述第一随机数进行合法性验证;
在确定通过合法性验证的情况下,向所述第一节点设备发送第一网络密钥更新应答,所述第一网络密钥更新应答包含所述第一节点设备的设备标识和第二数据,所述第二数据为利用所述第一节点设备的设备密钥对所述第二网络密钥和所述第二网络密钥的生成时间进行加密得到的数据。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种网络密钥更新方法,其特征在于,应用于Mesh网络中的第一节点设备,所述方法包括:
所述第一节点设备从离线状态切换为在线状态,且确定当前使用的第一网络密钥失效的情况下,向服务器发送验证请求,所述验证请求包含所述第一节点设备的设备标识;
接收所述服务器发送的包含第一随机数的第一网络密钥更新通知;
利用设备密钥对所述第一随机数和所述第一网络密钥的生成时间进行加密,以获得第一数据,向所述服务器发送包含所述设备标识和所述第一数据的第一网络密钥更新请求;
接收所述服务器发送的第一网络密钥更新应答;
获取所述第一网络密钥更新应答包含的第二数据,利用所述设备密钥对所述第二数据进行解密,以获得第二网络密钥和所述第二网络密钥的生成时间,保存所述第二网络密钥和所述第二网络密钥的生成时间,即刻生效所述第二网络密钥,删除所述第一网络密钥,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收所述服务器发送的包含第二随机数的第二网络密钥更新通知;
利用所述设备密钥对所述第二随机数和当前使用的第三网络密钥的生成时间进行加密,以获得第三数据,向所述服务器发送包含所述设备标识和所述第三数据的第二网络密钥更新请求;
接收所述服务器发送的第二网络密钥更新应答;
获取所述第二网络密钥更新应答包含的第四数据,利用所述设备密钥对所述第四数据进行解密,以获得第四网络密钥、所述第四网络密钥的生成时间和启用时间,保存所述第四网络密钥和所述第四网络密钥的生成时间;
在到达所述启用时间时生效所述第四网络密钥;
在到达删除时间时删除所述第三网络密钥,其中,所述删除时间位于所述启用时间之后,且与所述启用时间相差指定的时间间隔。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述第一节点设备生效所述第四网络密钥后,在向所述Mesh网络中的其他节点设备发送数据的过程中,使用所述第四网络密钥对待发送的数据进行加密。
4.根据权利要求2所述的方法,其特征在于,还包括:
在所述启用时间和所述删除时间之间,所述第一节点设备分别使用所述第三网络密钥和所述第四网络密钥对所述Mesh网络中的其他节点设备发送的数据进行解密。
5.根据权利要求1所述的方法,其特征在于,所述向服务器发送验证请求,包括:
广播搜索代理请求;
从应答所述搜索代理请求的节点设备中确定出目标代理设备;
向所述目标代理设备发送验证请求,以便所述目标代理设备将所述验证请求传输至所述服务器。
6.一种网络密钥更新方法,其特征在于,应用于服务器,所述方法包括:
接收Mesh网络中的第一节点设备发送的验证请求,所述验证请求包含所述第一节点设备的设备标识;
基于所述验证请求包含的设备标识进行身份验证;
在确定通过身份验证的情况下,向所述第一节点设备发送包含第一随机数的第一网络密钥更新通知;
接收所述第一节点设备发送的第一网络密钥更新请求,所述第一网络密钥更新请求包含所述第一节点设备的设备标识和第五数据;
获取所述第一节点设备的设备密钥,利用所述第一节点设备的设备密钥对所述第五数据进行解密,以获得所述第五数据包含的随机数和网络密钥的生成时间;
获取第二网络密钥和所述第二网络密钥的生成时间,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥;
至少基于所述第五数据包含的随机数和所述第一随机数进行合法性验证;
在确定通过合法性验证的情况下,向所述第一节点设备发送第一网络密钥更新应答,所述第一网络密钥更新应答包含所述第一节点设备的设备标识和第二数据,所述第二数据为利用所述第一节点设备的设备密钥对所述第二网络密钥和所述第二网络密钥的生成时间进行加密得到的数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
在满足预设的更新条件时,生成包含第二随机数的第二网络密钥更新通知;
向Mesh网络中在线的节点设备发送所述第二网络密钥更新通知;
生成第四网络密钥,记录所述第四网络密钥的生成时间,配置所述第四网络密钥的启用时间;
接收节点设备发送的第二网络密钥更新请求,所述第二网络密钥更新请求包含所述节点设备的设备标识和第六数据;
获取与所述第二网络密钥更新请求包含的设备标识对应的设备密钥,利用当前获取到的设备密钥对所述第六数据进行解密,以获得所述第六数据包含的随机数和网络密钥的生成时间;
至少基于所述第六数据包含的随机数和所述第二随机数进行合法性验证;
在确定通过合法性验证的情况下,向所述节点设备发送第二网络密钥更新应答,所述第二网络密钥更新应答包括所述节点设备的设备标识和第四数据,所述第四数据为利用所述设备密钥对所述第四网络密钥、所述第四网络密钥的生成时间和启用时间进行加密得到的数据。
8.一种网络密钥更新装置,其特征在于,应用于Mesh网络中的第一节点设备,所述装置包括:
验证请求发送单元,用于在所述第一节点设备从离线状态切换为在线状态,且确定当前使用的第一网络密钥失效的情况下,向服务器发送验证请求,所述验证请求包含所述第一节点设备的设备标识;
第一更新通知接收单元,用于接收所述服务器发送的包含第一随机数的第一网络密钥更新通知;
第一更新请求发送单元,用于利用设备密钥对所述第一随机数和所述第一网络密钥的生成时间进行加密,以获得第一数据,向所述服务器发送包含所述设备标识和所述第一数据的第一网络密钥更新请求;
第一更新应答接收单元,用于接收所述服务器发送的第一网络密钥更新应答;
第一网络密钥更新单元,用于获取所述第一网络密钥更新应答包含的第二数据,利用所述设备密钥对所述第二数据进行解密,以获得第二网络密钥和所述第二网络密钥的生成时间,保存所述第二网络密钥和所述第二网络密钥的生成时间,即刻生效所述第二网络密钥,删除所述第一网络密钥,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥。
9.一种网络密钥更新装置,其特征在于,应用于服务器,所述装置包括:
验证请求接收单元,用于接收Mesh网络中的第一节点设备发送的验证请求,所述验证请求包含所述第一节点设备的设备标识;
身份验证单元,用于基于所述验证请求包含的设备标识进行身份验证;
第一更新通知发送单元,用于在确定通过身份验证的情况下,向所述第一节点设备发送包含第一随机数的第一网络密钥更新通知;
第一更新请求接收单元,用于接收所述第一节点设备发送的第一网络密钥更新请求,所述第一网络密钥更新请求包含所述第一节点设备的设备标识和第五数据;
第一更新请求处理单元,用于获取所述第一节点设备的设备密钥,利用所述第一节点设备的设备密钥对所述第五数据进行解密,以获得所述第五数据包含的随机数和网络密钥的生成时间;
网络密钥获取单元,用于获取第二网络密钥和所述第二网络密钥的生成时间,其中,所述第二网络密钥为所述服务器在接收到所述验证请求前最后一次向所述Mesh网络发送的网络密钥;
第一合法性验证单元,用于至少基于所述第五数据包含的随机数和所述第一随机数进行合法性验证;
第一更新应答发送单元,用于在确定通过合法性验证的情况下,向所述第一节点设备发送第一网络密钥更新应答,所述第一网络密钥更新应答包含所述第一节点设备的设备标识和第二数据,所述第二数据为利用所述第一节点设备的设备密钥对所述第二网络密钥和所述第二网络密钥的生成时间进行加密得到的数据。
10.一种电子设备,其特征在于,包括通信模块、处理器和存储器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1至5中任一项所述的网络密钥更新方法的各个步骤。
11.一种服务器,其特征在于,包括通信模块、处理器和存储器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求6或7所述的网络密钥更新方法的各个步骤。
CN202210588194.6A 2022-05-27 2022-05-27 网络密钥更新方法、装置、电子设备及服务器 Pending CN115002763A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210588194.6A CN115002763A (zh) 2022-05-27 2022-05-27 网络密钥更新方法、装置、电子设备及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210588194.6A CN115002763A (zh) 2022-05-27 2022-05-27 网络密钥更新方法、装置、电子设备及服务器

Publications (1)

Publication Number Publication Date
CN115002763A true CN115002763A (zh) 2022-09-02

Family

ID=83029765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210588194.6A Pending CN115002763A (zh) 2022-05-27 2022-05-27 网络密钥更新方法、装置、电子设备及服务器

Country Status (1)

Country Link
CN (1) CN115002763A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090002328A (ko) * 2007-06-28 2009-01-09 연세대학교 산학협력단 무선 센서 네트워크에서의 새로운 장치 참여 방법
CN101646172A (zh) * 2009-09-08 2010-02-10 杭州华三通信技术有限公司 一种分布式mesh网络中产生密钥的方法和装置
JP2011087013A (ja) * 2009-10-13 2011-04-28 Mitsubishi Electric Corp 通信システムおよび鍵更新方法
JP2016100832A (ja) * 2014-11-25 2016-05-30 富士電機株式会社 鍵データ生成装置、鍵データ生成システム、及び鍵データ生成方法
CN111200491A (zh) * 2018-11-20 2020-05-26 千寻位置网络有限公司 密钥的更新、数据解密方法及装置、客户端及交互系统
CN111314060A (zh) * 2018-12-12 2020-06-19 中移动信息技术有限公司 一种密钥更新方法、设备及存储介质
CN113141333A (zh) * 2020-01-18 2021-07-20 佛山市云米电器科技有限公司 入网设备的通信方法、设备、服务器、系统及存储介质
CN113676880A (zh) * 2020-05-15 2021-11-19 华为技术有限公司 秘钥更新方法、网络设备、系统与存储介质
CN114268944A (zh) * 2021-12-08 2022-04-01 上海庆科信息技术有限公司 一种身份认证方法、配网器、电子设备及存储介质
CN114520967A (zh) * 2020-11-18 2022-05-20 阿里巴巴(中国)有限公司 设备接入网络的方法、系统及相应的物联网设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090002328A (ko) * 2007-06-28 2009-01-09 연세대학교 산학협력단 무선 센서 네트워크에서의 새로운 장치 참여 방법
CN101646172A (zh) * 2009-09-08 2010-02-10 杭州华三通信技术有限公司 一种分布式mesh网络中产生密钥的方法和装置
JP2011087013A (ja) * 2009-10-13 2011-04-28 Mitsubishi Electric Corp 通信システムおよび鍵更新方法
JP2016100832A (ja) * 2014-11-25 2016-05-30 富士電機株式会社 鍵データ生成装置、鍵データ生成システム、及び鍵データ生成方法
CN111200491A (zh) * 2018-11-20 2020-05-26 千寻位置网络有限公司 密钥的更新、数据解密方法及装置、客户端及交互系统
CN111314060A (zh) * 2018-12-12 2020-06-19 中移动信息技术有限公司 一种密钥更新方法、设备及存储介质
CN113141333A (zh) * 2020-01-18 2021-07-20 佛山市云米电器科技有限公司 入网设备的通信方法、设备、服务器、系统及存储介质
CN113676880A (zh) * 2020-05-15 2021-11-19 华为技术有限公司 秘钥更新方法、网络设备、系统与存储介质
CN114520967A (zh) * 2020-11-18 2022-05-20 阿里巴巴(中国)有限公司 设备接入网络的方法、系统及相应的物联网设备
CN114268944A (zh) * 2021-12-08 2022-04-01 上海庆科信息技术有限公司 一种身份认证方法、配网器、电子设备及存储介质

Similar Documents

Publication Publication Date Title
JP6612358B2 (ja) ネットワークアクセスデバイスをワイヤレスネットワークアクセスポイントにアクセスさせるための方法、ネットワークアクセスデバイス、アプリケーションサーバ、および不揮発性コンピュータ可読記憶媒体
CN113099443B (zh) 设备认证方法、装置、设备和系统
JP4714482B2 (ja) 暗号通信システムおよび方法
US8213905B2 (en) Method and device for realizing push service of GAA
US20080219445A1 (en) Communications audit support system
US8484472B2 (en) System and method of filtering unsolicited messages
US10511435B2 (en) Methods and apparatus for direct communication key establishment
CN112671763B (zh) 组网环境下的数据同步方法、装置、计算机设备及存储介质
CN100479386C (zh) 域管理系统、建立本地域的方法和获取本地域许可的方法
CN105873055B (zh) 一种无线网络接入认证方法及装置
EP1683322A1 (en) Shared secret usage for bootstrapping
US20060101270A1 (en) Determining a key derivation function
CN110138805B (zh) 一种设备认证方法、装置和计算机可读储存介质
US9049012B2 (en) Secured cryptographic communication system
CA2552917C (en) A method of obtaining the user identification for the network application entity
CN113378153B (zh) 认证方法、第一服务设备、第二服务设备及终端设备
CN111092878A (zh) 中间人劫持的测试方法、装置、设备及可读存储介质
US11711402B2 (en) Methods and apparatus for lawful interception of communications
CN114390524A (zh) 一键登录业务的实现方法和装置
CN115002763A (zh) 网络密钥更新方法、装置、电子设备及服务器
US20210195418A1 (en) A technique for authenticating data transmitted over a cellular network
KR101500118B1 (ko) 데이터 공유 방법 및 이를 이용한 데이터 공유 시스템
JP3851781B2 (ja) 無線通信装置及び無線通信システム、並びに、接続認証方法
CN110034927B (zh) 一种通信的方法及装置
CN100579014C (zh) 触发用户密钥生成的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination