0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ECDSA的身份验证重新定义了安全传感器卡

星星科技指导员 来源:ADI 作者:ADI 2023-01-05 10:43 次阅读

工业控制系统无处不在,是社会基础设施不可或缺的一部分,例如我们的电力和水务设施,以及我们的石油/天然气、化工、管道和运输系统。毫不奇怪,鉴于世界上每天都有暴力和破坏报道,这些分布式控制系统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系统的架构。系统的底层是传感器卡,用于监控并向系统操作员发出警报。监控的典型功能包括温度、湿度、运动、液位、水流量、烟雾、门活动、电源故障、电流和丙烷罐状态。

poYBAGO2OUmAfDREAAE6rAWS5_A423.png?imgver=1

图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所示。

poYBAGO2OUqAQ6KwAABrTaeF6Aw041.png?imgver=1

pYYBAGO2OUuAI1WlAAB4Gq5Y2aU689.png?imgver=1

图2.DS28E35安全认证器的功能框图提供经济实惠的椭圆曲线公钥认证安全性,以保护传感器卡。DS2475协处理器可卸载主机ECDSA计算。

在此配置中,协处理器实现高速 ECDSA 引擎,用于公钥签名验证,该引擎也基于 NIST FIPS 186。身份验证器和协处理器使用曲线 P-192 和 NIST FIPS 180 SHA-256 引擎实现其公钥签名,以将输入数据设置为各自的 ECDSA 计算引擎。上电时,PLC现在可以验证身份验证器的证书,从而将传感器卡识别为生态系统的一部分。然后,PLC 确认存储在身份验证器内的公钥有效。图 3 显示了这种 PLC 到传感器模块互连。IO-Link 通信协议连接两个子系统,但该协议可以是当今存在的众多协议中的任何一个。®

pYYBAGO2OU2AJRLQAABIkQc2090191.png?imgver=1

图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将接受来自它的所有测量数据。但是,如果无法验证签名,则传感器被视为假的、仿冒的、克隆的或伪造的。

poYBAGO2OU6ADFk-AAClM8Uw_FE159.png?imgver=1

图4.ECDSA 质询和响应身份验证事务序列。一个简单的示例假定证书验证之前已完成。

结论

DCS或SCADA是一个高度复杂的系统,需要保护。仅仅验证DCS/SCADA系统的服务器、存储和通信是否安全,在今天是不够的。端点(本应用笔记中讨论的传感器卡)也必须受到保护,以免易受攻击或使整个系统易受攻击。从本质上讲,安全架构设计和实现应将传感器卡视为威胁,直到它们都通过网络进行身份验证。这里进入ECDSA质询和响应身份验证,这是保护知识产权(IP)免受假冒和非法复制,保护研发投资以及保护系统组件的非常有效的方法。

今天有一个简单的ECDSA实现,它使用基于公钥的加密身份验证器。本应用笔记中的示例器件为DS28E35安全认证器和DS2475协处理器。经过验证的ECDSA安全性将确保任何克隆的,未经授权的传感器卡都无法进入系统,也不会向控制系统操作员发送虚假信息。因此,安全的身份验证器和协处理器可防止系统运行中断、生产力损失以及所有相关成本。根据DCS/SCADA的应用,具有强大ECDSA加密技术的安全认证器和协处理器甚至可以挽救生命。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48120

    浏览量

    740161
  • 控制系统
    +关注

    关注

    41

    文章

    5966

    浏览量

    108726
  • 计算机
    +关注

    关注

    19

    文章

    6652

    浏览量

    84565
