对测试数据组完整性的监视的制作方法

文档序号:14394951阅读:290来源:国知局

本发明涉及用于对数据组的完整性进行监视的一种方法以及一种加密装置和一种计算机程序产品,其中检验测试数据组的样本的完整性。



背景技术:

在自动化系统中或者在物联网中,应对应用或设备进行保护以抵御it攻击。在这种环境下通常对数据通信的等待或延迟有高的要求。在物联网中通常设置有简单的、具有少量计算能力的设备。在此过程中,为了实现足够的保护水平,充分鲁棒地保护每个单独的小系统或每个单独的数据包或每个单独的通信连接以抵御攻击,这在很多应用场景中既不可行也不经济。附加设置的加密保护措施尤其在老设备中或者陌生设备中通常不能以简单的方式得到升级。即使采用集成的安全方案,保护水平通常也不是足够的,因为在自动化系统的环境下,控制软件是可以被操纵的,或者用于保护通信的加密密钥可能泄露。

由公开文件de102010033229a1公开了给控制数据导出完整性检验信息,该完整性检验信息被加密保护地传输和检验。该检验与要传输的控制数据分离地进行。

另外由专利文件de102009039097b3公开了提供一种加密保护的关于值域的数据结构,以另外用于传输不安全的测量值。加密保护的关于值域的数据结构可以用于检验在特定时间段可预测的测量值。



技术实现要素:

在此背景下,本发明的任务是以简单和计算耗费小的方式来保证通过通信连接实时传输的数据组的功能完整性。

该任务通过独立权利要求的主题予以解决。有利的扩展和改进在从属权利要求中予以说明。

本发明涉及一种用于对分布式系统的完整性进行监视的方法,其具有以下步骤:

–根据要通过该分布式系统的通信连接传输的数据组来以采样方式确定测试数据组;

–将该测试数据组加密保护地提供给检验单元,其中该数据组通过该通信连接的传输不受所述确定和提供影响地进行;

–通过该检验单元借助加密计算并借助可信性信息来检验加密保护的测试数据组的完整性。

通过本发明来检验分布式系统、尤其是具有传感器和执行器的分布式控制系统的完整性,其方式是,作为样本来检测和检验测试数据组。在此过程中与传输的数据组无关地检测和检验样本。由此避免了在所传输数据组的传输和处理时的延迟,使得本发明还可应用于诸如驱动控制的高实时要求。在该数据组的加密保护或在该数据组的传输中,本来会由于生成和检验该加密保护而导致延迟。

另外本发明还有利地可应用于安全重要的系统中,在这些系统中数据组的传输和处理应该不受安全措施的影响,也即在这些系统中应该保证无反作用。否则安全措施必须在安全评价中被一起检查并验证其安全特性。

本发明尤其有利地可以应用在如下的控制系统中,在所述控制系统中不必对信息传输本身如同在数据传输系统中那样进行加密保护,而是其中应该对控制功能性的正确功能性进行监视。由此还能够间接地借助样本的检验来识别数据传输的完整性损坏。样本为此不仅被加密检验,而且还检验可信性。在此过程中,可以对测试数据组本身的可信性进行检验,可以对多个测试数据组之间的可信性进行检验,可以对测试数据组与所传输的数据组之间的可信性进行检验,并且可以利用其它可信性信息、例如投影数据、配置数据、过程或部件的物理特性来对可信性进行检验。

在此过程中,通过以样本方式确定来检测样本以及应用加密方法以加密保护地提供不影响通过通信连接对数据组的传输。在此过程中,加密保护的数据组的形成不影响数据传输的继续进行。从而保证了it安全保护对正常操作无反作用,所述正常操作通过该测试数据组的传输来实施。从而该方法有利地还可以应用在安全重要的系统中或具有高实时要求的系统中。加密保护的测试数据组的传输可以通过与用于传输数据组的相同的通信连接来进行,或者通过单独的连接、例如通过移动无线电、蓝牙、zigbee或nfc来进行。

例如从要传输的数据组中以采样方式选择测试数据组。替换的,单独地、例如以硬件来检测该测试数据组。

例如通过添加加密校验和、例如采用基于密钥的哈希函数或消息认证码(所谓的messageauthenticationcode)、或者通过形成数字签名来进行加密保护的提供。另外还可以设置无密钥的校验和。这种保护分别通过在检验单元侧的加密计算来实现。尤其为此根据该测试数据组来形成无密钥的或基于密钥的校验和,其中该测试数据组连同通过该测试数据组形成的校验和一起传送。另外在为保护而传送签名的情况下还借助密钥对来进行签名检验。

