一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

固件启动方法及装置、计算机可读存储介质与流程

2022-04-06 19:42:10 来源:中国专利 TAG:


1.本发明涉及片上系统技术领域,尤其涉及一种固件启动方法及装置、计算机可读存储介质。


背景技术:

2.在复杂的片上系统(system on chip,soc)中,除了通用的应用处理器之外,还可以集成有多个独立中央处理器(central processing unit,cpu)的子系统,例如蓝牙子系统、wifi子系统、audio子系统、ai子系统、包含调制解调器(modem)的arm子系统等。集成的子系统通常与应用处理器对应的应用子系统复用内存和外部存储器,集成的子系统的启动依赖于应用子系统来进行固件的加载和校验。
3.应用子系统可以包括富执行环境(rich execution environment,ree)以及可信执行环境(trusted execution environment,tee)。ree通常运行复杂业务,外部存储器通常由ree子系统进行访问。ree在外部存储器分区加载了某个集成的子系统的固件之后,通常会对该固件进行完整性校验,之后再启动相应的子系统。
4.现有技术中,通常采用链式校验方法,对集成的子系统进行校验。集成的子系统在ree启动后才会进行加载和校验。然而,ree在对某个集成的子系统的固件签名和版本号等进行校验和检查之后,固件仍可能会被恶意篡改。


技术实现要素:

