目录
陌生的存储器
传统安全领域的工程师刚开始接触车联网安全的时候,会遇到一些“常识性”的壁垒,其中之一就是各种类型的存储器。当我们和BSP工程师沟通安全启动的时候,我们需要确认启动的过程,接着在此基础上构建安全启动的验签逻辑。而启动的过程,基本上就是CPU从一个存储器的指定地址开始执行,然后将存储在其他存储器上的下一阶段代码搬运到内存中执行。而其中让新入行的安全工程师费解的问题,就是各种类型的存储介质的使用场景。为什么在NOR Flash可以用来存储芯片的初始化代码,为什么嵌入式linux系统的固件一般存储在emmc上,为什么很少使用NAND Flash存储代码等等。
对于传统安全领域的工程师来说,接触存储器的陌生感是可以理解的。因为车联网涉及的范围实际上是十分广泛的,从硬件到软件,再到无线安全,车联网安全涵盖了安全领域的方方面面。而我们很多传统领域的工程师的工作经验基本上都局限在其中的一个方面。因此,车联网安全为我们扩展能力圈提供了很好的机会。
两种类型的Flash
Flash用途与EEPROM相似,但成本远低于EEPROM。EEPROM由浮栅晶体管阵列组成,Falsh则可以看作RAM的反义词(即Flash为非易失性存储介质)。从实现原理来分类,Flash主要有两种:
- Nor Flash
- NAND Flash
NAND Flash原理介绍
NAND Flash使用与非门实现(NAND即与非的意思)