一、背景 NXP宣布推出i.MX RT系列处理器,内核基于 Arm-Cortex M7,运行主频高达600MHz,3020的coremark跑分,令人咋舌。i.MX RT1020/1050/1060系列MCU没有片内FLASH,从而可以让用户根据实际需要灵活搭配不同容量、不同厂家的外置FLASH 存储器。飞凌嵌入式刚刚发布的OK1061-S、OK1052-C采用的是4MB/16MB串行NorFlash,QSPI接口。使用外置FLASH的方案,也不用担心里面的程序有被窃取的风险,这些问题,NXP在设计芯片之初,都已经考虑在内。下面我们来了解一下,如何给外置Falsh进行加密。 二、我们来介绍一下Flash加密的几种方法: 1、HAB(High-Assurance Boot)签名认证 这种模式,并不是对Falsh中的image进行加密,而是对烧写到Flash中的image进行合法性认证,检测image是否被恶意破坏或篡改,如果检测到image未经授权,即不合法,则MCU便不会执行该image。 我们使用非对称加密来实现HAB功能。加密工具会生成私钥和相应的公钥对。然后私钥用于加密我们想要发布的镜像,此加密为镜像生成唯一标识符,称为证书。公钥也附加到镜像上。在程序启动时,公钥用于解密证书。用于检查比较证书和镜像是否匹配。只有当证书和镜像匹配时,镜像才被视为“受信任”。否则,镜像被视为“不安全”,不允许加载和运行。此过程称为身份验证。黑客只能访问公钥,根据非对称加密的属性,私钥不能从中推断出来。如果没有私钥,黑客就无法为其恶意镜像附加有效证书。我们将公钥的摘要值(哈希)烧录到RT芯片的eFuses。一旦烧写,就无法修改。这可以防止黑客使用另一对私钥和公钥作弊的可能性。 原文链接:https://www.yunduoketang.com/article/peixunzhibopingtai3.html
|