CN109714360B - 一种智能网关及网关通信处理方法 - Google Patents

一种智能网关及网关通信处理方法 Download PDF

Info

Publication number
CN109714360B
CN109714360B CN201910097725.XA CN201910097725A CN109714360B CN 109714360 B CN109714360 B CN 109714360B CN 201910097725 A CN201910097725 A CN 201910097725A CN 109714360 B CN109714360 B CN 109714360B
Authority
CN
China
Prior art keywords
command
gateway
external device
mac
random number
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
CN201910097725.XA
Other languages
English (en)
Other versions
CN109714360A (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.)
Wuhan Tianyu Julian Network Co ltd
Original Assignee
Wuhan Tianyu Julian Network 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 Wuhan Tianyu Julian Network Co ltd filed Critical Wuhan Tianyu Julian Network Co ltd
Priority to CN201910097725.XA priority Critical patent/CN109714360B/zh
Publication of CN109714360A publication Critical patent/CN109714360A/zh
Application granted granted Critical
Publication of CN109714360B publication Critical patent/CN109714360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种智能网关及网关通信处理方法,智能网关包括安全元件和微控制单元,其中,微控制单元,用于接收外部设备发送的网关身份认证命令;向安全元件发送获取命令;接收安全元件针对获取命令返回的响应数据;基于响应数据生成响应命令,并将响应命令返回给外部设备,以使外部设备用响应命令中的响应数据对智能网关进行身份验证;安全元件,用于接收微控制单元发送的获取命令,基于获取命令中的外部设备随机数生成外部设备随机数签名值,获得网关证书,并生成网关随机数,将网关证书、网关随机数和外部设备随机数签名值作为响应数据返回给微控制单元。应用本发明实施例,实现了提高智能网关的安全性。

Description

