在第六季内容中,将介绍安全固件安装 SFI (Secure Firmware Installation)的原理及解决方案。
安全固件安装的本质是,我们是否能相信工厂的制造过程是安全的过程。如果我们相信工厂是可靠的,相信它总是按照我们的指示,例如,我们希望它不要泄露固件代码,我们希望它不要过生产,他们都能一一办到,那么安全固件安装是没有用武之地。
然而,总有一些工厂,或者工厂里的某些员工 ,他们为了一时利益,可能会将研发设计公司辛苦开发的源代码(通常是厂商的二进制固件代码),直接泄露给其他第三方。同时他们也有可能将委托生产的产品过生产。即,如果我们希望他试着生产的 1000 台 ,结果他们也许会生产 2000 台。1000 台按照合同提供回给厂商,使用正规的商标与品牌,另外 1000 台则不知道使用什么样的商标流入市场。如果该产品在市场上很火爆,他们获得的利益会远远超过代工的收益。
STM32 在这种情景下,提供了一种技术手段,来保护委托方产品研发的权益。也就是说除了正常的 法律手段之外,STM32 技术手段可以防止工厂泄漏受委托生产的固件的二进制代码,同时防止工厂进行过生产,获取非法利益。
2、安全固件安装的两个关键问题及解决
安全固件安装涉及两个关键问题。第一是固件代码的保密性,就是说,我们即使使用第三方工厂进行制造,我们也不会因为工厂制造的安全弱点,而把我们的固件的二进制代码泄露出去。第二个问题就是过生产、产计数的问题。如果我们下的订单是 1000 台,绝无可能生产 1001 台。
要进行固件保密,一种方法就是我们派一个人常驻工厂,24 小时的对工厂流程进行监控。这种情况下我们可以确保没有人去复制二进制固件代码。还有一种方法就是通讯安全的思路。从公司研发部门到设备终端构建一个端对端的安全通道。在这个安全通道上面传输固件。如果你已听过前面的安全讲座的话,我们很快就可以知道,实现这个方法一定是加密技术。我们在研发部门发布产品的时候对固件二进制代码进行加密,然后让设备, 也就是 STM32 进行解密。
那么引出第一个问题,这个加密或者解密的密钥,是如何从研发部门传递到设备里去呢? 这就需要安全通道的概念。我们从前面的加解密技术也知道,我们有能力构建这样的一个安全通道。我们或者利用公钥体系,或者利用对称密钥体系。
那么第二个问题,防止工厂不会过生产产品这个问题是如何解决的呢?如果我们能够控制 STM32 能加密的次数,我们就可以控制实际的产。第一个问题已提到,固件是加密 的。那么,只有通过解密,固件才能在 STM32 里运行。解密的过程,是在 STM32 内部。 换言之, 这是一个产品授权的概念。源端只授权了 1000 台的生产,那么工厂是没有办法 解开 1001 个固件包进行安装。
我们总结一下 ,在工厂里实施固件保密,是通过对称密钥技术。技术原因是,固件一般比 较大,不适合使用公钥算法。而产计数,则是授权的概念,所授权的数字对应于具体的需要生产的产品数目。解密的密钥通过安全的通道直接发送到设备里去。STM32 设备里所运行的程序,是由ST开发,是可信的代码。它能够保证解密的密钥只使用一次。从而保证了使用次数与授权次数相一致。这样一个产计数就成功实现了。
3、安全固件安装的示例解决方案
在了解原理的基础上,我们再具体的看一下这个解决方案的组成。在这个解决方案里有三 个角色,一个角色是研发部门,它是固件的制造者;另一个角色是工厂的产线;第三个参与者则是 STM32 芯片。
上一篇:【话说定时器系列】之二:STM32常规定时器时基与时钟源
下一篇:当STM32遇到Linux = STM32MP1
推荐阅读最新更新时间:2024-11-10 10:25
推荐帖子
- 变态问题求解答!急急急!!!
- 刚做完按键切换输入法又发现问题:当系统启动后,我不点击屏幕直接按键切换输入法,当切换到汉王的手写软件时,弹出来个对话框:提示需要重起机器当我按完对话框上的OK后(无需重起),再切换输入法,就不会弹出该对话框后来多次实验发现,只要开机后先点一下触摸屏,再切换输入法就不会出现该现象,查看汉王提供的安装包,发现有个TOUCH.DLL,估计是用来响应我的触摸屏按下事件的(以前没发现该问题,因为每次都是通过触摸屏调出该输入法)汉王的手写软件肯定修改不了,首先想模拟一下鼠标的按下事件,用mous
- 自然的天意 嵌入式系统
- 急需codewarrior for hcs08 的破解版
- 谁有确解版的CodeWarriorforhcs08,能否给我发到邮箱里呢?yby227@163.com非常感谢急需codewarriorforhcs08的破解版
- chunxilu1979 嵌入式系统
- 树莓派Cm3+有哪位坛友用过吗?请教下
- gpio32和gpio33作为UART用是怎么用的?现在我在/dev里只找到一个串口serial0是GPIO14和15对应的串口。32和33对应的一直没找到,不知道怎么整出来。树莓派Cm3+有哪位坛友用过吗?请教下顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
- yangxf1217 Linux与安卓
- 开关电容电路:从入门到精通
- 开关电容电路在现代微电子系统中的应用非常广泛。在MP3播放器、移动电话、数码相机、便携硬盘以及单片功率变换器等许多设备的设计中,开关电容电路技术都发挥了至关重要的作用。本书一经面世,就获得了业界的广泛称赞,被称为填补空白的力作。本书深入阐述了开关电容电路的各种特性,着重强调对实际工作非常重要的基础知识和最新技术进展,讲解中尽量避免繁琐的数学推导,并系统、详尽、直观地分析了许多经过工程验证的电路设计实例。本书在阐述开关电容电路理论的同时,还分析了许多经过工程验证的电路设计实例,力图通过对
- arui1999 下载中心专版
- 比较下列可移动存储器的性能,并说说发展前景 急!!
- 软盘可读写光盘优盘(闪存)可移动硬盘从以下面比较读写速度比较容量耐用性价格等市场综合比较下列可移动存储器的性能,并说说发展前景急!!友情帮顶下。闪存应该是比较有前景的,目前还欠缺的是速度,用在小规模场合容量倒不是问题.读写速度:软盘优盘(闪存)可读写光盘可移动硬盘容量:软盘优盘(闪存)可读写光盘可移动硬盘耐用性:软盘可读写光盘优盘(闪存)可移动硬盘价格等:软盘
- 紫色宇宙 嵌入式系统
- 给大家整了一波行车记录仪的拆解、方案干货~
- 大家有没被行车记录仪的帖子刷屏了~没错,管管正给大家搬了一波关于行车记录仪拆解、DIY、方案干货,一次看遍才更爽~~拆解行车记录仪拆解凯富隆星光夜视行车记录仪,看看这个领域有多卷!4S店赠送的行车记录仪,拆解发现里面用了这颗芯片后视镜行车记录仪大家喜欢用吗?拆解一款9年前的凌度行车记录仪拆解揭秘领克360全景影像:用料扎实,每颗芯片都曾叱咤风云行车记录仪方案安霸A7L30行车记录仪电路(原理图+PCB源文件)基于多CPU和Lab
- okhxyyo 汽车电子
设计资源 培训 开发板 精华推荐
- CN0160
- DVK-SFAZ-1-GEVK,基于AX-SFAZ收发器的RCZ4的Sigfox AT开发套件
- NUCLEO-F746ZG,STM32 Nucleo-144 开发板,带 STM32F746ZGT6 MCU,支持 Arduino、ST Zio 和 Morpho
- 使用 Cypress Semiconductor 的 S6AP413AAAGN1C000 的参考设计
- 用于 SRC Crowbar 的 TL431 可编程精密基准的典型应用
- MCP43XXEV,MCP4262 数字电位器器件评估板
- lzj的555闪烁
- 测温工具---K型热电偶测温计
- 采用 VIPer12A PWM 控制器的恒流 (1.05A) LED 驱动器
- LT3695 系列的典型应用 - 1A 容错微功率降压型稳压器
- 智能家居当下趋势与挑战 泰科电子助力连接舒适未来
- 有奖直播|TI MSP430™民用超声波水表开发指南及其智能模拟组合模块在传感器检测中的应用
- 已结束|Maxim IO-Link通信协议设计方案详解,5大优势助你轻松联网!
- 从终端到架构,TE Connectivity(TE)助你连接5G高速未来 看视频答题赢好礼!
- Digi-Key KOL视频来袭~欢迎进入MicroPython的奇妙世界
- Microchip电源评估板促销,还有红包送!
- 和风暖阳,我与春天有个约会!
- 泰克送你三板斧,招招解决电源测试大难题!答题赢好礼喽!
- 有奖报名 | 安富利邀您云逛展2023中国国际工业博览会
- 有奖直播:8月21上午10:00 泰克助您应对现在及未来的测试挑战!