CN111163107B - 一种zigbee的安全通信方法及系统 - Google Patents

一种zigbee的安全通信方法及系统 Download PDF

Info

Publication number
CN111163107B
CN111163107B CN202010004044.7A CN202010004044A CN111163107B CN 111163107 B CN111163107 B CN 111163107B CN 202010004044 A CN202010004044 A CN 202010004044A CN 111163107 B CN111163107 B CN 111163107B
Authority
CN
China
Prior art keywords
data
random number
terminal equipment
interactive
key
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.)
Active
Application number
CN202010004044.7A
Other languages
English (en)
Other versions
CN111163107A (zh
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.)
Hangzhou Tuya Information Technology Co Ltd
Original Assignee
Hangzhou Tuya Information Technology 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 Hangzhou Tuya Information Technology Co Ltd filed Critical Hangzhou Tuya Information Technology Co Ltd
Priority to CN202010004044.7A priority Critical patent/CN111163107B/zh
Publication of CN111163107A publication Critical patent/CN111163107A/zh
Application granted granted Critical
Publication of CN111163107B publication Critical patent/CN111163107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种安全通信方法,包括:发送第一交互秘钥请求数据;发送第一交互秘钥请求数据至云端;通过终端的通用唯一识别获取对应的预制秘钥;计算通用唯一识别码和第一随机数的哈希运算消息认证码;生成并加密第二随机数;将第一数据标签、第二数据标签、第二随机数的加密数据及第二交互秘钥发送给网关;将第一数据标签和加密后的第二随机数发送给终端设备;与网关收到的第一数据标签比较;解密并保存第二随机数;比较云端发送的第二数据标签和终端设备发送的第二数据标签是否一致;根据比较结果获取交互秘钥。本申请的有益效果为利用hmac算法保证秘钥交互过程中数据帧的完整性检测,使得整个秘钥交互过程中,数据不会被中间设备篡改。

Description

一种zigbee的安全通信方法及系统
技术领域
本申请涉及网络安全领域,具体而言,涉及一种zigbee的安全通信方法。
背景技术
随着几年来AIOT行业的兴起,zigbee技术得到比较广泛的应用。它是一种基于802.15.4标准的短距离,低速率,低功耗,低成本的无线通信技术。但各大zigbee芯片原厂在设计芯片的时候,在存储、计算及电源设计上的存在一定的局限性,导致很多成熟的加密方案都不能运用到现在的zigbee协议中。zigbee标准规范中,在安全方面使用AES128算法进行数据加密处理。
在zigbee协议中,都会使用一个众所周知的秘钥来传输新的秘钥,相当于明文传输秘钥,这使得网络有一个脆弱期,很容易被别人获取到秘钥。而在预安装上,生产商为了压低成本并且方便与其他设备通信所造成的。这里就可能会有如下的可能性,比如说,生产商为了方便他顾客的使用,或者说为了他公司生产的各个设备能够互联,可能会规定他的某种联网产品的初始密码为统一的密码。这种做法也将导致秘钥的泄漏。
发明内容
本申请的主要目的在于提供一种zigbee的安全通信方法,包括:
S1:终端设备发送第一交互秘钥请求数据;
S2:网关接收并发送所述第一交互秘钥请求数据至云端;
S3:所述云端通过所述终端的通用唯一识别码获取对应的预制秘钥,并通过所述预制秘钥解密所述第一交互秘钥请求数据,得到第一随机数和第一哈希运算消息认证码,所述第一哈希运算消息认证码包括:所述终端设备的通用唯一识别码和所述第一随机数;
S4:计算所述通用唯一识别码和所述第一随机数的哈希运算消息认证码,比较所述云端计算的结果和所述终端设备的值;
S5:所述云端生成并加密第二随机数,对以第一随机数为数据内容计算并获得第一数据标签,对以第二随机数为数据内容计算并获得第二数据标签,计算第二随机数的加密数据,和以第一随机数异或第二随机数得到的第二交互秘钥;
S6:将所述第一数据标签、所述第二数据标签、第二随机数的加密数据及所述第二交互秘钥发送给所述网关;
S7:所述网关保存所述第二数据标签和所述交互秘钥;
S8:所述网关将所述第一数据标签和加密后的第二随机数发送给所述终端设备;
S9:所述终端设备计算所述第一数据标签,并与步骤S6中所述网关收到的所述第一数据标签比较;
S10:解密并保存第二随机数,并计算出所述第二随机数的哈希运算消息认证码;
S11:所述终端设备将所述第二随机数的哈希运算消息认证码发送给所述网关;
S12:所述网关比较步骤S6中所述云端发送的第二数据标签和所述终端设备发送的所述第二随机数的哈希运算消息认证码是否一致;
S13:将比较结果发送至所述终端设备;
S14:所述终端设备根据所述比较结果获取所述交互秘钥。
可选地,所述的zigbee的安全通信方法还包括:
S101:烧录软件发起读所述通用唯一识别码的请求;
S102:所述终端设备返回所述通用唯一识别码给所述烧录软件;
S103:所述烧录软件发送所述通用唯一识别码至云端;
S104:所述云端根据所述通用唯一识别码随机生成预制秘钥,并将所述预制秘钥保存到云端;
S105:所述云端发送所述预制秘钥至所述烧录软件;
S106:所述烧录软件将所述预制秘钥发送至所述终端设备;
S107:加密并保存所述预制秘钥至所述终端设备;
S108:所述终端设备返回所述预制秘钥接收成功给所述烧录软件,完成所述预制秘钥交互。
可选地,所述交互秘钥请求整体采用AES加密,内容为所述第一随机数和用hmacsha256对通用唯一识别码和所述第一数据标签。
可选地,步骤5中,通过hmacsha256分别对以第一随机数为数据内容和以第二随机数为数据内容计算第一数据标签和第二数据标签。
可选地,还包括:所述终端设备加入zigbee网络,加网过程中的数据传输基于zigbee协议,采用预制或众所周知的秘钥加密,且数据交互过程为明文传传输。
可选地,步骤S9中,所述终端设备通过hmacsha256计算第一数据标签。
根据本申请的一方面,还提供了一种zigbee的安全通信系统,包括:
第一交互秘钥请求发送模块,用于终端设备发送第一交互秘钥请求数据;
第一交互秘钥请求接收模块,用于网关接收并发送所述第一交互秘钥请求数据至云端;
预制秘钥获取模块,用于所述云端通过所述终端的通用唯一识别码获取对应的预制秘钥,并通过所述预制秘钥解密所述第一交互秘钥请求数据,得到第一随机数和第一哈希运算消息认证码,所述第一哈希运算消息认证码包括:所述终端设备的通用唯一识别码和所述第一随机数;
计算模块,用于计算所述通用唯一识别码和所述第一随机数的哈希运算消息认证码,比较所述云端计算的结果和所述终端设备的值;
生成模块,用于所述云端生成并加密第二随机数,对以第一随机数为数据内容计算并获得第一数据标签,对以第二随机数为数据内容计算并获得第二数据标签,计算第二随机数的加密数据,和以第一随机数异或第二随机数得到的第二交互秘钥;
第一数据发送模块,用于将所述第一数据标签、所述第二数据标签、第二随机数的加密数据及所述第二交互秘钥发送给所述网关;
保存模块,用于所述网关保存所述第二数据标签和所述交互秘钥;
第二数据发送模块,用于,所述网关将所述第一数据标签和加密后的第二随机数发送给所述终端设备;
第一比较模块,用于所述终端设备计算所述第一数据标签,并与步骤S6中所述网关收到的所述第一数据标签比较;
解密模块,用于解密并保存第二随机数,并计算出所述第二随机数的哈希运算消息认证码;
第三数据发送模块,用于所述终端设备将所述第二随机数的哈希运算消息认证码发送给所述网关;
第二比较模块,用于所述网关比较步骤S6中所述云端发送的第二数据标签和所述终端设备发送的所述第二随机数的哈希运算消息认证码是否一致;
秘钥获取模块,用于所述终端设备获取所述交互秘钥。
本申请还公开了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
本申请还公开了一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
本申请还公开了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
与现有技术相比,本申请具有如下有益效果:
将通过云端、网关以及终端设备直接建立一套应用层动态秘钥交互流程,让设备自己选择是否开启加密,加密方式以及秘钥更新周期等参数。该方案可以保证每个终端设备独立拥有一个单独的秘钥,同时为了满足zigbee的互联性,子设备可以选择是否开启加密,当不开启加密时,子设备依旧可以采用zigbee协议的统一机制,和其他厂商的设备实现互联互通。同时秘钥传输过程中,网关不会获取到核心秘钥,及时网关由第三方公司提供,秘钥也不会外泄出去。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和有益效果变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1-图2是根据本申请一个实施例的zigbee的安全通信方法的流程示意图;
图3是根据本申请一个实施例的计算机设备的示意图;以及
图4是根据本申请一个实施例的计算机可读存储介质的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参照图1-图2,本申请一实施例提供了一种zigbee的安全通信方法,包括:
S1:终端设备发送第一交互秘钥请求数据;
S2:网关接收并发送所述第一交互秘钥请求数据至云端;
S3:所述云端通过所述终端的通用唯一识别码获取对应的预制秘钥,并通过所述预制秘钥解密所述第一交互秘钥请求数据,得到第一随机数和第一哈希运算消息认证码,所述第一哈希运算消息认证码包括:所述终端设备的通用唯一识别码和所述第一随机数;
S4:计算所述通用唯一识别码和所述第一随机数的哈希运算消息认证码,比较所述云端计算的结果和所述终端设备的值;
S5:所述云端生成并加密第二随机数,对以第一随机数为数据内容计算并获得第一数据标签,对以第二随机数为数据内容计算并获得第二数据标签,计算第二随机数的加密数据,和以第一随机数异或第二随机数得到的第二交互秘钥;
S6:将所述第一数据标签、所述第二数据标签、第二随机数的加密数据及所述第二交互秘钥发送给所述网关;
S7:所述网关保存所述第二数据标签和所述交互秘钥;
S8:所述网关将所述第一数据标签和加密后的第二随机数发送给所述终端设备;
S9:所述终端设备计算所述第一数据标签,并与步骤S6中所述网关收到的所述第一数据标签比较;
S10:解密并保存第二随机数,并计算出所述第二随机数的哈希运算消息认证码;
S11:所述终端设备将所述第二随机数的哈希运算消息认证码发送给所述网关;
S12:所述网关比较步骤S6中所述云端发送的第二数据标签和所述终端设备发送的所述第二随机数的哈希运算消息认证码是否一致;
S13:将比较结果发送至所述终端设备;
S14:所述终端设备根据所述比较结果获取所述交互秘钥。
在本申请一实施例中,所述的zigbee的安全通信方法还包括:
S101:烧录软件发起读所述通用唯一识别码的请求;
S102:所述终端设备返回所述通用唯一识别码给所述烧录软件;
S103:所述烧录软件发送所述通用唯一识别码至云端;
S104:所述云端根据所述通用唯一识别码随机生成预制秘钥,并将所述预制秘钥保存到云端;
S105:所述云端发送所述预制秘钥至所述烧录软件;
S106:所述烧录软件将所述预制秘钥发送至所述终端设备;
S107:加密并保存所述预制秘钥至所述终端设备;
S108:所述终端设备返回所述预制秘钥接收成功给所述烧录软件,完成所述预制秘钥交互。
在本申请一实施例中,所述交互秘钥请求整体采用AES加密,内容为所述第一随机数和用hmacsha256对通用唯一识别码和所述第一数据标签。
在本申请一实施例中,步骤5中,通过hmacsha256分别对以第一随机数为数据内容和以第二随机数为数据内容计算第一数据标签和第二数据标签。
在本申请一实施例中,还包括:所述终端设备加入zigbee网络,加网过程中的数据传输基于zigbee协议,采用预制或众所周知的秘钥加密,且数据交互过程为明文传传输。
在本申请一实施例中,步骤S9中,所述终端设备通过hmacsha256计算的随机数A为数据内容的数据标签。
例如,一种基于hmac(密钥相关的哈希运算消息认证码,Hash-based MessageAuthentication Code)加密的的zigbee安全通信方法,包括以下步骤:
步骤一,烧录软件发起读终端设备uuid(通用唯一识别码,Universally UniqueIdentifier)的请求,读取到终端设备的uuid;
步骤二,终端设备返回uuid给烧录软件;
步骤三,烧录软件将uuid上报给云端;
步骤四,云端根据uuid随机生成auth_key,并将auth_key保存到云端;
步骤五,云端下发auth_key到烧录软件;
步骤六,烧录软件将auth_key下发给终端设备;
步骤七,将auth_key加密保存到终端设备本地;
步骤八,终端设备返回auth_key接收成功给烧录软件,完成auth_key交互;
步骤九,终端设备加入zigbee网络,加网过程中的数据传输基于zigbee协议,采用预制或众所周知的秘钥加密,但数据交互过程可以认为明文传传输。
步骤十,终端设备发送交互秘钥请求,交互秘钥请求整体采用AES加密,内容为随机数A和用hmacsha256对uuid和随机数A为数据内容生产的数据标签;
步骤十一,网关收到数据之后,将步骤十的数据直接发送给云端;
步骤十二,云端通过uuid找到对应的预制秘钥(auth_key);
步骤十三,使用预制秘钥(auth_key)将数据解密出来,得到RA和HMAC(uuid+RA);
步骤十四,根据uuid和RA,计算HMAC(uuid+RA),比较云端计算的结果和终端设备的值;
步骤十五,云端生成随机数B,用AES加密随机数B,用hmacsha256分别对以随机数A为数据内容和以随机数B为数据内容计算数据标签,计算随机数B的AES加密,以随机数A异或随机数B得到交互秘钥;
步骤十六,将步骤十五生成的数据发送给网关;
步骤十七,网关保存云端下发的用hmacsha256计算的随机数B为数据内容的数据标签和交互秘钥;
步骤十八,网关将hmacsha256计算的随机数A为数据内容的数据标签和AES加密随机数B发送给终端设备;
步骤十九,终端设备通过hmacsha256计算的随机数A为数据内容的数据标签,并比较是否与步骤十六中的网关收到的第一数据标签一致;
步骤二十,解密出随机数B,保存RB,并计算出HMAC(RB);
步骤二十一,终端设备将计算出的HMAC(RB)(rb的数据标签)发送给网关;
步骤二十二,网关核对步骤十五中云端下发的用hmacsha256计算的随机数B为数据内容的数据标签和终端设备发送的数据是否一致;
步骤二十三,将核对结果下发给终端设备;
步骤二十四,终端设备通过计算AES加密以随机数A异或随机数B得到交互秘钥,完成整个秘钥交互。
本申请还提供了一种zigbee的安全通信系统,包括:
第一交互秘钥请求发送模块,用于终端设备发送第一交互秘钥请求数据;
第一交互秘钥请求接收模块,用于网关接收并发送所述第一交互秘钥请求数据至云端;
预制秘钥获取模块,用于所述云端通过所述终端的通用唯一识别码获取对应的预制秘钥,并通过所述预制秘钥解密所述第一交互秘钥请求数据,得到第一随机数和第一哈希运算消息认证码,所述第一哈希运算消息认证码包括:所述终端设备的通用唯一识别码和所述第一随机数;
计算模块,用于计算所述通用唯一识别码和所述第一随机数的哈希运算消息认证码,比较所述云端计算的结果和所述终端设备的值;
生成模块,用于所述云端生成并加密第二随机数,对以第一随机数为数据内容计算并获得第一数据标签,对以第二随机数为数据内容计算并获得第二数据标签,计算第二随机数的加密数据,和以第一随机数异或第二随机数得到的第二交互秘钥;
第一数据发送模块,用于将所述第一数据标签、所述第二数据标签、第二随机数的加密数据及所述第二交互秘钥发送给所述网关;
保存模块,用于所述网关保存所述第二数据标签和所述交互秘钥;
第二数据发送模块,用于,所述网关将所述第一数据标签和加密后的第二随机数发送给所述终端设备;
第一比较模块,用于所述终端设备计算所述第一数据标签,并与步骤S6中所述网关收到的所述第一数据标签比较;
解密模块,用于解密并保存第二随机数,并计算出所述第二随机数的哈希运算消息认证码;
第三数据发送模块,用于所述终端设备将所述第二随机数的哈希运算消息认证码发送给所述网关;
第二比较模块,用于所述网关比较步骤S6中所述云端发送的第二数据标签和所述终端设备发送的所述第二随机数的哈希运算消息认证码是否一致;
秘钥获取模块,用于所述终端设备获取所述交互秘钥。
本发明采用以上技术方案,利用hmac算法保证秘钥交互过程中数据帧的完整性检测,使得整个秘钥交互过程中,数据不会被中间设备篡改。采用随机数AB双向交互,保证数据的安全。在整个秘钥交互过程中,网关仅能获取到随机数A和随机数B对应的数据标签,保证预制秘钥仅在云端和终端设备中存在,当网关为第三方设备时,保证预制秘钥不会外泄出去。云端根据设备uuid随机产生预制秘钥保证每个设备的预制秘钥的唯一性,即使获取到单个单个设备的预制也不会破解整个网络的秘钥,不会威胁到整个网络的安全。从整个秘钥的交互的流程上看,终端设备可以更加自身需要,不定期变更自己的交互秘钥,增加破解秘钥的难度。
与现有技术相比,本申请具有如下有益效果:
1、利用hmac算法保证秘钥交互过程中数据帧的完整性检测,使得整个秘钥交互过程中,数据不会被中间设备篡改。
2、采用随机数AB双向交互,保证数据的安全。
3、在整个秘钥交互过程中,网关仅能获取到随机数A和随机数B对应的数据标签,保证预制秘钥仅在云端和终端设备中存在,当网关为第三方设备时,保证预制秘钥不会外泄出去。
4、云端根据设备uuid随机产生预制秘钥保证每个设备的预制秘钥的唯一性,即使获取到单个单个设备的预制也不会破解整个网络的秘钥,不会威胁到整个网络的安全。从整个秘钥的交互的流程上看,终端设备可以更加自身需要,不定期变更自己的交互秘钥,增加破解秘钥的难度。
请参照图3,本申请还提供了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
请参照图4,一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种zigbee的安全通信方法,其特征在于,包括:
S101:烧录软件发起读终端设备通用唯一识别码的请求;
S102:所述终端设备返回所述通用唯一识别码给所述烧录软件;
S103:所述烧录软件发送所述通用唯一识别码至云端;
S104:所述云端根据所述通用唯一识别码随机生成预制秘钥,并将所述预制秘钥保存到云端;
S105:所述云端发送所述预制秘钥至所述烧录软件;
S106:所述烧录软件将所述预制秘钥发送至所述终端设备;
S107:加密并保存所述预制秘钥至所述终端设备;
S108:所述终端设备返回所述预制秘钥接收成功给所述烧录软件,完成所述预制秘钥交互;
S109:所述终端设备加入zigbee网络,加网过程中的数据传输基于zigbee协议,采用所述预制秘钥加密,且数据交互过程为明文传输;
S1:终端设备发送第一交互秘钥请求数据;
S2:网关接收并发送所述第一交互秘钥请求数据至云端;
S3:所述云端通过所述终端的通用唯一识别码获取对应的预制秘钥,并通过所述预制秘钥解密所述第一交互秘钥请求数据,得到第一随机数和第一哈希运算消息认证码,所述第一哈希运算消息认证码包括:所述终端设备的通用唯一识别码和所述第一随机数;
S4:计算所述通用唯一识别码和所述第一随机数的哈希运算消息认证码,比较所述云端计算的结果和所述终端设备的值;
S5:所述云端生成并加密第二随机数,对以第一随机数为数据内容计算并获得第一数据标签,对以第二随机数为数据内容计算并获得第二数据标签,计算第二随机数的加密数据,和以第一随机数异或第二随机数得到的第二交互秘钥;
S6:将所述第一数据标签、所述第二数据标签、第二随机数的加密数据及所述第二交互秘钥发送给所述网关;
S7:所述网关保存所述第二数据标签和所述交互秘钥;
S8:所述网关将所述第一数据标签和加密后的第二随机数发送给所述终端设备;
S9:所述终端设备计算所述第一数据标签,并与步骤S6中所述网关收到的所述第一数据标签比较;
S10:解密并保存第二随机数,并计算出所述第二随机数的哈希运算消息认证码;
S11:所述终端设备将所述第二随机数的哈希运算消息认证码发送给所述网关;
S12:所述网关比较步骤S6中所述云端发送的第二数据标签和所述终端设备发送的所述第二随机数的哈希运算消息认证码是否一致;
S13:将比较结果发送至所述终端设备;
S14:所述终端设备根据所述比较结果获取所述交互秘钥;
步骤S9中,所述终端设备通过hmacsha256计算第一数据标签。
2.根据权利要求1所述的zigbee的安全通信方法,其特征在于,所述交互秘钥请求整体采用AES加密,内容为所述第一随机数和用hmacsha256对通用唯一识别码和第一随机数为数据内容计算所得的第一哈希运算消息认证码。
3.根据权利要求2所述的zigbee的安全通信方法,其特征在于,步骤S5中,通过hmacsha256分别对以第一随机数为数据内容和以第二随机数为数据内容计算第一数据标签和第二数据标签。
4.一种zigbee的安全通信系统,其特征在于,包括:
第一交互秘钥请求发送模块,用于终端设备发送第一交互秘钥请求数据;
第一交互秘钥请求接收模块,用于网关接收并发送所述第一交互秘钥请求数据至云端;
预制秘钥获取模块,用于所述云端通过所述终端的通用唯一识别码获取对应的预制秘钥,并通过所述预制秘钥解密所述第一交互秘钥请求数据,得到第一随机数和第一哈希运算消息认证码,所述第一哈希运算消息认证码包括:所述终端设备的通用唯一识别码和所述第一随机数;
计算模块,用于计算所述通用唯一识别码和所述第一随机数的哈希运算消息认证码,比较所述云端计算的结果和所述终端设备的值;
生成模块,用于所述云端生成并加密第二随机数,对以第一随机数为数据内容计算并获得第一数据标签,对以第二随机数为数据内容计算并获得第二数据标签,计算第二随机数的加密数据,和以第一随机数异或第二随机数得到的第二交互秘钥;
第一数据发送模块,用于将所述第一数据标签、所述第二数据标签、第二随机数的加密数据及所述第二交互秘钥发送给所述网关;
保存模块,用于所述网关保存所述第二数据标签和所述交互秘钥;
第二数据发送模块,用于,所述网关将所述第一数据标签和加密后的第二随机数发送给所述终端设备;
第一比较模块,用于所述终端设备计算所述第一数据标签,并与网关收到的所述第一数据标签比较;
解密模块,用于解密并保存第二随机数,并计算出所述第二随机数的哈希运算消息认证码;
第三数据发送模块,用于所述终端设备将所述第二随机数的哈希运算消息认证码发送给所述网关;
第二比较模块,用于所述网关比较所述云端发送的第二数据标签和所述终端设备发送的所述第二随机数的哈希运算消息认证码是否一致;
秘钥获取模块,用于所述终端设备获取所述交互秘钥;
所述终端设备加入zigbee网络,加网过程中的数据传输基于zigbee协议,采用预制的秘钥加密,且数据交互过程为明文传输;
所述终端设备通过hmacsha256计算第一数据标签。
5.一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3中任一项所述的方法。
6.一种计算机可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序在由处理器执行时实现如权利要求1-3中任一项所述的方法。
CN202010004044.7A 2020-01-03 2020-01-03 一种zigbee的安全通信方法及系统 Active CN111163107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010004044.7A CN111163107B (zh) 2020-01-03 2020-01-03 一种zigbee的安全通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010004044.7A CN111163107B (zh) 2020-01-03 2020-01-03 一种zigbee的安全通信方法及系统

