发明内容
本发明提供一种嵌入式设备准入认证方法及***,用以解决现有技术中准入认证效率低,且很容易超出嵌入式设备的存储空间或运行内存空间,无法实现对嵌入式设备的准入认证的缺陷,实现提高对嵌入式设备进行准入认证的效率。
本发明提供一种嵌入式设备准入认证方法,包括:
待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密;其中,所述私钥由PC端根据所述MAC地址返回;
将解密后的所述挑战报文发送给所述交换机,以供所述交换机根据解密后的所述挑战报文对所述待认证嵌入式设备进行准入认证。
根据本发明提供的一种嵌入式设备准入认证方法,所述使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密,包括:
若所述私钥在所述待认证嵌入式设备的解密芯片中不存在,则向所述PC端发送所述MAC地址;
接收所述PC端根据所述MAC地址返回的所述私钥,并将所述私钥写入所述解密芯片中;
使用所述解密芯片中的私钥对所述加密的挑战报文进行解密。
根据本发明提供的一种嵌入式设备准入认证方法,所述私钥通过从所述PC端上的私钥文件中查找获取;其中,所述私钥文件中预先存储有所述MAC地址与所述私钥之间的关联关系。
根据本发明提供的一种嵌入式设备准入认证方法,所述待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密,包括:
对所述交换机进行监听,获取所述交换机发送的加密的挑战报文;
将所述加密的挑战报文通过所述解密芯片的SPI驱动发送至所述解密芯片;
根据所述解密芯片中的私钥对所述解密芯片中加密的挑战报文进行解密。
根据本发明提供的一种嵌入式设备准入认证方法,所述使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密,包括:
验证所述加密的挑战报文发送的目标MAC地址是否为所述待认证嵌入式设备的MAC地址;
若是,则对所述加密的挑战报文进行载荷校验;
若所述加密的挑战报文通过载荷校验,则使用所述私钥对所述加密的挑战报文进行解密。
本发明还提供一种嵌入式设备准入认证***,包括:
解密模块,用于待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密;
其中,所述私钥由PC端根据所述MAC地址返回;
发送模块,用于将解密后的所述挑战报文发送给所述交换机,以供所述交换机根据解密后的所述挑战报文对所述待认证嵌入式设备进行准入认证。
根据本发明提供的一种嵌入式设备准入认证***,所述解密模块具体为:
若所述私钥在所述待认证嵌入式设备的解密芯片中不存在,则向所述PC端发送所述MAC地址;
接收所述PC端根据所述MAC地址返回的所述私钥,并将所述私钥写入所述解密芯片中;
使用所述解密芯片中的私钥对所述加密的挑战报文进行解密。
根据本发明提供的一种嵌入式设备准入认证***,所述私钥通过从所述PC端上的私钥文件中查找获取;其中,所述私钥文件中预先存储有所述MAC地址与所述私钥之间的关联关系。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述嵌入式设备准入认证方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述嵌入式设备准入认证方法的步骤。
本发明提供的嵌入式设备准入认证方法及***,通过根据待认证嵌入式设备的MAC地址,可以快速获取到MAC地址对应的私钥,根据私钥对交换机发送的加密的挑战报文进行解密,并将解密后的挑战报文反馈给交换机,一方面可以提高对待认证嵌入式设备的安全准入认证;另一方面,根据MAC地址可以自动获取PC端返回的私钥,不仅可以节约存储空间,还可以减少因生成私钥所需的运算,提高准入认证的效率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1描述本发明的嵌入式设备准入认证方法,包括:步骤101,待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密;其中,所述私钥由PC端根据所述MAC地址返回;
其中,待认证嵌入式设备可以是打印机或摄像头等,本实施例不限于待认证嵌入式设备的类型。其中,待认证嵌入式设备内嵌认证客户端。如图2和图3所示,认证客户端包括认证客户端硬件和认证客户端软件。且认证客户端的硬件和软件独立嵌入待认证嵌入式设备中。其中,认证客户端硬件包括国密芯片。认证客户端软件包括网络通信模块、加解密模块、MAC匹配模块、私钥写入模块和命令行界面。认证客户端软件通过网口与交换机进行连接,并在需要导入私钥时通过串口与PC端连接。
交换机在将挑战报文发送出去之前,可以根据挑战报文发送的目的MAC地址对应的公钥对挑战报文进行加密,保证挑战报文的安全传输。即,向待认证嵌入式设备发送挑战报文前,可以使用待认证嵌入式设备的MAC地址对应的公钥对挑战报文进行加密。其中,任一MAC地址对应的公钥和私钥可以基于加密算法成对生成,可以是SM2算法等,本实施例对加密算法不作限定。其中,SM2算法是一种椭圆曲线公钥密码算法。
在正常情况下,待认证嵌入式设备中需要写入一次私钥。因此,任一待认证嵌入式设备内部可能已经写入私钥,也可能未写入私钥。可以在待认证嵌入式设备接收到交换机发送的加密的挑战报文之前或之后,根据MAC地址在待认证嵌入式设备中查找对应的私钥。若查找到私钥,则使用私钥对加密的挑战报文进行解密;若未查找到私钥,则将PC端根据MAC地址返回的私钥写入待认证嵌入式设备中。
通过将各MAC地址对应的私钥存储在PC端,不仅可以节约待认证嵌入式设备的存储空间,还可以减少因生成私钥所需的运算。此外,待认证嵌入式设备通常不具有便于用户操作的交互设备,如,屏幕、键盘和鼠标等。而本实施例中将待认证嵌入式设备与PC端通过串口连接。通过在PC端进行操作,可以实现对待认证嵌入式设备的控制。此外,PC端设置有日志导出功能,用于将待认证嵌入式设备内的日志导出为文本文件,便于对待认证嵌入式设备进行维护。
步骤102,将解密后的所述挑战报文发送给所述交换机,以供所述交换机根据解密后的所述挑战报文对所述待认证嵌入式设备进行准入认证。
具体地,待认证嵌入式设备与网络进行通信时,需要先与交换机进行准入认证。其中,交换机中内嵌准入认证模块。当交换机接收到待认证嵌入式设备发送的解密的挑战报文时,可以采用准入认证模块对解密的挑战报文进行认证。若准入认证模块认证成功,则表明待认证嵌入式设备通过认证。待认证嵌入式设备通过认证,则交换机开启待认证嵌入式设备与网络的连接通路,待认证嵌入式设备可正常与网络进行通信。通过这种准入认证的方式,可以实现交换机与待认证嵌入式设备的一对一准入认证,提高嵌入式设备与网络通信的安全性。
本实施例根据待认证嵌入式设备的MAC地址,可以快速获取到MAC地址对应的私钥,根据私钥对交换机发送的加密的挑战报文进行解密,并将解密后的挑战报文反馈给交换机,一方面可以提高对待认证嵌入式设备的安全准入认证;另一方面,根据MAC地址可以自动获取PC端返回的私钥,不仅可以节约存储空间,还可以减少因生成私钥所需的运算,提高准入认证的效率。
在上述实施例的基础上,本实施例中所述使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密,包括若所述私钥在所述待认证嵌入式设备的解密芯片中不存在,则向所述PC端发送所述MAC地址;接收所述PC端根据所述MAC地址返回的所述私钥,并将所述私钥写入所述解密芯片中;使用所述解密芯片中的私钥对所述加密的挑战报文进行解密。
其中,解密芯片为嵌入有加解密算法的国密芯片。解密芯片不仅可以实现解密功能,还可以对私钥进行存储。认证客户端软件可以通过SPI(Serial Peripheralinterface,串行***设备接口)驱动与解密芯片进行通信。因此,认证客户端软件可以将私钥写入解密芯片中,也可以将加密的挑战报文发送到解密芯片中进行解密。解密芯片中可能存储有MAC地址对应的私钥,也可能为空。
对加密的挑战报文进行解密之前,待认证嵌入式设备的私钥写入模块根据MAC地址,判断解密芯片中是否存在MAC地址对应的私钥。若不存在,则私钥写入模块通过串口驱动向PC端的私钥写入模块发送MAC地址和索要私钥的请求。PC端的私钥写入模块根据MAC地址获取到私钥,并通过串口将私钥返回待认证嵌入式设备的私钥写入模块。待认证嵌入式设备的私钥写入模块可以通过SPI驱动将私钥写入解密芯片中。
通过这种方式,可以实现对待认证嵌入式设备进行一对一的私钥写入和存储。对待认证嵌入式设备进行出厂设置或私钥更新时,也可以通过这种方式将私钥写入解密芯片中。其中,私钥更新时,需要将嵌入式设备内的配置文件中私钥的状态标记归零,然后将PC端返回的私钥写入解密芯片中。
在上述实施例的基础上,本实施例中所述私钥通过从所述PC端上的私钥文件中查找获取;其中,所述私钥文件中预先存储有所述MAC地址与所述私钥之间的关联关系。
如图4所示,当PC端的私钥写入模块接收到任一待认证嵌入式设备发送的MAC地址和索要私钥的请求时,PC端的MAC匹配模块遍历私钥文件中的私钥,判断该MAC地址对应的私钥是否存在。若不存在,则在PC端提示该MAC地址对应的私钥不存在;若存在,则获取该MAC地址对应的私钥,并将私钥返回待认证嵌入式设备。
其中,PC端的私钥文件构建的步骤包括:根据MAC匹配模块获取每个嵌入式设备的MAC地址;然后基于加密算法生成MAC地址对应的私钥,将每个嵌入式设备的MAC地址对应的私钥以一定的规则存储在文件中,构建私钥文件。私钥文件可以对不同批次的待认证嵌入式设备的MAC地址对应的私钥进行管理。
在上述实施例的基础上,本实施例中所述待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密,包括:对所述交换机进行监听,获取所述交换机发送的加密的挑战报文;将所述加密的挑战报文通过所述解密芯片的SPI驱动发送至所述解密芯片;根据所述解密芯片中的私钥对所述解密芯片中加密的挑战报文进行解密。
具体地,待认证嵌入式设备的网络通信模块可以通过持续监听的方式,并根据网络通信的三元组实时获取交换机发送的加密的挑战报文。其中,网络通信的三元组包括源MAC地址、目的MAC地址和协议类型。如图3所示,当网络通信模块通过网口接收到交换机发送的加密的挑战报文时,可以将加密的挑战报文传输到加解密模块。加解密模块通过SPI驱动将加密的挑战报文传输到解密芯片中,可以根据解密芯片内部存储的私钥对加密的挑战报文进行解密,以保证挑战报文传输的安全性。
在上述实施例的基础上,本实施例中所述使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密,包括:验证所述加密的挑战报文发送的目标MAC地址是否为所述待认证嵌入式设备的MAC地址;若是,则对所述加密的挑战报文进行载荷校验;若所述加密的挑战报文通过载荷校验,则使用所述私钥对所述加密的挑战报文进行解密。
具体地,为了确保待认证嵌入式设备获取到有效的加密的挑战报文,可以对加密的挑战报文进行校验。如图5所示,先对加密的挑战报文发送的目标MAC地址进行验证,判断目标MAC地址和待认证嵌入式设备的MAC地址是否一致。若MAC地址不一致,则丢弃该加密的挑战报文;若MAC地址一致,则对加密的挑战报文进行载荷校验。若载荷校验未通过,则将校验结果显示在PC端,并丢弃该加密的挑战报文;若载荷检验通过,则使用加密芯片中的私钥对加密的挑战报文进行解密。
下面对本发明提供的嵌入式设备准入认证***进行描述,下文描述的嵌入式设备准入认证***与上文描述的嵌入式设备准入认证方法可相互对应参照。
如图6所示,本实施例提供的一种嵌入式设备准入认证***,包括解密模块601和发送模块602,其中:
解密模块601用于待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密;其中,所述私钥由PC端根据所述MAC地址返回;
其中,待认证嵌入式设备可以是打印机或摄像头等,本实施例不限于待认证嵌入式设备的类型。其中,待认证嵌入式设备内嵌认证客户端。如图2所示,认证客户端包括认证客户端硬件和认证客户端软件。其中认证客户端硬件包括解密芯片。认证客户端软件通过网口与交换机进行连接,并在需要导入私钥时通过串口与PC端连接。
交换机在将挑战报文发送出去之前,可以根据挑战报文发送的目的MAC地址对应的公钥对挑战报文进行加密,保证挑战报文的安全传输。即,向待认证嵌入式设备发送挑战报文前,可以使用待认证嵌入式设备的MAC地址对应的公钥对挑战报文进行加密。其中,任一MAC地址对应的公钥和私钥可以基于加密算法成对生成,可以是SM2算法等,本实施例对加密算法不作限定。
在正常情况下,待认证嵌入式设备中需要写入一次私钥。因此,任一待认证嵌入式设备内部可能已经写入私钥,也可能未写入私钥。可以在待认证嵌入式设备接收到交换机发送的加密的挑战报文之前或之后,根据MAC地址在待认证嵌入式设备中查找对应的私钥。若查找到私钥,则使用私钥对加密的挑战报文进行解密;若未查找到私钥,则将PC端根据MAC地址返回的私钥写入待认证嵌入式设备中。
通过将各MAC地址对应的私钥存储在PC端,不仅可以节约待认证嵌入式设备的存储空间,还可以减少因生成私钥所需的运算。此外,待认证嵌入式设备通常不具有便于用户操作的交互设备。而本实施例中将待认证嵌入式设备与PC端通过串口连接。通过在PC端进行操作,可以实现对待认证嵌入式设备的控制。此外,PC端设置有日志导出功能,用于将待认证嵌入式设备内的日志导出为文本文件,便于对待认证嵌入式设备进行维护。
发送模块602用于将解密后的所述挑战报文发送给所述交换机,以供所述交换机根据解密后的所述挑战报文对所述待认证嵌入式设备进行准入认证。
具体地,待认证嵌入式设备与网络进行通信时,需要先与交换机进行准入认证。其中,交换机中内嵌准入认证模块。当交换机接收到待认证嵌入式设备发送的解密的挑战报文时,可以采用准入认证模块对解密的挑战报文进行认证。若准入认证模块认证成功,则表明待认证嵌入式设备通过认证。待认证嵌入式设备通过认证,则交换机开启待认证嵌入式设备与网络的连接通路,待认证嵌入式设备可正常与网络进行通信。通过这种准入认证的方式,可以实现交换机与待认证嵌入式设备的一对一准入认证,提高嵌入式设备与网络通信的安全性。
本实施例根据待认证嵌入式设备的MAC地址,可以快速获取到MAC地址对应的私钥,根据私钥对交换机发送的加密的挑战报文进行解密,并将解密后的挑战报文反馈给交换机,一方面可以提高对待认证嵌入式设备的安全准入认证;另一方面,根据MAC地址可以自动获取PC端返回的私钥,不仅可以节约存储空间,还可以减少因生成私钥所需的运算,提高准入认证的效率。
在上述实施例的基础上,本实施例中解密模块具体用于:若所述私钥在所述待认证嵌入式设备的解密芯片中不存在,则向所述PC端发送所述MAC地址;接收所述PC端根据所述MAC地址返回的所述私钥,并将所述私钥写入所述解密芯片中;使用所述解密芯片中的私钥对所述加密的挑战报文进行解密。
在上述实施例的基础上,本实施例中所述私钥通过从所述PC端上的私钥文件中查找获取;其中,所述私钥文件中预先存储有所述MAC地址与所述私钥之间的关联关系。
在上述实施例的基础上,本实施例中解密模块,还用于对所述交换机进行监听,获取所述交换机发送的加密的挑战报文;将所述加密的挑战报文通过所述解密芯片的SPI驱动发送至所述解密芯片;根据所述解密芯片中的私钥对所述解密芯片中加密的挑战报文进行解密。
在上述实施例的基础上,本实施例中还包括验证模块具体用于:验证所述加密的挑战报文发送的目标MAC地址是否为所述待认证嵌入式设备的MAC地址;若是,则对所述加密的挑战报文进行载荷校验;若所述加密的挑战报文通过载荷校验,则使用所述私钥对所述加密的挑战报文进行解密。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行嵌入式设备准入认证方法,该方法包括:待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密;其中,所述私钥由PC端根据所述MAC地址返回;将解密后的所述挑战报文发送给所述交换机,以供所述交换机根据解密后的所述挑战报文对所述待认证嵌入式设备进行准入认证。
此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的嵌入式设备准入认证方法,该方法包括:待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密;其中,所述私钥由PC端根据所述MAC地址返回;将解密后的所述挑战报文发送给所述交换机,以供所述交换机根据解密后的所述挑战报文对所述待认证嵌入式设备进行准入认证。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的嵌入式设备准入认证方法,该方法包括:待认证嵌入式设备接收交换机发送的加密的挑战报文,使用所述待认证嵌入式设备的MAC地址对应的私钥对所述加密的挑战报文进行解密;其中,所述私钥由PC端根据所述MAC地址返回;将解密后的所述挑战报文发送给所述交换机,以供所述交换机根据解密后的所述挑战报文对所述待认证嵌入式设备进行准入认证。
以上所描述的***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。