一种SoC芯片固件升级的安全处理系统及方法技术方案

技术编号:26596642 阅读:28 留言:0更新日期:2020-12-04 21:18
本发明专利技术公开了一种SoC芯片固件升级的安全处理系统及方法,所述系统包括:安全访问控制模块,用于实现特殊存储区访问权限的获取,以及用于主存储区中各个区域的划分和边界的配置,各个区域访问密码的设置、各个区域的读写、擦除操作的控制和JTAG的开关控制;防出错防篡改检测模块,用于在使用BootLoader进行SoC芯片固件升级时,对用户固件程序的BIN文件进行正确性检测和版本号比对;身份合法性验证单元,用于对BIN文件进行身份合法性验证;数据传输加解密模块,用于对BIN文件在空中传输地过程中进行加解密处理;文件数据完整性验证单元,用于对BIN文件进行数据完整性验证。本发明专利技术解决了SoC芯片固件升级过程中各个阶段的数据安全问题。

【技术实现步骤摘要】
一种SoC芯片固件升级的安全处理系统及方法
本专利技术涉及SoC(SystemonChip)芯片固件升级技术、安全存储访问控制技术、数据传输加解密技术,尤其是一种SoC芯片固件升级过程中的防文件出错、防数据篡改技术和文件数据安全检测技术等安全处理机制及方法。
技术介绍
嵌入式系统中BootLoader是在用户程序运行之前执行的一段程序。通过这段程序,可以初始化硬件设备、建立内存映射,从而将系统的软硬件环境带入到一个合适的状态。BootLoader的主要作用分为两种,一是加载和引导用户程序运行,此过程需要拷贝用户程序和相关数据到RAM中,使系统进入到用户工作状态,然后跳转到某个固定地址上引导执行用户程序;二是下载用户固件代码完成用户程序的升级,此过程需要SoC芯片通过某个硬件接口与主机端上位机进行通信和命令交互,并下载用户固件数据到用户指定的FLASH地址中,实现升级功能。目前很多嵌入式产品投入市场应用并进行部署后,后续功能扩展或变更时会涉及到在应用现场进行程序的升级。一般情况下,出厂前SoC芯片的用户程序升级方案是使用仿真器直接烧录程序本文档来自技高网...

【技术保护点】
1.一种SoC芯片固件升级的安全处理系统,其特征在于,包括:基于芯片FLASH存储器的安全访问控制模块、防出错防篡改检测模块、数据传输加解密模块和文件数据安全检测模块;所述文件数据安全检测模块包括身份合法性验证单元和文件数据完整性验证单元;/n所述FLASH存储器包括主存储区和特殊存储区;/n所述安全访问控制模块,用于实现特殊存储区访问权限的获取,以及用于主存储区中各个区域的划分和边界的配置,各个区域访问密码的设置、各个区域的读写、擦除操作的控制和JTAG的开关控制;/n所述防出错防篡改检测模块,用于在使用BootLoader进行SoC芯片固件升级时,对用户固件程序的BIN文件进行正确性检测和...

【技术特征摘要】
1.一种SoC芯片固件升级的安全处理系统,其特征在于,包括:基于芯片FLASH存储器的安全访问控制模块、防出错防篡改检测模块、数据传输加解密模块和文件数据安全检测模块;所述文件数据安全检测模块包括身份合法性验证单元和文件数据完整性验证单元;
所述FLASH存储器包括主存储区和特殊存储区;
所述安全访问控制模块,用于实现特殊存储区访问权限的获取,以及用于主存储区中各个区域的划分和边界的配置,各个区域访问密码的设置、各个区域的读写、擦除操作的控制和JTAG的开关控制;
所述防出错防篡改检测模块,用于在使用BootLoader进行SoC芯片固件升级时,对用户固件程序的BIN文件进行正确性检测和版本号比对;
所述身份合法性验证单元,用于对用户固件程序的BIN文件进行身份合法性验证;
所述数据传输加解密模块,用于对用户固件程序的BIN文件在空中传输的过程中进行加解密处理;
所述文件数据完整性验证单元,用于对用户固件程序的BIN文件进行数据完整性验证。


2.根据权利要求1所述的SoC芯片固件升级的安全处理系统,其特征在于,所述FLASH存储器中:
主存储区,即MAR区,划分为BOOT区、COS区和USR区;用户对主存储区中各个区域的划分和边界的配置,各个区域访问密码的设置、各个区域的读写、擦除操作的控制和JTAG的开关控制这些操作均受特殊存储区中的访问权限控制;
特殊存储区,也即SPB区,其中存储了SoC芯片的出厂配置数据和对主存储区进行安全控制的表项信息;所述表项信息包括JTAG开关控制信息、各个区域的边界、各个区域的访问密码、各个区域的访问控制开关、各个区域的当前密码匹配失败的次数、各个区域允许的最大密码匹配失败的次数。


3.根据权利要求2所述的SoC芯片固件升级的安全处理系统,其特征在于,所述安全访问控制模块具有两级安全访问控制,包括:
第一级为获取SPB区中各个区域进行安全控制的表项信息的访问权限;FLASH存储器的寄存器中映射了一份SPB区的安全控制表项信息,即专门为SPB区设计的一组非易失性寄存器组,同时寄存器中还针对BOOT区、COS区和USR区各提供了一个易失性寄存器,作为各个区域的访问密码;当SPB区中各个区域的访问密码与FLASH存储器的寄存器中各个区域对应的易失性寄存器中的访问密码相同时,才能获得读写SPB区安全控制表项信息的权限;
第二级为配置各个区域的边界,配置各个区域的访问控制开关和密码失败次数;当SPB区中对应的某个区域的访问控制开关开启时,允许读写和擦除MAR区中对应区域的地址空间;当访问控制开关关闭时,则锁定MAR区中的对应区域,禁止擦除和写操作。


4.根据权利要求3所述的SoC芯片固件升级的安全处理系统,其特征在于,所述防出错防篡改检测模块对用户固件程序的BIN文件进行正确性检测和版本比对,包括:
在FLASH存储器中的某个地址处固化一块特定区域,修改用于SoC芯片启动初始化的汇编文件和链接文件,使得该特定区域地址可以以独立字段的形式编译进SoC芯片的用户固件程序的BIN文件中,然后在该特定区域中写入用户自定义的一组特殊标记和当前SoC芯片的用户固件程序的版本号;同时,修改BootLoader代码中引导启动时的用户固件程序跳转入口地址,使得SoC芯片的用户固件程序在运行时跳过这段特定区域地址;
在使用BootLoader进行SoC芯片固件升级时,上位机首先读取用来升级的BIN文件中特定区域的特殊标记,如果与提供该BIN文件的来源处告知的编译时写入的特殊标记不同,则表明当前用来升级的BIN文件出错,上位机退出升级流程;若特殊标记验证相同后,则读取BIN文件中的版本号,上位机通过命令传递到SoC芯片并与SoC芯片当前运行的用户固件程序版本号进...

【专利技术属性】
技术研发人员:马资道魏贵鹏谢演
申请(专利权)人:成都三零嘉微电子有限公司
类型:发明
国别省市:四川;51

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

1