信息物理系统中的轻量级安全实施
1 引言
信息物理系统(CPS)是一类工程系统,其中基于计算机的子系统控制并监控现场设备(构成物理子系统)。现场设备向基于计算机的控制子系统提供测量数据和运行数据。信息物理系统构成了工业控制系统(ICS)的核心,而工业控制系统是许多关键基础设施领域的重要支柱,尤其是在技术先进的国家。关键基础设施领域的示例包括美国国土安全部确定的16个关键基础设施领域(http://www.dhs.gov/critical-infrastructure-sectors)。
相关服务:美国服务器租用
工业控制系统(ICS)主要分为两大类:分布式控制系统(DCS)和监控与数据采集系统(SCADA)[48]。分布式控制系统通常应用于较小的地理区域,例如单一发电厂。而SCADA系统则通常部署在更大且地理上分散的区域,例如电网。尽管这两类系统在规模和复杂性上有所不同,但它们都具备类似的控制和数据采集功能。图1展示了SCADA系统的基本架构——控制中心通过通信网络对远程现场设备进行命令控制和监控,现场设备则将测量值/运行数据传回控制中心。
工业控制系统(ICS)和信息物理系统(CPS)将变得越来越开放、协调、分布化,并且相互连接。拉普兰特、迈克尔和沃斯[33]指出:“由于关键基础设施及其所依赖的信息基础设施在垂直集成(例如北美的电网)或水平集成(例如应急服务依赖交通系统)为系统之系统时存在相互依赖性,因此要确保其可信性具有挑战性[由于它们的]相互依赖性”。因此,保障工业控制系统(ICS)和信息物理系统(CPS)的安全性至关重要[30,40,43]。
近年来,工业控制系统(ICS)频频被报告成为网络犯罪分子和国家行为者的攻击目标。其中最受关注的事件之一是震网病毒——一种针对伊朗核设施中SCADA系统的恶意软件。后续调查显示,此次攻击是由美国和以色列[44]所为。毫不奇怪,澳大利亚和美国等国家已将关键基础设施的韧性与保护列为国家安全优先事项[14,15]。
卡德纳斯等人[8]概述了在工业控制系统中实施安全措施的各种挑战。例如,工业控制系统需要能够实时向现场设备发送命令以执行关键功能。同时,为实现监控目的,必须保证控制系统对现场数据的实时采集。因此,针对工业控制系统的安全解决方案必须高效并满足实时性要求。然而,此类环境中使用的现场设备(如传感器、执行器、阀门、开关和制动器)以及设备通常资源受限(例如计算、通信和存储)。此外,现场设备通常通过现场的远程终端单元(RTUs)和可编程逻辑控制器(PLCs)进行操作。RTU和PLC均为微处理器控制的电子设备,充当现场设备与控制系统之间的接口。尽管RTU和PLC通常配备工业级处理器并安装有数兆字节的内存,但这些设备并不具备在不影响性能的情况下运行完整安全性解决方案所需的计算能力。
工业控制系统的安全解决方案必须是轻量级的,一个自然的解决方案是使用提供基本安全特性(如保密性、真实性和不可否认性)的密码原语。研究人员在设计适用于工业控制系统等环境的轻量级密码原语方面投入了大量努力,包括对称加密(见[2,4,20–22,27,28,47])和非对称加密(见[16,18,23,29,34–38])。轻量级密码原语的设计通常需要在安全性、成本和性能之间进行权衡[41]。一个好的设计应在这些指标之间取得良好平衡,同时满足底层应用的需求。
1.1 贡献
在倡导持续研究(单一)轻量级密码原语的同时,我们建议从更广泛的视角来探讨工业控制系统中的轻量级安全实施。更具体地说,我们提出,除了关注单个密码原语之外,实现“系统/集体轻量性”同样重要,且不应以牺牲安全性或效率为代价。为实现这一目标,我们提出以下几点主张。
命题1(系统/集体轻量性) :我们对密码原语进行整体考虑,旨在理解超越单个密码原语的轻量化。其原因是密码原语并非孤立部署,而是相互关联以实现特定功能。因此,与其追求单个原语的轻量性,不如着眼于实现系统的轻量性,这更为合理。
命题2(外包昂贵计算) :为了实现轻量级安全实施,我们需要利用底层控制系统架构。具体而言,这一理念涉及将计算开销大的安全执行工作量从资源受限的设备卸载到附近更强大的设备或设备上。例如,在SCADA系统中,通常有一个从站工作站负责在某一地理区域执行本地控制/监控和数据采集。这样的从站工作站可作为其辖区内的资源受限设备的潜在高性能设备候选。
命题3(选择性保护感兴趣数据) :从现场设备侧发送到控制子系统的数据可能数量庞大;如果全部进行保护(例如加密),则可能无法满足实时性底层系统的要求。为缓解这一问题,我们建议采用部分保护策略,例如,现场设备可以选择对某些数据段(感兴趣的数据)进行加密,而不是加密所有需要传输的数据,而其余数据则不加保护。部分保护策略的目标是减少现场设备所需执行的安全执行操作(如加密)次数,从而获得更好的系统性能。
1.2 组织
本文的其余部分组织如下。第2节回顾相关工作。在第3、4和5节中,我们分别详细讨论了上述针对信息物理系统安全实施的方法/策略。第6节总结了全文。
2 相关工作
从历史上看,工业控制系统(ICS),如监控与数据采集系统(SCADA),都是独立运行的系统,未连接到互联网。这类系统通常设计用于实现可靠性和性能,而非安全性。如今,工业控制系统越来越多地连接到企业网络和互联网。因此,它们面临着自身难以有效防护的安全威胁和漏洞。这种情况因工业控制系统现已深度集成到商业和经济流程中而进一步加剧[42]。
近年来,研究界、实践界以及国际组织(如美国燃气协会、美国国家标准与技术研究院、国家基础设施保护中心、北美电力可靠性公司、国际电工委员会和电气与电子工程师协会)发布了国际标准、指南和最佳实践,旨在保障工业控制系统(ICS)的安全性,特别是针对关键基础设施领域。大多数现有的国际标准为工业控制系统的通用安全防护提供了指导,感兴趣的读者可参考[10,25,46]以获取现有标准和倡议的概述及比较研究。
赖特等人[51]提出了一种低延迟循环冗余校验(CRC)机制,以确保SCADA通信的完整性,该机制被纳入了AGA标准[1]的首版草案中。后来,王等人[48]发现该方案存在漏洞。王等人[48]随后提出了一套用于SCADA的安全机制,包括点对点安全信道、认证广播信道和认证应急信道。这些机制基于对称密钥密码原语构建。
对称密钥密码原语被提出用于保护控制系统并不令人意外,因为与非对称密钥密码原语相比,对称密钥密码原语具有更好的性能。此外,轻量级对称密钥密码原语也一直是研究课题。例如,国际标准ISO/IEC 29192‐2[28]推荐了两种轻量级分组密码,而ISO/IEC 29192‐5是正在推进的轻量级密码哈希函数标准化工作。此外,还提出了一些适用于资源受限无线传感器的轻量级密码原语,例如Katan和Kantan[9], Kline[20], Led[22], Piccolo[47], Prince[4],以及Simon和Speck[7]。在[19]中进行了一项基准测试,报告了若干轻量级分组密码在特定资源受限设备上的性能表现。其他专门设计的轻量级哈希函数包括Quark[2], Keccak[32]和LHash[53]。
对称密钥密码原语可能具有更好的性能,但仅靠它们不足以满足工业控制系统中的安全实施需求。在典型系统中,我们需要同时使用对称和非对称密码原语来实现必要的安全性。例如,非对称密码原语可以弥补对称密钥密码原语在密钥建立可扩展性以及不可否认性提供方面的不足。许多研究尝试在智能电网(见[3,17,39,52])等领域以及资源受限设备上部署非对称密钥密码学(见[5,11,54])。此外,ISO/IEC 29192‐4(信息技术—安全技术—轻量级密码学—第4部分:使用非对称技术的机制)中已标准化了三种使用非对称密钥密码原语的实体认证机制[35]。
尽管有这些举措,设计适用于实际工业控制系统部署的轻量级密码原语仍然是一个研究挑战,主要由于此类环境中的操作难题。这是我们本文旨在解决的问题。我们部分受到计算外包概念的启发——资源受限设备利用其他强大机器(如云服务器)的计算资源来执行计算开销大的操作[12,24,50]。因此,在本文中,我们通过利用底层架构,探索在工业控制系统中实现非对称密钥密码原语轻量级实现的可行性。
3 系统/集体轻量性
现有研究集中在设计单个轻量级密码原语上。这是必要的,但单独来看无法提供全面的解决方案。在实践中,要实现某种安全功能,需要多个密码原语。例如,一个实体认证协议通常既涉及非对称加密密钥原语(如数字签名和非对称加密),也涉及对称加密密钥原语(如哈希函数和伪随机函数)[13]。
因此,在我们实现工业控制系统中轻量级安全实施的首个方法中,我们综合考虑了密码原语。例如,在签密中,加密者先使用公钥加密方案,然后使用数字签名方案。这使得加密者能够轻松实现不可否认性、保密性和完整性。签密旨在作为公钥加密和数字签名方案组合的一种更有效的替代方案。
命题1 。除了实现单个密码学原语的轻量化之外,系统设计者还应致力于实现系统/集体轻量性。
我们使用加密GPS的轻量级实现[29]作为示例来解释命题1。加密GPS提供了多种参数以实现不同的安全‐性能权衡。我们所使用的示例改编自[41],该示例涉及基于椭圆曲线的加密GPS变体的实现。这种特定实现在生成密钥长度时更小。
实现是在RFID标签和读取器的背景下讨论的。为了实现轻量级实现,采取了若干优化措施。第一项是利用t个凭证进行存储‐计算权衡;每个凭证由一对(ri; xi)组成,对应于 1 ≤ i ≤ t。这些凭证在标签部署前即存储在标签上。因此,标签上计算被简化为 y= ri+(s · c),其中 c是由读取器提供的长度为 δ比特的挑战, s是存储在标签上的 σ比特密钥。
第二个优化措施是低汉明权重挑战。具体来说,为了避免计算开销大的(σ × δ)比特乘法,将乘法“转换”为一系列简单加法。为此,我们需要将挑战 c转换为低汉明权重(LHW)挑战,使得任意两个相邻的1比特之间至少有 σ −1个零比特。在使用被乘数的二进制表示时,可以很容易地看出,可以通过基本的移位‐与‐加乘法来执行乘法运算。algorithm1。因此,乘法操作可以简化为简单的移位和加法操作。
低汉明权重挑战的紧凑编码代表了第三项优化。基本思想是,由于挑战本身是稀疏的(大多数比特为零),因此可以去除无用比特来对原始挑战进行编码。事实上,[41]中的编码方案仅需使用40比特即可对848比特的挑战 c进行编码。
为了实现80比特的安全级别,波施曼[41]使用了以下参数:
– σ= |s| = 160,以及一个长度为δ= |c| = 848、汉明权重为5的挑战c。
这些参数使加密GPS能够实现相当于冒充概率为 2−32的健全性水平。
我们承认上述优化措施的有效性。然而,在我们提出的命题1的背景下,上述实现未能考虑哈希函数HASH。事实上,哈希函数直接关系到协议的可靠性。我们指出,当可靠性级别为 2−32时,使用摘要长度为128比特、160比特或更长的常规哈希函数实际上是浪费的。具有较小摘要长度的哈希函数就足以满足 2−32的可靠性级别。此外,摘要长度较小的哈希函数更容易被高效地设计。这一点从ISO/IEC 29192‐5标准化了80或128比特的轻量级哈希函数,而160比特及以上的轻量级哈希函数仍难以实现的事实中可见一斑。
在这种特定情况下,哈希的选择不会影响标签的性能。然而,哈希的选择会影响读取器的性能,这在实际工业控制系统部署中至关重要。例如,服务器可能需要同时认证大量资源受限的现场设备。我们还指出,为了实现最优的系统/集体轻量性,需要对密码原语进行进一步微调和更好的集成。然而,这可能会产生不良影响,导致现有密码原语的安全证明失效。因此,在研究整体密码原语的安全性时必须格外谨慎,以确保系统/集体轻量性不会以削弱或丧失安全保证为代价。
4 昂贵计算的外包
我们在工业控制系统中实现轻量级安全执行的第二种方法是允许资源受限设备(例如现场设备、远程终端单元和可编程逻辑控制器)将昂贵计算外包给其他设备或设备。在工业控制系统中找到此类功能强大的设备或设备是现实可行的。
命题2 。为了使安全执行操作变得负担得起,资源受限的现场设备应尝试将昂贵的计算操作卸载到具有更强计算能力的邻近设备和设备上(以下称为计算服务器)。
需要注意的是,出于安全性考虑,资源受限设备不应简单地完全信任计算服务器。换句话说,需要根据特定应用的具体情况做出适当的信任假设。这些计算服务器可能会受到网络攻击,或者被心怀不满的员工攻击——例如,澳大利亚Maroochy水区黑客事件的情况2。
模幂运算外包 。我们以非对称密钥原语为例来解释命题2。我们知道,模幂运算是非对称密钥原语中的基本运算,例如在RSA、离散对数和基于椭圆曲线密码学中均是如此。因此,能够外包模幂运算的方法将非常理想,这将解决在工业控制系统中使用非对称密钥密码原语的主要挑战。
在云计算背景下(即云充当计算服务器),已有一些初步尝试用于外包模幂运算——参见[12,24,31,50]。在现有文献中,假设计算服务器并非完全可信,其可能通过用户提供的数据推导出额外信息,或向用户提供错误的计算输出,从而偏离协议。因此,主要的安全要求是确保用户秘密输入的隐私以及确保服务器输出的可验证性。这些安全要求的形式化定义在[24]中进行了讨论。
通常需要考虑三种类型的模幂运算,即:公有底数与私有指数、私有底数与公有指数,以及私有底数与私有指数。这些模幂运算类型在实际中具有应用价值,具体取决于所使用的密码原语。例如,Schnorr签名涉及公有底数与私有指数的外包,而RSA盲签名则涉及私有底数与私有指数的外包。
现有方案的不足 。我们现在总结现有模幂运算外包文献中的主要不足之处。由于这些不足,现有方案不太适合实际部署,但这也意味着该领域存在研究机会。为了更好地阐述我们的想法,我们参考了基拉兹和乌尊科尔提出的方案[31]。该方案似乎是目前模幂运算外包最高效的解决方案之一。特别是,该方案的主要算法(参见算法1)调用了一个子算法SubAlg,使得客户端能够将模幂运算 g^z 的计算外包给计算服务器。注意,在此子算法中,底数 g 和指数 z 都不一定是私有的,该算法的主要目标是实现由 c1 和 c2 控制的可调节的可验证性,其中这两个参数为较小的数值。为方便读者理解,我们在图4中列出了来自[31]的SubAlg算法。设 G 为一个乘法群(可以是模群或椭圆曲线群),m 为 G 的阶;Exp(a, u) 表示一个算法。
客户端通过该方式向计算服务器查询 a ∈ Z/mZ, u ∈ G,计算服务器将 u^a 返回给客户端。此外,c 是一个较小的数值,用于确定可验证性的级别。
-
现有文献中的大多数方案使用两个或更多计算服务器,据我们所知,唯一使用单个计算服务器的方案是[31,50]中提出的。这凸显了设计仅使用一个服务器的方案所面临的挑战,尽管单服务器方案更适合且更有利于实际部署。
-
现有方案未被证明能够实现完全的可验证性。更具体地说,在这些方案中,当资源受限的客户端设备获得计算服务器返回的计算结果时,只能以一定的概率检测该输出相对于其秘密输入是否真实。据我们所知,关于可验证性的最佳结果是文献[31]中描述的工作,该工作实现了可调节的可验证性,如图4所示,其值为 1 − 1/(c1c2)。也就是说,恶意计算服务器必须正确猜出 c1 和 c2 的值才能欺骗客户端。因此,计算服务器成功欺骗的概率为 1/(c1c2),相应的可验证性为 1−1/(c1c2)。例如,如果 c=4,则该方案的可验证性为11/12。可验证性是实践中需要实现的一个重要特性;因此,完全的可验证性仍是未来研究的一个开放性问题。
-
我们观察到,所有现有方案都包含一个预计算步骤,该步骤涉及多次模幂运算,例如 g^s, g^{t1}, g^{t2} 在图4中所示。换句话说,一次(在线)模幂运算的外包带来了成本多个预计算的模幂运算。这些预计算的模幂运算通常只能使用一次。也就是说,每次外包会话都需要一组不同的预计算的模幂运算。我们认为,这种模幂运算的调用,尽管假设是预先计算的,在实际中并不令人满意。最好避免使用预计算的模幂运算;如果无法避免,则应探索重用这些预计算的模幂运算的方法。可重用的预计算量在实践中问题更少,因为它们可以预先安装在资源受限设备上(例如,作为常规密钥)。在图4中,g^s 只能使用一次,而 g^{t1} 和 g^{t2} 可以多次使用。我们将避免(一次性使用的)预计算模幂运算的问题视为一个开放性问题。
5 兴趣数据的选择性保护
在诸如监控与数据采集系统(SCADA)的信息物理系统中,现场设备需要按固定时间间隔或响应控制子系统的数据采集请求,将测量/运行数据通过上行链路发送回控制子系统。需要通过上行链路传输的数据量可能很大。如果现场设备对所有数据进行保护(例如加密数据),即使已采用上述两种策略,仍可能导致无法满足底层系统的实时性要求。
为缓解此问题,我们提出另一种方案,即一种部分保护策略——现场设备可以选择对数据中的某些关键段进行加密保护,而非保护所有待传输的数据,同时使非关键数据不受保护,以尽量减少因数据保护而产生的开销。我们将需要保护的关键数据称为感兴趣的数据(DoI)。
命题3 。根据应用的不同,现场设备发送的数据可根据数据敏感性分为关键数据和非关键数据。在可能的情况下,应选择仅保护关键数据(称为感兴趣数据),这可以通过减少安全实施带来的开销来极大提升系统性能。
要实施此策略,区分关键数据和非关键数据非常重要。有时甚至可能需要刻意重新格式化数据,以实现这种区分。假设信息物理系统中的现场设备在固定的时间间隔内将其感知到的温度数据发送给控制子系统——一种可能的策略是将时间划分为时段,每个时段包含一定数量的时间间隔;对于每个时段,只需将该时段第一个时间间隔的实际温度读数以加密形式发送,而对于后续每个时间间隔,则发送实际读数与第一个读数之间的差值,且无需保护。控制子系统当然可以根据已掌握的第一个读数恢复这些读数,而窃听者在不知道第一个读数的情况下,无法推断出任何时间间隔的实际读数。显然,这种部分保护方法大大减少了保护执行计算的数量。
当保护机制为加密时,部分保护方法与多媒体内容(如图像和视频)的选择性加密非常相似[26,45,49]。对于图像或视频帧,其内容中存在大量冗余。因此,人们发现完全加密是不必要的,且浪费资源,只需加密能够重构图像或视频帧的部分但重要的数据即可。由于加密工作量减少,选择性加密通常比完全加密具有更快的性能。同理,信息物理系统中兴趣数据的选择性加密也具备同样的优势。然而,信息物理系统中的数据可能不具备明显的冗余,因此关键在于识别特定信息物理系统中的兴趣数据。此外,同样重要的是确保冗余数据(未受保护部分)不会导致系统安全性的 compromised。
最后,信息物理系统中从控制子系统到现场设备的下行链路通信主要包含控制或数据采集指令。这些指令通常较短或具有特殊格式。因此,格式保留加密[6],似乎是加密下行链路通信的合适工具。研究适用于信息物理系统现场设备的轻量级且负担得起的格式保留加密,将是另一个有趣的研究课题。
6 结论
网络威胁和威胁行为者的多样性要求我们持续努力保护关键基础设施及其底层系统(例如信息物理系统)。尽管我们可能永远无法完全消除针对信息物理系统的网络攻击,但我们应致力于对犯罪分子和恶意行为者保持持续的压力,以保护我们的网络和国家利益[15]。
在本文中,我们提出了三种实现工业控制系统(ICS)中轻量级安全执行的通用方法。在第一种方法中,我们解释了应如何通过整体考虑密码原语,而非单独考虑每个密码原语,来实现系统/集体轻量性(即效率)。在第二种方法中,我们试图利用工业控制系统的架构,将资源受限的现场设备上的计算开销大的操作卸载到邻近的强大设备或装备(例如SCADA从工作站)上。我们还指出了现有模幂运算外包文献中的三个关键局限性。在第三种方法中,我们建议在不降低安全保证的前提下,对感兴趣的数据进行部分保护,以尽可能减少安全执行工作量。
未来工作将包括实现并应用这些通用方法,以开发适用于现实世界的信息物理系统的具体技术。这包括在可控且可重复的条件下(例如,在模拟应急领域中的应急服务报警管理系统的测试平台环境中)进行广泛的安全测试与验证,以及交通信号灯、铁路控制系统(交通领域)、水泵系统(水务领域)、电网系统(能源领域)和作为震网病毒攻击目标的离心机系统。






