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

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

3天内不再提示

使用硬件信任根解码软件安全性

星星科技指导员 来源:嵌入式计算设计 作者:RUSSELL DOTY 2022-11-02 10:13 次阅读

软件的最大优势在于它可以改变——它可以针对新需求和新情况进行增强、升级、修复和修改。同时,软件的最大弱点是可以更改和修改以复制不良行为。

软件安全的一个主要目标是仅允许被授权实体更改软件,并防止未经授权的实体更改软件。如果做不到这一点,您希望能够检测软件是否已更改。这一目标,即预防和检测未经授权的更改,是受信任软件的核心。

问题是,你怎么知道你可以信任一个软件?一种方法是让您信任的实体证明该软件是可信的。这方面的一个例子是仅安装来自“已知良好”或受信任来源的软件。您还应该使用加密技术检查软件的签名。例如,开发人员可以使用Linuxrpm 软件包格式和 rpm 实用程序在安装之前验证其软件包的加密哈希。这是使用 rpm 的正常部分,有助于检测通过恶意操作或数据损坏修改的软件包。

然而,这仅仅是个开始——信任和验证必须贯穿整个软件开发链。例如,执行转速检查的软件必须是可信的。可以使用系统完整性实用程序检查 rpm 软件。但是,系统完整性实用程序也必须是可信的。这可以在Linux内核中完成(它集成了某些系统完整性检查功能。然后,Linux 内核必须由引导加载程序进行验证,这可以通过 UEFI 固件和安全启动进行验证。UEFI 固件可以检查其自身的完整性。是信任自始至终!

但 UEFI 固件是软件。特殊软件,具有多次完整性检查和特殊更新过程,但它仍然是软件。如果资源充足,即使是 UEFI 固件也可能受到损害。一旦系统固件遭到入侵,系统中的任何其他内容都无法信任。

在系统之外,公钥加密(PKC)可以提供一种强大的方法来验证系统的身份并执行安全操作。PKC 使用一对密钥 – 公钥和私钥。只要私钥受到保护,加密就是安全的。不幸的是,如果系统受到损害,私钥也会受到损害,并且实际的加密操作可能会被暂停。如果您需要信任系统,这不是一件好事!

一个答案是使用不可变的硬件。例如,通过在生产过程中熔断一组芯片保险丝,可以在硬件中固定 CPU 序列号。不幸的是,此CPU序列号将由软件读取和传输。如果系统遭到入侵,软件可以返回任何序列号。

另一个答案是使用特殊的安全处理器 - 专用计算机,它只执行一小部分安全和加密功能,并提供不可变的硬件信任根,其中包括几个关键属性。在硬件信任根中,安全处理器及其软件和内存是独立的,旨在抵御物理攻击或危害。软件硬编码到芯片中,无法修改或更新;它是真正的只读。安全处理器中包含有限数量的非易失性存储;此存储器主要用于存储加密密钥和哈希。安全处理器包括一组强大的加密功能,包括加密和解密、哈希和加密密钥生成,所有这些都是使用定义良好的 API 执行的。

使用硬件信任根,可以在安全处理器内生成公钥和私钥对。私钥可以保留在处理器内部,永远不会暴露给系统。在此模式下,私钥永远不会存在于处理器之外,并且无法检索或泄露。

这种安全处理器可用于为构建可信系统提供起点,方法是使用它来证明最低级别的 UEFI [统一可扩展固件接口] 固件的完整性,然后构建完整且受信任的软件堆栈。这正是将受信任的处理模块 (TPM) 与 UEFI 安全启动结合使用以实现受信任启动时所做的操作。

TPM 在服务器、台式机和笔记本电脑系统中广泛使用。它还可用于高端物联网IoT) 和嵌入式系统

TPM通常作为单独的芯片实现,安全处理器也被集成到标准CPU中。这方面的例子包括 ARM TrustZone 和 AMD 安全处理器。英特尔正在添加软件防护扩展 (SGX),提供硬件强制的安全功能。

不幸的是,这些安全功能并没有像它们应该的那样广泛使用。我鼓励任何实施安全敏感系统(实际上应该是所有系统)的人考虑在其系统上使用可用硬件信任根的安全功能。

审核编辑:郭婷

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

    关注

    68

    文章

    18617

    浏览量

    224756
  • 物联网
    +关注

    关注

    2883

    文章

    42346

    浏览量

    361938
  • Linux
    +关注

    关注

    87

    文章

    11031

    浏览量

    207274
收藏 人收藏

    评论

    相关推荐

    艾体宝方案 | 管理开源软件包更新,提升开源安全性

    文章介绍了Mend.io如何通过其Smart Merge Control功能增强开源软件安全性。现代应用程序高度依赖开源软件,但这也增加了潜在的安全漏洞。Mend SCA的增强功能允
    的头像 发表于 05-31 17:03 144次阅读

    芯盾时代中标江苏省苏豪控股集团 零信任实现业务访问的高安全性

    中标喜讯 | 芯盾时代中标江苏省苏豪控股集团 零信任实现业务访问的高安全性
    的头像 发表于 03-26 14:07 219次阅读
    芯盾时代中标江苏省苏豪控股集团 零<b class='flag-5'>信任</b>实现业务访问的高<b class='flag-5'>安全性</b>

    软件测试活动有哪些?

    第三方软件测试是一种软件测试活动,旨在确保软件的质量、功能、性能和安全性等方面符合预期要求。 一、以下是一些常见的第三方软件测试类型: 1、
    发表于 01-08 11:11

    求助,为什么说电气隔离安全性比较高?

    为什么说电气隔离安全性比较高?
    发表于 11-02 08:22

    MCU是怎么为物联网端点设备提高安全性的?

    MCU 是怎么为物联网端点设备提高安全性的?
    发表于 10-17 08:53

    芯盾时代参与编写《零信任数据安全白皮书》 给出数据安全“芯”方案

    近日,零信任产业标准工作组和云计算开源产业联盟零信任实验室牵头,芯盾时代参与编写的 《零信任数据安全白皮书》 (以下简称“白皮书”)在“2023 SecGo云和
    的头像 发表于 09-13 10:55 478次阅读
    芯盾时代参与编写《零<b class='flag-5'>信任</b>数据<b class='flag-5'>安全</b>白皮书》 给出数据<b class='flag-5'>安全</b>“芯”方案

    使用STM32安全启动与固件更新

    STM32 内建的各种软硬件安全技术,构建了从启动开始的信任链,可以用来防止固件克隆、恶意软件下载以及固件破坏。本文则是带领读者一步一步来体验 STM32
    发表于 09-11 07:35

    STM32MP1微处理器确保终端设备的安全性

    和客户接受度方面进行重大投资。同样,在IT网络中部署安全措施需要使用特定硬件软件特性的专用开发策略。工程能力必须加以提升以获得安全系统方面的可靠专业知识,确保始终抢在威胁的前面;同时
    发表于 09-07 07:25

    《零信任发展研究报告(2023年)》发布丨零信任蓬勃发展,多场景加速落地

    近日,中国信息通信研究院在“2023 SecGo云和软件安全大会”上发布了 《零信任发展研究报告(2023年)》 (以下简称“报告”),全面介绍了在数字化转型深化背景下,零信任如何解决
    的头像 发表于 09-06 10:10 705次阅读
    《零<b class='flag-5'>信任</b>发展研究报告(2023年)》发布丨零<b class='flag-5'>信任</b>蓬勃发展,多场景加速落地

    国内首创!通过SDK集成PUF,“芯片指纹”打造MCU高安全芯片

    和全面的安全功能,这些弱点使得安全MCU芯片容易受到各种安全漏洞和攻击的威胁。为了解决这些问题,需要为MCU芯片建立可靠的硬件信任
    发表于 09-06 09:44

    STM32H5 MCU系列提升性能与信息安全性

    强大的Arm® Cortex®-M33 MCU运行频率高达250 MHz的Arm®Cortex®-M33内核32位MCU满足绝大多数工业应用的需求安全性可扩展,满足各类需求从基本的安全构建模块到经过
    发表于 09-06 06:29

    NuMicro M2351系列微控制器的安全特色与应用

    丰富的功能以提高系统安全性。例如: 安全启动程序 (Secure Boot Loader) 可以验证韧体的完整,并在需要时支持全微控制器韧体更新。包括 ECC 在内的硬件加密加速器支
    发表于 08-28 06:24

    TrustZone Technology微控制器系统硬件设计概念用户指南

    TrustZone技术可用于实施PSA认证的信任。 PSA认证计划是用于内置安全的通用行业框架和方法,使芯片制造商、系统软件提供商和原始设备制造商能够使用经过验证的
    发表于 08-09 07:25

    Arm平台安全架构固件框架1.0

    基于行业最佳实践的配方,允许在这两个方面一致地设计安全性 硬件和固件级别。 PSA固件框架规范定义了标准编程环境和固件用于在设备的信任内实现和访问
    发表于 08-08 07:14

    ARMv8系统中的安全性

    安全扩展模型允许系统开发人员对设备硬件进行分区软件资源,以便它们存在于安全子系统的安全世界中,或者存在于其他一切都是正常的。正确的系统设计可
    发表于 08-02 18:10