【从智能锁谈STM32安全技术】之 - 安全固件安装

发布时间:2023-03-07  

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


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


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


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


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


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


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


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


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

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


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


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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    ESP8266烧写Gagent固件;前言 本文通过使用STM32F103C8T6作为主控MCU,ESP8266作为数据透传模块,接入机智云AIoT云平台,通过在线智能产品,实现了远程联网、温湿......
    在线智能产品,实现了远程联网、温湿度监测、APP控制等功能。 进入正文 1、ESP8266烧写Gagent固件 在网上购买的ESP8266并不能直接接入机智云,所以需要烧写Gagent固件。 1.1......
    步骤一步一步来,五分钟内完成!有手就行! 2 给ESP8266模块烧录固件 接下来,我们还需要给ESP8266模块烧录固件。(下面步骤是针对乐鑫ESP8266模块进行串口模式烧写流程,ESP8266的购......
    上位机APP按钮后,通过ESP8266模块向单片机发送字符指令。在单片机程序中接收到适当的符号后,将标志位的逻辑值赋给系统,在系统运行过程中,不断地扫描状态并执行相应的指令。 3.2 ESP8266固件......
    出来和改出来的。 ESP8266 01S简介: 使用AT功能之前,模块内必须有AT的固件,每个模块的生产厂商都会对乐鑫官方的AT固件做一些修改和删减,但是其最核心的AT指令功能都是相同的。我们买的ESP8826模块一般都有刷好的固件......
    STM32驱动ESP8266连接阿里云(1)----使用AT指令连接阿里云;烧录MQTT固件 购买的ESP8266一般没带MQTT固件,所以无法通过MQTT指令与云平台通信,需要烧录固件......
    本次使用的ESP8266是原来机智云二代产品上的,可能正常联上机智云,故没有给ESP8266烧写固件 ......
    ESP8266板进行编程的流行方法是使用MicroPython固件。 MicroPython是针对微控制器和嵌入式系统的Python 3的重新实现。MicroPython与常规Python非常相似。因此,如果......
    基于机智云物联网平台的温湿度和光照强度获取;该设计采用esp8266烧写机智云固件。并且esp8266与stm32进行通信,则stm32可以通过esp8266与机智云服务器进行数据交互,而机......
    市场需要,Atmel当然也可以再恢复生产AT89C51。   51单片机连接ESP8266串口WiFi模块   引脚连接      烧录固件   打开烧录软件,选择配置选项卡,点击......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>