随着多核和支持虚拟机管理程序的移动 SoC 的出现,1 类 PDA 和软件定义无线电 (SDR) 等军用移动设备现在可以跟上最新的商业移动软件计划(如 Google Android)的步伐,同时降低成本并满足最严格的安全要求。除了硬件进步之外,软件技术和体系结构还实现了这一目标,这些技术和体系结构包括使用多个独立安全级别 (MILS) 分离内核及其高保证分区策略的分层虚拟化方法。
处理分类数据的通信设备通常采用标准的红黑分离,其中红侧处理器负责加密功能,黑侧处理器负责通信堆栈和驱动程序。在出口上,源自红色端的机密信息被加密,并通过某种互连发送到黑端进行传输。在入口时,黑侧驱动程序接收的信息通过互连进行解密和任何其他红侧处理,例如防护和身份验证。此常规体系结构如图 1 所示。
图1:通信设备红黑架构
请注意,逻辑红侧加密组件可能包括附加的专用硬件设备,例如 FPGA,用于加密算法执行、密钥存储和物理冗余。
在 Type-1 认证期间,在加密边界内运行的任何软件都受到国家安全局 (NSA) 的严格审查。这自然对红边软件提出了严格的保证要求和复杂性限制。
软件定义无线电
现在,让我们以软件定义无线电(SDR)为例,更详细地看一下红黑架构。更具体地说,让我们考虑采用软件通信架构(SCA)的设备,SCA是用于开发SDR的开放框架。SCA 提供标准化的 API,用于管理波形和其他无线电相关资源。SCA 位于符合 SCA 的操作系统之上。在 SDR 中,SCA 可用于红色和黑色两侧。黑色面通常包括管理无线电通信所需的组件,包括波形本身。因此,实时操作系统(RTOS)通常是必不可少的。
红色的一面可能较少使用 SCA 的功能。至少将包括 SCA 标准化的消息传递和组件管理功能。然而,值得注意的是红方在管理明文方面的作用。人机界面(HCI)组件,如键盘驱动程序、语音编解码器和触摸屏管理软件,将包含在红边处理中。例如,手持无线电操作员可能会说出语音数据,这些数据必须由红边收集以进行加密处理,然后才能发送到黑边进行传输。
与任何 Type-1 通信设备一样,最小化红色边的认证相关软件内容是 SDR 开发人员和认证机构的战略目标。由于其实时和安全关键要求,可信的RTOS是自然而然的选择。图 2 显示了主要的红侧和黑侧 SDR 组件的示例架构。
图2:SDR 红黑架构示例
进入安卓
虽然模拟语音无线电具有相对简单的HCI,但智能手机和多用途数字语音/数据无线电只是可能包含更复杂的HCI的两个设备示例。Android已迅速成为消费电子产品中最受欢迎的HCI框架之一。然而,Android是基于Linux构建的,Linux是一个整体式操作系统,不符合高保证认证要求,不适合低延迟、硬实时任务。
为了将Android整合到军事通信设备的红边HCI中,而不将其整个数百万行的源代码库带入加密边界,一个明显的选择是合并第二个专用于Android的应用处理器。然而,增加第二个处理器会增加占用空间、功耗、生产成本和系统复杂性。这在资源受限的设备(例如电池供电的无线电)中尤其成问题。
当它们使用辅助红侧处理器合并时,通用操作系统通常仅用于非机密通信。分类通信需要自定义 HCI 接口,以实现敏感数据和命令的完整性和可用性的高度保证。
当然,圣杯是在不牺牲实时性能、危及安全性或增加认证开销的情况下将 Android 整合到原始的红色处理器中。此外,我们希望将 Android 用于分类和非分类界面,使作战人员能够充分实现 Android 丰富的生产力优势。使用一种特殊形式的系统虚拟化(称为多独立安全级别 (MILS) 虚拟化)可以实现此目标。MILS 虚拟化需要一个 MILS 分离内核。
MILS 分离内核
MILS 是一种基于高保证组件概念以及这些组件之间严格隔离和控制信息流的安全架构。在最低级别,MILS 策略由分离内核强制执行,分离内核是一种专用 RTOS,旨在满足最高级别的保证,同时为托管通用和安全关键型应用程序提供强大的环境。
软件安全保证的评估是使用信息技术安全产品评估的国际标准:通用标准(ISO/IEC 15408)进行的。通用标准评估保证级别 (EAL) 范围为 1 到 7。大多数通用产品(如 Windows、Linux、VMware、Web 服务器、防火墙等)都经过 4 级或更低级别的认证。6+ 级对应于高保证。2008年,Green Hills Software的INTEGRITY分离内核成为第一个获得高保证通用标准认证的软件技术。此级别的保证必备条件包括许多严格的开发过程控制、安全策略的正式数学证明以及具有完全源代码访问权限的 NSA 渗透测试。相同的RTOS技术广泛用于NSA Type-1认证的通信设备。
EAL6+代表了美国政府将“高稳健性”映射到通用准则。高健壮性是通信设备在高威胁环境中管理高价值信息时建议的安全级别。如果信息值或威胁环境较低,则中等健壮性 (EAL 4) 解决方案可能就足够了。
MILS 虚拟化
如前所述,MILS 分离内核的强大之处在于它能够实现安全关键型应用程序与通用应用程序的共存。在某些情况下,这些通用子系统是完整的“来宾”操作系统,在 MILS 分离内核控制的虚拟机中运行。与传统的虚拟机管理程序不同,分离内核可以托管本机应用程序和来宾。分离内核严格的资源调度和保护机制确保虚拟机及其组成应用程序不会影响关键应用程序的执行。
分离内核是唯一在处理器最高特权模式下运行的软件。系统虚拟化的机制取决于处理器的特定硬件功能。现代嵌入式处理器越来越多地采用硬件虚拟化加速技术,使虚拟机管理尽可能简单高效。
分离内核可以根据需要在 Android HCI 和其他红侧应用程序之间提供严格控制的进程间通信 (IPC) 路径。例如,源自 Android 网络子系统的互联网协议数据可以通过 IPC 管道传输到加密子系统进行加密和传输。MILS 虚拟化概念在 SDR 示例中的应用如图 3 所示。
图3:MILS 虚拟化 SDR 架构
然而,使用Android管理机密通信的困难仍然存在。例如,考虑使用Android触摸屏小部件的作战人员输入敏感命令“立即将所有加密密钥归零”。任务成功与否可能取决于命令信息是否通过 Android 正确传递到加密组件。然而,Android的低保证使得无法做出必要的完整性和可用性保证。
同样,MILS 虚拟化提供了一个解决方案。在 MILS 虚拟化架构中,物理图形设备由运行在 MILS 分离内核上的受信任应用程序独占控制;Android 只能访问虚拟化设备。因此,当通过 Android 和虚拟化界面输入命令时,受信任的应用程序可以检查该命令。只有当作战人员确信 Android 忠实地传达了他/她的意图时,才会发出命令。此验证阶段提供了从作战人员到高保证组件的 MILS 强制实施的可信路径;Android完全脱离了循环。
多域 MILS 虚拟化
一些军事通信设备(如无线电、智能手机和网络接口卡)必须管理不同机密级别的信息。默认策略要求不同级别的信息保持物理隔离。通常,这是通过以下两种方式之一完成的。一种方法是要求冷重启,其中可写硬件资源归零,以便在安全级别之间安全地切换设备。这种做法不仅对用户不友好,而且重新启动可能会延迟通信并影响任务效率。第二种方法是为每个安全级别包含一个独立的红侧处理器,并且只需要人机接口设备(例如,显示器或键盘)的安全开关。同样,额外的处理元件将增加器件的占地面积、生产成本和系统复杂性。
MILS 虚拟化也解决了多域问题。任何所需子系统的单独实例(包括虚拟机和 SCA 框架)都可以由 MILS 分离内核严格隔离和调度。此外,分离内核托管本机应用程序的能力可以解决共享人机接口设备问题:受信任的多级安全 (MLS) HCI 应用程序可以直接在分离内核上运行,根据 MLS 组件直接捕获的用户派生焦点输入多路复用多域 I/O。SDR 的多域 MILS 虚拟化架构如图 4 所示。
图4:多域 MILS 虚拟化
虽然图 3 和图 4 中描述的架构可以使用单核处理器实现,但多核嵌入式处理器的出现可以使它们更加实用。如这些示例所示,复杂的红侧处理包括许多组件,其中许多组件可以在多核感知分离内核的监督下在多个内核上并发执行。这种额外的马力可为虚拟机提供良好的性能,同时确保关键应用程序的实时行为。
军事“机器人”
最新的多媒体软件包(如 Android)的丰富功能现在可以集成到要求最苛刻的实时、安全的军事通信设备中,而不会增加硬件占用空间、成本或认证负担。关键创新是 MILS 虚拟化,它利用资源管理功能、本机应用程序环境和可信分离内核的保证谱系以及现代虚拟机管理程序技术来有效地整合通用和关键子系统。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !