CN111680298B - 一种嵌入式系统安全启动方法和具有存储功能的装置 - Google Patents

一种嵌入式系统安全启动方法和具有存储功能的装置 Download PDF

Info

Publication number
CN111680298B
CN111680298B CN202010356432.1A CN202010356432A CN111680298B CN 111680298 B CN111680298 B CN 111680298B CN 202010356432 A CN202010356432 A CN 202010356432A CN 111680298 B CN111680298 B CN 111680298B
Authority
CN
China
Prior art keywords
private key
image file
system kernel
kernel image
attribute
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
CN202010356432.1A
Other languages
English (en)
Other versions
CN111680298A (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 CN202010356432.1A priority Critical patent/CN111680298B/zh
Publication of CN111680298A publication Critical patent/CN111680298A/zh
Application granted granted Critical
Publication of CN111680298B publication Critical patent/CN111680298B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Abstract

本申请公开了一种嵌入式系统安全启动方法,该方法包括:响应于设备端启动信号,加载引导镜像文件;通过引导镜像文件从私钥组中随机读取一个私钥;其中,私钥组中包含多个私钥,所述私钥根据系统内核镜像文件的至少一种属性按照预设的私钥生成方式生成;判断被随机读取的私钥对应的系统内核镜像文件的属性与当前系统内核镜像文件的实际属性是否相同;若相同,则加载系统内核镜像文件;否则,不加载系统内核镜像文件。通过上述方式,本申请能够降低嵌入式系统在启动时加载被篡改的系统内核镜像文件的概率,提高嵌入式系统的安全性。

Description

一种嵌入式系统安全启动方法和具有存储功能的装置
技术领域
本申请涉及嵌入式系统技术领域,特别是涉及一种嵌入式系统安全启动方法和具有存储功能的装置。
背景技术
在进行嵌入式开发时通常采用开源的系统,基于设备端的硬件以及开源系统的源码仿造一个可运行的系统内核镜像文件,以篡改当前设备端的系统内核镜像文件是容易实现的,这导致系统内核镜像文件常被作为入侵嵌入式系统的媒介,因此亟需一种防止嵌入式系统加载被篡改的系统内核镜像文件的方法。
发明内容
本申请主要解决的技术问题是提供一种嵌入式系统安全启动方法和具有存储功能的装置,能够降低嵌入式系统在启动时加载被篡改的系统内核镜像文件的概率,提高嵌入式系统的安全性。
为解决上述技术问题,本申请第一方面提供一种嵌入式系统安全启动方法,该方法包括:响应于设备端启动信号,加载引导镜像文件;通过所述引导镜像文件从私钥组中随机读取一个私钥;其中,所述私钥组中包含多个私钥,所述私钥根据系统内核镜像文件的至少一种属性按照预设的私钥生成方式生成;判断被随机读取的所述私钥对应的所述系统内核镜像文件的属性与当前所述系统内核镜像文件的实际属性是否相同;若相同,则加载所述系统内核镜像文件;否则,不加载所述系统内核镜像文件。
其中,所述响应于设备端启动信号,加载引导镜像文件之前,包括:响应于所述设备端处于联网升级的状态,所述设备端接收服务器端下发的所述私钥组并存储至所述设备端的加密卡上。
其中,所述判断被随机读取的所述私钥对应的所述系统内核镜像文件的属性与当前所述系统内核镜像文件的实际属性是否相同,包括:解密被随机读取的所述私钥并生成第一验证码,以及获取与所述被随机读取的所述私钥对应的当前所述系统内核镜像文件的实际属性,并生成第二验证码;判断所述第一验证码和所述第二验证码是否相同。
其中,所述解密被随机读取的所述私钥并生成第一验证码,以及获取与所述被随机读取的所述私钥对应的当前所述系统内核镜像文件的实际属性,并生成第二验证码,包括:根据所述预设的私钥生成方式对所述被随机读取的所述私钥进行逆推,获得所述被随机读取的所述私钥对应的属性,并按照预设的验证码生成方式生成所述第一验证码;获取与所述被随机读取的所述私钥对应的当前所述系统内核镜像文件的实际属性,并按照预设的所述验证码生成方式生成所述第二验证码。
其中,若所述第一验证码与所述第二验证码不相同,所述安全启动方法还包括:提示所述系统内核镜像文件已被篡改。
其中,所述系统内核镜像文件的属性包括创建时间、修改时间、文件大小、私有内容、权限中至少两种;所述私钥组中包含由所述系统内核镜像文件的其中一种属性生成的多个所述私钥以及由所述系统内核镜像文件的至少两种属性生成的多个所述私钥。
为解决上述技术问题,本申请第二方面提供一种嵌入式系统安全启动方法,该方法包括:服务器端接收开发者上传的待下发的系统内核镜像文件;根据所述系统内核镜像文件的至少一种属性以及预设的私钥生成方式生成多个私钥,且所述多个私钥形成私钥组;将所述私钥组下发至设备端,以使所述设备端接收到启动信号后,能够从接收的所述私钥组中随机读取到一个私钥,并判断随机读取的所述私钥对应的所述系统内核镜像文件的属性与当前所述系统内核镜像文件的实际属性是否相同;若相同,则加载所述系统内核镜像文件;否则,不加载所述系统内核镜像文件。
其中,所述根据所述系统内核镜像文件的至少一种属性以及预设的私钥生成方式生成多个私钥,且所述多个私钥形成私钥组,包括:获取所述系统内核镜像文件的至少两种属性,所述属性包括创建时间、修改时间、文件大小、私有内容、权限;从获取的所述属性中选择一种或多种,按所述预设的私钥生成方式生成私钥组,其中,所述私钥组中包含由所述系统内核镜像文件的其中一种属性生成的多个所述私钥以及由所述系统内核镜像文件的至少两种属性生成的多个所述私钥。
其中,所述将所述私钥组下发至设备端,包括:响应于所述设备端处于联网升级的状态,所述服务器端向所述设备端下发所述私钥组,以使所述设备端将所述私钥组存储在所述设备端的加密卡上。
为解决上述技术问题,本申请第三方面提供一种具有存储功能装置,其上存储有程序数据,所述程序数据被处理器执行以用于实现上述第一方面的方法,或用于实现上述第二方面的方法。
本申请的有益效果是:本申请通过随机读取的方式读取私钥组中的一个私钥,该私钥是原始系统内核镜像文件的至少一种属性按照预设的私钥生成方式生成,判断私钥对应的原始的系统内核镜像文件的属性,与当前嵌入式系统的系统内核镜像文件的实际属性是否相同,若属性不相同则代表当前的系统内核镜像文件已被篡改,那么在启动阶段便不加载已被篡改的系统内核镜像文件,进而降低嵌入式系统在启动时加载被篡改的系统内核镜像文件的概率,提高嵌入式系统的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请嵌入式系统安全启动方法一实施方式的流程示意图;
图2是图1中步骤S103对应的一实施方式的流程示意图;
图3是本申请嵌入式系统安全启动方法另一实施方式的流程示意图;
图4是本申请具有存储功能的装置一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1是本申请嵌入式系统安全启动方法一实施方式的流程示意图,该方法包括:
步骤S101:响应于设备端启动信号,加载引导镜像文件。
具体地,上述步骤S101中,设备端启动时可读取设备端启动对应的启动标志位,来确定设备端已经上电启动,进而加载引导镜像文件。通常,产品刷好固件后,引导镜像文件一般不会改动,而升级次数较多的则是系统内核,由于引导镜像文件一般不会再改动,那么在引导镜像文件内进一步封装具有校验功能程序,用于校验系统内核镜像文件是否被篡改。
步骤S102:通过引导镜像文件从私钥组中随机读取一个私钥。
具体地,上述步骤S102中,私钥组中包含多个私钥,私钥根据系统内核镜像文件的至少一种属性按照预设的私钥生成方式生成,原始的系统内核镜像文件是被上传在服务器端,等待设备端下载之后进行更新。那么,根据原始的系统内核镜像文件中会随着文件本身变化而发生改变的文件属性,如:文件大小、创建时间、修改时间。根据这些属性中至少一种属性,按照开发者自定义的预设的私钥生成方式生成私钥组,那么私钥组中的每个私钥对应着原始的系统内核镜像文件的属性。其中,预设的私钥生成方式包括为系统内核镜像文件的属性对应的变量设置统一的偏移量,或者包括为系统内核镜像文件的属性对应的变量,设置设备端的设备号对应的二进制数作为偏移量,本申请对此不做具体限制。
进一步地,通过引导镜像文件从私钥组中随机读取一个私钥,由于随机读取的不确定性,当有第三方用户想入侵系统时,第三方用户难以准确获得私钥组中的私钥,并且,由于存在多个私钥,在设备端每次启动时都会进行随机读取私钥,以避免因为被破解一次便实现永久性破解的情况,进而增加了在启动阶段入侵当前嵌入式系统的难度。
步骤S103:判断被随机读取的私钥对应的系统内核镜像文件的属性与当前系统内核镜像文件的实际属性是否相同。
具体地,上述步骤S103中,随机读取的私钥对应着服务器端原始的系统内核镜像文件的属性,由于该属性是会随着文件本身变化而发生改变的,那么通过比较当前系统内核镜像文件的实际属性和服务器端原始的系统内核镜像文件的属性,可以得知当前系统内核镜像文件是否已被篡改。如果属性相同则代表当前系统内核镜像文件未被篡改,进入步骤S104,如果属性不相同则代表当前系统内核镜像文件已被篡改,进入步骤S105。
步骤S104:加载系统内核镜像文件。
具体地,上述步骤S104中,当前系统内核镜像文件未被篡改时,加载当前系统内核镜像文件在指定内存地址运行,进而运行根文件系统,完成设备端的正常启动。
步骤S105:不加载系统内核镜像文件。
具体地,上述步骤S105中,当前系统内核镜像文件已被篡改时,则退出启动阶段。可选地,还可以进一步利用弹窗提醒来提示用户设备端的系统内核镜像文件已被篡改,并提供请求修复被篡改的系统内核镜像文件的服务。
本实施例所提供的嵌入式系统安全启动方法,通过随机读取的方式读取私钥组中的一个私钥,该私钥是原始系统内核镜像文件的至少一种属性按照预设的私钥生成方式生成,判断私钥对应的原始的系统内核镜像文件的属性,与当前嵌入式系统的系统内核镜像文件的实际属性是否相同,若属性不相同则代表当前的系统内核镜像文件已被篡改,那么在启动阶段便不加载已被篡改的系统内核镜像文件,进而降低了嵌入式系统在启动时加载被篡改的系统内核镜像文件的概率,提高了嵌入式系统的安全性。
进一步地,在步骤S101之前,还包括:响应于设备端处于联网升级的状态,设备端接收服务器端下发的私钥组并存储至设备端的加密卡上。
具体地,当开发者上传可更新的系统内核镜像文件至服务器端后,用户可在设备端选择更新,进而判断设备端升级时对应的升级标志位,确定设备处于升级状态时,设备端接收服务器端下发的私钥组并存储至设备端的加密卡上,以便后续调用。在本实施方式中,私钥组存储在加密卡上可进一步提高嵌入式系统的安全性,以防私钥被第三方用户窃取。当然,在其他实施方式中也可将私钥组存储在设备端的存储器上,本申请对此不做具体限制。
在一实施方式中,请参阅图2,图2是图1中步骤S103对应的一实施方式的流程示意图,上述步骤S103具体包括:
步骤S201:解密被随机读取的私钥并生成第一验证码,以及获取与被随机读取的私钥对应的当前系统内核镜像文件的实际属性,并生成第二验证码。
具体地,上述步骤S201中,由于属性之间直接比较可能存在无法比较大情况,导致在启动阶段比较时出现死机等情况,那么在读取一个随机的私钥后,对私钥进行解密并生成可用于比较的第一验证码,获取与被随机读取的私钥对应的当前系统内核镜像文件的实际属性,并生成可用于比较的第二验证码,进而降低启动阶段出现死机的概率。
在一具体应用场景中,私钥生成方式是由开发者自定义的,那么可在引导镜像文件内封装解密私钥的程序以及验证码生成程序,进而引导镜像文件可根据预设的私钥生成方式对被随机读取的私钥进行逆推,获得被随机读取的私钥对应的属性,并按照预设的验证码生成方式生成第一验证码,进一步地,获取与被随机读取的私钥对应的当前系统内核镜像文件的实际属性,并按照预设的验证码生成方式生成第二验证码。其中,验证码生成方式为将属性对应的变量转化为二进制数,进而,服务器端原始的系统内核镜像文件的属性对应第一验证码,当前系统内核镜像文件的实际属性对应第二验证码,由于私钥生成方式是开发者自定义的,第三方用户难以得到开发者的加密规则,进而也难获得相应的解密规则,并且验证码的生成规则第三方用户同样难以获得,那么第三方用户既难以直接破解被随机读取的私钥对应的属性及其对应的第一验证码,又难以仿造当前系统内核镜像文件的实际属性对应的第二验证码,进而进一步提高了嵌入式系统的安全性。
步骤S202:判断第一验证码和第二验证码是否相同。
具体地,上述步骤S202中,比较第一验证码和第二验证码,即在比较服务器端原始的系统内核镜像文件的属性和当前系统内核镜像文件的实际属性,如果相同可对应执行图1中步骤S104,不相同则执行图1中步骤S105。
可选地,若第一验证码与第二验证码不相同,可提示系统内核镜像文件已被篡改。提醒方式可为提示音提醒、弹窗提醒、振动提醒、提示灯闪烁中的至少一种或多种方式的组合。此外,在确定第一验证码与第二验证码不相同,退出当前启动阶段后还可进一步提供用户选择查找篡改项并进行自我修复,若修复成功则再次进入启动阶段,若修复失败则提醒用户申请开发者服务以获得专业的指导。
进一步地,系统内核镜像文件的属性包括创建时间、修改时间、文件大小、私有内容、权限中至少两种,私钥组中包含由系统内核镜像文件的其中一种属性生成的多个私钥以及由系统内核镜像文件的至少两种属性生成的多个私钥。系统内核镜像文件的属性选用的是随文件变化后而发生变化的属性,若当前的系统内核镜像文件在使用阶段被篡改后,那么当前的系统内核镜像文件的单种属性便发生变化,在下一次启动阶段能够及时发现,而将多种属性组合后再去生成对应的私钥,可进一步提高当前的系统内核镜像文件发生变化后被发现的概率。
请参阅图3,图3是本申请嵌入式系统安全启动方法另一实施方式的流程示意图,本实施例对应上述实施例的服务器端,该方法包括:
步骤S301:服务器端接收开发者上传的待下发的系统内核镜像文件。
具体地,上述步骤S301中,当需要对系统内核更新时,开发者在服务器端上传待下发的系统内核镜像文件,服务器端接收相应的系统内核镜像文件。
可选地,在步骤S301之前,开发者需要先登录服务器端并获取开发者权限,开发者需要正确的账号以及密钥才能登录服务器端,验证身份后才能获取开发者权限,以防止服务器端被私自上传被篡改的系统内核镜像文件。
步骤S302:根据系统内核镜像文件的至少一种属性以及预设的私钥生成方式生成多个私钥,且多个私钥形成私钥组。
具体地,上述步骤S302中,根据开发者上传的系统内核镜像文件中会随着文件本身变化而发生改变的文件属性,如:文件大小、创建时间、修改时间。根据这些属性中至少一种属性,按照开发者自定义的预设的私钥生成多个私钥,由私钥集合形成私钥组,服务器端将该私钥组存储或即时下发后删除。
步骤S303:将私钥组下发至设备端,以使设备端接收到启动信号后,能够从接收的私钥组中随机读取到一个私钥,并判断随机读取的私钥对应的系统内核镜像文件的属性与当前系统内核镜像文件的实际属性是否相同;若相同,则加载系统内核镜像文件;否则,不加载系统内核镜像文件。
具体地,上述步骤S303中,在设备端联网后并与服务器端数据交互时,将私钥组下发至设备端,以使设备端接收到启动信号后,能够从接收的私钥组中随机读取到一个私钥,由于随机读取的不确定性,当有第三方用户想入侵系统时,第三方用户难以准确获得私钥组中的私钥,并且,由于存在多个私钥,在设备端每次启动时都会进行随机读取私钥,以避免因为被破解一次便实现永久性破解的情况,进而增加了在启动阶段破解当前嵌入式系统的难度。而服务器端上传了原始的系统内核镜像文件,并且生成了私钥组,给设备端提供了判断设备端当前的系统内核镜像文件是否已被篡改的依据。其中具体判断过程和方法可参见上一实施例,在此不再赘述。
进一步地,上述步骤S302中,服务器端获取系统内核镜像文件的至少两种属性,属性包括创建时间、修改时间、文件大小、私有内容、权限,从获取的属性中选择一种或多种,按预设的私钥生成方式生成私钥组,其中,私钥组中包含由系统内核镜像文件的其中一种属性生成的多个私钥以及由系统内核镜像文件的至少两种属性生成的多个私钥。系统内核镜像文件的属性选用的是随文件变化后而发生变化的属性,若当前的系统内核镜像文件在使用阶段被篡改后,那么当前的系统内核镜像文件的单种属性便发生变化,在下一次启动阶段能够及时发现,而将多种属性组合后再去生成对应的私钥,可进一步提高当前的系统内核镜像文件发生变化后被发现的概率。
进一步地,服务器端将私钥组下发至设备端,需要响应于设备端处于联网升级的状态,服务器端向设备端下发私钥组,以使设备端将私钥组存储在设备端的加密卡上。当用户选择升级时,设备端下载服务器端的系统内核镜像文件,进而服务器端也就将私钥组下发至设备端,而设备端的私钥组存储在加密卡上可进一步提高嵌入式系统的安全性,以防私钥被第三方用户窃取。
在一具体应用场景中,私钥生成方式为服务器端的系统内核镜像文件的属性对应的变量设置统一的偏移量,进而使第三方用户即使获得私钥后也不能直接得到系统内核镜像文件的属性,私钥所组成的私钥组存储在服务器上,任一设备端选择联网升级时,服务器端将私钥组下发给相应的设备端。
在另一具体应用场景中,当某一设备端选择联网升级时,设备端先上传设备端存储的设备号,其中设备号中的数字以及字母按照ASCII码查找转换为二进制数,私钥生成方式为服务器端的系统内核镜像文件的属性对应的变量加上当前设备的设备号作为偏移量,私钥所组成的私钥组在服务器上生成后,在设备端联网升级时下发给当前的设备端,在升级完成后从服务器端删除,在该应用场景下,每一设备端对应着各自的私钥生成方式,服务器端不会存储已经更新的设备端的私钥组,也不存在未更新的设备端的私钥组。因此,即使第三方用户破解服务器端,也无法得到任一客户端的私钥组。
本实施例所提供的嵌入式系统安全启动方法,针对服务器端的原始的系统内核镜像文件,从随着文件本身变化而发生改变的文件属性中选择一种或两种属性按预设的私钥生成方式生成私钥组,在设备端联网升级时将私钥组下发给设备端,进而设备端在后续启动阶段能够通过随机读取私钥来判断设备端当前的系统内核镜像文件的实际属性,与原始的系统内核镜像文件属性相比是否有变化,当前的系统内核镜像文件是否已被篡改,以使设备端不加载被篡改的系统内核镜像文件,提高嵌入式系统的安全性。
请参阅图4,图4是本申请具有存储功能的装置一实施方式的结构示意图,其中,具有存储功能的装置10存储有程序数据100,程序数据100在被处理器执行时,用于实现上述任一实施例中嵌入式系统安全启动方法中的步骤,相关内容的详细说明请参见上述方法部分,在此不再赘叙。
具体地,具有存储功能的装置10可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,R andom Access Memory)、磁碟或者光盘等各种可以存储程序代码的装置。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (9)

