CN110083129B - 工业控制器模块、实现其安全性的方法和计算机可读介质 - Google Patents

工业控制器模块、实现其安全性的方法和计算机可读介质 Download PDF

Info

Publication number
CN110083129B
CN110083129B CN201910066860.8A CN201910066860A CN110083129B CN 110083129 B CN110083129 B CN 110083129B CN 201910066860 A CN201910066860 A CN 201910066860A CN 110083129 B CN110083129 B CN 110083129B
Authority
CN
China
Prior art keywords
backplane
modular device
data
response
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910066860.8A
Other languages
English (en)
Other versions
CN110083129A (zh
Inventor
迈克尔·A·布什
塔里尔·J·贾斯帕
凯文·M·塔姆巴斯科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of CN110083129A publication Critical patent/CN110083129A/zh
Application granted granted Critical
Publication of CN110083129B publication Critical patent/CN110083129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/048Monitoring; Safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31088Network communication between supervisor and cell, machine group
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45103Security, surveillance applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Programmable Controllers (AREA)

Abstract

公开了经认证的背板访问。工业控制器模块配置有实现背板级安全协议的安全部件,从而防止未授权的模块化设备安装在工业控制器的背板上。当模块化设备被安装在控制器的机箱中并且与背板对接时,处理器模块或者其他监管模块中的安全部件启动经由背板与模块化设备交换认证数据。认证数据可以包括一个或更多个安全质询,在允许模块化设备在背板上操作之前,模块化设备必须正确地响应于安全质询。这些背板级安全协议可以防止可能用于收集专有控制数据或者干扰控制过程的欺诈模块的安装。

Description

工业控制器模块、实现其安全性的方法和计算机可读介质
技术领域
本文中公开的主题一般涉及工业自动化系统,并且更具体地,涉及工业环境中的安全策略的实现。
背景技术
控制器背板代表潜在的攻击媒介,未授权的实体可以通过该攻击媒介获得对控制系统信息的低级访问。由于背板独特的物理或电气特性,专有的和非法的消息传递协议通常用于跨背板交换数据,并且背板周围的安全性的外部物理层(例如,工业控制器通常被封闭在控制柜内这一事实)阻止了系统设计者考虑与控制器背板相关联的潜在的安全漏洞,因此系统设计人员或设备供应商一般不考虑背板级安全风险。然而,尽管存在这些固有的安全层,工业控制器的背板——其很少使用或根本不使用访问控制技术——可以被欺诈方反向设计,以了解背板的物理、电气和通信特性。利用该信息,这些欺诈方可以将被设计成中断控制系统或者记录专有控制系统信息的欺诈模块配置并安装在控制器机箱中。这些欺诈模块可以允许这些方访问用户的控制系统,收集有关用户的控制系统的专有信息,篡改控制系统数据,干扰由控制器执行的实时控制,导致拒绝服务、欺骗合法的控制设备或者未经授权地访问工厂内的其他更安全的网络或数据总线。
发明内容
为了提供本文中所描述的一些方面的基本理解,下面给出了简化的概述。该概述不是广泛的综述,也不意在标识关键/重要元件或描绘本文所描述的各个方面的范围。其目的仅在于以简化形式给出一些概念作为后面给出的更详细的描述的前奏。
在一个或更多个实施方式中,提供了一种工业控制器模块,该工业控制器模块包括:程序执行部件,其被配置成执行工业控制程序,该工业控制程序基于由工业控制器接收的输入信号来控制工业控制器的输出信号,其中,输出信号和输入信号经由工业控制器的背板来传送;以及设备认证部件,其被配置成:检测模块化设备在工业控制器的背板上的安装,在设备认证序列期间经由背板与模块化设备交换认证数据,以及响应于基于认证序列的结果确定模块化设备被授权在背板上操作,启动模块化设备在背板上的操作。
此外,根据一个或更多个实施方式,提供了一种用于实现工业控制器安全性的方法,该方法包括:响应于检测到模块化设备在工业控制器的背板上的安装,由包括处理器的工业控制器模块执行认证序列,认证序列基于经由背板进行的认证数据的交换来确定模块化设备的真实性;以及响应于基于认证序列的结果确定模块化设备是授权设备,启动模块化设备在背板上的操作;或者响应于基于认证序列的结果确定模块化设备不是授权设备,禁止模块化设备在背板上的操作。
此外,提供了一种存储有可执行指令的非暂态计算机可读介质,可执行指令响应于执行使包括至少一个处理器的工业控制器模块执行操作,所述操作包括:检测模块化设备在工业控制器的背板上的安装;响应于检测,经由背板向模块化设备发送对安全证书数据的请求;响应于经由背板接收到安全证书数据,确定安全证书数据是否真实;响应于确定安全证书数据真实,基于安全证书数据中包含的信息来生成质询数据;经由背板向模块化设备发送安全质询数据;以及响应于确定安全证书数据不真实或者经由背板从模块化设备接收的对安全质询数据的响应错误,禁止模块化设备在背板上的操作。
为了实现上述及有关目的,在本文中结合以下描述和附图对某些示意性方面进行了描述。这些方面表示可以实现的各种方式,本文意在涵盖所有这些方式。在结合附图考虑的情况下,根据下面的详细描述,其他优点和新颖特征会变得明显。
附图说明
图1是示例工业控制环境的图。
图2是示出工业控制器与I/O设备之间的硬连线I/O连接的图。
图3是示出工业控制器机箱内的处理器模块与I/O模块之间的通信的图。
图4A是示例工业控制器的侧视图,其示出I/O模块与控制器背板的连接。
图4B是示例工业控制器的前视图,其示出I/O模块与控制器背板的连接。
图5是支持背板认证的示例工业控制器处理器模块的框图。
图6是支持背板认证的示例模块化设备的框图。
图7是示出向模块化设备和处理器模块二者颁发供应商证书数据的图。
图8是示出处理器模块与和处理器模块共享背板的模块化设备之间的示例认证序列的图。
图9是示出用户证书数据的生成的图。
图10是示出所安装的模块化设备通过背板独占访问处理器模块的登记的图。
图11是示出支持背板级安全性的远程I/O配置的图。
图12是示出配置有能够修改控制器背板的操作的背板控制部件的处理器模块的实施方式的图。
图13是示出欺诈模块通知的递送的图。
图14A是用于认证安装在工业控制器的背板上的模块化设备的示例方法的第一部分的流程图。
图14B是用于认证安装在工业控制器的背板上的模块化设备的示例方法的第二部分的流程图。
图15A是用于经由工业控制器的背板向监管模块化设备提供认证证书的示例方法的第一部分的流程图。
图15B是用于经由工业控制器的背板向监管模块化设备提供认证证书的示例方法的第二部分的流程图。
图16是示例计算环境。
图17是示例联网环境。
具体实施方式
现在参照附图描述主题公开内容,其中,贯穿全文使用相同的附图标记指代相同的元件。在下面的描述中,出于说明的目的,阐述了大量的具体细节以便提供其透彻的理解。然而,会明显的是,可以在没有这些具体细节的情况下实践主题公开内容。在其他实例中,以框图形式示出了公知的结构和设备以便于对其描述。
如在本申请中使用的,术语“部件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”意在指代计算机相关实体、或与具有一个或更多个特定功能的操作设备相关的或作为该操作设备的一部分的实体,其中,这样的实体可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、包括附加固态存储驱动器(螺丝拧紧或螺栓固定)或者可移除式附加固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行体;执行线程;计算机可执行程序、和/或计算机。通过例示,服务器上运行的应用以及服务器二者均可以为部件。一个或更多个部件可以驻留在进程和/或执行线程内,并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,本文所描述的部件可以根据存储有各种数据结构的各种计算机可读存储介质来执行。部件可以例如根据具有一个或更多个数据包(例如,来自与本地系统、分布式系统中的另一部件交互的一个部件的数据,以及/或者来自经由信号在网络例如因特网上与其他系统交互的一个部件的数据)的信号经由本地和/或远程处理进行通信。作为另一个示例,部件可以是具有由电气或电子电路操作的机械部件所提供的特定功能的设备,其中所述电气或电子电路通过处理器执行的软件或固件应用进行操作,其中处理器可以位于设备内部或外部,并且执行软件或固件应用的至少一部分。作为又一个示例,部件可以是如下设备:其通过电子部件提供特定功能,而无需机械件,电子部件可以在其中包含处理器以执行提供电子部件的至少部分功能的软件或固件。作为再一个示例,接口可以包括输入/输出(I/O)部件以及相关联的处理器、应用或应用编程接口(API)部件。虽然前述示例涉及部件的各个方面,但是所例示的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
本文中所使用的术语“推断(to infer)”和“推断(inference)”一般是指根据经由事件和/或数据捕获的一组观察结果来推理或推断系统、环境和/或用户的状态的过程。可以采用推断来识别特定的上下文或动作,或者可以例如生成状态的概率分布。推断可以是概率性的,也就是说,所关注的状态的概率分布的计算基于数据和事件的考虑。推断还可以指用于从一组事件和/或数据构成较高等级事件的技术。这样的推断导致从一组观察到的事件和/或存储的事件数据来构造新的事件或动作,而无论事件是否是时间接近地相关,以及无论事件和数据是来自一个事件和数据源、还是若干个事件和数据源。
此外,术语“或”意指包容性的“或”,而非排他性的“或”。也就是说,除非另外指明或者在上下文中明确,否则短语“X采用A或B”旨在表示任何自然的包括性排列。也就是说,短语“X采用A或B”满足以下实例中的任何一个:X采用A;X采用B;或X采用A和B两者。此外,本申请中以及所附权利要求中使用的冠词“一个(a、an)”一般应被解释为是指“一个或更多个”,除非另有指明或上下文明确针对单数形式。
此外,文中使用的术语“集合”排除空集,例如其中没有元件的集合。因此,本主题公开内容中的“集合”包括一个或更多个要素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源;等等。同样地,本文中使用的术语“组”是指一个或更多个实体的集合,例如节点组指代一个或更多个节点。
将根据可以包括许多设备、部件、模块等的系统来呈现各个方面或特征。但应当理解和明白的是,各个系统可以包括另外的设备、部件、模块等,和/或可以不包括结合附图所论述的设备、部件、模块等的全部。还可以使用这些方法的组合。
图1是示例工业控制环境100的框图,工业控制环境100包括若干不同的工业设备和资产。在该示例中,遍及工业工厂环境部署若干工业控制器118来监视和控制与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能有关的各种工业系统或过程。工业控制器118通常执行相应的控制程序以便于监视和控制组成受控工业系统的工业设备120。由工业控制器118执行的控制程序可以包括用于处理从工业设备120读取的输入信号以及控制由工业控制器生成的输出信号的任何可想到的类型的代码,包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本。
工业设备120可以包括输入设备和输出设备两者,输入设备将与受控工业系统有关的数据提供给工业控制器118,输出设备响应于由工业控制器118生成的控制信号来控制工业系统的各方面。示例输入设备可以包括遥测设备(例如,温度传感器、流量计、物位传感器、压力传感器等)、手动操作者控制设备(例如,按钮、选择器开关等)、安全监视设备(例如,安全垫、安全拉绳、光幕等)以及其他这样的设备。输出设备可以包括马达驱动器、气动致动器、发信号设备、机器人控制输入设备、阀等。
工业控制器118可以通过硬连线连接或网络连接与工业设备120通信上对接。例如,工业控制器118可以配备有与工业设备120通信的本地硬连线输入和输出以实现对这些设备的控制。本地控制器I/O可以包括:向现场设备发送和从现场设备接收离散电压信号的数字I/O;或者向设备发送和从设备接收模拟电压或电流信号的模拟I/O。控制器I/O可以通过背板——例如安装在控制器机箱的背面的用作I/O模块与控制器之间的电源和数据总线的背板——与控制器的处理器通信,使得数字信号和模拟信号可以读入控制程序并且受控制程序控制。工业控制器118还可以使用例如通信模块或集成网络端口通过网络与工业设备120通信。示例网络可以包括因特网、内联网、以太网、设备网(DeviceNet)、控制网(ControlNet)、数据高速公路和数据高速公路加(DH/DH+)、远程I/O、现场总线、Modbus、过程现场总线(Profibus)、无线网络、串行协议等。工业控制器118还可以存储由控制程序引用并且用于控制决策的持久数据值,包括但不限于:表示受控机器或过程的操作状态(例如,罐内物位、位置、警报等)或者在自动化系统的操作期间收集的捕获时间序列数据(例如,多个时间点的状态信息、诊断事件等)的测量值或计算值。
工业自动化系统通常包括一个或更多个人机接口(HMI)114,其使得工厂人员能够查看与自动化系统相关联的遥测数据和状态数据并且控制系统操作的某些方面。HMI 114可以通过工厂网络116与一个或更多个工业控制器118通信并且与工业控制器交换数据,以便于在一个或更多个预先开发的操作者接口屏幕上使与受控工业过程有关的信息可视化。HMI114还可以被配置成允许操作者向工业控制器118的存储器地址或指定数据标签提交数据,由此给操作者提供向受控系统发出命令(例如,周期开始命令、设备致动命令等)的手段以修改设定点值等。HMI 114可以生成一个或更多个显示屏幕,操作者通过一个或更多个显示屏幕与工业控制器118交互,并且由此与受控过程和/或系统交互。示例显示器屏幕可以使用以下过程的图形表示使工业系统或其相关联设备的当前状态可视化,这些过程显示测量值或计算值,采用基于状态的颜色或位置动画,呈现警报通知,或采用向操作者呈现有关数据的其他这样的技术。以这种方式呈现的数据通过HMI 114从工业控制器118读取,并且根据由HMI开发者选择的显示格式来呈现在一个或更多个显示屏幕上。
其他工业设备或资产可以包括工业机器人122,工业机器人122可以根据由工业机器人122自己的内部控制器执行的程序结合与一个或更多个外部控制器(例如,工业控制器118)交换的信息来操作。一些工业环境还可以包括执行各种生产、质量或安全功能的若干子系统,包括但不限于视觉系统、安全系统(例如,光学存在感测系统、安全中继系统等)、产品质量检查系统(例如,泄漏测试系统)或其他这样的资产。
一些工业环境还可以包括:聚合并存储从工业控制器118或其他数据源收集的生产信息的一个或更多个数据历史110;或者包含用于构成受控工业系统的各种工业设备的电子文档的设备文档存储104。其他工业设备或资产可以包括库存跟踪系统102、工作订单管理系统106、企业资源规划(ERP)系统、制造执行系统(MES)或其他这样的商业级系统,上述系统中的一些或全部可以驻留在工业环境的办公网络108(例如,相对于工厂网络116单独管理的网络)上。工业网络环境还可以包括若干网络架构设备——例如防火墙124、集线器、路由器或交换机——其连接单独的网络和/或联网设备并且管理各种设备与网络之间的数据流。
由工业控制器118控制的工业设备120、过程或机器通常包括经由控制器的I/O模块电连接到工业控制器118的一个或更多个I/O设备,如图2所示。这些I/O设备202可以包括数字输入设备(例如,按钮、选择器开关、安全设备、接近开关、光传感器等)、数字输出设备(例如,电磁阀、指示灯、电机接触器等)、模拟输入设备(例如,4mA至20mA遥测设备、0VDC至10VDC遥测设备或其他模拟测量设备)或者模拟输出设备(例如,变频驱动器、流量控制阀、速度控制设备等)。通常,每个I/O设备202连接到工业控制器118的适当I/O模块204的端子。I/O模块通常被分类为数字输入模块、数字输出模块、模拟输入模块或模拟输出模块以适应不同类型的I/O设备202。
为了满足每个特定控制应用的需要,一些工业控制器包括多插槽机箱,多插槽机箱允许将选定的I/O模块安装在机箱的每个插槽中。机箱的一个插槽通常专用于控制器的处理器模块206,然而一些设计允许将处理器模块206插入机箱的任何插槽中。当处理器模块206、I/O模块204或其他类型的特殊功能模块(例如,联网模块或特殊功能模块)被安装在控制器的机箱中时,该模块与安装在机箱后部的背板对接。背板用作电源和数据总线,电源和数据总线二者均向I/O模块供电——通常由安装在机箱304中的专用电源模块提供——并且还用作处理器模块206与I/O模块204之间的数据交换的路径。例如,数字和模拟输入模块经由背板将其测量的输入值提供给处理器模块,并且处理器模块经由背板将编程的数字值和模拟值发送到选定的数字或模拟输出模块,以转换为电气输出信号。
图3是示出工业控制器机箱304内的处理器模块206与I/O模块204之间的通信的图。I/O模块204的一个或更多个端子312经由现场连线310连线至I/O设备(例如,I/O设备202),允许在I/O设备与I/O模块302之间交换电信号。如果I/O模块204是输入模块,则每个输入I/O设备经由现场连线310向I/O模块204提供离散(例如,24VDC)或模拟(例如,4mA至20mA或0VDC至10VDC)电信号,以供处理器模块206处理。如果I/O模块204是输出模块,则I/O模块204根据由处理器模块206发出的命令经由现场连线310向I/O设备发送离散或模拟输出信号。处理器模块206执行用户定义的控制程序308(例如,梯形逻辑程序、顺序功能块程序等),控制程序308根据所接收的输入信号和用户定义的控制序列控制经由输出模块发送至输出现场设备的输出信号。I/O模块204经由背板的数据总线与处理器模块206交换该输入和输出数据,该背板位于机箱304的后部。通常,当I/O模块204或处理器模块206被插入到机箱304的插槽中时,模块后侧的接口连接器被插入背板,从而提供在处理器模块206与I/O模块204之间进行数据交换的手段。背板还包括向I/O模块204和处理器模块206提供电力的电力总线。
图4A和图4B分别是示例工业控制器118的侧视图和前视图,其示出了I/O模块204到控制器的背板408的连接。示例工业控制器118包括机箱304、处理器模块206和I/O模块204。为清楚起见,在图4A和图4B中仅示出了单个I/O模块204。在本示例中,处理器模块206驻留在机箱304的最右侧插槽中,而I/O模块204驻留在处理器模块206左侧的第四个插槽中。I/O模块204可以包括例如印刷电路板,该印刷电路板包含用于执行模块的功能的部件(例如,用于与处理器模块206通信的电路系统、用于调节来自端子312的输入信号以通过背板408进行传输的电路系统、用于根据经由背板408接收的来自处理器模块206的命令生成端子输出信号的电路,等等)。一些I/O模块204还可以包括完全或部分地包围电路板的壳体。在所示的示例中,导轨406a和406b针对每个插槽位于机箱304的顶部和底部,并且被设计成将I/O模块204引导到插槽中并且将I/O模块204的背板连接器418与位于机箱304的后部的背板接口端口416a对准(图4B的前视图示出了三个未使用的背板接口端口416b)。当I/O模块的背板连接器418连接至背板接口端口416a时,I/O模块204和处理器模块206能够通过背板408交换信息(如上面结合图3所述)。背板408还向I/O模块204和处理器模块206提供电力。电力通常由安装在可用插槽之一或专用电源插槽中的电源模块(未示出)提供。
一些I/O模块204可以包括具有用于传送模块204的每个I/O点的状态信息和/或一般的模块状态信息的状态指示器——例如颜色编码的发光二极管(LED)——的前指示器面板414。
由于许多工业设备、系统和资产驻留在工厂和/或办公网络上,因此系统设计者经常配置防止未授权用户或设备未经授权地访问工业资产的网络安全协议。需要这样的安全措施来防止未经授权地查看生产数据或其他敏感信息或者防止远程实体越权控制工业资产并修改控制序列或设备参数。
然而,即使在适当的网络级安全性的情况下,控制器背板(例如,背板408)仍然代表潜在的攻击媒介,未授权的实体可以通过该攻击媒介获得对控制系统信息的低级访问。由于背板独特的物理或电气特性,专有的和非法的消息传递协议通常用于跨背板交换数据,并且背板周围的安全性的外部物理层(例如,工业控制器通常被封闭在控制柜内这一事实)阻止了系统设计者考虑与控制器背板相关联的潜在的安全漏洞,因此系统设计人员或设备供应商一般不考虑背板级安全风险。然而,尽管存在这些固有的安全层,工业控制器的背板——其很少使用或根本不使用访问控制技术——可以被欺诈方反向设计,以了解背板的物理、电气和通信特性。利用该信息,这些欺诈方可以将被设计成中断控制系统或者记录专有控制系统信息的欺诈模块配置并安装在控制器机箱中。这些欺诈模块可以允许这些方访问用户的控制系统,收集有关用户的控制系统的专有信息,篡改控制系统数据,干扰由控制器执行的实时控制,导致拒绝服务、欺骗合法的控制设备或者未经授权地访问工厂内的其他更安全的网络或数据总线。
为了解决这些和其他问题,本公开内容的一个或更多个实施方式提供了配置有背板级安全协议的工业控制器。在一个或更多个实施方式中,工业控制器处理器模块或其他监管模块可以对控制器的背板上的各个模块化设备(例如,I/O模块、联网模块等)执行安全认证,并且仅在所安装的模块被认证的情况下才允许该模块在背板上操作。响应于检测到未授权模块,监管模块可以执行一个或更多个动作以防止未授权模块在背板上操作;例如,通过禁止与模块的数据连接,通过断开对模块或整个背板的供电等。在一些实施方式中,监管模块还可以生成检测到针对日志服务器、对HMI或者对与负责的工厂人员相关联的一个或更多个指定的客户端设备的欺诈模块的通知。监管模块(例如,处理器模块、适配器模块、联网模块或其他类型的监管模块)可以被配置成对供应商批准的设备和用户批准的设备二者进行认证。
用于对跨控制器的背板的控制器模块进行认证的任何合适的技术都在本公开内容的一个或更多个实施方式的范围内。例如,在一些实施方式中,由授权设备供应商制造的模块可以被提供有每个模块唯一的数字供应商证书,并且监管模块可以基于私钥基础设施(PKI)对插入到控制器的背板中的模块或设备进行认证。然而,本文中描述的工业背板级安全技术不限于这种安全协议,并且用于在工业控制器部件内实现背板级安全性的任何合适的安全协议都在本公开内容的一个或更多个实施方式的范围内。
图5是支持背板认证的示例工业控制器处理器模块502的框图。尽管本文中描述的示例假设监管认证功能在处理器模块502(例如,诸如处理器模块206)中实施,但是监管认证功能还可以在与控制器的背板对接的其他类型的控制器模块或设备——包括但不限于远程I/O适配器模块、联网模块、专用安全模块、特殊功能模块或其他类型的控制器模块——中实施。本公开内容中说明的系统、设备或过程的方面可以构成在机器中实施例如在与一个或更多个机器相关联的一个或更多个计算机可读介质(或媒介)中实施的机器可执行部件。这样的部件当由一个或更多个机器例如计算机、计算设备、自动化设备、虚拟机等执行时可以使机器执行所描述的操作。
处理器模块502可以包括客户端接口部件504、程序执行部件506、设备认证部件508、通知部件510、背板控制部件512、一个或更多个处理器520和存储器522。在各种实施方式中,客户端接口部件504、程序执行部件506、设备认证部件508、通知部件510、背板控制部件512、一个或更多个处理器520和存储器522中的一个或更多个可以彼此电耦接和/或通信上耦接,以执行处理器模块502的一个或更多个功能。在一些实施方式中,部件504、506、508、510、512和514可以包括存储在存储器522上并且由处理器520执行的软件指令。处理器模块502还可以与图5中未描绘的其他硬件和/或软件部件交互。例如,处理器520可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备交互。
客户端接口部件504可以被配置成与和处理器模块502对接的客户端设备——例如台式计算机、膝上型计算机或平板计算机;诸如智能手机的移动设备;或者其他这样的客户端设备——交换数据。如下面将更详细描述的,客户端设备与处理器模块502之间的连接可以允许用户定义要由处理器520执行的控制程序528(例如,梯形逻辑程序或其他类型的工业控制程序)以及定义被授权经由控制器背板与处理器模块502通信的模块化背板设备的子集。
程序执行部件506可以被配置成执行存储在处理器模块的存储器522上的控制程序528(例如,梯形逻辑程序、顺序功能流程图程序等),以利于通过与处理器模块502共享背板(或I/O网络)的其他数字、模拟和/或联网的I/O模块来监视和控制工业过程。
设备认证部件508可以被配置成通过对安装在控制器的背板上的所有模块化设备(例如,I/O模块、网络模块、特殊功能模块等)进行认证来实现其中安装有处理器模块的工业控制器的背板级安全。在一些实施方式中,授权模块的认证可以基于可以被存储在处理器模块502的存储器522上的下述中的一者或两者:供应商证书数据524(在模块的制造期间颁发给处理器模块502);或者用户证书数据526(由最终用户使用信任机构颁发给处理器模块502)。
通知部件510可以被配置成响应于检测到未授权模块化设备安装在控制器的背板上而生成通知数据。这可以包括例如生成标识检测到未授权模块化设备的带时间戳的日志条目,以及将日志条目本地存储在存储器522上或者将日志条目发送到远程服务器设备。在另一个示例中,通知部件510可以被配置成例如经由针对客户端设备的文本消息、作为针对人员的电子邮件地址的电子邮件或者通过其他方式将通知传递给与合适的工厂人员相关联的一个或更多个客户端设备。
背板控制部件512可以被配置成基于安装在背板上的模块化设备的认证过程的结果来修改控制器的背板的操作。例如,响应于设备认证部件508确定已经安装在背板上的模块化设备不是授权设备,背板控制部件512可以禁止到安装有未授权设备的插槽或来自该插槽的背板通信。这可以通过指示处理器模块502禁止对未授权模块的数据读取和写入操作来实现。对于背板配备有能够将每个插槽中的模块化设备与背板物理隔离的开关的实施方式,背板控制部件512还可以指示将与插槽相关联的一个或更多个背板开关断开,从而将未授权模块从背板的电力总线和/或数据总线断开。在又一示例中,背板控制部件512可以被配置成响应于检测到任何控制器的插槽中的未授权模块而断开整个背板的电力,从而将控制器中的所有模块断电。其他对策也在一个或更多个实施方式的范围内。例如,如果任何已安装的模块未被授权,则设备认证部件508可以替代地指示程序执行部件506禁止处理器模块502的运行模式,而不是修改背板操作。这防止控制程序528执行,直到设备认证部件508授权了安装在控制器中的所有模块化设备为止。
一个或更多个处理器520可以参考所公开的系统和/或方法来执行本文中描述的一个或更多个功能。存储器522可以是存储用于执行本文中参考所公开的系统和/或方法所描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
图6是支持背板认证的示例模块化设备602的框图。模块化设备602可以是可以被安装在工业控制器的背板上的基本上任何类型的工业控制器模块,包括但不限于数字或模拟输入模块、数字或模拟输出模块、联网模块、特殊功能模块或其他类型的模块。
模块化设备602可以包括背板接口部件604、认证响应部件606、模块功能部件608、客户端接口部件610、一个或更多个处理器620和存储器622。在各种实施方式中,背板接口部件604、认证响应部件606、模块功能部件608、客户端接口部件610、一个或更多个处理器620和存储器622中的一个或更多个可以彼此电耦接和/或通信上耦接以执行模块化设备602的一个或更多个功能。在一些实施方式中,部件604、606和608可以包括存储在存储器622上并且由处理器620执行的软件指令。模块化设备602还可以与图6中未描绘的其他硬件和/或软件部件交互。例如,处理器620可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示监视器、触摸屏或其他这样的接口设备交互。
背板接口部件604可以被配置成将模块化设备602电连接和通信地连接至工业控制器的背板(例如,安装在控制器机箱后部的背板)。背板接口部件604可以包括例如背板连接器(例如,类似于背板连接器418),该背板连接器连同和背板交换数据以及从背板接收电力所必需的任何电子器件或软件一起被插入背板接口端口(例如,类似于背板接口端口416)或以其他方式与背板接口端口接口。认证响应部件606可以被配置成响应于来自处理器模块502的对认证信息的请求。在一些场景中,认证响应部件606可以基于存储在模块化设备602的存储器622上的供应商证书数据624和/或用户证书数据626来生成对来自处理器模块502的请求的响应。例如,根据从设备认证部件508接收的请求的性质,认证响应部件606可以将供应商证书数据624或用户证书数据626中的一者或两者提供给处理器模块502,或者可以提供已经使用由供应商证书数据624定义的加密密钥解密的散列值。
模块功能部件608可以被配置成根据模块化设备602的类型执行模块化设备602的本机功能。例如,如果模块化设备602是模拟输出模块,则模块功能部件608可以被配置成生成与由在处理器模块502上执行的控制程序528定义的模拟值成比例的电压或电流输出信号(例如,0VDC至10VDC或4mA至20mA输出),并且在模块的输出端子上输出所生成的信号。如果模块化设备602是模拟输入模块,则模块功能部件608可以被配置成生成模拟值以供控制程序528处理,其中模拟值与在模块的输入端子处接收的模拟电信号成比例。其他类型的模块功能也在一个或更多个实施方式的范围内。
客户端接口部件610可以被配置成与和模块化设备602对接的客户端设备——例如台式计算机、膝上型计算机或平板计算机;诸如智能手机的移动设备;或者其他这样的客户端设备——交换数据。如下面将更详细描述的,客户端设备与模块化设备602之间的连接可以允许用户向模块化设备提供用户证书数据626。
一个或更多个处理器620可以参考所公开的系统和/或方法来执行本文中描述的功能中的一个或更多个。存储器622可以是存储用于参考所公开的系统和/或方法来执行本文中描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
如上所述,本文中描述的架构的一个或更多个实施方式支持背板认证协议,该背板认证协议需要模块化设备(例如,I/O模块、特殊功能模块、联网模块等)来证明真实性以获得对背板的访问或在背板上操作。在示例实现中,控制器模块(例如,模块化设备602)的认证可以依赖于供应商证书来保护对背板的访问。图7是示出向模块化设备602和处理器模块502两者颁发供应商证书数据的图。在本示例配置中,处理器模块502当被安装在工业控制器机箱中并且与控制器的背板408对接时将对也安装在背板408上的任何模块化设备602进行认证。因此,处理器模块502和所有支持的模块化设备602二者在制造时分别被颁发有供应商证书数据524和624。颁发给每个授权设备的供应商证书数据对于该设备是唯一的。在一些实施方式中,供应商证书数据524和624的格式可以符合X.509标准或其他合适的加密标准。使用供应商证书数据524和624,可以使用类似于公钥基础设施(PKI)认证的技术来执行对安装在背板上的模块化设备的认证。尽管本文中描述的示例假定使用数字证书和PKI认证,但是应当理解,本文中描述的背板级安全特征不限于这样的协议,并且任何背板级安全协议都在一个或更多个实施方式的范围内。
供应商证书数据624和524可以包括诸如设备502和602的供应商702的身份之类的信息、唯一地标识设备的设备标识信息(例如,诸如媒体访问控制(MAC)地址的物理设备标识符)、指定设备允许访问的范围的许可类型的指示、用于识别由供应商702(充当证书授权机构)颁发的有效许可证书的公钥数据、以及数字签名信息。模块化设备的供应商证书数据624中包含的数字签名可以由处理器模块502的设备认证部件508(或负责验证模块化设备602的真实性的另一模块化监管设备)使用颁发给处理器模块的公钥作为处理器模块的供应商证书524的一部分来验证。通过以这种方式验证模块化设备的数字签名,处理器模块502可以确认由模块化设备602提供的供应商证书数据624是有效的、可靠的并且没有被篡改。
出于本示例的目的,假设供应商702是制造和销售模块化设备602和处理器模块502的商业实体。然而,在一些场景中,证书机构可以是另一可信第三方实体,例如,已被设备供应商授权出于背板级安全性的目的颁发许可证的安全实体或合作伙伴实体。
在所示的示例中,由供应商702(或另一可信证书机构)分别向模块化设备602和处理器模块502颁发证书数据624和542使得私钥数据704和706被登记到供应商的PKI中。私钥数据704对应于模块化设备的供应商证书数据624中包括的公钥,而私钥数据706对应于处理器模块的供应商证书数据524中包括的公钥。私钥数据704和706可以在其各自设备的硬件中被保护(例如,使用硬件安全模块或者使用其他硬件保护手段),以呈现不受克隆影响的私钥数据。在认证期间,设备的私钥数据可以用于验证该设备是其声明的供应商证书的真实持有者。
如下面将更详细描述的,除了供应商证书数据524之外,处理器模块502还可以支持用户证书数据526的使用,用户证书数据526可以由最终用户使用证书认证应用颁发给模块502,下面将更详细描述。
图8是示出处理器模块502与和处理器模块502共享背板的模块化设备602之间的示例认证序列的图。在本示例中,假设处理器模块502已经被安装在控制器机箱中并且与控制器背板对接。通常,认证序列可以由处理器模块502响应于检测到模块化设备602也已经被安装在背板上而启动。在一些实施方式中,还可以响应于处理器模块502的初始化来启动认证序列。例如,当处理器模块502通电或以其他方式初始化时,处理器模块的设备认证部件508可以对当前安装在背板上的每个模块化设备602执行认证序列。在图8所示的序列中,处理器模块502与模块化设备602之间的所有数据通信都是经由控制器背板(例如,背板408)执行的。
在802处,当模块化设备602被安装在控制器背板上时,处理器模块502遍及背板检测模块化设备602。在804处,响应于检测到模块化设备602,处理器模块的设备认证部件508发出对模块化设备602的证书的请求。在806处,响应于接收到请求,模块化设备602通过向处理器模块502发送其供应商证书数据624(或用户证书数据526,将在下面更详细地描述)的副本来进行响应。通过发送供应商证书数据624,模块化设备602将其供应商颁发的数字签名和唯一的设备专用公钥提供给处理器模块502。在808处,在接收到模块化设备的供应商证书数据时,处理器模块502解码并验证模块化设备的供应商证书的真实性。例如,处理器模块的设备认证部件508可以通过使用供应商的公钥816对证书数据624中包括的数字签名进行验证以对模块化设备的供应商证书进行验证。供应商的公钥816可以被包括在处理器模块的在制造时(由供应商或者由向设备502和602提供数字证书的另一可信实体)颁发给处理器模块502的供应商证书524中。可以使用供应商的私钥来对数字签名进行加密,该私钥对应于公钥816。因此,设备认证部件508将尝试使用公钥816对由模块化设备602提供的供应商证书数据624中包括的数字签名进行验证。如果由设备认证部件508识别到数字签名,则处理器模块502验证供应商证书是真实的和未修改的,并且进行到认证过程中的下一步骤。替选地,如果供应商证书无效或者在规定的超时时段内模块化设备602没有提供供应商证书,则设备认证部件508将拒绝模块化设备602访问背板。
在810处,响应于确认由模块化设备602提供的供应商证书数据的真实性,处理器模块的设备认证部件508可以经由背板向模块化设备602发出质询。尽管发现供应商证书数据624是真实的,但是该质询旨在确认模块化设备602是所提供的供应商证书的授权所有者。以这种方式,处理器模块502可以确定供应商证书数据624是否已被复制并安装在未授权的设备上。在示例质询中,处理器模块的设备认证部件508可以生成密码随机质询值(例如,随机生成的值),并且使用在步骤806处由模块化设备602提供的供应商证书数据624中提供的公钥对该随机质询值进行加密。然后,处理器模块502经由背板将经加密的质询值发送到模块化设备602作为质询。
在812处,如果模块化设备602是真实的,则模块化设备的认证响应部件606基于由处理器模块502提供的质询(例如,经加密的会话密钥)和先前颁发给模块化设备602的私钥数据704来生成质询响应。由于使用模块化设备的公钥(作为模块化设备的供应商证书数据624的一部分提供给处理器模块502)对会话密钥进行加密,因此经加密的会话密钥只有使用由模块化设备602拥有的对应的私钥数据704才会正确地被解密。因此,响应于在810处接收到质询,模块化设备的认证响应部件606将使用(被存储和保护在模块化设备的硬件中的)私钥数据704对质询中包含的加密会话密钥进行解密,并且在814处经由背板向处理器模块502发送经解密的会话密钥(例如,经解密的散列值)作为质询响应。
当在814处接收到响应之后,处理器模块的设备认证部件508在816处验证响应。例如,设备认证部件508可以将由模块化设备602提供的响应例如经解密的会话密钥与由设备认证部件508先前生成的原始会话密钥进行比较。如果由模块化设备提供的经解密的会话密钥与原始会话密钥匹配,则设备认证部件508认为模块化设备602是授权设备,并且在818处授权访问背板。在该阶段,允许所安装的模块化设备602在控制器背板上正常操作,并且模块化设备602与处理器模块502之间的数据交换通常根据控制程序528和/或控制器配置来执行。替选地,如果由模块化设备602提供的响应不对应于原始会话密钥,则将拒绝模块化设备602对背板的访问。
在一些实施方式中,可以基于由颁发给模块化设备602的供应商证书数据624定义的许可类型来确定允许模块化设备602的访问程度。例如,取决于由模块化设备的供应商证书数据624允许的访问范围,模块化设备可以被授予经由背板对处理器模块502的完全读写访问、只读访问、只写访问或者对在处理器模块502中定义的数据寄存器的定义的子集的有限读取和/或写入访问的权限。
响应于检测到模块化设备602已经被安装在控制器背板上,以及响应于处理器模块502的初始化(例如,在处理器模块502的加电序列期间,或者当处理器模块502切换到运行时间操作模式时),可以执行由设备认证部件508执行的认证序列(与上面结合图8描述的序列类似的序列或其他合适的设备认证序列)。在一些实施方式中,还可以以默认或用户定义的定义频率(例如,每天一次、每小时一次等)周期性地执行认证序列。
供应商证书数据624可以确保仅允许由有效证书颁发机构——例如模块化设备的供应商或者已经由供应商授权的可信第三方实体——授权的模块化设备602通过背板进行通信并且作为工业控制器的一部分操作。如上所述,除了基于供应商证书数据624对模块化设备进行认证之外,一个或更多个实施方式还可以允许用户向模块化设备602或处理器模块502中的一者或两者颁发用户证书数据。图9是示出向模块化设备602和处理器模块502提供用户证书数据626和526的图。用户证书数据626和526可以确保仅允许由工业控制器的所有者购买并提供有用户证书的模块化设备在控制器的背板上操作。这可以防止由设备供应商制造和认证但是出于未授权的数据收集或监视、中断控制过程、欺骗或其他欺诈活动的目的而被修改或篡改的模块化设备602的安装。
在示例配置技术中,用户可以经由他们各自的客户端接口部件504和610与处理器模块502或模块化设备602对接;例如,通过有线或无线连接将客户端设备906(例如,膝上型计算机、台式计算机、平板计算机、个人移动设备等)通信地连接到处理器模块502或模块化设备602。客户端设备906可以执行配置程序,该配置程序包括能够生成用户证书数据626和526并且将用户证书数据626和526颁发给控制器模块602和/或模块化设备502的证书授权功能。在一些实施方式中,配置应用908可以是专用证书授权机构应用,或者可以是控制器配置应用,该控制器配置应用用于开发控制程序308并且将控制程序308下载到处理器模块502以及配置控制器的其他功能方面(例如,联网或通信设置、I/O模块定义、模拟输入和输出的数据范围,等等)。在后面的方案中,证书授权机构功能可以是控制器配置应用的附加或捆绑功能。
在上述认证序列期间,处理器模块502可以以与供应商证书数据524和624相同的方式利用用户证书数据526和626。例如,如果已经为处理器模块502创建了用户证书数据526,则设备认证部件508将使用用户证书数据526代替(或结合)供应商证书数据524来确定是否允许所安装的模块化设备602访问背板(如果没有创建用户证书数据526,则将使用供应商证书数据524)。在上述序列的步骤806处,模块化设备的认证响应部件606将响应于模块化设备对证书的请求来发送其用户证书数据,并且处理器模块的设备认证部件508将使用其自己的用户证书数据526来验证模块化设备的有效性。当使用用户证书数据来验证模块化设备602时,验证序列验证模块化设备602是已经由用户信任的机构(例如,配置应用906的证书机构)登记的模块化设备602。
处理器模块502的一些实施方式还可以被配置成在登记当前安装在控制器的背板上的所有模块化设备的配置或登记序列期间生成用户证书数据526。图10是示出所安装的模块化设备602通过背板独占访问处理器模块502的登记的图。在本示例中,系统设计者在控制器机箱中已安装了处理器模块502和三个模块化设备602a至602c(例如,I/O模块或其他类型的模块化设备),使得这些设备与控制器的背板对接。模块化设备602a至602c是已经由设备供应商(或可信第三方)认证的授权设备。用户还使用配置应用908的证书授权功能向模块化设备602a至602c颁发了用户证书日期。
如果用户希望将三个模块化设备602a至602c设置为允许经由背板与处理器模块502通信的唯一设备,则用户可以使用客户端设备906向处理器模块502发出配置命令1002。在这方面,在客户端设备906上执行的控制器配置应用908可以包括配置或登记控件,配置或登记控件当由用户选择时发出配置命令1002,该配置命令1002使处理器模块502向当前安装在背板上的所有模块化设备602a至602c授予独占的通信权限。响应于接收到配置命令1002,客户端接口部件504(或处理器模块502的另一逻辑部件)从每个安装的模块化设备602a至602c读取用户证书数据626并更新自己的用户证书数据526,以反映仅向与所获得的用户证书对应的设备授予控制器背板上的通信权限。随后,如果先前未在用户证书数据526中登记的模块化设备被安装在控制器背板上,即使该新模块化设备是供应商批准的设备,设备认证部件508也会确定该新设备不是已被用户授权在控制器背板上使用的设备,并且拒绝新设备访问背板。除了供应商证书之外,通过支持用户证书的生成和管理,本文中描述的背板安全设备的实施方式可以为用户提供高精细度的背板访问控制。
尽管上面描述的示例已经考虑了其中设备认证部件508在处理器模块502中实现并且用于对主控制器背板上的模块化设备进行认证的实施方式,但是上述设备认证特征也可以在其他类型的监管模块例如远程I/O适配器模块或联网模块中实现。图11是示出支持背板级安全性的远程I/O配置的图。在本示例中,主工业控制器1102包括处理器模块502以及一个或更多个本地模块化设备602d。在本地模块化设备602d上实现的本地I/O用于与工业控制器1102本地的工业设备1104交换控制输入和输出数据。此外,远程I/O机架1108位于工厂的相对于本地工业控制器1102的另一个远程区域处。远程I/O机架1108包括一组远程模块化设备602e和适配器模块1110,适配器模块1110经由远程I/O网络1106(例如,通用工业协议网络、以太网/IP网络或另一开放或专有网络)联网到处理器模块502。适配器模块1110将远程模块化设备602e与处理器模块502对接,以允许远程模块化设备602e用作工业控制器1102的远程扩展模块以控制远程工业设备1112。
在本示例中,适配器模块1110配置有设备认证部件508,设备认证部件508(例如,使用与以上结合图8描述的类似的认证序列或使用其他合适的认证序列)对安装在远程I/O机架中的每个远程模块化设备602e进行认证。与处理器模块502类似,适配器模块1110可以拒绝经由远程I/O网络对远程机架的背板的访问——并且因此对处理器模块502的访问——对未经设备供应商或可信第三方认证的或者尚未登记为用户授权设备的任何远程模块化设备602e的访问。
响应于在背板上检测到未授权模块,设备认证部件508(无论是在处理器模块502、远程I/O适配器模块1110上实现还是在其他类型的监管模块上实现)可以执行适当的对策以保护控制系统免受潜在的欺诈设备侵害。作为主要对策,设备认证部件508指示处理器模块502禁止经由背板到未授权模块的数据通信以及来自未授权模块的数据通信。在一些实施方式中,处理器模块还可以实现对背板自身的修改,以保护控制系统免受潜在的欺诈模块化设备侵害。图12是示出配置有背板控制部件512的处理器模块502的实施方式的图,该背板控制部件512能够修改背板自身的操作,以保护处理器模块502、其他I/O模块和受控工业设备免受欺诈模块化设备侵害。在支持背板修改作为对抗未授权模块化设备的对策的示例实施方式中,控制器背板1204可以配置有与控制器机箱304的每个插槽相关联的可控开关1206,并且可控开关1206能够从背板的电力和/或数据总线单独地断开每个插槽的接口端口416。
如果设备认证部件508(使用上述技术)确定模块化设备1208不是授权设备,则设备认证部件508指示处理器模块502禁止到模块化设备1208的通信和来自模块化设备1208的通信。此外,设备认证部件508可以向背板控制部件512发出断开命令1202,以指示背板控制部件512通过断开与模块化设备1208所连接的接口端口416相关联的开关1206来将模块化设备1208与背板1204隔离。以这种方式,可以通过将设备1208从背板的电力总线物理地断开来将潜在的欺诈模块化设备1208断电,和/或通过将设备1208从背板的数据总线断开来有效地隔离潜在的欺诈模块化设备1208。为了确保断开正确的接口端口412,断开命令1202可以包括与待断开的模块化设备1208对应的插槽号。在另一示例实施方式中,不是断开各个接口端口416,而是可以将背板控制部件512配置成响应于检测到未授权模块而断开到整个背板1204的电力,从而禁止跨越背板的所有电力和通信。在又一种技术中,设备认证部件508和背板控制部件512可以被实现在控制器的电源模块而不是处理器模块502中,并且电源模块可以响应于检测到一个或更多个未授权模块而直接隔离来自背板的电力。
一些实施方式还可以被配置成响应于检测到未授权模块而生成和递送通知。图13是示出递送欺诈模块通知的图。在本示例中,包括支持背板认证的处理器模块502的工业控制器1308经由安装在控制器的背板上的I/O模块1310执行工业设备120的监视和控制。如果处理器模块的设备认证部件508识别到未授权I/O模块1310(或其他类型的未授权模块化设备)安装在背板上,则处理器模块的通知部件510生成欺诈模块通知1302并且将该通知发送到一个或更多个定义的目标设备。欺诈模块通知1302可以包括可以帮助接收者识别潜在安全漏洞的性质的数据,包括但不限于对工业控制器1308的识别、对检测到未授权模块的插槽的识别、未授权设备的类型(例如,模拟输入、数字输出等)、未授权设备的供应商和型号、设备是否由供应商认证的指示(例如、在设备是供应商批准的设备但尚未被最终用户批准用于在工业控制器1308上操作的情况下)、由处理器模块502执行的对策(例如,模块化设备的禁用、到模块化设备或整个背板的电力的断开等)的指示或者其他相关信息。
用于欺诈模块通知的目标设备可以由用户(例如,经由用于配置和编程工业控制器的配置应用908)定义。在示例配置中,处理器模块502可以将欺诈模块通知1302记录到日志服务器1304,该日志服务器1304连接到与工业控制器1308相同的工厂网络1312(或经由工厂网络1312可访问的办公网络)。通知部件510还可以被配置成将欺诈模块通知发送到HMI终端1306,HMI终端1306将通知呈现在警报屏幕上以供操作员或工程师查看。在又一示例中,通知部件510能够将通知1302作为文本消息递送到定义的电话号码或者与适当的工厂人员相关联的电子邮件地址。其他类型的通知也在本公开内容的一个或更多个实施方式的范围内。
通过提供支持背板级安全协议的工业控制器设备,本文中描述的实施方式解决了工业自动化环境中的长期且通常被忽略的安全缺口。认识到工业控制器的背板的安全漏洞,本文中描述的系统和方法可以保护用户的控制系统免受安装在控制器背板上的欺诈控制器模块的攻击。如果不加保护,背板可以提供通道,这些欺诈模块可以通过该通道收集敏感的专有信息、篡改控制数据、干扰受控的工业过程或者访问工业设施内的其他网络或数据总线。本文中描述的工业控制器设备可以使用在制造时内置于设备中的安全部件来防止这种攻击,以提供高水平的背板保护而无需用户配置。如果需要更具选择性的安全性,则与设备相关联的配置工具可以允许用户向所选设备(例如,已知由最终用户购买的设备)分配独占的安全权限。
图14A至图15B示出了根据本主题申请的一个或更多个实施方式的示例方法。虽然出于简化说明而将本文中示出的方法示出和描述为一系列动作,但是应当理解和认识到,本主题发明不受这些动作的顺序的限制,因为一些动作可以据此按照不同的顺序发生以及/或者以与本文中示出和描述的其他动作同时发生。例如,本领域技术人员将理解并认识到,可以可替代地将方法表示为如在状态图中的一系列相互关联的状态或事件。此外,并不需要示出的所有动作来实现根据本发明的方法。此外,当不同实体实施方法中的不同部分时,交互图可以表示根据本主题公开内容的方法论或方法。此外,所公开的示例方法中的两个或更多个方法可以彼此组合实施以实现本文中所描述的一个或更多个特征或优点。
图14A示出了用于对安装在工业控制器的背板上的模块化设备进行认证的示例方法1400A的第一部分。示例方法可以例如在处理器模块上实现,该处理器模块被配置成安装在工业控制器机箱内并且执行用户定义的控制程序(例如,梯形逻辑程序、顺序功能流程图程序等),以利于监视和控制工业自动化系统或过程。示例方法还可以在其他类型的工业控制器模块中实现,其他类型的工业控制器模块包括但不限于远程I/O适配器模块、电源模块或联网模块。
最初,在1402处,检测模块化设备在工业控制器的背板上的安装。模块化设备可以是例如数字或模拟输入模块、数字或模拟输出模块、联网模块、特殊功能模块或者被设计成通过控制器背板与处理器模块交换数据的其他类型的模块。可以例如基于从要由处理器模块识别的模块化设备接收到请求、由于将模块化设备连接至背板而导致的背板上的功率或数据流的变化或者通过另一种检测技术来检测模块化设备。
如果检测到模块化设备的安装(在步骤1402处为“是”),则该方法进行到步骤1404,在步骤1404处,经由背板向模块化设备发送对证书的请求。在1406处,确定响应于对证书的请求是否经由背板从模块化设备接收到响应。如果在规定的超时时段内没有接收到响应(在步骤1406处为“否”),则该方法进行到步骤1414,在步骤1414处,拒绝模块化设备在背板上的操作。替选地,如果接收到响应(在步骤1406处为“是”),则该方法进行到步骤1408,在步骤1408处,确定响应是否包括由设备供应商或由处理器模块识别的其他可信第三方实体颁发的供应商证书数据。
如果响应不包括供应商证书数据(在步骤1408处为“否”),则该方法进行到步骤1414,在步骤1414处,拒绝模块化设备在背板上的操作。替选地,如果响应包括供应商证书数据(在步骤1408处为“是”),则该方法进行到步骤1410,在步骤1410处,使用与供应商(或可信第三方公钥)相关联并存储在处理器模块上的第一公钥对供应商证书数据中包含的数字签名数据进行验证。
在1412处,确定在步骤1410处获得的数字签名是否有效(即,经解密的数字签名被处理器模块识别,或者与已知和批准的数字签名匹配)。如果数字签名无效(在步骤1412处为“否”),则该方法进行到步骤1414,在步骤1414处,拒绝模块化设备在背板上的操作。替选地,如果识别到数字签名(在步骤1412处为“是”),则该方法进行到图14B所示的示例方法1400B的第二部分的步骤1416。
图14B示出了示例方法1400B的第二部分。在1416处,使用在步骤1408处从模块化设备接收的供应商证书数据中包含的第二公钥对密码随机质询值进行加密。经加密的随机质询值表示颁发给模块化设备的被设计成证明模块化设备的真实性的质询,因为只有已经设置有与第二公钥对应的受保护私钥的有效模块化设备才能够对经加密的随机质询值正确地解密。然而,应当理解,可以在步骤1416处实现其他类型的真实性质询来代替经加密的随机质询值。在1418处,经由背板向模块化设备发送经加密的随机质询值。
在1420处,响应于在步骤1418处发送经加密的随机质询值,确定是否经由背板从模块化设备接收到质询响应。如果在步骤1420处在规定的超时时段内没有接收到质询响应(在步骤1420处为“否”),则该方法进行到步骤1414,在步骤1414处,拒绝模块化设备在背板上的操作。替选地,如果在规定的超时时段内接收到质询响应(在步骤1420处为“是”),则该方法进行到步骤1422,在步骤1422处,确定在步骤1420处接收的质询响应是否与在步骤1416处加密的随机质询值匹配。在这方面,质询响应应该包括由模块化设备通过使用与第二公钥对应的受保护的私钥对经加密的随机质询值进行解密而获得的原始随机质询值。如果质询响应与随机质询值不匹配(在步骤1422处为“否”),则该方法进行到步骤1414,在步骤1414处,拒绝模块化设备在背板上的操作。替选地,如果质询响应与随机质询值匹配(在步骤1422处为“是”),则该方法进行到步骤1424,在步骤1424处,确定是否已在控制器模块上定义了用户证书。用户证书可以由最终用户配置,以定义与要被授予在背板上独占操作权限的设备对应的设备标识符的独占集合。
如果未定义用户证书(在步骤1424处为“否”),则该方法进行到步骤1428,在步骤1428处,授权并启动模块化设备在背板上的正常操作。替选地,如果已经定义了用户证书(在步骤1424为“是”),则该方法进行到步骤1426,在步骤1426处,确定是否已根据用户证书对(在步骤1406处接收为模块化设备的第一响应的一部分的)模块化设备的设备标识符进行授权。设备标识符可以是例如物理设备标识符,例如MAC地址或者与模块化设备唯一关联的另一个受保护的标识符。如果设备标识符未被授权(在步骤1426处为“否”),则该方法进行到步骤1414,在步骤1414处,拒绝模块化设备在背板上的操作。替选地,如果设备标识符被授权(步骤1426为是),则该方法进行到步骤1428,在步骤1428处,授权并启动模块化设备在背板上的正常操作。
图15A示出了用于经由工业控制器的背板向监管模块化设备——例如工业控制器处理器模块、电源模块、远程I/O适配器模块或联网模块——提供认证证书的示例方法1500A的第一部分。该示例方法可以在被设计成在工业控制器的背板上操作的基本上任何类型的模块化设备上实现,模块化设备包括但不限于数字或模拟输入模块、数字或模拟输出模块、联网模块、特殊功能模块或其他类型的控制器模块。
最初,在1502处,经由背板发送在工业控制器的背板上操作的请求。响应于检测到设备已经连接至工业控制器的背板的电力和/或数据总线,可以由模块化设备发送该请求。在1504处,确定是否已经经由背板从监管设备接收到对证书的请求。监管设备可以是例如工业控制器的处理器模块、远程I/O适配器模块(在模块化设备被安装在远程I/O机架中的情况下)、工业控制器的电源模块、工业控制器的联网模块或其他类型的监管模块。
如果接收到对证书的请求(在步骤1504处为“是”),则该方法进行到步骤1506,在步骤1506处,经由背板发送供应商证书数据——至少包括设备标识符、授权供应商或可信第三方实体的数字签名和分配给模块化设备的公钥。在1508处,确定是否经由背板接收到质询。质询可以是例如由监管模块使用在步骤1506处由模块化设备提供作为供应商证书数据的一部分的公钥所生成的经加密的随机质询值。然而,被设计成验证模块化设备的真实性的其他类型的质询也在本公开内容的一个或更多个实施方式的范围内。如果在规定的超时时段内没有接收到质询(在步骤1508处为“否”),则该方法进行到步骤1510,在步骤1510处,模块化设备停止经由背板进行的通信。替选地,如果在规定的超时时段内接收到质询(在步骤1508处为“是”),则该方法进行到图15B中所示的示例方法1500B的第二部分的步骤1512。
在1512处,使用与在步骤1506处发送的公钥对应的私钥对在步骤1508处接收的质询中包含的经加密的随机质询值进行解密。在1514处,经由背板发送在步骤1512处获得的经解密的随机质询值。在1516处,确定是否经由背板接收到开始在背板上的操作的指令。该指令可以由监管模块响应于确认在步骤1514处发送的经解密的随机质询值与由监管模块最初生成的随机质询值匹配而发出。如果在规定的超时时段内没有接收到指令(在步骤1516处为“否”),则该方法进行到步骤1510,在步骤1510处,模块化设备停止经由背板进行的通信。替选地,如果接收到指令(在步骤1516处为是),则该方法进行到步骤1518,在步骤1518处,模块化设备启动在控制器的背板上的正常操作。
本文中所描述的实施方式、系统和部件以及可以在其中执行本主题说明书中阐述的各个方面的工业控制系统和工业自动化环境可以包括能够在网络上交互的计算机或网络部件例如服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、无线部件、控制部件等。计算机和服务器包括一个或更多个处理器——利用电信号执行逻辑运算的电子集成电路——其被配置成执行存储在介质例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可以包括记忆棒、存储卡、闪存驱动器、外部硬盘驱动器等的可移除存储设备中的指令。
类似地,本文中所使用的术语PLC或自动化控制器可以包括能够在多个部件、系统和/或网络之间共享的功能。例如,一个或更多个PLC或自动化控制器可以在网络上与各种网络设备进行通信和协作。这可以包括基本上任何类型的控制模块、通信模块、计算机、输入/输出(I/O)设备、传感器、致动器、仪器以及经由包括控制网络、自动化网络和/或公共网络的网络进行通信的人机接口(HMI)。PLC或自动化控制器还可以与各种其他设备进行通信并控制各种其他设备例如标准或安全级I/O模块,包括模拟、数字、编程/智能I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
网络可以包括:公共网络,例如因特网、内联网;以及自动化网络,例如包括DeviceNet、ControlNet和Ethernet/IP的控制和信息协议(CIP)网络。其他网络包括以太网、DH/DH+、远程I/O、现场总线、Modbus、过程现场总线(Profibus)、CAN、无线网、串行协议、近场通信(NFC)、蓝牙等。此外,网络设备可以包括各种可能性(硬件和/或软件部件)。这包括以下部件:例如,具有虚拟局域网(VLAN)能力的交换机、LAN、WAN、代理、网关、路由器、防火墙、虚拟专用网络(VPN)设备、服务器、客户端、计算机、配置工具、监视工具和/或其他设备。
为了提供所公开主题的各个方面的上下文,图16和图17以及以下论述旨在提供对可以实现所公开主题的各个方面的合适环境的简要的总体描述。
参照图16,用于实现上述主题的各个方面的示例环境1610包括计算机1612。计算机1612包括处理单元1614、系统存储器1616和系统总线1618。系统总线1618将包括但不限于系统存储器1616的系统部件耦接至处理单元1614。处理单元1614可以是各种可用处理器中的任何一种。也可以使用多核微处理器和其他多处理器架构作为处理单元1614。
系统总线1618可以是若干类型的一个或多个总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或外部总线,和/或使用任何各种可用总线架构的局部总线,上述可用总线架构包括但不限于8位总线、工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA)、智能驱动电子(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)和小型计算机系统接口(SCSI)。
系统存储器1616包括易失性存储器1620和非易失性存储器1622。在非易失性存储器1622中存储有包含例如在启动期间在计算机1612内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)。作为说明而非限制,非易失性存储器1622可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除PROM(EEPROM)或闪速存储器。易失性存储器1620包括作为外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而非限制,RAM可以具有多种形式,例如,同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)和直接型Rambus RAM(DRRAM)。
计算机1612还包括可移除/不可移除、易失性/非易失性计算机存储介质。图16示出了例如磁盘存储装置1624。磁盘存储装置1624包括但不限于以下设备:例如,磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒。此外,磁盘存储装置1624可以包括单独的或与其他存储介质相结合的存储介质,包括但不限于:光盘驱动器(例如,致密盘ROM设备(CD-ROM))、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字通用盘ROM驱动器(DVD-ROM)。为了便于将磁盘存储装置1624连接至系统总线1618,通常使用诸如接口1626的可移除或不可移除接口。
应当理解,图16描述了作为在合适的操作环境1610中所描述的用户与基本计算机资源之间的媒介的软件。这样的软件包括操作系统1628。可以存储在磁盘存储装置1624上的操作系统1628用于控制和分配计算机1612的资源。系统应用1630通过存储在系统存储器1616中或存储在磁盘存储装置1624中的程序模块1632和程序数据1634借助于操作系统1628来利用资源管理。应当理解的是,本主题公开内容的一个或更多个实施方式可以用各种操作系统或操作系统的组合来实现。
用户通过输入设备1636将命令或信息输入计算机1612中。输入设备1636包括但不限于诸如鼠标、轨迹球、触控笔、触摸板、键盘、麦克风、操纵杆、游戏杆之类的指示设备、卫星天线、扫描仪、电视调谐卡、数字相机、数字视频摄像机、网路摄像机等。这些和其他输入设备经由接口端口1638通过系统总线1616连接至处理单元1614。接口端口1638包括,例如,串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备1640使用与输入设备1636相同类型的端口中的一些。因此,例如,可以使用USB端口来向计算机1612提供输入以及将信息从计算机1612输出至输出设备1640。提供输出适配器1642以说明,除了需要特定适配器的其他输出设备1640以外,还存在一些输出设备1640,如监视器、扬声器和打印机。作为说明而非限制,输出适配器1642包括提供输出设备1640与系统总线1618之间的连接设备的视频卡和声卡。应当注意,其他设备和/或设备的系统提供输入和输出两种功能,例如远程计算机1644。
计算机1612可以使用至一个或更多个远程计算机例如远程计算机1644的逻辑连接在网络环境中操作。远程计算机1644可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的设备、对等设备或其他公共网络节点等,并且通常包括相对于计算机1612描述的许多或全部元件。为了简明起见,仅记忆存储设备1646与远程计算机1644一起进行说明。远程计算机1644通过网络接口1648逻辑地连接至计算机1612,然后经由通信连接1650物理地连接。网络接口1648包含诸如局域网(LAN)和广域网(WAN)的通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网/IEEE 802.3、令牌环/IEEE 802.5等。WAN技术包括但不限于点对点链路、如综合业务数字网(ISDN)及其变型的电路交换网络、分组交换网络和数字用户线路(DSL)。网络接口1648还可以包含近场通信(NFC)或蓝牙通信。
通信连接1650涉及用于将网络接口1648连接至系统总线1618的硬件/软件。虽然为了清楚起见示出了通信连接1650在计算机1612内部,但是它也可以在计算机1612外部。仅出于示例性目的,连接至网络接口1648所需的硬件/软件包括内部和外部技术,例如,包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器等调制解调器、ISDN适配器和以太网卡。
图17是可以与所公开的主题相互作用的样本计算环境1700的示意性框图。示例计算环境1700包括一个或更多个客户端1702。客户端1702可以是硬件和/或软件(例如,线程、过程、计算设备)。样本计算环境1700还包括一个或更多个服务器1704。服务器1704也可以是硬件和/或软件(例如,线程、过程、计算设备)。服务器1704可以容纳通过采用例如本文中所描述的一个或更多个实施方式来执行变换的线程。客户端1702与服务器1704之间的一种可能的通信可以是适于在两个或多个计算机进程之间传输的数据包的形式。样本计算环境1700包括可以用于便于客户端1702与服务器1704之间的通信的通信框架1706。客户端1702可操作上连接至可以用于将信息本地存储至客户端1702的一个或更多个客户端数据存储装置1708。类似地,服务器1704可操作上连接至可以用于将信息本地存储至服务器1704的一个或更多个服务器数据存储装置1710。
上面已经描述的内容包括主题创新的示例。出于描述所公开的主题的目的,当然不可能描述每种都能想到的部件或方法的组合,但本领域普通技术人员可以认识到,本发明的许多更多组合和排列也是可以的。因此,所公开的主题旨在包含落在所附权利要求的精神和范围内的所有这样的改变、修改和变型。
特别地以及关于由上述部件、设备、电路、系统等执行的各种功能,用于描述这样的部件的术语(包括对“手段”的提及)旨在:除非另有说明,否则即使在结构上不等同于在所公开主题的本文示出的示例方面中执行功能的所公开的结构,仍然对应于执行所描述的部件的特定功能的任何部件(例如,功能等同)。在这方面,还将认识到,所公开的主题包括系统以及具有用于执行所公开主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。
此外,虽然所公开的主题的特定特征可能仅针对若干实现方式中的一种来公开,但是这样的特征可以如可以期望的并且对于任何给定或特定应用有利的那样与其他实现方式的一个或更多个其他特征组合。此外,在说明书或权利要求书使用术语“包括(includes)”和“包含(including)”及其变型方面而言,这些术语旨在以与术语“包括(comprising)”类似的方式包含在内。
在本申请中,词语“示例性”用于表示用作示例、实例或说明。在本文中被描述为“示例性”的任何方面或设计未必被解释为比其他方面或设计优选或有利。相反地,使用词语“示例性”旨在以具体的方式来呈现概念。
本文中所描述的各个方面或特征可以使用标准编程和/或工程技术来实现为方法、设备或制品。本文中所使用的术语“制品”旨在包含能够从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条等)、光盘(例如,致密盘(CD)、数字通用盘(DVD)等)、智能卡和闪速存储设备(例如,卡、棒、键驱动器等)。