5.本发明实例解决的是如何避免加载和运行的固件被篡改的技术问题。
6.为解决上述技术问题,本发明实施例提供一种固件启动方法,包括:接收富执行环境发送的第一命令;根据所述第一命令,限制目标子系统的运行并放开与所述第一命令对应的目标存储空间的操作权限;接收富执行环境发送的第二命令;所述第二命令用于表征所述富执行环境完成目标固件的加载;禁止所述富执行环境对所述目标存储空间的访问操作,并验证所述目标固件的合法性;当验证所述目标固件合法时,配置所述目标子系统的访问权限并启动所述目标子系统。
7.可选的,验证所述目标固件的合法性,包括:对所述目标固件的签名进行校验,对所述目标固件的版本号进行检查,并验证所述目标固件加载的地址空间的合法性。
8.可选的,在启动所述目标子系统之后,还包括:向所述富执行环境输出反馈结果,所述反馈结果用于表征所述目标子系统被启动。
9.可选的,所述第一命令是所述富执行环境在第一次启动或静默重启所述目标子系统后生成的。
10.为解决上述技术问题,本发明实施例还提供了一种固件启动装置,包括:第一接收单元,用于接收富执行环境发送的第一命令;获取单元,用于根据所述第一命令,限制目标子系统的运行并放开与所述第一命令对应的目标存储空间的操作权限;第二接收单元,用于接收富执行环境发送的第二命令;所述第二命令用于表征所述富执行环境完成目标固件
的加载;控制单元,用于禁止所述富执行环境对所述目标存储空间的访问操作;验证单元,用于验证所述目标固件的合法性;配置启动单元,用于当所述验证单元验证所述目标固件合法时,配置所述目标子系统的访问权限并启动所述目标子系统。
11.可选的,所述验证单元,用于对所述目标固件的签名进行校验,对所述目标固件的版本号进行检查,并验证所述目标固件加载的地址空间的合法性。
12.可选的,所述固件启动装置还包括:反馈单元,用于在所述配置启动单元启动所述目标子系统之后,向所述富执行环境输出反馈结果,所述反馈结果用于表征所述目标子系统被启动。
13.可选的,所述第一命令是所述富执行环境在第一次启动或静默重启所述目标子系统后生成的。
14.本发明实例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种所述的固件启动方法的步骤。
15.本发明实例还提供了另一种固件启动装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种所述的固件启动方法的步骤。
16.与现有技术相比,本发明实施例的技术方案具有以下有益效果:
17.当富执行环境完成目标固件的加载之后,禁止富执行环境对目标存储空间的访问操作,并验证目标固件的合法性。在验证目标固件合法时,配置目标子系统的访问权限并启动目标子系统。在完成目标固件的加载之后,通过禁止富执行环境对目标存储空间的访问操作,可以避免对目标固件的恶意篡改。通过对目标固件的合法性进行验证,确保所运行的目标子系统为合法的目标子系统。由此,可以提高目标子系统的数据安全性。
附图说明
18.图1是本发明实施例中的一种固件启动方法的流程图;
19.图2是本发明实施例中的一种固件启动方法的信令图;
20.图3是本发明实施例中的一种固件启动装置的结构示意图。
具体实施方式
21.现有技术中,通常采用链式校验方法,对集成的子系统进行校验。集成的子系统在ree启动后才会进行加载和校验。然而,ree在对某个集成的子系统的固件签名和版本号等进行校验之后,固件仍可能会被恶意篡改,固件的数据安全性较差。
22.在本发明实施例中,在完成目标固件的加载之后,通过禁止富执行环境对目标存储空间的访问操作,可以避免对目标固件的恶意篡改。通过对目标固件的合法性进行验证,确保所运行的目标子系统为合法的目标子系统。由此,可以提高目标子系统的数据安全性。
23.为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
24.本发明实施例提供了一种固件启动方法,参照图1,以下通过具体步骤进行详细说明。
25.在本发明实施例中,下述步骤s101~步骤s105所提供的固件启动方法可以由用户设备中的应用处理器执行,或者由用户设备中包含应用处理器的芯片模组所执行。
26.步骤s101,接收富执行环境发送的第一命令。
27.在实际应用中可知,应用子系统可以包括富执行环境(rich execution environment,ree)以及可信执行环境(trusted execution environment,tee)。ree通常运行复杂业务,外部存储器通常由ree进行访问。
28.在具体实施中,在满足一定的触发条件时,富执行环境可以生成第一命令并发送至可信执行环境。
29.在本发明实施例中,当富执行环境在第一次启动目标子系统时,可以生成第一命令并发送至可信执行环境。或者,当富执行环境在静默重启目标子系统时,可以生成第一命令并发送至可执行环境。或者,当富执行环境在重启目标子系统时,可以生成第一命令并发送至可执行环境。
30.在本发明一实施例中,当目标子系统发生异常时,soc系统可以根据实际情况重新加载目标子系统,并再次对目标子系统进行校验和启动,实现对目标子系统的静默重启。
31.需要说明的是,本发明下述实施例中所述的目标子系统,如无特殊声明,则可以均是指除应用子系统之外的其他集成子系统,如蓝牙子系统、wifi子系统、audio子系统、ai子系统、包含调制解调器(modem)的arm子系统等。
32.步骤s102,根据所述第一命令,限制目标子系统的运行并放开目标存储空间的操作权限。
33.在具体实施中,富执行环境发送的第一命令可以用于通知可信执行环境限制目标子系统的运行,以及目标存储空间的操作权限。可信执行环境在接收到第一命令之后,即可限制目标子系统的运行,并放开目标存储空间的操作权限。
34.可信执行环境在接收到第一命令后,可以放开第一命令对应的目标存储空间的操作权限。在目标存储空间的操作权限放开后,富执行环境可以将固件加载到目标存储空间。
35.在本发明实施例中,第一命令可以与目标业务相关。换而言之,根据不同的目标业务,可以生成与之一一对应的第一命令。不同的目标业务对应的目标子系统不同,对应的目标存储空间也可能不同。
36.例如,目标业务为调制解调业务,则调制解调业务对应的目标子系统为modem子系统。当可信执行环境接收到第一命令后,即可限制modem子系统的运行,并放开modem子系统对应的目标存储空间的操作权限。
37.步骤s103,接收富执行环境发送的第二命令。
38.在具体实施中,富执行环境可以从外部存储器加载目标固件。富执行环境在完成目标固件的加载之后,可以生成第二命令并将第二命令输出至可信执行环境。可信执行环境在接收到第二命令后,即可获知富执行环境完成目标固件的加载。
39.步骤s104,禁止所述富执行环境对所述目标存储空间的访问操作,并验证所述目标固件的合法性。
40.在具体实施中,可信执行环境在获知富执行环境完成目标固件的加载之后,可以先禁止富执行环境对目标存储空间的访问操作,然后,验证目标固件的合法性。
41.在本发明实施例中,可信执行环境禁止富执行环境对目标存储空间的访问操作,
富执行环境无法对目标存储空间进行访问,可以有效避免他人通过富执行环境对目标存储空间的数据进行恶意篡改。
42.在本发明实施例中,在验证目标固件的合法性的过程中,可以先对目标固件的签名进行校验,对目标固件的版本号进行检查,并验证目标固件加载的地址空间的合法性。
43.步骤s105,当验证所述目标固件合法时,配置所述目标子系统的访问权限并启动所述目标子系统。
44.在具体实施中,在验证目标固件为合法性的固件之后,可信执行环境可以配置目标子系统的访问权限,并启动目标子系统。在启动目标子系统之后,可信执行环境可以向富执行环境输出反馈结果,反馈结果用于表征目标子系统被启动。富执行环境在接收到反馈结果后,即可获知目标子系统被启动。
45.若验证目标固件为非法的固件,则无需启动该目标固件。可信执行环境可以生成提醒消息,以告知用户设备当前加载的目标固件非法。
46.由此可见,在完成目标固件的加载之后,通过禁止富执行环境对目标存储空间的访问操作,可以避免对目标固件的恶意篡改。通过对目标固件的合法性进行验证,确保所运行的目标子系统为合法的目标子系统。由此,可以提高目标子系统的数据安全性。
47.参照图2,给出了本发明实施例中的一种固件启动方法的信令图。以下通过具体步骤进行详细说明。
48.步骤s201,ree发送第一命令。
49.在本发明实施例中,当富执行环境在第一次启动目标子系统时,可以生成第一命令并发送至可信执行环境。或者,当富执行环境在静默重启目标子系统时,可以生成第一命令并发送至可执行环境。或者,当富执行环境在重启目标子系统时,可以生成第一命令并发送至可执行环境。
50.步骤s202,tee限制目标子系统的运行并放开目标存储空间的操作权限。
51.在本发明实施例中,可信执行环境在接收到第一命令之后,即可限制目标子系统的运行,并放开目标存储空间的操作权限。
52.步骤s203,ree加载目标固件到内存。
53.步骤s204,ree发送第二命令。
54.在具体实施中,富执行环境可以从外部存储器加载目标固件。富执行环境在完成目标固件的加载之后,可以生成第二命令并将第二命令输出至可信执行环境。
55.步骤s205,tee禁止富执行环境对目标存储空间的访问操作,并验证目标固件的合法性。
56.在本发明实施例中,可信执行环境禁止富执行环境对目标存储空间的访问操作,富执行环境无法对目标存储空间进行访问,可以有效避免他人通过富执行环境对目标存储空间的数据进行恶意篡改。
57.在本发明实施例中,在验证目标固件的合法性的过程中,可以先对目标固件的签名进行校验,对目标固件的版本号进行检查,并验证目标固件加载的地址空间的合法性。
58.步骤s206,tee发送反馈结果。
59.在启动目标子系统之后,可信执行环境可以向富执行环境输出反馈结果,反馈结果用于表征目标子系统被启动。
60.参照图3,本发明实施例还提供了一种固件启动装置30,包括:第一接收单元301、获取单元302、第二接收单元303、控制单元304、验证单元305以及配置启动单元306,其中:
61.第一接收单元301,用于接收富执行环境发送的第一命令;
62.获取单元302,用于根据所述第一命令,限制目标子系统的运行并放开与所述第一命令对应的目标存储空间的操作权限;
63.第二接收单元303,用于接收富执行环境发送的第二命令;所述第二命令用于表征所述富执行环境完成目标固件的加载;
64.控制单元304,用于禁止所述富执行环境对所述目标存储空间的访问操作;
65.验证单元305,用于验证所述目标固件的合法性;
66.配置启动单元306,用于当所述验证单元305验证所述目标固件合法时,配置所述目标子系统的访问权限并启动所述目标子系统。
67.在具体实施中,所述验证单元305,可以用于对所述目标固件的签名进行校验,对所述目标固件的版本号进行检查,并验证所述目标固件加载的地址空间的合法性。
68.在具体实施中,所述固件启动装置30还可以包括:反馈单元(图3中未示出),用于在所述配置启动单元306启动所述目标子系统之后,向所述富执行环境输出反馈结果,所述反馈结果用于表征所述目标子系统被启动。
69.在具体实施中,所述第一命令是所述富执行环境在第一次启动或静默重启所述目标子系统后生成的。
70.在具体实施中,上述的固件启动装置30可以对应于用户设备中的应用处理器;或者对应于用户设备中包括应用处理器的芯片模组,或者对应于用户设备。
71.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一实施例提供的固件启动方法的步骤。
72.本发明实施例还提供了另一种固件启动装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一实施例提供的固件启动方法的步骤。
73.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指示相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。
74.虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献