历史上的今天
返回首页

历史上的今天

今天是:2026年03月07日(星期六)

2023年03月07日 | 【从智能锁谈STM32安全技术】之 - 安全固件安装

2023-03-07 来源:zhihu

在第六季内容中,将介绍安全固件安装 SFI (Secure Firmware Installation)的原理及解决方案。


安全固件安装的本质是,我们是否能相信工厂的制造过程是安全的过程。如果我们相信工厂是可靠的,相信它总是按照我们的指示,例如,我们希望它不要泄露固件代码,我们希望它不要过生产,他们都能一一办到,那么安全固件安装是没有用武之地。


然而,总有一些工厂,或者工厂里的某些员工 ,他们为了一时利益,可能会将研发设计公司辛苦开发的源代码(通常是厂商的二进制固件代码),直接泄露给其他第三方。同时他们也有可能将委托生产的产品过生产。即,如果我们希望他试着生产的 1000 台 ,结果他们也许会生产 2000 台。1000 台按照合同提供回给厂商,使用正规的商标与品牌,另外 1000 台则不知道使用什么样的商标流入市场。如果该产品在市场上很火爆,他们获得的利益会远远超过代工的收益。


STM32 在这种情景下,提供了一种技术手段,来保护委托方产品研发的权益。也就是说除了正常的 法律手段之外,STM32 技术手段可以防止工厂泄漏受委托生产的固件的二进制代码,同时防止工厂进行过生产,获取非法利益。


2、安全固件安装的两个关键问题及解决


安全固件安装涉及两个关键问题。第一是固件代码的保密性,就是说,我们即使使用第三方工厂进行制造,我们也不会因为工厂制造的安全弱点,而把我们的固件的二进制代码泄露出去。第二个问题就是过生产、产计数的问题。如果我们下的订单是 1000 台,绝无可能生产 1001 台。


要进行固件保密,一种方法就是我们派一个人常驻工厂,24 小时的对工厂流程进行监控。这种情况下我们可以确保没有人去复制二进制固件代码。还有一种方法就是通讯安全的思路。从公司研发部门到设备终端构建一个端对端的安全通道。在这个安全通道上面传输固件。如果你已听过前面的安全讲座的话,我们很快就可以知道,实现这个方法一定是加密技术。我们在研发部门发布产品的时候对固件二进制代码进行加密,然后让设备, 也就是 STM32 进行解密。


那么引出第一个问题,这个加密或者解密的密钥,是如何从研发部门传递到设备里去呢? 这就需要安全通道的概念。我们从前面的加解密技术也知道,我们有能力构建这样的一个安全通道。我们或者利用公钥体系,或者利用对称密钥体系。


那么第二个问题,防止工厂不会过生产产品这个问题是如何解决的呢?如果我们能够控制 STM32 能加密的次数,我们就可以控制实际的产。第一个问题已提到,固件是加密 的。那么,只有通过解密,固件才能在 STM32 里运行。解密的过程,是在 STM32 内部。 换言之, 这是一个产品授权的概念。源端只授权了 1000 台的生产,那么工厂是没有办法 解开 1001 个固件包进行安装。

我们总结一下 ,在工厂里实施固件保密,是通过对称密钥技术。技术原因是,固件一般比 较大,不适合使用公钥算法。而产计数,则是授权的概念,所授权的数字对应于具体的需要生产的产品数目。解密的密钥通过安全的通道直接发送到设备里去。STM32 设备里所运行的程序,是由ST开发,是可信的代码。它能够保证解密的密钥只使用一次。从而保证了使用次数与授权次数相一致。这样一个产计数就成功实现了。


3、安全固件安装的示例解决方案


在了解原理的基础上,我们再具体的看一下这个解决方案的组成。在这个解决方案里有三 个角色,一个角色是研发部门,它是固件的制造者;另一个角色是工厂的产线;第三个参与者则是 STM32 芯片。


推荐阅读

史海拾趣

Electroswitch公司的发展小趣事

Electroswitch Electronics Products(以下简称“Electroswitch”)成立于1986年,是Electro Switch Corp的一个子公司,后者早在1946年就已创立。在创立之初,Electroswitch就致力于设计和制造高品质的开关产品,以满足电子应用领域的各种需求。通过不断的技术创新和产品优化,Electroswitch逐渐在电子行业中树立了良好的声誉。

AURORA公司的发展小趣事

AURORA公司一直致力于提升自动驾驶技术的安全性和可靠性。通过不断研发和创新,AURORA在自动驾驶算法、传感器融合、数据处理等方面取得了显著进展。公司的技术团队不断攻克技术难题,推动自动驾驶技术向更高等级迈进。同时,AURORA还积极与高校和研究机构合作,共同推动自动驾驶技术的研发和应用。

Fedco_Batteries公司的发展小趣事

Fedco_Batteries的创始人李先生,在电子产业蓬勃发展的年代,看到了电池领域的巨大潜力。他凭借对技术的热爱和对市场的敏锐洞察,决定投身电池制造行业。创业初期,公司面临着资金短缺、技术瓶颈等重重困难。然而,李先生带领团队日夜兼程,不断研发新型电池技术,最终成功推出了一款性价比高、性能稳定的电池产品,打开了市场的大门。

