一种基于证书授权的固件启动方法和系统技术方案

技术编号:38557342 阅读:12 留言:0更新日期:2023-08-22 21:00
本发明专利技术公开一种基于证书授权的固件启动方法和系统,包括以下步骤:S1:生成第一机器唯一标识;S2:判断是否保存有第一证书文件,若是,则进入步骤S3;若否,则进入步骤S4;S3:判断第一证书文件的长度是否符合预期,若否,则进入步骤S4,若是,解密得到第二机器唯一标识,判断第二机器唯一标识与第一机器唯一标识是否相同,若是,则固件正常启动,若否,则进入步骤S4;S4:获取第二证书文件或第三文件证书;S5:解密得到第三机器唯一标识,并判断第三机器唯一标识与第一机器唯一标识是否相同,若是,则固件启动,若否,则进入步骤S402;S6:解密得到第四机器唯一标识,并判断第四机器唯一标识与第一机器唯一标识是否相同,若是,则固件启动。则固件启动。则固件启动。

【技术实现步骤摘要】
一种基于证书授权的固件启动方法和系统


[0001]本专利技术涉及嵌入式系统
,具体为一种基于证书授权的固件启动方法和系统。

技术介绍

[0002]固件是计算机系统中的重要基础软件,一般固化存储于FlashMemory(闪存)中。计算机的主板、显卡、网卡、硬盘中都有固件,虽然作用不同,但是本质上都是使用和驱动硬件。计算机中最重要的固件称为BIOS(基本输入输出系统),用于初始化主板硬件、管理硬件资源、引导操作系统。是连接计算机基础硬件和系统软件的桥梁。
[0003]固件在计算机功能、性能以及安全性方面,与CPU(中央处理器)、操作系统等计算机核心部件一样发挥着重要作用。固件的特点决定了其运行过程中先于操作系统启动、可对硬件进行访问和操作、可对文件读写、可以读写访问操作系统不可见的信息,在授权认证方面更具备优势和运行环境。
[0004]目前,固件授权启动的方法分为需要硬件支持和没有硬件支持两个方向。需要硬件支持的例如基于PIN码授权的固件启动方法与流程(技术编号:18144063),此方法依赖主板集成的TCM(可信计算平台)安全芯片,使用安全芯片进行PIN码的保存与验证。这种方式虽然较为安全,但对硬件要求较高,不适用于不自带安全芯片的主板。
[0005]没有硬件支持的例如嵌入式软件的授权和认证方法及电子设备与流程(技术编号:26519916),此方法首先获取设备的唯一标识,使用授权种子和唯一标识生成授权证书并编译入嵌入式软件,在软件执行时通过软件携带的授权种子与从设备中获取到的唯一标识解析授权证书,判断是否授权成功。此方法有以下技术缺陷:一是需要在编译时获取到设备的唯一标识,根据唯一标识进行定制化编译,给授权方带来巨大的维护与管理压力;二是生成证书的授权种子与软件携带的授权种子相同,可以通过读取软件二进制文件撞库破解授权种子后使用读取到的设备唯一标识进行自行授权,存在巨大的安全隐患。

技术实现思路

