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

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

3天内不再提示

为嵌入式安全关键型应用创建可信平台

星星科技指导员 来源:嵌入式计算设计 作者:Richard Jaenicke,St 2022-11-09 15:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:Richard Jaenicke,Steve Edwards

安全关键型应用程序(如跨域解决方案 (CDS))需要一个安全、可信的平台来执行,涵盖软件、固件和硬件。应用程序直接与之交互的最低层是受信任的操作系统 (OS)。对操作系统的信任取决于两个因素:从安全角度来看,操作系统的稳健性,以及确保操作系统已正确加载和配置且永远不会被篡改。操作系统信任还部分取决于受信任的预操作系统功能,例如在操作系统之前执行的安全启动固件。

计算机硬件和软件平台的安全鲁棒性通常通过评估来指定“信息技术安全评估通用标准”(ISO/IEC 15408)1.通常,通用准则评估目标 (TOE) 是根据政府定义的保护配置文件进行评估的,其中包括功能和保证要求。评估可以针对不同的深度和严格性级别进行,称为评估保证级别 (EAL),EAL1 是最不严格的,EAL7 是最严格的。或者,可以通过安全认证实现一定程度的信任。尽管安全认证为完整性和可用性提供了一定程度的保证,但它们通常不直接涉及机密性或其他信任机制。

要信任已加载正确的操作系统 (OS) 代码,需要建立信任链,一直追溯到开机时建立的信任根 (RoT)。信任链中的每个环节都必须具有足够的安全保证功能,并且必须在执行信任链中的下一件软件之前对其进行身份验证。RoT 的稳健性是任何可信平台的关键起点。健壮性级别范围很广,从软件 RoT 到基于硬件中嵌入的物理不可克隆功能 (PUF) 的健壮性级别。

安全稳健性

在美国政府定义的保护配置文件中,稳健性是衡量 TOE 保护自身、数据和资源能力的指标。稳健性级别分为基本、中等或高2.TOE 所需的稳健性级别的特征是它所保护的数据的价值以及为其部署环境识别的威胁的函数。

基本健壮性环境定义为遇到由无意错误或随意淘气的用户引入的威胁的环境。通常,“最佳商业做法”足以在基本的健壮环境中保护信息3.中等健壮性环境就足够了,攻击者的动机被认为是“中等”的,并且攻击者至少具有中等水平的资源或专业知识2.一般来说,中等健壮性“适用于假定的非敌对和管理良好的用户社区,这些用户社区需要防止无意或随意尝试破坏系统安全的威胁。4

对于同时存在复杂威胁代理和高价值资源的环境,需要高稳健性 TOE,从而导致尝试安全入侵的可能性很高5.高鲁棒性需要 EAL6 或更高,适用于保护系统免受极其复杂和资金充足的威胁,例如来自民族国家和国家实验室的攻击。对于中高稳健性环境,通常需要要求将产品的某些硬件组件作为TOE的一部分进行评估。此要求使产品不太可能受到损害以及始终调用安全策略的置信度更高2.

信任链

为跨域解决方案 (CDS) 应用程序提供安全的计算环境部分取决于建立信任链,从硬件 RoT 开始,一直延伸到软件的每一层。链中每个环节的信任有两个组成部分:安全解决方案的稳健性和组件的真实性。真实性由加密签名确保,通常采用安全哈希算法的形式。身份验证可以保证加载的软件是预期的软件,而不是其他软件,但身份验证不解决安全功能,包括没有漏洞。

信任链的起点,RoT,可以基于软件,但硬件RoT更安全。硬件 RoT 的主要选择包括单独的可信平台模块 (TPM) 芯片、片上引导 ROM 代码和基于物理不可克隆功能 (PUF) 的片上安全性。

在基于英特尔处理器的系统上,英特尔可信执行技术 (TXT) 使用 TPM 为 BIOS 和虚拟机管理程序或操作系统内核的哈希存储已知良好的值。打开电源时,BIOS 的哈希值将与 TPM 中存储的值进行比较。如果匹配,则加载 BIOS,并计算和比较虚拟机管理程序或操作系统内核的哈希。请注意,CPU 的某些部分已经在运行以计算哈希,并且引导微码(这是 CPU 执行的第一个软件)已经由处理器本身进行了加密身份验证。

基于 FPGA 的 RoT