Claims (16)

1.一种工业控制器模块,包括:
存储可执行部件的存储器;
操作上耦接至所述存储器的一个或更多个处理器,所述一个或更多个处理器执行所述可执行部件,所述可执行部件包括:
程序执行部件,其被配置成执行工业控制程序,所述工业控制程序基于由工业控制器接收的输入信号来控制所述工业控制器的输出信号,其中,所述输出信号和所述输入信号经由所述工业控制器的背板来传送,并且其中,所述背板包括被配置成将所述背板与相应的模块化设备对接的接口端口以及与所述接口端口相关联且能够将相应的模块化设备与所述背板隔离的开关;
设备认证部件,其被配置成:检测模块化设备在所述工业控制器的所述背板上的安装,在设备认证序列期间经由所述背板与所述模块化设备交换认证数据,响应于基于所述设备认证序列的结果确定所述模块化设备被授权在所述背板上操作,启动所述模块化设备在所述背板上的操作,以及响应于基于所述设备认证序列的结果确定所述模块化设备未被授权在所述背板上操作,禁止所述模块化设备在所述背板上的操作;以及
背板控制部件,其被配置成:响应于基于所述设备认证序列的结果确定所述模块化设备未被授权在所述背板上操作,使与所述模块化设备所对接的接口端口相关联的开关断开,以将所述模块化设备从所述背板的电力总线隔离。
2.根据权利要求1所述的工业控制器模块,其中,所述模块化设备是以下中之一:数字输入模块、数字输出模块、模拟输入模块、模拟输出模块、联网模块、电源模块或特殊功能模块。
3.根据权利要求1所述的工业控制器模块,其中,所述设备认证部件被配置成:经由所述背板向所述模块化设备发送对证书数据的请求,并且响应于确定在发送所述请求之后的规定的持续时间内没有经由所述背板接收到所述证书数据,禁止所述模块化设备在所述背板上的操作。
4.根据权利要求3所述的工业控制器模块,其中,所述设备认证部件还被配置成:响应于经由所述背板接收到所述证书数据,确定所述证书数据是否有效,并且响应于确定所述证书数据无效,禁止所述模块化设备在所述背板上的操作。
5.根据权利要求4所述的工业控制器模块,其中,所述设备认证部件被配置成:使用所述存储器上存储的公钥数据对所述证书数据中包含的数字签名数据进行验证,并且基于所述数字签名数据的验证来确定所述证书数据是否有效。
6.根据权利要求3所述的工业控制器模块,其中,所述设备认证部件还被配置成:响应于确定所述证书数据有效,经由所述背板向所述模块化设备发送质询数据,并且响应于经由所述背板接收到响应于所述质询数据的错误的响应数据,禁止所述模块化设备在所述背板上的操作。
7.根据权利要求6所述的工业控制器模块,其中,所述设备认证部件被配置成:发送使用所述证书数据中包含的公钥数据加密的密码随机质询值作为所述质询数据,并且响应于确定所述响应数据与所述密码随机质询值不匹配,禁止所述模块化设备在所述背板上的操作。
8.根据权利要求4所述的工业控制器模块,其中,所述证书数据是供应商证书数据或用户证书数据之一。
9.根据权利要求1所述的工业控制器模块,其中,所述工业控制器模块包括以下中至少之一:处理器模块、电源模块、远程I/O适配器模块或联网模块。
10.一种用于实现工业控制器安全性的方法,包括:
响应于检测到模块化设备在工业控制器的背板上的安装,由包括处理器的工业控制器模块执行认证序列,所述认证序列基于经由所述背板进行的认证数据的交换来确定所述模块化设备的真实性,其中,所述背板包括被配置成将所述背板与相应的模块化设备对接的接口端口以及与所述接口端口相关联且能够将相应的模块化设备与所述背板隔离的开关;
响应于基于所述认证序列的结果确定所述模块化设备是授权设备,启动所述模块化设备在所述背板上的操作;或者
响应于基于所述认证序列的结果确定所述模块化设备不是授权设备,禁止所述模块化设备在所述背板上的操作,
其中,禁止所述模块化设备的操作包括:使与所述模块化设备所对接的接口端口相关联的开关断开,以将所述模块化设备从所述背板的电力总线隔离。
11.根据权利要求10所述的方法,其中,
执行所述认证序列包括:经由所述背板向所述模块化设备发送对证书数据的请求;以及
禁止所述模块化设备的操作包括:
响应于确定经由所述背板接收的所述证书数据无效,禁止所述操作,或者
响应于确定在发送所述请求之后的规定的持续时间内没有经由所述背板接收到所述证书数据,禁止所述操作。
12.根据权利要求11所述的方法,还包括:
由所述工业控制器模块使用所述工业控制器模块的存储器上存储的公钥数据对所述证书数据中包含的数字签名数据进行验证,
其中,禁止所述模块化设备的操作包括:响应于基于所述验证的结果确定所述数字签名无效,禁止所述操作。
13.根据权利要求11所述的方法,还包括:
响应于确定所述证书数据有效,由所述工业控制器模块经由所述背板向所述模块化设备发送质询数据,
其中,禁止所述模块化设备的操作包括:响应于在对发送所述质询数据进行的响应中经由所述背板从所述模块化设备接收到错误的质询响应数据,禁止所述操作。
14.根据权利要求13所述的方法,其中,发送所述质询数据包括:
使用所述证书数据中包含的公钥数据对密码随机质询值进行加密,以产生经加密的质询值;以及
经由所述背板向所述模块化设备发送所述经加密的质询值,
其中,禁止所述模块化设备的操作包括:响应于确定所述质询响应数据与所述密码随机质询值不匹配,禁止所述操作。
15.根据权利要求12所述的方法,其中,所述证书数据包括供应商证书数据或用户证书数据。
16.一种存储有可执行指令的非暂态计算机可读介质,所述可执行指令响应于执行使包括至少一个处理器的工业控制器模块执行操作,所述操作包括:
检测模块化设备在工业控制器的背板上的安装,其中,所述背板包括被配置成将所述背板与相应的模块化设备对接的接口端口以及与所述接口端口相关联且能够将相应的模块化设备与所述背板隔离的开关;
响应于所述检测,经由所述背板向所述模块化设备发送对安全证书数据的请求;
响应于经由所述背板接收到所述安全证书数据,确定所述安全证书数据是否真实;
响应于确定所述安全证书数据真实,基于所述安全证书数据中包含的信息来生成质询数据;
经由所述背板向所述模块化设备发送所述质询数据;以及
响应于确定所述安全证书数据不真实或者经由所述背板从所述模块化设备接收的对所述质询数据的响应错误,禁止所述模块化设备在背板上的操作,
其中,禁止所述模块化设备的操作包括:使与所述模块化设备所对接的接口端口相关联的开关断开,以将所述模块化设备从所述背板的电力总线隔离。
CN201910066860.8A 2018-01-26 2019-01-24 工业控制器模块、实现其安全性的方法和计算机可读介质 Active CN110083129B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/881,439 2018-01-26
US15/881,439 US10678950B2 (en) 2018-01-26 2018-01-26 Authenticated backplane access

