CN106249704B - 基于完整性控制工业企业系统中端点的通信的方法和装置 - Google Patents

基于完整性控制工业企业系统中端点的通信的方法和装置 Download PDF

Info

Publication number
CN106249704B
CN106249704B CN201610390972.5A CN201610390972A CN106249704B CN 106249704 B CN106249704 B CN 106249704B CN 201610390972 A CN201610390972 A CN 201610390972A CN 106249704 B CN106249704 B CN 106249704B
Authority
CN
China
Prior art keywords
endpoint
integrity
integrity measurement
reference value
network
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
CN201610390972.5A
Other languages
English (en)
Other versions
CN106249704A (zh
Inventor
R·A·米克瑟
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.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems 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 Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of CN106249704A publication Critical patent/CN106249704A/zh
Application granted granted Critical
Publication of CN106249704B publication Critical patent/CN106249704B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • 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/4185Total 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 the network communication
    • G05B19/41855Total 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 the network communication by local area network [LAN], network structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Safety Devices In Control Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本文公开了用于基于完整性来控制工业企业系统中的端点的通信的方法和装置。一种示例性装置包括:完整性测量比较器,其用于将完整性测量值与参考值进行比较。完整性测量值是由工业企业系统的网络中的端点基于该端点的状态来生成的。参考值对应于该端点的受信任状态。该示例性装置还包括:授权控制器,其用于基于完整性测量值与参考值的比较结果,来启用该端点在该网络上的通信访问。

Description

基于完整性控制工业企业系统中端点的通信的方法和装置
技术领域
概括地说,本公开内容涉及工业控制,更具体地说,涉及用于基于完整性来控制工业企业系统中的端点(endpoint)的通信的方法和装置。
背景技术
过程控制系统(如,化工,石油或者其它工业企业中使用的那些过程控制系统)通常包括一个或多个过程控制器,该一个或多个过程控制器经由模拟、数字或组合的模拟/数字总线来通信地耦合到一个或多个现场设备。现场设备(其可以例如是阀、阀定位器、开关和发送器(例如,温度、压力和流速传感器))在过程中执行过程控制功能,例如,打开或关闭阀和测量过程控制参数。过程控制器接收用于指示现场设备所执行的过程测量值的信号,随后对该信息进行处理和/或将该信息传输给其它控制器、工作站或者控制系统中的其它部件。此外,多个控制系统可以是较高层级企业系统的子系统,其中来自这些单独子系统的信息可以由监控系统进行交叉传输和/或监视。
发明内容
公开了用于基于完整性来控制工业企业系统中的端点的通信的方法和装置。一种示例性装置包括:完整性测量比较器,其用于将完整性测量值与参考值进行比较。该完整性测量值是由工业企业系统的网络中的端点基于该端点的状态来生成的。参考值对应于该端点的受信任状态。该示例性装置还包括:授权控制器,其用于基于完整性测量值与参考值的比较结果,来启用该端点在该网络上的通信访问。
一种示例性方法包括:从工业企业系统的网络中的端点接收完整性测量值。该完整性测量值是由端点基于该端点的状态来生成的。该示例性方法还包括:将该完整性测量值与和该端点的受信任状态相对应的参考值进行比较。该示例性方法还包括:基于比较结果,来启用该端点对于该网络的通信访问。
一种示例性制品包括指令,当所述指令被执行时,使得机器至少从工业企业系统的网络中的端点接收完整性测量值。该完整性测量值是由端点基于该端点的状态来生成的。所述指令还使得所述机器将该完整性测量值与和该端点的受信任状态相对应的参考值进行比较。所述指令还使得所述机器基于比较结果来启用该端点对于该网络的通信访问。
附图说明
图1是工业企业系统中的组件的示例性层次结构的框图。
图2是与图1的示例性层次结构的控制系统层级相对应的示例性控制系统的框图。
图3是与图1的示例性层次结构的监控系统层级相对应的示例性监控系统的框图。
图4示出了实现图2的示例性配置模块的示例性方式。
图5示出了实现图2和/或图3的示例性完整性测量模块的示例性方式。
图6示出了实现图2和/或图3的示例性系统完整性监测的示例性方式。
图7是表示可以执行,以实现图2和/或图4的示例性配置模块的示例性方法的流程图。
图8-图10是表示可以执行,以实现图2、图3和/或图5的示例性完整性测量模块的示例性方法的流程图。
图11-图16是表示可以执行,以实现图2、图3和/或图6的示例性系统完整性监测的示例性方法的流程图。
图17是可以被使用和/或编程,以执行图7的示例性方法和/或(更一般地说)实现图2和/或图4的示例性配置模块的示例性处理器平台的示意性视图。
图18是可以被使用和/或编程,以执行图8-图10的示例性方法和/或(更一般地说)实现图2、图3和/或图5的示例性完整性测量模块的示例性处理器平台的示意性视图。
图19是可以被使用和/或编程,以执行图11-图16的示例性方法和/或 (更一般地说)实现图2、图3和/或图6的示例性系统完整性监测的示例性处理器平台的示意性视图。
具体实施方式
如本文所使用的,工业企业系统指代原始材料和相关联的物理过程、与这些过程进行交互的现场设备、控制这些过程的相应控制系统、以及工业企业的较高级别管理系统。因此,工业企业系统是通常经由相应的网络进行互连的有层次结构的相关系统(即,存在多个层级)。如本文所使用的,工业系统计算端点(或者端点)指代在工业企业系统中充当网络上的节点 (位于任何层级)的任何计算组件,以便与其它这种组件进行通信。因此,如本文所使用的,端点包括单独的计算设备(例如,现场设备、控制器、I/O 设备、用于控制器和/或I/O设备的自包含插件卡、工作站、服务器等等),以及从属于某个较高层级系统(例如,更大控制系统中的模块化控制系统、监控系统中的控制系统等等)而操作成一个综合整体的系统或者这些设备组合。通常,工业企业系统中的端点基于其配置信息(对于具备更多能力的端点来说)或者其物理连接(对于具备更少能力的端点来说)来彼此之间建立通信。在计算机和数据安全的背景下,这些端点之间的通信的建立是基于某种形式的隐含信任,这是由于没有任何端点真实地知道来自其它端点的通信是否是安全和可靠的,或者已经被某种安全漏洞或其它故障进行了损害。更具体而言,在端点之间建立通信以操作工业企业,取决于每一个端点信任其它端点是:(a)合法的(即,其它端点是如它所说的);(b) 运行有完整的完整性(即,其它端点正常工作,发送的通信以及针对这些通信所产生的数据没有受到损害)。
一些已知的工业系统端点将通信的安全和/或可靠性的信任基于:识别与每一个端点相关联的信息(例如,序列号、硬件地址或者IP地址)以及进行通信所使用的通信协议的知识。虽然这用来对特定端点的合法性进行确认(例如,端点是否是如它所说的),但这些方法并不足以提供对于每一个端点的完整性的任何可靠指示(例如,端点是如所期望的进行操作,还是其已经被损害了,从而其操作的可靠性将成问题)。在过去,很大程度上基于在通信中所涉及的计算端点的制造商对于产品质量的保证,来假定基于完整性的信任。也就是说,制造商通常遵循用于规定质量保证过程的标准(例如,国际标准化组织(ISO)9000),来开发和测试软件、固件和/或硬件。结果,某种程度地信任这些制造商所制造的设备(例如,端点)将按照它们所设计的进行工作(即,具有值得信任的完整性)。
虽然制造商的质量保证提供关于这些制造商所制造的计算设备的完整性的某种程度的信任,但这样的保证随着时间将变得具有更少权重,这是由于在该设备离开制造商的控制之后,可能会存在安全漏洞或其它发生故障的原因。例如,在设备从制造商处运输和发送给终端用户的时间之间,存在计算设备被篡改的可能性。此外,即使终端用户收到计算设备,也存在该设备被恶意代码进行黑客攻击和改变的可能性。虽然通常设置安全措施来减少和/或检测这些攻击,但如果没有识别特定的攻击,则恶意软件可能影响计算设备的操作。结果,可能错误地信任该设备的完整性和/或从该设备发送的通信。因此,需要在新获取、配置端点和使其进行操作时,对端点的完整性进行验证,以及随时地对工业企业系统中的端点的完整性进行监测,以检测对于这些端点的完整性的任何潜在威胁或者其缺陷,并基于对于来自这些端点的通信所给出的信任程度的任何相应改变,来实现适当的响应。
本文所公开的例子通过下面的方式来克服上面所标识的问题:在允许网络上的端点在相应的网络上进行通信之前,使这些端点提供用于指示它们当前状态的某些方面的计算值或测量值,以便与和该端点处于受信任状态(即,完整性的状态)时的状态相对应的已知良好值进行比较。本文将端点关于其自己状态所生成的测量值称为完整性测量值。在一些例子中,通过计算端点的各个方面的一个或多个校验和(其可以提供该端点的操作、安全和/或可靠性的指示),来生成完整性测量值。因此,在一些例子中,本文将完整性测量值描述成是计算得到的。也就是说,将与端点的各个方面相关联的数据传送到密码校验和算法,以产生可以用作完整性测量值或者用于构建完整性测量值的值(连同针对该端点的其它方面所计算的校验和)。在一些例子中,基于端点的软件栈来生成完整性测量值。在一些例子中,基于控制系统中的端点的配置来生成完整性测量值。在一些例子中,基于与端点相关联的外围设备,来生成完整性测量值。在一些例子中,通过与端点相关联的独立的安全芯片来生成完整性测量值。此外,在一些例子中,在端点的启动时间期间,生成完整性测量值。在其它例子中,在端点的运行时间期间,生成完整性测量值。在一些例子中,当端点对应于多个计算设备的子系统(例如,端点)时,完整性测量值是与该子系统中的每一个单独设备相关联的多个较低层级完整性测量值的组合。
可以将端点所生成的每一个完整性测量值与已知对应于该端点的受信任状态的相应参考值进行比较。在一些例子中,这些参考值是基于第一次获得、安装和/或配置该端点时所生成的完整性测量值。在一些例子中,这些参考值是基于该端点的制造商所提供的值来规定的。当完整性测量值和参考值的比较结果指示匹配时,下游端点确认成处于受信任状态。也就是说,该端点的软件/固件、硬件/外围设备、配置和/或其它测量方面是预期的,使得来自该端点的通信可以被信任和/或依赖。在这些情形下,可以基于其验证的完整性,准许该端点以完全通信来进入相应的网络。但是,如果完整性测量值与相应的参考值不匹配,则该端点的完整性变得可疑,故可以实现适当的响应。在一些这种例子中,可以限制该端点的通信访问的类型和/或程度,并将其规定成比完全通信访问差一些。在一些例子中,向端点提供的通信访问的程度或类型,是基于上游端点所提供的授权信息来建立的,其中上游端点用于生成或规定在完成端点之间的通信时使用的秘密值和/或公开值或密钥。可以针对添加到网络的新端点,来实现这种基于完整性的验证过程(以确保该端点在该网络上进行注册和/或配置之前,其是合法的,并如所期望地进行操作),和/或这种基于完整性的验证过程可以应用于已经在操作的端点(用于验证先前配置的端点是否以某种方式受到损害,将其完整性置于疑问之中)。
图1是典型的工业企业系统中的层级102、104、106、108、110、112 的示例性层次结构100的框图。图1的示例性层次结构遵循ISA95(国际自动化协会95)所概述的Purdue参考模型。在最低层级,层次结构100开始于制造/处理企业的物理过程102。例如,工业企业系统中的物理过程102 对应于正在进行处理的材料和/或产品,以及管道、罐体、加热器、输送机和/或直接与正在进行处理的材料和/或产品进行交互的其它设备资产。该层次结构中的下一个上级层级是设备层级104。设备层级104对应于对该物理过程进行感测、监测和/或操纵的智能和/或非智能现场设备。例如,设备层级104包括阀、致动器、温度传感器、压力传感器等等。
此外,设备层级104可以包括与这些现场设备进行交互和/或对这些现场设备进行控制的控制器和/或I/O设备。这些控制器和I/O设备充当在设备层级104与层次结构100中紧接着之上的控制系统层级106之间的接口。控制系统层级106用于直接对这些现场设备进行监控和控制,从而对物理过程进行控制。位于控制系统层级106的控制系统可以是分布式控制系统 (DCS)、监控和数据采集(SCADA)系统和/或其它过程控制系统。通常,控制系统层级106包括与和设备层级104相关联的现场设备直接连接的一个或多个控制器和/或I/O设备。此外,控制系统层级106通常包括用于提供人机界面(HMI)的一个或多个服务器和/或工作站,利用HMI,操作员可以配置、监测和/或调整物理过程的控制。可以经由该控制系统的网络(本文将其称为控制系统的控制网络),连接特定的控制系统中的控制器、I/O 设备、工作站和/或服务器中的每一个。
监控系统层级108是层次结构100中的下一个上级层级,其表示对企业的制造/处理进行监督的操作。因此,监控系统层级108通常包括子系统 (例如,对应于与控制系统层级106相关联的一个或多个控制系统)和一个或多个工作站和/或服务器的系统,该一个或多个工作站和/或服务器用于与这些子系统进行交互。本文将这种系统称为监控系统。在一些例子中,监控系统可以对企业中的特定工厂的制造/过程操作进行监督。可以经由用于该监控系统的网络(本文将其称为工厂网络或者监控系统的监控网络),来连接工作站、服务器和其它子系统(例如,与控制系统层级106相关联的不同控制系统)中的每一个。
在监控系统层级108之上是商业系统层级110,商业系统层级110对应于用于对企业的所有方面进行指导和监督的与商业有关的活动和决策。所示出的例子的层次结构100中的最高层级对应于互联网112。虽然互联网在技术上不是特定企业中的一个层级,但通常基于经由互联网所完成的通信来实现企业。因此,为了便于在讨论计算机安全和完整性时进行解释起见,表示了互联网112(由于其涉及工业企业系统)。
沿着图1的示例性层次结构100的长度延伸是完整性尺度114,其表示在该层次结构100中的各个层级的计算机端点的完整性或值得信任的重要性,以完成企业的预期目的。如所示出的例子中所示,在更靠近物理过程的层次结构层级,需要更高程度的完整性,而越远离实现计算设备的物理过程,完整性变得不那么重要。例如,如果位于企业的很低层级的操作(其对应于物理过程102)不能被信任成如所期望地进行操作,则不能对于正在进行处理和/或制造的最终产品产生信任,这是首先建立该企业的主要目的。但是,作为物理过程102的一部分而处理的物理设备资产和材料,通常对应于管道、罐体、料斗等等以及相关联的原始材料。因此,虽然物理过程 102的正确操作对于工业企业系统来说是关键的,但从计算机和数据完整性的观点来看,最重要的层级是设备层级104。设备层级104是最重要的(即,相应设备(例如,现场设备、控制器、I/O设备等等)的完整性是最关键的),这是由于其对应于最接近物理过程102并与物理过程102进行直接交互的计算设备或端点。
对于完整性目的而言,层次结构100中的下一个最关键层级是控制系统层级106,这是由于控制系统规定在设备层级104的控制器、I/O设备和现场设备的配置和实现。在监控系统层级108处进行的决定,通常并不直接地影响物理过程,使得该层级就完整性而言并不那么重要。随着远离物理过程102的每一个连续层级所需要的完整性的程度持续地降低,直到达到互联网为止,其中在互联网处,互联网是不重要的或者至少是不能预期的,这是由于互联网112是开放的网络,实质上任何人都可以连接到该网络,并且任何人都可以通过该网络进行通信。为了确保和维持在层次结构 100中的较低层级实现的端点的完整性,同时启用这些层级之间的通信,对于处于层次结构100中的较低层级的端点和处于较高层级的端点之间的通信施加一些限制。具体而言,可以严格地控制通信访问的本质或类型以及通信的范围(例如,第一端点通信到的其它端点的数量和类型),以减小特定的端点变得被损害(例如,由于安全漏洞而丢失完整性)的机率。同样,对通信进行限制和专门控制,以降低系统中的潜在受损害端点影响其它端点的可能性。
除了对端点之间的通信进行控制,以保护端点和降低端点被损害的可能性之外,如下面所更全面描述的,在一些例子中,在不同的时间点对端点的完整性或值得信赖性进行测试,以专门地识别被损害的任何端点,从而通过限制和/或完全地拒绝来自这些端点的通信来进行主动地响应。简而言之,在一些例子中,示例性层次结构100中的给定层级里的端点请求注册和/或准许进入该层次结构100中的上一级的网络。为了被准许使得启用和/或允许完全通信访问,在一些例子中,每一个端点所提供的用于指示其当前状态的测量值,需要与该端点处于已知的受信任状态(例如,完整性的状态)时所对应的参考值相匹配。如果测量值与相应的参考值不匹配,则完全地拒绝通信许可,或者使该端点处于补救模式,其中在此模式下,显著地限制通信的本质和/或范围(例如,限制于软件/固件更新)。在本文所公开的一些例子中,在对处于层次结构100的不同层级的端点之间的通信进行授权之前,实现基于完整性的测量。具体而言,在使较低层次结构层级的端点与较高层次结构层级进行通信之前,针对完整性,对较低层次结构层级的端点进行测试。例如,如图1的箭头116所表示的,在处于设备层级104的现场设备或者相应控制器和/或I/O设备能够在处于控制系统层级106的控制系统的控制网络上进行通信之前,该现场设备或者相应控制器和/或I/O设备可能需要提供其当前状态的完整性测量值(其中该完整性测量值与相应的参考值相匹配)。同样,如图1的箭头118所表示的,在处于控制系统层级106的控制系统能够在处于监控系统层级108的监控系统的监控网络上进行通信之前,该控制系统需要提供其当前状态的完整性测量值(其中该完整性测量值与相应的参考值相匹配)。这种较高层级组件 (此处,完整性是不那么重要的)对于较低层级组件(此处,完整性是关键的)的验证过程,用来确保最靠近物理过程102的端点如所预期地进行操作(即,具有完整性)。
图2是与图1的层次结构100中的控制系统层级106相对应的示例性控制系统200的示意性视图。图2的示例性控制系统200包括与对应于图1 的层次结构100的设备层级104的现场设备206、208、210、212、214进行连接(interface)的一个或多个过程控制器202和一个或多个I/O设备204。另外,图2的示例性控制系统200包括一个或多个服务器216和一个或多个操作者站、应用站和/或其它工作站(本文统称为工作站)。在所示出的例子中,控制系统200中的一个工作站指定成或者充当配置工作站218,而另一个工作站充当主工作站220(其它工作站用附图标记222来表示)。在所示出的例子中,示例性控制器202、示例性I/O设备204、示例性服务器216 和示例性工作站218、220、222经由通信总线和/或局域网224(通常,本文称为控制系统200的控制网络)来通信地耦合。
示例性配置工作站218包括配置模块(CM)226,以基于工程师、操作员和/或其它人员所提供的配置数据(其规定该控制系统200中的设备(例如,端点)的实现中所期望的所有参数和逻辑)来生成配置文件。一旦生成了配置文件,则配置工作站218向控制系统200中的控制网络224的每一个端点发送该配置文件,从而对每一个端点进行配置。
示例性主工作站220包括系统完整性监测器(SIM)228,以监督、授权和/或控制每一个端点在控制系统200的控制网络224上的通信访问。也就是说,如下面所更全面描述的,图2的示例性主工作站220的SIM 228 对控制系统200中的其它端点的完整性进行确认和/或验证,以允许通信访问或者限制这种访问。具体而言,在一些例子中,SIM 228从每一个端点接收由与各个端点相关联的完整性测量模块(IMM)230所生成的一个或多个完整性测量值。由于完整性测量值是在SIM 228处接收的,因此SIM 228 将这些完整性测量值与参考值数据库进行比较。如果这些测量值与参考值相匹配,则准许相应的端点通过控制网络224,进入与其它端点的完全通信。另一方面,如果这些完整性测量值与参考值不匹配,则SIM228可以实现补救措施,以限制或者拒绝针对控制网络224的通信的访问。在一些例子中,主工作站220的SIM 228对控制网络224上的其它端点的完整性进行监测,以检测任何改变并进行相应地响应。虽然将主工作站220和配置工作站218表示成单独的工作站,但在一些例子中,单一的工作站可以服务两个功能(例如,实现CM 226和SIM 228二者)。
可以使用任何期望的通信介质和协议来实现图2的示例性控制网络 224。例如,示例性控制网络224可以是基于硬连线和/或无线以太网通信方案。但是,可以使用任何其它适当的通信介质和/或协议。
图2的示例性I/O设备204经由数字数据总线232来耦合到多个智能现场设备210、212、214。智能现场设备210、212、214可以是遵循现场总线的阀、致动器、传感器等等,在该情况下,智能现场设备210、212、214 使用公知的Foundation Fieldbus协议,经由数字数据总线232进行通信。当然,可以替代地使用其它类型的智能现场设备和通信协议。例如,智能现场设备210、212、214可以是使用公知的Profibus和HART通信协议,经由数据总线232进行通信的遵循Profibus和/或HART的设备。除了示例性智能现场设备210、212、214之外,一个或多个非智能现场设备206、208 可以通信地耦合到示例性控制器202。例如,图2的示例性非智能现场设备 206、208可以是经由相应的硬连线链路,与控制器202进行通信的传统的4-20毫安(mA)或0-10伏直流(VDC)设备。通常,将现场设备206、208、 210、212、214设计为具有特定于实现它们的指定功能的、相对有限的处理能力。因此,现场设备可能不实现IMM230,其中IMM 230生成用于指示该现场设备的当前状态的完整性测量值。但是,在一些例子中,现场设备 206、208、210、212、214中的一个或多个可以以与上面所描述的其它设备相同的方式来实现IMM 230。在一些这种例子中,相应的控制器202或I/O 设备204可以实现单独的SIM,该单独的SIM用于对现场设备206、208、 210、212、214和相应的控制器202和/或I/O设备204之间的通信进行管理。在其它这种例子中,主工作站220所实现的SIM 228可以对这些现场设备的通信访问进行控制。
虽然图2示出了可以在其中有利地使用下面进一步详细描述的用于基于完整性测量来控制通信准许的方法和装置的示例性控制系统200,但本领域普通技术人员应当容易地理解,本文所公开的教导内容可以(如果期望的话)有利地用于与图2所示出的例子相比具有更多或者更小复杂度(例如,具有一个以上的控制器,跨越一个以上的地理位置等等)的其它控制系统。
图3是与图1的层次结构100中的监控系统层级108相对应的示例性监控系统300的示意性视图。图3的示例性监控系统300包括图2的控制系统200以及与图1的层次结构100的控制系统层级106相对应的另一个控制系统302。另外,图3的示例性监控系统300包括一个或多个服务器 304和一个或多个工作站306、308。在所示出的例子中,控制系统200、302、服务器304和工作站306、308经由通信总线和/或局域网310(本文通常称为用于监控系统300的监控网络)来通信地耦合。
在所示出的例子中,工作站中的一个操作成主工作站306 ,以与图2 的控制系统200中的主工作站220 相同或相类似的方式,对连接到监控网络310的其它端点(例如,各个服务器304和工作站308、或者作为监控系统300的子系统的控制系统200、302)的通信访问进行监督和/或控制。也就是说,在所示出的例子中,主工作站306提供有SIM 228,以接收用于指示其它端点的当前状态的完整性测量值,并将这些测量值与参考值进行比较。在所示出的例子中,与服务器304和/或工作站308相关联的完整性测量值,经由服务器304和工作站308中的每一个中的相应IMM来生成。虽然可以将每一个控制系统200、302视作为一个端点(从监控系统300的观点来看),但由于控制系统200、302表示多个设备的子系统,没有任何单一IMM可以生成用于由主工作站306的SIM 228进行分析的完整性测量值。因此,在一些例子中,每一个控制系统中的主工作站306(例如,图2的控制系统200的主工作站220)的SIM228生成用于指示该整个子系统的状态的一个或多个完整性测量值,以便提供给监控系统300的主工作站306的 SIM 228。在一些例子中,针对整个控制系统(作为监控网络中的一个端点) 的完整性测量值是基于:从该控制系统的控制网络的每一个端点上实现的 IMM 230中的每一个IMM 230所获得的完整性测量值的组合。
虽然图3示出了可以有利地使用本文所公开的教导内容的示例性监控系统300,但本领域普通技术人员应当容易理解,本文所公开的教导内容可以(如果期望的话)有利地用于与图3所示出的例子相比具有更多或者更小复杂度(例如,具有一个以上的控制系统,跨越一个以上的地理位置等等)的其它系统。
图4示出了实现图2的示例性配置模块(CM)226的示例性方式。在所示出的例子中,CM 226包括示例性用户接口402、示例性配置文件生成器404、示例性参考值生成器406、示例性配置数据库408和示例性通信接口410。
图4的示例性CM 226提供有示例性用户接口402,以实现CM 226和配置工程师和/或其它用户之间的交互。具体而言,通过用户接口402,系统工程师可以分配参数,规定控制逻辑,指定IP地址,指定用于物理卡的名称和/或提供为了对控制系统200中的每一个端点进行配置所需要的任何其它有关的配置数据。所示出的例子的示例性配置文件生成器404采用所输入的配置数据,针对该配置数据将应用于的项目或者控制系统来生成配置文件。在一些例子中,将该配置数据和所获得的配置文件存储在示例性配置数据库408中。
在图4所示出的例子中,CM 226提供有示例性参考值生成器406,以基于配置文件,针对将进行完整性监测的控制系统200中的每一个端点(例如,完整性测量模块(IMM)),来计算配置参考值。也就是说,基于图2 的所示出的例子,CM 226的示例性配置参考值生成器406生成用于控制器 202、I/O设备204、服务器216和工作站218、220、222中的每一个的参考值。在一些例子中,将参考值生成或者计算为与感兴趣的特定端点相关联的配置数据的密码校验和。在这些例子中,所计算的这些校验和的值对应于每一个端点的适当配置,这是由于这些校验和是基于(系统工程师所开发的)原始的配置文件来计算的。因此,可以将这些校验和值(完整性测量值)使用成用于在稍后的时间点,对这些端点的实际配置进行比较的基线或者基准。因此,当特定的端点在稍后的时间点,生成其自己的配置的完整性测量值(计算校验和)时,所生成的完整性测量值应当与参考值相匹配。如果稍后生成的完整性测量值与相应的参考值不匹配时,存在着该端点的某些事情发生错误(损害了其完整性)的可能性,这是由于其配置的状态不是所预期的或者原始规定的。另外地或替代地,参考值生成器406 可以基于配置数据,计算与各个端点相关联的硬件(外围设备)的状态相对应的参考规则。
在图4所示出的例子中,CM 226提供有示例性通信接口410 ,以实现 CM 226和控制系统200中的其它端点之间的通信。在一些例子中,一旦生成了配置文件,则经由通信接口410来将其发送给每一个端点,以使每一个设备能够根据系统工程师的设计方案来进行配置。此外,在一些例子中,使用通信接口410来向主工作站220的系统完整性监测器(SIM)228提供所生成的参考值,以便与在稍后的时间点获得的端点的完整性测量值进行比较。
虽然在图4中示出了实现图2的CM 226的示例性方式,但可以以任何其它方式来组合、划分、重新排列、省略、消除和/或实现图4中所示出的元件、过程和/或设备中的一个或多个。此外,示例性用户接口402、示例性配置文件生成器404、示例性参考值生成器406、示例性配置数据库408、示例性通信接口410和/或更一般地说图4的示例性CM 226,可以通过硬件、软件、固件和/或硬件、软件和/或固件的任意组合来实现。因此,例如,示例性用户接口402、示例性配置文件生成器404、示例性参考值生成器406、示例性配置数据库408、示例性通信接口410和/或更一般地说示例性CM 226,可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD和/或现场可编程逻辑器件 (FPLD))来实现。当阅读本专利的装置或系统权利要求中的任何一个方面以覆盖纯粹的软件和/或固件实现时,故明确地规定示例性用户接口402、示例性配置文件生成器404、示例性参考值生成器406、示例性配置数据库 408和/或示例性通信接口410包括用于存储该软件和/或固件的有形计算机可读存储设备或者存储盘(例如,存储器、数字多功能光盘(DVD)、压缩盘(CD)、蓝光光盘等等)。此外,除了图4中所示出的之外或者替代这些元件、过程和/或设备,图2的示例性CM 226还可以包括一个或多个元件、过程和/或设备,和/或可以包括所示出的任何或全部的元件、过程和设备中的一个以上的元件、过程和设备。
图5示出了实现图2和/或图3的示例性完整性测量模块(IMM)230 的示例性方式。在所示出的例子中,IMM 230包括示例性完整性测量生成器502、示例性完整性测量自测试器504、示例性完整性测量控制器506、示例性通信认证器508、示例性通信接口510、示例性软件测量值寄存器512、示例性配置测量值寄存器514、示例性硬件测量值寄存器516、示例性授权信息数据库518和示例性配置数据库520。
在图5所示出的例子中,IMM 230提供有示例性完整性测量生成器502,以计算或生成与实现IMM 230的特定端点相关联的完整性测量值。在一些例子中,该完整性测量值对应于实现IMM 230的端点的软件和/或固件,本文称为软件完整性测量值。在一些例子中,当装载相应端点的软件栈时,在启动时间期间生成软件完整性测量值。在一些这种例子中,随着装载每一个软件,完整性测量生成器502计算用于该软件的密码校验和,并且该密码校验和被增加到示例性软件测量值寄存器512中(例如,附加到先前计算的校验和值)。在一些例子中,一旦装载了所有软件(或者在所有软件被装载之前),则可以使所计算的校验和的最终串传送通过哈希算法,以使软件完整性测量更加可管理(例如,使用更少的存储器)。在一些例子中,将IMM 230实现成硬件设备(例如,受信任的平台模块),以独立于该端点实现的软件的其余部分。替代地,在一些例子中,当单独的安全设备是不可用时(例如,在预先存在的设备中),可以将IMM 230实现成装载到相应的端点的软件。
在一些例子中,这些完整性测量值可以替代地或另外地对应于实现 IMM 230的端点的配置,本文将其称为配置完整性测量值。如上所述,系统工程师或其它人员可以在配置工作站218处生成配置文件,随后将其提供给控制系统200中的每一个端点。在一些例子中,使用该系统的配置文件中与各个特定的端点有关的部分,来配置该端点。在一些例子中,一旦对端点进行了配置,则将向这些端点配置的参数、逻辑和/或其它配置数据存储在IMM230的示例性配置数据库520中。因此,在一些例子中,通过计算配置数据库520中分配给相应端点的配置数据的每一个部分的密码校验和,来生成配置完整性测量值。随着完整性测量生成器502计算得到配置数据的每一个部分的校验和,将该校验和附加到相应的配置测量值寄存器514中的先前计算的校验和上。在一些例子中,针对向端点分配的完整配置文件,来计算单一的校验和。在其它例子中,针对该配置数据的不同部分来计算多个校验和,并随后进行组合(例如,彼此附加在一个串中)。在一些例子中,单独的配置文件可以应用于软件栈中的单独层,和/或端点可以存储多个配置文件(例如,不同的版本)。在这些例子中,针对与每一个配置文件相关联的配置数据,来计算单独的校验和,随后将所获得的值附加到彼此之上。在一些例子中,一旦针对所有配置数据都计算了校验和 (或者在对所有配置数据进行分析之前),则可以使所计算的校验和的最终串传送通过哈希算法,以使配置完整性测量更加可管理。
在一些例子中,这些完整性测量值可以替代地或另外地对应于与实现 IMM 230的端点相关联的硬件,本文将其称为硬件完整性测量值。在一些例子中,与端点相关联的硬件对应于插入到或者耦合到该端点的外围设备(例如,插入在控制器中的I/O卡)。在一些例子中,通过计算针对与本端点相关联的每一个外围设备的密码校验和,来生成硬件完整性测量值。在一些例子中,基于配置数据库520中存储的配置数据,来识别将生成其测量值的外围设备。在一些这种例子中,基于与外围设备相关联的配置文件,来生成这些完整性测量值。在其它例子中,响应于来自端点的请求,外围设备提供用于指示其状态的校验和值。随着完整性测量生成器502生成针对每一个外围设备的校验和,将每一个校验和附加到相应的硬件测量值寄存器516中的先前计算的校验和中。在一些例子中,一旦针对与端点相关联的所有硬件(或者其任何部分)来计算了校验和,则可以使所计算的校验和的最终串传送通过哈希算法,以使硬件完整性测量更加可管理。
在图5所示出的例子中,IMM 230提供有示例性完整性测量自测试器 504,以关于在生成完整性测量值时使用的功能进行初步测试。也就是说,在一些例子中,完整性测量自测试器504执行完整性测量生成器502的能力的内部测试,以适当地计算与这些完整性测量值相对应的值。例如,完整性测量自测试器504可以基于已知的输入,对于完整性测量生成器502 产生预期的输出所实现的哈希算法和校验和算法进行验证。
在图5所示出的例子中,IMM 230提供有示例性完整性测量控制器506,以控制IMM230的各种操作。在一些例子中,完整性测量控制器506向示例性IMM 230的其它部分传输指令或命令,以控制这些部分的操作。例如,完整性测量控制器506指示完整性测量生成器502何时生成完整性测量值,以及这些值何时被添加到相应的寄存器512、514、516;何时经由通信接口 510来报告这些完整性测量值;寄存器512、514、516何时被清空所存储的完整性测量值;等等。
在图5所示出的例子中,IMM 230提供有示例性通信认证器508,以便在给予对相应的控制网络的完全通信访问之后,对于与其它端点的通信进行认证和/或验证。在一些例子中,提供授权信息的SIM 228来启用完全通信访问,其中端点使用该授权信息来生成用于数字签名、加密/解密、认证等等的秘密值和/或公开值。
在一些例子中,在对该端点的完整性进行确认或验证之后,将通信认证器508所使用的授权信息提供给IMM 230以启用完全通信访问。例如,初始配置的一部分以及端点在接收到新的配置文件时的启动,涉及该端点重新启动。在一些例子中,在重新启动期间,完整性测量生成器502生成如上所述的软件完整性测量值。在一些例子中,还可以生成配置和/或硬件完整性测量值。这些完整性测量值用于指示端点的当前状态(即,在重新启动的时间)。在根据配置文件进行配置之后,新启动的端点可以请求注册和准许进入该控制系统。在准许通过控制网络进行通信之前,将完整性测量值与参考值进行比较。如果完整性测量值与参考值相匹配,则通过提供授权信息(根据该授权信息,生成秘密值和/或相关联的公开值)来向该端点提供完全通信访问。在一些例子中,向相应的网络中的其它端点提供相应的授权信息,以使得每一个端点可以与新接纳的端点进行通信(以及彼此之间进行通信)。
在初始配置之后,以及在接收到授权信息(其向端点提供完全通信访问)之后,存在着特定的端点以某种方式受到损害的可能性。因此,在一些例子中,随时间对端点的完整性进行监测,或者在不同的时间点来对端点的完整性进行验证,以检测用于指示已丢失完整性的这些端点的状态的任何改变(例如,不再处于受信任状态)。在一些例子中,一旦检测到受损害的端点,则向所有其它端点分发新的授权信息,以便在未来通信中使用。用此方式,拒绝受损害的端点继续进行完全通信访问,这是由于先前接收的授权信息不再有效。此外,在一些这种例子中,向受损害的端点提供独特的授权信息,以使该端点置于补救模式和/或启用有限本质的通信访问。
在一些例子中,通过通信认证器508以下面的方式对初始接收的授权信息进行加密,来解决使用先前提供的授权信息来关注具有可疑的完整性的端点的问题:仅仅当该端点处于与第一次接收到该授权信息时相同的状态时,才能够随后进行解密和使用。因此,如果一个端点以某种方式变得受损害,影响其当前状态(如通过完整性测量值的改变所指示的),则该端点不再能够访问(解密)为了与其它端点进行通信而所需要的授权信息。结果,在一些例子中,在无需SIM 228对变得受损害的端点的完整性的丢失进行检测的情况下,可以阻止来自该端点的通信。
端点发送的一些消息包括针对该端点的完整性测量值的报告。网络安全性的挑战在于撒谎的端点。例如,因为通过将完整性测量值与对应于已知受信任状态的参考值进行比较,来验证一个端点的完整性,因此存在着受感染的端点仅仅重复先前确定的完整性测量值的可能性,这时其与参考值相匹配,而没有提供根据该端点的实际状态和/或当前状态所生成的完整性测量值(其可能指示该端点是受感染的)。为了解决该问题,在一些例子中,在每一次请求完整性测量时,都向IMM 230提供一个随机数(只使用一次的唯一值)。在一些这种例子中,通信认证器508将该随机数与响应于本请求的完整性测量值进行组合,使得可以检测出只报告该完整性测量值的预先存在值(其不具有该随机数)的端点。
虽然在图5中示出了实现图2和/或图3的IMM 230的示例性方式,但可以以任何其它方式来组合、划分、重新排列、省略、消除和/或实现图5 中所示出的元件、过程和/或设备中的一个或多个。此外,示例性完整性测量生成器502、示例性完整性测量自测试器504、示例性完整性测量控制器 506、示例性通信认证器508、示例性通信接口510、示例性软件测量值寄存器512、示例性配置测量值寄存器514、示例性硬件测量值寄存器516、示例性授权信息数据库518、示例性配置数据库520和/或更一般地说图5 的示例性IMM 230,可以通过硬件、软件、固件和/或硬件、软件和/或固件的任意组合来实现。因此,例如,示例性完整性测量生成器502、示例性完整性测量自测试器504、示例性完整性测量控制器506、示例性通信认证器 508、示例性通信接口510、示例性软件测量值寄存器512、示例性配置测量值寄存器514、示例性硬件测量值寄存器516、示例性授权信息数据库518、示例性配置数据库520和/或更一般地说图5的示例性IMM 230,可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路 (ASIC)、可编程逻辑器件(PLD和/或现场可编程逻辑器件(FPLD))来实现。当阅读本专利的装置或系统权利要求中的任何一个方面以覆盖纯粹的软件和/或固件实现时,故明确地规定示例性完整性测量生成器502、示例性完整性测量自测试器504、示例性完整性测量控制器506、示例性通信认证器508、示例性通信接口510、示例性软件测量值寄存器512、示例性配置测量值寄存器514、示例性硬件测量值寄存器516、示例性授权信息数据库518和/或示例性配置数据库520包括用于存储该软件和/或固件的有形的计算机可读存储设备或者存储盘(例如,存储器、数字多功能光盘(DVD)、压缩盘(CD)、蓝光光盘等等)。此外,除了图5中所示出的之外或者替代这些元件、过程和/或设备,图2和/或图3的示例性IMM 230还可以包括一个或多个元件、过程和/或设备,和/或可以包括所示出的任何或全部的元件、过程和设备中的一个以上的元件、过程和设备。
图6示出了实现图2和/或图3的示例性系统完整性监测器(SIM)228 的示例性方式。在所示出的例子中,SIM 228包括示例性通信接口602、示例性完整性测量比较器604、示例性授权控制器606、示例性完整性测量生成器608、示例性完整性测量自检测器610、示例性完整性监测控制器612、示例性用户接口614、示例性参考值数据库616、示例性完整性测量数据库618、示例性授权信息数据库620、示例性软件测量值寄存器622、示例性硬件测量值寄存器624和示例性配置测量值寄存器626。
在图6所示出的例子,SIM 228提供有示例性通信接口602,以便与相应网络中的其它端点进行通信。例如,SIM 228的通信接口602发送出针对其它端点的完整性测量值的请求。类似地,示例性通信接口602从其它端点的IMM 230和/或子系统的主工作站的SIM 228(例如,控制系统200作为监控系统300中的端点)接收完整性测量值的报告。因此,在一些例子中,控制系统的主工作站的SIM 228可以向监控系统的主工作站的SIM 228 传输完整性测量值。
图6的示例性SIM 228提供有示例性完整性测量比较器604,以将完整性测量值与示例性参考值数据库616中存储的参考值进行比较。在一些例子中,这些参考值是基于利用配置工作站218的配置模块226所生成的配置文件来接收和/或生成的。在一些例子中,通过用户基于相应的端点的原始设备制造商所提供的值(例如,其包括在随设备附带的文档中和/或在线提供),手工地经由示例性用户接口614输入参考值,来接收这些参考值。用此方式,这些值在制造的时间是值得信赖的,使得可以检测到在运送期间对于设备的任何篡改。另外地或替代地,在一些例子中,这些参考值中的一些或全部是基于相应的端点的IMM 230在这些端点被初始配置、启动和/或添加到相应的网络时所生成的完整性测量值。在一些这种例子中,工程师和/或其它用户批准将这些完整性测量值使用成参考值。用此方式,给予工程师验证下面情形的机会:每一个特定端点是否进行了正确配置并且如所预期地运行,因为这些值将是在稍后的时间点对该端点的完整性进行测试时所使用的。
在图6所示出的例子中,SIM 228提供有示例性授权控制器606,以基于将所报告的完整性测量值与所存储的参考值进行比较的结果,建立用于每一个端点的适当的通信授权或者访问。在一些例子中,如果完整性测量值与参考值相匹配,则授权控制器606向该端点和所有其它授权的端点提供授权信息,以使它们之间能够进行通信。在一些例子中,分发给其它端点的授权信息也存储在SIM 228的示例性授权信息数据库620中,以便随后引用。
在一些例子中,如果完整性测量值与相应的参考值不匹配,则授权控制器606采取补救措施。在一些例子中,该补救措施包括:向该端点拒绝通信访问(例如,通过向其它端点提供新的授权信息)。在其它例子中,不是完全地拒绝该端点的通信访问,而是以某些方式进行限制。例如,可以向该端点提供独特的授权信息,将该端点限制于固件更新通信访问(例如,仅仅能够执行与更新该端点的固件相关联的通信)。在一些例子中,可以向该端点提供独特的授权信息,将该端点限制于配置通信访问(例如,仅仅能够执行与更新该端点的配置相关联的通信)。在一些例子中,可以准许来自该端点的通信,但对这些通信做标记。在一些例子中,授权控制器606 发起报警和/或告警,以向用户通知完整性的潜在损失。在一些例子中,连同阻止来自受损害的端点的通信,授权控制器606向冗余或故障转移端点提供授权信息,以接管该受损端点的角色。在一些例子中,授权控制器606 可以实现上面的补救措施的任意组合。
另外,在一些例子中,授权控制器606生成连同针对完整性测量值的请求一起提供的随机数值,以便由相应的IMM 230在响应时进行使用,使得可以将来自端点的响应验证成合法的。
在图6所示出的例子中,SIM 228提供有示例性完整性测量生成器608 以生成完整性测量值,其指示该SIM 228正在监测的整个系统的端点的完整性的状态。在一些例子中,通过将从该SIM 228正在监测的相关联的网络中的每一个端点收集的完整性测量值进行组合,来生成这种系统范围的完整性测量值。可以向与图1的层次结构100中的较高层级相关联的工作站处的另一个SIM 228,报告该组合的完整性测量值。在一些例子中,完整性测量生成器608通过将网络中的每一个端点所报告的每一个完整性测量值附加到相应的软件、硬件和配置寄存器622、624、626中,随后计算最终的字符串值的校验和,来生成该组合的完整性测量值。在一些例子中, SIM 228在生成该组合的完整性测量值之前,从每一个端点请求完整性测量值。另外地或替代地,可以基于完整性测量数据库618中所存储的先前报告的完整性测量值,来生成该组合的完整性测量值。
在图6所示出的例子中,SIM 228提供有示例性完整性测量自测试器 610,以对于在生成完整性测量值时使用的功能进行初步测试。也就是说,在一些例子中,完整性测量自测试器610执行完整性测量生成器608的能力的内部测试,以适当地计算与这些完整性测量值相对应的值(例如,校验和)。例如,完整性测量自测试器610可以基于已知输入,验证完整性测量生成器608所实现的哈希算法和校验和算法产生预期的输出。
在图6所示出的例子中,SIM 228提供有示例性完整性监测控制器612,以控制SIM228的各种操作。在一些例子中,完整性监测控制器612向示例性SIM 228的其它部分传输指令或命令,以控制这些部分的操作。例如,完整性监测控制器612可以维持何时将从其它端点的IMM 230请求完整性测量值的调度表。在一些例子中,完整性监测控制器612控制和/或规定对来自不同端点的不同完整性测量值进行组合,以生成组合的完整性测量值的顺序,这是由于该顺序影响整个串的最终校验和值。
虽然在图6中示出了实现图2和/或图3的SIM 228的示例性方式,但可以以任何其它方式来组合、划分、重新排列、省略、消除和/或实现图6 中所示出的元件、过程和/或设备中的一个或多个。此外,示例性通信接口 602、示例性完整性测量比较器604、示例性授权控制器606、示例性完整性测量生成器608、示例性完整性测量自测试器610、示例性完整性监测控制器612、示例性用户接口614、示例性参考值数据库616、示例性完整性测量数据库618、示例性授权信息数据库620、示例性软件测量值寄存器622、示例性硬件测量值寄存器624、示例性配置测量值寄存器626和/或更一般地说图6的示例性SIM 228,可以通过硬件、软件、固件和/或硬件、软件和/或固件的任意组合来实现。因此,例如,示例性通信接口602、示例性完整性测量比较器604、示例性授权控制器606、示例性完整性测量生成器 608、示例性完整性测量自测试器610、示例性完整性监测控制器612、示例性用户接口614、示例性参考值数据库616、示例性完整性测量数据库618、示例性授权信息数据库620、示例性软件测量值寄存器622、示例性硬件测量值寄存器624、示例性配置测量值寄存器626和/或更一般地说示例性SIM 228,可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD和/或现场可编程逻辑器件 (FPLD))来实现。当阅读本专利的装置或系统权利要求中的任何一个方面以覆盖纯粹的软件和/或固件实现时,故明确地规定示例性通信接口602、示例性完整性测量比较器604、示例性授权控制器606、示例性完整性测量生成器608、示例性完整性测量自测试器610、示例性完整性监测控制器612、示例性用户接口614、示例性参考值数据库616、示例性完整性测量数据库 618、示例性授权信息数据库620、示例性软件测量值寄存器622、示例性硬件测量值寄存器624和/或示例性配置测量值寄存器626包括用于存储该软件和/或固件的有形计算机可读存储设备或者存储盘(例如,存储器、数字多功能光盘(DVD)、压缩盘(CD)、蓝光光盘等等)。此外,除了图6 中所示出的之外或者替代这些元件、过程和/或设备,图2和/或图3的示例性SIM 228还可以包括一个或多个元件、过程和/或设备,和/或可以包括所示出的任何或全部的元件、过程和设备中的一个以上的元件、过程和设备。
在图7中,示出了表示用于实现图2的示例性CM 226的示例性方法的流程图。在图8-图10中,示出了表示用于实现图2和/或图3的示例性IMM 230的示例性方法的流程图。在图11-图16中,示出了表示用于实现图2 和/或图3的示例性SIM 228的示例性方法的流程图。这些方法可以使用机器可读指令来实现,其中这些机器可读指令包括用于由处理器(例如,下面结合图17-图19所讨论的示例性处理器平台1700、1800、1900中所示出的处理器1712、1812、1912 )执行的程序。这些程序可以利用有形计算机可读存储介质(例如,CD-ROM、软盘、硬盘驱动器、数字多功能光盘(DVD)、蓝光光盘或者与处理器1712、1812、1912 相关联的存储器)上存储的软件来体现,但整个程序和/或其一部分可以替代地由不同于处理器1712、1812、1912 的设备来执行,和/或利用固件或专用硬件来体现。此外,虽然参照图7-图16中所示出的流程图来描述这些示例性程序,但也可以替代地使用实现示例性CM 226、示例性IMM 230和示例性SIM 228的很多其它方法。例如,可以改变这些方框的执行顺序,和/或可以改变、消除或者组合所描述的这些方框中的一些。
如上所述,可以使用诸如硬盘驱动器、闪存、只读存储器(ROM)、压缩盘(CD)、数字多功能光盘(DVD)、高速缓存、随机存取存储器(RAM) 之类的有形计算机可读存储介质,和/或将信息存储任何持续时间的任何其它存储器件或者存储盘(例如,其用于延长的时间周期、永久性地、用于简短的实例、用于暂时缓冲和/或用于信息的高速缓存)上存储的编码指令 (例如,计算机和/或机器可读指令),来实现图7-图16的示例性方法。如本文所使用的,明确地规定术语有形计算机可读存储介质包括任何类型的计算机可读存储设备和/或存储盘,其排除传播信号,并排除传输介质。如本文所使用的,可互换地使用“有形计算机可读存储介质”和“有形机器可读存储介质”。另外地或替代地,可以使用诸如硬盘驱动器、闪存、只读存储器、压缩盘、数字多功能光盘、高速缓存、随机存取存储器之类的非临时计算机可读存储介质和/或机器可读介质,和/或将信息存储任何持续时间的任何其它存储器件或者存储盘(例如,其用于延长的时间周期、永久性地、用于简短的实例、用于暂时缓冲和/或用于信息的缓存)上存储的编码指令(例如,计算机和/或机器可读指令),来实现图7-图16的示例性方法。如本文所使用的,明确地规定术语非临时计算机可读存储介质包括任何类型的计算机可读存储设备和/或存储盘,其排除传播信号,并排除传输介质。如本文所使用的,当将短语“至少”使用成权利要求书的前序中的过渡词语时,它是开放性的,如同术语“包括”是开放性的一样。
具体地转到附图,图7是表示用于实现图2和/或图4的示例性配置模块(CM)226的示例性方法的流程图。该示例性方法开始于方框700,其中在方框700处,示例性用户接口接收针对控制系统(例如,图2的控制系统200)的配置数据。在一些例子中,配置数据对应于工程师为了配置控制系统而提供的所有的配置参数、逻辑和输入。在方框702处,示例性用户接口接收针对该控制系统中的端点的软件和/或硬件参考值。在一些例子中,软件参考值和硬件参考值对应于工程师基于这些端点设备的制造商所指定的值而输入的值。在一些例子中,这些软件和/或硬件值是在与配置数据相同的时间进行收集的。在其它例子中,与配置数据相比,单独地收集软件和/或硬件数据。在一些例子中,不收集任何软件和/或硬件参考值。在这些例子中,可以在稍后的时间,收集和/或生成这些软件和/或硬件参考值,如下所述。
在方框704处,示例性配置文件生成器404基于配置数据来生成配置文件。在方框706处,示例性参考值生成器406基于配置文件,来生成用于控制系统中的端点的参考值。在一些例子中,通过针对分配给该端点的配置文件和/或其一部分,计算一个或多个校验和,来生成这些参考值。在一些例子中,当在方框702处接收到软件和硬件参考值时,所生成的参考值对应于针对相应的端点的配置参考值。在一些例子中,所生成的参考值包括硬件参考值(例如,当这些值不是在方框702处由用户规定的时)。在方框708处,配置参考生成器406判断是否存在具有相应的配置数据的另一个端点。如果有,则控制返回到方框706,计算用于该端点的相应配置参考值。否则,控制转到方框710处,示例性通信接口410向控制系统中的端点发送配置文件。基于该传输,每一个端点可以接收和/或下载并实例化该配置文件(或者其相关的部分),随后重新启动以完成该配置过程,如下面所进一步详细描述的。在方框712处,示例性通信接口410向系统完整性监测器(SIM)(例如,图2的SIM 228)发送这些参考值(例如,配置参考值、软件参考值和/或硬件参考值)。其后,图7的示例性方法结束。
图8是表示用于实现图2、图3和/或图5的示例性完整性测量模块 (IMM)230,以生成用于端点的启动时间完整性测量值的示例性方法的流程图。当实现IMM 230的端点启动时(例如,在接收到上面结合图7的方框710所描述的配置文件之后),图8的示例性方法执行。在其它例子中,端点可以基于SIM 228所提供的用于进行重新启动的请求来这样做。在其它例子中,可以手动地重新启动端点。在方框802处,示例性完整性测量自测试器504测试IMM 230的完整性测量功能。例如,完整性测量自测试器504测试在基于已知输入和已知输出来生成完整性测量值时将使用的校验和算法、哈希算法等等。在方框804处,示例性完整性测量控制器506 判断完整性测量功能是否正常地工作(例如,输出是所预期的)。如果没有,则图8的示例性方法结束。在一些例子中,在该方法结束之前,完整性测量控制器506生成用于指示该测试失败的错误消息。如果示例性完整性测量控制器506确定完整性测量功能正常地工作(方框804),则控制转到方框806处。
在方框806处,示例性完整性测量控制器506清空所有的完整性测量值寄存器512、514、516。在方框808处,示例性完整性测量生成器502针对该端点上装载的一个软件(和/或固件),生成一个完整性测量值。例如,完整性测量生成器502计算该件软件的密码校验和。在方框810处,示例性完整性测量控制器506将该完整性测量值增加到示例性软件测量值寄存器512中。在方框812处,示例性完整性测量控制器判断在启动过程期间,是否存在将装载的另一个软件。如果有,则控制返回到方框808处,生成用于该软件的完整性测量值,随后添加到软件测量值寄存器512中(方框 810)。在一些例子中,与后续的软件相关联的完整性测量值附加到与先前针对软件栈中更低的其它软件(例如,在启动时间期间,先前装载的)所生成的完整性测量值相关联的完整性测量值中。在一些例子中,如果附加后的字符串值对于软件测量值寄存器512来说变得太长,则示例性完整性测量生成器502可以关于组合后的值执行哈希算法,以便将它们减小到更加可管理的量。如果示例性完整性测量控制器确定在启动过程期间没有更多的软件要进行装载(方框812),则控制转到方框814处。针对所有的软件的组合的完整性测量值(例如,在任何哈希运算之后),对应于针对该端点的最终软件完整性测量值,其可以随后在被请求时报告给SIM 228。
在方框814处,示例性完整性测量生成器502针对分配给该端点的配置数据来生成完整性测量值。例如,完整性测量生成器502针对在该端点中存储的配置文件或者其一部分,来计算密码校验和。在方框816处,示例性完整性测量控制器506将该完整性测量值增加到示例性配置测量值寄存器514中。在方框818处,示例性完整性测量控制器判断是否存在更多的配置数据。如果有,则控制返回到方框814处,针对该配置数据来生成完整性测量值,并随后添加到配置测量值寄存器514中(方框816)。在一些例子中,通过将与随后分析的配置数据相关联的完整性测量值附加到与先前针对其它配置数据所生成的完整性测量值相关联的完整性测量值中,来将其添加到寄存器514中。在一些例子中,如果附加后的字符串值对于配置测量值寄存器514来说变得太长,则示例性完整性测量生成器502可以关于组合后的值执行哈希算法,以便将它们减小到更加可管理的量。如果示例性完整性测量控制器确定不存在更多的配置数据(方框818),则控制转到方框820处。针对所有配置数据的组合的完整性测量值(例如,在任何哈希运算之后),对应于针对该端点的最终配置完整性测量值,其可以随后在被请求时报告给SIM 228。
在方框820处,示例性完整性测量生成器502针对该端点的外围设置,来生成完整性测量值。例如,完整性测量生成器502针对在相应的配置文件中为该端点所设计的外围设备,来计算密码校验和。在方框822处,示例性完整性测量控制器506将该完整性测量值增加到示例性硬件测量值寄存器516中。在方框824处,示例性完整性测量控制器判断是否存在另一个外围设备。如果有,则控制返回到方框820处,针对该外围设备来生成完整性测量值,并随后添加到硬件测量值寄存器516中(方框816)。在一些例子中,通过将与后续的外围设备相关联的完整性测量值附加到与先前针对其它外围设备所生成的完整性测量值相关联的完整性测量值中,来将其添加到寄存器516中。在一些例子中,如果附加后的字符串值对于硬件测量值寄存器516来说变得太长,则示例性完整性测量生成器502可以关于组合后的值执行哈希算法,以便将它们减小到更加可管理的量(例如,使用更少存储器的更短的字符串)。针对所有外围设备的组合的完整性测量值(例如,在任何哈希运算之后),对应于针对该端点的最终硬件完整性测量值,其可以随后在被请求时报告给SIM 228。如果示例性完整性测量控制器确定不存在更多的外围设备(方框818),则图8的示例性方法结束。
图9是表示用于实现图2、图3和/或图5的示例性完整性测量模块 (IMM)230,以生成用于端点的运行时间完整性测量值的示例性方法的流程图。也就是说,在配置并许可端点进入网络之后,并在操作时,发生图9 的示例性方法。图9的示例性方法开始于方框902处,示例性通信接口510 从系统完整性监测器(例如,图2、图3和/或图6的示例性SIM 228)接收针对运行时间完整性测量的请求。在一些例子中,该请求包括在生成响应时将使用的随机数值。下面将结合图11-图13来描述关于SIM 228的另外细节以及接收到该请求时的场景。在方框904处,完整性测量自测试器504 测试IMM 230的完整性测量功能。在方框906处,示例性完整性测量控制器506判断完整性测量功能是否正常地工作(例如,输出是所预期的)。如果没有,则图9的示例性方法结束。在一些例子中,在该方法结束之前,完整性测量控制器506生成用于指示该测试失败的错误消息。如果示例性完整性测量控制器506确定完整性测量功能正常地工作(方框906),则控制转到方框908处。
在方框908处,示例性完整性测量控制器506清空配置和硬件完整性测量值寄存器514、516。在一些例子中,如在图9的示例性方法中所实现的,并不清空结合运行时间完整性测量值使用的软件测量值寄存器512,这是由于在端点在启动时间期间装载软件时,生成了软件完整性测量值。用此方式,先前收集的在端点的上一次启动期间生成的存储在软件测量值寄存器512中的软件完整性测量值,仍然可用于进行报告。
在方框910处,示例性完整性测量生成器502针对分配给该端点的配置数据来生成完整性测量值。在一些例子中,分配给该端点的配置数据是基于在该端点上存储的配置文件和/或其一部分。在方框912处,示例性完整性测量控制器506将该完整性测量值增加到示例性配置测量值寄存器514 中。在方框914处,示例性完整性测量控制器判断是否存在更多的配置数据。如果有,则控制返回到方框910处,针对该配置数据来生成完整性测量值,并随后添加到配置测量值寄存器514中(方框912)。在一些例子中,通过将与随后分析的配置数据相关联的完整性测量值附加到与先前针对其它配置数据所生成的完整性测量值相关联的完整性测量值中,来将其添加到寄存器514中。在一些例子中,如果附加后的字符串值对于配置测量值寄存器514来说变得太长,则示例性完整性测量生成器502可以关于组合后的值执行哈希算法,以便将它们减小到更加可管理的量。如果示例性完整性测量控制器确定不存在更多的配置数据(方框914),则控制转到方框 916处。针对所有配置数据的组合的完整性测量值(例如,在任何哈希运算之后),对应于针对该端点的最终配置完整性测量值。
在方框916处,示例性完整性测量生成器502针对该端点的外围设置,来生成完整性测量值。在方框918处,示例性完整性测量控制器506将该完整性测量值增加到示例性硬件测量值寄存器516中。在方框920处,示例性完整性测量控制器判断是否存在另一个外围设备。如果有,则控制返回到方框916处,针对该外围设备来生成完整性测量值,并随后添加到硬件测量值寄存器516中(方框918)。在一些例子中,通过将与后续的外围设备相关联的完整性测量值附加到与先前针对其它外围设备所生成的完整性测量值相关联的完整性测量值中,来将其添加到寄存器516中。在一些例子中,如果附加后的字符串值对于硬件测量值寄存器516来说变得太长,则示例性完整性测量生成器502可以关于组合后的值执行哈希算法,以便将它们减小到更加可管理的量。针对所有外围设备的组合的完整性测量值 (例如,在任何哈希运算之后),对应于针对该端点的最终硬件完整性测量值。
如果示例性完整性测量控制器确定不存在更多的外围设备(方框920),则控制转到方框922处,示例性通信接口510发送完整性测量值的报告。在一些例子中,所报告的完整性测量值包括在软件测量值寄存器512中存储的软件完整性测量值(先前在该端点的上一次启动期间生成的)、在配置测量值寄存器514中存储的配置完整性测量值(在方框912处生成的)、以及在硬件测量值寄存器516中存储的硬件完整性测量值(在方框918处生成的)。在一些例子中,将完整性测量值的该报告连同针对这些测量值的请求所提供的随机数值进行一起提供。在报告完整性测量值之后,图9的示例性方法结束。
图10是表示用于实现图2、图3和/或图5的示例性完整性测量模块 (IMM)230,以限制在端点处于受信任状态时的环境,向该端点提供的授权信息的使用的示例性方法的流程图。如上所述,通过提供给端点的授权信息来启用通信,其中该端点根据该授权信息来生成秘密值和/或公开值或密钥。在一些例子中,端点以加密的形式来存储该授权信息,仅仅当该端点处于与对该授权信息进行加密时相同的状态,才能够访问(解密)该授权信息。在一些例子中,在验证端点的完整性之后,才向端点提供授权信息,使得当对该授权信息进行加密时,该端点处于受信任状态。因此,在一些例子中,如果端点受到损害以至于不再处于受信任状态(例如,完整性测量值不再与参考值相匹配),则该端点将不能够使用该授权信息,这是由于该端点将不能够对该授权信息进行解密。用此方式,可以阻止来自潜在受损害端点的通信,而无需SIM 228专门对该端点进行测试,如下面所更全面描述的。
当实现IMM 230的端点启动时,图10的示例性方法开始。在所示出的例子中,在IMM230已经进行配置和接收授权信息(其以加密的形式存储在授权信息数据库518中)之后,发生启动。图10的示例性方法开始于方框1002,示例性完整性测量生成器502收集启动时间完整性测量值(例如,通过实现图8的示例性方法)。在方框1004处,示例性通信认证器508从授权信息数据库518获取加密的授权信息。在方框1006处,示例性通信认证器508尝试基于启动时间完整性测量值,对该授权信息进行解密。也就是说,在一些例子中,通信认证器508使用这些完整性测量值所指示的该端点的状态,对加密的授权信息进行解密。
在方框1008处,示例性通信认证器508判断是否对该授权信息进行了成功地解密。如果是,则这指示该端点的状态处于预期的完整性状态(例如,受信任状态),该端点能够访问,并因此使用该授权信息来进行通信。因此,在方框1010处,示例性通信接口510使用解密后的授权信息,在控制系统中进行通信。其后,图10的示例性方法结束。
如果示例性通信认证器508确定没有对该授权信息进行成功地解密(方框1008),则控制转到方框1012。对加密的授权信息进行解密的不成功尝试,指示关于该端点的状态的某些情况(如完整性测量值所指示的)与该端点的期望的状态(例如,完整性)不一致。在方框1012处,示例性完整性测量控制器506判断配置文件是否是可用的。如果可用,则控制转到方框1014处,示例性通信接口510发出针对准许进入该控制网络的请求。在一些例子中,该请求可以发起下面所描述的图12的示例性方法。其后,图 10的示例性方法结束。返回到方框1012,如果示例性完整性测量控制器506 确定该配置文件是不可用的,则在图10的示例性方法结束之前,控制转到方框1016处。在方框1016处,示例性通信接口510发出在控制网络上进行注册的请求。在一些例子中,该请求对应于下面所描述的图11的示例性方法的开始。
图11是表示用于实现图2、图3和/或图6的示例性系统完整性监测器228,以检查初始时在相关联的控制网络上注册的端点的完整性的示例性方法的流程图。该示例性方法开始于方框1102,示例性通信接口602从端点接收注册的请求。端点的注册指代将该端点识别成与该控制系统相对应的控制网络上的节点或端点,其中该端点被实现为先前没有在该网络中连接,或者不具有有效的配置数据(例如,图10的方框1016处的请求)。在方框 1104处,示例性通信接口602向该端点发送随机数(例如,由示例性授权控制器606来生成)以及针对该端点的软件完整性测量的请求。在一些例子中,该随机数用来检测“撒谎的端点”(例如,简单地重复先前生成的值的端点)。在所示出的例子中,假定该端点是没有进行过配置的新实现的设备(或者不再具有有效的配置数据的设备),使得相应的配置和/或硬件完整性测量不会产生与相应的参考值相匹配的有效结果。因此,在所示出的例子中,当不存在其它类型的完整性测量值(例如,硬件和/或配置完整性测量值)时,请求软件完整性测量值。但是,在一些例子中,在方框1104处,还是与软件完整性测量值一起请求硬件和/或配置完整性测量值。
在方框1106处,示例性通信接口602接收软件完整性测量值的报告。在一些例子中,所报告的软件完整性测量值对应于:如先前在该端点初始启动时所生成的存储在软件测量值寄存器512中的那些值,如上面结合图8 所描述的。在方框1108处,示例性完整性测量数据库618存储所报告的软件完整性测量值。在一些例子中,对这些完整性测量值进行存储,以便后续与参考值进行比较,和/或用于整个控制系统(作为一个综合整体)与监控系统的完整性验证,如下面结合图16所更全面描述的。
在方框1110处,示例性完整性测量比较器604将软件完整性测量值与软件参考值进行比较。在一些例子中,软件参考值是用户先前基于该端点设备的制造商所提供的数据而经由用户接口614已输入的。用此方式,可以独立于来自端点的直接反馈来设置参考值,从而去除在该端点设备离开制造商的占有之后,但在该端点连接到网络之前(例如,在运送期间),该端点被篡改的可能性。在一些例子中,工程师或其它人员也可以输入硬件和/或配置参考值。在其它例子中,基于在方框1106处接收的初始软件完整性测量值,来获得软件参考值,如下面所更全面描述的。同样,在一些例子中,可以通过计算相应的完整性测量值,来获得用于设置硬件和/或配置参考值的初始数据。
在方框1112处,示例性完整性测量比较器604判断所报告的完整性测量值是否与参考值相匹配。如果用户先前已手动地输入了参考值,并且自从端点离开制造商之后没有发生改变,则软件完整性测量值应当与参考值相匹配。如果匹配,则控制转到方框1114处,示例性授权控制器606授权该端点进行配置通信访问。在一些例子中,配置通信访问使端点能够接收配置数据,以用于对该端点进行配置(例如,基于上面结合图7所描述的配置文件)。
如果完整性测量值与参考值不匹配(方框1112),则控制转到方框1116 处,示例性完整性监测控制器612提示管理员覆盖这种差异。在一些例子中,当端点在初始实现时(例如,新获得和/或安装的设备),并且先前没有经由用户接口614来手动地输入参考值时,完整性测量值可能与参考值不匹配。因此,在方框1116处提供的提示使管理员能够将初始报告的完整性测量值接受成新的参考值(如果它们对应于期望的值的话)。因此,在方框 1118处,示例性完整性监测控制器612判断是否批准该覆盖。如果批准,则控制转到方框1120处,示例性完整性监测控制器612将该报告的完整性测量值分配成新的参考值。用此方式,可以基于端点的完整性测量值,来初始设置软件参考值,而无需如上所述地手动输入这些值。在这些例子中,由于在方框1120处将所报告的完整性测量值分配成参考值,因此完整性测量值和参考值需要进行匹配,使得控制转到方框1114,以授权该端点进行配置通信访问。
一旦授权端点进行配置通信访问(方框1114),则可以从配置模块226 向该端点发送配置文件,如上面结合图7所描述的。其后,端点可以重新启动以完成配置过程。用此方式,端点可以获得有效的配置数据,使得软件、硬件和配置完整性测量值中的每一个应当反映该端点的适当状态,以便验证该端点的完整性。在方框1122处,在配置重新启动之后,示例性通信接口602从端点接收针对准许进入的请求。端点的准许进入指代准许该端点与该控制系统(在其中实现该端点以及该端点已经在其上注册(例如,在方框1114处,响应于在方框1102处针对注册的请求)的控制系统)相关联的控制网络中的其它端点进行通信(例如,启动通信)。在方框1124处,示例性完整性监测控制器612对完全配置的端点的完整性进行验证。下面在图12中更详细地描述对完全配置的端点的完整性进行验证的示例性方法。在方框1126处,示例性完整性监测控制器612判断是否存在另一个端点要准许进入该控制系统的控制网络。如果有,则控制转到方框1102处。否则,图11的示例性方法结束。
返回到方框1118,如果示例性完整性监测控制器612确定没有批准该覆盖(例如,管理员并不想将端点报告的软件完整性测量值使用成新的参考值),则控制转到方框1128处,示例性授权控制器606将该端点限制于固件更新通信访问。在一些例子中,固件更新通信访问将该端点限制于接收固件更新,但并不允许与该端点进行通信。在限制了端点的通信访问之后(方框1128),控制转到方框1126处,示例性完整性监测控制器判断该示例性方法是将结束,还是针对另一个端点进行重复。
图12是表示用于实现图2、图3和/或图6的示例性系统完整性监测器 228,以检查寻求控制系统的控制网络中的通信访问的端点的完整性的示例性方法的流程图。具体而言,图12的示例性方法对应于图11的方框1124。图12的示例性方法开始于方框1202,示例性通信接口602向端点发送随机数(例如,由示例性授权控制器606来生成)以及针对该端点的完整性测量的请求。与图11的方框1104(此处只是请求软件完整性测量)相比,示例性通信接口602可以请求针对软件、硬件和配置完整性测量中的每一个的值,这是由于在该时间点,该端点是完全配置的,参考值数据库616具有用于与这些完整性测量值进行比较的所有相关参考值。在一些例子中,在针对该端点将用于的特定应用,验证已对该端点进行适当地配置(图12) 之前,首先完成软件的验证(图11),以确保如制造商所提供的该端点如所预期地进行操作。在一些例子中,可以对图11和图12的示例性方法进行组合,使得一次就验证该端点的软件、硬件和配置完整性。
在方框1204处,示例性通信接口602接收完整性测量值的报告。在一些例子中,这些完整性测量值是基于在运行时间期间进行的计算。在一些这种例子中,所报告的软件完整性测量值对应于:如先前在软件测量值寄存器512中存储的值,这是由于该端点并没有进行重新启动来获得新的测量值。也就是说,软件完整性测量值可以对应于该端点上一次启动时先前所生成的值(例如,图11中的紧接的前一方框1122)。相比而言,在一些例子中,硬件和配置完整性测量值是在运行时间期间新生成的。在方框1206 处,示例性完整性测量数据库618存储所报告的完整性测量值。
在方框1208处,示例性完整性测量比较器604将所报告的完整性测量值与参考值进行比较。在一些例子中,这些参考值对应于在方框1102处接收的值和/或在图11的方框1120处分配的值。在方框1210处,示例性完整性测量比较器604判断所报告的完整性测量值是否与参考值相匹配。如果不匹配,则控制转到方框1212处,示例性完整性监测控制器612提示管理员覆盖该差异。在一些例子中,该提示使管理员能够将该报告的完整性测量值接受成新的参考值。在方框1214处,示例性完整性监测控制器612判断是否批准该覆盖。如果批准,则控制转到方框1216处,示例性完整性监测控制器612将该报告的完整性测量值分配成新的参考值,其中控制转到方框1218处。
在方框1218处,示例性授权控制器606通过向该端点提供授权信息,来授权该端点进行完全通信访问。在一些例子中,完全通信访问使该端点能够与实现该端点的控制网络中的其它端点进行完全地通信。在一些例子中,通过向端点提供授权信息来启用完全通信访问,其中端点使用该授权信息来生成秘密值和/或公开值。返回到方框1210处,如果示例性完整性测量比较器604确定所报告的完整性测量值与参考值相匹配,则控制直接转到方框1218处。一旦授权端点进行完全通信访问(方框1218),则图12的示例性方法结束,并返回到完成图11的示例性方法。
返回到方框1214,如果示例性完整性监测控制器612确定没有批准该覆盖(例如,管理员并不想将该报告的完整性测量值使用成新的参考值),则控制转到方框1220处,示例性完整性测量比较器604判断该报告的软件完整性测量值是否与软件参考值相匹配。如果不匹配,则该端点上的软件是可疑的。因此,控制转到方框1222处,示例性授权控制器606将该端点限制于固件更新通信访问。在限制了端点的通信访问之后(方框1222),图 12的示例性方法结束,并返回到完成图11的示例性方法。返回到方框1220 处,如果示例性完整性测量比较器604确定该报告的软件完整性测量值与软件参考值相匹配,则控制转到方框1224处。在方框1224处,示例性授权控制器606将该端点限制于配置通信访问。其后,图12的示例性方法结束,并返回到完成图11的示例性方法。
图13是表示用于实现图2、图3和/或图6的示例性系统完整性监测器 228,以在运行时间期间检查控制系统的控制网络中的端点的完整性的示例性方法的流程图。也就是说,图11和图12表示用于对控制网络上初始设置和配置的端点的完整性进行验证的示例性方法,图13表示在稍后的时间点(当该端点在操作时和/或在服务时),对该端点的完整性进行的验证。用此方式,可以检测出在已经获得、安装和配置端点进行使用之后所发生的潜在安全漏洞,并进行相应地响应。
图13的示例性方法开始于方框1302,示例性完整性监测控制器612 判断是否到了对端点的运行时间完整性进行验证的时间。控制系统中的很多计算设备(端点)可以仍然在延长的时间周期(例如,数月或数年)都处于运行之中,而不会进行关闭或者重新启动。因此,虽然在启动时间期间,对端点的完整性进行验证以确认(在启动期间装载的)软件栈的状态是有用的,但这些测试可能没有按照足够的粒度来进行,以检测该端点的潜在改变。因此,在一些例子中,用户可以按照周期性或者非周期性调度,来规定运行时间完整性(其是更定期的和/或频繁的)。在一些例子中,针对网络中的每一个端点,一天执行一次运行时间完整性测量。但是,可以按照任何适当的调度,来实现运行时间完整性测试。此外,在一些例子中,可以例如基于端点对于其所操作的控制系统的关键性,与其它端点相比,对某些端点进行更频繁地测试(例如,关键性端点进行小时级测试)。另外地或替代地,在一些例子中,在特定的时间点,只请求某些类型的完整性测量(软件、硬件或配置)。在一些例子中,可以针对软件、硬件和配置完整性测量中的每一种的监测,应用单独的调度表。如果示例性完整性监测控制器612确定还没有到对端点的运行时间完整性进行验证的时间(方框 1302),则示例性完整性监测控制器612进行等待,直到该时间为止。
一旦到了对端点的运行时间完整性进行验证的时间,则控制转到方框 1304处,示例性通信接口602向端点发送随机数(例如,由示例性授权控制器606来生成)以及针对该端点的完整性测量的请求。在方框1306处,示例性通信接口602接收完整性测量值的报告。在一些例子中,这些完整性测量值是基于在运行时间期间进行的计算。但是,在一些例子中,软件完整性测量值是基于在该端点上一次启动时所生成的完整性测量值,使得在运行时间期间不生成新的软件完整性测量值。相反,在这些例子中,软件完整性测量值对应于该端点上一次启动时所先前生成的值。相比而言,在一些例子中,硬件和配置完整性测量值是在运行时间期间新生成的。在方框1308处,示例性完整性测量数据库618存储所报告的完整性测量值。
在方框1310处,示例性完整性测量比较器604将所报告的完整性测量值与参考值进行比较。在方框1312处,示例性完整性测量比较器604判断所报告的完整性测量值是否与参考值相匹配。如果不匹配,则控制转到方框1314处,示例性完整性监测控制器612基于失败的完整性测量,来实现响应。在一些例子中,该特定的响应取决于什么类型的完整性测量值(例如,软件、硬件和/或配置)没有与参考值相匹配。在一些例子中,响应的本质依赖于端点的本质和/或其配置以及与相应网络中的其它端点的关系。在一些例子中,该响应包括:生成报警(方框1316),将来自该端点的未来数据标记成可疑的(方框1318),将该端点限制于固件更新通信访问和/或配置通信访问(方框1320),和/或切换到冗余端点(方框1322)。在一些例子中,该响应包括方框1316、1318、1320、1322中的一个以上方框的组合。在一些例子中,当对端点进行配置时,由用户规定所实现的响应。在实现了适当的响应之后(方框1314),控制转到方框1324处。返回到方框1312,如果示例性完整性测量比较器604确定完整性测量值与参考值相匹配,则对该端点的完整性进行了验证,故不需要进一步的动作。在这些例子中,控制直接转到方框1324。
在方框1324处,示例性完整性监测控制器612判断是否存在另一个端点要进行验证。如果有,则控制返回到方框1302处。否则,控制转到方框 1326处,示例性完整性监测控制器612判断是否继续。如果继续,则控制返回到方框1302。否则,图13的示例性方法结束。
上面所描述的图11-图13对应于实现控制系统(例如,图2的控制系统200)的主工作站中的SIM 228,其中该控制系统位于图1的层次结构100 的控制系统层级106。因此,图11-图13涉及在与层次结构100的控制系统层级106相关联的控制网络上,在层次结构100的设备层级104处,进行针对过程控制设备(例如,控制器、I/O设备、现场设备等等)的通信访问的配置和基于完整性的授权。另外地或替代地,图11-图13涉及在与控制系统层级106相关联的控制网络上,在控制系统层级106处,进行不同端点(例如,工作站、服务器等等)之间的通信的配置和基于完整性的授权。因此,在一些例子中,在被设计用于对通信进行授权的控制网络的主工作站(例如,图2的主工作站220)中,实现与图11-图13相关联的SIM 228。此外,在这些例子中,在与通信地耦合到控制网络的特定设备相对应的端点中实现IMM 230。
相比而言,下面所描述的图14-图15对应于实现监控系统(例如,图3 的监控系统300)的主工作站中的SIM 228,其中该监控系统位于图1的层次结构100的监控系统层级108。因此,图14-图15涉及在控制系统层级 106和监控系统层级108处的其它端点处,针对于与图1的监控系统层级 108相关联的监控系统(例如,图3的监控系统300)中的端点的通信访问和/或从属系统(例如,图3的控制系统200、302)之间的通信访问的基于完整性的授权。因此,在一些例子中,在被设计用于对通信进行授权的监控网络的主工作站(例如,图3的主工作站306)中,实现与图14-图15 相关联引用的SIM 228。此外,在这些例子中,准许进入监控网络310的端点对应于实现IMM 230的个体计算设备(例如,工作站308、服务器304等等)。另外地或替代地,准许进入监控网络310的端点对应于控制系统层级106(例如,控制系统200)的该监控系统的从属系统。在一些这种例子中,在与从属系统相关联的主工作站(例如,控制系统200的主工作站220) 中实现的SIM 228,提供在监控系统的工作站中实现的SIM 228所请求的完整性测量,如下面结合图16所描述的。
图14是表示用于实现图2、图3和/或图6的示例性系统完整性监测器 228,以验证寻求许可进入监控系统的端点的完整性的示例性方法。在所示出的例子中,SIM 228对应于在监控系统的主工作站(例如,监控系统300 的主工作站306)中实现的SIM。图14的示例性方法开始于方框1400,其中在方框1400处,示例性用户接口602从监控系统中的端点接收连接请求。在一些例子中,该请求来自于通信地耦合到监控系统的监控网络的特定端点(例如,工作站308、服务器304等等)。在一些例子中,该请求来自于从属系统的主工作站(例如,控制系统200的主工作站220)。在方框1402 处,示例性通信接口602向该端点发送随机数(例如,由示例性授权控制器606来生成)与用于针对该端点的完整性测量的请求。
在方框1404处,示例性通信接口602接收完整性测量值的报告。在一些例子中,以上面针对于控制系统层级106的端点所实现的IMM来描述的相同或相似方式,监控系统层级108的端点所实现的IMM,生成针对该端点的完整性测量值。但是,监控系统通常并不如在控制系统的情况下具有专门设计的配置。因此,在一些例子中,报告的完整性测量值并不包括配置完整性测量值。另一方面,在一些例子中,当端点对应于控制系统时,完整性测量值可以包括与来自该控制系统中的所有端点的配置完整性测量值的组合相对应的值,如下面结合图16所更全面描述的。在方框1406处,示例性完整性测量数据库618对这些报告的完整性测量值进行存储。
在方框1408处,示例性完整性测量比较器604将这些报告的完整性测量值与参考值进行比较。在方框1410处,示例性完整性测量比较器604判断这些报告的完整性测量值是否与参考值相匹配。如果不匹配,则控制转到方框1412处,示例性完整性监测控制器612提示管理员对该差异进行覆盖。在方框1414处,示例性完整性监测控制器612判断是否批准该覆盖。如果批准,则控制转到方框1416处,示例性完整性监测控制器612将这些报告的完整性测量值分配成新的参考值。在方框1418处,示例性授权控制器606通过向该端点提供授权信息,来授权该端点进行完全通信访问。返回到方框1410,如果示例性完整性测量比较器604确定这些报告的完整性测量值与参考值相匹配,则控制直接转到方框1418处。在方框1420处,示例性完整性监测控制器612判断是否存在另一个端点。如果存在,则控制返回到方框1400。否则,图14的示例性方法结束。
返回到方框1414,如果示例性完整性监测控制器612确定该覆盖没有被批准(例如,管理员并不想将该报告的完整性测量值使用成新的参考值),则控制转到方框1422处。在方框1422处,示例性授权控制器606限制该端点的通信访问。在一些例子中,对通信访问进行拒绝(即,不提供通信访问)。在一些例子中,将该端点限制于固件更新通信访问。在其它例子中,可以启用通信,但将来自该特定节点的数据标记或标签成可疑的。在一些例子中,可以向监控系统上的某些端点提供通信访问,而阻止其它端点的通信。在限制该端点的通信访问之后(方框1422),控制转到方框1420,示例性完整性监测控制器612判断是否存在另一个端点,如上所述。
图13是表示用于实现图2、图3和/或图6的示例性系统完整性监测器 228,以在运行时间期间检查监控系统的监控网络中的端点的完整性的示例性方法的流程图。也就是说,图14表示用于对初始准许进入监控网络的端点的完整性进行验证的示例性方法,图15表示在稍后的时间点(当该端点在操作时和/或在服务时),对该端点的完整性进行的验证。用此方式,可以检测出在已经获得、安装和配置端点进行使用之后所发生的潜在安全漏洞,并进行相应地响应。如上所述,在图15所示出的例子中,SIM 228对应于在监控系统的主工作站中实现的SIM(例如,监控系统300的主工作站306)。
图15的示例性方法开始于方框1502,示例性完整性监测控制器612 判断是否到了对端点的运行时间完整性进行验证的时间。在一些例子中,按照任何适当的周期性或者非周期性调度,来执行运行时间完整性测量。例如,针对网络中的每一个端点,可以一天请求一次运行时间完整性测量。此外,在一些例子中,可以例如基于端点对于其所操作的监控系统的关键性,与其它端点相比,对某些端点进行更频繁地测试。如果示例性完整性监测控制器612确定还没有到对端点的运行时间完整性进行验证的时间(方框1502),则示例性完整性监测控制器612进行等待,直到该时间为止。
一旦到了对端点的运行时间完整性进行验证的时间,则控制转到方框 1504处,示例性通信接口602向端点发送随机数(例如,由示例性授权控制器606来生成)以及针对该端点的完整性测量的请求。在方框1506处,示例性通信接口602接收完整性测量值的报告。在一些例子中,以上面针对于控制系统层级106的端点所实现的IMM来描述的相同或相似方式,监控系统层级108的端点所实现的IMM,生成针对该端点的完整性测量值。但是,在一些例子中,这些完整性测量值并不包括配置完整性测量值,这是由于监控系统通常并不具有用于规定如何对该系统进行配置的配置文件。另一方面,在一些例子中,当端点对应于控制系统时,完整性测量值可以包括与来自控制系统中的所有端点的配置完整性测量值的组合相对应的值,如下面结合图16所更全面描述的。在方框1508处,示例性完整性测量数据库618存储所报告的完整性测量值。
在方框1510处,示例性完整性测量比较器604将所报告的完整性测量值与参考值进行比较。在方框1512处,示例性完整性测量比较器604判断所报告的完整性测量值是否与参考值相匹配。如果不匹配,则控制转到方框1514处,示例性完整性监测控制器612基于失败的完整性测量,来实现响应。在一些例子中,该特定的响应取决于什么类型的完整性测量值(例如,软件、硬件和/或配置)没有与参考值相匹配。在一些例子中,响应的本质依赖于端点的本质和/或其配置以及与相应网络中的其它端点的关系。在一些例子中,该响应包括:生成报警(方框1516),将来自该端点的未来数据标记成可疑的(方框1518),和/或限制该端点的通信访问(方框1520)。在一些例子中,对通信访问进行拒绝(即,不提供通信访问)。在一些例子中,将该端点限制于固件更新通信访问。在其它例子中,可以启用通信,但将来自该特定节点的数据标记或标签成可疑的。在一些例子中,可以向监控系统上的某些端点提供通信访问,而阻止其它端点的通信。在一些例子中,该响应包括方框1516、1518、1520、1522中的一个以上方框的组合。在一些例子中,当对端点进行配置时,由用户规定所实现的响应。
在实现了适当的响应之后(方框1514),控制转到方框1522处。返回到方框1512,如果示例性完整性测量比较器604确定完整性测量值与参考值相匹配,则对该端点的完整性进行了验证,故不需要进一步的动作。在这些例子中,控制直接转到方框1522。在方框1522处,示例性完整性监测控制器612判断是否存在另一个端点要进行验证。如果有,则控制返回到方框1502处。否则,控制转到方框1526处,示例性完整性监测控制器612 判断是否继续。如果继续,则控制返回到方框1502。否则,图15的示例性方法结束。
图16是表示用于实现图2、图3和/或图6的示例性系统完整性监测器 (SIM)228,以针对与较低层级系统的端点(例如,作为图3的监控系统 300中的端点的控制系统200)相对应的端点来生成组合的完整性测量值的示例性方法的流程图。也就是说,在图16所示出的例子中,SIM 228对应于与监控网络的主工作站(例如,监控系统300的主工作站306)进行通信的控制系统的主工作站(例如,控制系统200的主工作站220)中实现的SIM。换句话说,从监控系统300的主工作站306的角度来看,图6中实现的SIM 228用于以与上面所描述的IMM230相同或相似的方式来报告完整性测量值。但是,如下面所更全面描述的,为了生成这些完整性测量值, SIM 228需要首先从该SIM 228正在监测的较低层级端点中实现的IMM 230获得或者收集完整性测量值。
图16的示例性方法开始于方框1602,示例性通信接口602从监控系统的系统完整性监测器接收随机数与针对与从属系统(例如,监控系统中的控制系统)相对应的端点的完整性测量值的请求。在一些例子中,虽然该端点指代整个子系统,但通过实现SIM 228(其接收该请求)的子系统中的主工作站来有效地表示该端点。在一些例子中,利用该请求所提供的随机数值将在生成响应时进行使用。在方框1604处,示例性完整性测量自测试 504对SIM的完整性测量功能进行测试。在方框1606处,示例性完整性监测控制器612判断完整性测量功能是否正常地工作(例如,输出是所预期的)。如果没有,则图16的示例性方法结束。在一些例子中,在该方法结束之前,完整性监测控制器612生成用于指示该测试失败的错误消息。如果示例性完整性监测控制器612确定完整性测量功能正常地工作(方框 1606),则控制转到方框1608处。
在方框1608处,示例性完整性监测控制器612清空所有的完整性测量值寄存器622、624、626。在方框1610处,示例性完整性监测控制器612 将来自从属系统中的端点的软件完整性测量值添加到示例性软件测量值寄存器622中。在一些例子中,软件完整性测量值是从完整性测量数据库618 获得的,其中对相应的端点进行监测的SIM 228先前请求了该完整性测量数据库618。在其它例子中,响应于在方框1602处接收的请求,SIM 228 请求软件完整性测量值。在方框1612处,示例性完整性监测控制器612将来自从属系统中的端点的硬件完整性测量值添加到示例性硬件测量值寄存器624中。在一些例子中,硬件完整性测量值是从完整性测量数据库618 获得的,其中对相应的端点进行监测的SIM 228先前请求了该完整性测量数据库618。在其它例子中,响应于在方框1602处接收的请求,SIM 228 请求硬件完整性测量值。在方框1614处,示例性完整性监测控制器612将来自从属系统中的端点的配置完整性测量值添加到示例性配置测量值寄存器626中。在一些例子中,配置完整性测量值是从完整性测量数据库618 获得的,其中对相应的端点进行监测的SIM 228先前请求了该完整性测量数据库618。在其它例子中,响应于在方框1602处接收的请求,SIM 228 请求配置完整性测量值。
在方框1616处,示例性完整性监测控制器612判断在从属系统中是否存在另一个端点。如果有,则控制返回到方框1610、1612和1614,以便将来自该端点的相应完整性测量值添加到相应的寄存器622、624、626中。在一些例子中,通过将这些完整性测量值附加到先前增加的完整性测量值中,来将它们添加到相应的寄存器中。如果示例性完整性监测控制器612 确定在从属系统中不存在更多的端点(方框1616),则控制转到方框1618 处,示例性完整性测量生成器608生成针对该从属系统的组合的完整性测量值。在一些例子中,通过计算软件、硬件和配置寄存器622、624、626 的每一个中的字符串值的校验和,来生成该组合的完整性测量值。在方框 1620处,示例性通信接口602向监控系统的SIM发送该组合的完整性测量值的报告,在该点,图16的示例性方法结束。
图17是可以进行使用和/或编程来执行图7的示例性方法,以实现图2 和/或图4的示例性配置模块226的示例性处理器平台1700的框图。例如,该处理器平台1700可以是服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(PDA)、互联网设备、DVD播放器、CD播放器、数字视频录像机、蓝光播放器、游戏控制台、个人视频录像机、机顶盒或者任何其它类型的计算设备。
所示出的例子的处理器平台1700包括处理器1712。所示出的例子的处理器1712是硬件。例如,处理器1712可以通过来自任何期望的系列或者制造商的一个或多个集成电路、逻辑电路、微处理器或控制器来实现。
所示出的例子的处理器1712包括本地存储器1713(例如,高速缓存)。在所示出的例子中,处理器1712实现示例性配置文件生成器404和/或示例性参考值生成器406。所示出的例子的处理器1712经由总线1718,与包括易失性存储器1714和非易失性存储器1716的主存储器进行通信。易失性存储器1714可以通过同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器设备来实现。非易失性存储器1716可以通过闪存和/或任何其它期望类型的存储器设备来实现。对于主存储器1714、1716 的访问,由存储器控制器来控制。
所示出的例子的处理器平台1700还包括接口电路1720。接口电路1720 可以通过任何类型的接口标准(例如,以太网接口、通用串行总线(USB) 和/或PCI快速接口)来实现。
在所示出的例子中,一个或多个输入设备1722连接到接口电路1720。输入设备1722准许用户向处理器1712输入数据和命令。例如,输入设备可以通过音频传感器、麦克风、照相机(静态或视频)、键盘、按键、鼠标、触摸屏、跟踪板、跟踪球、等位点装置(isopoint)和/或语音识别系统来实现。
此外,一个或多个输出设备1724也连接到所示出的例子的接口电路 1720。例如,输出设备1724可以通过显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出装置、发光二级管(LED)、打印机和/或扬声器)来实现。因此,所示出的例子的接口电路1720通常包括图形驱动卡、图形驱动芯片或者图形驱动处理器。
此外,所示出的例子的接口电路1720还包括通信设备,比如发射器、接收器、收发器、调制解调器和/或有助于经由网络1726(例如,以太网连接、数字用户线路(DSL)、电话线、同轴线、蜂窝电话系统等等)与外部机器(例如,任何类型的计算设备)交换数据的网络接口卡。
所示出的例子的处理器平台1700还包括用于存储软件和/或数据的一个或多个大容量存储设备1728。例如,大容量存储设备1728可以包括图4 的示例性配置数据库408。该大容量存储设备1728的例子包括软盘驱动器、硬盘磁盘、压缩盘驱动器、蓝光光盘驱动器、RAID系统和数字多功能光盘 (DVD)驱动器。
用于实现图7的方法的编码指令1732可以存储在大容量存储设备 1728、易失性存储器1714、非易失性存储器1716和/或诸如CD或DVD之类的移动的有形计算机可读存储介质中。
图18是可以进行使用和/或编程来执行图8-图10的示例性方法,以实现图2、图3和/或图5的示例性完整性测量模块230的示例性处理器平台 1800的框图。例如,该处理器平台1800可以是服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(PDA)、互联网设备、DVD播放器、CD播放器、数字视频录像机、蓝光播放器、游戏控制台、个人视频录像机、机顶盒或者任何其它类型的计算设备。
所示出的例子的处理器平台1800包括处理器1812。所示出的例子的处理器1812是硬件。例如,处理器1812可以通过来自任何期望的系列或者制造商的一个或多个集成电路、逻辑电路、微处理器或控制器来实现。
所示出的例子的处理器1812包括本地存储器1813(例如,高速缓存)。在所示出的例子中,处理器1812实现示例性完整性测量生成器502、示例性完整性测量自测试器504、示例性完整性测量控制器506和/或示例性通信认证器508。所示出的例子的处理器1812经由总线1818,与包括易失性存储器1814和非易失性存储器1816的主存储器进行通信。易失性存储器 1814可以通过同步动态随机存取存储器(SDRAM)、动态随机存取存储器 (DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器设备来实现。非易失性存储器1816可以通过闪存和/ 或任何其它期望类型的存储器设备来实现。对于主存储器1814、1816的访问,由存储器控制器来控制。
所示出的例子的处理器平台1800还包括接口电路1820。接口电路1820 可以通过任何类型的接口标准(例如,以太网接口、通用串行总线(USB) 和/或PCI快速接口)来实现。
在所示出的例子中,一个或多个输入设备1822连接到接口电路1820。输入设备1822准许用户向处理器1812输入数据和命令。例如,输入设备可以通过音频传感器、麦克风、照相机(静态或视频)、键盘、按键、鼠标、触摸屏、跟踪板、跟踪球、等位点装置(isopoint)和/或语音识别系统来实现。
此外,一个或多个输出设备1824也连接到所示出的例子的接口电路 1820。例如,输出设备1824可以通过显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出装置、发光二级管(LED)、打印机和/或扬声器)来实现。因此,所示出的例子的接口电路1820通常包括图形驱动卡、图形驱动芯片或者图形驱动处理器。
此外,所示出的例子的接口电路1820还包括通信设备,比如发射器、接收器、收发器、调制解调器和/或有助于经由网络1826(例如,以太网连接、数字用户线路(DSL)、电话线、同轴线、蜂窝电话系统等等)与外部机器(例如,任何类型的计算设备)交换数据的网络接口卡。
所示出的例子的处理器平台1800还包括用于存储软件和/或数据的一个或多个大容量存储设备1828。例如,大容量存储设备1928可以包括图5 的示例性软件测量值寄存器512、示例性配置测量值寄存器514、示例性硬件测量值寄存器516、示例性授权信息数据库518和/或示例性配置数据库 520。该大容量存储设备1828的例子包括软盘驱动器、硬盘磁盘、压缩盘驱动器、蓝光光盘驱动器、RAID系统和数字多功能光盘(DVD)驱动器。
用于实现图8-图10的方法的编码指令1832可以存储在大容量存储设备1828、易失性存储器1814、非易失性存储器1816和/或诸如CD或DVD 之类的移动的有形计算机可读存储介质中。
图19是可以进行使用和/或编程来执行图11-图16的示例性方法,以实现图2、图3和/或图6的示例性系统完整性监测器228的示例性处理器平台1900的框图。例如,该处理器平台1900可以是服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(PDA)、互联网设备、DVD播放器、CD播放器、数字视频录像机、蓝光播放器、游戏控制台、个人视频录像机、机顶盒或者任何其它类型的计算设备。
所示出的例子的处理器平台1900包括处理器1912。所示出的例子的处理器1912是硬件。例如,处理器1912可以通过来自任何期望的系列或者制造商的一个或多个集成电路、逻辑电路、微处理器或控制器来实现。
所示出的例子的处理器1912包括本地存储器1913(例如,高速缓存)。在所示出的例子中,处理器1912实现示例性完整性测量比较器604、示例性授权控制器606、示例性完整性测量生成器608、示例性完整性测量自测试器610和/或示例性完整性监测控制器612。所示出的例子的处理器1912 经由总线1918,与包括易失性存储器1914和非易失性存储器1916的主存储器进行通信。易失性存储器1914可以通过同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器设备来实现。非易失性存储器1916可以通过闪存和/或任何其它期望类型的存储器设备来实现。对于主存储器1914、1916的访问,由存储器控制器来控制。
所示出的例子的处理器平台1900还包括接口电路1920。接口电路1920 可以通过任何类型的接口标准(例如,以太网接口、通用串行总线(USB) 和/或PCI快速接口)来实现。
在所示出的例子中,一个或多个输入设备1922连接到接口电路1920。输入设备1922准许用户向处理器1912输入数据和命令。例如,输入设备可以通过音频传感器、麦克风、照相机(静态或视频)、键盘、按键、鼠标、触摸屏、跟踪板、跟踪球、等位点装置(isopoint)和/或语音识别系统来实现。
此外,一个或多个输出设备1924也连接到所示出的例子的接口电路 1920。例如,输出设备1924可以通过显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出装置、发光二级管(LED)、打印机和/或扬声器)来实现。因此,所示出的例子的接口电路1920通常包括图形驱动卡、图形驱动芯片或者图形驱动处理器。
此外,所示出的例子的接口电路1920还包括通信设备,比如发射器、接收器、收发器、调制解调器和/或有助于经由网络1926(例如,以太网连接、数字用户线路(DSL)、电话线、同轴线、蜂窝电话系统等等)与外部机器(例如,任何类型的计算设备)交换数据的网络接口卡。
所示出的例子的处理器平台1900还包括用于存储软件和/或数据的一个或多个大容量存储设备1928。例如,大容量存储设备1928可以包括图6 的示例性参考值数据库616、示例性完整性测量数据库618、示例性授权信息数据库620、示例性软件测量值寄存器622、示例性硬件测量值寄存器624 和/或示例性配置测量值寄存器626。该大容量存储设备1928的例子包括软盘驱动器、硬盘磁盘、压缩盘驱动器、蓝光光盘驱动器、RAID系统和数字多功能光盘(DVD)驱动器。
用于实现图11-图16的方法的编码指令1932可以存储在大容量存储设备1928、易失性存储器1914、非易失性存储器1916和/或诸如CD或DVD 之类的移动的有形计算机可读存储介质中。
根据前述内容,应当理解的是,上面所公开的方法、装置和制品提高了工业企业系统中的组件的安全性和可靠性。不同于基于来自原始设备制造商的质量保证来承担网络通信设备(端点)中的完整性的现有方法,本文所公开的例子对于这些端点的完整性进行验证。此外,当将一个端点初始注册和/或许可进入特定的网络时,和/或当这些端点处于运行时间期间的操作时,完成这种验证。用此方式,可以检测损害端点的完整性的潜在安全漏洞和/或其它故障,而不管它们何时发生,以确保来自这些端点的通信不会影响其它端点,并关于被损害端点采取补救措施。另外,本文所公开的教导内容针对于对从属较高层级监控系统的相应系统的验证,实现较低层级完整性测量的上卷(roll-up)和/或组合。
虽然本文公开了某些示例性方法、装置和制品,但本专利的覆盖范围并不受此限制。相反,本专利覆盖明确地落入本专利的权利要求的保护范围之内的所有方法、装置和制品。