1.一种嵌入式系统安全启动方法,其特征在于,所述安全启动方法包括:
响应于设备端启动信号,加载引导镜像文件;
通过所述引导镜像文件从私钥组中随机读取一个私钥;其中,所述私钥组中包含多个私钥,所述私钥根据系统内核镜像文件的至少一种属性按照预设的私钥生成方式生成;
判断被随机读取的所述私钥对应的所述系统内核镜像文件的属性与当前所述系统内核镜像文件的实际属性是否相同;
若相同,则加载所述系统内核镜像文件;否则,不加载所述系统内核镜像文件;
所述判断被随机读取的所述私钥对应的所述系统内核镜像文件的属性与当前所述系统内核镜像文件的实际属性是否相同,包括:
解密被随机读取的所述私钥并生成第一验证码,以及获取与所述被随机读取的所述私钥对应的当前所述系统内核镜像文件的实际属性,并生成第二验证码;判断所述第一验证码和所述第二验证码是否相同。
2.根据权利要求1所述的安全启动方法,其特征在于,所述响应于设备端启动信号,加载引导镜像文件之前,包括:
响应于所述设备端处于联网升级的状态,所述设备端接收服务器端下发的所述私钥组并存储至所述设备端的加密卡上。
3.根据权利要求1所述的安全启动方法,其特征在于,所述解密被随机读取的所述私钥并生成第一验证码,以及获取与所述被随机读取的所述私钥对应的当前所述系统内核镜像文件的实际属性,并生成第二验证码,包括:
根据所述预设的私钥生成方式对所述被随机读取的所述私钥进行逆推,获得所述被随机读取的所述私钥对应的属性,并按照预设的验证码生成方式生成所述第一验证码;
获取与所述被随机读取的所述私钥对应的当前所述系统内核镜像文件的实际属性,并按照预设的所述验证码生成方式生成所述第二验证码。
4.根据权利要求1所述的安全启动方法,其特征在于,若所述第一验证码与所述第二验证码不相同,所述安全启动方法还包括:提示所述系统内核镜像文件已被篡改。
5.根据权利要求1-4任一项所述的安全启动方法,其特征在于,
所述系统内核镜像文件的属性包括创建时间、修改时间、文件大小、私有内容、权限中至少两种;
所述私钥组中包含由所述系统内核镜像文件的其中一种属性生成的多个所述私钥以及由所述系统内核镜像文件的至少两种属性生成的多个所述私钥。
6.一种嵌入式系统安全启动方法,其特征在于,所述安全启动方法包括:
服务器端接收开发者上传的待下发的系统内核镜像文件;
根据所述系统内核镜像文件的至少一种属性以及预设的私钥生成方式生成多个私钥,且所述多个私钥形成私钥组;
将所述私钥组下发至设备端,以使所述设备端接收到启动信号后,能够从接收的所述私钥组中随机读取到一个私钥,并判断被随机读取的所述私钥对应的所述系统内核镜像文件的属性与当前所述系统内核镜像文件的实际属性是否相同;若相同,则加载所述系统内核镜像文件;否则,不加载所述系统内核镜像文件;
所述判断被随机读取的所述私钥对应的所述系统内核镜像文件的属性与当前所述系统内核镜像文件的实际属性是否相同,包括:
解密被随机读取的所述私钥并生成第一验证码,以及获取与所述被随机读取的所述私钥对应的当前所述系统内核镜像文件的实际属性,并生成第二验证码;判断所述第一验证码和所述第二验证码是否相同。
7.根据权利要求6所述的安全启动方法,其特征在于,所述根据所述系统内核镜像文件的至少一种属性以及预设的私钥生成方式生成多个私钥,且所述多个私钥形成私钥组,包括:
获取所述系统内核镜像文件的至少两种属性,所述属性包括创建时间、修改时间、文件大小、私有内容、权限;
从获取的所述属性中选择一种或多种,按所述预设的私钥生成方式生成私钥组,其中,所述私钥组中包含由所述系统内核镜像文件的其中一种属性生成的多个所述私钥以及由所述系统内核镜像文件的至少两种属性生成的多个所述私钥。
8.根据权利要求6所述的安全启动方法,其特征在于,所述将所述私钥组下发至设备端,包括:
响应于所述设备端处于联网升级的状态,所述服务器端向所述设备端下发所述私钥组,以使所述设备端将所述私钥组存储在所述设备端的加密卡上。
9.一种具有存储功能装置,其上存储有程序数据,其特征在于,
所述程序数据被处理器执行以用于实现如权利要求1-5任一项所述的方法,或用于实现如权利要求6-8任一项所述的方法。
CN202010356432.1A 2020-04-29 2020-04-29 一种嵌入式系统安全启动方法和具有存储功能的装置 Active CN111680298B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010356432.1A CN111680298B (zh) 2020-04-29 2020-04-29 一种嵌入式系统安全启动方法和具有存储功能的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010356432.1A CN111680298B (zh) 2020-04-29 2020-04-29 一种嵌入式系统安全启动方法和具有存储功能的装置

