「电子工程世界TB」技术文章——互联环境中的安全存储器( 二 )
国际标准文档NISTSP800-56C介绍了在CDI计算中使用的可接受的加密单向函数 。 唯一器件密钥用于0层CDI计算 。 0层CDI验证将计算值与NOR制造商提供的存储在片上的预期值进行比较 。
在确认CPUSS闪存有效后 , 代码执行就从ROM启动代码传递到(0层)CPUSS闪存器件启动代码 。 接下来 , NOR器件将验证由系统制造商编程到用户阵列中的系统级启动代码 。 测得的系统级启动代码值将被用于与器件配置过程中存储在片上的预期值进行比较 。 这两步验证发生在闪存器件运行其PoR序列的过程中 , 在可供主机MCU访问之前 。 请注意 , 在整个启动过程中 , 务必确保CDI值不被暴露给更高层的代码 , 当然还有恶意行为者 。
文章图片
图4-安全软件分层
在完成闪存器件PoR序列的执行后 , 系统级启动代码将会暴露给主机MCU供其执行 。 在确认系统级启动代码的真实性后 , 系统启动流程能够继续运行 。 分层验证策略还能继续执行 , 方便主机CPU对每个新软件层的验证工作进行管理 。
图4描绘了从闪存启动代码到用户应用的线性推进过程 。 实际情况很可能复杂得多 , 尤其是在程序控制权被移交给操作系统后 。 请注意 , 一旦系统级启动代码取得程序控制权 , 每个后续层的证实值都能够与本地值(存储在闪存器件中)进行比较 , 或更理想的话 , 还能够与远程驻留(可能是云服务器)值进行比较 。 如果使用DICE规范中规定的数字证书 , 远程验证的安全性还能进一步提高 。
结论
片上加密基础模块显著缓解了传统非易失性存储器的受到的安全威胁 。 反克隆问题能够通过主机MCU与闪存存储器之间的设备配对得到解决 。 使用阵列分区和可配置访问权限能够处理非授权访问 。 通过可信计算组织制定的DICE策略 , 解决了恶意篡改代码的检测和恢复问题 。 集成在新型闪存存储器中的加密功能模块成功地解决了传统系统中存在的大量安全漏洞 , 说明外置Flash架构能够解决未来可能出现的安全问题 。
- 『老谭世界百态』西方不说话了,中国战胜新冠投入了多少资金?专家说出一组数字
- 刘宇宁 刘宇宁开启「暖·愈」篇章,《全世界最好的你》原声带将上线酷狗
- 「泱泱世界里」粮食概念股走一波,要开始屯粮了吗?
- 世界那么大@直达一大波景点!,结棍!坐911路巴士游徐汇
- 瑞盼社会:拿走一块就成百万富翁,全世界最大的地下金库存放1.3万吨黄金
- 『小小天看世界』看起来布兰登·米多格正在筹集10亿美元的微软气候基金
- 币安收购CoinMarketCap ,让区块链世界触手可及
- 「南方PLUS」银河证券首席经济学家刘锋:中国应打造世界安全资产中心
- 小小天看世界▲三星集团到底有多大?
- 「国服君」引起全世界震怒,萨达姆生前最后一晚怎么度过?美军手段曝光