Claims (48)

1.一种装置,包括:
完整性测量比较器,其用于将完整性测量值与参考值进行比较,所述完整性测量值是由工业企业系统的网络中的第一端点基于所述第一端点的状态来生成的,所述参考值对应于所述第一端点的受信任状态,所述第一端点对应于所述网络的子系统中的第二端点的组,所述完整性测量值是对应于多个第二完整性测量值的组合的校验和,所述多个第二完整性测量值中的每一个对应于所述子系统中的第二端点的组中的每一个端点;以及
授权控制器,其用于基于所述完整性测量值与所述参考值的比较结果,来启用所述第一端点在所述网络上的通信访问。
2.根据权利要求1所述的装置,还包括:
完整性测量控制器,其用于基于所述完整性测量值和所述参考值之间的差异的批准覆盖,将所述参考值更新为与所述完整性测量值相对应。
3.根据权利要求1所述的装置,其中,当所述完整性测量值与所述参考值相匹配时,所述第一端点的所述通信访问对应于完全通信访问,所述授权控制器用于向所述第一端点提供授权信息以启用所述完全通信访问。
4.根据权利要求1所述的装置,其中,所述第一端点的所述状态对应于以下各项:装载于所述第一端点上的软件、分配给所述第一端点的配置数据、或者耦合到所述第一端点的外围设备。
5.根据权利要求4所述的装置,其中,所述完整性测量值是通过至少部分地基于在所述第一端点上装载的所述软件计算所述校验和来生成的。
6.根据权利要求5所述的装置,其中,当所述校验和与所述参考值不匹配时,所述通信访问对应于固件更新通信访问。
7.根据权利要求4所述的装置,其中,所述完整性测量值是通过至少部分地基于在所述第一端点上存储的所述配置数据计算所述校验和来生成的。
8.根据权利要求7所述的装置,其中,当所述校验和与所述参考值不匹配时,所述通信访问对应于配置通信访问。
9.根据权利要求7所述的装置,其中,所述参考值是基于针对所述网络所生成的配置文件来生成的。
10.根据权利要求4所述的装置,其中,所述完整性测量值是通过至少部分地基于所述第一端点的所述外围设备计算所述校验和来生成的。
11.根据权利要求1所述的装置,其中,所述完整性测量值由所述第一端点在所述第一端点的启动时间期间生成。
12.根据权利要求1所述的装置,其中,所述完整性测量值由所述第一端点在所述第一端点的运行时间期间生成。
13.根据权利要求1所述的装置,其中,所述授权控制器用于执行以下各项中的至少一项:当所述完整性测量值与所述参考值不匹配时,生成报警,其中所述报警指示所述第一端点的完整性是可疑的;或者当所述完整性测量值与所述参考值不匹配时,对所述第一端点提供的数据进行标记,其中所标记的数据指示所述第一端点的完整性是可疑的。
14.根据权利要求1所述的装置,其中,当所述完整性测量值与所述参考值不匹配时,所述授权控制器阻止所述第一端点对于所述网络的通信访问,并启用冗余端点的通信访问。
15.根据权利要求1所述的装置,其中,所述网络对应于所述工业企业系统内的控制系统的控制网络,所述第一端点对应于以下各项中的一项:通信地耦合到所述控制网络的工作站、服务器、控制器、输入/输出设备或者现场设备。
16.根据权利要求1所述的装置,其中,所述网络对应于所述工业企业系统内的监控系统的监控网络,所述第一端点对应于从属于所述监控系统的控制系统。
17.一种方法,包括:
从工业企业系统的网络中的第一端点接收完整性测量值,所述完整性测量值是由所述第一端点基于所述第一端点的状态来生成的,所述第一端点对应于所述网络的子系统中的第二端点的组,所述完整性测量值是对应于多个第二完整性测量值的组合的校验和,所述多个第二完整性测量值中的每一个对应于所述子系统中的第二端点的组中的每一个端点;
将所述完整性测量值与和所述第一端点的受信任状态相对应的参考值进行比较;以及
基于比较结果,来启用所述第一端点对于所述网络的通信访问。
18.根据权利要求17所述的方法,还包括:
接收用于对所述完整性测量值和所述参考值之间的差异进行覆盖的批准;以及
基于所述批准,将所述参考值更新为与所述完整性测量值相对应。
19.根据权利要求17所述的方法,还包括:
当所述完整性测量值与所述参考值相匹配时,通过向所述第一端点提供授权信息,来启用所述第一端点的完全通信访问。
20.根据权利要求17所述的方法,其中,所述第一端点的所述状态对应于以下各项:装载于所述第一端点上的软件、分配给所述第一端点的配置数据、或者耦合到所述第一端点的外围设备。
21.根据权利要求20所述的方法,其中,所述完整性测量值是由所述第一端点通过至少部分地基于在所述第一端点上装载的所述软件计算所述校验和来生成的。
22.根据权利要求21所述的方法,还包括:
当所述校验和与所述参考值不匹配时,启用所述第一端点的固件更新通信访问。
23.根据权利要求20所述的方法,其中,所述完整性测量值是由所述第一端点通过至少部分地基于在所述第一端点上存储的所述配置数据计算所述校验和来生成的。
24.根据权利要求23所述的方法,还包括:
当所述校验和与所述参考值不匹配时,启用配置通信访问。
25.根据权利要求23所述的方法,其中,所述参考值是基于针对所述网络所生成的配置文件来生成的。
26.根据权利要求20所述的方法,其中,所述完整性测量值是由所述第一端点通过至少部分地基于所述第一端点的所述外围设备计算所述校验和来生成的。
27.根据权利要求17所述的方法,其中,所述完整性测量值由所述第一端点在所述第一端点的启动时间期间生成。
28.根据权利要求17所述的方法,其中,所述完整性测量值由所述第一端点在所述第一端点的运行时间期间生成。
29.根据权利要求17所述的方法,还包括以下各项中的至少一项:
当所述完整性测量值与所述参考值不匹配时,生成报警;或者
当所述完整性测量值与所述参考值不匹配时,对所述第一端点提供的数据进行标记,所述报警和所标记的数据中的每一个指示所述第一端点的完整性是可疑的。
30.根据权利要求17所述的方法,还包括:
当所述完整性测量值与所述参考值不匹配时,禁用所述第一端点对于所述网络的通信访问;以及
启用冗余端点的通信访问。
31.根据权利要求17所述的方法,其中,所述网络对应于所述工业企业系统内的控制系统的控制网络,所述第一端点对应于以下各项中的一项:通信地耦合到所述控制网络的工作站、服务器、控制器、输入/输出设备或者现场设备。
32.根据权利要求17所述的方法,其中,所述网络对应于所述工业企业系统内的监控系统的监控网络,所述第一端点对应于从属于所述监控系统的控制系统。
33.一种制品,其包括指令,当所述指令被执行时,使得机器至少执行以下操作:
从工业企业系统的网络中的第一端点接收完整性测量值,所述完整性测量值是由所述第一端点基于所述第一端点的状态来生成的,所述第一端点对应于所述网络的子系统中的第二端点的组,所述完整性测量值是对应于多个第二完整性测量值的组合的校验和,所述多个第二完整性测量值中的每一个对应于所述子系统中的第二端点的组中的每一个端点;
将所述完整性测量值与和所述第一端点的受信任状态相对应的参考值进行比较;以及
基于比较结果,来启用所述第一端点对于所述网络的通信访问。
34.根据权利要求33所述的制品,其中,所述指令还使得所述机器执行以下操作:
接收用于对所述完整性测量值和所述参考值之间的差异进行覆盖的批准;以及
基于所述批准,将所述参考值更新为与所述完整性测量值相对应。
35.根据权利要求33所述的制品,其中,所述指令还使得所述机器执行以下操作:当所述完整性测量值与所述参考值相匹配时,通过向所述第一端点提供授权信息,来启用所述第一端点的完全通信访问。
36.根据权利要求33所述的制品,其中,所述第一端点的所述状态对应于以下各项:装载于所述第一端点上的软件、分配给所述第一端点的配置数据、或者耦合到所述第一端点的外围设备。
37.根据权利要求36所述的制品,其中,所述完整性测量值是由所述第一端点通过至少部分地基于在所述第一端点上装载的所述软件计算所述校验和来生成的。
38.根据权利要求37所述的制品,还包括:
当所述校验和与所述参考值不匹配时,启用所述第一端点的固件更新通信访问。
39.根据权利要求36所述的制品,其中,所述完整性测量值是由所述第一端点通过至少部分地基于在所述第一端点上存储的所述配置数据计算所述校验和来生成的。
40.根据权利要求39所述的制品,还包括:
当所述校验和与所述参考值不匹配时,启用配置通信访问。
41.根据权利要求39所述的制品,其中,所述参考值是基于针对所述网络所生成的配置文件来生成的。
42.根据权利要求36所述的制品,其中,所述完整性测量值是由所述第一端点通过至少部分地基于所述第一端点的所述外围设备计算所述校验和来生成的。
43.根据权利要求33所述的制品,其中,所述完整性测量值由所述第一端点在所述第一端点的启动时间期间生成。
44.根据权利要求33所述的制品,其中,所述完整性测量值由所述第一端点在所述第一端点的运行时间期间生成。
45.根据权利要求33所述的制品,其中,所述指令还使得所述机器执行以下操作:
当所述完整性测量值与所述参考值不匹配时,生成报警;或者
当所述完整性测量值与所述参考值不匹配时,对所述第一端点提供的数据进行标记,所述报警和所标记的数据中的每一个指示所述第一端点的完整性是可疑的。
46.根据权利要求33所述的制品,其中,所述指令还使得所述机器执行以下操作:
当所述完整性测量值与所述参考值不匹配时,禁用所述第一端点的通信访问;以及
启用冗余端点的通信访问。
47.根据权利要求33所述的制品,其中,所述网络对应于所述工业企业系统内的控制系统的控制网络,所述第一端点对应于以下各项中的一项:通信地耦合到所述控制网络的工作站、服务器、控制器、输入/输出设备或者现场设备。
48.根据权利要求33所述的制品,其中,所述网络对应于所述工业企业系统内的监控系统的监控网络,所述第一端点对应于从属于所述监控系统的控制系统。
CN201610390972.5A 2015-06-05 2016-06-03 基于完整性控制工业企业系统中端点的通信的方法和装置 Active CN106249704B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/732,228 2015-06-05
US14/732,228 US10051059B2 (en) 2015-06-05 2015-06-05 Methods and apparatus to control communications of endpoints in an industrial enterprise system based on integrity

Publications (2)

Publication Number Publication Date
CN106249704A CN106249704A (zh) 2016-12-21
CN106249704B true CN106249704B (zh) 2021-12-14

Family

ID=56508106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610390972.5A Active CN106249704B (zh) 2015-06-05 2016-06-03 基于完整性控制工业企业系统中端点的通信的方法和装置

Country Status (5)

Country Link
US (1) US10051059B2 (zh)
JP (1) JP6973844B2 (zh)
CN (1) CN106249704B (zh)
DE (1) DE102016110414A1 (zh)
GB (1) GB2541085B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RS64953B1 (sr) * 2016-04-14 2024-01-31 Rhombus Systems Group Inc Sistem za verifikaciju integriteta bespilotnih letelica
US10554644B2 (en) * 2016-07-20 2020-02-04 Fisher-Rosemount Systems, Inc. Two-factor authentication for user interface devices in a process plant
US11605037B2 (en) 2016-07-20 2023-03-14 Fisher-Rosemount Systems, Inc. Fleet management system for portable maintenance tools
US10764083B2 (en) 2016-07-25 2020-09-01 Fisher-Rosemount Systems, Inc. Portable field maintenance tool with resistor network for intrinsically safe operation
US10409253B2 (en) * 2016-10-24 2019-09-10 Fisher-Rosemount Systems, Inc. Systems and methods for merging modular control systems into a process plant
EP3428756B1 (de) * 2017-07-10 2019-06-19 Siemens Aktiengesellschaft Integritätsüberwachung bei automatisierungssystemen
US10719312B2 (en) * 2017-09-13 2020-07-21 Fisher-Rosemount Systems, Inc. Systems and methods for assessing configuration files associated with a process control system
DE102018122445A1 (de) 2017-09-13 2019-03-14 Fisher-Rosemount Systems, Inc. Assistent anwendung für ein modulares steuerungssystem
EP3499324B1 (de) * 2017-12-12 2021-01-27 Sick Ag Verfahren zur modularen verifikation einer konfiguration eines geräts
US10922412B2 (en) * 2018-01-22 2021-02-16 The Boeing Company Automatic tampering detection in networked control systems
WO2020126232A1 (en) * 2018-12-17 2020-06-25 Atlas Copco Industrial Technique Ab A method, a tool controller and computer program to enable different functionality sets for at least a first and a second tool associated with a tool controller
US11177828B2 (en) 2018-12-27 2021-11-16 Mitsubishi Electric Corporation Data collection apparatus, method, and program
US10962962B2 (en) 2019-05-20 2021-03-30 Fisher-Rosemount Systems, Inc. Quick connection techniques for skid communicator tool
CN111049657B (zh) * 2019-12-10 2021-04-20 成都理工大学 一种can总线网络设备节点访问权限管理方法及系统
EP3839668A1 (de) * 2019-12-17 2021-06-23 Siemens Aktiengesellschaft Integritätsüberwachungssystem und verfahren zum betreiben eines integritätsüberwachungssystems sowie eine integritätsüberwachungseinheit
EP3901720A1 (de) * 2020-04-22 2021-10-27 Siemens Aktiengesellschaft Integritätsprüfung bei leitsystemen technischer anlagen
US11726440B2 (en) * 2020-07-01 2023-08-15 Honeywell International Inc. Industrial control system having multi-layered control logic execution
US11423154B2 (en) * 2020-10-26 2022-08-23 Micron Technology, Inc. Endpoint authentication based on boot-time binding of multiple components

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4989860A (en) * 1986-03-25 1991-02-05 Superspine, Inc. Device for providing enhanced movement of a person's truncal muscles and spine
JPH0216669A (ja) * 1988-07-05 1990-01-19 Toshiba Corp セキュリティ方式
US4959860A (en) * 1989-02-07 1990-09-25 Compaq Computer Corporation Power-on password functions for computer system
US6412092B1 (en) * 1999-04-14 2002-06-25 Hewlett-Packard Company Method and apparatus to reduce the cost of preparing the checksum for out bound data in network communication protocols by caching
JP4520705B2 (ja) * 2003-04-11 2010-08-11 パナソニック株式会社 通信システム及び通信方法
US20050071668A1 (en) * 2003-09-30 2005-03-31 Yoon Jeonghee M. Method, apparatus and system for monitoring and verifying software during runtime
US7539862B2 (en) * 2004-04-08 2009-05-26 Ipass Inc. Method and system for verifying and updating the configuration of an access device during authentication
JP2006040196A (ja) * 2004-07-30 2006-02-09 Hitachi Information & Control Systems Inc ソフトウェア監視システムおよび監視方法
JP2006066982A (ja) * 2004-08-24 2006-03-09 Hitachi Ltd ネットワーク接続制御システム
CN101151842A (zh) * 2005-02-11 2008-03-26 诺基亚公司 实现终端点对防火墙特征的协商的方法、装置和计算机程序产品
US8949986B2 (en) * 2006-12-29 2015-02-03 Intel Corporation Network security elements using endpoint resources
EP2037652A3 (en) * 2007-06-19 2009-05-27 Panasonic Corporation Methods and apparatuses for detecting whether user equipment resides in a trusted or a non-trusted access network
WO2009043661A1 (en) * 2007-10-04 2009-04-09 International Business Machines Corporation Authentication method and system
JP2009163676A (ja) * 2008-01-10 2009-07-23 Nec Corp 構成証明機器接続システム、検証端末、構成証明機器接続方法、及びプログラム
US8589541B2 (en) * 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8850043B2 (en) 2009-04-10 2014-09-30 Raytheon Company Network security using trust validation
JP2011145768A (ja) * 2010-01-12 2011-07-28 Renesas Electronics Corp 認証システム、認証方法、及び認証プログラム
US8677115B2 (en) * 2010-12-09 2014-03-18 Red Hat, Inc. Methods for verifying system integrity
JP5689333B2 (ja) 2011-02-15 2015-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体
JP5821393B2 (ja) * 2011-08-15 2015-11-24 日本電気株式会社 情報処理装置、起動方法、プログラム
US8984641B2 (en) 2012-10-10 2015-03-17 Honeywell International Inc. Field device having tamper attempt reporting
US9405900B2 (en) 2013-03-13 2016-08-02 General Electric Company Intelligent cyberphysical intrusion detection and prevention systems and methods for industrial control systems
CN105247533B (zh) * 2013-05-20 2017-12-12 日本电信电话株式会社 信息处理装置和确定方法
JP6310914B2 (ja) * 2013-07-16 2018-04-11 Mame・Design株式会社 バックアップ制御装置及びバックアップ制御方法
US20150052616A1 (en) * 2013-08-14 2015-02-19 L-3 Communications Corporation Protected mode for securing computing devices
US10146657B2 (en) * 2014-03-26 2018-12-04 Intel Corporation Initialization trace of a computing device

Also Published As

Publication number Publication date
US20160359866A1 (en) 2016-12-08
GB2541085A (en) 2017-02-08
JP2017004521A (ja) 2017-01-05
CN106249704A (zh) 2016-12-21
GB2541085B (en) 2021-09-15
GB201609826D0 (en) 2016-07-20
JP6973844B2 (ja) 2021-12-01
US10051059B2 (en) 2018-08-14
DE102016110414A1 (de) 2016-12-08

Similar Documents

Publication Publication Date Title
CN106249704B (zh) 基于完整性控制工业企业系统中端点的通信的方法和装置
US10749692B2 (en) Automated certificate enrollment for devices in industrial control systems or other systems
JP6788752B2 (ja) 機器の安全なプロビジョニングと管理
US8707032B2 (en) System and method for securing controllers
JP5782914B2 (ja) デバイスインテグリティの認証のための方法及びシステム
US10587421B2 (en) Techniques for genuine device assurance by establishing identity and trust using certificates
US9560523B2 (en) Mobile device authentication
CN104573516A (zh) 一种基于安全芯片的工控系统可信环境管控方法和平台
US8726372B2 (en) Systems and methods for securing controllers
US20040059917A1 (en) System and method for authentication and fail-safe transmission of safety messages
US10911432B2 (en) Use of certificates using a positive list
US9965625B2 (en) Control system and authentication device
JP2016505183A (ja) 核技術設備における制御および調節ユニットのシステム状態の不正操作を識別する装置および方法
US20220353063A1 (en) Method for validating or verifying a field device
CN109120642B (zh) 一种山寨设备的检测、验证方法、装置及系统
CN105763518A (zh) 一种基于b/s架构的远程数据加密方法
EP3916599A1 (en) Method for protecting software modules on edge devices and edge device
KR20090009416A (ko) 홈네트워크에서 홈기기 침입탐지 방법
US20220147615A1 (en) Data processing device, data processing method, and program
Khatik et al. Functional Verification and Validation of Secure Controller Area Network (CAN) Communication
Prudnikova Standardized security assessment framework for ICS devices and pilot project
JP2020161048A (ja) コントローラシステム

Legal Events

Date Code Title Description
C06 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