新的微芯片MCU增加了来自外部闪存的安全引导保护
新的微芯片MCU增加了来自外部闪存的安全引导保护
New Microchip MCU Adds Secure Boot Protection from External Flash
对于从外部SPI闪存启动的操作系统,Microchip技术引入了其最新的加密微控制器(MCU),以防止恶意rootkit和bootkit恶意软件,从而实现了安全引导,硬件根信任保护符合NIST 800-193指南。
随着5G的增长,包括新的蜂窝基础设施、网络和数据中心,支持不断扩大的云计算,开发者需要确保操作系统保持安全和不妥协。一个普通的Rootkit用来防御恶意软件,这是一种很难在启动前隐藏恶意软件的方法。使用硬件根信任的安全引导对于在系统中加载威胁之前保护系统免受威胁至关重要,并且只允许系统使用制造商信任的软件引导。
因此,Microchip的新CEC1712 MCU是基于Arm Cortex-M4的第三代设备,同时它的Soteria-G2定制固件旨在在运行时之前检测并阻止恶意固件,从而使设计人员能够快速采用并实现安全引导。Soteria-G2使用CEC1712不可变安全引导加载程序,在只读存储器(ROM)中实现,作为信任的系统根。
在一次简报中,珍妮特·威尔逊说embedded.com网站,“我们的目标是任何可以从SPI flash启动的东西。CEC1712在设备中内置了重要的硬件加密技术,可节省大量代码空间,最多可节省15k代码。这使得操作速度更快,例如,所有验证都可以在70毫秒内完成。”
微芯片的CEC1712和Soteria-G2组合在5G和数据中心操作系统的预引导过程中可以防止恶意软件,同时它也是连接的自动车辆操作系统、汽车高级驾驶员辅助系统(ADAS)和其他从外部SPI闪存启动的系统的安全启用码。
除了在预引导模式下为从外部SPI闪存启动的操作系统提供安全引导和硬件根信任保护,CEC1712还提供密钥撤销和代码回滚保护,以支持现场安全更新。这对于遵守NIST 800-193平台固件弹性指南非常重要,该指南规定保护、检测和恢复机制适用于:
确保平台固件代码和关键数据保持完整状态,并防止损坏,例如确保固件更新的真实性和完整性的过程。
检测平台固件代码和关键数据何时已损坏或以其他方式从授权状态更改。
如果检测到任何此类固件代码或关键数据已损坏,或在通过授权机制强制恢复时,将平台固件代码和关键数据恢复到完整状态。恢复仅限于恢复固件代码和关键数据的能力。
Wilson说,当原始设备制造商受到黑客攻击时,密钥撤销是很重要的,如果私钥被拿走并发出新的密钥,则需要拒绝以前的密钥。这听起来很明显,但比听起来更困难,因为问题是如何引入新的密钥和拒绝已签名的密钥
CEC1712安全引导加载程序从外部SPI闪存加载、解密和验证要在CEC1712上运行的固件。经过验证的CEC1712代码随后对存储在SPI flash中的第一个应用处理器的固件进行身份验证。最多支持两个应用处理器,每个处理器支持两个闪存组件。

代码执行从cec1712rom开始,应用程序代码用原始设备制造商的私钥在SPI flash中签名,保持处理器复位直到代码在MCU中被验证,之后主机处理器从SPI flash加载并执行经过验证的代码。
Microchip或Arrow Electronics提供了预配置客户特定数据的选项。预供应是一种安全的制造解决方案,有助于防止过度建设和造假。除了节省长达数月的开发时间外,该解决方案还大大简化了资源调配流程,使客户能够轻松地保护和管理设备,而无需第三方资源调配服务或证书颁发机构的间接成本。
Wilson补充说,虽然客户变得越来越老练,但并不是每个人都具备安全方面的专业知识。“Soteria使他们能够执行安全引导代码。”代码开发是在MPLAB集成开发环境(IDE)工具套件中进行的。
CEC1712是微芯片的第三代MCU,所以我们问:与CEC1702 MCU相比,有什么主要区别?Wilson说,上一代不能做完全冗余启动,而CEC1712在这方面完全满足NIST 800-193的要求。此外,除了密钥撤销和代码回滚保护,新的MCU还具有一个支持4字节SPI地址模式的引导ROM,使用SHA-384散列(而不是SHA-256)。另一个区别是在线用户可编程OTP,它可以通过Soteria-G2固件进行定制,用于游戏中的可编程键盘等应用。
CEC1712和Soteria-G2软件包提供多种软件和硬件支持选项;软件支持包括Microchip的MPLAB X IDE、MPLAB Xpress和MPLABXC32编译器;硬件支持包括程序员和调试器,包括MPLAB ICD 4和PICkit 4程序员/调试器。CEC1712H-S2-I/SX可批量生产10000件,起价4.02美元(包括Soteria-G2固件)。
威尔逊说,一些客户已经开始取样,有些正在进行全面生产。她说,客户包括重要的服务器公司、多功能打印机公司以及航空航天和国防领域。Microchip也瞄准了游戏、汽车和电脑/笔记本电脑客户。
新的微芯片MCU增加了来自外部闪存的安全引导保护的更多相关文章
- 灵动微本土MCU厂商具有吸引力的增长点
作为各种电子产品的控制和处理核心,微控制单元(MCU)器件是一种集成微处理器(CPU).存储器(RAM/ROM).计数器,以及I/O端口的芯片.从MCU内核架构来看,单片机有历经多年的8051,基于A ...
- 淘宝上倒卖新浪微盘事件来龙去脉——谈谈巧用IMEI
这是一个老黄历的事件,曾记得淘宝上的卖家卖10元卖50g网络硬盘,并且卖的相当的火,一个月就卖了500个账号.由于我也是那个事件的亲身经历者之一,这里就看到了IMEI号在项目中防止作弊是何其的重要. ...
- JS数组 团里添加新成员(向数组增加一个新元素)只需使用下一个未用的索引,任何时刻可以不断向数组增加新元素。myarray[5]=88;
团里添加新成员(向数组增加一个新元素) 上一节中,我们使用myarray变量存储了5个人的成绩,现在多出一个人的成绩,如何存储呢? 只需使用下一个未用的索引,任何时刻可以不断向数组增加新元素. my ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护
dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...
- BL8810|USB 2.0单芯片解决方案闪存读卡器|BL8810替代GL823K
创惟GL823K是一款USB 2.0单LUN读卡器控制器,可支持SD/MMC/MSPRO闪存卡.它支持USB 2.0高速传输,将Digital TM(SD).SDHC.SDXC.Mini DTM.Mi ...
- 为什么希捷选择了8GB作为标准的闪存容量呢?答案就在下面(新的驱动器可以实现一定程度上的写入缓存)
与前两代Momentus XT产品不同,希捷称第三代混合硬盘所使用的技术更接近真正的SSHD(Solid State Hybrid Disk?),而不是HHD.也就是说更偏向于固态硬盘.首先它不会属于 ...
- BL8810|USB2.0高速闪存读卡器|BL8810芯片
BL8810是由台湾旺玖半导体推出的一款USB2.0 SD/MMC闪存读卡器单芯片.支持USB2.0高速传输,并符合通用串行总线规范.该芯片集成了一个高速的8051微处理器和一个最好的数据引擎,它的引 ...
- Java12新特性 -- 微基准测试套件
JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件.何谓Micro Benchmark呢?简单的来说就是基于方法层面的基准测试,精度可以达到微秒级.当 ...
- Xcode 8.0 新特性 & Swift 3.0 增加的变动
从 Xcode 8.0 开始,目前所有的插件都无法工作! NSLog 无法输出 -- 此bug等待正式版本... Xcode 提供了文档注释快捷键option + cmd + / 但是要把系统升级到1 ...
随机推荐
- hdu 3721 树的最小直径
题意: 给你一棵树,让你改变一条边,改变之后依然是一棵树,然后问你怎样改变才能让树的直径最短.这里的改变一条边指的是指把一条边长度不变,连在别的两个点上. 思路: 首先求出树的 ...
- [CTF]盲文对照表
[CTF]盲文对照表 摘自:https://wenku.baidu.com/view/28b04fd380eb6294dd886ca7.html 学点盲文 盲文又称点字,国际通用的点字由6个凸起的圆点 ...
- Day006 可变参数
可变参数(不定项参数) 在jdk1.5开始,java支持传递同类型的可变参数给一个方法. 在方法声明中,在指定参数类型后加一个省略号(...). 一个方法只能指定一个可变参数,它必须是方法的最后一个参 ...
- 狂神说Elasticsearch7.X学习笔记整理
Elasticsearch概述 一.什么是Elasticsearch? Lucene简介 Lucene是一套用于全文检索和搜寻的开源程序库,由Apache软件基金会支持和提供 Lucene提供了一个简 ...
- OO第1.2次作业·魔鬼的三角函数化简
多年以后,面对办公室的屏幕,我会回忆起开始肝第二周OO作业的那个遥远的下午.那时的程序是一个一两百行的符号求导,基类与接口在包里一字排开,工整的注释一望到底 谁能想到,接下来的十几个小时我要经历什么样 ...
- If-Else 太多,如何优化!!!
完全不必要的 Else 块 public void consumer(int product) { if (product > 1) { // do something } else { // ...
- SQLFlow的几种关系
SQLFlow的几种关系 SQLFlow可以用来分析各种数据对象之间的依赖关系,其中包含了fdd, fdr, frd, join 四种关系 fdd:表示数据从源列到目标列的关系 frd:表示结果集返回 ...
- 前端必读:Vue响应式系统大PK(下)
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://www.sitepoint.com/vue-3-reactivity-system ...
- gdb调试多线程多进程
多进程调试 我们使用gdb调试程序,gdb的调试默认是调试父进程的,如果要做到对父进程和子进程都做到调试,所以附加了调试子进程的功能. 设置条件 如果让gdb可以同时调试多个程序,只需要设置follo ...
- 855 gpu强 730 3倍
骁龙730G的GPU规模只有骁龙835的GPU规模的一半,Adreno 618是128 ALUs,而Adreno 540是256 ALUs. 根据GFXBench的数据,对GPU负载比较大的曼哈顿3. ...