Alliance Memory公司的发展小趣事

随着公司业务的不断拓展,Fedco_Batteries始终将产品质量放在首位。公司引进了先进的生产设备和检测设备,建立了严格的质量管理体系。每一块电池在出厂前都要经过多道严格的质量检测,确保产品的稳定性和可靠性。这种对品质的坚持,让Fedco_Batteries的电池在市场上赢得了良好的口碑,越来越多的客户选择了他们的产品。

ABL Heatsink公司的发展小趣事

ABL Heatsink公司在电子散热领域一直默默耕耘,直到某天,公司的研发团队成功开发了一种新型的高效散热材料。这种材料不仅导热性能卓越,而且成本相对较低,立即引起了业界的关注。随着这种新型散热材料的广泛应用,ABL Heatsink公司的订单量激增,公司规模迅速扩大。

Component Research Co公司的发展小趣事

随着公司业务的不断发展,Component Research Co意识到单一市场无法满足其长期发展的需要。于是,公司开始寻求国际合作,与多家国际知名企业建立战略合作关系。这些合作不仅为公司带来了先进的技术和资金支持,还帮助公司打开了新的市场。通过国际合作,Component Research Co的业务范围逐渐扩展到全球各地。

问答坊 | AI 解惑

“吓死胆小的,撑死胆大的”

“吓死胆小的,撑死胆大的”-----中国中小企业主的抱怨 一个制作电流调节器十年的中小企业主发出这样的感慨:”国家的政策想让谁富,谁就富,想让谁倒,谁就没办法发展” “我已经做电流调节器十年了,有房有车,有产业,没有贷款,很稳定,但是 ...…

查看全部问答>

贴牌电池遭遇“知识产权门”

专题动机   有学者认为,广东在现代产业升级过程中面临诸多亟待解决的重大难题,其中较为突出的是外向型经济的脱胎换骨。这种脱胎换骨中最核心的问题是面对知识产权问题时的对策。本专题关注的OEM加工贸易中的知识产权问题和定牌加工出口侵权问 ...…

查看全部问答>

10分钟完成一个USB驱动程序

转载:http://www.4oa.com/Article/html/6/33/482/2005/17317.html 很多写Windows Device Driver的开发人员基本上都是使用Windows DDK进行开发的。但是,现在也有不少人都开始借助一些辅助工具。笔者去年开始接触到riverStudio,发现它真的是一 ...…

查看全部问答>

51单片机串口接收问题请教

我用单片机接收一个数据例如是十六进制的123A,我接收的数据格式是什么那 我从缓存sbuf读出的是什么呀,我想存成data[]={1,2,3,A},该怎么接收啊? 我用 for (i=0,i…

查看全部问答>

承接嵌入式linux,ce,wm下的WIFI驱动,BSP开发相关工作

拥有各种硬件平台(S3C2410,S3C2440,S3C6410,EP9315,BF536,BF533,AU1200,MX21,MX31, PXA270,PXA310,Omap750,Omap850等)的linux,wince,windows mobile6的bsp移植经验,及各种外设驱动(wifi marvell8686,8688,蓝牙,gps 快速定位,agps,gprs mc7 ...…

查看全部问答>

关于磁盘分区的问题,GPT To MBR

求教,如何实现磁盘分区创建,和磁盘管理中的功能一样 有些USB只有DBR没有MBR。现在我的一个项目里。需要对此USB转换 也就是GPT转换为MBR类型的磁盘 关于这个有个方法 把分区的前512字节清0 尾部写上55aa标记 然后在磁盘管理中创建分区。就 ...…

查看全部问答>

便捷投影体重秤

对于大腹便便的孕妇或胖子来说,在使用家用体重秤称量体重的时候,要想看到体重秤显示出来的数字,可不是一件容易的事情。而这款射线体重秤则可以将称重数字清晰地投影在墙壁上,让行动不变的朋友可以轻松地了解自己的体重情况。…

查看全部问答>

大家觉着LED哪个方向火?来选选吧

LED电源,主要是LED驱动电源,应该是各位高手各显神通之地吧。   应全球“节能环保”的倡导,LED照明、灯具可谓是我国发展最快的行业了,据说过几年就可以领导全球了:P 不知道是真是假。   LED屏也是很主流的一个发展趋势,目前大有 ...…

查看全部问答>

【M4 开发板入门】EKK-LM4F232探索四 M4的hibernate功能

休眠模块 休眠模块提供降低功耗的一种手段管理电源的去除和恢复。当处理器和外围设备处于空闲状态,电源可以完全去除只有休眠模块有剩余的电源。根据外部信号或使用内置的实时时钟(RTC)在一定的时间内,电源就可以恢复。 休眠模块可以独立由 ...…

查看全部问答>

利用大功率数字源表构建多源测量单元(SMU)系统(连载五):为源测量单元(SMU)建立

在测试系统问题中,被误解最多的就是接地。这里,“接地”定义为到接地端的连接。不过,许多人往往使用“接地”一词表示测试电路中源测量单元(SMU)的基准点。在本应用笔记中,这个基准点被称作“电路公共端”。   接地   为了安 ...…

查看全部问答>