尤其还同样与数据组的传输无关地进行加密保护的测试数据组的检验。如果通过检验单元对加密保护的测试数据组的检验不能保证该测试数据组的完整性,那么例如就可以在尽可能快的时间点停止数据传输。尤其是尽可能快地进行报警通知。尽管如此,仍然首先通过该方法无反作用地继续进行数据传输。从而对于不出现操纵数据组的通常情况,能够实现高的数据吞吐量和小的延迟。

对于通过检验来识别操纵的情况,尽可能快地进行这种干预,并由此例如校正已传输的数据组、例如已传输的传感器值。例如在受操纵的、已传输的传感器值情况下将撤销或匹配该值的处理或者撤销或匹配分析或者日志项。

作为对所识别的操纵的响应,设备、例如传输或接收该数据组的现场设备例如可以进入内在安全的状态中、触发重启等。所涉及的设备尤其可以在存在其它设备的情况下被列为被关闭设备。

可以将来自要通过数据通信连接传输的数据组的片段用作测试数据组。对于该测试数据组的完整性的判定可以提出不同的要求:例如仅当能够例如借助校验和方法来证明该测试数据组的完整性时,才能判定完整性。另外例如仅当也识别到受保护的测试数据组的真伪时,才能判定完整性。这尤其借助基于密钥的校验和或者数字签名来实现。

另外为了确定完整性而使用可信性信息,其中借助该可信性信息来检查该测试数据组的内容的可信性。例如检验该测试数据组的值的值域。不期望地与可信值不同的测量值致使没有判定出完整性。同样也可以使用统计参数以进行分析。所述统计参数例如反映了在自动化设备中所传送的控制指令的模式,例如启动/停止指令的频率或顺序。可信性信息另外还可以从仿真数据中导出,所述仿真数据采用仿真模型和该测试数据组的数据来求得。同样可以把冗余数据相互比较。

从而除了检验加密保护的测试数据组的真伪或完整性之外,还设置了一种可信性测试。那以后才判定完整性。尤其在控制通信的环境中,对测试数据组的功能完整性的监视与传感器或执行器的敏感信息的传输相关。这有利地通过将加密计算以及与可信性信息的比较相组合来实现。

在具有高保护要求的系统中,该方法可以有利地用作附加的保护层。尤其可以根据对实时性的要求而在所推荐的方法与其它的耗费计算的方法之间切换。有利地并不需要加密地监视整个系统。运转中的真正的通信根据所推荐的方法不必被加密保护。由此所描述的准则也可以应用在实时性极其严苛的系统中。另外不仅保护数据传输,而且还保护例如在控制设备上的数据处理。通过将安全功能性与控制功能性相分离,实现了这两个方面的分离的进一步开发。从而能够快速地引入额外的特征。

根据一种扩展方案,通过通信连接的通信是控制通信,并且作为数据组传输控制数据或传感器值或者传感器或执行器的输入或输出信号。正是在控制通信中要求完整性检验方法,该完整性检验方法与控制软件无关地实施为完整性检验方法。因为首先该控制软件易于受操纵攻击,所以通过所推荐的方法提供了特别安全的完整性检验。

根据一种扩展方案,通过检验可以提供结果,该结果确认该测试数据组的完整性或者提供报警通知。根据该结果例如可以在实施控制软件时进行预定的响应,例如中断数据连接或者停止对所接收的传感器值或控制指令的处理。另外报警通知可以导入其它的步骤,例如为了识别弱点。例如,处理该数据组的控制单元导出日志项,该日志项具有所接收的不能确认完整性的数据的日期、或者发送者、或者内容。

根据一种扩展方案,该结果借助加密保护的信息证明了完整性。因为对测试数据组的完整性的检验连同样本方式的选择和加密保护的提供是对数据通信没有反作用地进行的,所以也相应地保护了加密检验的过程。这尤其通过例如借助签名方法或证书的证明来实现。从而有利地无法伪造通过该检验方法来确认完整性。通过确认信息例如可以进行检验单元的认证。

根据一种扩展方案,该测试数据组作为有限的、尤其数字的信号片段在控制设备的输入或输出接口上被检测。为此控制设备例如可以具有集成的部件,该部件直接在该输入或输出接口上作为样本来检测所谓的快照,并加密保护地进行提供。例如可以传送模拟或数字的传感器值或模拟或数字的执行器控制量或网络通信接口的控制通信。样本信息可以有利地不受该控制设备的软件的操纵。

于是,因为保护不能通过软件来操纵,所以如果以硬件或者近似于在输入/输出功能性中来检测快照,那么有利地给出了尤其高的保护。

根据一种扩展方案,根据随机值或者预定的时间点或者测量量来进行采样方式的确定。从而尤其能够改变在数据通信中对各个测试数据组的监视的频率。在随机选择样本的情况下,有利地难以预测监视动作。意图对要传输的数据进行操纵的攻击者必须随时考虑建立加密保护的数据组。

根据一种扩展方案,针对加密计算而采用密钥材料,尤其对称的或不对称的密钥对。

在此过程中,尤其可以通过选择加密密钥来可变地选择安全水平,其中针对所选择的加密方法来选择该加密密钥以保护该测试数据组。

根据一种扩展方案,可信性信息涉及另外的测试数据组或要传输的数据组或该分布式系统的数据。可信性检查可能必须满足不同的硬性或广泛的要求。可以将借助不同可信性信息的多个可信性检验相组合。

本发明另外还涉及一种用于对分布式系统的完整性进行监视的加密装置,其包含有:

–确定单元,用于根据要通过通信连接传输的数据组来以采样方式确定测试数据组;

–加密单元,用于加密保护地提供该测试数据组,其中该数据组通过该通信连接的传输不受所述确定和提供的影响;

–检验单元,其具有接口以接收加密保护的测试数据组,以借助加密计算和可信性信息来检验该测试数据组的完整性。

例如该确定单元是控制设备的集成部件。在基于fpga的、具有可编程逻辑以及中央处理单元(例如cpu、软cpu或硬cpu)的芯片上系统中,该确定单元在该fpga逻辑中实现。在这种情况下该加密单元同样可以在该fpga逻辑中实现。该加密单元尤其例如通过密钥存储器来访问加密密钥。例如在控制计算机的情况下通过通信接口、或者在现场设备的情况下在具有输入-输出功能性的fpga中或者在单独的输入-输出组件中、或者在具有集成于其中的输入-输出单元的芯片上系统中、或者在单独集成的例如用于内部监视该输入-输出单元(例如用于无反作用的调查)的主处理器单元或cpu中来进行测试数据组检测或快照检测。另外,例如作为在模拟或数字传感器或执行器中集成的来进行测试数据组检测。传感器或执行器可以检测数字快照并加密保护地进行提供,或者在通信接口上记录数据包并加密保护作为样本来提供。

该检验单元可以访问加密材料以检验加密保护的测试数据组。例如在加密单元与检验单元之间设置有对称加密方法。同样可以采用不对称方法,在该方法中该检验单元利用该加密单元的公钥来检验该加密单元的数字签名。

该检验单元用作完整性监测装置,并借助可信功能来检验完整性。该可信功能尤其通过加密检验方法来体现。不仅要例如验证该样本的加密校验和,而且还验证该样本的内容。可信性信息在此过程中例如可以考虑由工程系统提供的信息或者所接收的传感器值的变化曲线。该样本、也即该测试数据组可以由控制设备内的参与节点(例如控制计算机、传感器或执行器)在选择单元和加密单元本身的功能中加以提供,或者该样本也可以替换地由体现为选择单元或加密单元的额外部件来监听并加密保护地提供。

所推荐的解决方案所具有的优点是,可以监视在分布式控制系统中多个部件的协同。在此过程中不仅可以监视控制系统本身的完整性,而且还可以监视控制数据的数据传输。

根据另一扩展方案,通过通信连接的通信是控制通信,并且该数据组具有控制数据或传感器值或传感器或执行器的输入或输出信号。

根据一种扩展方案,加密单元的选择作为控制设备或传感器或执行器的集成部件来构造。

本发明另外还涉及一种计算机程序产品,其具有第一计算机程序,该第一计算机程序具有用于当该第一计算机程序在第一程序控制装置上加以实施时执行根据前述扩展方案之一所述的方法的部件。

根据一种改进方案,该第一计算机程序可以在该第一程序控制装置上与另外的计算机程序分离地实施,所述另外的计算机程序具有用于当所述另外的计算机程序在另外的程序控制装置上加以实施时执行控制的部件。例如该测试数据组通过在可编程逻辑上所设置的单独的处理器单元或者通过单独的计算核加以检测,并被加密保护。从而用于检测和保护样本的软件有利地与真正的控制软件无关。在控制软件受操纵的情况下,完整性监视所需的采样功能性不受影响。在一种变型中,在该控制设备上以软件来检测样本,但是在单独的实施环境中实施,例如通过管理程序单独地或者在可信区中单独地实施。

附图说明

下面根据附图借助实施例来详细解释本发明。其中:

图1示出了根据本发明第一实施例的具有加密装置的联网控制系统的示意图;

图2示出了根据本发明第二实施例的芯片上系统的示意图,该芯片上系统具有可编程硬件和用于实施该方法的部件。

具体实施方式

图1示意性地示出了具有用于测量压力的现场设备fdp的联网控制系统,该现场设备将所检测的测量数据通过控制网络c传输到控制计算机或控制服务器s。该压力现场设备fdp为此与压力传感器s连接。该控制计算机s将控制指示传输到控制设备fdv。该控制设备与作为执行器a的阀门连接。

周期地、例如每毫秒地进行数据传输。该控制网络c例如是基于ip的网络,该网络将多个现场设备(例如另外的传感器或开关)相互连接。同样通过该控制网络c连接有功能完整性监测装置fio,该功能完整性监测装置对要传输的数据的样本、或者传感器数据或者输出的控制指令进行完整性检验。

该压力现场设备fdp以及控制设备fdv、控制服务器c、传感器s和执行器a分别建立加密保护的样本50。该样本根据当前例子通过控制网络c被传输给功能完整性监测装置fio。样本包含有该样本的建立者的标识信息、所检测的样本数据以及加密校验和。针对每个部件,该功能完整性检测装置fio都分别检测单独的样本1-5。现在在使用样本的情况下分别执行可信性确定。优选地该功能完整性监测装置另外还检测属于样本1-5的未加密保护传输的数据,并检验其是否与加密保护的样本相一致。替换地,根据所存储的参照值来对加密保护的测试数据的内容进行可信性确定。

对于检验获得不能确认完整性的结果的情况,输出报警通知。例如单个的或所有的设备或仅仅已触发报警的设备进入到内在安全的运行状态中,或者提供本地报警通知,以例如通知给服务人员。

样本1-5可以相对于所属数据的传输延迟地加以传输。也即所述样本不是必须或者不是以与具有少量等待的真正的测量数据或控制数据相同的程度被传输和处理。

除了作为附加节点来实现该功能完整性监测装置fio之外,同样也可以考虑该控制服务器s的集成的功能性。该功能完整性监测装置同样可以在上级控制系统中、尤其在scada系统中来实现,或者在后端系统或云服务中来实现。

功能完整性监测装置fio的用于识别完整性损坏的分析算法可以执行不同的检验。这些检验可以单独地或相互组合地设置。例如样本的缺失导致不判定整个系统的完整性。另外所述样本还可能包含有处于所设置的值域之外的测量值。另外还可以分析统计参数,例如传输错误的频率等。同样也可以采用自动化系统的仿真模型来执行可信性确定。为此可以给仿真施加未保护地传输的测量数据或控制数据。从而可以将实际的样本与在仿真模型中所求得的样本进行相似性比较。另外还可以对多个冗余的数据组进行交叉检查,以及将未保护的控制指令施加给虚拟的控制功能性。这种仿真的控制也可以通过与所接收的样本的相似性比较来检验可信性。

在图2中示意性绘出了芯片上系统100,其具有可编程硬件10(例如fgpa)和可编程处理器(cpu20)。应用21、22可以通过操作系统23来访问输入/输出单元12,该输入/输出单元通过该可编程硬件10来实现。尤其连接有传感器s和执行器a。通过该cpu20的软件来输出控制命令30,或检测并分析测量40。另外还设置有网络接口13,例如以太网接口,该软件可以通过该接口与其它的系统通过数据通信协议来交换数据,例如在scada系统或上级控制计算机中的诊断或配置数据。

另外还设置有快照捕捉单元11,并作为可编程硬件10的部分来实现。例如快照捕捉单元可以作为vhdl模块或verilog模块来实现。快照捕捉单元可以作为数字逻辑或通过软cpu或者作为数字逻辑和软cpu的组合来实现。该快照捕捉单元11可以通过内部接口、优选具有只读功能性来访问命令、测量和数据通信的部分。通过只读访问可以实现对信号或通信的无反作用的监听。可以设置驱动器功能或缓冲寄存器或锁存器或双端口ram,以无反作用地缓存信号的检测值。在存在输入/输出接口的情况下,该快照捕捉单元11可以直接在输入上或者在接口块之后读出传感器量或执行器量。

该快照捕捉单元11包含有密钥k,例如作为私人不对称密钥或对称密钥的签名密钥。该快照捕捉单元11检测样本方式的信号并将其内部存储。如果存在完整的样本组,那么就可以提供加密保护的样本组。为此采用该密钥k,以形成关于所检测的样本数据的例如数字签名或消息检验码、即所谓的消息认证码。加密保护的样本50被提供给该cpu20。在该cpu20上实施的软件可以将该样本通过网络接口13来转发或本地检验。所检测的样本有利地是可靠的,因为其直接以硬件、也即在可编程硬件10上被检测并在那里被加密保护。因此所检测的样本不能通过该cpu20的能够被操纵的软件代码偷偷地被改变。

图3示意性示出了样本确定s1、加密保护的提供s2以及检验s3的方法步骤的流程。方法步骤有利地以所绘出的顺序来执行。

虽然已具体通过实施例来详细示出和描述了本发明,但本发明并不局限于所公开的例子,并且在不脱离本发明保护范围的情况下可以由专业人员从中导出其它的变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1