DE10125383B4 - Encryption of control programs - Google Patents

Encryption of control programs Download PDF

Info

Publication number
DE10125383B4
DE10125383B4 DE10125383A DE10125383A DE10125383B4 DE 10125383 B4 DE10125383 B4 DE 10125383B4 DE 10125383 A DE10125383 A DE 10125383A DE 10125383 A DE10125383 A DE 10125383A DE 10125383 B4 DE10125383 B4 DE 10125383B4
Authority
DE
Germany
Prior art keywords
control program
program code
development
partially encrypted
encryption
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.)
Expired - Fee Related
Application number
DE10125383A
Other languages
German (de)
Other versions
DE10125383A1 (en
Inventor
Jürgen Büssert
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE10125383A priority Critical patent/DE10125383B4/en
Priority to EP01124899A priority patent/EP1215547B1/en
Priority to EP01124900A priority patent/EP1215589A3/en
Priority to DE50111786T priority patent/DE50111786D1/en
Priority to US10/056,894 priority patent/US7107523B2/en
Priority to US10/057,256 priority patent/US7234145B2/en
Priority to US10/056,905 priority patent/US7627119B2/en
Publication of DE10125383A1 publication Critical patent/DE10125383A1/en
Application granted granted Critical
Publication of DE10125383B4 publication Critical patent/DE10125383B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • 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/31422Upload, download programs, parameters from, to station to, from server
    • 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/32Operator till task planning
    • G05B2219/32142Define device, module description using xml format file
    • 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/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet server
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36395Load local computer program from host, data transfer ram to rom, BTR
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36542Cryptography, encrypt, access, authorize with key, code, password

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zum Parametrieren und Projektieren von Steuerungsprogrammen durch
Verschlüsseln eines Teils eines Steuerungsprogrammcodes (5, 7) in einem ersten Entwicklungssystem (1),
Transferieren des teilweise verschlüsselten Steuerungsprogrammcodes (10, 16) von dem ersten Entwicklungssystem (1) zu einem zweiten Entwicklungssystem (3), und
Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes in dem zweiten Entwicklungssystem (3),
dadurch gekennzeichnet, dass
das Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes nach einem Editieren des teilweise verschlüsselten Steuerungsprogrammcodes in dem zweiten Entwicklungssystem erfolgt.
Method for parameterizing and configuring control programs
Encrypting part of a control program code (5, 7) in a first development system (1),
Transferring the partially encrypted control program code (10, 16) from the first development system (1) to a second development system (3), and
Decrypting the partially encrypted control program code in the second development system (3),
characterized in that
decrypting the partially encrypted control program code is done after editing the partially encrypted control program code in the second development system.

Figure 00000001
Figure 00000001

Description

Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Transfer von Steuerungsprogrammen und insbesondere ein Verfahren und eine Vorrichtung zur Parametrierung, Projektierung und Inbetriebnahme von Steuerungssystemen und/oder Antrieben mit einem derartigen Verfahren zum Transfer von Steuerungsprogrammen.The The present invention relates to a method and an apparatus for the transfer of control programs and in particular a method and a device for parameterization, configuration and commissioning of control systems and / or drives with such a method for Transfer of control programs.

Die Steuerungsprogramme von programmierbaren Steuerungen werden in der Regel in so genannten Entwicklungs- oder Engineeringsystemen erstellt. Engineeringsysteme dienen neben dem Erstellen von Steuerungsprogrammen auch zur Inbetriebnahme, Projektierung und Parametrierung von Steuerungen und Antrieben.The Control programs of programmable controllers are used in the Usually created in so-called development or engineering systems. Engineering systems are used in addition to the creation of control programs also for commissioning, configuration and parameterization of controllers and drives.

Es ist durchaus üblich, dass das Erstellen der Steuerungsprogramme durch ein erstes Fachteam und das Inbetriebnehmen, Projektieren und Parametrieren durch ein zweites Fachteam erfolgt, wobei beide Fachteams örtlich voneinander getrennt sind. Dies bedeutet, dass das vom ersten Fachteam erstellte Steuerungsprogramm zur weiteren Verwendung zu dem zweiten Fachteam übermittelt werden muss. Dabei ist es vielfach wünschenswert, dass zum einen rasche Übertragungswege genutzt werden können und zum anderen bei der Übermittlung eine gewisse Vertraulichkeit gewahrt wird, damit das jeweilige Know-how nicht beliebig zugänglich ist.It is quite common that the creation of the control programs by a first team of experts and commissioning, configuring and parameterizing by second specialist team takes place, whereby both specialist teams are locally separated. This means that the control program created by the first expert team must be forwarded to the second specialist team for further use. there it is often desirable that, on the one hand, fast transmission paths can be used and on the other hand in the transmission one certain confidentiality is respected, so that the respective know-how is not arbitrary accessible is.

Aus der Druckschrift DE 198 04 788 A1 ist eine Vermittlungseinrichtung bekannt, an die ein aktuelles Steuerungsprogramm in verschlüsselter Form übertragen wird, wenn in ihr lediglich eine ältere Version gespeichert ist. Die Speicherung in der Vermittlungseinrichtung kann in verschlüsselter oder in unverschlüsselter Form erfolgen. In jedem Fall kann eine Datenverarbeitungseinrichtung der Vermittlungseinrichtung auf eine entsprechende Schlüsselinformation zur Entschlüsselung zugreifen.From the publication DE 198 04 788 A1 For example, a switching device is known to which a current control program is transmitted in encrypted form if only an older version is stored in it. The storage in the switching device can take place in encrypted or in unencrypted form. In any case, a data processing device of the switching device can access a corresponding key information for decryption.

Darüber hinaus beschreibt die Patentschrift US 6 125 363 A ein Entwicklungssystem, bei dem Steuerungsprogrammcodes zwischen einem Server und einem Client transferiert werden. Dieser Transfer kann verschlüsselt erfolgen, wobei mit entsprechenden Interfaces ver- und entschlüsselt wird. Der Webserver sendet dem konventionellen Webbrowser eine HTML-Seite, die vorzugsweise ein Java applet enthält.In addition, the patent specification describes US 6 125 363 A a development system in which control program codes are transferred between a server and a client. This transfer can be encrypted, which is encrypted and decrypted with appropriate interfaces. The web server sends the conventional web browser an HTML page, which preferably contains a Java applet.

Ferner offenbart die Druckschrift EP 1 031 909 A2 ein Programmentwicklungssystem, bei dem Programmcodes verschlüsselt transferiert werden. Die Verschlüsselung erfolgt mittels eines asymmetrischen Schlüssels.Further, the document discloses EP 1 031 909 A2 a program development system in which program codes are transferred encrypted. The encryption takes place by means of an asymmetric key.

Somit besteht die Aufgabe der vorliegenden Erfindung darin, ein Verfahren und ein System vorzuschlagen, mit denen ein geschützter und rascher Transfer von Steuerungsprogrammen ermöglicht wird.Consequently the object of the present invention is a method and to propose a system with which a protected and rapid transfer of control programs.

Erfindungsgemäß wird diese Aufgabe gelöst durch ein Verfahren zum Parametrieren und Projektieren von Steuerungsprogrammen durch Verschlüsseln eines Teils eines Steuerungsprogrammcodes in einem ersten Entwicklungssystem, Transferieren des teilweise verschlüsselten Steuerungsprogrammcodes von dem ersten Entwicklungssystem zu einem zweiten Entwicklungssystem, und Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes in dem zweiten Entwicklungssystem, wobei das Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes nach einem Editieren des teilweise verschlüsselten Steuerungsprogrammcodes in dem zweiten Entwicklungssystem erfolgt.According to the invention this Task solved by a method for parameterizing and configuring control programs by encrypting a part of a control program code in a first development system, Transfer the partially encrypted control program code from the first development system to a second development system, and decrypting partially encrypted Control program codes in the second development system, wherein the decipher partially encrypted control program code after editing the partially encrypted control program code in the second development system.

Darüber hinaus wird die genannte Aufgabe gelöst durch ein System zum Parametrieren und Projektieren von Steuerungspro grammen mit einer ersten Entwicklungseinrichtung zum Entwickeln eines Steuerungsprogrammcodes, die eine Verschlüsselungseinheit zum Verschlüsseln eines Teils des Steuerungsprogrammcodes umfasst, einer Kommunikationseinrichtung zum Transferieren des teilweise verschlüsselten Steuerungsprogrammcodes von der ersten Entwicklungseinrichtung zu einer zweiten Entwicklungseinrichtung, und der zweiten Entwicklungseinrichtung, die eine Entschlüsselungseinrichtung zum Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes umfasst, wobei in der zweiten Entwicklungseinrichtung ein zweiter Editor zum Editieren des Steuerungsprogrammcodes zwischen einen Preprozessor zum Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes und die Kommunikationseinrichtung geschaltet ist. In vorteilhafter Weise ermöglicht die Erfindung somit, das den Steuerungsprogrammen zugrundeliegende Know-how zu schützen.Furthermore the task is solved through a system for parameterizing and configuring control programs a first development means for developing a control program code, the one encryption unit to encrypt a part of the control program code, a communication device for transferring the partially encrypted control program code from the first developing device to a second developing device, and the second developing device, which includes a decryption device for decipher partially encrypted control program code wherein in the second developing device a second Editor for editing the control program code between one Preprocessor for decryption partially encrypted Control program codes and the communication device switched is. In an advantageous manner allows Thus, the invention underlying the control programs To protect know-how.

Die vorliegende Erfindung wird nun anhand der beigefügten Zeichnung näher erläutert, die einen Datenflussplan gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.The The present invention will now be explained in more detail with reference to the accompanying drawing which a data flow plan according to a embodiment of the present invention.

Der Ersteller und Lieferant eines Steuerungsprogramms entwickelt dieses in einer Projektier-Software bzw. Engineeringsystem 1. Der Kunde erhält dieses Steuerungsprogramm über das Internet 2 oder ein beliebiges anderes Netzwerk bzw. andere Verbindung. Der Kunde integriert das empfangene Steuerungsprogramm in sein Engineeringsystem 3 und kann damit seine Zielhardware bzw. sein Runtimesystem 4 ansteuern.The creator and supplier of a control program develops this in a configuration software or engineering system 1 , The customer receives this control program via the Internet 2 or any other network or connection. The customer integrates the received control program into his engineering system 3 and thus can use its target hardware or its runtime system 4 drive.

Damit das Steuerungsprogramm bei der Übertragung in öffentlichen Netzen und/oder für den Kunden nicht in allen Details zugänglich ist, wird das Steuerungsprogramm ganz oder teilweise verschlüsselt. Dies kann durch standardisierte Verschlüsselungstechniken, z. B. PGP-Verfahren, erfolgen. Dabei können symmetrische oder asymmetrische Schlüssel verwendet werden.In order to the control program during transmission in public Networks and / or for not accessible to the customer in every detail, becomes the control program completely or partially encrypted. This can be achieved by standardized encryption techniques, e.g. B. PGP method, respectively. It can symmetrical or asymmetrical keys are used.

Im Einzelnen erstellt der Lieferant zunächst ein unverschlüsseltes Steuerungsprogramm 5 und hält dieses in einer persistenten Datenhaltung 6. Den unverschlüsselten Programmcode 5 bzw. 7 kann der Lieferant aus der persistenten Datenhaltung 6 in einen Programmeditor 8 des Engineeringsystems 1 laden. In dem Editor 8 kann der Lieferant das Programm editieren und zur Verschlüsselung des Programms einen Postprozessor 9 anstoßen, der einen verschlüsselten Programmcode 10 ausgibt. Zur Verschlüsselung verwendet der Postprozessor 9 einen Schlüssel 11. Typischer Weise wird zur Verschlüsselung das standardisierte PGP-Verfahren verwendet. Bei asymmetrischer Verschlüsselung verwendet der Lieferant zur Verschlüsselung einen so genannten „Public-Key" und der Kunde zur Entschlüsselung den dazu passenden „Privat-Key" 12.In detail, the supplier first creates an unencrypted control program 5 and keeps this in a persistent data management 6 , The unencrypted program code 5 respectively. 7 the supplier can choose from the persistent data management 6 in a program editor 8th of the engineering system 1 load. In the editor 8th The supplier can edit the program and a programmer to encrypt the program 9 triggering an encrypted program code 10 outputs. The postprocessor uses encryption for encryption 9 a key 11 , Typically, the standardized PGP method is used for encryption. For asymmetric encryption, the supplier uses a so-called "public key" for encryption and the customer uses the matching "private key" for decryption 12 ,

Zum Übertragen des verschlüsselten Programmcodes 10 beispielsweise über das Internet 2 werden die Daten zunächst aus der Projektiersoftware 1 exportiert. Vorzugsweise werden die Daten dabei in HTML- bzw. XML-Format oder ein anderes von Standard-Internetclients lesbares Format gewandelt. Der Vorteil derartig formatierter Daten liegt darin, dass mit Standard-Tools auf die Daten zugegriffen werden kann, und der Anwender nicht notwendiger Weise über ein Engineeringsystem verfügen muss.To transmit the encrypted program code 10 for example, over the Internet 2 the data are initially taken from the configuration software 1 exported. Preferably, the data is converted into HTML or XML format or another format readable by standard Internet clients. The advantage of such formatted data is that the data can be accessed with standard tools, and the user does not necessarily have to have an engineering system.

Nach dem Export werden die verschlüsselten XML-Daten 13 beispielsweise in einem öffentlichen Webserver 14 hinterlegt. Dieser stellt das verschlüsselte Steuerungsprogramm im XML-Format der Allgemeinheit oder entsprechend der Verschlüsselungstechnik nur einen bestimmten, gewünschten Kundenkreis zur Verfügung.After export, the encrypted XML data 13 for example, in a public web server 14 deposited. This provides the encrypted control program in the XML format to the general public or according to the encryption technology only a specific, desired customer base.

Der Kunde lädt die verschlüsselten XML-Daten 13 in seine persistente Datenhaltung 15. Aus der Datenhaltung 15 werden die Daten in das Engineeringsystem bzw. die Projektiersoftware 3 des Kunden importiert. Sofern das Engineeringsystem 3 des Kunden nicht auf dem XML-Format oder einem anderen von Standardinternet-Clients lesbaren Format basiert, findet beim Import eine Konvertierung der Daten in das Engineeringsystem-Format statt, wobei der entsprechende, verschlüsselte Programmcode 16 erzeugt wird.The customer loads the encrypted XML data 13 in his persistent data management 15 , From the data management 15 the data is transferred to the engineering system or the configuration software 3 imported by the customer. Unless the engineering system 3 If the customer is not based on the XML format or another format that can be read by standard Internet clients, the data is converted into the engineering system format during import, whereby the corresponding encrypted program code 16 is produced.

Der Kunde kann nun den verschlüsselten Programmcode 16 in seinem Programmeditor 17, der wiederum Teil des Engineeringsystems 3 ist, beispielsweise zum Parametrieren des zu steuernden Systems, editieren.The customer can now use the encrypted program code 16 in his program editor 17 , which in turn is part of the engineering system 3 is, for example, to parameterize the system to be controlled edit.

Je nach Verschlüsselungstiefe ist der Kunde in der Lage nur die vom Lieferanten gewünschten Daten zu editieren. So ist es möglich, die Daten beliebig tief in horizontaler und vertikaler Richtung zu verschlüsseln.ever by encryption depth the customer is only capable of the data requested by the supplier to edit. So it is possible the data arbitrarily deep in horizontal and vertical direction to encrypt.

Eine Verschlüsselung auf einer bestimmten horizontalen Ebene bedeutet, dass beispielsweise Module auf gleicher funktioneller Ebene unterschiedlich verschlüsselt werden. So könnte beispielsweise eine Bibliothek mit den Funktionen a, b, c und d mit mehreren Schlüsselpaaren verschlüsselt werden, so dass die Kunden A, B, C und D nur die jeweils für sie bestimmten Module entschlüsseln bzw. verwenden können.A encoding on a certain horizontal level means, for example, modules be encrypted differently at the same functional level. So could For example, a library with the functions a, b, c and d with several key pairs encoded so that customers A, B, C and D only have their own choice Decrypt modules or can use.

Das vertikale Verschlüsseln bedeutet ein unterschiedliches Verschlüsseln in verschiedenen hierarchischen, funktionalen Ebenen. So ist es denkbar, dass ein Kunde zum Betreiben des Steuerungsprogramms lediglich die Modulparameter einschließlich der Returnparameter kennen muss. Daher kann der Kopf des Steuerungsprogramms unverschlüsselt bleiben, während der Kern des Programms verschlüsselt ist. Dies dient insbesondere dazu, das der Software zugrundeliegende Know-how zu schützen. Darüber hinaus kann das Softwareprogramm zur Übertragung und Abarbeitung durch den Kunden aber auch komplett verschlüsselt sein und beispielsweise nur für das Servicepersonal vollstän dig entschlüsselbar sein. Weitere beliebig granulare Verschlüsselungen sind hier entsprechend dem modularen Aufbau eines Steuerungsprogramms denkbar.The vertical encryption means different encryption in different hierarchical, functional levels. So it is conceivable that a customer to operate the control program only the module parameters including the Must know return parameters. Therefore, the head of the control program remain unencrypted, while the core of the program is encrypted is. This is particularly useful for the underlying software To protect know-how. Furthermore can the software program for transmission and processing by the customer but also be completely encrypted and for example only for the service staff completeness dig decipherable be. Other arbitrary granular encryptions are appropriate here the modular structure of a control program conceivable.

Nach dem Editieren wird das ganz oder teilweise verschlüsselte Steuerungsprogramm in einem Preprozessor 18 des Engineeringsystems 3 entschlüsselt. Hierzu verwendet der Preprozessor 18 den bereits erwähnten privaten Schlüssel 12.After editing, the fully or partially encrypted control program becomes a preprocessor 18 of the engineering system 3 decrypted. The preprocessor uses this 18 the already mentioned private key 12 ,

Der vom Preprozessor 18 erhaltene unverschlüsselte Programmcode 19 wird in einem Compiler 20 in einen mikroprozessorspezifischen, ausführbaren Binärcode 21 umgesetzt.The one from the preprocessor 18 received unencrypted program code 19 will be in a compiler 20 into a microprocessor-specific, executable binary code 21 implemented.

Zur Steuerung eines Systems wird nun der ausführbare Binärcode 21 von der Projektiersoftware bzw. dem Engineeringsystem 3 in die Zielhardware bzw. das Runtimesystem 4 geladen. Dort wird der Binärcode von einem Mikroprozessor abgearbeitet.To control a system is now the executable binary code 21 from the configuration software or the engineering system 3 into the target hardware or the runtime system 4 loaded. There, the binary code is processed by a microprocessor.

Durch die genannte Integration eines Verschlüsselungssystems in Engineeringsysteme unter Verwendung von asymmetrischen Schlüsseln 11, 12 ergeben sich die folgenden Vorteile:

  • a) Die bekannten Routinen für Ver- und Entschlüsselung wandeln von ASCII-Text in ASCII-Text. Die verschlüsselten Bereiche lassen sich also genauso speichern und transportieren wie die unverschlüsselten Bereiche und bieten damit eine ideale Integration in das weitverbreitete XML-Format. Insbesondere lassen sich zur Weiterverarbeitung der Daten Standard-Tools verwenden.
  • b) Aufgrund der Verwendung eines Textformats lassen sich auch Teile eines Texts verschlüsseln. Somit kann, wie bereits erwähnt, der Kopf eines Programms mit so genannten Defines zum Anpassen unverschlüsselt bleiben, während der Körper des Programms mit den Funktionen aber geschützt wird.
  • c) Der Lieferant einer Anwendersoftware, z. B. Compiler oder Projektiertool, gibt dieser ein eigenes Schlüsselpaar. Bei asymmetrischer Verschlüsselung speichert der Lieferant den Public-Key mit den Kundendaten des Anwenders. Damit kann der Lieferant beispielsweise Bibliotheken für bestimmte Kunden mit deren Public-Key verschlüsseln und über beliebige Kanäle an diese Kunden übermitteln. Ein Kopieren der über öffentliche Kanäle zur Verfügung gestellten Anwendersoftware ist in diesem Fall sinnlos, da die Bibliothek ausschließlich auf der Anwendung des vorgesehenen Kunden entschlüsselt werden kann. Auf dieser Basis ist ein Lizenzsystem leicht realisierbar.
  • d) Die verschlüsselten Texte sind nicht analysierbar. Das interne Know-how bleibt somit geschützt.
  • e) Durch die Integration einer asymmetrischen Entschlüsselung in einen Preprozessor des Compilers lassen sich Programmteile gegen Missbrauch schützen, ohne den Compiler selbst zu ändern. Der Preprozessor läuft erst bei der Erzeugung des binären Codes für das Zielsystem. Darüber hinaus benötigt auch der Programmeditor keine Änderung, da die verschlüsselten Texte als solche angezeigt werden.
