0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式系统的完整性

星星科技指导员 来源:militaryembedded 作者:RUSSELL DOTY 2022-11-15 17:04 次阅读

能够验证军事和其他应用中使用的系统的完整性以确保它们没有被修改或损坏至关重要。当然,最好防止系统被篡改。如果无法做到这一点,则检测篡改至关重要。在许多情况下,如果您不能确定系统未被修改,最好阻止系统运行。在所有情况下,保护系统上的信息,尤其是加密密钥等关键机密至关重要。

操作系统级别的各种工具有助于确保软件的完整性。其中包括存储加密、软件包的加密签名、文件的校验和以及用于检查系统的工具。但是,可以做些什么来确保底层系统没有受到损害 - 验证硬件,BIOS和其他固件以及引导加载程序?如果检测到问题,该怎么办?

让我们考虑一下使用硬件信任根可以做什么,以及 Linux 操作系统中的最新发展,这些开发提供了底层系统完整性的视图。

第一个因素是LUKS,这是Linux内置的强大而安全的存储加密功能。LUKS 对从磁盘驱动器USB 驱动器、SD 卡甚至网络存储的所有内容进行加密。LUKS 在卷级别加密,Linux 系统可以配置为单个卷或单个驱动器上的多个独立卷。这为配置和保护嵌入式系统上的信息提供了相当大的灵活性和功能。

LUKS 的用例之一是加密系统驱动器。完成此操作后,必须提供LUKS密码才能引导系统。对于笔记本电脑等系统,这通常通过输入密码来完成。网络绑定磁盘加密 (NBDE) 是一种新的 Linux 软件包,它使用网络服务或硬件信任根来提供 LUKS 密钥来引导系统。

