历史上的今天
今天是:2024年11月19日(星期二)
2021年11月19日 | ROM结合了存储孤岛加密技术 泰矽微MCU芯片安全保护方案
2021-11-19 来源:爱集微
目前,业界普遍采用带有动态口令(OTP)的只读内存镜像(ROM)来开发一些对于安全要求比较高的启动升级代码逻辑。
该方案会在流片时一次性烧写进去,能够避免用户对MCU的启动升级逻辑进行改动,从而从源头上隐藏一些安全校验或者升级交互的逻辑实现,起到保护MCU芯片程序不被恶意篡改升级的作用。
但是采用这种方法制备的MCU芯片,在整个生命周期中只能被烧写一次。而在实际的芯片开发过程中,开发人员几乎不可能一次性将芯片中所有的需求都考虑周全,往往随着芯片的量产应用,还需要逐步的升级。
当原有的烧写好的代码逻辑已经被固化时,就无法对MCU芯片内容进行修改以及进一步升级,并且固化的代码逻辑已经被固定,也有泄密的风险。为此,泰矽微在2020年6月30日申请了一项名为“一种利用ROM结合存储孤岛实现MCU芯片安全的方法”的发明专利(申请号:202010606503.9),申请人为上海泰矽微电子有限公司。
根据该专利目前公开的相关资料,让我们一起来看看这项技术方案吧。

如上图,为该专利中发明的利用传统ROM结合存储孤岛实现MCU芯片安全方法的逻辑流程图,该MCU模块主要包括存储孤岛单元和ROM启动单元。首先,需要在系统中写入安全程序,并通过私钥对安全程序进行加密,其次,存储孤岛单元对私钥加密后的安全程序进行存储。
之后,ROM启动单元响应外界启动信号并将公钥与私钥加密后的安全程序进行配对,如果配对成功,则ROM启动单元读取安全程序,进而ROM启动单元启动。若配对不成功,则ROM启动单元不能读取安全程序,则ROM启动单元不能启动。
在上述系统模块中,通过在MCU模块中设置存储孤岛单元,能够利用烧录模块对存储孤岛单元的内容进行录入、升级和更换等,解决了传统的单纯只使用ROM时无法二次扩展的缺陷。并且还对烧录模块传递给存储孤岛单元的内容进行RSA非对称加密处理。
该系统主要利用云端服务模块对内容进行私钥加密,当传递给存储孤岛单元后,只能通过用户使用正确的公钥对加密内容进行解密,解密后ROM启动单元才能读取到存储孤岛单元中的内容,进而MCU芯片能够正常启动。这样能够防止非法分子盗取或者破解程序,从根源上杜绝了这类不法行为的滋生。

下面我们再来看看其中云端服务模块的示意图,如上图所示,云端服务模块用于保存私钥,并且云端服务模块利用私钥对安全程序进行加密形成密文。
用户在PC端通过IDE编译出明文,然后将明文传递给云端服务器,云端服务器根据特定的芯片选取不同的秘钥,再利用秘钥对明文进行加密形成密文。
之后,密文会被传递给烧录模块,而并不对秘钥进行传递。云端服务模块可以对秘钥进行管理,只要密钥未泄露,不法分子即使拿到公钥也无法对密文进行破解,破解程序就无法正常运行,进一步保障了软件研发人员的权益。
以上就是泰矽微发明的利用ROM结合存储孤岛实现MCU芯片安全的方案,该方案利用加密技术以及云端存储技术,只有解密ROM启动单元才能读取到存储孤岛单元中的内容,进而正常启动MCU芯片,从而达到防止非法分子盗取或者破解程序的目的。
史海拾趣
|
百度的答案,还请大家深入说说: RFIC是RF System 里的Block做成IC ,,基本上成品就是IC ; 而RFID是Radio-frequency identification 是一个系统,有特定的规范。 二者是否有确定的包含与被包含的关系呢?… 查看全部问答> |
|
I2C_IOControl 传一个数组出来,老不成功,郁闷死了 BOOL I2C_IOControl( DWORD context, DWORD code, BYTE *pInBuffer, DWORD inSize, BYTE *pOutBuffer, DWORD outSize, DWORD *pOutSize ) 里面定义了一个BYTE *str;然后给他空间,也 ...… 查看全部问答> |
|
访问允许异常(section permission fault) Hi,Dear all, 我在使用Hms30c7202过程中遇到一个难题,我使用的内核是2.6.13.4,大多数能够正常启动运行,个别出现不能启动情况。打印DEBUG信息,非正常设备启动失败,打印: Kernel panic - not syncing: No init found. Try passi ...… 查看全部问答> |
|
安装CE6的SP1出错toolMsmCA(Error):Setup package issue or CoreCon。。。 安装CE6的SP1是出错 “ToolMsmCA(Error):Setup package issue or CoreCon DataStore corrupted:CDeviceSDKInstallShin Add/Remove failed.HR=0x80004005. 我之前装了VS2005。 这几天才装这个,不知怎么出错,安装进度停在Installing the Gene ...… 查看全部问答> |
|
各位,最近在开发一个驱动的时候需要检测内存泄漏,于是自己重载了new/delete,在win32下测了一下没问题,于是决定将其加入到当前的驱动下。可是,问题来了,总是出现LNK2005的错误,我查了一下这个错,应该是连接顺序的问题,出错信息显示在DDK中 ...… 查看全部问答> |
|
近来老板搞了点垃圾产品,在生产时用的是BSOB,但第二点不是翘线就是打不上,很多参数都用过了,不知还有哪里没想到的。求教怎样可以使ASM eagle60 W/B 的BSOB达到最佳。… 查看全部问答> |




