一种离线状态下的芯片密钥烧录方法及系统与流程

文档序号:19182713发布日期:2019-11-20 01:10阅读:456来源:国知局
一种离线状态下的芯片密钥烧录方法及系统与流程

本发明涉及物联网工程技术领域,尤其涉及一种离线状态下的芯片密钥烧录方法、一种离线状态下的芯片密钥烧录系统和可读存储介质以及计算机设备。



背景技术:

随着物联网的兴起,网络通信安全越来越重要,很多模块通信都需要对传输数据做加密处理,加密处理通常需要初始化密钥到硬件的芯片中,服务端也需要保存相应的密钥信息,在生产过程中为了安全生产需要将密钥写入芯片,在此过程中需要保证密钥传输不被窃取及安全写入芯片。

生产时将密钥写入芯片的过程,可以通过线上实时拉取密钥并写入,但是有些工厂为了安全生产,在生产过程中不接入网络,所以只能通过线下的方式向工厂提供芯片的密钥文件,目前线下传输密钥的文件的方式很难保证密钥不被窃取。



技术实现要素:

本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,本发明的一个目的在于提供一种离线状态下的芯片密钥烧录方法,其能够确保离线状态下芯片密钥的安全烧录。

本发明的另一个目的在于提供一种离线状态下的芯片密钥烧录系统,其能够确保从确定生产批次开始到最终芯片密钥的烧录成功,整个流程中芯片密钥都处于加密状态。

为实现上述目的,本发明第一方面的技术方案提供了一种离线状态下的芯片密钥烧录方法,包括以下步骤:获取芯片id和对应芯片id的芯片密钥;根据预设加密函数对芯片id和密钥加密,得到第一密钥文件;根据预设加密工具对第一密钥文件加密,得到第二密钥文件;根据预设解密工具对第二密钥文件进行解密,得到第一密钥文件;根据预设解密函数对第一密钥文件解密,得到芯片id和芯片密钥;根据芯片id和芯片密钥对芯片进行烧录,并得到烧录结果。

在该技术方案中,通过将芯片id和对应于芯片id的芯片密钥使用加密函数进行原始加密,在调用时,再进一步加密,保证传输过程中,保密文件处于更高级别的保密状态,在传输结束后,进行解密得到原始加密状态下的保密文件,在进行烧录过程中,进行最终解密,将芯片密钥烧录在芯片上,保证从获取芯片密钥到在芯片上烧录密钥全程处于高度保密状态。

在上述技术方案中,优选的,根据预设加密工具对第一密钥文件加密,得到第二密钥文件之前,还包括以下步骤:将第一密钥文件存储在云端;获取来自所述云端的第一密钥文件。

在该技术方案中,当第一密钥文件提取时,进行进一步加密,再次提高保密级别,进一步降低第一密钥文件在传输过程中的泄密可能性,并且在传输结束后得到的仍然是经过加密的芯片密钥。

在上述技术方案中,优选的,根据预设解密函数对第一密钥文件解密,得到芯片id和芯片密钥之前,还包括以下步骤:将第二密钥文件存储在云端;获取来自云端的第二密钥文件。

在该技术方案中,烧录过程仍然是解密芯片密钥的过程,即使在最后阶段烧录芯片密钥时,都是使用解密工具进行解密,直到将芯片密钥成功烧录。

在上述技术方案中,优选的,所述加密函数与所述解密函数为同一函数;所述加密工具和所述解密工具为同一工具。

在该技术方案中,整个流程使用同一对加密解密密钥确保密钥文件传输的稳定性。

所述同一函数为aes加密函数:设aes加密函数为e,则c=e(k,p),其中p为芯片id和芯片密钥,k为加密参数,c为加密后的第一密钥文件;和/或所述同一工具为gpg4win开源加密工具。

本发明第二方面的技术方案提供了一种离线状态下的芯片密钥烧录系统,包括:第一获取模块,被设置为用于获取芯片id和对应芯片id的芯片密钥;第一加密模块,被设置为用于根据预设加密函数对芯片id和密钥加密,得到第一密钥文件;第二加密模块,被设置为用于根据预设加密工具对第一密钥文件加密,得到第二密钥文件;第一解密模块,被设置为用于根据预设解密工具对第二密钥文件进行解密,得到第一密钥文件;第二解密模块,被设置为用于根据预设解密函数对第一密钥文件解密,得到芯片id和芯片密钥;烧录模块,被设置为用于根据芯片id和芯片密钥对芯片进行烧录,并得到烧录结果。

