基于雾计算的工业自动化系统的安全性
1 引言
在过去十年中,云计算一直是许多商业领域的重要推动力,结合人工智能与机器学习的最新进展,正在为工业带来革命性的变革。雾计算(Fog computing)由思科于2012年提出,是一种分布式计算范式,赋予不同层次级别的网络设备不同程度的计算和存储能力[2]。它致力于扩展云的能力(而非取代云),以满足工业自动化与机器人技术中更为严格且额外的功能性需求,例如通过时间实现超高可靠低延迟通信时间敏感网络(TSN)[15],通过虚拟化控制[18],以及对路由器、网关和接入点等异构设备的支持,为分布式应用提供可扩展且灵活的服务配置,以实现所需的服务质量(QoS)。
雾计算的OpenFog参考架构已被IEEE标准协会( IEEE‐SA)采纳为官方标准。这项名为IEEE 1934的新标准依托该参考架构,作为一个通用技术框架,支持物联网(IoT)、 5G和人工智能(AI)应用的数据密集型需求[1]。
雾计算范式是支持多种属性的众多技术的融合[2]。这些属性本身是安全中立的,即它们自身不会对系统安全性产生正面或负面的影响。因此,正是应用的具体特性决定了这些属性在影响系统安全时如何相互作用。
尽管近期雾计算领域的研究主要集中在以性能为中心的目标[2, 3, 6, 16–18],,但以安全为中心的研究尚未得到同等重视。具体而言,我们需要开展针对运行机器人技术和工业自动化等安全关键应用的雾计算系统软件架构的研究。虽然从某种意义上说,雾计算范式可被视为旨在增强云在某些与安全性相关方面的尝试(例如,降低延迟以确保安全关键任务按时完成),但雾计算系统也面临其特有的挑战。
关于雾计算的研究仍处于初期阶段,针对雾计算架构安全性的研究尤为稀缺。在[14]中,作者讨论了一种通过安全监控器生成基于安全裕度的安全规则,从而实现自主系统容错的框架。在[11],中,作者提出了一种面向移动机器人的基于技能的架构,以及一种新颖的风险评估与决策模型。
在本文中,为了说明起见,我们使用一个典型的工业自动化场景,该场景采用移动机器人来完成各种任务。这些移动机器人自身的计算和通信能力有限,而业界正在探索使用云的可能性。然而,将信息传输到云需要更大的通信带宽,并且常常危及这类应用所必需的可预测性保障。雾计算范式的引入有望有助于减少延迟、提高任务分配的灵活性以及实现可扩展部署,如果能够解决其安全性和安全问题,它将是一种极具吸引力的替代方案。
本文的其余部分结构如下。第2节介绍了基于雾的架构的安全性考虑并识别了相关挑战。在第4节中,我们提出了初步构想,旨在通过提出安全性设计方面来构建一个框架以应对这些挑战。第5节提供了一个具体用例以
2 雾计算的安全性考虑
系统的安全性认证通常在设计阶段完成,即在特定系统配置和指定运行条件下进行部署之前。这种方法最适合在运行过程中配置保持不变的静态系统。而基于雾计算的系统根据其定义本身就是动态的、自适应的、可重新配置的,并且需要根据受益于雾计算范式的应用需求进行相应扩展。
在当前的移动机器人场景中,安全性取决于机器人自身动力学及其周围环境动力学中的不确定性。关键任务是确保移动机器人在靠近快速evolving且stochastic的环境[12]中运行时的移动机器人安全。在这种动态情境下,出现安全隐患的概率高于可在设计阶段进行安全认证的纯静态系统。
因此,人们对自主系统(如辅助机器人、医疗机器人或协作机器人)安全性的信心是其在日常生活中部署的主要障碍。
在表1中,我们列出了一些雾计算属性[2][3][15]及其潜在安全威胁。这些属性本身并不会造成任何安全风险,但某些在雾计算中运行的安全关键性应用可能需要对这些属性提供有保障的界限。除非能够确保此类保障,否则始终存在风险。例如,机器人之间的时间同步可能是一项安全关键性要求。如果不能保证时间同步,就无法保证安全性。
| 雾计算属性 | 对安全的潜在威胁 |
|---|---|
| 虚拟化硬件控制 | 高控制回路延迟 |
| 实时(RT)响应 | 实时任务可能得不到最优服务 在雾‐云环境中 |
| 可扩展部署 | 系统无法支持 部署规模 |
| 数据过滤和聚合 |
与安全相关的数据正在被
遗漏 |
| 无缝资源 管理 | 安全关键服务资源不可用 安全关键服务 |
| 移动性管理 | 错误的虚拟集群 |
| 无线通信 | 非确定性在 安全功能的执行 |
| 安全和数据隐私 | 构成安全风险的恶意雾节点 安全风险 |
| 时间同步 | 安全关键性截止期限错失 |
3 安全性保证面临的挑战
这里我们介绍一些与雾计算范式安全性相关的关键挑战。
3.1 C1 ‐ 领域特定的安全性上下文
以安全为中心的雾计算系统设计是一项复杂且具有挑战性的任务,因为安全性并非静态现象。因此,假设两个不同领域具有相同的安全背景(例如运动安全)可能会导致错误。例如,汽车用例中的紧急停止功能若直接应用于航空航天用例,可能会造成严重后果。
3.2 C2 ‐ 演进的安全性目标
尽管雾计算在可重构性和适应性方面提供了巨大的机遇,但设计人员应谨慎对待相关的安全风险。当前的一项研究挑战是在机器人控制中的自主决策所带来的安全性保障问题。这尤其与协作机器人系统以及基于雾计算的机器人技术密切相关。需要在运行时动态适应新的、不断演变的安全要求。
3.3 C3 ‐安全相关数据提取
雾计算系统的一个普遍特征是在端点处产生大量数据(例如,机器人生成的图像、传感器数据)。必须采用高效的数据过滤和聚合机制,以确保安全关键功能得到准确评估。同时,应确保与安全性相关的数据不会被过滤或聚合。
3.4 C4 ‐ 资源可用性保证
一个主要的性能目标是确保在雾‐云连续体上实现无缝的资源供应。对于安全性关键应用而言,必须在正确的时间拥有正确的资源。因此,需要在网络层面建立时间保证,以确保关键任务始终能够获得所需服务。
3.5 C5 ‐安全
安全性和安全处于交叉领域,因此我们需要识别潜在的安全威胁,例如来自恶意雾节点的恶意攻击,这些攻击可能会破坏时钟同步质量等关键安全性要求。因此,需要适当的缓解技术。
3.6 C6 ‐ 缺乏相关的安全性标准
两项特定的机器人安全标准是用于工业环境机器人的ISO 10218:2011 [8]和用于协作型机器人的ISO/TS 15066:2016[10]。然而,极少有机器人获得安全认证。例如,优傲机器人的 UR5技术文档中指出,其15项安全功能已由德国技术监督协会(Technischer Überwachungs-Verein)依据EN ISO 13849:2008 PL d [9],和EN ISO 10218‐1:2011第5.4条3[8]进行了测试。需要注意的是,该证书仅验证了安全功能的存在 (第5.4.3条),PL d等级(相当于{s5}中的中等级别SIL 2)。这并不能保证在特定任务和环境{s6}下的安全性。
因此,基于雾计算的协作式动态自主系统的安全认证仍然是一个重要的挑战。
4 雾计算安全设计方面
我们为应对第3节中提出的挑战而追求的主要研究问题是:
雾计算系统架构如何确保安全关键功能在存在多样化和不确定运行条件的情况下按预期执行?
从安全性的角度来看,“diverse”一词可以有多种含义,其中两个特别相关的含义是:
(1) 每个机器人必须处理的各种软件服务(例如,针对重型和易碎物品的抓取与放置功能,这些功能在控制、运动等方面需要不同的系统配置)。
(2) 适应多样化(有时是意外的)运行条件,例如传感器不确定性或故障。
一个基本目标是建立一个概念性安全框架,以应对之前提到的挑战。安全框架的目的是抽象化雾计算的安全性要求,并能够表示多种应用(及其安全上下文)。实现安全即服务的理念,可以为更具体地探索雾计算中的安全原语提供机会。
所述框架设计中的元素必须包含雾计算范式的特定属性,并且必须应对这些挑战。
我们现在阐述一些关键安全设计方面,这些方面将有助于构建面向雾计算软件架构的概念性安全框架。
安全设计方面的顺序并不代表其相关性或重要性。
4.1 S1 ‐ 安全性状态和上下文识别
如图2所示,安全状态监视器向决策模块提供相关数据,以判断运行状态是否为正常、警告或错误状态之一。在雾‐云环境中运行的每个应用实例都应具有一个安全上下文属性,因为安全功能的执行在很大程度上取决于应用程序的类型。例如,手术机器人末端执行器的力阈值远小于汽车装配单元中机械臂的力阈值。此处解决了挑战C1和C3。
4.2 S2 ‐ 安全性关键等级
在雾计算中运行的安全关键功能必须具备多个优先级级别。静态优先级无法充分满足多样化服务需求。此方面涉及挑战C2。
4.3 S3 ‐ 安全性关键资源可用性
在为应用程序进行资源分配时,必须考虑安全关键功能无法获得资源的情况。即使系统被其他非安全关键计算任务淹没,此类功能也必须始终拥有可保证的资源。这一安全性方面解决了挑战C4。时间触发范式可提供确定性通信骨干(TTEthernet / TSN),能够提供时间保证,以确保资源可用性[15]。
4.4 S4 ‐ 故障检测与恢复
雾节点[15]的一个特征是拥有终端设备的统计数据。然而,如果所提供的数据存在不确定性或出现故障,则可能导致错误决策,并危及安全。例如,传感器故障可能引发误报错误。此类错误的定位是雾计算中必须解决的关键安全基本功能。此外,传感器磨损情况必须定期发送至雾计算节点。然而,这一需求更为通用,并不针对某一特定挑战。
4.5 S5 ‐ 数据挖掘
传感器作为终端设备的自动化应用会产生大量数据。始终处理如此大量的数据是不明智的。过去的安全隐患应在对系统状态进行安全性风险评估时予以考虑。需要对其进行低、中、高风险的适当分类。如果在特定运行条件下和特定时间段内没有明显安全隐患,则可以使用较少的数据。这种设计原语的另一个好处是减少数据存储使用。这解决了挑战C3。
4.6 S6 ‐ 安全机制
雾‐云连续体内的恶意节点可能会带来安全性和安全威胁[4]。需要考虑采用行业标准的加密技术等强大安全机制,以实现对所有雾节点的认证和识别。一种解决方案是安全启动[13],可防止来自未知来源(例如恶意节点)的空中固件更新。这有助于应对挑战C5。
4.7 S7‐ 主动缓解
当发生安全危害时,安全应用必须决定最佳应对措施,以减轻危害影响,同时避免对系统性能和运行造成进一步损害。提供故障安全程序的主动干预机制起着关键作用。例如,当机器人突破安全停车距离时启动制动。这解决了挑战C4。
5 示例用例
我们目前正在开发一个分布式移动机器人用例,该用例在智能制造领域具有工业相关性。我们打算利用此用例来详细阐述并具体化论文中描述的安全设计方面。
以下是该用例的关键组件。
移动机器人。 这些机器人使用机械臂执行各种拾取和放置任务,并在工厂车间内自由移动。它们配备有车载传感器(激光雷达、雷达、摄像头)。单个移动机器人的物理特性由中央处理器处理、内存、存储和能源决定。这些机器人通过 IEEE 802.1 TSN标准连接到雾节点,或更广泛地说,连接到雾计算环境。雾计算为属于其虚拟集群内的机器人分配任务(参见图1),并监控机器人任务的完成情况。此外,在任意时刻,雾节点都知道提供给机器人的资源以及安全状态。
雾-云连续体。 机器人(物联网层)与雾计算之间的确定性连接由TSN标准[15]提供。安全应用在雾‐云上运行,以确保系统保持在安全状态。在任意时间瞬间,雾节点都可以请求获取雾‐云连续体内任何设备的安全状态信息。
运行模式。
应用程序中的运动控制算法利用来自机器人的传感器数据。激光雷达可用于提供机器人周围拓扑结构的精确三维地图(如汽车领域中的应用)。然而,激光雷达传感器高昂的成本可能会阻碍其在大规模机器人部署中的使用。因此,我们考虑使用高分辨率摄像头,以捕获机器人视野内的图像。
为确保安全性,其中一个思路是将多个机器人的视野在雾计算中融合,生成一幅集成图像。该图像将为雾节点提供足够的信息,以做出实时运动控制决策。
一个具体的研究问题是研究这种分布式处理如何在雾节点中执行,并最终以定量的方式(例如碰撞次数)评估其对运动安全的影响。
6 结论与未来工作
本文提出了一组安全挑战和具体的安全设计方面,旨在构建一个专门针对雾计算范式的综合安全框架。我们的持续研究包括以下三个领域。
6.1 雾计算建模与评估
我们的最终目标是制定一个全面的概念框架,以确保雾软件架构中的安全性。该框架将提供一种手段,通过理论模型[17, 18]具体表达安全方面。该模型将考虑所有相关的运行时操作方面,通过对安全隐患的发生概率进行定量评估,来评估系统的安全状态。
6.2 仿真支持
我们打算使用流行的仿真工具iFogSim [6],来评估在雾‐云环境中运行的应用程序因资源不可用而导致功能失效的场景。
与资源调度不同,安全性无法通过最优性的概念来保证,即以性能目标为考虑而分配的最优资源集,在执行安全关键任务方面未必是最安全的。因此,为了确保雾计算架构能够在各种运行状态下保证安全性,现有仿真器还需要引入安全原语。

1万+

被折叠的 条评论
为什么被折叠?