[0006]为克服上述现有技术的不足,本专利技术提供一种基于证书授权的固件启动方法和系统,用以解决上述技术问题中的至少一个。
[0007]基于本专利技术说明书的一方面,提供一种基于证书授权的固件启动方法,包括以下步骤:
[0008]S1:在机器上运行固件,获取机器中具有唯一性质的编码,并将所述具有唯一性质的加密生成第一机器唯一标识;
[0009]机器中具有唯一性质的编码是一个机器用于与其他机器进行区别的编码,该编码具有唯一性,一个机器只能对应一个编码,且一个编码只能对应一个机器,如常见的硬盘的wwm号,全称全球唯一号,在每个硬盘被生产时烧上的,不会和其他硬盘重复。使用具有唯一性质的编码加密生成机器唯一标识,使得每个机器有自己独特的标识用于加密。
[0010]S2:读取闪存上预留的证书保存空间,判断所述证书保存空间内是否保存有第一证书文件,若是,则进入步骤S3;若否,则进入步骤S4;
[0011]S3:判断所述第一证书文件的长度是否符合预期(即第一证书文件的长度是否和标准证书文件长度相同),若否,则进入步骤S4,若是,则基于固件内存储的公钥对第一证书文件进行解密得到第二机器唯一标识,判断所述第二机器唯一标识与第一机器唯一标识是否相同,若是,则固件正常启动,若否,则进入步骤S4;
[0012]S4:将第一机器唯一标识发送至授权方,并进行如下步骤:
[0013]S401:判断授权方是否过针对接收到的第一机器唯一标识的生成过证书文件,若是,则将所述证书文件作为第二证书文件发送至固件使用者,进入步骤S5:若否,进入步骤S402;
[0014]S402:基于私钥对第一机器唯一标识及授权方定制化信息进行加密,得到第三证书文件,并将所述第三证书文件返回至固件使用者;
[0015]S5:基于固件内存储的公钥对第二证书文件进行解密得到第三机器唯一标识,并判断第三机器唯一标识与第一机器唯一标识是否相同,若是,则固件启动,若否,则进入步骤S402;
[0016]S6:基于固件内存储的公钥对第三证书文件进行解密得到第四机器唯一标识,并判断第四机器唯一标识与第一机器唯一标识是否相同,若是,则固件启动。
[0017]在上述技术方案中,在授权成功后将证书文件存入闪存(FlashMemory)中,每次都重新读取闪存内的证书文件判断是否授权成功,无需依赖硬件上TCM安全卡和安全模块,适用于不自带安全芯片的主板。而且,本专利技术提供的方案采用私钥与公钥分别进行证书文件的加密和解密,发布固件时仅发布公钥,因此,即使导入固件的公钥被使用者通过读内存破解,使用者也无法生成私钥进行自主授权破解固件,极大的提高了固件授权的安全性。
[0018]第二证书文件存在不正确或过期的可能,因此,基于第二证书文件授权固件启动可能会失败,此时,则需要根据第一机器唯一标识重新生成一个新的证书文件(即第三证书文件),而新的证书文件(即第三证书文件)正常情况下是可以完成固件的授权启动。
[0019]进一步地,在所述步骤S1之前还包括以下步骤:
[0020]基于系统工具Openssl中的RSA算法模块获取公钥和私钥,将公钥导入固件,将私钥保留在授权方的本地管理软件内;
[0021]在闪存中预留保存证书的空间;
[0022]编译固件,并将编译后的固件交付固件使用者。
[0023]使用RSA算法同时生成公钥与私钥,发布时仅发布公钥。由于RSA算法属于非对称加密算法,具有私钥可以推出公钥,公钥绝对无法推出私钥的性质。因此,即使导入固件的公钥被使用者通过读内存破解,使用者也无法生成私钥进行自主授权破解固件,极大的提高了固件授权的安全性。
[0024]进一步地,所述具有唯一性质的编码包括CPU编号、硬盘全球唯一编号或网卡MAC地址。
[0025]进一步地,在所述步骤S1中采用哈希算法对具有唯一性质的编码进行加密。
[0026]哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明
文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上不可能的,所以数据的哈希值可以检验数据的完整性。哈希算法具有易测算、易缩小、抗撞击性、单向性和高灵敏性等优点。
[0027]进一步地,在所述步骤S5中,若第三机器唯一标识与第一机器唯一标识相同,则将第二证书文件存储至闪存上预留的证书保存空间,若证书保留空间内存储有第一证书文件,则将第一证书文件删除;在所述步骤S6中,若第四机器唯一标识与第一机器唯一标识相同,则将第三证书文件存储至闪存上预留的证书保存空间,若证书保留空间内存储有第一证书文件,则将第一证书文件删除。
[0028]当闪存上预留的证书保存空间内未存储证书文件,或者存储的证书文件(即第一证书文件)未能验证成功(即第一证书文件失效),则将从授权方接受到的验证成功的第二证书文件或第三证书文件存储在闪本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于证书授权的固件启动方法,其特征在于,包括以下步骤:S1:在机器上运行固件,获取机器中具有唯一性质的编码,并将所述具有唯一性质的编码加密生成第一机器唯一标识;S2:读取闪存上预留的证书保存空间,判断所述证书保存空间内是否保存有第一证书文件,若是,则进入步骤S3;若否,则进入步骤S4;S3:判断所述第一证书文件的长度是否符合预期,若否,则进入步骤S4,若是,则基于固件内存储的公钥对第一证书文件进行解密得到第二机器唯一标识,判断所述第二机器唯一标识与第一机器唯一标识是否相同,若是,则固件正常启动,若否,则进入步骤S4;S4:将第一机器唯一标识发送至授权方,并进行如下步骤:S401:判断授权方是否过针对接收到的第一机器唯一标识的生成过证书文件,若是,则将所述证书文件作为第二证书文件发送至固件使用者,进入步骤S5:若否,进入步骤S402;S402:基于私钥对第一机器唯一标识及授权方定制化信息进行加密,得到第三证书文件,并将所述第三证书文件返回至固件使用者,进入步骤S6;S5:基于固件内存储的公钥对第二证书文件进行解密得到第三机器唯一标识,并判断第三机器唯一标识与第一机器唯一标识是否相同,若是,则固件启动,若否,则进入步骤S402;S6:基于固件内存储的公钥对第三证书文件进行解密得到第四机器唯一标识,并判断第四机器唯一标识与第一机器唯一标识是否相同,若是,则固件启动。2.根据权利要求1所述的一种基于证书授权的固件启动方法,其特征在于,在所述步骤S1之前还包括以下步骤:基于系统工具Openssl中的RSA算法模块获取公钥和私钥,将公钥导入固件,将私钥保留在授权方的本地管理软件内;在闪存中预留保存证书的空间;编译固件,并将编译后的固件交付固件使用者。3.根据权利要求1所述的一种基于证书授权的固件启动方法,其特征在于,所述具有唯一性质的编码包括CPU编号、硬盘全球唯一编号或网卡MAC地址。4.根据权利要求1所述的一种基于证书授权的固件启动方法,其特征在于,在所述步骤S1中采用哈希算法对具有唯一性质的编码进行加密。5.根据权利要求1所述的一种基于证书授权的固件启动方法,其特征在于,在所述步骤S5中,若第三机器唯一标识与第一机器唯一标识相同,则将第二证书文件存储至闪存上预留的证书保存空间,若证书保留空间内存储有第一证书文件,则将第一证书文件删除;在所述步骤S6中,若第四机器唯一标识与第一机器唯一标识相同,则将第三证书文件存储至闪存上预留的证书保存空间,若证书保留空间内存储有第一证书文件,则将第一证书文件删除。6.根据权利要求1所述的一种基于证书授权的固件启动方法,其特征在于,在所述步骤S402中,所述授权方定制化信息至少包括证书发布时间、...

【专利技术属性】
技术研发人员:赵翊含苏卫强石良军
申请(专利权)人:无锡先进技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1