在该技术方案中,通过将芯片id和对应于芯片id的芯片密钥使用加密函数进行原始加密,在调用时,再进一步加密,保证传输过程中,保密文件处于更高级别的保密状态,在传输结束后,进行解密得到原始加密状态下的保密文件,在进行烧录过程中,进行最终解密,将芯片密钥烧录在芯片上,保证从获取芯片密钥到在芯片上烧录密钥全程处于高度保密状态。

在上述技术方案中,优选的,还包括:第一存储模块,被设置为用于将第一密钥文件存储在云端;第二获取模块,被设置为用于获取来自云端的第一密钥文件。

在该技术方案中,当第一密钥文件提取时,进行进一步加密,再次提高保密级别,进一步降低第一密钥文件在传输过程中的泄密可能性,并且在传输结束后得到的仍然是经过加密的芯片密钥。

在上述技术方案中,优选的,还包括:第二存储模块,被设置为用于将第一密钥文件存储在云端;第三获取模块,被设置为用于获取来自云端的第二密钥文件。

在该技术方案中,烧录过程仍然是解密芯片密钥的过程,即使在最后阶段烧录芯片密钥时,都是使用解密工具进行解密,直到将芯片密钥成功烧录。

附图说明

本发明的上述附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1示出了本发明一个实施例所涉及离线状态下的芯片密钥烧录方法的流程框图;

图2示出了本发明另一个实施例所涉及离线状态下的芯片密钥烧录方法的流程框图;

图3示出了本发明第三个实施例所涉及离线状态下的芯片密钥烧录方法的流程框图;

图4示出了本发明第四个实施例所涉及离线状态下的芯片密钥烧录系统的结构框图;

图5示出了本发明第五个实施例所涉及离线状态下的芯片密钥烧录系统的结构框图;

图6示出了本发明第六个实施例所涉及离线状态下的芯片密钥烧录系统的结构框图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。

下面参照图1至图6描述根据本发明一些实施例的离线状态下的芯片密钥烧录方法及系统。

如图1所示,按照本发明一个实施例的离线状态下的芯片密钥烧录方法,包括以下步骤:

s10,获取芯片id和对应芯片id的芯片密钥;

s20,根据预设加密函数对芯片id和密钥加密,得到第一密钥文件;

s30,根据预设加密工具对第一密钥文件加密,得到第二密钥文件;

s40,根据预设解密工具对第二密钥文件进行解密,得到第一密钥文件;

s50,根据预设解密函数对第一密钥文件解密,得到芯片id和芯片密钥;

s60,根据芯片id和芯片密钥对芯片进行烧录,并得到烧录结果。

在该实施例中,通过将芯片id和对应于芯片id的芯片密钥使用加密函数进行原始加密,在调用时,再进一步加密,保证传输过程中,保密文件处于更高级别的保密状态,在传输结束后,进行解密得到原始加密状态下的保密文件,在进行烧录过程中,进行最终解密,将芯片密钥烧录在芯片上,保证从获取芯片密钥到在芯片上烧录密钥全程处于高度保密状态。

如图2所示,按照本发明另一个实施例的离线状态下的芯片密钥烧录方法,根据预设加密工具对第一密钥文件加密,得到第二密钥文件之前,还包括以下步骤:

s70,将第一密钥文件存储在云端;

s80,获取来自云端的第一密钥文件。

在该实施例中,当第一密钥文件提取时,进行进一步加密,再次提高保密级别,进一步降低第一密钥文件在传输过程中的泄密可能性,并且在传输结束后得到的仍然是经过加密的芯片密钥。

如图3所示,按照本发明第三个实施例的离线状态下的芯片密钥烧录方法,根据预设解密函数对第一密钥文件解密,得到芯片id和芯片密钥之前,还包括以下步骤:

s90,将第二密钥文件存储在云端;

s100,获取来自云端的第二密钥文件。

在该实施例中,烧录过程仍然是解密芯片密钥的过程,即使在最后阶段烧录芯片密钥时,都是使用解密工具进行解密,直到将芯片密钥成功烧录。

如图4所示,按照本发明第四个实施例的离线状态下的芯片密钥烧录系统1000,包括:

第一获取模块10,被设置为用于获取芯片id和对应芯片id的芯片密钥;

第一加密模块20,被设置为用于根据预设加密函数对芯片id和密钥加密,得到第一密钥文件;

第二加密模块30,被设置为用于根据预设加密工具对第一密钥文件加密,得到第二密钥文件;

第一解密模块40,被设置为用于根据预设解密工具对第二密钥文件进行解密,得到第一密钥文件;

第二解密模块50,被设置为用于根据预设解密函数对第一密钥文件解密,得到芯片id和芯片密钥;

烧录模块60,被设置为用于根据芯片id和芯片密钥对芯片进行烧录,并得到烧录结果。