Publications (2)

Publication Number Publication Date
CN110083129A CN110083129A (zh) 2019-08-02
CN110083129B true CN110083129B (zh) 2022-02-08

Family

ID=65411713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910066860.8A Active CN110083129B (zh) 2018-01-26 2019-01-24 工业控制器模块、实现其安全性的方法和计算机可读介质

Country Status (3)

Country Link
US (1) US10678950B2 (zh)
EP (1) EP3518133A1 (zh)
CN (1) CN110083129B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7006785B2 (ja) * 2018-06-14 2022-02-10 京セラドキュメントソリューションズ株式会社 認証装置及び画像形成装置
US10896266B1 (en) * 2018-07-12 2021-01-19 Amazon Technologies, Inc. Computer hardware attestation
US10862900B2 (en) * 2018-10-25 2020-12-08 Dell Products, L.P. System and method for detecting rogue devices on a device management bus
US11159944B2 (en) * 2019-02-21 2021-10-26 T-Mobile Usa, Inc. Wireless-network attack detection
DE102019216533A1 (de) * 2019-10-28 2021-04-29 Robert Bosch Gmbh System, maschine, verfahren zur konfiguration eines systems und verfahren zum betrieb einer maschine
CN111159693B (zh) * 2019-12-28 2022-11-29 西安精雕软件科技有限公司 一种电子设备权限验证方法、装置、系统以及可读介质
JP7056680B2 (ja) * 2020-02-13 2022-04-19 セイコーエプソン株式会社 電子機器、設定装置、設定装置の制御方法、及びプログラム
JP7500984B2 (ja) 2020-02-13 2024-06-18 セイコーエプソン株式会社 設定装置の制御方法、設定装置、プログラム、及び画像表示システム
EP3901720A1 (de) * 2020-04-22 2021-10-27 Siemens Aktiengesellschaft Integritätsprüfung bei leitsystemen technischer anlagen
EP3951516A1 (de) * 2020-08-04 2022-02-09 Siemens Aktiengesellschaft System und verfahren zum verifizieren von komponenten eines industriellen kontrollsystems
US11720090B2 (en) * 2020-11-20 2023-08-08 Rockwell Automation Technologies, Inc. Fault tolerant backplane slot assignment
US20220182247A1 (en) * 2020-12-04 2022-06-09 Schneider Electric It Corporation Secure medium intrusion prevention
US11924206B2 (en) * 2021-08-23 2024-03-05 Rockwell Automation Asia Pacific Business Center Pte. Ltd. Systems and methods for providing security and tamper detection in I/O systems
US20230079418A1 (en) * 2021-09-16 2023-03-16 Rockwell Automation Technologies, Inc. On-chassis backplane intrusion detection system and continuous thread detection enablement platform
US20230095486A1 (en) * 2021-09-27 2023-03-30 Rockwell Automation Technologies, Inc. Systems and methods for authenticating industrial automation components

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003560B1 (en) * 2012-06-05 2015-04-07 Rockwell Collins, Inc. Secure enclosure with internal security components
CN105122225A (zh) * 2013-04-03 2015-12-02 惠普发展公司,有限责任合伙企业 禁用假冒的卡盒

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577209A (en) * 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US6240183B1 (en) 1997-06-19 2001-05-29 Brian E. Marchant Security apparatus for data transmission with dynamic random encryption
US7171662B1 (en) * 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US20020049818A1 (en) 1998-05-29 2002-04-25 Gilhuly Barry J. System and method for pushing encrypted information between a host system and a mobile data communication device
JP2000019960A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd 遠隔操作方法
US6691231B1 (en) 1999-06-07 2004-02-10 Entrust Technologies Limited Method and apparatus for providing access isolation of requested security related information from a security related information source
WO2001072012A2 (en) 2000-03-23 2001-09-27 Sun Microsystems, Inc. System and method for inexpensively providing security and authentication over a communications channel
US6895502B1 (en) 2000-06-08 2005-05-17 Curriculum Corporation Method and system for securely displaying and confirming request to perform operation on host computer
US7065507B2 (en) 2001-03-26 2006-06-20 Microsoft Corporation Supervised license acquisition in a digital rights management system on a computing device
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US6842628B1 (en) * 2001-08-31 2005-01-11 Palmone, Inc. Method and system for event notification for wireless PDA devices
US6725104B2 (en) 2001-09-21 2004-04-20 Siemens Aktiengesellschaft Method and apparatus for E-mail based communication with automated facilities and devices
US6983376B2 (en) 2001-10-16 2006-01-03 Qualcomm Incorporated Method and apparatus for providing privacy of user identity and characteristics in a communication system
ATE465606T1 (de) 2001-11-05 2010-05-15 Nokia Corp Lieferung an netzwerk von mobilstationen funktions- und selbstleistungs-testergebnisse als antwort auf eine verschlüsselte anfrage
US20030206100A1 (en) 2002-05-04 2003-11-06 Lawrence Richman Method and protocol for real time security system
US20040107345A1 (en) 2002-10-21 2004-06-03 Brandt David D. System and methodology providing automation security protocols and intrusion detection in an industrial controller environment
US20040153171A1 (en) 2002-10-21 2004-08-05 Brandt David D. System and methodology providing automation security architecture in an industrial controller environment
US7079020B2 (en) * 2003-02-03 2006-07-18 Ingrid, Inc. Multi-controller security network
MXPA06007327A (es) * 2003-12-23 2007-04-10 Rain Bird Corp Controlador de irrigacion modular y expansible.
CN1938980A (zh) 2004-02-13 2007-03-28 Ivi斯马特技术公司 用于密码加密处理数据的方法和设备
US7651530B2 (en) * 2004-03-22 2010-01-26 Honeywell International Inc. Supervision of high value assets
US8132225B2 (en) 2004-09-30 2012-03-06 Rockwell Automation Technologies, Inc. Scalable and flexible information security for industrial automation
WO2006066243A2 (en) * 2004-12-17 2006-06-22 Modius, Inc. Event manager for use in a facilities monitoring system having network-level and protocol-neutral communication with a physical device
EP1894443A2 (en) 2005-06-17 2008-03-05 Industrial Defender, Inc. Duration of alerts and scanning of large data stores
US20070073850A1 (en) * 2005-09-29 2007-03-29 Rockwell Automation Technologies, Inc. Industrial control device configuration and discovery
US8015409B2 (en) * 2006-09-29 2011-09-06 Rockwell Automation Technologies, Inc. Authentication for licensing in an embedded system
US9467297B2 (en) * 2013-08-06 2016-10-11 Bedrock Automation Platforms Inc. Industrial control system redundant communications/control modules authentication
US11144630B2 (en) * 2011-12-30 2021-10-12 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
JP7029220B2 (ja) 2015-02-09 2022-03-03 ベドロック・オートメーション・プラットフォームズ・インコーポレーテッド 多チャネル切り替え能力を有する入力/出力モジュール
US11070380B2 (en) * 2015-10-02 2021-07-20 Samsung Electronics Co., Ltd. Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003560B1 (en) * 2012-06-05 2015-04-07 Rockwell Collins, Inc. Secure enclosure with internal security components
CN105122225A (zh) * 2013-04-03 2015-12-02 惠普发展公司,有限责任合伙企业 禁用假冒的卡盒