一种智能网关及网关通信处理方法
技术领域
本发明涉及智能设备领域,尤其涉及一种智能网关及网关通信处理方法。
背景技术
智能网关作为物联网的通信和控制中枢,能够成为连接无线传感网络与传统通信网络的纽带,完成无线传感网络、传统通信网络以及其它不同类型网络之间的协议转换,实现局域和广域的数据互联。智能网关可以与外部设备通信,以实现不同的功能,例如,通过智能网关可以管理底层的各物联网设备,还可以接收移动设备或云平台的命令,对各物联网设备的远程控制。
由于外部设备大多通过无线方式连接至智能网关,给黑客入侵设备提供了渠道,并且物联网系统普遍存在安全漏洞,黑客可以利用漏洞夺取智能网关的硬件控制权或者篡改通信数据,因此,智能网关的安全性较低,由于智能网关在物联网系统中的重要性,因此,亟需一种更加安全的智能网关。
发明内容
本发明的目的在于克服现有技术之缺陷,提供了一种智能网关及网关通信处理方法,以实现提高智能网关的安全性。
本发明是这样实现的:
第一方面,本发明提供一种智能网关,包括安全元件和微控制单元,其中,所述微控制单元,用于接收外部设备发送的网关身份认证命令;基于所接收的网关身份认证命令,向所述安全元件发送获取命令;接收所述安全元件针对所述获取命令返回的响应数据;基于所述响应数据生成响应命令,并将所述响应命令返回给所述外部设备,以使所述外部设备用所述响应命令中的响应数据对所述智能网关进行身份验证;其中,所述网关身份认证命令中包括所述外部设备生成的外部设备随机数,所述获取命令中包含所述外部设备随机数;
所述安全元件,用于接收所述微控制单元发送的获取命令,基于所述获取命令中的外部设备随机数生成外部设备随机数签名值,获得网关证书,并生成网关随机数,将所述网关证书、所述网关随机数和所述外部设备随机数签名值作为响应数据返回给所述微控制单元。
可选的,所述安全元件生成外部设备随机数签名值,具体为:
用预先存储的智能网关私钥对所述外部设备随机数做签名,得到外部设备随机数签名值。
可选的,所述网关证书为采用X.509格式的公钥证书,所述网关证书包含智能网关公钥。
可选的,所述微控制单元,还用于接收所述外部设备发送的外部设备身份认证命令,基于所接收的外部设备身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的验证结果;
所述安全元件,还用于在接收所述微控制单元发送的验证命令后,对所述外部设备进行身份验证,向所述微控制单元返回验证结果。
可选的,外部设备身份认证命令中包含外部设备证书和网关随机数签名值,所述网关随机数签名值是基于响应命令中的网关随机数生成的,所述验证命令中包含所述外部设备证书和所述网关随机数签名值,所述安全元件对所述外部设备进行身份验证,具体为:
用外部设备证书中的外部设备公钥解密所述网关随机数签名值,得到验证值,若所述网关随机数等于所得的验证值,则确定验证结果为所述外部设备通过身份验证;否则,确定验证结果为所述外部设备未通过身份验证。
可选的,若所述验证结果为所述外部设备通过身份验证,
所述安全元件,还用于生成随机数作为会话密钥;用外部设备证书中的外部设备公钥对所述会话密钥进行加密计算;将加密后的会话密钥返回给所述微控制单元;
所述微控制单元,还用于向所述外部设备发送身份认证响应命令,所述身份认证响应命令中包括加密后的会话密钥。
可选的,所述会话密钥包括加密会话密钥和MAC会话密钥。
可选的,所述微控制单元,还用于接收所述外部设备发送的第一加密命令;基于所接收的第一加密命令,向所述安全元件发送用于解密所述第一加密命令的解密请求;接收所述安全元件针对所述解密请求返回的解密结果;其中,所述解密请求包含所述第一加密命令中的第一命令头和第一加密字段;
所述安全元件,还用于在接收到解密请求后,用所述会话密钥中的加密会话密钥解密所述解密请求中的第一加密字段,得到第一解密数据和第一MAC;并基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,若MAC验证结果为通过MAC验证,则将所述第一解密数据和MAC验证结果作为解密结果;若MAC验证结果为未通过MAC验证,则将MAC验证结果作为解密结果;将所述解密结果返回给所述微控制单元。
可选的,所述安全元件基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,具体为:
用所述会话密钥中的MAC会话密钥对所述第一命令头和所述第一解密数据进行加密计算,得到第一密文,并基于所得的第一密文确定第一验证码,比较第一验证码和第一MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
可选的,所述微控制单元还用于:
若所接收的解密结果为未通过MAC验证,清除所述会话密钥,并将所述外部设备的状态设置为未认证状态;
向所述外部设备发送身份认证请求,以使所述外部设备针对所述身份认证请求向所述微控制单元返回网关身份认证命令。
可选的,所述微控制单元,还用于向所述安全元件发送加密请求,所述加密请求中包含第二命令头和待加密数据;获得所述安全元件针对所述加密请求返回的第二加密字段,用所述第二加密字段和所述第二命令头构成第二加密命令,并向所述外部设备发送所述第二加密命令,以使所述外部设备用所述会话密钥中的加密会话密钥解密所述第二加密字段,得到第二解密数据和第二MAC;并基于所述第二命令头、所述第二解密数据和所述第二MAC进行MAC验证;
所述安全元件,还用于在接收到加密请求后,用所述会话密钥中的MAC会话密钥对第二命令头和待加密数据进行加密计算,得到第二密文;基于所得的第二密文确定第二MAC;用加密会话密钥加密所述待加密数据和所述第二MAC,得到第二加密字段;将所述第二加密字段返回给所述微控制单元;
可选的,所述外部设备与所述微控制单元通过有线或者无线方式进行通信。
可选的,所述微控制单元还用于:
获得外部设备的状态信息,并将所获得的状态信息发送给云平台。
第二方面,本发明提供一种网关通信处理方法,应用于上述任一所述的智能网关,所述方法包括:
所述微控制单元接收外部设备发送的网关身份认证命令;基于所接收的网关身份认证命令,向所述安全元件发送获取命令;其中,所述网关身份认证命令中包括所述外部设备生成的外部设备随机数,所述获取命令中包含所述外部设备随机数;
所述安全元件接收所述微控制单元发送的获取命令,用所述获取命令中的外部设备随机数生成外部设备随机数签名值,获得网关证书,并生成网关随机数,将所述网关证书、所述网关随机数和外部设备随机数签名值作为响应数据返回给所述微控制单元;
所述微控制单元接收所述安全元件针对所述获取命令返回的响应数据;基于所述响应数据生成响应命令,并将所述响应命令返回给所述外部设备,以使所述外部设备用所述响应命令中的响应数据对所述智能网关进行身份认证。
本发明具有以下有益效果:应用本发明实施例,可以在智能网关中集成安全元件,并可以通过安全元件获得网关证书、生成网关随机数和外部设备随机数签名值,从而避免了智能网关提供给外部设备的响应数据被篡改,提高了智能网关的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种智能网关的结构示意图;
图2为本发明实施例提供的一种网关通信处理方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为解决现有技术问题,本发明实施例提供了一种智能网关及网关通信处理方法。下面首先对本发明所提供的一种智能网关进行说明。
参见图1,图1为本发明实施例提供的一种智能网关,包括安全元件和微控制单元,其中,
所述微控制单元,用于接收外部设备发送的网关身份认证命令;基于所接收的网关身份认证命令,向所述安全元件发送获取命令;接收所述安全元件针对所述获取命令返回的响应数据;基于所述响应数据生成响应命令,并将所述响应命令返回给所述外部设备,以使所述外部设备用所述响应命令中的响应数据对所述智能网关进行身份验证;其中,所述网关身份认证命令中包括所述外部设备生成的外部设备随机数,所述获取命令中包含所述外部设备随机数;
所述安全元件,用于接收所述微控制单元发送的获取命令,基于所述获取命令中的外部设备随机数生成外部设备随机数签名值,获得网关证书,并生成网关随机数,将所述网关证书、所述网关随机数和外部设备随机数签名值作为响应数据返回给所述微控制单元。
外部设备和微控制单元(Micro Controller Unit,MCU)可以相互发送命令,命令可以包括命令头和数据两部分,命令头的格式可以根据需求事先设定,例如,命令头可以包含命令类型、命令参数、命令计数器、命令长度等信息,命令长度用于指定命令所包含数据的长度。命令计数器可以由命令的发送方维护,在双向认证成功后计数值归零,然后每发送一个加密命令,计数值累加,从而实现了防止重放攻击。
外部设备可以包括物联网终端、摄像头、移动终端、云平台等等,外部设备在向智能网关发送数据之前,可以先向智能网关发送网关身份认证命令,从而,微控制单元可以接收网关身份认证命令。网关身份认证命令的数据部分可以包含外部设备随机数,外部设备随机数可以是外部设备利用随机函数或散列函数生成的。外部设备随机数的长度可以预先设定,例如可以是16字节、32字节等等。
微控制单元基于所接收的网关身份认证命令,向安全元件发送获取命令,获取命令的数据部分可以包含外部设备随机数;获取命令可以用于获取网关证书、网关随机数和外部设备随机数签名值等响应数据。
微控制单元基于所述响应数据生成响应命令,可以为获得预设命令头,按照所述响应数据填充命令头的内容,得到响应命令的命令头;将响应数据作为响应命令的数据部分,从而得到响应命令。
安全元件(Secure Element),简称SE,可以以芯片形式存在,并且可以具备运算能力,为了防止其他设备恶意解析攻击,保护数据安全,在芯片中可以设有加密/解密逻辑电路,从而,安全元件可以完成非对称密钥加解密和/或对称密钥加解密过程,以提高通信安全。为了提高智能网关的安全性,可以将安全元件设置于智能网关中。
安全元件可以基于获取命令中的外部设备随机数生成外部设备随机数签名值,一种实现方式中,安全元件生成外部设备随机数签名值,具体可以为:
用预先存储的智能网关私钥对所述外部设备随机数做签名,得到外部设备随机数签名值。
智能网关私钥可以预先存储于安全元件中,本发明对具体的签名方式不做限定,既可以是现有的数字签名算法,也可以是设计者根据需求设计的签名算法。或者,在其他方式中,还可以对外部设备随机数进行Base64编码或ASCII(American Standard Code forInformation Interchange,美国信息交换标准代码)编码,从而得到外部设备随机数签名值。
安全元件所生成的网关随机数和外部设备随机数的长度可以相同,也可以不同,生成网关随机数的方式可以为:安全元件利用预设的随机函数或哈希函数生成网关随机数。网关随机数的长度可以预先指定,例如,可以为16字节、32字节、64字节等等。
网关证书可以预先存储于安全元件中,安全元件可以直接获得存储于自身的网关证书,或者,在其他实施方式中,网关证书也可以存储于安全元件以外的其他设备中,安全元件可以从其他设备中获得网关证书。为了提高网关证书的安全性,优选的,可以将网关证书可以预先存储于安全元件中。本发明对网关证书的具体格式不做限定,例如可以为采用X.509格式的公钥证书,也可以为SSL(Secure socket layer,安全套接字层)证书,或者还可以为自定义格式的网关证书,网关证书可以包含智能网关公钥。
外部设备在接收到响应命令后,可以对智能网关进行身份验证,具体过程可以为:用网关证书中的智能网关公钥解密外部设备随机数签名值,得到验证值;或者,对外部设备随机数签名值进行解码,得到验证值;在得到验证值后,如果外部设备随机数等于验证值,则确定智能网关通过身份认证;否则,确定智能网关没有通过网关身份认证。
在确定智能网关未通过身份认证后,可以重新向智能网关发送网关身份认证命令;
在确定智能网关通过身份认证后,可以向微控制单元发送摄像头身份认证命令,该命令的数据部分可以包含摄像头证书和网关随机数签名值。其中,摄像头证书中可以包含摄像头公钥;网关随机数签名值可以是摄像头基于响应命令中的网关随机数生成的,具体可以为:用预先存储的摄像头私钥对网关随机数做签名,得到网关随机数签名值,或者,对网关随机数进行Base64编码或ASCII编码,从而得到网关随机数签名值。或者还可以采用其他合理方式来生成网关随机数签名值。
应用本发明实施例,可以在智能网关中集成安全元件,并可以通过安全元件获得网关证书、生成网关随机数和外部设备随机数签名值,从而避免了智能网关提供给外部设备的响应数据被篡改,提高了智能网关的安全性。
为了实现对外部设备的身份验证,一种实现方式中,所述微控制单元,还可以用于接收外部设备发送的外部设备身份认证命令,基于所接收的外部设备身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的验证结果;
所述安全元件,还可以用于在接收所述微控制单元发送的验证命令后,对所述外部设备进行身份验证,向所述微控制单元返回验证结果。
外部设备身份认证命令的数据部分可以包含外部设备证书和网关随机数签名值。其中,外部设备证书中可以包含外部设备公钥。网关随机数签名值是外部设备基于响应命令中的网关随机数生成的,验证命令中可以包含外部设备证书和网关随机数签名值。生成网关随机数签名值的方式可以为:外部设备用预先存储的外部设备私钥对所述网关随机数做签名,得到网关随机数签名值。所述安全元件对所述外部设备进行身份验证,具体可以为:
用外部设备证书中的外部设备公钥解密所述网关随机数签名值,得到验证值,若所述网关随机数等于所得的验证值,则确定验证结果为所述外部设备通过身份验证;否则,确定验证结果为所述外部设备未通过身份验证。
另一种实现方式中,生成网关随机数签名值的方式还可以为:外部设备对所述网关随机数进行Base64编码或ASCII编码,得到网关随机数签名值。所述安全元件对所述外部设备进行身份验证,具体可以为:
对所述网关随机数签名值进行解码,得到验证值,若所述网关随机数等于所述验证值,则确定验证结果为所述外部设备通过身份验证;否则,确定验证结果为所述外部设备未通过身份验证。
为了便于后续的安全通信,若所述验证结果为所述外部设备通过身份验证,所述安全元件,还用于生成随机数作为会话密钥;用外部设备证书中的外部设备公钥对所述会话密钥进行加密计算;将加密后的会话密钥返回给所述微控制单元;
所述微控制单元,还用于向所述外部设备发送身份认证响应命令,所述身份认证响应命令中包括加密后的会话密钥。
会话密钥可以包括两部分内容,分别为:加密会话密钥和MAC(Messageauthentication code,消息认证码)会话密钥,二者所占的字节长度可以相同,也可以不同,优选的,为了便于简化的加密通信过程,可以设置二者所占的字节长度可以相同,例如,会话密钥一共32字节,则前面16字节可以是加密会话密钥,后16字节可以是MAC会话密钥。
为了避免会话密钥被篡改,安全元件可以用外部设备证书中的外部设备公钥对所述会话密钥进行加密计算,从而微控制单元发送给外部设备的会话密钥是经过加密的,在外部设备用外部设备私钥对所述会话密钥进行解密后,可以得到会话密钥。
为了进一步确保通信安全,所产生的会话密钥可以只在一个会话期间内有效。当通信的任何一方请求停止会话,或者长时间没有进行通信(具体时长可用户自定义),则另一方可以判定会话期间结束,同时将该会话密钥设置为失效。在下次请求通信之前,即进入下一次会话期间之前,可以重新进行身份认证并生成新的会话密钥。
应用本发明实施例,可以实现智能网关与外部设备之间的双向身份认证,确保通信双方身份的可靠性;并可以生成会话密钥,有利于通过身份认证双方进行后续的加密通信,提高通信的安全性;并且网关证书、智能网关私钥都可以存储在安全元件中,可以保证机密数据和隐私数据的存储安全;并通过安全元件生成随机数、进行数据加解密过程和身份验证,可以进一步提高安全性。
当外部设备与智能网关均通过对方的身份认证后,双方可以拥有同样的会话密钥,进而可以用会话密钥进行加密通信,具体的,外部设备可以向智能网关发送第一加密命令,进而启动以下的加密通信流程:
所述微控制单元,还用于接收所述外部设备发送的第一加密命令;基于所接收的第一加密命令,向所述安全元件发送用于解密所述第一加密命令的解密请求;接收所述安全元件针对所述解密请求返回的解密结果;其中,所述解密请求包含所述第一加密命令中的第一命令头和第一加密字段;
所述安全元件,还用于在接收到解密请求后,用所述会话密钥中的加密会话密钥解密所述解密请求中的第一加密字段,得到第一解密数据和第一MAC;并基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,若MAC验证结果为通过MAC验证,则将所述第一解密数据和MAC验证结果作为解密结果;若MAC验证结果为未通过MAC验证,则将MAC验证结果作为解密结果;将所述解密结果返回给所述微控制单元。
外部设备可以使用会话密钥中的MAC会话密钥对待发送命令的命令头和数据进行加密计算,并将所得的密文作为待发送命令的第一MAC。使用会话密钥中的加密会话密钥加密待发送命令的数据和第一MAC,将所得到的密文作为第一加密字段,将待发送命令的命令头作为第一命令头,得到由第一命令头和第一加密字段构成的第一加密命令,进而可以将第一加密命令发送给智能网关,从而,微控制单元可以接收到第一加密命令。
安全元件基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,具体为:
用所述会话密钥中的MAC会话密钥对所述第一命令头和所述第一解密数据进行加密计算,得到第一密文,并基于所得的第一密文确定第一验证码,比较第一验证码和第一MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
安全元件可以用加密会话密钥解密第一加密字段,得到第一解密数据和第一MAC;然后用MAC会话密钥对第一命令头和第一解密数据进行加密计算,基于得到的第一密文确定第一验证码,将第一验证码和第一MAC进行比较,从而实现了验证数据的完整性,保证了数据的可靠性。本发明对基于得到的第一密文确定第一验证码的方式不做限定,例如。可以为:将第一密文的最后16字节/32字节确定为第一验证码。
若第一命令头和第一加密字段通过MAC验证,表明微控制单元所接收到的门禁操作响应命令是可靠的,进而安全元件可以将门禁操作结果和MAC验证结果作为门禁解密结果,并发送给微控制单元,从而微控制单元可以获得门禁操作结果;若第一命令头和第一加密字段未通过MAC验证,表明微控制单元所接收到的门禁操作响应命令是不可靠的,进而安全元件可以仅将MAC验证结果作为门禁解密结果并发送给微控制单元,避免了微控制单元获得不可靠的门禁操作结果,提高了智能网关所获取的门禁操作结果的可信度,实现了对智能门禁的安全管控。
为了进一步提高通信的安全性,所述微控制单元还用于:
若所接收的解密结果为未通过MAC验证,清除所述会话密钥,并将所述外部设备的状态设置为未认证状态;
向所述外部设备发送身份认证请求,以使所述外部设备针对所述身份认证请求向所述微控制单元返回网关身份认证命令。
应用本发明实施例,对于需要数据加密和MAC验证的命令而言,若智能网关判定MAC验证不通过,就会将会话密钥清除,从而可以终止下一步操作,并且将外部设备的状态设置为未认证状态,以重新进行智能网关和外部设备之间的双向身份认证,随后重新生成会话密钥,避免了对未通过MAC验证的第一解密数据的处理,提高了通信的安全性。
又一种实现方式中,在智能网关和外部设备拥有同样的会话密钥后,智能网关还可以向外部设备发送第二加密命令,为了获得安全的第二加密命令,所述微控制单元,还用于向所述安全元件发送加密请求,所述加密请求中包含第二命令头和待加密数据;获得所述安全元件针对所述加密请求返回的第二加密字段,用所述第二加密字段和所述第二命令头构成第二加密命令,并向所述外部设备发送第二加密命令,以使所述外部设备用所述会话密钥中的加密会话密钥解密所述第二加密字段,得到第二解密数据和第二MAC;并基于所述第二命令头、所述第二解密数据和所述第二MAC进行MAC验证;
所述安全元件,还用于在接收到加密请求后,用所述会话密钥中的MAC会话密钥对第二命令头和待加密数据进行加密计算,得到第二密文;基于所得的第二密文确定第二MAC;用加密会话密钥加密所述待加密数据和第二MAC,得到第二加密字段;将第二加密字段返回给所述微控制单元;
本发明对基于所得的第二密文确定第二MAC的方式不做限定,例如可以为:将第二密文的最后16字节/32字节作为第二MAC。
加密请求可以用于请求获得第二加密字段,外部设备基于所述第二命令头、所述第二解密数据和所述第二MAC进行MAC验证,具体可以为:用MAC会话密钥对第二命令头和第二解密数据进行加密计算,基于所得的密文确定第二验证码,比较第二验证码和第二MAC是否相同;若相同,则确定MAC验证结果为所述通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。通过将第二验证码和第二MAC进行比较,从而验证数据的完整性。
对于需要数据加密和MAC验证的命令,若外部设备判定MAC验证一旦不通过,还可以将会话密钥清除,终止下一步操作,并且将智能网关的状态设置为未认证状态,以重新进行智能网关和外部设备之间的双向身份认证,随后重新生成会话密钥,避免了对未通过MAC验证的第二解密数据的处理,提高了通信的安全性。
具体的,所述外部设备与所述微控制单元可以通过有线或者无线方式进行通信。外部设备可以有多个,无线通信的方式包括WIFI(WIreless-Fidelity,无线保真)、蓝牙、Zigbee(紫蜂协议)、NFC(near field communication,近场通信)等中的一种或多种。智能网关的安全元件可以通过SPI(Serial Peripheral Interface,串行外设接口)接口与微控制单元进行连接,微控制单元可以做主机,安全元件可以做从机。
为了便于对外部设备进行统一监控,微控制单元还用于:获得外部设备的状态信息,并将所获得的状态信息发送给云平台。若外部设备包含云平台,微控制单元可以将除云平台以外的外部设备的状态信息发送给云平台;或者,也可以将所有外部设备的状态信息均发送给云平台;若外部设备不包含云平台,可以将所有外部设备的状态信息均发送给云平台,以实现云平台对各外部设备的统一监控。
相应于上述智能网关实施例,本发明实施例提供了一种网关通信处理方法,参见图2所示,应用于上述的智能网关,所述方法包括:
S101、微控制单元接收外部设备发送的网关身份认证命令;基于所接收的网关身份认证命令,向所述安全元件发送获取命令;其中,网关身份认证命令中包括所述外部设备生成的外部设备随机数,获取命令中包含所述外部设备随机数;
S102、安全元件接收所述微控制单元发送的获取命令,用所述获取命令中的外部设备随机数生成外部设备随机数签名值,获得网关证书,并生成网关随机数,将所述网关证书、所述网关随机数和外部设备随机数签名值作为响应数据返回给所述微控制单元;
S103、所述微控制单元接收所述安全元件针对所述获取命令返回的响应数据;基于所述响应数据生成响应命令,并将所述响应命令返回给所述外部设备,以使所述外部设备用所述响应命令中的响应数据对所述智能网关进行身份认证。
应用本发明实施例,可以在智能网关中集成安全元件,并可以通过安全元件获得网关证书、生成网关随机数和外部设备随机数签名值,从而避免了智能网关提供给外部设备的响应数据被篡改,提高了智能网关的安全性。
可选的,所述安全元件生成外部设备随机数签名值,包括:
用预先存储的智能网关私钥对所述外部设备随机数做签名,得到外部设备随机数签名值。
可选的,所述网关证书为采用X.509格式的公钥证书,所述网关证书包含智能网关公钥。
可选的,所述方法还包括:
所述微控制单元接收所述外部设备发送的外部设备身份认证命令,基于所接收的外部设备身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的验证结果;
所述安全元件在接收所述微控制单元发送的验证命令后,对所述外部设备进行身份验证,向所述微控制单元返回验证结果。
可选的,外部设备身份认证命令中包含外部设备证书和网关随机数签名值,所述网关随机数签名值是基于响应命令中的网关随机数生成的,所述验证命令中包含所述外部设备证书和所述网关随机数签名值,所述安全元件对所述外部设备进行身份验证,包括:
用外部设备证书中的外部设备公钥解密所述网关随机数签名值,得到验证值,若所述网关随机数等于所得的验证值,则确定验证结果为所述外部设备通过身份验证;否则,确定验证结果为所述外部设备未通过身份验证。
可选的,若所述安全元件对所述外部设备进行身份验证的验证结果为所述外部设备通过身份验证,所述方法还包括:
所述安全元件生成随机数作为会话密钥;用外部设备证书中的外部设备公钥对所述会话密钥进行加密计算;将加密后的会话密钥返回给所述微控制单元;
所述微控制单元向所述外部设备发送身份认证响应命令,所述身份认证响应命令中包括加密后的会话密钥。
可选的,所述会话密钥包括加密会话密钥和MAC会话密钥。
可选的,所述方法还包括:
所述微控制单元接收所述外部设备发送的第一加密命令;基于所接收的第一加密命令,向所述安全元件发送用于解密所述第一加密命令的解密请求;接收所述安全元件针对所述解密请求返回的解密结果;其中,所述解密请求包含所述第一加密命令中的第一命令头和第一加密字段;
所述安全元件在接收到解密请求后,用所述会话密钥中的加密会话密钥解密所述解密请求中的第一加密字段,得到第一解密数据和第一MAC;并基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,若MAC验证结果为通过MAC验证,则将所述第一解密数据和MAC验证结果作为解密结果;若MAC验证结果为未通过MAC验证,则将MAC验证结果作为解密结果;将所述解密结果返回给所述微控制单元。
可选的,所述安全元件基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,包括:
用所述会话密钥中的MAC会话密钥对所述第一命令头和所述第一解密数据进行加密计算,得到第一密文,并基于所得的第一密文确定第一验证码,比较第一验证码和第一MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
可选的,若微控制单元所接收的解密结果为未通过MAC验证,所述方法还包括:
微控制单元清除所述会话密钥,并将所述外部设备的状态设置为未认证状态;向所述外部设备发送身份认证请求,以使所述外部设备针对所述身份认证请求向所述微控制单元返回网关身份认证命令。
可选的,所述方法还包括:
所述微控制单元向所述安全元件发送加密请求,所述加密请求中包含第二命令头和待加密数据;获得所述安全元件针对所述加密请求返回的第二加密字段,用所述第二加密字段和所述第二命令头构成第二加密命令,并向所述外部设备发送所述第二加密命令,以使所述外部设备用所述会话密钥中的加密会话密钥解密所述第二加密字段,得到第二解密数据和第二MAC;并基于所述第二命令头、所述第二解密数据和所述第二MAC进行MAC验证;
所述安全元件在接收到加密请求后,用所述会话密钥中的MAC会话密钥对第二命令头和待加密数据进行加密计算,得到第二密文;基于所得的第二密文确定第二MAC;用加密会话密钥加密所述待加密数据和所述第二MAC,得到第二加密字段;将所述第二加密字段返回给所述微控制单元;
可选的,所述外部设备与所述微控制单元通过有线或者无线方式进行通信。
可选的,所述方法还包括:
所述微控制单元获得外部设备的状态信息,并将所获得的状态信息发送给云平台。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种智能网关,其特征在于,包括安全元件和微控制单元,其中,
所述微控制单元,用于接收外部设备发送的网关身份认证命令;基于所接收的网关身份认证命令,向所述安全元件发送获取命令;接收所述安全元件针对所述获取命令返回的响应数据;基于所述响应数据生成响应命令,并将所述响应命令返回给所述外部设备,以使所述外部设备用所述响应命令中的响应数据对所述智能网关进行身份验证;其中,所述网关身份认证命令中包括所述外部设备生成的外部设备随机数,所述获取命令中包含所述外部设备随机数;
所述安全元件,用于接收所述微控制单元发送的获取命令,基于所述获取命令中的外部设备随机数生成外部设备随机数签名值,获得网关证书,并生成网关随机数,将所述网关证书、所述网关随机数和所述外部设备随机数签名值作为响应数据返回给所述微控制单元;
其中,所述微控制单元,还用于接收所述外部设备发送的外部设备身份认证命令,基于所接收的外部设备身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的验证结果;
所述安全元件,还用于在接收所述微控制单元发送的验证命令后,对所述外部设备进行身份验证,向所述微控制单元返回验证结果;
其中,外部设备身份认证命令中包含外部设备证书和网关随机数签名值,所述网关随机数签名值是基于响应命令中的网关随机数生成的,所述验证命令中包含所述外部设备证书和所述网关随机数签名值,所述安全元件对所述外部设备进行身份验证,具体为:
用外部设备证书中的外部设备公钥解密所述网关随机数签名值,得到验证值,若所述网关随机数等于所得的验证值,则确定验证结果为所述外部设备通过身份验证;否则,确定验证结果为所述外部设备未通过身份验证;
其中,若所述验证结果为所述外部设备通过身份验证,
所述安全元件,还用于生成随机数作为会话密钥;用外部设备证书中的外部设备公钥对所述会话密钥进行加密计算;将加密后的会话密钥返回给所述微控制单元;
所述微控制单元,还用于向所述外部设备发送身份认证响应命令,所述身份认证响应命令中包括加密后的会话密钥;
其中,所述会话密钥包括加密会话密钥和MAC会话密钥;
其中,所述微控制单元,还用于接收所述外部设备发送的第一加密命令;基于所接收的第一加密命令,向所述安全元件发送用于解密所述第一加密命令的解密请求;接收所述安全元件针对所述解密请求返回的解密结果;其中,所述解密请求包含所述第一加密命令中的第一命令头和第一加密字段;
所述安全元件,还用于在接收到解密请求后,用所述会话密钥中的加密会话密钥解密所述解密请求中的第一加密字段,得到第一解密数据和第一MAC;并基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,若MAC验证结果为通过MAC验证,则将所述第一解密数据和MAC验证结果作为解密结果;若MAC验证结果为未通过MAC验证,则将MAC验证结果作为解密结果;将所述解密结果返回给所述微控制单元。
2.根据权利要求1所述的智能网关,其特征在于,所述安全元件生成外部设备随机数签名值,具体为:
用预先存储的智能网关私钥对所述外部设备随机数做签名,得到外部设备随机数签名值。
3.根据权利要求1所述的智能网关,其特征在于,所述网关证书为采用X.509格式的公钥证书,所述网关证书包含智能网关公钥。
4.根据权利要求1所述的智能网关,其特征在于,所述安全元件基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,具体为:
用所述会话密钥中的MAC会话密钥对所述第一命令头和所述第一解密数据进行加密计算,得到第一密文,并基于所得的第一密文确定第一验证码,比较第一验证码和第一MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
5.根据权利要求1所述的智能网关,其特征在于,所述微控制单元还用于:
若所接收的解密结果为未通过MAC验证,清除所述会话密钥,并将所述外部设备的状态设置为未认证状态;
向所述外部设备发送身份认证请求,以使所述外部设备针对所述身份认证请求向所述微控制单元返回网关身份认证命令。
6.根据权利要求1所述的智能网关,其特征在于,
所述微控制单元,还用于向所述安全元件发送加密请求,所述加密请求中包含第二命令头和待加密数据;获得所述安全元件针对所述加密请求返回的第二加密字段,用所述第二加密字段和所述第二命令头构成第二加密命令,并向所述外部设备发送所述第二加密命令,以使所述外部设备用所述会话密钥中的加密会话密钥解密所述第二加密字段,得到第二解密数据和第二MAC;并基于所述第二命令头、所述第二解密数据和所述第二MAC进行MAC验证;
所述安全元件,还用于在接收到加密请求后,用所述会话密钥中的MAC会话密钥对第二命令头和待加密数据进行加密计算,得到第二密文;基于所得的第二密确定第二MAC;用加密会话密钥加密所述待加密数据和所述第二MAC,得到第二加密字段;将所述第二加密字段返回给所述微控制单元。
7.根据权利要求1所述的智能网关,其特征在于,所述外部设备与所述微控制单元通过有线或者无线方式进行通信。
8.根据权利要求1所述的智能网关,其特征在于,所述微控制单元还用于:
获得外部设备的状态信息,并将所获得的状态信息发送给云平台。
9.一种网关通信处理方法,其特征在于,应用于权利要求1所述的智能网关,所述方法包括:
所述微控制单元接收外部设备发送的网关身份认证命令;基于所接收的网关身份认证命令,向所述安全元件发送获取命令;其中,所述网关身份认证命令中包括所述外部设备生成的外部设备随机数,所述获取命令中包含所述外部设备随机数;
所述安全元件接收所述微控制单元发送的获取命令,用所述获取命令中的外部设备随机数生成外部设备随机数签名值,获得网关证书,并生成网关随机数,将所述网关证书、所述网关随机数和外部设备随机数签名值作为响应数据返回给所述微控制单元;
所述微控制单元接收所述安全元件针对所述获取命令返回的响应数据;基于所述响应数据生成响应命令,并将所述响应命令返回给所述外部设备,以使所述外部设备用所述响应命令中的响应数据对所述智能网关进行身份认证;
其中,所述微控制单元,还用于接收所述外部设备发送的外部设备身份认证命令,基于所接收的外部设备身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的验证结果;
所述安全元件,还用于在接收所述微控制单元发送的验证命令后,对所述外部设备进行身份验证,向所述微控制单元返回验证结果;
其中,外部设备身份认证命令中包含外部设备证书和网关随机数签名值,所述网关随机数签名值是基于响应命令中的网关随机数生成的,所述验证命令中包含所述外部设备证书和所述网关随机数签名值,所述安全元件对所述外部设备进行身份验证,具体为:
用外部设备证书中的外部设备公钥解密所述网关随机数签名值,得到验证值,若所述网关随机数等于所得的验证值,则确定验证结果为所述外部设备通过身份验证;否则,确定验证结果为所述外部设备未通过身份验证;
其中,若所述验证结果为所述外部设备通过身份验证,
所述安全元件,还用于生成随机数作为会话密钥;用外部设备证书中的外部设备公钥对所述会话密钥进行加密计算;将加密后的会话密钥返回给所述微控制单元;
所述微控制单元,还用于向所述外部设备发送身份认证响应命令,所述身份认证响应命令中包括加密后的会话密钥;
其中,所述会话密钥包括加密会话密钥和MAC会话密钥;
其中,所述微控制单元,还用于接收所述外部设备发送的第一加密命令;基于所接收的第一加密命令,向所述安全元件发送用于解密所述第一加密命令的解密请求;接收所述安全元件针对所述解密请求返回的解密结果;其中,所述解密请求包含所述第一加密命令中的第一命令头和第一加密字段;
所述安全元件,还用于在接收到解密请求后,用所述会话密钥中的加密会话密钥解密所述解密请求中的第一加密字段,得到第一解密数据和第一MAC;并基于所述第一命令头、所述第一解密数据和所述第一MAC进行MAC验证,若MAC验证结果为通过MAC验证,则将所述第一解密数据和MAC验证结果作为解密结果;若MAC验证结果为未通过MAC验证,则将MAC验证结果作为解密结果;将所述解密结果返回给所述微控制单元。
CN201910097725.XA 2019-01-31 2019-01-31 一种智能网关及网关通信处理方法 Active CN109714360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910097725.XA CN109714360B (zh) 2019-01-31 2019-01-31 一种智能网关及网关通信处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910097725.XA CN109714360B (zh) 2019-01-31 2019-01-31 一种智能网关及网关通信处理方法

Publications (2)

Publication Number Publication Date
CN109714360A CN109714360A (zh) 2019-05-03
CN109714360B true CN109714360B (zh) 2021-10-19

Family

ID=66263401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910097725.XA Active CN109714360B (zh) 2019-01-31 2019-01-31 一种智能网关及网关通信处理方法

Country Status (1)

Country Link
CN (1) CN109714360B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460674A (zh) * 2019-08-21 2019-11-15 中国工商银行股份有限公司 一种信息推送方法、装置及系统
CN111049799B (zh) * 2019-11-13 2022-01-21 华为终端有限公司 控制方法、装置和系统
CN113346989B (zh) * 2020-03-02 2023-02-07 北京新能源汽车股份有限公司 一种外部设备接入认证方法、装置、网关及电动汽车
CN111770553A (zh) * 2020-06-22 2020-10-13 深圳中兴网信科技有限公司 物联网设备接入系统、方法、电子设备和存储介质
CN115694997B (zh) * 2022-10-31 2023-08-15 贵州省通信产业服务有限公司 一种物联网智能网关系统
CN116074048B (zh) * 2022-12-20 2023-11-14 广州辰创科技发展有限公司 一种高速物联智能网关设备系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973056A (zh) * 2017-03-30 2017-07-21 中国电力科学研究院 一种面向对象的安全芯片及其加密方法
CN108390851A (zh) * 2018-01-05 2018-08-10 郑州信大捷安信息技术股份有限公司 一种用于工业设备的安全远程控制系统及方法
CN109257327A (zh) * 2017-07-14 2019-01-22 中国电力科学研究院 一种配电自动化系统的通信报文安全交互方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102444239B1 (ko) * 2016-01-21 2022-09-16 삼성전자주식회사 보안 칩, 어플리케이션 프로세서, 보안 칩을 포함하는 디바이스 및 그 동작방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973056A (zh) * 2017-03-30 2017-07-21 中国电力科学研究院 一种面向对象的安全芯片及其加密方法
CN109257327A (zh) * 2017-07-14 2019-01-22 中国电力科学研究院 一种配电自动化系统的通信报文安全交互方法及装置
CN108390851A (zh) * 2018-01-05 2018-08-10 郑州信大捷安信息技术股份有限公司 一种用于工业设备的安全远程控制系统及方法