在该实施例中,通过将芯片id和对应于芯片id的芯片密钥使用加密函数进行原始加密。

如图5所示,按照本发明第五个实施例的离线状态下的芯片密钥烧录系统1000,还包括:

第一存储模块70,被设置为用于将第一密钥文件存储在云端;

第二获取模块80,被设置为用于获取来自云端的第一密钥文件。

在该实施例中,当第一密钥文件提取时,进行进一步加密,再次提高保密级别,进一步降低第一密钥文件在传输过程中的泄密可能性,并且在传输结束后得到的仍然是经过加密的芯片密钥。

如图6所示,按照本发明第六个实施例的离线状态下的芯片密钥烧录系统1000,还包括:

第二存储模块90,被设置为用于将第二密钥文件存储在云端;

第三获取模块100,被设置为用于获取来自云端的第二密钥文件。

在该实施例中,烧录过程仍然是解密芯片密钥的过程,即使在最后阶段烧录芯片密钥时,都是使用解密工具进行解密,直到将芯片密钥成功烧录。

在上述任一实施例中,优选的,所述加密函数与所述解密函数为同一函数;所述加密工具和所述解密工具为同一工具。

在该实施例中,整个流程使用同一对加密解密密钥确保密钥文件传输的稳定性。

在上述任一实施例中,优选的,所述同一函数为aes加密函数:设aes加密函数为e,则c=e(k,p),其中p为芯片id和芯片密钥,k为加密参数,c为加密后的第一密钥文件。

在该实施例中,aes加密:高级加密标准(aes,advancedencryptionstandard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥。

在这里简单介绍下对称加密算法与非对称加密算法的区别。

对称加密算法:

加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。

非对称加密算法:

加密和解密用的密钥是不同的,这种加密方式是用数学上的难解问题构造的,通常加密解密的速度比较慢,适合偶尔发送数据的场合。优点是密钥传输方便。常见的非对称加密算法为rsa、ecc和eigamal。

实际中,一般是通过rsa加密aes的密钥,传输到接收方,接收方解密得到aes密钥,然后发送方和接收方用aes密钥来通信。

aes的基本结构

aes为分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。在aes标准规范中,分组长度只能是128位,也就是说,每个分组为16个字节(每个字节8位)。密钥的长度可以使用128位、192位或256位。密钥的长度不同,推荐加密轮数也不同。

在上述任一实施例中,优选的,所述同一工具为gpg4win开源加密工具。

在该实施例中,gpg是gnuprivacyguard的缩写,它是一种基于密钥的加密方式,其中的预设加密工具和预设解密工具是使用了同一种加密方式且通过该加密方式的正向运算和反向运算对消息进行加密和解密,来保证消息的安全传输。

基于上述如图1至图3所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1至图3所示的离线状态下的芯片密钥烧录方法。

基于这样的理解,本申请的实施例可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。

基于上述如图1至图3所示的方法,以及图4至图6所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图4所示的离线状态下的芯片密钥烧录方法。

可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radiofrequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。

本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。

另一方面,本发明基于上述实施例的工作原理如下:

1、根据每次生产的批次,在云端生成好芯片id和对应的密钥,并通过相应的aes加密算法进行加密存储,aes加密步骤如下:

密钥p:表示没有经过加密的芯片id和芯片密钥;

加密参数k:用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的;

aes加密函数:设aes加密函数为e,则c=e(k,p),其中p为芯片id和芯片密钥,k为加密参数,c为加密后形成的第一密钥文件。

2、生产前由相关负责人通过后台导出加密后的密钥文件,导出的加密文件由系统生成,生成步骤如下:

系统后台导出芯片id及对应加密的芯片密钥后,通过系统集成的gpg开源加密工具(gpg是gnuprivacyguard的缩写,它是一种基于密钥的加密方式,使用了一对密钥对消息进行加密和解密,来保证消息的安全传输,gpg在这里主要用于文件加密)对密钥文件进行加密;

3、生产负责人导出密钥文件后通过邮件发给工厂技术负责人;

4、工厂相关生产负责人使用gpg4win工具对密钥文件进行解密后获取芯片密钥文件;

5、生产烧录密钥时,工厂通过烧录工具解析密钥文件获取芯片id和密钥,并写入芯片,安全写入后通过烧录工具上报成功烧录的芯片id(烧录工具是涂鸦自研的,通过该工具实现的aes算法来获取明文芯片id和密钥,密钥安全烧录成功后会通过该工具上报给涂鸦的生产系统)。

密钥写入后不可修改。

在本发明中,术语“第一”、“第二”、“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

本发明的描述中,需要理解的是,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本发明的限制。

在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1