Publications (2)

Publication Number Publication Date
CN111680298A CN111680298A (zh) 2020-09-18
CN111680298B true CN111680298B (zh) 2023-10-27

Family

ID=72452357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010356432.1A Active CN111680298B (zh) 2020-04-29 2020-04-29 一种嵌入式系统安全启动方法和具有存储功能的装置

Country Status (1)

Country Link
CN (1) CN111680298B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955648A (zh) * 2014-05-15 2014-07-30 乐视致新电子科技(天津)有限公司 校验系统镜像合法性的方法及装置
CN104537302A (zh) * 2015-01-16 2015-04-22 宇龙计算机通信科技(深圳)有限公司 一种终端的安全启动方法、装置及终端
CN105373747A (zh) * 2015-12-09 2016-03-02 上海斐讯数据通信技术有限公司 防止系统被篡改的文件生成方法、文件验证方法及系统
CN105989306A (zh) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 操作系统的文件签名方法、文件校验方法及装置
CN106295318A (zh) * 2015-06-05 2017-01-04 北京壹人壹本信息科技有限公司 一种系统启动引导方法和装置
CN110502281A (zh) * 2019-07-19 2019-11-26 浙江万胜智能科技股份有限公司 一种嵌入式设备启动Linux内核和文件系统的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016073411A2 (en) * 2014-11-03 2016-05-12 Rubicon Labs, Inc. System and method for a renewable secure boot
US10664599B2 (en) * 2017-05-01 2020-05-26 International Business Machines Corporation Portable executable and non-portable executable boot file security
CN110389786B (zh) * 2018-04-20 2022-10-14 伊姆西Ip控股有限责任公司 内核管理方法、电子设备和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955648A (zh) * 2014-05-15 2014-07-30 乐视致新电子科技(天津)有限公司 校验系统镜像合法性的方法及装置
CN104537302A (zh) * 2015-01-16 2015-04-22 宇龙计算机通信科技(深圳)有限公司 一种终端的安全启动方法、装置及终端
CN105989306A (zh) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 操作系统的文件签名方法、文件校验方法及装置
CN106295318A (zh) * 2015-06-05 2017-01-04 北京壹人壹本信息科技有限公司 一种系统启动引导方法和装置
CN105373747A (zh) * 2015-12-09 2016-03-02 上海斐讯数据通信技术有限公司 防止系统被篡改的文件生成方法、文件验证方法及系统
CN110502281A (zh) * 2019-07-19 2019-11-26 浙江万胜智能科技股份有限公司 一种嵌入式设备启动Linux内核和文件系统的方法

Also Published As

Publication number Publication date
CN111680298A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
CN109684790B (zh) 软件启动方法、软件授权验证方法、设备和存储介质
CN107733847B (zh) 平台登录网站方法、装置、计算机设备以及可读存储介质
TWI484364B (zh) 啟動系統及方法
CN108683502B (zh) 一种数字签名验证方法、介质及设备
CN101432752B (zh) 可信平台现场升级系统和方法
JPH10282884A (ja) データ処理方法およびシステム
CN109240731B (zh) 一种TBox的安全升级方法和系统
JP4647942B2 (ja) ディジタル・データを認証する方法及び装置
CN111538517A (zh) 一种服务器固件升级方法、系统及电子设备和存储介质
CN115129332A (zh) 固件烧录方法、计算机设备及可读存储介质
CN111078245A (zh) 应用静默更新方法和装置
CN110781478A (zh) 临时授权Root实现调试的方法和装置
CN112699343A (zh) 一种软件完整性保护、校验的方法及装置
US20140230052A1 (en) System and method for testing a secured manufactured device
CN111680298B (zh) 一种嵌入式系统安全启动方法和具有存储功能的装置
CN111797038B (zh) 烧录控制方法、系统、装置、设备及计算机可读存储介质
CN110196741B (zh) 基本输入输出系统的设置方法、终端及计算机存储介质
CN103119559A (zh) 信息生成系统及其方法
CN111611015A (zh) 嵌入式固件及启动方法和存储设备
CN111211898A (zh) 电子设备控制权限的设置方法、电子设备及可读存储介质
CN114995894A (zh) 操作系统的启动控制方法、终端设备及可读存储介质
CN112732676A (zh) 基于区块链的数据迁移方法、装置、设备及存储介质
CN112363776A (zh) 一种终端控制方法、装置及终端
CN113051532A (zh) 软件授权方法与装置和计算机设备及存储介质
CN113282888B (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