使用内置于自身芯片中的 RoT 的设备可以实现更高级别的安全性。此类器件的典型示例包括Microsemi PolarFire或SmartFusion2 SoC FPGA[现场可编程门阵列],Intel Stratix 10 FPGA和Xilinx Zynq UltraScale+ MPSoC [多处理器片上系统]。对于 Zynq MPSoC,金属屏蔽引导 ROM 代码与存储在硬件 eFUSE 中的 RSA 密钥哈希一起提供硬件 RoT。器件的配置安全单元 (CSU) 从片上金属屏蔽 ROM 启动并强制执行 RoT。它通过使用 SHA-3/384 引擎计算用户公钥的加密校验和来验证从外部存储器读取的用户公钥的完整性,然后将其与存储在 eFUSE 中的值进行比较。如果匹配,CSU 将加载并验证第一阶段引导加载程序 (FSBL)7.

引导过程的某些部分,例如加载FPGA比特流,除了真实性之外,可能还需要机密性。片上 PUF 可用于创建密钥加密密钥 (KEK),该密钥用于加密用于解密比特流的用户对称密钥。KEK 永远不会存储,而是在每次通电时基于 PUF 创建,PUF 在物理上是唯一的,无法复制。在某些设备上,可以采用相同的技术来生成用于验证引导 ROM 的初始密钥,而不是存储密钥 eFUSE,从而进一步增强安全性。

一旦 SoC 或 FPGA 安全启动,它就可以充当主处理器的 RoT。它可用于提供启动过程的硬件身份验证,并确保处理器仅执行受信任的代码8.

信任链中的漏洞

如上所述,尽管对信任链中的每个环节进行身份验证可确保只加载预期的软件,但身份验证并不能解决安全功能问题,包括免于漏洞。因此,应设计、测试和验证代码的每个部分,使其没有漏洞。此规则特别适用于金属屏蔽的引导 ROM 代码,如果以后发现漏洞,则无法轻松更新。

例如,最近发现的英特尔融合安全和管理引擎(CSME)启动ROM中存在一个在过去五年中未被发现的缺陷,该漏洞可以控制芯片组密钥的读取和所有其他加密密钥的生成。9.一旦攻击者获得此芯片组密钥,他们就可以解密使用英特尔平台信任技术 (PTT) 加密的任何数据,并伪造设备的增强型隐私 ID (EPID),用于远程证明受信任的系统。更重要的是,由于该漏洞位于金属掩蔽的引导ROM中,因此无法使用固件更新对其进行修补10.

米尔斯架构

一旦建立了可信的硬件平台,下一步就是软件架构的设计。为 CDS 应用程序构建可信软件环境最容易接受的途径是实现高健壮性的多独立安全级别 (MILS) 操作环境。MILS 将软件架构分为三层:分离内核、中间件和应用程序。每一层强制实施安全策略集的单独部分。分离内核是唯一以特权模式执行的层。应用程序可以实施自己的安全策略,启用特定于应用程序的策略,而不是依赖于整体内核中的广泛安全策略。每一层和每个应用程序都可以单独评估,而不会影响其他层/应用程序的评估,使CDS系统更易于实施、认证、维护和重新配置11.

分离内核12使用基于硬件的内存管理单元 (MMU) 将内存划分为多个分区,并且只允许在非内核分区之间仔细控制通信。此外,操作系统服务(如网络堆栈、文件系统和大多数设备驱动程序)在分区中执行,而不是在特权模式下的内核中执行(图 2)。由于分离内核依赖于硬件功能(如 MMU)来强制实施某些分离要求,因此必须信任硬件平台。

[图2 |使用分离内核,应用程序在隔离分区中运行,并通过多个单级安全性 (MSLS) 文件服务器或网络堆栈访问外部数据。

整洁的安全属性

分离内核强制实施数据隔离并控制分区之间的通信。这使得不同分类级别的不受信任的应用程序和数据对象驻留在单个处理器上。分离内核还使受信任的应用程序能够与受信任程度较低的应用程序在同一处理器上执行,同时确保受信任的应用程序不会受到受信任程度较低的应用程序以任何方式的损害或干扰。分离内核实施的安全策略是不可绕过的、始终被调用和防篡改的,因为它是唯一在处理器上以特权模式运行的软件13.此外,分离内核的小尺寸使其“可评估”。这四个属性 - 不可绕过,可评估,始终调用和防篡改 - 由首字母缩略词“NEAT”表示。

MILS操作环境中NEAT特性的保证使多级安全(MLS)系统能够设计为一组独立的系统级分区,具有跨域解决方案,可在这些分区之间以及与外部系统之间实现安全通信。利用在经过高健壮评估的分离内核中提供的 NEAT 安全策略实施,可以生成小型且紧密集中的跨域服务器、降级程序和防护装置。反过来,这一步使对这些跨域解决方案的高确定性评估变得实用、可实现且经济实惠。

隐蔽通道

实现高稳健性最具挑战性的要求之一是缓解隐蔽通道,这是一种意外或未经授权的通信路径,可用于以违反安全策略的方式传输信息15.隐蔽通道可以分为基于存储或基于定时,或者两者的混合。隐蔽存储通道通过一个应用程序在另一个应用程序可读的位置设置位来传输信息。隐蔽定时通道通过一段时间内调节系统行为的某些方面来传达信息,其方式可以被另一个应用程序观察到。

许多隐蔽渠道的识别和缓解极具挑战性。高鲁棒性分离内核必须证明已采用系统方法来识别和缓解各种可能的通信机制中的隐蔽信道。缓解技术包括关闭或阻止隐蔽信道,限制潜在隐蔽信道的带宽,使保证大于风险,并确保只有高度受信任的应用程序才能访问隐蔽信道。

扩展的安全功能

根据所需的安全健壮性级别,安全系统体系结构可能需要的其他功能包括审核日志记录、完整性测试和抽象计算机测试 (AMT)。审核日志记录记录分离内核执行期间的特定事件,以检测潜在的恶意代码行为。完整性测试可确保存储在易失性和非易失性 RAM 中的分离内核的可执行映像的完整性。完整性测试包括对分离内核在RAM中的活动可执行映像的连续测试以及一组上电测试。AMT 是确保实施硬件保护机制的持续测试;例如,那些尝试内存冲突和特权指令执行的测试,以确保在虚拟地址空间之间强制分离的硬件仍在运行。审核日志记录、完整性测试和 AMT 都需要满足高可靠性。

受信任的硬件和软件解决方案示例

Curtiss-Wright 的 CHAMP-XD1S 3U VPX 数字信号处理 (DSP) 模块采用英特尔至强 D 处理器、Xilinx Zynq UltraScale+ MPSoC FPGA 和基于闪存的美高森美 SmartFusion2 FPGA,可提供专为高性能嵌入式计算 (HPEC) 设计的安全处理器板。该模块的 FPGA 和软件安全功能具有 TrustedCOTS 增强型可信启动功能,包括基于 FPGA 的安全根,可防止恶意网络攻击、探测和逆向工程。CHAMP-XD1S 使用 TPM 2.0 安全芯片来支持英特尔 TXT 安全启动技术。该开发板还使用 Zynq UltraScale+ MPSoC 中的 PUF 来生成用于验证启动代码的加密密钥。该身份验证可用作 RoT,以将信任扩展到系统的其他部分。SmartFusion 2 FPGA 提供健康和管理功能,并可集成其他安全功能。

在软件领域,Green Hills Software的INTEGRITY-178 tuMP实时操作系统(RTOS)提供了一个基于分离微内核的MILS操作环境,该微内核能够托管MLS应用程序,包括跨域解决方案。RTOS 提供高鲁棒性分离内核所需的高级别数据隔离、信息流控制、资源清理和故障隔离。这些基础安全策略是不可绕过的、可评估的、始终调用的和防篡改的(再次,NEAT 首字母缩略词),提供了将 MLS 系统设计为一组独立的安全分区所需的高保证级别,具有跨域解决方案,可实现这些分区之间的安全通信。

2008年,INTEGRITY-178 RTOS成为第一个也是唯一一个通过美国国家安全局(NSA)信息保障局发布的“美国政府在需要高鲁棒性的环境中分离内核保护概况”(SKPP)认证的操作系统。SKPP的认证是高鲁棒性和EAL6+。

作为SKPP认证的一部分,RTOS经过了NSA的独立漏洞分析和渗透测试,以证明它能够抵抗具有高攻击潜力的攻击者,并且不允许具有高攻击潜力的攻击者违反安全策略。此外,它还接受了 NSA 的隐蔽信道分析,以证明它满足所有隐蔽信道缓解指标。

除了被批准为 MILS 分离内核之外,INTEGRITY-178 还提供了一套完整的 API,这些 API 也经过 NSA 评估,供安全分区内的 MLS 应用程序使用 – MLS 防护,这是跨域系统的基本要求。这些安全 API 包括对多线程的支持、多核上的并发执行以及配置文件级别的灵活核心分配,所有这些都在安全的 MILS 环境中进行。

审核编辑:郭婷

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

    关注

    5212

    文章

    20763

    浏览量

    338789
  • 计算机
    +关注

    关注

    19

    文章

    7851

    浏览量

    93599
  • 操作系统
    +关注

    关注

    37

    文章

    7453

    浏览量

    129726
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【飞凌嵌入式T153开发板试用】初识飞凌嵌入式T153开发板

    精美,开发板也做的非常漂亮。 开发板的相关介绍如下: 飞凌嵌入式 T153 开发板以全志 T153 处理器核心,该处理器专为工业领域设计,集成 4 核 Cortex-A7(主频 1.6GHz
    发表于 05-20 20:08

    探索 Infineon OPTIGA™ TPM:可信计算保驾护航

    Infineon 的 OPTIGA™ TPM 是一个标准化的安全控制器家族,基于英飞凌先进的硬件安全技术,嵌入式平台提供广泛的
    的头像 发表于 05-19 12:20 200次阅读

    深度解析MAX32520:安全嵌入式系统的理想选择

    Cortex M4微控制器,凭借其先进的安全技术和丰富的功能特性,构建新一代可信嵌入式系统和通信设备提供了卓越的解决方案。 文件下载: MAX32520-BNS+.pdf 一、概述
    的头像 发表于 05-18 17:10 320次阅读

    深度解析MAX32591:打造安全可靠的嵌入式系统

    深度解析MAX32591:打造安全可靠的嵌入式系统 在当今数字化时代,嵌入式系统的安全性和性能至关重要。Maxim Integrated推出的MAX32591 DeepCover
    的头像 发表于 03-26 16:50 435次阅读

    深度解析MAX32560:开启嵌入式安全新时代

    深度解析MAX32560:开启嵌入式安全新时代 在当今数字化的时代,数据安全愈发重要,嵌入式设备的安全需求也日益增长。Maxim Integ
    的头像 发表于 03-26 16:50 393次阅读

    MAX32558:嵌入式安全的卓越之选

    DeepCover® 嵌入式安全解决方案系列,它通过多层先进的物理安全机制来保护敏感数据,关键数据提供了极为
    的头像 发表于 03-26 16:40 182次阅读

    MAX32520:嵌入式安全领域的强大微控制器

    Cortex M4 Microcontroller,凭借其先进的安全技术和丰富的功能特性,构建新一代可信嵌入式系统和通信设备提供了理想的解决方案。 文件下载: MAX32520.p
    的头像 发表于 03-26 16:40 256次阅读

    QNX Hypervisor 8.0 for Safety嵌入式虚拟化平台正式发布

    BlackBerry有限公司(纽约证券交易所代码:BB;多伦多证券交易所代码:BB)旗下业务部门QNX宣布QNX Hypervisor 8.0 for Safety正式发布。这是QNX新一代经安全认证的嵌入式虚拟化平台,专为功能
    的头像 发表于 03-16 10:40 451次阅读

    Parasoft C/C++test:嵌入式安全关键行业的一体化软件测试解决方案

    缝融入 DevOps 的自动化测试工具。Parasoft C/C++test 正是解决这一痛点而生,它是面向嵌入式安全关键行业的集成软件测试解决方案,凭借全面的自动化能力与深度流程适
    的头像 发表于 03-06 09:42 439次阅读

    嵌入式系统安全设计原则

    随着物联网、工业控制和智能设备的普及,嵌入式系统的安全问题越来越突出。一个小小的漏洞,就可能导致设备被入侵、数据泄露,甚至对人身安全产生威胁。因此,从设计阶段开始就考虑安全,是每一个
    的头像 发表于 01-19 09:06 559次阅读
    <b class='flag-5'>嵌入式</b>系统<b class='flag-5'>安全</b>设计原则

    C语言单元测试在嵌入式软件开发中的作用及专业工具的应用

    替代的重要性,特别是在汽车电子、工业控制、航空航天等安全关键领域。winAMS作为专业的嵌入式C语言单元测试工具,通过其编译器级代码解析、目标代码级覆盖率验证和硬件虚拟化等先进技术,
    发表于 12-18 11:46

    嵌入式开发的关键点介绍

    开发需要考虑嵌入式系统的资源限制,例如:内存、CPU处理能力等等。因此,嵌入式开发需要开发人员具备优化代码的能力。嵌入式系统的安全性非常重要,开发人员需要考虑各种
    发表于 11-13 08:12

    如何采用SAFERTOS和ESM保护嵌入式系统安全

    信任根的重要组成部分是实时操作系统(RTOS),它为应用程序的运行提供了一个安全平台嵌入式系统的具体安全要求取决于其架构以及所面临的威胁。在本博客中,我们将探讨RTOS的
    的头像 发表于 10-24 15:51 1736次阅读

    2025嵌入式行业现状如何?

    关键与非关键系统隔离需求。 2.4 边缘计算与云协同 边缘设备能力提升:嵌入式Linux系统网关支持Matter协议,实时处理温湿度、光
    发表于 08-25 11:34

    QNX QOS 8.0助力构建复杂任务关键嵌入式应用

    “QOS 8.0”)。这一经安全认证的基础性解决方案基于QNX SDP 8.0的高性能、下一代微内核架构打造,可简化汽车、工业生产、机器人、医疗设备和国防等领域的功能安全与网络信息安全关键
    的头像 发表于 08-18 09:09 1715次阅读