自动化网络中的安全的数据传输的制作方法

文档序号:7720222阅读:149来源:国知局
专利名称:自动化网络中的安全的数据传输的制作方法
技术领域
本发明涉及一种工业自动化网络,尤其是一种在工业自动化网络中的安全的数据传输。
背景技术
工业自动化网络通常由至少一个控制器和至少一个组件组成。控制器用于对组件进行编程,并且为此包括程序实例(Programminstanz)。组件例如可以是在生产线中的机器的机器控制系统。自动化网络用于自行地、并且在无人协作的情况下使工业机器或者设备运转。那么必须将程序实例的数据传输给组件,从而让控制器能够对组件进行编程。这些数据被称为配置数据。如果要让配置数据由程序实例传输到组件的过程中不被窃取并且被保护不被篡改,那么通常使用如HTTPS或者IPSEC这样的安全传输协议。对于这些传输协议来说必须满足一定的安全要求,这些安全要求不可能被每个自动化网络或者说每个组件所满足。

发明内容
本发明的目的在于,提出一种在自动化网络中安全地进行数据传输的改进的方法。此外,本发明的目的在于,提出在自动化网络中的一种改进的控制器和一种改进的组件,并且为了这种组件和这种控制器提供改进的存储介质。本发明的目的分别利用根据独立权利要求所述的特征得以实现。本发明的实施方式在从属权利要求中给出。根据本发明,提出了一种在自动化网络中安全地进行数据传输的方法。自动化网络包括至少一个程序实例和至少一个组件。数据传输的安全性不取决于所使用的传输方法得到保证。自动化网络例如可以设计为工业自动化网络。这种工业自动化网络例如可以设计、设定和/或设置用于控制和/或调节工业设备(例如生产设备、传送设备等等)、机器和/或仪器。特别地,自动化网络或者说工业自动化网络可以为了至少在参与了控制任务和/或调节任务的组件之间(例如在控制单元和要进行控制的设备和/或机器之间) 进行通信而具有实时通信协议(例如ftx)finet(自动化总线)、ftx)fibUS(现场总线)、 Real-Time-Ethernet (实时以太网))。通过存储介质安全地传输数据也同样地得以实现。此外,在自动化网络或者说工业自动化网络中,除了实时通信协议之外但也还可以设计至少另一个通信协议(其例如不需要有实时能力),例如用于在自动化网络中对一个或多个控制单元进行监控、设定、重新编程和/或重新参数化。自动化网络例如可以包括有线的通信组件和/或无线的通信组件。此外,自动化网络可以包括至少一个自动化装置。自动化装置例如可以是计算机、PC和/或具有控制任务或者说控制能力的控制器。特别地,自动化装置例如可以是工业自动化装置,其例如可以特别地设计、设定和/或设置用于控制和/或调节工业设备。特别地,这种自动化装置或者说工业自动化装置可以有实时能力,也就是说能够实时地进行控制或者调节。为此,自动化装置或者说工业自动化装置例如可以包括实时操作系统,和/或至少此外还支持用于通信的有实时能力的通信协议(例如 Profinet, Profibus, Real-Time-Ethernet)。自动化网络包括多个传感器和执行器。这些执行器和传感器被至少一个控制装置所控制。执行器、传感器和至少一个控制装置相互之间交换数据。为了交换数据使用一种自动化协议。至少一个控制装置这样控制执行器、传感器和数据交换,即,使得机械制造过程进行下去,在这个过程中例如生产出一种产品。工业自动化装置例如可以是可编程控制器、可编程控制器的模块或者一部分、集成在计算机或者PC中的可编程控制器以及相应的现场设备、传感器和/或执行器、输入设备和/或输出设备或者用于连接在可编程控制器上的类似设备,或者包括这些设备。在本发明的意义内的自动化协议应理解为各种类型的根据本说明书设置、适合和 /或设定用于与自动化装置进行通信的协议。这些自动化协议例如可以是现场总线协议 (例如遵从 IEC 61158/EN50170 标准),Prof i-Bus-DP 协议,Prof i-Bus-PA 协议,Prof i_Net 协议,Profi-Net-IO协议,根据AS-Interface总线系统的协议,根据IO-Link的协议,KNX 协议,根据多点通信接口(MPI)的协议,用于点对点桥接(PtP)的协议,遵从S7通信规则的协议(其例如设置和设定用于西门子公司的可编程控制器的通信),或者还有工业以太网协议或者实时以太网协议或者其它的用于和自动化设备进行通信的特殊协议。在本说明书的意义中的自动化协议也可以被设置为前述协议的任意组合。程序实例具有程序实例授权系统,并且组件具有组件授权系统。这个方法包括以下步骤。首先要验证程序实例的用户。这通过程序实例授权系统在用户数据的帮助下进行。用户数据例如可以是用户名和密码,或者还包括其他已经公知的、用于通过程序实例授权系统验证用户的方法。程序实例授权系统是程序实例的授权系统。该程序实例授权系统也就可以在一方面在用户数据的帮助下验证用户,并且在另一方面向不同的用户分配不同的权利。要注意的是,同样有可能的是,所有被验证的用户都被授予了全部的权利。组件授权系统是组件的授权系统。该组件授权系统同样可以在一方面在用户数据的帮助下验证用户,并且在另一方面向不同的用户分配不同的权利。在此也要注意的是,同样有可能的是,所有被验证的用户都被授予了全部的权利。要进行传输的数据通过该程序实例加密并签名。例如,程序实例为此包括签名的 DLL文件(动态链接库文件)或者签名的可执行文件,它们因此被保护不被篡改。优选地, 用于对数据进行加密和签名的程序实例配置有非对称密钥。这些数据同样包括用户数据。 用户数据就连同要进行传输的配置数据加密地并且签名地传输给组件。在组件中,这些数据被解密。紧接着,相对于组件对程序实例进行验证。这例如可以通过以下方式进行,即,利用程序实例的非对称私人密钥对数据进行签名,并且这个签名在组件中通过程序实例的公共密钥来验证。也就在组件中检查数据的签名。由此确认了不会发生对数据的篡改,并且组件仅仅从一个有权控制该组件的程序实例那里接收到数据。 通过利用程序实例的私人密钥进行签名,不需要从组件向程序实例进行数据传输,这与例如所谓的质询-响应-方法不同。所述程序实例得到验证,而不必将数据从组件传输给程序实例。这些解密的数据包括用户数据。用户在此在用户数据的帮助下通过组件授权系统验证。此外,用户可以被授权将数据传输给组件。在此也就涉及一个后续的授权过程。如果发现该用户无权进行数据传输,那么数据将被丢弃。否则,数据被用于控制组件。这个步骤确保了在程序实例上注册的用户有权向组件传输数据。也就不可能对数据进行篡改,并且在组件中仅对那些由程序实例的授权的用户传输给组件的数据进行处理。传输途径在此完全无关紧要。即也可以是一个不安全的传输通道。通过对数据进行加密、对数据进行签名并且将用户数据传输给组件,这些数据被保护不受到任何篡改,并且不取决于传输途径地确保了这些数据不可能被截获或者被篡改。根据本发明的实施方式进行数据传输的特别的安全性在于,用户数据被加密地连同配置数据由程序实例传输给组件,并且在该组件中对用户进行验证。除了在程序实例中对用户进行验证并且签名地和加密地进行数据传输之外,还得出一个保护数据不被篡改的自动化网络,该自动化网络不取决于传输通道的安全性而提供安全的数据传输。根据本发明的实施方式,对数据进行的加密是非对称加密。根据本发明的实施方式,程序实例和组件分别具有一个非对称公共程序实例密钥和一个非对称公共组件密钥。程序实例还具有一个私人程序实例密钥,并且组件具有一个私人组件密钥。因此不仅对于程序实例而且还对于组件存在密钥对,其用于进行签名和加密。一个密钥对分别由一个公共密钥和一个私人密钥组成。数据在程序实例中利用公共组件密钥进行加密,并且利用私人程序实例密钥进行签名。要注意的是,这些数据同样也包括用户数据。由程序实例传输给组件的、加密并签名的数据在组件中利用私人组件密钥进行解密。利用公共程序实例密钥实现将程序实例验证为数据的发送器。通过对解密数据进行评估实现对程序实例的用户的验证。根据本发明的实施方式,通过程序实例加密并签名的数据存储到存储介质上。在进行解密之前,组件中的数据先从存储介质中被读取。存储介质例如可以是光学存储介质、 磁性存储介质和/或数码存储介质。其同样可以是旋转式存储介质。存储介质于是例如可以是U盘、存储卡或者硬盘。因为数据被加密并签名,并且用户数据同样也被一起存储,所以数据在存储介质上存储得有多安全就无关紧要了。这些数据已经被充分地保护不被篡改或者不被未授权地读取。尽管这些数据不是通过自动化网络传输,该实施方式同样地提供了一种用于在自动化网络中安全地进行数据传输的方法。数据传输的途径与自动化网络无关。根据本发明的实施方式,加密并签名的数据通过在程序实例和组件之间的电缆连接进行传输。在此也可以是不安全的电缆连接,这是因为这些数据已经通过对用户数据进行加密、签名和共同传输而充分地确保了不被篡改或在未授权的情况下被读取。根据本发明的实施方式,借助一以下协议之一来实现通过电缆连接进行数据传输MPI,Profibus, Ethernet, TCP/IP, Profinet, WLAN。根据本发明的实施方式,这些数据包括对称的密钥,用于加密地将数据从程序实例传输到组件。对称的密钥可以用于以后的数据传输。当这例如是一个确定性的等时的自动化网络时,使用对称密钥可以是有利的。在这样一个自动化网络中重要的是,精确地在某个确定的时间点由组件对数据进行处理。在这种情况下,非对称地加密和解密数据可能会持续太久。在这种情况下,于是对称密钥连同用户数据加密地并签名地传输给组件,并且可以用于接下来的数据传输。根据本发明的实施方式,这些数据包括另一个私人组件密钥,用于加密地将数据由程序实例传输到组件。另一个私人组件密钥代替了之前的私人组件密钥,从而进一步确保了安全的数据传输。出于安全原因,应该定时更换私人密钥。在另一方面,本发明涉及一种在自动化网络中的控制器。这种控制器包括程序实例,并且该程序实例具有程序实例授权系统。该控制器还包括装置,用于通过程序实例授权系统在用户数据的帮助下验证用户,使用户能够使用该程序实例;装置,用于通过程序实例来对数据进行加密和签名,其中,该数据包括用户数据;和装置,用于通过传输介质对数据进行传输。在另一方面,本发明涉及一种在自动化网络中的组件。该组件具有组件授权系统。 该组件还具有装置,用于接收数据;装置,用于对数据进行解密;装置,用于将控制器验证为数据的发送器;和装置,用于通过组件授权系统在用户数据的帮助下验证用户,以将数据传输到组件。在另一个方面,本发明涉及一种计算机能读取的存储介质,该存储介质具有指令, 该指令能在自动化网络中的控制器中执行。该控制器包括程序实例,并且该程序实例具有程序实例授权系统。在自动化网络中的控制器中执行这些指令时,这些指令使得控制器实施以下流程。首先,通过程序实例授权系统在用户数据的帮助下验证用户。然后,通过该程序实例为数据加密并签名,其中,这些数据包括用户数据。这些数据紧接着通过传输介质来传输,在另一个方面,本发明还涉及一种计算机能读取的存储介质,存储介质具有指令, 该指令能在自动化网络中的组件中执行。该组件具有组件授权系统。在执行指令时,这些指令使得组件实施以下流程。首先,接收并解密数据。紧接着,验证控制器,并且通过组件授权系统在用户数据的帮助下验证用户。


下面参照附图更详细地说明本发明的实施方式。图中示出图1是自动化网络的示意性示图,自动化网络具有程序实例、传输通道和组件;图2是自动化网络的示意性示图,自动化网络具有程序实例、组件,其中,在存储介质的帮助下对数据进行传输;以及图3是在自动化网络中安全地进行数据传输的方法的流程图。以下附图的相互一致的元件用相同的参考标号来标识。
具体实施例方式图1是自动化网络100的示意性视图,自动化网络具有控制器102和组件104。该控制器102具有程序实例106。控制器102和组件104通过任意一个传输通道108相连接。 “任意”在这里的意思是,该传输通道108也可以是不安全的传输通道。根据本发明对于安全的数据传输来说,传输通道并不重要。控制器102包括接口 109,控制器102通过该接口与传输通道108相连接,并且能够通过该传输通道108将数据传输给组件104。组件104包括接口 111,组件104通过该接口与传输通道108相连接,并且能够通过该传输通道108从控制器102接收数据。程序实例具有一个私人程序实例密钥110。此外,该程序实例106还具有一个公共组件密钥112。组件104具有一个私人组件密钥116。此外,该组件还具有公共的程序实例密钥(在此未示出)。公共的密钥于是供这两个单元使用。此外,每个单元都具有各自的私人密钥。程序实例106中的公共组件密钥用于在将数据从控制器102传输到组件104之前对数据进行加密。这些数据还利用私人程序实例密钥Iio通过程序实例106签名。签名在数据传输之后利用组件104中的公共程序实例密钥来校验,并且该程序实例106被验证为数据的发送器。对数据的解密利用私人组件密钥116实现。在进行数据传输之前,用户数据118被用户输入到控制器102上。在此,其例如可以是由一个用户名和一个密码组成的注册数据。这些用户数据118被传输给程序实例106。 程序实例106将用户数据118连同要进行传输的数据传输到组件104。由程序实例106传输给组件104的数据120于是包括了用户数据118和配置数据。配置数据就是用于通过程序实例106来控制组件104的数据。图2是自动化网络200的示意性视图,自动化网络具有控制器102和组件104。该控制器102还具有程序实例106。程序实例106具有私人程序实例密钥110。此外,该程序实例还具有公共的组件密钥。组件104具有私人组件密钥116。此外,该组件104还具有公共程序实例密钥(未示出)。在自动化网络200中由控制器102传输数据给组件104,这种数据传输借助于存储介质202得以实现。其例如可以是所谓的多媒体存储卡(MMC)。首先, 数据被写到多媒体存储卡202上。这例如可以通过控制器102的处理器204来进行,该控制器具有进入该多媒体存储卡202的通路,并且能够将数据存储到该多媒体存储卡202上。 该多媒体存储卡202然后被插入该组件104的读卡器(未示出)中,从而组件104的处理器206有进入该多媒体存储卡202的通路,并且能够读取这些数据。类似于在图1中已经说明的方法实现对数据的解密和校验。控制器102还具有计算机能读取的存储介质208,该存储介质具有指令,当这些指令例如通过处理器204执行时,指令能够使得控制器实施上述过程。组件104同样具有存储介质210,该存储介质具有当通过处理器206执行时使得组件实施上述流程的指令。图3是本发明的一个实施方式的流程图。首先,在步骤Sl中通过程序实例授权系统在用户数据的帮助下验证用户。于是确保了该用户有权使用程序实例。这例如利用作为用户数据的用户名和口令来进行。在第二个步骤S2中,数据通过程序实例加密并签名。这些数据包括用户数据。在步骤S3中,这些数据通过传输介质由程序实例传输到组件,并且在步骤S4中在组件中解密。程序实例在步骤S5中相对于组件被验证为数据的发送器,并且在步骤6中,通过组件授权系统在用户数据的帮助下验证用户。参考标号表100自动化网络102控制器
104组件
106程序实例
108传输通道
109接口
110私人程序实例密钥
111接口
112公共组件密钥
116私人组件密钥
118用户数据
120数据
200自动化网络
202存储介质
204处理器
206处理器
208存储介质
210存储介质
权利要求
1.一种用于在自动化网络(100)中安全地进行数据传输的方法,其中,所述自动化网络包括至少一个程序实例(106)和至少一个组件(104),其中,所述程序实例具有程序实例授权系统,并且所述组件具有组件授权系统,并且其中所述方法包括以下步骤-通过所述程序实例授权系统在用户数据的帮助下验证(Si)用户,使所述用户能够使用所述程序实例;-通过所述程序实例来对数据(120)进行加密(S》和签名,其中,所述数据包括所述用户数据;-通过传输介质(108 ;202)将所述数据从所述程序实例传输(S; )到所述组件;-在所述组件中对所述数据进行解密(S4);-相对于所述组件对所述程序实例进行验证(S5);并且-通过所述组件授权系统在所述用户数据的帮助下验证(S6)所述用户。
2.根据权利要求1所述的方法,其中,所述加密是非对称加密。
3.根据权利要求2所述的方法,其中,所述程序实例和所述组件分别具有一个非对称公共程序实例密钥和一个非对称公共组件密钥(112),并且其中所述程序实例具有一个私人程序实例密钥(110),并且所述组件具有一个私人组件密钥(116),其中,所述方法包括以下步骤-在所述程序实例中利用所述公共组件密钥对所述数据进行非对称加密,并且利用所述私人程序实例密钥对所述数据进行签名;-将所述加密的并签名的数据从所述程序实例传输到所述组件;并且-在所述组件中利用所述私人组件密钥对所述加密的数据进行解密,并且利用所述公共程序实例密钥将所述程序实例验证为所述数据的发送器。
4.根据前述权利要求中任一项所述的方法,其中,将通过所述程序实例加密和签名的所述数据存储到存储介质(20 上并且在所述组件中进行解密之前从所述存储介质中读取。
5.根据权利要求1至3中任一项所述的方法,其中,所述加密并签名的数据通过在所述程序实例和所述组件之间的电缆连接(108)进行传输。
6.根据权利要求5所述的方法,其中,借助于以下协议之一来实现通过所述电缆连接进行数据传输:MPI, PROFIBUS, Ethernet, TCP-IP, PROFINET。
7.根据权利要求5所述的方法,其中,借助于以下协议之一来实现通过无线连接进行数据传输 Ethernet, TCP-IP, PROFINET。
8.根据前述权利要求中任一项所述的方法,其中,所述数据包括对称的密钥,用于加密地将所述数据从所述程序实例传输到所述组件。
9.根据权利要求3至7中任一项所述的方法,其中,所述数据包括另一个私人组件密钥和另一个公共程序实例密钥,用于加密地将所述数据从所述程序实例传输到所述组件。
10.一种在自动化网络中的控制器(102),其中,所述控制器包括程序实例,并且其中, 所述程序实例具有程序实例授权系统,所述控制器具有-装置008),用于通过所述程序实例授权系统在所述用户数据的帮助下验证用户,使所述用户能够使用所述程序实例;-装置(110 ;112 ;208),用于通过所述程序实例来对所述数据进行加密和签名,其中,所述数据包括所述用户数据;和-装置(109),用于通过传输介质对所述数据进行传输。
11.根据权利要求10所述的控制器,其中,所述控制器设计用于实施根据权利要求1至 9中任一项所述的方法。
12.—种在自动化网络中的组件(104),其中,所述组件具有组件授权系统,所述组件具有-装置(111),用于接收数据;-装置(116 ;210),用于对所述数据进行解密;-装置(114 ;210),用于将控制器验证为所述数据的发送器;和-装置010),用于通过所述组件授权系统在用户数据的帮助下验证用户。
13.根据权利要求12所述的组件,其中,所述组件设计用于实施根据权利要求1至9中任一项所述的方法。
14.一种自动化网络,包括根据权利要求10或11中任一项所述的控制器,其中,所述控制器设计用于通过传输介质将数据从所述控制器传输到组件;和根据权利要求12或13 中任一项所述的组件,其中,所述组件设计用于接收所述传输的数据。
15.一种计算机能读取的存储介质004),所述存储介质具有指令,所述指令在自动化网络中的控制器中执行时使得所述控制器实施以下流程,其中所述控制器包括程序实例, 并且其中所述程序实例具有程序实例授权系统-通过所述程序实例授权系统在用户数据的帮助下验证用户;-通过所述程序实例来对数据进行加密和签名,其中,所述数据包括所述用户数据;并且-通过传输介质对所述数据进行传输。
16.一种计算机能读取的存储介质006),所述存储介质具有指令,所述指令在自动化网络中的组件中执行时使得所述组件实施以下流程,其中所述组件具有组件授权系统-接收数据;-对所述数据进行解密;-将控制器验证为所述数据的发送器;并且-通过所述组件授权系统在所述用户数据的帮助下验证用户。
17.根据权利要求16所述的计算机能读取的存储介质,其中,所述计算机能读取的存储介质设计用于实施根据权利要求1至9中任一项所述的方法。
全文摘要
本发明涉及一种用于在自动化网络(100)中安全地进行数据传输的方法,其中,该方法包括以下步骤通过程序实例授权系统在用户数据的帮助下验证(S1)用户,使该用户能够使用该程序实例;通过程序实例来对数据(120)进行加密(S2)和签名,其中,这些数据包括用户数据;通过传输介质(108;202)将数据从程序实例传输(S3)到组件;在组件中对数据进行解密(S4);相对于组件对程序实例进行验证(S5);并且通过组件授权系统在用户数据的帮助下验证(S6)用户。
文档编号H04L9/32GK102340499SQ20111019167
公开日2012年2月1日 申请日期2011年7月8日 优先权日2010年7月9日
发明者约阿希姆·科佩尔斯 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1