Also Published As

Publication number Publication date
CN109714360A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
CN109714360B (zh) 一种智能网关及网关通信处理方法
CN109903433B (zh) 一种基于人脸识别的门禁系统及门禁控制方法
CN107343179B (zh) 一种视频信息加密与视频终端安全认证方法
EP2590356B1 (en) Method, device and system for authenticating gateway, node and server
KR100832893B1 (ko) 무선 근거리 통신망으로 이동 단말의 보안 접근 방법 및 무선 링크를 통한 보안 데이터 통신 방법
ES2584862T3 (es) Autenticación en comunicación de datos
US20140298037A1 (en) Method, apparatus, and system for securely transmitting data
WO2014114191A1 (zh) 一种智能卡安全通讯的方法
JP5399404B2 (ja) 一方向アクセス認証の方法
CN100571124C (zh) 防止重放攻击的方法以及保证消息序列号不重复的方法
CN111756529B (zh) 一种量子会话密钥分发方法及系统
WO2010078755A1 (zh) 电子邮件的传送方法、系统及wapi终端
WO2011076008A1 (zh) 一种wapi终端与应用服务器传输文件的系统及方法
CN103685323A (zh) 一种基于智能云电视网关的智能家居安全组网实现方法
CN109922047B (zh) 一种图像传输系统及方法
KR102017758B1 (ko) 의료 기기, 게이트웨이 기기 및 이를 이용한 프로토콜 보안 방법
CN112995612B (zh) 一种电力视频监控终端安全接入方法及系统
CN113225352B (zh) 一种数据传输方法、装置、电子设备及存储介质
CN112672342B (zh) 数据传输方法、装置、设备、系统和存储介质
CN111756528B (zh) 一种量子会话密钥分发方法、装置及通信架构
CN112165386B (zh) 一种基于ecdsa的数据加密方法及系统
WO2012055204A1 (zh) 一种基于wapi的管理帧保护方法和装置
KR101481403B1 (ko) 차량용 데이터의 인증 및 획득 방법
WO2016082401A1 (zh) 通话方法、装置、用户终端及计算机存储介质
CN109962781B (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