芯泽芯
销售服务热线

13534090549

芯泽芯

OM结合存储孤岛加密技术 泰矽微MCU芯片安全保护方案

2022-06-27

  
  目前,业界普遍采用带有动态口令(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芯片,从而达到防止非法分子盗取或者破解程序的目的。