- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为嵌入式系统(微 Controller )编写固件。固件可以通过引导加载程序(也是我编写的)进行更新。
现在需要采取措施防止固件被操纵,因此系统必须仅执行具有某种有效签名的下载固件。
固件文件已加密。它由引导加载程序(在微 Controller 中)解密,然后编程到闪存中。
由于固件是加密的,因此我认为对闪存内容进行简单的 CRC 检查应该足以证明固件的有效性。但我不是网络安全专家,所以...我需要更多吗?
我认为加密足够强并且闪存无法读取。
最佳答案
Since the firmware comes encrypted, in my opinion a simple CRC check on the flash content should be sufficient to prove the firmware validity. But I'm no expert for cyber security, so... do I need more?
如果您选择了良好的加密方法,并妥善保护您的加密 key ,并且还保证固件传输后无法读取,并且引导加载程序如果无法成功解密则拒绝固件,那么您已经保证了固件的有效性。除非违反上述假设之一,否则只有拥有加密固件 key 的人才能生成引导加载程序接受的固件。
正如其他人指出的那样,CRC 并不用于防止故意修改,因为您只需将垃圾数据附加到任何文件即可生成所需的 CRC。不过,我仍然建议在固件升级过程的至少两个阶段进行 CRC:
关于encryption - 嵌入式固件的代码签名: Is a CRC enough when the firmware is encrypted?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56578405/
我有一个 Ti Sitara AM335x 入门套件,我想在它上面使用 USB 3G 调制解调器。 我正在关注这些文件: http://processors.wiki.ti.com/index.php
我知道这是一个基本问题,但我有点困惑,在 Google 上找不到完整答案。 我知道区别在于一段代码的持久性和可塑性。但是,如何在一组指令(软件和固件)之间划清界限?电脑/打印机/等可以吗?有软件和固件
我刚刚开始学习 UEFI 驱动程序开发这个庞大的主题,据我目前的了解,硬件外围设备是使用映射到内存的特定地址来控制的。好吧,内存也是硬件。不是司机控制的吗? 我假设 CPU 和主板具有处理此问题的内置
我对 PC 固件编程很感兴趣,我只是在研究 UEFI 规范。令我惊讶的是,它似乎是嵌入在固件中的整个操作系统的规范。您甚至可以编写直接使用 UEFI 引导服务运行的 UEFI“应用程序”,而无需任何其
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在使用 alix 2d13 开发基于 linux 的设备。 我开发了一个脚本,负责创建镜像文件、创建分区、安装引导加载程序 (syslinux)、内核和 initrd,并且负责将根文件系统文件放入
我有一个基本的固件问题。我正在寻找对 nRF51822 IC 进行编程并将其集成到我自己的 PCB 上。评估套件似乎已经焊接了 IC。这是我只能对 nRF51822 进行编程并准备好在其他地方使用的方
我正在考虑购买一个 Mindstorms 套件(我目前没有,但我在大学使用过 1.0),并且我有点不确定 2.0 相对于 1.0 的好处。我看过有关该主题的其他帖子,都说一般来说 2.0 更好,但我对
我正在为嵌入式系统(微 Controller )编写固件。固件可以通过引导加载程序(也是我编写的)进行更新。 现在需要采取措施防止固件被操纵,因此系统必须仅执行具有某种有效签名的下载固件。 固件文件已
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在为 Cent OS 7 重建 Linux 内核以选择不同的抢占级别。 我的步骤如下: sudo yum install rpm-build redhat-rpm-config asciidoc
我正在寻找一个 OID 以使用 SNMP 获取 Cisco 交换机 的固件版本。 我尝试了下面的 MIB 文件,我不能。 OLD-CISCO-CHASSIS-MIB.mib ENTITY-MIB.my
我正在使用 Buildroot 作为构建系统为 Avenger96 板构建 Linux 镜像。 我正在做的步骤: 制作 avenger96_defconfig 制作 我收到以下错误: /usr/bin
我将我的 Xcode 更新到 4.2 版本,其中包括 ARC 技术。这似乎是一件好事,但如果我启用 ARC 并根据 Apple 的建议编辑我的代码,我的应用程序是否会在 4.3.x 设备上构建和运行?
我是一名优秀的程序员,十分优秀!