工业控制系统无处不在,是社会基础设施不可或缺的一部分,例如我们的电力和水务设施,以及我们的石油/天然气、化工、管道和运输系统。毫不奇怪,鉴于世界上每天都有暴力和破坏报道,这些分布式控制系统(DCS)或监督控制和数据采集(SCADA)系统的安全性变得越来越重要。对这些DCS的攻击可能比对计算机系统的攻击更具灾难性,因为DCS和物理工厂对我们的福祉和日常生活有直接和直接的影响。最近的安全措施仅旨在保护系统及其相关网络的机密性、完整性和可用性。一个关键领域被忽视了太久:传感器卡或现场IO模块。
自从几年前发现Stuxnet蠕虫以来,1我们对关键基础设施和控制它们的DCS系统的安全性变得更加关注和警惕。虽然Stuxnet的故事有很多活动部分,但众所周知,蠕虫是通过USB拇指驱动器传播的。2因此,工业系统的架构师现在必须采取更深入的安全措施来保护他们的系统。都好...但是,最近的安全措施仅旨在保护系统及其相关网络的机密性,完整性和可用性。一个关键领域被忽视了太久:传感器卡或现场IO模块。
本应用笔记讨论了DCS底层传感器卡的安全性。使用安全认证器(如此处用作示例的基于DeepCover DS28E35和DS2475 ECDSA)的IC等方法可以保护传感器卡。最后,虽然我们将在本应用笔记中大致讨论DCS系统,但读者应该知道SCADA系统也总是隐含的。此外,术语“传感器卡”是指所有现场设备、IO模块和智能传感器。®
传感器卡的作用
传感器卡对于监视和控制DCS和SCADA系统至关重要。图1显示了典型DCS/SCADA系统的架构。系统的底层是传感器卡,用于监控并向系统操作员发出警报。监控的典型功能包括温度、湿度、运动、液位、水流量、烟雾、门活动、电源故障、电流和丙烷罐状态。
图1.典型的DCS/SCADA系统架构,显示底层传感器,代表漏洞点。
我们大多数人都同意,通过传感器卡大规模利用这些DCS系统只是时间问题。虽然通常不被认为是潜在的攻击平台,但许多人认为传感器卡应该是。与其他系统单元相比,服务技术人员更频繁地升级或更换传感器卡。使用标准通信接口协议的一个优点是,服务技术人员可以在其DCS系统上使用来自多个供应商的传感器更换卡。在这里,多个来源的好处可能成为责任,脆弱性。
不幸的是,在大多数情况下,没有有效的方法来确保替换的传感器卡没有被欺骗、克隆或伪造。但是有一种方法可以纠正这个问题:在传感器卡上添加一个安全的认证IC。这个附加组件完善了一个有效的安全系统,该系统将每个传感器卡认证到DCS/SCADA网络的最高控制级别。椭圆曲线数字签名算法 (ECDSA) 等非对称签名方案有利于此类身份验证目的。
ECDSA 加密保护传感器卡
消费者一次性用品通常会受到各种复杂的芯片级方法的攻击,这些方法试图提取安全数据、反转设备设置或中断操作以危害系统安全性或只是克隆它。工业传感器卡是一个类似的,通常易受攻击的目标,某些未经授权和恶意的人可以访问。为了提供最经济实惠的保护,防止不可避免的恶意攻击,安全系统的安全IC(如DS28E35)必须采用专有的管芯级物理技术、电路和加密方法来保护私钥(Pr)密钥、控制信号和其他敏感数据。
椭圆曲线数字签名算法(ECDSA)是一种高效且安全的加密算法技术。椭圆曲线允许数论和代数几何的数学构造。曲线具有丰富的结构,可用于密码学。
最佳的 ECDSA 实现将使用基于公钥的安全性3以及证书基础结构以及用于身份验证的数字签名。在这种情况下,可编程逻辑控制器 (PLC) 首先验证传感器卡的证书,以确保它是该特定生态系统的合法成员。然后,PLC 执行数字签名交换,以确认传感器卡已授权用于该系统。
ECDSA 基于密钥的公共加密认证器非常有效地执行这些安全程序,而且毫不费力。但是,并非每个安全身份验证器都可以执行此任务。应用需要一个ECDSA安全IC,如DS28E35 DeepCover认证器,它实现了基于FIPS 186的ECDSA公钥加密认证方法。该安全认证器具有1Kb用户可编程EEPROM阵列以及用于公钥和证书的存储空间。它还具有一个仅递减计数器、一个私钥-公钥对生成器、一个硬件随机数生成器 (RNG) 和存储器,可以划分为开放访问区域(例如,未受保护)和 EEPROM 具有读或写保护的区域。
ECDSA 涉及有限域上的椭圆曲线运算,这是一个数学密集型运算。当认证器IC位于传感器卡上时,PLC还必须能够计算数字签名。这种能力的代价是PLC主机微控制器的计算复杂性要高得多,而计算时间通常是稀缺资源。配套协处理器ICDS2475位于PLC模块上的主机微控制器附近,以减轻ECDSA计算的负担。协处理器不需要任何秘密数据。DS28E35安全认证器和DS2475协处理器的功能框图如图2所示。
图2.DS28E35安全认证器的功能框图提供经济实惠的椭圆曲线公钥认证安全性,以保护传感器卡。DS2475协处理器可卸载主机ECDSA计算。
在此配置中,协处理器实现高速 ECDSA 引擎,用于公钥签名验证,该引擎也基于 NIST FIPS 186。身份验证器和协处理器使用曲线 P-192 和 NIST FIPS 180 SHA-256 引擎实现其公钥签名,以将输入数据设置为各自的 ECDSA 计算引擎。上电时,PLC现在可以验证身份验证器的证书,从而将传感器卡识别为生态系统的一部分。然后,PLC 确认存储在身份验证器内的公钥有效。图 3 显示了这种 PLC 到传感器模块互连。IO-Link 通信协议连接两个子系统,但该协议可以是当今存在的众多协议中的任何一个。®
图3.安全传感器卡/模块认证设置采用嵌入传感器卡的DS28E35 DeepCover安全认证器,并通过1-Wire接口与微处理器通信。DS2475 ECDSA安全协处理器位于PLC模块上,用于实现公钥签名过程。®
ECDSA 质询和响应身份验证
在最简单的形式中,ECDSA质询和响应身份验证原则是一种安全的握手方案,其中PLC提出问题(即质询),传感器卡必须提供有效的答案(即响应)才能进行身份验证。首先,PLC模块必须首先通过验证其证书来检查以确保传感器卡是生态系统的一部分。(我们将在本应用笔记中省略此步骤。收到PLC的质询后,传感器卡的响应是有效的数字签名。如果 PLC 无法验证返回的签名,这意味着传感器卡得到的答案是错误的,那么 PLC 将拒绝传感器卡,因为系统未经授权(不真实)。这种拒绝可能仅仅意味着该特定传感器卡提供的数据(例如,其系统报警点)将全部被拒绝,并且可能不会发送到系统操作员的链上,以确保有问题的数据不会影响未来的系统控制决策。
这种ECDSA认证方案的主要组成部分包括256位随机质询、传感器卡的认证器(即DS28E35)、ROM ID、RNG、私钥和其他一些数据元素。密钥对(公共/专用)可以在DS28E35外部生成并加载,也可以在IC内部计算。当密钥对在DS28E35内部生成时,私钥永远不会被读取或从器件中移除。但是,当使用外部密钥对生成器时,需要一个强大的密钥管理方案来防止私钥被泄露。
安装传感器卡并通电后,PLC 和传感器卡之间将立即发生以下事件序列。ECDSA 质询和响应身份验证事务序列如图 4 所示,如下所示:
PLC 读取传感器卡的 ROM ID、公钥 (Pu) 密钥、页面数据等。
传感器卡发送请求的数据
PLC 生成并向传感器卡发送随机质询。
传感器卡的认证器(DS28E35)计算PLC提供的质询的ECDSA签名。对质询、页面数据、ROM ID 和其他一些数据元素进行哈希处理,以获取消息身份验证代码 (MAC)。然后将MAC与私钥(Pr)和随机数一起输入ECDSA引擎,以创建ECDSA签名。
PLC 读取数字签名并使用公钥进行验证。PLC的安全协处理器(DS2475)使用相同的项目,包括相同的存储器数据、ROM ID和数据元素来计算相同的MAC。验证是通过馈送(一部分)收到的签名、MAC 和公钥来完成的。
如果存在签名匹配(如果私钥和公钥真正相关),则传感器卡将进行身份验证。这实质上意味着传感器卡是正品,然后PLC将接受来自它的所有测量数据。但是,如果无法验证签名,则传感器被视为假的、仿冒的、克隆的或伪造的。
图4.ECDSA 质询和响应身份验证事务序列。一个简单的示例假定证书验证之前已完成。
结论
DCS或SCADA是一个高度复杂的系统,需要保护。仅仅验证DCS/SCADA系统的服务器、存储和通信是否安全,在今天是不够的。端点(本应用笔记中讨论的传感器卡)也必须受到保护,以免易受攻击或使整个系统易受攻击。从本质上讲,安全架构设计和实现应将传感器卡视为威胁,直到它们都通过网络进行身份验证。这里进入ECDSA质询和响应身份验证,这是保护知识产权(IP)免受假冒和非法复制,保护研发投资以及保护系统组件的非常有效的方法。
今天有一个简单的ECDSA实现,它使用基于公钥的加密身份验证器。本应用笔记中的示例器件为DS28E35安全认证器和DS2475协处理器。经过验证的ECDSA安全性将确保任何克隆的,未经授权的传感器卡都无法进入系统,也不会向控制系统操作员发送虚假信息。因此,安全的身份验证器和协处理器可防止系统运行中断、生产力损失以及所有相关成本。根据DCS/SCADA的应用,具有强大ECDSA加密技术的安全认证器和协处理器甚至可以挽救生命。
审核编辑:郭婷
-
传感器
+关注
关注
2550文章
51041浏览量
753103 -
控制系统
+关注
关注
41文章
6605浏览量
110578 -
计算机
+关注
关注
19文章
7488浏览量
87861
发布评论请先 登录
相关推荐
评论