开放雾计算安全体系架构综述
2021-11-02
来源:信息安全与通信保密杂志社
一
概 述
随着下一代移动网络(NGMNs)、物联网(IoTs)、边缘计算、雾计算和云计算的相继部署,全球信息服务基础设施正在经历有史以来最大的变革。这将彻底改变人们的生活和工作,同时对于产品和服务的供给模式、人机交互方式等诸多方面也将带来颠覆性的影响。长期以来,全球的用户和机构都严重依赖关键信息基础设施,因此基础设施的信息安全和服务可信度成为了关键的问题。智能设备的普及及其自身的物理脆弱性加剧了研究人员的担忧。如今,日益严重的网络攻击也进一步证实了威胁的存在。然而,产品和服务供应商对这些漏洞和攻击却常常无法及时做出响应,危及到企业的网络信息安全。
开放雾计算联盟(OpenFog Consortium)相信,通过在信息提供者和消费者之间插入无处不在的、可信的、按需的计算服务,可以大大降低安全风险,确保服务的可用性和及时响应性。在本文中,开放雾计算安全工作组(SWG)将对开放雾计算体系架构的安全前景进行概述,并阐述开放雾计算的功能需求和技术方法。同时,将介绍开放雾计算安全的目标、挑战及功能需求和方法。
二
开放雾计算参考体系架构
2017年2月,OpenFog Consortium发布了开放雾计算参考体系架构,该体系架构是一个水平的、系统级架构,它沿着云到物(cloud-to-thing)统一体在任何位置分配用于计算、存储、控制和联网的资源与服务,同时,支持多个行业的垂直和应用领域,使服务与应用能够更接近数据的生成来源,在网络边缘通过云计算,从事物本身并跨多个协议层进行扩展。此次发布的参考体系架构基于八项被称为“支柱”的核心技术原则,代表了系统需要包含的被定义为“OpenFog”的关键属性。这些支柱分别是安全性、可扩展性、开放性、自主性、RAS(可靠性、可用性和可维护性)、敏捷性、层次性和可编程性,如图1 所示。该参考体系架构满足了用于云到雾统一体的可互操作、端到端数据连接解决方案的需求。2018年6月,开放雾计算参考体系架构已被IEEE标准协会(IEEE-SA)采纳为正式标准。
图1 开放雾计算参考体系架构的八个支柱模型
这种可伸缩的计算体系架构建立在雾节点的基础上,雾节点是通信和计算实体,一方面支持硬件虚拟化和可信计算,另一方面支持安全通信和服务提供。在终端设备之间的通信路径上可以部署多层雾节点,包括遗留的设备、物联网传感器/执行器、移动设备和云服务器。在每一层中,每个雾节点之间可以互相通信和协作以传播信息和计算服务,同时支持负载平衡、容错和对网络异常、安全攻击的协调响应。
部署在设备—雾—云(Device-Fog-Cloud)统一体中的雾节点可以执行不同的任务,这取决于它们的通信带宽和处理能力,以及它们与终端设备和云服务器之间的距离(以跳数或延迟计算)。直接连接到终端设备的雾节点主要用作数据集中器、压缩器和预处理。上层雾节点通常会被赋予更多的能力,并被赋予数据分析和建模任务。另一方面,反应性实时计算和网络物理控制往往发生在接近终端设备的雾节点上,而数据到知识的转换可能在离云更近的地方进行。
三
开放雾计算的安全目标及存在问题
使用开放雾计算体系架构的系统,需要为这些系统配备安全性能,目的有两个:(1)使开放雾计算系统能够作为设备—雾—云统一体的一部分进行运作,这个统一体具有响应性、可用性和可生存性,并且是可以信赖的;(2)通过雾节点为那些不具备自我保护能力或资源的设备和子系统提供信息安全和可信计算服务。
开放雾计算中的安全问题存在以下三个问题:(1)开放雾计算作为一种新的普适计算范式时,存在脆弱性;(2)在物理环境下会暴露多个运行中的雾节点;(3)雾节点需要与各种类型的物联网设备实现互操作。
(一)开放环境下运行的风险
1.物理暴露
与云服务器不同,许多雾节点可能会暴露在物理环境中,因此很容易受到物理攻击。为了确保端到端的安全性,必须保护雾节点及其外部输入/输出免受硬件篡改或电磁窃听。保护雾节点所需的物理安全级别必须通过物理风险评估工作来确定。
2.开放安全边界
在实际的应用中,由一个服务供应商所部署的雾节点可以为来自其他供应商的客户端提供服务。这些客户端可能具有不同的安全实践,并且在自我保护方面的能力可能更弱。这些没有明确定义安全边界的开放操作场景为开放雾计算安全带来了一些最大的风险。如何允许这些服务共享信息和资源,同时确保开放雾计算系统的总体安全性仍然是研究人员面临的主要挑战。通过在互操作性和服务域的层次结构上强制执行安全策略,可以克服这一挑战。
3.远程管理
对大多数物联网设备和雾节点,管理员将对其进行远程管理。远程管理能够帮助管理员以最经济的方式控制设备;当然,这种方法也大大增加了漏洞存在的可能,为对手提供了发起各种网络攻击的机会,同时,也增大了侦察和响应攻击的难度。开放雾计算安全管理工作组(OpenFog Security and Manageability Workgroups)正在与产业界合作开发一个基于域的非集中式服务管理上层结构,以提供安全的远程管理服务。
(二)物联网—雾(IoT-Fog)互操作中存在的障碍
1.遗留的过时设备
在系统升级期间,原有的老旧应用程序通常都会对现有的计算和存储设备进行重用,以便保护现有的工作系统并节省成本。但这种做法通常会带来安全问题,因为这些遗留设备在设计之初并没有考虑到开放雾计算的安全需求。因此,在将遗留设备集成到开放雾计算系统之前,必须对它们进行适当的性能完善。最优做法是将加固后的雾节点部署为遗留设备和开放雾计算系统之间的中间介质。
2.异构协议和操作流程
异构性是开放雾计算架构的本质,因此,确保开放雾计算实体之间的端到端通信安全是至关重要的,这些实体具有不同的性能和功能。开放雾计算将根据通用的区域性实践,采用加密功能和安全通信协议的标准化集合。为了使雾节点能够与各种遗留设备实现互操作,将开发协议抽象层和IP适配层。
3.设备间的资源约束
现有的设备可能还没有准备好迎接雾计算的到来,无法充分保护自身系统。例如,许多物联网设备无法实现强大的加密功能,容易受到欺骗和重放攻击。雾节点如何在不损害端到端安全性,甚至更好地为这些设备提供安全服务的情况下,与这些设备进行交互,仍然是一个巨大的挑战。
(三)保护新的计算范式
1.多租户技术
未来,大多数雾节点都将支持多租户技术,其中一个软件实例可以服务于多个租户和用户组。多租户技术要求在各个实例在运行过程中进行环境之间的逻辑隔离,这样每个实例就可以独立执行功能,而无需考虑其他实例,除非需要数据、资源的共享。为了实现这一点,雾节点必须配备可信的计算基础和安全策略实施引擎,以便它们能够实现属于不同组织或应用程序域的租户的流程隔离、访问控制、资源管理和服务质量(QoS)要求。
2.多层物联网—雾—云(IoT-Fog-Cloud)混合技术
虽然多租户技术在一个雾节点中引入了复杂性,但是在设备—雾—云统一体中部署的分布式多层雾节点为开放雾计算系统创建了另一个复杂性维度。雾节点中所呈现出来的用户进程能够在可信执行环境中运行,并通过动态的网格关系实现彼此的交互。在这一过程中,不仅数据在通过多层雾节点从设备传播到云的过程中可能会经历更加复杂的处理;还可以在同一层的雾节点之间实现共享和聚合。为了确保正确的数据和流程管理,必须将逻辑域结构与正确的策略管理结合起来。
四
开放雾计算体系架构的安全特性
许多开放雾计算应用可能需要将雾节点部署在公开的物理环境中,与不太可信的边缘节点和设备进行互操作,并在严格的操作约束条件下提供关键任务服务。这些要求意味着开放雾计算系统必须提供比传统信息安全更多的信息,并提供具有响应性、可用性、安全性和可靠性保证的信息服务。
(一)外在安全与内在安全
安全保障必须根据雾节点的外部属性(如采用标准化的加密函数和安全协议)和内部属性(如实现这些函数和协议的保障级别)来指定。这些内部属性将确保信任链建立在信任根(RoTs)之上,并传播到雾节点的可信计算基(TCB)中。外在和内在的属性都应当能够识别潜在威胁,并对系统实施必要的保护措施。
(二)保护范围
开放雾计算系统的保护范围必须包括一个或多个相互连接的雾节点,以及设备—雾—云统一体中的所有实体,这些实体雾节点中直接或间接的进行交互。使用场景可能包括雾节点之间和雾节点内部的交互,以及节点到设备和节点到云的交互。在过渡设备部署时,可能还需要考虑雾节点和遗留设备之间的交互。连接/互操作域(CIDs)和服务/应用域(SADs)的相关规范可以在信息传递和服务支持层面进一步细化保护范围。
(三)威胁模型
由雾节点保护的资产不仅包括软件、数据和元数据,同时也包括计算、网络和存储资源与服务。由于雾节点存在物理暴露和安全边界的开放性,因此可能会面临物理安全、通信安全、计算安全等多方面的威胁。这些威胁必须根据不同使用场景下潜在影响的严重程度进行排序,还应考虑故意或意外损坏/故障。
(四)目标和可交付成果
开放雾计算安全工作组的任务是指导开放雾计算系统开发人员采用合适的系统保护策略,以抵御与应用相关的威胁。帮助开发开放雾计算安全评估框架也是开放雾计算安全工作组的目标。为此,工作组开始采用通用的标准方法处理雾节点的安全需求。目前正在开发雾节点的保护框架(PP),并将在年底前完成。
雾节点的安全保障需求将在保护框架制定完成后进行详细说明。这些需求将转化为目标产品的安全评估标准。然后,区域试验台和评估中心便可以执行安全保障评估流程。
五
开放雾计算的安全方法
以节点为中心的的开放雾计算安全方法由四个不同的方面组成:雾节点的物理安全,设备—雾—云统一体中的端到端安全,对出现在统一体中的硬件/软件实体实行安全监控和管理和雾节点中用户执行进程的可信度。本文将对上述四种方法中的前三种进行简单阐述,读者可以参考开放雾计算智能对象任务小组正在开展的工作,了解确保可靠性的需求和方法。
(一)物理安全
雾节点所需的物理安全级别取决于外部人员访问其物理组件(物理暴露)的容易程度,以及如果这些组件受到威胁将会带来什么后果(使用临界性)。这些物理风险评估可能需要部署四种类型的防篡改机制,包括抵御、证据、侦查和响应,以阻止或减轻针对设备的潜在物理攻击和网络攻击。
当防篡改机制建立后,应当允许进行合法的维护。为此,雾节点应该具有一种特定的、安全的维护模式。授权人员在维护过程中可以暂时禁用防篡改机制,并在维护工作完成后重新启用该机制。
(二)端到端安全
通过对节点、网络和数据安全进行保护,为位于设备—雾—云统一体中的所有信息、服务和应用提供端到端安全。
1.节点安全
安全的开放雾计算系统的开发应该从其雾节点的安全实现开始,这些节点应该瞄准在安全硬件中实现的强信任根(RoTs),或者由硬件支持的安全机制所保护的强信任根。同时,还应当借助策略执行引擎(PEnPs)管理用户进程之间的信息流,这些用户进程是根据多个租户的要求来执行的。配备可信计算基(TCBs)的雾节点能够将信任链从RoTs扩展到用户进程,并通过硬件虚拟化和可信引导实例化可信执行环境(TEEs)。
研究人员可以使用多种技术实现与开放雾计算兼容的可信计算基,从专用或集成硬件信任根的使用到支持内存保护和安全操作模式的可信计算基固件实现。遵循TCG TPM 2.0规范的硬件可信平台模块(TPMs)是硬件解决方案的示例,ARM TrustZone?是专门针对供应商的固件解决方案。由于集成的硬件信任根通常具有有限的受保护存储或密码处理能力,因此可能必须使用虚拟硬件可信平台模块才能支持潜在的可信执行环境实例化。
2.网络安全
开放雾计算网络安全包括通信安全和信息安全服务。
2.1 通信安全
X.800建议(recommendation X.800)是国际电话电报咨询委员会(CCITT)关于开放系统互连安全体系架构的建议,它为开放系统互连的安全通信提供一种概念性和功能性的框架,以及在OSI环境下解决网络安全问题的一致性途径。雾节点应遵循X.800建议中所提供的通信安全服务,包括:
(1)机密性:对数据提供保护,使之不向非授权者泄露。
(2)完整性:抵御积极威胁,保证数据没有遭受未经授权方式作的改动或破坏。
(3)身份验证:在对等实体间进行通信时,必须执行身份验证服务,确保自己与期望的对等实体建立联系。
(4)来源和交易的不可否认性(用于远程认证):使发送者/接收者既不能否认发送/接收过报文,也不能否认发送/接收过原始内容。
在所有雾到云(Fog-to-Cloud)和雾到雾(Fog-to-Fog)的通信之间都应当提供这些服务,并使用标准化的安全传输协议。雾通信应受传输层安全(TLS)和数据报传输层安全(DTLS)协议的保护,目前这些协议已经成为事实上的标准。设备协议抽象层可用于支持所有IP的适应边缘,管理员会在雾节点上部署通信代理用于实施协议,目的是为了保护从节点到设备(Node-to-Device)的通信过程中有线/无线通信的机密性和完整性。
2.2 信息安全服务
配备可信计算基和强大安全机制的雾节点是通过网络功能虚拟化(NFV)和软件定义网络(SDN)来提供信息安全服务的理想平台。系统管理员应该按照互操作性和服务领域规范部署一些服务,如深度包检查、应用层代理、IDS/IPS等,并根据基于域的安全服务策略进行操作。
3.数据安全
数据、元数据和程序以三种状态之一存在于设备—雾—云统一体中:(1)正在使用的数据,即处理过程中驻留在系统内存中的数据;(2)静止数据,即驻留在非易失性存储器上的数据;(3)动态数据,即通过网络基础设施实现交换的数据。应该对这些状态中存储的资料给予适当保护。
3.1 正在使用的数据
数据和程序在处理期间驻留在内存层次结构中。包括关键材料、个人/公司的专属数据甚至程序代码在内的多种信息都可能被视为机密材料受到保护,在未经授权的情况下无法进行阅读或修改。内存管理单元可用于阻止来自地址空间和物理/虚拟设备的未授权访问。可信管理程序可以通过抽象和虚拟化的硬件平台形式提供额外的保护,从而限制单个虚拟机的执行环境。
3.2 静止数据
驻留在非易失性存储中的信息必须接受基本的机密性和完整性保护。通常有三种机制可用于保护静止数据:不区分的全存储加密;判别式的文件和数据库加密;强制的和任意的访问控制。必须对用户进程发起的所有数据访问强制执行基于角色/属性/能力的访问控制。不区分或判别式的加密也应用于保护驻留在易受物理安全攻击的非易失性存储上的信息。必须使用安全凭证和访问控制策略管理来实施适当的保护。
3.3 动态数据
在设备—雾—云统一体中交换的信息必须通过网络安全措施加以保护。此外,在可信执行环境中执行的用户进程可以选择使用服务/进程的专属密钥加密其数据。这些额外的数据储存保护可以进一步加强资料的私密性。
(三)安全监控与管理
新的威胁、漏洞,甚至是环境中的简单变化都可能导致新攻击载体的出现。因此,开放雾计算的安全监控与管理(SMM)必须赋予开放雾计算系统快速有效地响应安全环境变化的能力。
安全管理利用策略来定义开放雾计算系统的运行方式,而安全监控则报告系统的实际运行方式。安全管理策略交付系统应该是自动化的,以便向大量的雾节点实时提供和执行安全策略。
安全监控的实现是为了以可信的方式收集信息并进行安全分析,其基本要求是在雾节点上启用日志和遥感勘测(telemetry)功能,telemetry技术是一项远程的从物理设备或虚拟设备上高速采集数据的技术,能够提供更实时更高效的数据采集功能。系统管理员必须仔细考虑日志和遥感勘测事件的机密性与完整性。安全事件应该在安全信息和事件管理(SIEM)系统或类似的中央或分布式关联引擎中进行聚合与关联分析。然后,通过态势感知和上下文感知来触发基于规则和行为分析的通知,以确保威胁检测的最大可能性。
安全监控与管理服务之间的安全通信应与特定安全域中的数据平面及控制平面通信隔离。安全监控与管理服务应该是这个安全域的一部分,雾计算系统中任何未经授权的实体都不能在这个域中通信。
最后,将安全监控与管理服务中的多种功能结合使用可以支持自主的安全操作。监控系统中基于人工或机器安全分析生成的安全事件和警报应触发安全管理系统对受影响的雾节点进行手动或自动的策略更新,以实现响应式安全自动化。通过更新尚未受到网络攻击的雾节点中的策略,可以借助一个主动的安全自动化系统来阻止威胁在系统中的传播。
1.身份和证书管理
开放雾计算系统应当对用户、终端设备、雾节点、云服务器以及可信执行环境(TEEs)中相关的身份和关系信息,以及在这些实体中实例化的服务和应用程序进行管理。开放雾计算中身份管理系统的主要特点包括:
(1)实体注册:为了加强端到端的安全性,在将任何实体添加到开放雾计算系统之前,管理员必须确保它们的真实性。一旦一个实体在开放雾计算系统中进行注册,那么它必须提供一个加密的证书。一种常用的技术是使用公钥密码来验证实体的数字身份。
(2)代理服务:资源有限的设备可能无法执行强大的身份验证和访问控制,在这一情况下,这些功能应当委托给与它们相关的雾节点,把这些雾节点作为设备的代理。
(3)安全证书存储:雾节点的数字身份和证书,尤其是私钥,必须进行安全存储。当雾节点部署在可能受到网络攻击的危险环境中时,这一点尤为重要。
(4)间歇性连接:身份验证和访问控制等身份管理服务必须时刻保证功能正常,即使在与后端身份服务没有主动连接的情况下,也不能出现功能故障。应当通过雾节点之间的协作使这些服务无处不在。
(5)可伸缩性:身份管理基础设施必须是可伸缩和分散的,因为开放雾计算系统可以通过增加雾节点和终端设备的数量实现体量的扩展。
2.域和策略管理
开放雾计算定义了两种类型的逻辑域,即连接/互操作域(CID)和服务/应用域(SAD),以便在开放雾计算体系架构上强加一个可操作的超结构。每一种类型的域都应该与体系架构中的数据/服务抽象层相关联。此外,每个域应该有自己的操作和安全策略。这些策略必须由这些域中的雾节点来执行。
连接/互操作域是设备—雾—云统一体中开放雾计算实体的粗粒度集合,可以通过信息交换、程序迁移和重用实现互操作。连接/互操作域应该建立在开放雾计算体系结构的数据交换层上,其中雾节点是数据交换层的基本实体。每一个连接/互操作域都应当具有互操作性,同时执行相应的安全策略。
另一方面,服务/应用域则是在受信任执行环境集合中执行的数据/服务资源的细粒度集合,用于支持特定的应用程序。服务/应用域的实例化发生在开放雾计算体系架构中的服务提供层。以容器或智能对象形式开发的用户进程是服务/应用域中的基本实体。每个服务/应用域都应该指定和执行可操作的和可信的计算策略。
连接/互操作域和服务/应用域都可以由开放雾计算实体、数据和服务的所有者增量化地建立。这些所有者还有权利和责任指定要在这些域中执行的操作和安全策略。可以建立域层次结构来细化策略实施的范围。可以安装桥接实体来支持域间的交互。在安全和管理工作组之间正在开发分散的域成员关系和策略管理体系架构。
六
结 语
开放雾计算提出了一种普适的、异构多层通信计算体系架构,为广泛的IT/OT应用程序提供了可靠的信息服务。它还提供了一个平台,用于在设备—雾—云统一体中部署和验证新技术。在安全领域,研究人员正在建立安全即服务(SECaaS)的概念,它将是一个基于雾节点的、策略驱动型的信息安全服务,通过网络功能虚拟化(NFV)为无法保护自己的终端设备提供服务。SECaaS必须尊重应用/服务域结构,并且不应该干扰应用本身的业务流程。包括分布式持久账本在内的新技术,特别是2G/3G区块链,如以太坊(Ethereum)和IOTA Tangle,以及信息传播传输,如BATS代码,都可以用来增强开放雾计算安全的可扩展性和鲁棒性。