Through the mentioned integration of an encryption system in engineering systems using asymmetric keys 11 . 12 There are the following advantages:
  • a) The known routines for encryption and decryption convert from ASCII text to ASCII text. The encrypted areas can thus be stored and transported in the same way as the unencrypted areas, thus offering ideal integration into the widespread XML format. In particular, standard tools can be used for further processing of the data.
  • b) Due to the use of a text format, parts of a text can also be encrypted. Thus, as already mentioned, the head of a program with so-called Defines can remain unencrypted while the body of the program is protected with the functions.
  • c) The supplier of a user software, eg. As compiler or configuring tool, this gives its own key pair. With asymmetric encryption, the supplier saves the public key with the customer data of the user. This enables the supplier, for example, to encrypt libraries for specific customers with their public keys and to transmit them to these customers via any channels. Copying the user software provided via public channels is meaningless in this case, since the library can only be decrypted using the intended customer. On this basis, a licensing system is easily feasible.
  • d) The encrypted texts can not be analyzed. The internal know-how thus remains protected.
  • e) By integrating an asymmetric decryption into a compiler preprocessor, program parts can be protected against misuse without changing the compiler itself. The preprocessor only runs when the binary code for the target system is generated. In addition, the program editor does not require any change, since the encrypted texts are displayed as such.

Das oben beschriebene erfindungsgemäße System lässt sich dahingehend abändern, dass das Verschlüsseln direkt in den Exportmechanismus und das Entschlüsseln in den Importmechanismus eingebaut werden. Damit werden dem Kunden allerdings sämtliche Daten des Steuerungsprogramms zum Editieren freigegeben.The inventive system described above let yourself to change that that encrypting directly into the export mechanism and decrypting into the import mechanism to be built in. However, this will give the customer all Data of the control program released for editing.

Claims (12)

Verfahren zum Parametrieren und Projektieren von Steuerungsprogrammen durch Verschlüsseln eines Teils eines Steuerungsprogrammcodes (5, 7) in einem ersten Entwicklungssystem (1), Transferieren des teilweise verschlüsselten Steuerungsprogrammcodes (10, 16) von dem ersten Entwicklungssystem (1) zu einem zweiten Entwicklungssystem (3), und Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes in dem zweiten Entwicklungssystem (3), dadurch gekennzeichnet, dass das Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes nach einem Editieren des teilweise verschlüsselten Steuerungsprogrammcodes in dem zweiten Entwicklungssystem erfolgt.Method for parameterizing and configuring control programs by encrypting part of a control program code ( 5 . 7 ) in a first development system ( 1 ), Transferring the partially encrypted control program code ( 10 . 16 ) of the first development system ( 1 ) to a second development system ( 3 ), and decrypting the partially encrypted control program code in the second development system ( 3 ), characterized in that the decryption of the partially encrypted control program code is performed after editing the partially encrypted control program code in the second development system. Verfahren nach Anspruch 1, wobei das Transferieren ein Exportieren des verschlüsselten Steuerungsprogrammcodes (10, 16) in ein von Standard-Internetclients lesbares Format, insbesondere XML oder HTML, durch das erste Entwicklungssystem (1) und ein Importieren der Daten in dem von Standard-Internetclients lesbaren Format durch das zweite Entwicklungssystem (3) umfasst.The method of claim 1, wherein the transferring comprises exporting the encrypted control program code ( 10 . 16 ) in a format readable by standard Internet clients, in particular XML or HTML, by the first development system ( 1 ) and importing the data in the standard Internet client readable format by the second development system ( 3 ). Verfahren nach Anspruch 1 oder 2, wobei das Ver- und Entschlüsseln der Daten durch asymmetrische Schlüssel (11, 12) erfolgt.Method according to claim 1 or 2, wherein the encryption and decryption of the data by asymmetric keys ( 11 . 12 ) he follows. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verschlüsseln des Steuerungsprogrammcodes nach einem Editieren des Steuerungsprogrammcodes in dem ersten Entwicklungssystem (1) erfolgt.Method according to one of the preceding claims, wherein the encryption of the control program code after editing the control program code in the first development system ( 1 ) he follows. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Kopf des Steuerungsprogramms unverschlüsselt bleibt.Method according to one of the preceding claims, wherein the head of the control program remains unencrypted. Verfahren zur Inbetriebnahme von Steuerungssystemen und/oder Antrieben durch Parametrieren oder Projektieren eines Steuerungsprogramms nach einem der Ansprüche 1 bis 5, Kompilieren des entschlüsselten Steuerungsprogramms und Abarbeiten des kompilierten Steuerungsprogramms durch einen Mikroprozessor.Method for commissioning control systems and / or drives by Parameterizing or configuring a Control program according to one of claims 1 to 5, Compile of the decrypted Control program and Execute the compiled control program a microprocessor. System zum Parametrieren und Projektieren von Steuerungsprogrammen mit einer ersten Entwicklungseinrichtung (1) zum Entwickeln eines Steuerungsprogrammcodes (5, 7), die eine Verschlüsselungseinheit (9) zum Verschlüsseln eines Teils des Steuerungsprogrammcodes (5, 7) umfasst, einer Kommunikationseinrichtung (2) zum Transferieren des teilweise verschlüsselten Steuerungsprogrammcodes (10, 16) von der ersten Entwicklungseinrichtung (1) zu einer zweiten Entwicklungseinrichtung (3), und der zweiten Entwicklungseinrichtung (3), die eine Entschlüsselungseinrichtung (18) zum Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes (10, 16) umfasst, dadurch gekennzeichnet, dass in der zweiten Entwicklungseinrichtung (3) ein zweiter Editor (17) zum Editieren des Steuerungsprogrammcodes (10, 16) zwischen einen Preprozessor (18) zum Entschlüsseln des teilweise verschlüsselten Steuerungsprogrammcodes (10, 16) und die Kommunikationseinrichtung (2) geschaltet ist.System for parameterizing and configuring control programs with a first development device ( 1 ) for developing a control program code ( 5 . 7 ), which is an encryption unit ( 9 ) for encrypting part of the control program code ( 5 . 7 ), a communication device ( 2 ) for transferring the partially encrypted control program code ( 10 . 16 ) from the first development facility ( 1 ) to a second development facility ( 3 ), and the second development facility ( 3 ), which has a decryption facility ( 18 ) for decrypting the partially encrypted control program code ( 10 . 16 ), characterized in that in the second development device ( 3 ) a second editor ( 17 ) for editing the control program code ( 10 . 16 ) between a preprocessor ( 18 ) for decrypting the partially encrypted control program code ( 10 . 16 ) and the communication device ( 2 ) is switched. System nach Anspruch 7, wobei die erste Entwicklungseinrichtung (1) eine Exporteinrichtung zum Exportieren des verschlüsselten Steuerungsprogrammcodes (10, 16) in einem von Standard-Internetclients lesbaren Format, insbesondere XML oder HTML, und die zweite Entwicklungseinrichtung (3) eine Importeinrichtung zum Importieren der Daten in dem von Standard-Internetclients lesbaren Format umfasst.A system according to claim 7, wherein the first developing device ( 1 ) an export device for exporting the encrypted control program code ( 10 . 16 ) in a format readable by standard Internet clients, in particular XML or HTML, and the second development device ( 3 ) comprises an import facility for importing the data into the format readable by standard Internet clients. System nach Anspruch 7 oder 8, wobei das Ver- und Entschlüsseln der Daten durch asymmetrische Schlüssel (11, 12) erfolgt.A system according to claim 7 or 8, wherein the encryption and decryption of the data by asymmetric keys ( 11 . 12 ) he follows. System nach einem der Ansprüche 7 bis 9, wobei in der ersten Entwicklungseinrichtung (1) ein Postprozessor (9) zum Verschlüsseln des Steuerungsprogrammcodes (5, 7) zwischen einen ersten Editor (8) zum Editieren des Steuerungsprogrammcodes (5, 7) und die Kommunikationseinrichtung (2) geschaltet ist.System according to one of claims 7 to 9, wherein in the first development device ( 1 ) a postprocessor ( 9 ) for encrypting the control program code ( 5 . 7 ) between a first editor ( 8th ) for editing the control program code ( 5 . 7 ) and the communication device ( 2 ) is switched. System nach einem der Ansprüche 7 bis 10, wobei der Kopf des Steuerungsprogramms unverschlüsselt bleibt.The system of any one of claims 7 to 10, wherein the head of the control program remains unencrypted. Anordnung zur Inbetriebnahme von Steuerungssystemen und/oder Antrieben mit einem System zum Parametrieren und Projektieren von Steuerungsprogrammen nach einem der Ansprüche 7 bis 11, wobei die zweite Entwicklungseinrichtung (3) einen Compiler (20) zum Kompilieren des entschlüsselten Steuerungsprogramms Know19) umfasst und einen Mikroprozessor zum Abarbeiten des kompilierten Steuerungsprogramms ansteuert.Arrangement for starting up control systems and / or drives with a system for parameterizing and configuring control programs according to one of Claims 7 to 11, the second development device ( 3 ) a compiler ( 20 ) for compiling the decrypted control program Know 19 ) and drives a microprocessor to execute the compiled control program.
DE10125383A 2000-12-15 2001-05-23 Encryption of control programs Expired - Fee Related DE10125383B4 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE10125383A DE10125383B4 (en) 2000-12-15 2001-05-23 Encryption of control programs
EP01124900A EP1215589A3 (en) 2000-12-15 2001-10-18 Providing project data in a standardized meta-language format
DE50111786T DE50111786D1 (en) 2000-12-15 2001-10-18 Encryption of control programs
EP01124899A EP1215547B1 (en) 2000-12-15 2001-10-18 Encryption of control programs
US10/056,894 US7107523B2 (en) 2000-12-15 2001-11-13 Provision of project and/or project planning data of an automation project in a format which is defined by a standardized meta language, in particular XML
US10/057,256 US7234145B2 (en) 2000-12-15 2001-11-13 Generating XML pages from project data from an automation component and storing them in a run-time system
US10/056,905 US7627119B2 (en) 2000-12-15 2001-11-13 Encryption of control programs

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
DE10062741 2000-12-15
DE10062741.2 2000-12-15
DE10063059.6 2000-12-18
DE10063059 2000-12-18
DE10064400.7 2000-12-21
DE10064400 2000-12-21
DE10125383A DE10125383B4 (en) 2000-12-15 2001-05-23 Encryption of control programs

Publications (2)

Publication Number Publication Date
DE10125383A1 DE10125383A1 (en) 2002-06-27
DE10125383B4 true DE10125383B4 (en) 2006-12-14

Family

ID=27214201

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10125383A Expired - Fee Related DE10125383B4 (en) 2000-12-15 2001-05-23 Encryption of control programs

Country Status (1)

Country Link
DE (1) DE10125383B4 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101016466B1 (en) * 2003-10-17 2011-02-24 트리나리 안라겐바우 게엠베하 Machine tool protected against improper activation and method of avoiding improper machine activation by machine control parameters for this
KR101261059B1 (en) 2003-10-17 2013-05-06 트리나리 안라겐바우 게엠베하 Neutral data computer control system for a machine tool used to produced workpieces with a threaded surface and associated machine tool
AT501854B1 (en) * 2004-11-15 2008-03-15 Univ Wien Tech PROCEDURE FOR THE EXCHANGE OF DATA
EP3502806A1 (en) 2017-12-22 2019-06-26 Siemens Aktiengesellschaft Method for protecting the production data for producing a product
DE102018214840A1 (en) * 2018-08-31 2020-03-05 DMG MORI Software Solutions GmbH METHOD AND SYSTEM FOR PROVIDING MACHINING DATA ON A NUMERICALLY CONTROLLED MACHINE

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19804788A1 (en) * 1997-12-23 1999-07-01 Michael Scheland Communications switch for connecting subscribers at least cost
EP0991225A2 (en) * 1998-10-01 2000-04-05 Alcatel Method, server and terminal for modification of a service data which are saved in the server
EP1031909A2 (en) * 1999-02-23 2000-08-30 Sightsound.Com Incorporated A system and method for manipulating a computer file and/or program
US6125363A (en) * 1998-03-30 2000-09-26 Buzzeo; Eugene Distributed, multi-user, multi-threaded application development method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19804788A1 (en) * 1997-12-23 1999-07-01 Michael Scheland Communications switch for connecting subscribers at least cost
US6125363A (en) * 1998-03-30 2000-09-26 Buzzeo; Eugene Distributed, multi-user, multi-threaded application development method
EP0991225A2 (en) * 1998-10-01 2000-04-05 Alcatel Method, server and terminal for modification of a service data which are saved in the server
EP1031909A2 (en) * 1999-02-23 2000-08-30 Sightsound.Com Incorporated A system and method for manipulating a computer file and/or program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Miyazawa, T. u.a.: An Advanced Internet XML/EDI Model Based on Secure XML Documents. In: 7th International Conference on Parallel and Distri- buted Systems, July 2000, S. 295-300 *

Also Published As

Publication number Publication date
DE10125383A1 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
EP1215547B1 (en) Encryption of control programs
EP3012761B1 (en) Protection of software models
EP1393146B1 (en) Method and system for the distributed creation of a program for a programmable portable data carrier
EP1108308B1 (en) System and method for controlling the operational sequence in network applications
DE602004011455T2 (en) Method and system for automatically generating service interfaces for a service-oriented architecture
EP0032107A1 (en) Enciphering and deciphering system
EP0829046B1 (en) Method and system for setting up user programs as well as user computer in a computer net
DE102005009621A1 (en) Circuit, apparatus and method for receiving, conditional access and copy protection of digital video transmission signals
DE10251523A1 (en) System and method for providing data and services for devices, and device that uses the data and services provided
DE10296511T5 (en) Method and device for monitoring the use of a program
WO2010060985A2 (en) Method system and simulation or analysis model for data processing
DE10125383B4 (en) Encryption of control programs
DE10135136A1 (en) Secure information transmission method for sensitive data stores information in secure database in processing space which is not accessible to user
DE10024347B4 (en) Security service layer
EP1137972A2 (en) Automation system for solving a technical-process task and corresponding method
WO2001098899A2 (en) Server monitoring
DE10357831A1 (en) System as well as a procedure for the re-engineering of object model components for the generating of web services
EP3557341A1 (en) Method and administration device for optimizing an industrial process
EP2184695A1 (en) Method of combining data with a device to be used for processing data, corresponding functionality to execute the individual steps in the procedure and computer program to implement the procedure
EP3762845B1 (en) Project-related certificate management
EP2184705A1 (en) Procedure, system and device to process rights
WO2004013821A1 (en) Installation of a file system in a data support
EP1316865A1 (en) Automation service system
EP1246391A1 (en) Method and system for cryptographic data communication with a plurality of instances
WO2002071195A1 (en) Method and device for transmitting programme codes via the internet

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20141202