具有数据完整性管理的工业单向通信设备的时间戳记的制作方法

文档序号:32752729发布日期:2022-12-31 01:50阅读:28来源:国知局
具有数据完整性管理的工业单向通信设备的时间戳记的制作方法
具有数据完整性管理的工业单向通信设备的时间戳记


背景技术:

1.对私人计算机网络的网络攻击长期以来一直处于使用信息技术进行检测和保护工作的最前沿。然而,在此认识到,网络攻击者入侵诸如支持关键基础设施的自动化和控制系统的工业系统的威胁正在引起注意。由于诸如生产系统的垂直集成和价值链的水平集成等方面,工业控制系统(ics)网络常常直接或间接地连接到it网络(办公室网络)和因特网,从而为网络攻击者提供了穿透这种环境并利用任何现有弱点的机会。在此进一步认识到,ot(操作技术)系统,例如可编程逻辑控制器(plc)、分布式控制系统(dcs)、运动控制器、监控和数据采集(scada)服务器、以及人机接口(hmi),在部署安全措施时提供了许多额外的挑战。
2.此外,攻击方法已经从由好奇的黑客执行的简单方法发展到由高度有动机的顶级专家仔细设计的高级持续性威胁(apt),有时具有由国家赞助的扩展资源。在某些情况下,检测这种目标攻击和其它一般攻击活动可能需要采用安全监控技术,包括基于签名的入侵检测,基于行为的异常检测,端点检测和响应(edr)等。此外,在一些情况下,在企业信息技术(it)系统内采用的基于网络或主机的安全检测机制不转化为工业控制系统,例如,因为一些工业系统需要最小化系统中断风险的非侵入性方法。另外,ot系统通常包括大量的传统设备,这些传统设备容易支持新的嵌入式系统,例如,执行由端口扫描和漏洞枚举工具采用的侵入式和系统剖析的系统。
3.在此还认识到,当前的防止对工业系统的入侵的方法缺乏特别是例如与信息保证和完整性验证相关的能力。例如,在信息系统能够限定高度关键或任务关键的信息系统的情况下,这些缺点能够是特别有害的。


技术实现要素:

4.本发明的实施例通过提供增强工业控制系统中的安全能力的方法、系统和装置来解决和克服本文所述的一个或多个缺点。例如,数据采集装置能够被配置用于作为私人网络和公共网络之间的单向通信连接来操作。数据采集装置还能够被配置用于时间戳记和加密来自私人网络的数据,以便确保单向通信连接上的数据完整性。例如,数据采集装置能够将数字签名的时间戳应用于数据。
5.在一个示例性方面中,一种数据采集装置包括发送机器、接收机器以及发送机器和接收机器之间的监视装置。接收机器能够包括:耦合到私人网络的一个或多个设备的单向网络接口;耦合到导线的输入端;以及耦合到导线的输出端。发送机器能够被配置用于从私人或操作网络的一个或多个设备收集数据。数据采集装置还能够包括监视装置,该监视装置包括耦合到发送机器的输出端和输入端的导线,以便限定回路。监视装置还能够包括感应耦合到回路的拦截器,以便限定单向通信连接。接收机器能够耦合到拦截器和私人网络。接收机器能够被配置用于在由监视装置限定的从发送机器到接收机器的单向通信连接上从发送机器接收数据。发送机器还能够包括时间戳记模块,其被配置用于将时间戳(例如,数字签名的时间戳)应用于发送到接收机器的数据。接收机器能够使用数字签名的时间
戳来验证它接收的数据的完整性。此外,接收机器能够将已验证的数据发送到公共网络内的系统,例如用于分析。
附图说明
6.当结合附图阅读时,从下面的详细描述中能够最好地理解本发明的上述和其它方面。为了说明本发明,在附图中示出了目前优选的实施例,然而,应当理解,本发明不限于所公开的特定手段。附图中包括下列附图:
7.图1示出了部署在示例性工业控制系统(ics)内的数据采集单元(dcu)装置的框图。
8.图2示出了根据示例性实施例的dcu的另一框图。
9.图3示出了根据示例性实施例的能够由计算系统和ics内的其它节点,进而由ics本身执行的流程图。
10.图4示出了其中能够实现本发明的实施例的计算环境。
具体实施方式
11.首先参考图1,示例性分布式控制系统(dcs)或工业控制系统(ics)100包括办公室或公司it网络102以及经由数据控制装置或数据控制单元(dcu)106通信地耦合到it网络102的操作技术(ot)或生产网络104。it网络102能够限定具有比ot网络104更低的安全性要求的办公室或公共网络,ot网络104能够限定私人或关键生产网络。dcu106能够被配置成作为私人网络和公共网络之间的单向通信连接来操作。dcu106能够经由从ot网络104到dcu 106的通信链路112收集在ot网络104上共享的网络流量数据。具体地,例如,ot网络104能够包括被配置成一起工作以执行一个或多个制造操作的各种生产机器。生产网络104的示例性生产机器能够包括但不限于机器人和其他现场设备,例如传感器、致动器或其他机器,其能够由相应的可编程逻辑控制器(plc)108控制。plc108能够向各个现场设备发送指令。在一些情况下,给定的plc 108能够被耦合,或者ot网络104能够另外包括人机接口(hmi)110。应该理解的是,ics 100是为了示例性目的被简化。即,ics100能够包括限定备选配置的附加或备选节点或系统,例如其他网络设备,并且所有这些配置都被认为在本发明的范围内。
12.在一些情况下,通信链路112被配置用于从ot网络104接收数据,但不向生产网络104发送数据,使得通信链路112限定从ot网络104到dcu 106的单向通信链路。由dcu 106收集的网络包能够由在it网络102上执行的网络安全功能使用。所收集的网络包能够从dcu 106发送到it网络102,特别是发送到it网络102内的系统,例如但不限于入侵检测系统(ids)114,安全信息和事件管理(siem)系统116以及取证分析系统118。作为实例,所收集的数据包能够被提供给it网络102用于验证,例如安全规则等所要求的验证。这种验证能够涉及通信级的数据包。例如,能够验证数据包的发送机或接收机,或者能够验证与在ics 100的ot网络104内发送的各种命令或设置相关联的定时。在某些情况下,如果不保证所收集的数据的完整性,则在it网络102内执行的验证和其它安全功能不能正确地执行。例如,如果从ot网络104收集的数据被破坏,则收集的数据可能不表示ot网络104内的网络流量的真实情况,被破坏的数据不能反映网络流量的真实情况。因此,这里认识到dcu 106内的数据完整性对于由it网络102提供的安全功能以及其它功能是重要的。
13.继续参考图1,dcu 106能够包括例如经由交换机122连接到ot网络104的以太网端口120。以太网端口120能够限定被配置用于接收原始数据包而不能够发送出数据包的单向接口。dcu 106还能够包括能够例如经由交换机128与it网络102通信的多向接口或端口124。具体地,多向接口124能够向ids 114、siem系统116和取证分析系统118发送数据和从ids 114、siem系统116和取证分析系统118接收数据。在一些情况下,例如,多向端口124暴露于it网络102,使得ids 114、siem系统116和取证分析系统118能够访问由dcu 106收集的包,以便记录包和/或对所记录的包执行数据包分析。因此,在此认识到,静止和运动中的包的完整性对于与dcu 106相关的各种功能能够是关键的。
14.作为实例,如果所收集的数据的完整性未被验证,则黑客能够在dcu106上操纵(例如,改变、删除、创建)所收集的数据。例如,黑客能够通过it网络102经由多向端口124访问dcu 106,以便操纵dcu 106上的数据。作为另一实例,黑客能够通过在dcu 106与it网络102之间的通信链路126上发送虚假数据来劫持dcu 106与其他设备(例如日志服务器或ids 114)之间的通信会话,以便执行中间人(mitm)网络攻击。
15.在一些情况下,工业控制系统包括数据采集装置,该数据采集装置仅能够通过提供用于配置的http链路来经由tcp流将收集的数据包发送到it网络,如在此所认识到的,该配置可能对于网络攻击是不安全的。例如,黑客能够使用连接到it网络的计算设备来直接或间接地访问dcu,操纵dcu内收集的数据,和/或劫持dcu和诸如ids或siem系统的其它设备之间的通信链路。然而,根据在此描述的各种实施例,能够验证在it网络102内用于分析的数据,以便确保没有对数据进行篡改。
16.还参考图2,示例性ics 200能够包括dcu 106。根据示例性实施例,dcu 106能够包括第一或发送机器202和被配置用于从发送机器202接收数据的第二或接收机器204。dcu 106还能够包括耦合到发送机器202和私人ot网络104的单向网络接口206,使得发送机器202能够经由单向网络接口206从私人ot 104接收数据。在一个实例中,单向网络接口206包括以太网端口120。发送机器202能够包括单向网络接口206,其能够耦合到私人网络(例如ot网络104)的一个或多个设备。dcu 106的多向端口124能够耦合到接收机器204和it网络102,使得接收机器204能够向it网络102发送数据或从it网络102接收数据。在一些实例中,单向网络接口206仅允许从ot网络104接收数据而不向ot网络104发送数据,从而仅允许从ot网络104到公共it网络102的单向通信。ot或生产网络104能够限定关键或私人网络,例如用于工业自动化的网络、金融网络、用于铁路自动化和控制的网络、生命关键系统等。在一些情况下,ot网络104从位于it网络102中的服务提供商获得监视和评估服务,it网络102可限定不安全公共网络,例如能够提供与安全或诊断有关的密集数据分析的基于因特网或基于云的服务。dcu 106能够以被动方式监听单向网络接口206,特别是以太网端口120,例如通过执行监听操作,使得主动请求不被发送到ot网络104内的设备。
17.dcu还能够包括监视装置208,其被配置用于将数据从发送机器202传送到接收机器204,而不允许将数据从接收机器204传送到发送机器202。在一些实例中,监视装置208能够限定数据复制器或网络抽头,以便在不将发送机器202和接收机器204硬连线在一起的情况下提供从发送机器202到接收机器204的单向数据传输。在一个实例中,监视装置208能够包括布置在回路中的导线210,使得导线210连接到由发送机器202限定的输出端212,以及由发送机器202限定的输入端214。因此,监视装置208能够包括耦合到输入端214和输出端
212的导线210,以便限定回路。数据能够由发送机器202在输出端212沿着导线210传输,并在输入端返回到发送机器202。发送机器202的输入端214和输出端212能够与单向网络接口206隔离。在一个实例中,监视装置208,特别是导线210,能够限定电感器,以便在没有导线或电缆连接在发送机器202和接收机器204之间的情况下将数据从发送机器202传送到接收机器204。例如,监视装置208还能够包括连接到接收机器204的拦截器216。拦截器216能够感应地耦合到回路,以便限定发送机器202和接收机器204之间的单向通信连接,从而限定ot网络104和it网络102之间的单向通信连接。在一些实例中,拦截器216能够限定导线,使得导线和限定回路的导线210能够彼此感应耦合。
18.在各种实例中,接收机器204能够耦合到拦截器216和私人ot网络104,以便被配置用于在由监视装置限定的从发送机器到接收机器的单向通信连接上从发送机器202接收数据。因此,在一个例子中,数据流能够从输出端212通过导线210通过回路到达输入端214。这样的数据流能够由拦截器216感应地复制,并且经由拦截器216(例如导线)和接收机器204之间的连接传递到接收机器204。通过回路的原始数据流能够从输出端212到输入端214保持不变。因此,监视装置208能够限定将发送机器202连接到接收机器204的电感配置,从而将ot网络104连接到it网络102。特别地,监视装置208能够限定ot网络104和it网络102之间的物理上分离的连接。在某些情况下,由于监视装置208的电感配置,只有来自限定回路的导线210的复制数据能够单向传送到接收机器204。即,在各种实例中,数据不能从拦截器216流到限定回路的导线210,从而为ot网络104提供相对于it网络102的无干扰。在一个实例中,拦截器216用作网络测试接入点(tap),其拦截由发送机器202限定的输出端212和输入端214之间的传输,并将该数据复制到接收机器204的监视器端口。在另一实例中,拦截器216能够被实现为交换端口分析器(span),其对限定回路的导线210上的被拦截的传输执行端口镜像。
19.仍然参考图2,发送机器202还能够包括引导加载程序218和固件220,其能够包括用于发送机器202并因此用于dcu 106的操作指令。类似地,接收机器204还能够包括引导加载程序222和固件224,其能够包括接收机器204的操作指令,从而包括dcu 106的操作指令。dcu 106还能够包括一个或多个数据库。例如,发送机器202能够包括发送机数据库226,接收机器204能够包括接收机数据库228。在一个例子中,从发送机器202复制的数据能够被缓存在接收机数据库228中。类似地,由发送机器202从ot网络104接收的数据能够被缓存在例如发送机数据库226中,使得数据能够以规则的间隔、预定的时间等经由监视装置208的导线210被发送。
20.在各种实例中,dcu 106能够包括一个或多个处理器,这些处理器能够包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)或本领域已知的任何其他处理器。更一般地,这里描述的处理器是用于执行存储在计算机可读介质上的机器可读指令的设备,用于执行任务,并且能够包括硬件和固件中的任何一个或其组合。在实例方面,接收机器204中部署的任何软件和固件能够由接收机器204的处理器执行。在一个方面,在发送机器202中部署的任何软件和固件能够由发送机器202的处理器执行,以便维持公共it网络102和私人ot网络104之间的物理隔离,并且确保单向通信。dcu 106的处理器还能够包括存储可执行用于执行任务的机器可读指令的存储器。dcu 106的处理器能够使用或包括例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行不由通用计算机执行的专用功能。
dcu 106能够包括一个或多个处理器,这些处理器包括任何类型的合适的处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(risc)微处理器、复杂指令集计算机(cisc)微处理器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)、片上系统(soc)、数字信号处理器(dsp)等。此外,dcu 106的处理器能够具有任何合适的微体系结构设计,其包括任何数量的组成部件,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓冲存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计能够支持各种指令集中的任何指令集。
21.继续参考图2,接收机器204能够包括各种应用或模块,诸如用于支持与ot网络104相关的安全监控和诊断的嵌入式网络安全应用。例如,发送机器202能够包括收发机模块232,其被配置用于向诸如gprs、lte或5g网络的各种网络中的设备发送和接收数据。附加地或替代地,接收机器204能够包括数据管理应用230,该数据管理应用230能够配置有给定的数据处理策略,并且能够根据该数据处理策略来处理数据。在一个实例中,数据管理应用230能够从接收机数据库228中读取和/或删除数据。在一些情况下,数据管理应用230可计算散列并验证它计算与发送机器202相同的散列。此外,数据管理应用230能够根据策略过滤和/或压缩数据。此外,数据管理应用230能够将复制的数据从发送机器202发送到it网络102,具体地,例如发送到ids 114、siem系统116或取证分析系统118。复制的数据能够通过收发机模块232或多向端口124发送。在一些情况下,在接收机器204中接收的数据能够通过推送机制被发送到it网络102内的系统,例如通过如在发布-订阅方法中传递数据。附加地或替代地,数据能够被缓存在接收机数据库228中,并且能够由it网络102内的系统通过拉回机制来传送。例如,系统能够例如经由多向端口124主动地从接收机数据库228或接收机器204请求数据。
22.发送机器202还能够包括根据各种实施例的各种应用或模块。在一些实例中,发送机器202能够包括数据处理应用234,其被配置用于从单向网络接口206的数据采集端口(例如以太网端口120)接收数据。在一些情况下,数据处理应用234能够被配置用于根据策略来过滤数据。在一些实例中,这样的策略或配置能够由数据处理应用234从发送机数据库226获得。发送机器202还能够包括时间戳记模块236,其被配置用于使用时间戳来为dcu 106提供数据处理应用数据完整性服务,如这里进一步描述的。在实例配置中,234与时间戳记模块236分离,使得数据处理应用234可在不中断时间戳记模块236的情况应用程序下被更新或缩放。在一个实例中,时间戳记模块236能够包括散列238、时钟源240和硬件安全模块242,并且因此发送机器202能够包括散列应用238、时钟源240和硬件安全模块242。时钟源240能够限定低层时钟源、高精度时钟等。因此,在一些情况下,发送机器202内的应用和模块能够对ics 100(和dcu106)的可信侧执行操作,而接收机器204内的应用和模块能够对ics 100(和dcu 106)的不可信侧执行操作。此外,发送机器202能够确保数据完整性并且能够被保护,使得它不能由用户配置或操作,并且接收机器204能够由用户管理以用于数据管理。
23.在一些实例中,发送机器202和接收机器204各自限定了应用层,在该应用层上能够部署相应的模块化应用。这样的配置能够允许应用程序的即时添加和移除。模块化应用能够从应用市场分发和部署,其中,设备操作员能够酌情选择应用,并经由作为dcu 106的一部分提供的管理工具自动安装或移除它们。模块化应用能够允许通过在应用之间划分功
能来控制正在运行的应用的性能开销。在一些情况下,dcu 106可容易地重新配置,而不必重构或修改安全ot网络104的体系结构。另外,通过允许部署对于任何一个厂商或制造商(包括原始设备制造商(oem))不是专用的应用或库,模块化应用的部署是灵活的。这种灵活性允许利用最新部署的新的基于软件的技术来维护ot网络104的保护,所述新的基于软件的技术包括分析能力,当它们变得可用时,或者在一个特定应用被揭示为具有新发现的漏洞的情况下,所述新发现的漏洞需要来自不同厂商的应用的补丁或替换。应用层的一个或多个安全和处理应用能够通过在发现异常数据包时警告ot网络104的运营商来提供成本有效的、分散的采集数据的分析和预警能力。
24.继续参考图2,根据示例性实施例,为了确保对在it网络102或不可信侧上使用或分析的数据不执行篡改,维护数据创建的日期或时间。例如,发送到接收机器204的数据能够由时间戳记模块236以可信的方式进行时间戳记。这样的可信时间戳记能够使得能够在给定时间点验证某些信息的存在。此外,这种验证能够防止数据的修改,从而确保数据的完整性。在一个实例中,发送机器202为其数字内容生成防篡改时间戳,然后接收机器204能够通过验证它从发送机器202接收的数据的时间戳来信任该内容。具体地,作为实例,发送机器202,例如时间戳记模块236,能够执行ietf pki时间戳记协议(tsp),以生成与发送机器202发送给接收机器204的数据相关联的数字签名的链接号码。
25.此外,如本文所述,dcu 106的体系结构和结构可防止在收集和处理数据时将来自ot网络104的数据暴露给其它源。对所收集的数据执行的操作(例如,发送、删除等)能够记录在dcu 106内。也能够记录dcu 106的配置。作为实例,dcu 106能够驻留在机柜或路边,并且能够通过记录从与dcu 106相关联的hmi接收的命令或设置来记录操作。这种流量(例如,命令、设置)能够用时间戳(例如,根据ietf pki tsp)进行数字签名,同时防止网络和流量暴露于未授权的网络或设备。
26.在各种实例中,dcu 106能够通过以无源方式监听其单向网络接口206的数据采集端口(例如以太网端口120)来收集数据。所收集的数据能够被发送到数据处理应用234。例如,能够通过从发送机数据库226获得配置数据来配置数据处理应用234。在一个实例中,数据处理应用234能够基于该配置来过滤所收集的数据。举例来说,配置数据可指示应记录哪些包,应记录包的时间等。作为又一实例,从发送机数据库226获得的配置数据能够通知数据处理应用234要实现的协议。例如,除了其它要求之外,该协议能够指示哪些数据被加上时间戳。因此,dcu 106可基于配置或协议执行时间戳记。数据处理应用234还能够压缩时间戳记模块236的数据。在一些情况下,数据处理应用234能够在将数据存储在发送机数据库226中之前过滤和压缩所收集的数据。当经由多向端口124向it网络102内的系统发送数据时,这种过滤和压缩还能够节省带宽使用。在一些实例中,it网络102的系统(例如ids 114、siem系统116或取证分析系统118)能够恢复压缩数据。附加地或替代地,数据处理应用能够包括被配置用于在应用层读取收集的数据包的深度包检查引擎。深度包检查引擎还能够被配置用于确定哪些包应当在完整性方面受到保护,以便节省dcu 106的计算能力。
27.例如,在一些情况下,dcu 106能够配置有与待加密和待加时间戳的包相关联的特定协议剖析器。在这种配置期间,dcu 106的用户接口能够指示用于浏览样本包的分解包结构。在一个例子中,过滤器,例如wireshark过滤器,能够应用于待保护的包的部分,例如通过数字签名的时间戳。因此,当dcu 106确定或所收集的数据包的部分被dcu 106确定为机
密时,数据处理应用234能够对这些数据包或这些数据包的部分进行加密。在一些情况下,由发送机器202收集的数据包在被存储在发送机数据库206中之前被加密。因此,如果接收到未加密的敏感流量,则dcu 106可将这种敏感或机密数据存储为加密数据而不是明文。在各种实例中,数据处理应用234选择将哪个数据发送到时间戳记模块236。因此,在某些情况下,数据处理应用234能够选择对哪个数据加时间戳和/或进行散列。
28.时间戳记模块236能够执行tsp以及其它技术,以便将时间戳(例如数字加密的时间戳)应用于数据。时间戳记模块236可经配置以接收从单向网络接口206收集的数据的至少一部分。散列应用238以及时间戳记模块236能够被配置用于计算消息摘要或散列,例如第一散列值,其表示从单向网络接口206收集的数据部分。在一些情况下,仅针对最有意义的数据生成散列,这能够由过滤器(例如wireshark过滤器)来确定,该过滤器能够应用于所收集的数据以便选择被散列的数据部分。散列值或散列可由散列应用238生成的数据的实例包括但不限于mac源/目的地地址、ip源/目的地地址、时间戳、协议、包大小或包数据单元(pdu)。在另一实例中,时间戳记模块236为数据包的有效载荷而不是整个原始数据包生成消息摘要,例如散列值。在又一实例中,时间戳记模块236能够为通过导线210发送到接收机器204的所有数据生成消息摘要,例如散列。能够理解,例如通过数据处理应用234,能够根据需要选择用于散列的替换数据。数据的散列能够保证与散列相关联的数据的完整性。
29.时间戳记模块236能够使用时钟源240来将时间戳应用于散列数据或散列值,例如第一散列值。因此,在一些情况下,时间戳记模块236为通过导线210传输到接收机器204的所有数据生成时间戳。在其它实例中,选择特定数据用于时间戳记,例如有效负载数据,但将了解,可根据需要选择数据用于时间戳记,例如由数据处理应用234。替代地或附加地,接收机器204能够包括时间戳记模块,该时间戳记模块被配置用于对从发送机器202接收的数据进行时间戳记。因此,接收机器204还能够包括时钟,例如低层时钟源或高精度时钟,例如时钟源240。
30.散列应用238以及时间戳记模块236能够被配置用于计算或运算表示散列数据(例如,第一散列值)和时间戳的散列,例如第二散列值,以便生成散列时间戳记数据。在一些实例中,散列时间戳记数据能够被发送到硬件安全模块242,其中,硬件安全模块242能够例如利用dcu 106的数字证书对数据进行签名,以便生成已签名的散列时间戳记数据或签名的散列时间戳记数据。在一些实例中,硬件安全模块242能够计算数据的加密散列函数。能够包括时间戳和收集的数据的散列的签名数据能够通过在导线210上传送数据而被写入接收机数据库228。此外,能够在任何时间或特定时间将数据发送到接收机器204,所述数据能够包括时间戳的签名散列以及由发送机器202收集的数据的全部或一部分。例如,能够在一天的特定时间发送签名的散列,并且接收机器204能够被配置用于在这些特定时间监听发送机器202。作为发送机器202和接收机器204的隔离和单向特性的结果,如这里所述,在各种配置中,接收机器204不能从发送机器202请求数据。因此,在各种实例中,接收机器204被配置用于在预定或特定时间监听发送机器202。作为另一实例,发送机器202能够在特定时隙期间广播其数据,并且接收机器204能够被配置用于在这些时隙期间进行监听。
31.数据管理应用230能够根据数据处理策略从接收机数据库228读取数据、删除数据和处理数据。例如,数据管理应用230能够过滤、调整数据的大小或压缩数据,以便处理来自接收机数据库228的数据。具体地,在一些实例中,数据管理应用230能够例如使用公钥基础
设施(pki)来验证来自发送机器202的签名或证书。数据管理应用230以及接收机器204能够计算散列,并验证它计算与发送机器202相同的散列。在一个实例中,接收机器204能够从发送机器202接收加密的散列,并且利用相应密钥对的公钥来解密该加密的散列。在对散列进行解密之后,能够计算接收到的消息或数据的散列(其能够被保存,其能够在任何时间被检索),并将其与相应的解密散列进行比较。如果散列不匹配,则接收机器204以及dcu106能够确定数据可能已经被篡改或以其他方式改变。如果散列匹配,则dcu 106,特别是接收机器204,能够验证数据的完整性。
32.此外,数据管理应用230能够将其读取和/或处理的数据发送到收发机模块232或多向端口124,以传输到所需目的地。在一些实例中,数据管理应用230将其执行的操作以及dcu 106执行的操作记录在发送机数据库226中。此外,在一些实例中,安全专业人员能够经由数据管理应用230和/或发送机数据库226来配置dcu 106。例如,安全专业人员能够对由数据管理应用230记录的数据执行操作(例如,读取、删除等),并且能够管理安全参数,诸如公钥基础设施(pki)、数字证书和加密密钥。
33.现在参考图3,示例性操作300能够由dcu 106执行,dcu 106包括发送机器202和与发送机器202物理隔离的接收机器204。监视装置208能够设置在发送机器202和接收机器204之间,并且dcu 106能够设置在私人网络和公共网络之间。因此,监视装置208能够设置在私人网络和公共网络之间。在302,发送机器202能够从私人网络的一个或多个设备收集数据。在一些情况下,数据处理应用234监听单向网络接口206以从私人网络收集数据。在304,发送机器202能够选择所收集的数据的一部分以传输到接收机器204。在一个实例中,所收集的数据中被选择的部分包括从私人网络收集的所有数据。在另一实例中,所收集的数据中被选择的部分基于与从单向网络接口206收集的数据相关联的参数。参数可指示数据的各种属性,例如数据的特定部分是否为有效负载的一部分,与数据相关联的协议、数据源、数据的目的地或与数据相关联的类型或分类。
34.仍然参考图3,在306,发送机器202能够生成与所收集的数据中被选择的部分相关联的时间戳。在一些情况下,能够将时间戳应用于所选数据的散列值,例如第一散列值。在一些实例中,由第一散列值和时间戳生成散列值,例如第二散列值。在308,发送机器202能够生成一个或多个散列。在310,发送机器202能够沿着由监视装置208限定的导线210发送时间戳和所收集的数据的部分,例如作为散列,以便通过发送机器202和接收机器204之间的单向通信连接将所收集的数据的部分和时间戳传输到接收机器204。接收机器204还能够计算一个或多个散列以验证来自发送机器202的数据的完整性。在某些情况下,发送机器202在一个或多个特定时间沿着导线210从输出端212向输入端214发送数据,以便在一个或多个特定时间向接收机器204发送数据。接收机器204能够在一个或多个特定时间监听监视装置208,以便从发送机器202接收数据。接收机器204能够解密从发送机器202接收的散列,并且能够根据它从发送机器202接收的数据计算相应的散列,以便验证数据的完整性。此外,在312,接收机器204能够将所收集的数据的部分发送到公共网络内的一个或多个系统。
35.在各个实例中,再次参考图1和图2,dcu 106配置有保护特征,使得接收机器204、发送机器202和监视装置208能够在物理上恶劣的环境中操作,例如制造、发电、移动性或其它工业环境。例如,dcu 106可包括可防止来自工业过程的电磁干扰的保护外壳。dcu 106还能够限定或由弹性安装件支撑,该弹性安装件能够防止由于振动引起的异常操作。此外,
dcu 106能够限定各种热管理特征,例如但不限于散热器、风扇、胶粘剂等,其能够防止在热恶劣环境中过热。因此,dcu 106能够提供自含式、工业级、单一设备解决方案,用于在不受干扰的受保护的网络中的数据完整性验证或入侵检测,并且能够避免通过非安全入侵检测系统进行直接连接的数据收集。此外,与涉及将应用程序组安装到监视设备上的解决方案不同,dcu 106能够实现可重新配置的模块化应用功能。
36.作为示例性而非限制,能够理解,dcu 106能够部署在各种替代工业控制系统中,dcu 106能够用在交通执法系统中。特别地,包括嵌入式时间戳记和数字签名/证书能力的dcu 106能够连接到一个或多个被配置用于监视行人或汽车交通的相机。一个或多个相机能够耦合到单向网络接口206。因此,由一个或多个相机收集的数据(例如,图像)能够由发送机器202进行数字时间戳记和签名,并被发送到接收机器204。在一个例子中,接收机器204能够将它从发送机器202接收的数据存储在例如接收机数据库228中。附加地或替代地,接收机器204能够例如使用lte或类似技术通过收发机模块232将数据发送到评估系统,例如发送到流量实施和控制办公室或系统。
37.如上所述,并且不受理论的约束,dcu 106能够根据这里的描述来配置,以便防止黑客操纵ot数据或发送伪数据以替换收集的ot数据,或者防止黑客以其他方式劫持通信会话。因此,dcu 106能够限定it环境(例如it网络102)与ot环境(例如生产网络104)之间的桥,特别是安全链路。此外,如这里所描述的,dcu 106能够限定自含式数据存储能力,并且能够处理和压缩所收集的数据,节省用于通过it网络发送数据的带宽。使用时间戳记和安全措施,例如pki数字证书,dcu 106能够保证数据的完整性。例如,dcu 106可被配置成自动地数字签署所收集的数据流量以用于取证分析以及其它分析。dcu 106可被配置成验证来自dcu106内部和外部的数字证书和签名。例如,接收机器204能够验证从发送机器202接收的数字证书和签名。相关地,dcu 106能够在dcu 106内生成和管理证书。因此,如在此进一步描述的,dcu 106能够限定实现单向通信和流量采集同时提供基于时间戳的pki能力的设备。此外,dcu 106能够将其配置和操作记录在dcu 106内的收集的数据上。
38.图4示出了其中能够实现本发明的实施例的计算环境的实例。计算环境400包括计算机系统510,其可包括诸如系统总线521等通信机制或用于在计算机系统510内传送信息的其它通信机制。计算机系统510还包括与系统总线521耦合的用于处理信息的一个或多个处理器520。机器人设备104能够包括或耦合到一个或多个处理器520。
39.处理器520能够包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)或本领域已知的任何其他处理器。更一般地,这里描述的处理器是用于执行存储在计算机可读介质上的机器可读指令的设备,用于执行任务,并且能够包括硬件和固件中的任何一个或其组合。处理器还能够包括存储可执行用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传输由可执行程序或信息设备使用的信息和/或通过将信息路由到输出设备来对信息起作用。处理器能够使用或包括例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行不由通用计算机执行的专用功能。处理器能够包括任何类型的适当处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(risc)微处理器、复杂指令集计算机(cisc)微处理器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)、片上系统(soc)、数字信号处理器(dsp)等。此外,处理器520能够具有任何合适的微体系结构设计,其包括任何数量的构成部件,例如寄存器、多路复用器、算
术逻辑单元、用于控制对高速缓冲存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计能够支持多种指令集中的任何指令集。处理器能够与能够在其间进行交互和/或通信的任何其它处理器耦合(电耦合和/或包括可执行部件)。用户接口处理器或发生器是已知的元件,包括用于产生显示图像或其部分的电子电路或软件或两者的组合。用户接口包括使用户能够与处理器或其它设备交互的一个或多个显示图像。
40.系统总线521能够包括系统总线、存储器总线、地址总线或消息总线中的至少一个,并且能够允许在计算机系统510的各种部件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线521能够包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线521能够与任何合适的总线体系结构相关联,包括但不限于工业标准体系结构(isa)、微通道体系结构(mca)、增强型isa(eisa)、视频电子标准协会(vesa)体系结构、加速图形端口(agp)体系结构、外围部件互连(pci)体系结构、pci-express体系结构、个人计算机存储器卡国际协会(pcmcia)体系结构、通用串行总线(usb)体系结构等。
41.继续参考图4,计算机系统510还能够包括耦合到系统总线521的系统存储器530,用于存储信息和要由处理器520执行的指令。系统存储器530能够包括易失性和/或非易失性存储器形式的计算机可读存储介质,例如只读存储器(rom)531和/或随机存取存储器(ram)532。ram 532能够包括其它动态存储设备(例如,动态ram、静态ram和同步dram)。rom 531能够包括其它静态存储设备(例如,可编程rom、可擦除prom和电可擦除prom)。另外,系统存储器530可用于在处理器520执行指令期间存储临时变量或其它中间信息。rom 531中可存储基本输入/输出系统533(bios),该系统包含有助于在计算机系统510内的元件之间传输信息的基本例程,例如在启动期间。ram 532可包含可由处理器520立即访问和/或当前正由处理器520操作的数据和/或程序模块。系统存储器530还能够包括例如操作系统534、应用程序535和其它程序模块536。应用程序535还能够包括用于开发应用程序的用户门户,允许输入参数并在必要时进行修改。
42.操作系统534能够被加载到存储器530中,并且能够提供在计算机系统510上执行的其他应用软件与计算机系统510的硬件资源之间的接口。更具体地,操作系统534可包括一组计算机可执行指令,用于管理计算机系统510的硬件资源并向其它应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)。在某些示例性实施例中,操作系统534能够控制被描绘为存储在数据存储库540中的一个或多个程序模块的执行。操作系统534可包括现在已知或将来可开发的任何操作系统,包括但不限于任何服务器操作系统,任何主机操作系统或任何其它专有或非专有操作系统。
43.计算机系统510还能够包括耦合到系统总线521以控制用于存储信息和指令的一个或多个存储设备的磁盘/介质控制器543,诸如磁硬盘541和/或可移动介质驱动器542(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。能够使用适当的设备接口(例如,小型计算机系统接口(scsi)、集成设备电子设备(ide)、通用串行总线(usb)或火线)将存储设备540添加到计算机系统510。存储设备541,542能够在计算机系统510的外部。
44.计算机系统510还能够包括耦合到系统总线521的现场设备接口565,以控制现场设备566,诸如在生产线中使用的设备。计算机系统510能够包括用户输入接口或gui 561,其能够包括一个或多个输入设备,例如键盘、触摸屏、输入板和/或点击设备,用于与计算机
用户交互并向处理器520提供信息。
45.计算机系统510能够响应于处理器520执行包含在诸如系统存储器530的存储器中的一个或多个指令的一个或多个序列来执行本发明实施例的处理步骤的一部分或全部。这样的指令能够从存储库540的另一计算机可读介质(磁硬盘541或可移动介质驱动器542)读入系统存储器530。磁硬盘541和/或可移动介质驱动器542能够包含本发明的实施例所使用的一个或多个数据存储和数据文件。数据存储库540能够包括但不限于数据库(例如,关系型、面向对象的等)、文件系统、平面文件,其中,数据存储在计算机网络的多于一个节点上的分布式数据存储、对等网络数据存储等。数据存储器能够存储各种类型的数据,例如技能数据、传感器数据或根据本发明的实施例生成的任何其他数据。数据存储内容和数据文件能够被加密以提高安全性。处理器520还能够用在多处理安排中,以执行包含在系统存储器530中的一个或多个指令序列。在替换实施例中,硬连线电路能够代替软件指令或与软件指令结合使用。因此,实施例不限于硬件电路和软件的任何特定组合。
46.如上所述,计算机系统510能够包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施例编程的指令,并且用于包含数据结构、表、记录或这里描述的其它数据。这里使用的术语“计算机可读介质”是指参与向处理器520提供指令以供执行的任何介质。计算机可读介质能够采用许多形式,包括但不限于非瞬态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性实例包括光盘、固态驱动器、磁盘和磁光盘,诸如磁硬盘541或可移动介质驱动器542。易失性介质的非限制性实例包括动态存储器,诸如系统存储器530。传输介质的非限制性实例包括同轴电缆、铜线和光纤,包括构成系统总线521的导线。传输介质也能够采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的声波或光波。
47.用于执行本发明的操作的计算机可读介质指令能够是汇编指令、指令集体系结构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括诸如smalltalk、c++等的面向对象的编程语言,以及诸如“c”编程语言或类似编程语言的常规过程编程语言。计算机可读程序指令能够完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机能够通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路能够通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
48.在此参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合能够由计算机可读介质指令来实现。
49.计算环境400还能够包括使用到诸如远程计算设备580等一个或多个远程计算机的逻辑连接在联网环境中操作的计算机系统510。网络接口570能够实现例如经由网络571与其他远程设备580或系统和/或存储设备541,542的通信。远程计算设备580能够是个人计算机(膝上型计算机或台式计算机)、移动设备、服务器、路由器、网络pc、对等设备或其它公
共网络节点,并且通常包括以上相对于计算机系统510描述的许多或所有元件。当在联网环境中使用时,计算机系统510能够包括调制解调器572,用于在诸如因特网的网络571上建立通信。调制解调器572可经由用户网络接口570或经由另一适当机制连接到系统总线521。
50.网络571能够是本领域中通常已知的任何网络或系统,包括因特网、内联网、局域网(lan)、广域网(wan)、城域网(man)、直接连接或一系列连接、蜂窝电话网络,或能够促进计算机系统510与其它计算机(例如,远程计算设备580)之间的通信的任何其它网络或介质。网络571能够是有线的、无线的或其组合。有线连接能够使用以太网、通用串行总线(usb)、rj-6或本领域公知的任何其它有线连接来实现。无线连接能够使用wi-fi、wimax和蓝牙、红外、蜂窝网络、卫星或本领域公知的任何其它无线连接方法来实现。另外,若干网络可单独工作或彼此通信以促进网络571中的通信。
51.应当理解,在图4中描述为存储在系统存储器530中的程序模块、应用程序、计算机可执行指令、代码等仅仅是说明性的而不是穷举性的,并且描述为由任何特定模块支持的处理能够可替代地分布在多个模块上或者由不同的模块执行。此外,能够提供各种程序模块、脚本、插件、应用编程接口(api),或在计算机系统510、远程设备580上本地托管的和/或在可经由一个或多个网络571访问的其它计算设备上托管的任何其它合适的计算机可执行代码,以支持由图4中描绘的程序模块、应用或计算机可执行代码提供的功能和/或附加或替换功能。此外,功能能够被不同地模块化,使得描述为由图4中描绘的程序模块集合共同支持的处理能够由更少或更多数量的模块来执行,或者描述为由任何特定模块支持的功能能够至少部分地由另一模块来支持。此外,支持这里描述的功能的程序模块可形成可根据诸如客户机-服务器模型、对等模型等任何合适的计算模型在任何数量的系统或设备上执行的一个或多个应用程序的一部分。此外,被描述为由图4中描绘的任何程序模块支持的任何功能能够至少部分地以硬件和/或固件在任何数量的设备上实现。
52.还应当理解,在不脱离本发明的范围的情况下,计算机系统510能够包括所描述或描绘的之外的替代和/或附加硬件、软件或固件部件。更具体地,应当理解,被描绘为形成计算机系统510的一部分的软件、固件或硬件部件仅仅是说明性的,并且在各种实施例中能够不存在某些部件或者能够提供附加部件。虽然已将各种说明性程序模块描绘和描述为存储在系统存储器530中的软件模块,但应了解,描述为由程序模块支持的功能性可由硬件、软件和/或固件的任何组合来启用。应进一步了解,在各种实施例中,上述模块中的每一者可表示所支持功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且能够不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应了解,在各种实施例中,描述为由特定模块提供的功能性可至少部分地由一个或多个其它模块提供。此外,在某些实施例中可不存在一个或多个所描绘的模块,而在其它实施例中,可存在未描绘的额外模块且可支持所述功能性和/或额外功能性的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施例中,此类模块可被提供为独立模块或其他模块的子模块。
53.虽然已经描述了本发明的特定实施例,但是本领域的普通技术人员将认识到,在本发明的范围内存在许多其它修改和替换实施例。例如,关于特定设备或部件描述的任何功能和/或处理能力能够由任何其他设备或部件来执行。此外,虽然已经根据本发明的实施例描述了各种说明性实现和架构,但是本领域普通技术人员将理解,对本文描述的说明性实现和架构的许多其他修改也在本发明的范围内。另外,应了解,本文中描述为基于另一操
作、元件、部件、数据等的任何操作,元件、部件、数据等可另外基于一个或多个其它操作、元件、部件、数据等。因此,短语“基于”或其变体应被解释为“至少部分地基于”。
54.虽然已经用结构特征和/或方法动作专用的语言描述了实施例,但是应当理解,本发明不必限于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现这些实施例的说明性形式而公开的。条件性语言,例如“能”、“能够”、“可”或“可能”等,除非另外具体说明或在所使用的上下文中另外理解,通常旨在传达某些实施例可包括其他实施例不包括的某些特征、元件和/或步骤。因此,此类条件性语言一般不旨在暗示一个或多个实施例以任何方式要求特征、元件和/或步骤,或者一个或多个实施例必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否被包括在任何特定实施例中或要在任何特定实施例中执行的逻辑。
55.图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框都能够表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可替换的实施方式中,方框中指出的功能能够不按附图中指出的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上能够基本上同时执行,或者这些框有时能够以相反的顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合能够由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1