本申请涉及信息安全,具体涉及一种mcu的安全启动方法、系统、装置、芯片及电子设备。
背景技术:
1、随着自动驾驶技术的快速发展,汽车行业对芯片的安全性的要求也越来越高,越来越多的mcu(microcontroller unit,微控制单元)芯片开始集成了hsm(hardwaresecurity module,硬件安全模块)。并且出于数据安全的考虑,通过otp(one timeprogrammable,一次性存储)等方法将mcu与hsm配置成硬隔离的状态,即hsm和mcu只能通过ipc(inter process communication,进程间通信单元)或共享内存进行通信。hsm的启动代码数据、应用代码数据独占一块flash。在mcu的启动过程中,如果hsm的app代码数据烧录失败或者烧入的版本的校验信息错误,hsm app数据验证失败,使能hsm之后重启mcu,mcu由于hsm的校验功能失败,从而会锁死mcu,导致mcu无法恢复,芯片报废,增加硬件成本,需要重新更换mcu,并进行数据烧录,进一步增加生产成本。
技术实现思路
1、鉴于以上问题,本申请实施例提供一种mcu的安全启动方法、系统、装置、芯片及电子设备,以解决上述技术问题。
2、第一方面,本申请实施例提供一种mcu的安全启动方法,所述mcu中集成有主机处理器和硬件安全模块,所述方法包括:硬件安全模块响应于主机处理器发送的重启请求,获取记录的验证失败次数;当所述验证失败次数满足预设次数要求时,所述硬件安全模块向所述主机处理器发送代码数据刷写请求,根据所述主机处理器基于所述代码数据刷写请求返回的基准启动代码数据对预存的启动代码数据进行更新;基于更新后的启动代码数据进行mcu启动;在mcu安全启动中,当启动代码数据验证失败时,如果检测到启动代码数据的校验失败次数满足预设次数要求时,硬件安全模块向主机处理器发起启动代码数据的在线刷写请求,并基于基准启动代码数据进行启动代码数据的刷写,如此可以防止由于启动代码数据的校验失败而导致mcu被锁死而导致mcu报废的问题,从而降低硬件成本。
3、第二方面,本申请实施例提供一种mcu的安全启动系统,所述mcu的安全启动系统包括主机处理器和硬件安全模块,所述主机处理器与所述硬件安全模块之间连接;
4、所述主机处理器,用于向所述硬件安全模块发送重启请求;
5、所述硬件安全模块,用于响应于主机处理器发送的重启请求,获取记录的验证失败次数,当所述验证失败次数满足预设次数要求时,向所述主机处理器发送代码数据刷写请求;
6、所述主机处理器,用于响应所述代码数据刷写请求,发送基准启动代码数据至所述硬件安全模块;
7、所述硬件安全模块,用于基于所述代码数据刷写请求返回的基准启动代码数据对预存的启动代码数据进行更新;
8、所述mcu,用于基于更新后的启动代码数据进行mcu启动。
9、第三方面,本申请实施例提供一种mcu的安全启动装置,所述mcu中集成有主机处理器和硬件安全模块,所述装置包括:
10、次数获取模块,用于所述硬件安全模块触发重启事件时,获取记录的验证失败次数;
11、代码刷写模块,用于当所述验证失败次数满足预设次数要求时,基于所述主机处理器中的基准启动代码数据对所述硬件安全模块中预存的启动代码数据进行更新;
12、启动控制模块,用于基于更新后的启动代码数据进行mcu启动。
13、第三方面,本申请实施例还提供一种芯片,包括上述的mcu的安全启动方法,或者包括上述的mcu的安全启动系统,或者包括上述的mcu的安全启动装置。
14、第四方面,本申请实施例还提供一种电子设备,包括上述的mcu的安全启动方法,或者包括上述的mcu的安全启动系统,或者包括上述的mcu的安全启动
15、本申请实施例提供的mcu的安全启动方法、系统、装置、芯片及电子设备,能够解决由于启动代码数据的校验失败而导致mcu被锁死而引起mcu报废的问题,在mcu安全启动中,当启动代码数据验证失败时,如果检测到启动代码数据的校验失败次数满足预设次数要求时,硬件安全模块向主机处理器发起启动代码数据的在线刷写请求,并基于基准启动代码数据进行启动代码数据的刷写,如此可以防止由于启动代码数据的校验失败而导致mcu被锁死而导致mcu报废的问题,从而降低硬件成本。
16、本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
1.一种mcu的安全启动方法,所述mcu中集成有主机处理器和硬件安全模块,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述主机处理器基于所述代码数据刷写请求返回的基准启动代码数据对预存的启动代码数据进行更新,包括:
3.根据权利要求2所述的方法,其特征在于,所述硬件安全模块将所述基准启动代码数据写入所述启动代码数据所在的存储地址,对所述启动代码数据进行更新之前,所述方法包括:
4.根据权利要求3所述的方法,其特征在于,所述硬件安全模块基于收到的验证信息对所述基准启动代码数据进行安全验证之后,所述方法包括:
5.根据权利要求1所述的方法,其特征在于,所述硬件安全模块执行重启事件,获取记录的验证失败次数之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述mcu中设置有所述硬件安全模块的hsm存储区域,所述hsm存储区域用于存储所述硬件安全模块的启动代码数据;
7.根据权利要求6所述的方法,其特征在于,所述基于所述启动代码数据生成第一计算校验码,包括:
8.根据权利要求5所述的方法,其特征在于,所述硬件安全模块响应于主机处理器发送的启动请求,对预存的启动代码数据进行数据验证之后,所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,所述基于更新后的启动代码数据进行mcu启动,包括:
10.一种mcu的安全启动系统,其特征在于,所述mcu的安全启动系统包括主机处理器和硬件安全模块,所述主机处理器与所述硬件安全模块之间连接;
11.一种mcu的安全启动装置,其特征在于,所述mcu中集成有主机处理器和硬件安全模块,所述装置包括:
12.一种芯片,其特征在于,所述芯片包括上述权利要求1~9任一项所述的mcu的安全启动方法,或者包括权利要求10所述的mcu的安全启动系统,或者包括权利要求11所述的mcu的安全启动装置。
13.一种电子设备,其特征在于,所述电子设备包括上述权利要求1~9任一项所述的mcu的安全启动方法,或者包括权利要求10所述的mcu的安全启动系统,或者包括权利要求11所述的mcu的安全启动装置,或者包括权利要求12所述的芯片。