收藏 人收藏

    评论

    相关推荐

    HTTPServer可以支持基本的HTTP身份验证吗?

    基本的HTTP认证提供可接受的保护级别。如果不可能用HTTPServer支持基本HTTP身份验证,那么有没有其他的首选或系统的密码保护方法保护HTTP服务服务的一些网页?(可能通过网页数据库?).谢谢
    发表于 10-30 10:23

    无线身份验证的门禁控制系统设计方案

    1 概述  随着人们的移动性与日俱增,对身份验证安全性及可靠性的新需求应运而生,推动虚拟身份验证取代密钥卡门禁。为了应付无间断连接及完全分布式智能设备的爆炸式增长所带来的挑战,有必要制定一种
    发表于 11-05 11:11

    facexx人脸识别身份验证迎来新技术革新

    安全。有AI身份验证的技术人员,通过率将会更高,而且企业的资源也可以得到最优化,更重要的是办公安全也可以得到一个更大的保障,在节省人力物力的过程当中也可以让办公场景更高效,更
    发表于 12-19 15:06

    Vivado和SDK身份验证错误

    时,我们在安装的这一点上都有相同的错误。用户ID和密码验证登录但无法安装。想法?是否存在已关闭的身份验证服务?以上来自于谷歌翻译以下为原文When trying to run
    发表于 01-02 14:55

    由于telnet.c问题,telnet身份验证失败

    我使用CaseDATAUSER在IF的情况下,那么它就不进行身份验证,而且永远不会转到SMESGETGIX密码。但是如果我编写了一个定义TeleNETUsNeads:admin的定义,则定义
    发表于 02-15 15:03

    ESP8266有没有办法在不使用指纹的情况下使用HTTPS,只使用密钥作为身份验证

    的,因为它不“安全”,即使使用基本的用户名/密码身份验证也是如此,而且 HTTPS 需要指纹。有没有办法在不使用指纹的情况下使用 HTTPS,只使用密钥作为身份验证?那会安全吗?
    发表于 02-28 06:34

    PN5180无法使用mifare classic进行身份验证怎么解决?

    ....ok 2. Anticollision CL1.....ok 3. 选择......ok 4. 验证....错误当我发送身份验证命令时,我得到 0x02(等待响应超时(
    发表于 03-23 08:46

    什么是身份验证和授权

    什么是身份验证和授权 根据RFC2828(Internet Security Glossary,May2000),验证是“校验被或向某系统实体声明的身份的过程”。此处的关键字
    发表于 04-03 16:03 5678次阅读

    什么是询问握手身份验证协议

    什么是询问握手身份验证协议 CHAP(询问握手身份验证协议)是用于远程登录的身份验证协议,通过三次握手周期性的校验对端的身份,在初始链
    发表于 04-03 16:06 2587次阅读

    什么是密码身份验证协议

    什么是密码身份验证协议 PAP是一种身份验证协议,是一种最不安全身份证协议,是一种当客户端不支持其它身份认证协议时才被用来
    发表于 04-03 16:07 1512次阅读

    为设计选择正确的安全身份验证方法

      当然,有不同级别的有效身份验证。以打印机墨盒为例。为了验证它的真实性,墨盒可以发送一个密码。但是这种方法的缺点是中间人可以在密码被传输时捕获并重新使用它。质询-响应身份验证,其中墨
    的头像 发表于 05-24 10:11 1042次阅读
    为设计选择正确的<b class='flag-5'>安全身份验证</b>方法

    PCB身份验证

    电子发烧友网站提供《PCB身份验证器.zip》资料免费下载
    发表于 07-22 10:09 2次下载
    PCB<b class='flag-5'>身份验证</b>器

    基于 ECDSA身份验证重新定义安全传感器

    发表于 11-17 08:22 0次下载
    基于 <b class='flag-5'>ECDSA</b> 的<b class='flag-5'>身份验证</b><b class='flag-5'>重新定义</b>了<b class='flag-5'>安全传感器</b>卡

    安全哈希算法的基础知识,如何使用算法进行身份验证

    本应用笔记介绍了安全哈希算法(SHA)的基础知识,并讨论了该算法的变体。然后简要介绍了如何使用算法进行身份验证,包括哈希消息身份验证代码 (HMAC) 的概念。最后,本文介绍了一些Maxim
    的头像 发表于 12-21 15:37 1858次阅读
    <b class='flag-5'>安全</b>哈希算法的基础知识,如何使用算法进行<b class='flag-5'>身份验证</b>

    使用DeepCover安全身份验证器保护您的FPGA系统

    本应用笔记介绍了设计人员如何保护其 Xilinx FPGA 实现、保护 IP 并防止附加外设伪造。设计人员可以使用本应用笔记中描述的参考设计之一来实现这种安全性。这些设计在FPGA和DeepCover安全身份验证器之间实现了SHA-256或
    的头像 发表于 02-20 11:07 666次阅读
    使用DeepCover<b class='flag-5'>安全身份验证</b>器保护您的FPGA系统