Publications (2)

Publication Number Publication Date
CN111163107A CN111163107A (zh) 2020-05-15
CN111163107B true CN111163107B (zh) 2022-08-30

Family

ID=70560918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010004044.7A Active CN111163107B (zh) 2020-01-03 2020-01-03 一种zigbee的安全通信方法及系统

Country Status (1)

Country Link
CN (1) CN111163107B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767553B (zh) * 2020-05-29 2024-04-12 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质
WO2022116110A1 (zh) * 2020-12-03 2022-06-09 Oppo广东移动通信有限公司 接入认证方法、装置、设备及存储介质
WO2022147843A1 (zh) * 2021-01-11 2022-07-14 Oppo广东移动通信有限公司 接入认证的方法和装置
CN114491481B (zh) * 2021-12-31 2022-12-16 医渡云(北京)技术有限公司 一种基于fpga的安全计算方法及装置
CN117318941B (zh) * 2023-11-29 2024-02-13 合肥工业大学 基于车内网的预置密钥分发方法、系统、终端及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317789B (zh) * 2016-04-27 2020-07-21 华为技术有限公司 密钥分发、认证方法,装置及系统
KR101831134B1 (ko) * 2016-05-17 2018-02-26 현대자동차주식회사 암호화를 적용한 제어기 보안 방법 및 그 장치
CN110601836B (zh) * 2019-10-10 2022-04-12 中国建设银行股份有限公司 密钥获取方法、装置、服务器和介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置

Also Published As

Publication number Publication date
CN111163107A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111163107B (zh) 一种zigbee的安全通信方法及系统
CN102232275B (zh) 密钥发布系统
CN106603485A (zh) 密钥协商方法及装置
CN105162772A (zh) 一种物联网设备认证与密钥协商方法和装置
US20150245204A1 (en) Device authentication
CN104244237B (zh) 数据发送、接收方法及接收、发送终端和数据收发装置
CN103533539A (zh) 虚拟sim卡参数管理方法及装置
CN102640448A (zh) 用于在对称加密系统内安全地识别和认证设备的系统和方法
CN108989325A (zh) 加密通信方法、装置及系统
KR20180119201A (ko) 인증 시스템을 위한 전자 장치
CN112398894B (zh) 车用的安全验证方法及装置
CN113365270B (zh) 基于物联网应用的rfid多标签联合认证系统及方法
CN109544747A (zh) 智能门锁的加密密钥更新方法、系统和计算机存储介质
CN103378971A (zh) 一种数据加密系统及方法
CN104868998A (zh) 一种向电子设备供应加密数据的系统、设备和方法
US11128455B2 (en) Data encryption method and system using device authentication key
CN103746815A (zh) 安全通信方法及装置
CN109429203A (zh) 数据传输方法、终端、存储介质和处理器
CN114465803A (zh) 对象授权方法、装置、系统及存储介质
CN104851007A (zh) 基于二维码和自溶解系统的商品信息管理系统及其方法
US9917694B1 (en) Key provisioning method and apparatus for authentication tokens
CN107155184A (zh) 一种带有安全加密芯片的wifi模块及其通信方法
CN111008400A (zh) 数据处理方法、装置及系统
CN108881256B (zh) 密钥交换方法、装置、水电桩和网络设备
CN102064935B (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
GR01 Patent grant
GR01 Patent grant