NBDE 是一个灵活的加密框架,它使用各种引脚或加密引擎来加密和解密 LUKS 密钥等机密。NBDE 旨在扩展,目前支持两个引脚:网络唐服务器和 TPM 2.0 硬件信任根。可以开发其他引脚,例如系统集成商可能会实现支持 CAC 卡的 NBDE 引脚。(作为旁注,开源Linux社区欢迎提交NBDE的其他引脚。NBDE 还实施了允许组合多个引脚的策略。

带有 TPM2 的 NBDE 是没有安全网络连接的远程位置嵌入式系统的不错选择。这可确保仅当操作系统磁盘位于具有正确配置的 TPM2 模块的系统中并且已绑定到该 TPM2 模块时,系统才会启动。

下一个要考虑的元素是安全启动。这是在 UEFI 固件中实现的,并要求引导加载程序和操作系统使用已知且批准的软件密钥进行签名,然后才能允许系统引导。安全启动是确保操作系统有效的好工具。行业标准安全启动密钥通常安装在出厂时的 UEFI 固件中。这些键可以按原样使用,可以添加自定义键,也可以删除标准键,并且仅使用自定义键。

安全启动是一种有效的工具,应使用。但是,安全启动无法验证底层硬件、固件或安全启动本身是否正在运行。这就是 TPM2 和测量启动发挥作用的地方。测量的引导有时称为受信任的引导。

测量的引导在多个级别工作。TPM2 模块包含一组 24 个平台配置寄存器或 PCR。 软件(如 UEFI 固件)使用 SHA-256 等算法进行哈希处理,哈希存储在 PCR 中。但是,哈希不会直接写入 PCR。相反,哈希使用 TPM2 中的加密操作扩展到 PCR 中。多个测量可以组合成一个PCR。PCR中的最终值取决于每个文件的哈希值和文件的评估顺序。这个过程是确定性的,给定一组文件和一个测量顺序,你每次都会得到相同的结果。这些测量和扩展操作可以在 TPM 外部复制 - 您可以提前确定 PCR 中的最终值应该是多少。

测量启动按一系列操作更新 PCR:一个非常低级别的软件例程(本质上是硬件的一部分)测量 UEFI 固件和选项 rom,例如 NIC 和存储控制器。UEFI 固件测量主引导记录和引导加载程序。引导加载程序测量内核和相关文件。然后,其他工具(如 Linux 完整性测量体系结构 (IMA))可以测量系统的其余部分。测量可以包括文件和配置。其中 8 个 PCR 寄存器已预定义供系统使用,8 个寄存器可供应用定制使用。

TPM和PCR模型旨在使未经检测就无法修改PCR测量,并且在不检测的情况下很难干扰测量过程。

PCR测量可用于多种目的,包括系统完整性的本地和远程证明。它们还可用于 TPM 内部的密封操作。在 TPM 密封中,TPM 保护的机密进一步受到 TPM 策略的保护,该策略在解密机密之前根据批准的值检查 PCR 值。

举个具体的例子,使用 NBDE,您可以根据 PCR 0、2 和 7 密封 LUKS 密码。这将测量 UEFI BIOS (PCR0)、系统中其他设备上的固件 (PCR2) 和安全启动 (PCR7)。仅当 UEFI 固件未修改、其他设备固件未修改且仍启用安全启动时,才会提供 LUKS 密码。请注意,这些检查是在 TPM 内部完成的。这些测量可确保固件未损坏,并且未添加任何 rootkit。虽然不是绝对的保护,但它显着提高了系统的完整性。

在此示例中,无需接触 TPM 即可轻松更新操作系统和应用程序。固件仍然可以更新 - 这需要使用新值重新密封 TPM。

不应在仓库甚至工厂级维护之外更改的安全军事系统可以更严格地锁定,也许使用多个PCR和其他因素,例如连接到网络服务;传感器阵列必须通信才能有用,因此这可能是一种合理的方法。

可以使用此处描述的方法保护任何机密。加密密钥可以直接从 TPM2 加载到内存中,然后在不再需要时立即擦除;它们没有理由保留在磁盘上。并且可以通过发出TPM_reset命令立即擦除整个TPM。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4976

    文章

    18239

    浏览量

    287898
  • Linux
    +关注

    关注

    87

    文章

    10978

    浏览量

    206671
  • 操作系统
    +关注

    关注

    37

    文章

    6264

    浏览量

    121841
收藏 人收藏

    评论

    相关推荐

    嵌入式会越来越卷吗?

    概念,却在发展中展现出了惊人的灵活性和适应。因此,我们要问:嵌入式系统是否会走向“卷”的发展? 首先,让我们思考“卷”的含义。它或许指的是嵌入式
    发表于 03-18 16:41

    构建系统思维:信号完整性,看这一篇就够了!

    信号完整性(Signal Integrity,SI)在电子工程领域中具有极其重要的意义,也是现代电子设计的核心考量因素之一,尤其在高速PCB设计、集成电路设计、通信系统设计等领域,对保证系统
    发表于 03-05 17:16

    嵌入式系统发展前景?

    嵌入式系统发展前景? 嵌入式系统,从定义上来说,是一种专用的计算机系统,它被设计用来控制、监视或者帮助操作一些设备、装置或机器。在过去的几年
    发表于 02-22 14:09

    要画好PCB,先学好信号完整性

    的顶层和底层使用组合微带层时要小心。这可能导致相邻板层间走线的串扰,危及信号完整性。 按信号组的最长延迟为时钟(或选通)信号走线,这保证了在时钟读取前,数据已经建立。 在平面之间对嵌入式信号进行走线
    发表于 02-19 08:57

    嵌入式开发学习的十三法则分享

    的“ 初始敏感性” 对于其“ 最终计算结果” 的影响就变得微乎其微了。 二、实时法则 嵌入式系统的计算结果,不仅依赖于系统的逻辑运算之正确
    发表于 12-21 06:32

    MCU使用嵌入式系统,这个软件的实时还能保证吗?

    MCU使用嵌入式系统,这个软件的实时还能保证吗
    发表于 10-13 06:11

    什么是嵌入式Linux?

    发展需要不断进化。随着芯片性能的增强和社会变革的需要,嵌入式系统越来越承接更多、更复杂的功能,所以嵌入式开发也以高薪稳定的状态稳坐在就业的顶端。(相较于其他行业,嵌入式工程师的工资在同
    发表于 10-11 13:47

    信号完整性分析

    就变得重要了,通常将这种情况称为高频领域或高速领域。这些术语意味着在那些互连线对信号不再透明的产品或系统中,如果不小心就会出现一种或多种信号完整性问题。 从广义上讲,信号完整性指的是在高速产品中由互连线引起的所有问题。它主要研究
    发表于 09-28 08:18

    Samtec 技术前沿 | 利用全新互连系统提高电源完整性和信号完整性

    摘要/前言 一种新的连接器系统 通过改善电源完整性来提高信号完整性 。优化电源完整性可提供更大的信号完整性余量,并提高电源和热效率。 高速连
    发表于 08-31 11:33 424次阅读
    Samtec 技术前沿 | 利用全新互连<b class='flag-5'>系统</b>提高电源<b class='flag-5'>完整性</b>和信号<b class='flag-5'>完整性</b>

    如何利用全新互连系统提高电源完整性和信号完整性

    一种新的连接器系统通过改善电源完整性来提高信号完整性。优化电源完整性可提供更大的信号完整性余量,并提高电源和热效率。
    的头像 发表于 08-30 10:37 819次阅读
    如何利用全新互连<b class='flag-5'>系统</b>提高电源<b class='flag-5'>完整性</b>和信号<b class='flag-5'>完整性</b>?

    如何使用NUC1262 CRC对代码完整性进行验证

    应用:本示例代码使用 NUC1262 CRC 对代码完整性进行自我验证。 BSP 版本: NUC1262_Series_BSP_CMSIS_V3.00.001 硬件
    发表于 08-29 06:49

    RAM测试是什么?嵌入式系统开发中RAM测试的重要性

    基本安全措施是实施RAM测试。在本文中,我们将探讨RAM测试在维护嵌入式系统完整性和安全性方面的重要性背后的原因。
    发表于 07-28 11:11 1306次阅读

    使用SEGGER Linker的完整性检查功能

    嵌入式产品应用中,为了保证系统数据在存储或者传输过程中的完整性,固件映像中通常包含完整性检查(integrity checks),以检测映像是否损坏。例如,bootloader可以基
    发表于 05-18 13:50

    使用SEGGER Linker的完整性检查功能

    嵌入式产品应用中,为了保证系统数据在存储或者传输过程中的完整性,固件映像中通常包含完整性检查(integrity checks),以检测映像是否损坏。
    的头像 发表于 05-04 10:45 681次阅读
    使用SEGGER Linker的<b class='flag-5'>完整性</b>检查功能

    电源完整性(PI)分析法

    发生。   它根据最高保真度的电磁数值分析来求解PCB和IC封装高速数字设计所涉及的所有方面。   所谓电源完整性是指系统供电电源在经过电源分配系统后在需要供电的器件端口处相对于该器件端口对工作电源
    发表于 04-24 11:46