Also Published As

Publication number Publication date
EP3518133A1 (en) 2019-07-31
CN110083129A (zh) 2019-08-02
US10678950B2 (en) 2020-06-09
US20190236313A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
CN110083129B (zh) 工业控制器模块、实现其安全性的方法和计算机可读介质
CN111082940B (zh) 物联网设备控制方法、装置及计算设备、存储介质
EP3619888B1 (en) Automated certificate enrollment for devices in industrial control systems or other systems
Waidner et al. Security in industrie 4.0-challenges and solutions for the fourth industrial revolution
US10075450B2 (en) One time use password for temporary privilege escalation in a role-based access control (RBAC) system
CN113625665B (zh) 集中式安全事件生成策略
RU2690887C2 (ru) Модульное устройство управления безопасностью
US8132240B2 (en) Electric field unit and method for executing a protected function of an electric field unit
CN110192197B (zh) 通过使用证书建立身份标识和信任来实现正品设备保证的技术
EP1414216A2 (en) System and methodology providing automation security architecture in an industrial controller environment
US20040162996A1 (en) Distributed security for industrial networks
KR20160098096A (ko) 멀티 채널 스위칭 능력을 갖는 입출력 모듈
WO2010080821A1 (en) Integrated physical and logical security management via a portable device
CN108989279B (zh) 与现场测量设备进行安全通信的方法和相应现场测量设备
EP3667526B1 (en) Rapid file authentication on automation devices
CN105278398A (zh) 工业控制系统中的操作员动作认证
CN109335906A (zh) 校验方法、电梯控制设备以及电梯外围设备
CN113625664B (zh) 通过零接触注册的自动端点安全策略分配
CN112514322B (zh) 在车辆内部管理密钥的方法
EP3940469A1 (en) Control device and control system
JP2015201021A (ja) アクセス制御装置
Wei et al. On protecting industrial automation and control systems against electronic attacks
WO2022190422A1 (ja) 制御システムおよびその制御方法
WO2021161653A1 (ja) 制御システム、中継装置、およびアクセス管理プログラム
EP4152192A1 (en) On-chassis backplane intrusion detection system and continuous threat detection enablement platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant