[go: up one dir, main page]

WO2013083224A1 - Method and device for protecting a computer program against unauthorised use - Google Patents

Method and device for protecting a computer program against unauthorised use Download PDF

Info

Publication number
WO2013083224A1
WO2013083224A1 PCT/EP2012/004658 EP2012004658W WO2013083224A1 WO 2013083224 A1 WO2013083224 A1 WO 2013083224A1 EP 2012004658 W EP2012004658 W EP 2012004658W WO 2013083224 A1 WO2013083224 A1 WO 2013083224A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer program
encrypted
key
decrypted
decrypting
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.)
Ceased
Application number
PCT/EP2012/004658
Other languages
German (de)
French (fr)
Inventor
Berndt Zetek
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of WO2013083224A1 publication Critical patent/WO2013083224A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software

Definitions

  • the present invention relates to a method and apparatus for protecting a computer program against
  • the method and the device can be used in particular in a control device for controlling a machine tool.
  • US 7,092,783 B2 discloses a method for programming and executing a control program of an industrial control.
  • An executable control sequence of the control program is encrypted with a user or customization password. This means that the executable control sequence of
  • Control program itself is not encrypted.
  • EP 1 556 743 B2 discloses a method for avoiding erroneous machine control by
  • Maschlnen Kunststoffparameter a machine tool.
  • the Maschlnen Kunststoffparameter be encrypted by means of a cipher.
  • the Maschlnen Kunststoffparameter be decoded and checked on the machine tool.
  • OEM Olet Control Equipment Manufacturer
  • a method and a device for protecting a computer program against unauthorized use with which the aforementioned problems can be solved.
  • a method and a device for protecting a computer program against unauthorized use with which the aforementioned problems can be solved.
  • This object is achieved by a method for protecting a
  • the object is also achieved by a device for protecting a computer program against unauthorized use according to claim 8.
  • the object is, moreover, solved by a system for protecting a computer program against unauthorized use according to claim 10.
  • Process no program content can be displayed on a display device, which give an indication of the content of the program. Only programmed notes and / or diagnostic messages are output.
  • Device and the system can be ensured that only an original equipment manufacturer (OEM) and / or authorized by him and / or institutions can decrypt the encrypted contents of the computer program.
  • OEM original equipment manufacturer
  • the system 1 shows a system 1 for protecting a computer program 2 against unauthorized use.
  • the system 1 has an external device 10, which may be a personal computer (PC) available from an original equipment manufacturer (OEM) or an OEM
  • the system 1 has a device 20 for protecting the computer program 2 against unauthorized use.
  • the device 20 may be a numerically controlled machine tool (NC machine), which
  • the external device 10 has a
  • Key generating device 1 from which a key 12 is generated, a display device 13, a
  • Key generator 1 1 may provide a key for encrypting and decrypting the computer program. However, the key generator 1 1 can also be two different keys, ie an encryption key for encryption and a decryption key for
  • the key 12 may be displayed on the display device 13, and may be stored in the key storage device 14 get saved.
  • the key 12 can be over
  • Decrypting the encrypted computer program 1 1 are provided.
  • the key 12 of the file encryption device 1 5 can be provided.
  • the file encryption device 15 has a
  • File encryption device 15 may be the unencrypted
  • Encrypt computer program 3 The encryption can be displayed and monitored by means of the encryption display device 17.
  • the apparatus 20 has a device display device 21, a controller 22, a computer program memory device 23, a RAM 24 having an SRAM section 25 and a RAM section 26, and a decryption device 27.
  • the RAM area is also a random access memory (RAM) and is preferably a dynamic random access memory (DRAM) which must be periodically refreshed, but may also be a static random access memory Be access.
  • the controller 22 performs the functions of
  • Downloading device for downloading the key 12 provided by an external device 10 and a
  • the controller 22 may also perform the function of the decryption device 27 for decrypting the encrypted computer program 3.
  • the control device 22 as a memory space management device manages the memory space such that the encrypted
  • Computer program 3 is stored in the computer program storage device 23 and is. In the
  • Computer program storage means 23 stored in principle can be displayed with the device display device 21. This is indicated by the white block arrow A.
  • the restrictions described below apply.
  • the control device 22 as a memory space management device also manages the memory space such that the key 12, more precisely the decryption key for decrypting the encrypted computer program 3, is stored in the SRAM area 25. With the key 12, the encrypted computer program 3 invisible in a decrypted
  • Computer program 4 are decrypted. That with the
  • Decryption key the key 12, decrypted computer program 4 or decrypted program parts 4 are, however, by the controller 22 as
  • Memory management device stored in the RAM area 26 of the workstation memory 24.
  • Fig. 2 illustrates a method for protecting the
  • Computer program 2 against unauthorized use After starting the method, a computer program 3 encrypted by the external device 110 with the key 12 is stored in the computer program storage device 23 in a step S 1.
  • the computer program storage device 23 is preferably a network file system in which files usable over a data network
  • a decryption key provided to decrypt the encrypted computer program 3, the key 12, in the SRAM area 25 of FIG.
  • Memory device 24 is stored.
  • the key 12 generated by the external device 10 can be picked up by the device 20, more specifically the controller 22 as the downloading device, from the external device 10
  • step S2 the flow of the process goes to a step S3.
  • step S3 the decryption device 27 decrypts the encrypted computer program 3 with the
  • Decryption key the key 12.
  • Memory device 24 is stored. After the step S3, the flow advances to a step S4.
  • step S4 it is checked whether a core dump of the RAM area 26 of the working memory device 24 should be executed, whether with the encrypted computer program 3
  • Computer program 3 is to be displayed by means of the device display device 21, or whether with the
  • Decryption device 27 decrypted computer program 4 should be displayed. If the answer is NO at step S4, the procedure is ended. On the other hand, if the answer is YES in step S4, the flow proceeds to step S5. The step S4 and the step S5 are executed continuously during the execution of the decrypted computer program 4 in the device 20.
  • step S5 a coredump is prevented when the decrypted computer program is 4 or decrypted
  • Main memory 27 are.
  • a core dump represents the recorded state of the main memory
  • the predetermined time is the Time when the computer program ended abnormally.
  • step S5 a simulation with the
  • step S5 display of the encrypted computer program 3 by means of the device display device 21 is prevented when the encrypted computer program 3 is displayed for display on the computer
  • Device display device 21 is to be opened. In this case, the device display device 21 becomes a
  • step S5 it is prevented that the computer program 4 decrypted by the decryption means 27 or that of the
  • step S5 the process is finished.
  • Computer program parts 4 are in the RAM area 26, it is prevented that the encryption of the computer program 2 is canceled. This would be the case, for example, if visible program parts of the decrypted computer program 4 were not deleted or rendered unrecognizable in a core dump.
  • step S5 causes that at a
  • Control device 22 it is advantageous if the key 12 from the external device 10 in the new
  • Control device 22 is brought. Alternatively, it is also possible to re-encrypt all computer programs 2 with the new key 12.
  • the key generation at the external device 10 can be done on demand via freely available software (freeware). Key generation should not be integrated with Indraworks.
  • Computer program 2 are stored (file system) or visible (user interface or display device 21). These are the NC-Editor (processing device of the numeric Control unit), the NC block display, the NC analyzer (NC analyzer), the simulation, the
  • the block display window contains only one reference line in the case of encrypted program parts
  • the program display window contains only one "encrypted program" information line in the case of encrypted program parts.
  • navigator encrypted files receive a special identification.
  • NC numerical control
  • the processing in the numerical control (NC) is possible without restriction but any insight into the NC program, the computer program 3, is blocked. As a result, the internal know-how is protected.
  • the NC program can, however, in the encrypted form, ie as Computer program 3, to be copied. Thus, the use of other machines is possible. If this should also be prevented, the NC program can be replaced by a
  • Computer program 3 or other encrypted file can be decrypted locally by a service technician.
  • the unencrypted computer program 2 or the unencrypted file must be provided by the external device operator 10, the OEM. Therefore, in the above-described system 1, no master key is used. The sense of responsibility lies with the OEM.
  • Device 10 uses an algorithm that is neither against
  • Embargo rules are ignored, it is also possible to use the same key for encryption and decryption. In this case, it is a symmetrical method.
  • the data backup, version management and version control of the computer program 2 or 3 can be done automatically by re-encryption and comparison of the source text.
  • the evaluation of the coredump is also possible that, the evaluation of the coredump with only one

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method, to a device (20), and to a system (1) for protecting a computer program (2) against unauthorised use. The method comprises the steps of: storing (S1) a computer program (3), which is encrypted by an external device (10) by means of a key (12), in a computer program storage unit (23); storing (S2) a key (12) provided for decrypting the encrypted computer program (3) in a SRAM region (25) of a working storage unit (24); and decrypting (S3) the encrypted computer program (3) by means of the key (12), wherein the decrypted computer program (4) or decrypted computer program parts (4) are stored in a RAM region (26) of the working storage unit (24).

Description

VERFAHREN U ND VORRICHTUNG ZUM SCHUTZ EINES METHOD AND DEVICE FOR PROTECTING ONE

COMPUTERPROG RAMMS GEGEN UNBERECHTIGTECOMPUTERPROG RAMMS AGAINST THE UNMATCHED

BENUTZUNG USE

Besch rei bung Description

Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Schutz eines Computerprogramms gegen The present invention relates to a method and apparatus for protecting a computer program against

unberechtigte Benutzung. Das Verfahren und die Vorrichtung können insbesondere bei einer Steuervorrichtung zur Steuerung einer Werkzeugmaschine Verwendung finden. unauthorized use. The method and the device can be used in particular in a control device for controlling a machine tool.

US 7,092,783 B2 offenbart ein Verfahren zur Programmierung und Ausführung eines Steuerprogramms einer Industriesteuerung. Eine ausführbare Steuersequenz des Steuerprogramms wird mit einem Benutzer- oder Individualisierungspasswort verschlüsselt. Das bedeutet, dass die ausführbare Steuersequenz des US 7,092,783 B2 discloses a method for programming and executing a control program of an industrial control. An executable control sequence of the control program is encrypted with a user or customization password. This means that the executable control sequence of

Steuerprogramms selbst nicht verschlüsselt ist. Control program itself is not encrypted.

EP 1 556 743 B2 offenbart ein Verfahren zur Vermeidung einer fehlerhaften Maschinenansteuerung durch EP 1 556 743 B2 discloses a method for avoiding erroneous machine control by

Maschlnensteuerparameter einer Werkzeugmaschine. Hier werden die Maschlnensteuerparameter mittels eines Chiffrierverfahrens verschlüsselt. Anschließend werden die Maschlnensteuerparameter auf der Werkzeugmaschine dechiffriert und geprüft.  Maschlnensteuerparameter a machine tool. Here, the Maschlnensteuerparameter be encrypted by means of a cipher. Subsequently, the Maschlnensteuerparameter be decoded and checked on the machine tool.

Bei den genannten Verfahren werden jedoch das verwendete However, the methods used are the ones used

Computerprogramm und/oder Teile davon nicht verschlüsselt. Das bedeutet, dass die genannten Verfahren die verwendeten Computer program and / or parts thereof not encrypted. This means that the methods mentioned used the

Com puterprogramme nicht vollständig vor unberechtigter Benutzung oder Einsicht schützen können. Beispielsweise können während des Ablaufs des Computerprogramms Programmteile eingesehen werden. Damit ist ein Kopieren des Computer programs are not completely unauthorized Protection or use. For example, program parts can be viewed during the course of the computer program. This is a copy of the

Computerprogramms oder zumindest von Programmteilen möglich. Demzufolge können die genannten Verfahren ein Geheim halten von technologischem Wissen durch Verschlüsselung nicht Computer program or at least of program parts possible. As a result, the above methods can not keep secret of technological knowledge through encryption

unumschränkt gewährleisten. Demzufolge kann ein unberechtigtes Nutzen von OEM-Zyklen (OEM = Original Equipment Manufacturer = Originalausrüstu ngshersteller) nicht verhindert werden. Aufgrund dessen ist ein ausreichender Schutz in Bezug auf to guarantee unrestricted. As a result, unauthorized use of OEM (Original Equipment Manufacturer) cycles (OEMs) can not be prevented. Because of this, there is sufficient protection in terms of

Investitionskosten nicht gegeben . Investment costs not given.

Es ist daher Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum Schutz eines Computerprogramms gegen unberechtigte Benutzung bereitzustellen, mit welchen die zuvor genannten Probleme gelöst werden können. Insbesondere soll ein Verfahren und eine Vorrichtung zum Schutz eines It is therefore an object of the present invention to provide a method and a device for protecting a computer program against unauthorized use, with which the aforementioned problems can be solved. In particular, a method and a device for protecting a

Computerprogramms gegen unberechtigte Benutzung bereitgestellt werden, bei welchen insbesondere Unterprogramme vor Computer program are provided against unauthorized use, which in particular subroutines ago

unberechtigter Einsicht und/oder Nutzung geschützt werden können. unauthorized access and / or use.

Diese Aufgabe wird durch ein Verfahren zum Schutz eines This object is achieved by a method for protecting a

Computerprogramms gegen unberechtigte Benutzung nach Computer program against unauthorized use after

Patentanspruch 1 gelöst. Claim 1 solved.

Die Aufgabe wird außerdem durch eine Vorrichtung zum Schutz eines Computerprogramms gegen unberechtigte Benutzung nach Patentanspruch 8 gelöst. Die Aufgabe wird darü ber hinaus durch ein System zum Schutz eines Computerprogramms gegen unberechtigte Benutzu ng nach Patentanspruch 10 gelöst. The object is also achieved by a device for protecting a computer program against unauthorized use according to claim 8. The object is, moreover, solved by a system for protecting a computer program against unauthorized use according to claim 10.

Vorteilhafte weitere Ausgestaltungen des Verfahrens und der Vorrichtung sind in den abhängigen Patentansprüchen angegeben.  Advantageous further embodiments of the method and the device are specified in the dependent claims.

Das beschriebene Verfahren und die beschriebene Vorrichtung sowie das System stellen sicher, dass auch beim Ablauf des The described method and the described device as well as the system ensure that also at the end of the

Verfahrens keine Programminhalte auf einer Anzeigeeinrichtung angezeigt werden können, welche einen Hinweis auf den Inhalt des Programms geben. Es werden nur programmierte Hinweise und/oder Diagnosemeldungen ausgegeben . Process no program content can be displayed on a display device, which give an indication of the content of the program. Only programmed notes and / or diagnostic messages are output.

Mit dem beschriebenen Verfahren und der beschriebenen With the described method and described

Vorrichtung sowie dem System kann sichergestellt werden, dass nur ein Originalausrüstungshersteller (OEM) und/oder von ihm autorisierte Personen und/oder Institutionen die verschlüsselten Inhalte des Computerprogramms entschlüsseln kann . Somit ist eine (ungewollte) Weitergabe an Dritte seitens des Herstellers oder Betreibers einer Werkzeugmaschine, auf welcher das Verfahren und die Vorrichtung angewendet werden kann, ausgeschlossen. Device and the system can be ensured that only an original equipment manufacturer (OEM) and / or authorized by him and / or institutions can decrypt the encrypted contents of the computer program. Thus, an (unwanted) disclosure to third parties on the part of the manufacturer or operator of a machine tool on which the method and the device can be applied excluded.

Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Other possible implementations of the invention also include combinations of previously or not explicitly mentioned combinations

Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen . The following described with respect to the embodiments features or embodiments. The skilled person will also add individual aspects as improvements or additions to the respective basic form of the invention.

Nachfolgend ist die Erfindung unter Bezugnahme auf die The invention is described below with reference to FIGS

beiliegende Zeichnung und anhand eines Ausführungsbeispiels näher beschrieben. Es zeigen: Fig. 1 ein Übersichtsbild eines Systems gemäß einem Ausführungsbeispiel; und attached drawing and described in more detail with reference to an embodiment. Show it: 1 is an overview image of a system according to an embodiment; and

Fig. 2 ein Flussdiagramm eines Verfahrens gemäß einem 2 is a flowchart of a method according to a

Ausführungsbeispiel. Embodiment.

In den Figuren sind gleiche oder funktionsgleiche Elemente, sofern nichts anderes angegeben ist, mit denselben Bezugszeichen versehen. In the figures, identical or functionally identical elements are provided with the same reference numerals, unless stated otherwise.

Fig. 1 zeigt ein System 1 zum Schutz eines Computerprogramms 2 gegen unberechtigte Benutzu ng. Das System 1 hat eine externe Vorrichtung 10, welche ein Personalcomputer (PC) sein kann , der bei einem Originalausrüstungshersteller (OEM) oder einem 1 shows a system 1 for protecting a computer program 2 against unauthorized use. The system 1 has an external device 10, which may be a personal computer (PC) available from an original equipment manufacturer (OEM) or an OEM

sonstigen Anwender bereitgestellt ist. Zudem hat das System 1 eine Vorrichtung 20 zum Schutz des Computerprogramms 2 gegen unberechtigte Benutzung. Die Vorrichtung 20 kann eine numerisch gesteuerte Werkzeugmaschine (NC-Maschine) sein , welche other user is provided. In addition, the system 1 has a device 20 for protecting the computer program 2 against unauthorized use. The device 20 may be a numerically controlled machine tool (NC machine), which

Gegenstände in einer vorbestimmten Form, Werkstücke, fertigt. Objects in a predetermined shape, workpieces, manufactures.

Die externe Vorrichtung 10 hat eine The external device 10 has a

Schlüsselerzeugungseinrichtung 1 1 , von welcher ein Schlüssel 12 erzeugt wird, eine Anzeigeeinrichtung 13, eine Key generating device 1 1, from which a key 12 is generated, a display device 13, a

Schlüsselspeichereinrichtung 14 und eine Key memory device 14 and a

Dateiverschlüsselungseinrichtung 1 5. Die File Encryption Device 1 5. The

Schlüsselerzeugungseinrichtung 1 1 kann einen Schlüssel zum Ver- und Entschlüsseln des Computerprogramms bereitstellen . Die Schlüsselerzeugungseinrichtung 1 1 kann jedoch auch zwei verschiedene Schlüssel , also einen Verschlüsselungsschlüssel zum Verschlüsseln u nd einen Entschlüsselungsschlüssel zum  Key generator 1 1 may provide a key for encrypting and decrypting the computer program. However, the key generator 1 1 can also be two different keys, ie an encryption key for encryption and a decryption key for

Entschlüsseln bereitstellen . Nachfolgend ist der Einfachheit halber meist nur von dem Schlüssel 12 die Rede. Deploy Decrypt. Hereinafter, for the sake of simplicity, only the key 12 is mentioned.

Der Schlüssel 12 kann auf der Anzeigeeinrichtung 13 angezeigt werden , und kann in der Schlüsselspeichereinrichtung 14 gespeichert werden. Der Schlüssel 12 kann über einThe key 12 may be displayed on the display device 13, and may be stored in the key storage device 14 get saved. The key 12 can be over

Schlüsselherunterladen, beispielsweise mittels OpenSSL (= mittels frei verfügbarem Computerprogramm (Open Source) Ausführen der SSL- und TLS-Protokolle), für die Vorrichtung 20 zum Key download, for example by means of OpenSSL (= Open Source Execute the SSL and TLS protocols), for the device 20 for

Entschlüsseln des verschlüsselten Computerprogramms 1 1 bereitgestellt werden . Darüber hinaus kann der Schlüssel 12 der Dateiverschlüsselungseinrichtung 1 5 zur Verfügung gestellt werden . Decrypting the encrypted computer program 1 1 are provided. In addition, the key 12 of the file encryption device 1 5 can be provided.

Die Dateiverschlüsselungseinrichtung 15 hat eine The file encryption device 15 has a

Verschlüsselungseinrichtung 16 und eine Encryption device 16 and a

Verschlüsselungsanzeigeeinrichtu ng 17. Die  Encryption Display Setup 17. The

Dateiverschlüsselungseinrichtung 15 kann das unverschlüsselte File encryption device 15 may be the unencrypted

Computerprogramm 2 unter Verwendung des Schlüssels 12 mittels der Verschlüsselungseinrichtung 16 in ein verschlüsseltes Computer program 2 using the key 12 by means of the encryption device 16 in an encrypted

Computerprogramm 3 verschlüsseln. Die Verschlüsselung kann mittels der Verschlüsselungsanzeigeeinrichtung 17 angezeigt und überwacht werden. Encrypt computer program 3. The encryption can be displayed and monitored by means of the encryption display device 17.

Die Vorrichtung 20 hat eine Vorrichtungsanzeigeeinrichtung 21 , eine Steuereinrichtung 22, eine Computerprogramm- Speichereinrichtung 23, eine Arbeitsspeichereinrichtung 24 mit einem SRAM-Bereich 25 und einem RAM-Bereich 26, und eine Entschlüsselungseinrichtung 27. Der SRAM-Bereich ist ein statischer Speicher mit wahlfreiem Zugriff (SRAM = static Random Access Memory), der nicht periodisch aufgefrischt werden muss. Der RAM-Bereich ist ebenfalls ein Speicher mit wahlfreiem Zugriff (RAM = Random Access Memory) und ist vorzugsweise ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM = dynamic Random Access Memory), der periodisch aufgefrischt werden muss, kann jedoch auch ein statischer Speicher mit wahlfreiem Zugriff sein. Die Steuereinrichtung 22 führt die Funktionen einer The apparatus 20 has a device display device 21, a controller 22, a computer program memory device 23, a RAM 24 having an SRAM section 25 and a RAM section 26, and a decryption device 27. The SRAM section is a random access static memory (SRAM = static random access memory), which does not have to be refreshed periodically. The RAM area is also a random access memory (RAM) and is preferably a dynamic random access memory (DRAM) which must be periodically refreshed, but may also be a static random access memory Be access. The controller 22 performs the functions of

Herunterladeeinrichtung zum Herunterladen des von einer externen Vorrichtung 10 bereitgestellten Schlüssels 12 und einer  Downloading device for downloading the key 12 provided by an external device 10 and a

Speicherplatzverwaltungseinrichtung aus. Die Steuereinrichtung 22 kann auch die Funktion der Entschlüsselungseinrichtung 27 zur Entschlüsselung des verschlüsselten Computerprogramms 3 ausführen. Storage management device off. The controller 22 may also perform the function of the decryption device 27 for decrypting the encrypted computer program 3.

Die Steuereinrichtung 22 als Speicherplatzverwaltungseinrichtung verwaltet den Speicherplatz derart, dass das verschlüsselte The control device 22 as a memory space management device manages the memory space such that the encrypted

Computerprogramm 3 in der Computerprogramm- Speichereinrichtung 23 gespeichert wird und ist. I n der Computer program 3 is stored in the computer program storage device 23 and is. In the

Computerprogramm-Speichereinrichtung 23 gespeicherte Inhalte können grundsätzl ich mit der Vorrichtungsanzeigeeinrichtung 21 angezeigt werden. Dies ist mittels des weißen Blockpfeils A angegeben. Für verschlüsselte Programmteile oder für das gesamte verschlüsselte Computerprogramm 3 gelten jedoch die nachfolgend beschriebenen Einschränkungen. Computer program storage means 23 stored in principle can be displayed with the device display device 21. This is indicated by the white block arrow A. For encrypted program parts or for the entire encrypted computer program 3, however, the restrictions described below apply.

Die Steuereinrichtung 22 als Speicherplatzverwaltungseinrichtung verwaltet den Speicherplatz zudem derart, dass der Schlüssel 12, genauer gesagt der Entschlüsselungsschlüssel zur Entschlüsselung des verschlüsselten Computerprogramms 3, in dem SRAM-Bereich 25 gespeichert ist. Mit dem Schlüssel 12 kann das verschlüsselte Computerprogramm 3 unsichtbar in ein entschlüsseltes The control device 22 as a memory space management device also manages the memory space such that the key 12, more precisely the decryption key for decrypting the encrypted computer program 3, is stored in the SRAM area 25. With the key 12, the encrypted computer program 3 invisible in a decrypted

Computerprogramm 4 entschlüsselt werden . Das mit dem Computer program 4 are decrypted. That with the

Entschlüsselungsschlüssel, dem Schlüssel 12, entschlüsselte Computerprogramm 4 oder entschlüsselte Programmteile 4 werden dagegen von der Steuereinrichtung 22 als  Decryption key, the key 12, decrypted computer program 4 or decrypted program parts 4 are, however, by the controller 22 as

Speicherplatzverwaltungseinrichtung in dem RAM-Bereich 26 des Arbeitsplatzspeichers 24 gespeichert.  Memory management device stored in the RAM area 26 of the workstation memory 24.

Bei dem System 1 sind sämtliche Stellen berücksichtigt, wo I nhalte des Computerprogram ms 2 abgelegt, also nach der Verschlüsselu ng in den Speichereinrichtungen 23 und 24 In the system 1, all places are taken into account, where contents of the computer program ms 2 are stored, that is, after the Encryption in the storage devices 23 and 24

gespeichert, oder sichtbar, also der saved, or visible, so the

Vorrichtungsanzeigeeinrichtung 21 , werden. H ierbei ist zu  Device display device 21, be. Here is too

berücksichtigen, dass in dem Computerprogramm 2 verwendete Tabellendaten nicht verschlüsselt werden. take into account that table data used in computer program 2 will not be encrypted.

Fig. 2 veranschaulicht ein Verfahren zum Schutz des Fig. 2 illustrates a method for protecting the

Computerprogramms 2 gegen unberechtigte Benutzung. Nach dem Start des Verfahrens wird bei einem Schritt S 1 ein von der externen Vorrichtung 1 0 mit dem Schlüssel 12 verschlüsseltes Computerprogramm 3 in der Computerprogramm- Speichereinrichtung 23 gespeichert. Die Computerprogramm- Speichereinrichtung 23 ist vorzugsweise ein Netzwerkdateisystem , in welchem über ein Datennetzwerk verwendbare Dateien  Computer program 2 against unauthorized use. After starting the method, a computer program 3 encrypted by the external device 110 with the key 12 is stored in the computer program storage device 23 in a step S 1. The computer program storage device 23 is preferably a network file system in which files usable over a data network

gespeichert sind . Die Verschlüsselung des Computerprogramms 2 erfolgt also auf der externen Vorrichtung 10. Eine are stored. The encryption of the computer program 2 thus takes place on the external device 10

Nachverschlüsselung eines neuen Computerprogramms 2 ist offline möglich. Hierzu sind in der Schlüsselverwaltungseinrichtung 14 alle von der Schlüsselerzeugungseinrichtung 1 1 erzeugten Schlüssel 12 gespeichert. Nach dem Schritt S 1 geht der Ablauf zu dem Schritt S2 weiter. Post-encryption of a new computer program 2 is possible offline. For this purpose, all keys 12 generated by the key generation device 11 are stored in the key management device 14. After the step S 1, the flow advances to the step S2.

Bei dem Schritt S2 wird ein zum Entschlüsseln des verschlüsselten Com puterprogramms 3 bereitgestellter Entschlüsselungsschlüssel, der Schlüssel 12, in dem SRAM-Bereich 25 der At step S2, a decryption key provided to decrypt the encrypted computer program 3, the key 12, in the SRAM area 25 of FIG

Arbeitsspeichereinrichtung 24 gespeichert. Hierbei kann der von der externen Vorrichtung 10 erzeugte Schlüssel 12 mittels der Vorrichtung 20, genauer gesagt der Steuereinrichtung 22 als Herunterladeeinrichtung, von der externen Vorrichtung 10 Memory device 24 is stored. Here, the key 12 generated by the external device 10 can be picked up by the device 20, more specifically the controller 22 as the downloading device, from the external device 10

heruntergeladen werden. Über den explizit erzeugten Schlüssel 12 wird sichergestellt, dass nur der Originalausrüstungshersteller die verschlüsselten Inhalte entschlüsseln kann . Nach dem Schritt S2 geht der Ablauf des Verfahrens zu einem Schritt S3 über. Bei dem Schritt S3 entschlüsselt die Entschlüsselungseinrichtung 27 das verschlüsselte Computerprogramm 3 mit dem be downloaded. The explicitly generated key 12 ensures that only the original equipment manufacturer can decrypt the encrypted contents. After the step S2, the flow of the process goes to a step S3. At step S3, the decryption device 27 decrypts the encrypted computer program 3 with the

Entschlüsselu ngsschlüssel , dem Schlüssel 12. Hierbei werden das entschlüsselte Com puterprogramm 4 oder entschlüsselte Decryption key, the key 12. Here are the decrypted computer program 4 or decrypted

Computerprogrammteile 4 in dem RAM-Bereich 26 der Computer program parts 4 in the RAM area 26 of

Arbeitsspeichereinrichtung 24 gespeichert. Nach dem Schritt S3 geht der Ablauf zu einem Schritt S4 weiter. Memory device 24 is stored. After the step S3, the flow advances to a step S4.

Bei dem Schritt S4 wird geprüft, ob ein Coredump des RAM- Bereichs 26 der Arbeitsspeichereinrichtung 24 ausgeführt werden soll, ob mit dem verschlüsselten Computerprogramm 3 eine In step S4, it is checked whether a core dump of the RAM area 26 of the working memory device 24 should be executed, whether with the encrypted computer program 3

Simulation ausgeführt werden soll, ob das verschlüsselte Simulation should be executed, whether the encrypted

Computerprogramm 3 mittels der Vorrichtungsanzeigeeinrichtung 21 angezeigt werden soll , oder ob mit der Computer program 3 is to be displayed by means of the device display device 21, or whether with the

Vorrichtungsanzeigeeinrichtung 21 von der Device display device 21 of the

Entschlüsselungseinrichtung 27 entschlüsselte Decryption device 27 decrypted

Computerprogrammteile 4 oder das von der Computer program parts 4 or that of the

Entschlüsselungseinrichtung 27 entschlüsselte Computerprogramm 4 angezeigt werden soll. Lautet die Antwort bei dem Schritt S4 NEIN ist das Verfahren beendet. Lautet die Antwort bei dem Schritt S4 hingegen JA, geht der Fluss zu dem Schritt S5 weiter. Der Schritt S4 und der Schritt S5 werden laufend während des Ablaufs des entschlüsselten Computerprogramms 4 in der Vorrichtung 20 ausgeführt.  Decryption device 27 decrypted computer program 4 should be displayed. If the answer is NO at step S4, the procedure is ended. On the other hand, if the answer is YES in step S4, the flow proceeds to step S5. The step S4 and the step S5 are executed continuously during the execution of the decrypted computer program 4 in the device 20.

Bei dem Schritt S5 wird ein Coredump verhindert, wenn das entschlüsselte Com puterprogramm 4 oder entschlüsselte At step S5, a coredump is prevented when the decrypted computer program is 4 or decrypted

Computerprogrammteile 4 in dem RAM-Bereich 26 der Computer program parts 4 in the RAM area 26 of

Arbeitsspeichereinrichtung 27 stehen. Ein Coredump steht für den aufgezeichneten Zustand des Arbeitsspeichers eines Main memory 27 are. A core dump represents the recorded state of the main memory

Computerprogramms bei einer vorbestimmten Zeit. Der Coredump zeigt an den betreffenden Stellen nur einen Hinweis auf  Computer program at a predetermined time. The coredump shows only a hint at the relevant points

Dateiverschlüsselung. Im Allgemeinen ist die vorbestimmte Zeit die Zeit, wenn das Computerprogramm abnormal beendet wurde. File encryption. In general, the predetermined time is the Time when the computer program ended abnormally.

Zudem wird bei dem Schritt S5 eine Simulation mit dem In addition, in step S5, a simulation with the

verschlüsselten Computerprogramm 3 verhindert, wenn das entschlüsselte Com puterprogramm 4 oder entschlüsselte encrypted computer program 3 prevents the decrypted computer program 4 or decrypted

Computerprogrammteile 4 in dem RAM-Bereich 26 der Computer program parts 4 in the RAM area 26 of

Arbeitsspeichereinrichtung 24 stehen. Ferner wird bei dem Schritt S5 eine Anzeige des verschlüsselten Computerprogramms 3 mittels der Vorrichtungsanzeigeeinrichtung 21 verhindert, wenn das verschlüsselte Computerprogramm 3 zur Anzeige auf der Memory device 24 are. Further, in step S5, display of the encrypted computer program 3 by means of the device display device 21 is prevented when the encrypted computer program 3 is displayed for display on the computer

Vorrichtungsanzeigeeinrichtung 21 geöffnet werden soll . In diesem Fall wird m it der Vorrichtungsanzeigeeinrichtung 21 eine Device display device 21 is to be opened. In this case, the device display device 21 becomes a

Fehlermeldung ausgegeben . Zudem wird bei dem Schritt S5 verhindert, dass das von der Entschlüsselungseinrichtung 27 entschlüsselte Computerprogramm 4 oder die von der Error message issued. In addition, in step S5, it is prevented that the computer program 4 decrypted by the decryption means 27 or that of the

Entschlüsselungseinrichtung 27 entschlüsselten Decryption device 27 decrypted

Computerprogrammteile mit der Vorrichtungsanzeigeeinrichtung 21 angezeigt werden. Computer program parts are displayed with the device display device 21.

Nach dem Schritt S5 ist das Verfahren beendet. Durch die Verhinderung des Coredumps, wenn das entschlüsselte Computerprogramm 4 oder die entschlüsselten After the step S5, the process is finished. By preventing the coredump, when the decrypted computer program 4 or the decrypted

Computerprogrammteile 4 im RAM-Bereich 26 stehen, wird verhindert, dass die Verschlüsselung des Computerprogramms 2 ausgehebelt wird. Dies wäre zum Beispiel der Fall, wenn sichtbare Programmteile des entschlüsselten Computerprogramms 4 in einem Coredump nicht gelöscht oder unkenntlich gemacht wären . Computer program parts 4 are in the RAM area 26, it is prevented that the encryption of the computer program 2 is canceled. This would be the case, for example, if visible program parts of the decrypted computer program 4 were not deleted or rendered unrecognizable in a core dump.

Zudem bewirkt der Schritt S5, dass bei einem In addition, the step S5 causes that at a

Simulationsprogramm, wie beispielsweise EWB (Electronics Simulation program, such as EWB (Electronics

Workbench), verschlüsselte Programme, wie das verschlüsselte Computerprogramm 3, bei einer Analyse nicht berücksichtigt werden. Bei dem zuvor beschriebenen System 1 erlauben die Funktionen VREC/I REC keine DI N-Code-Ausgaben von verschlüsselten Workbench), encrypted programs, such as the encrypted computer program 3, are ignored during an analysis. In the above-described system 1, the VREC / I REC functions do not allow DI N-code outputs of encrypted ones

Computerprogrammen 3. Zudem liefern die Items NCS , OPC und SCP für das verschlüsselte Computerprogramm 3 keinen Computer programs 3. In addition, deliver the items NCS, OPC and SCP for the encrypted computer program 3 none

Programmcode. Program code.

Bei dem zuvor beschriebenen System 1 ist eine zusätzliche In the system 1 described above is an additional

Verschlüsselung über eine CF-Kartennummer zum Kopierschutz nicht erforderlich, da der Schlüssel 12 auf der Steuereinrichtung 22, genauer gesagt in dem SRAM-Bereich 25, bleibt. Aufgrund der zuvor beschriebenen Fu nktionalität des Systems 1 ist eine Fremdunterstützung für das verschlüsselte  Encryption over a CF card number for copy protection is not required since the key 12 remains on the controller 22, more precisely in the SRAM area 25. Due to the above-described Fu nktionalität the system 1 is a third party support for the encrypted

Computerprogramm 3 nicht möglich. Computer program 3 not possible.

Mit dem zuvor beschriebenen System 1 ist es möglich, dass ein verschlüsseltes Computerprogramm 3 keinerlei Auswirkungen auf das Laufzeitverhalten der Vorrichtung 20 hat. With the system 1 described above, it is possible that an encrypted computer program 3 has no effect on the runtime behavior of the device 20.

Wird bei dem zuvor beschriebenen System 1 ein Tausch der Is in the previously described system 1 is an exchange of

Steuereinrichtung 22 vorgenommen , ist es vorteilhaft, wenn der Schlüssel 12 von der externen Vorrichtung 10 in die neue Control device 22 made, it is advantageous if the key 12 from the external device 10 in the new

Steuereinrichtung 22 gebracht wird . Alternativ ist es auch möglich , alle Computerprogramme 2 mit dem neuen Schlüssel 12 neu zu verschlüsseln. Die Schlüsselerzeugung bei der externen Vorrichtung 10 kann bei Bedarf über frei erhältliche Software (Freeware) erfolgen. Die Schlüsselerzeugung sollte nicht im Indraworks integriert werden .  Control device 22 is brought. Alternatively, it is also possible to re-encrypt all computer programs 2 with the new key 12. The key generation at the external device 10 can be done on demand via freely available software (freeware). Key generation should not be integrated with Indraworks.

Bei dem beschriebenen System 1 werden beim Technologieschutz sämtliche Stellen berücksichtigt, wo Inhalte des In the described system 1, all places are considered in technology protection, where contents of the

Computerprogramms 2 abgelegt werden (Dateisystem) oder sichtbar (Bedienoberfläche bzw. Anzeigeeinrichtung 21 ) werden. Dies sind der NC-Editor (Bearbeitungseinrichtung der numerischen Steuereinrichtung), die NC-Satzanzeige, der NC-Analyzer (NC- Analyseeinrichtung), die Simulation , der Computer program 2 are stored (file system) or visible (user interface or display device 21). These are the NC-Editor (processing device of the numeric Control unit), the NC block display, the NC analyzer (NC analyzer), the simulation, the

Computerprogrammnavigator und das Dateisystem. Computer program navigator and the file system.

Im NC-Editor können verschlüsselte Programme nicht geöffnet werden. Auf der Anzeigeeinrichtung 21 kommen in der Statuszeile ein Hinweis und ein leeres Anzeigefenster. In the NC editor, encrypted programs can not be opened. On the display device 21 come in the status bar a note and an empty display window.

Bei der NC-Satzanzeige enthält das Satzanzeigefenster im Falle von verschlüsselten Programmteilen nur eine Hinweiszeile For the NC block display, the block display window contains only one reference line in the case of encrypted program parts

„verschlüsseltes Programm". "encrypted program".

Bei dem NC- Analyzer enthält das Programmanzeigefenster im Falle von verschlüsselten Programmteilen nur eine Hinweiszeile „verschlüsseltes Programm". Für die Simulation gilt das Gleiche. In the NC analyzer, the program display window contains only one "encrypted program" information line in the case of encrypted program parts.

Im Computerprogrammnavigator bekommen verschlüsselte Dateien eine besondere Kennzeichnung. In the computer program navigator encrypted files receive a special identification.

Im Dateisystem, der Computerprogramm-Speichereinrichtung 23, liegen alle zu schützenden Dateien nur in verschlüsselter Form vor. In the file system, the computer program storage device 23, all files to be protected are present only in encrypted form.

Wird ein Archiv erstellt, werden alle verschlüsselten Dateien, welche in der Computerprogramm-Speichereinrichtung 23 When an archive is created, all encrypted files stored in the computer program storage device 23

gespeichert sind , mitgesichert. saved.

Mit dem zuvor beschriebenen System 1 und dem Verfahren, die einen NC-Program mschutz bieten , können Unterprogramme bzw. Zyklen verschlüsselt und anschließend geschützt in der With the system 1 described above and the method which provide NC program protection, subroutines or cycles can be encrypted and then protected in the

Steuereinrichtung 22 abgelegt werden. Die Abarbeitung in der numerischen Steuerung (NC) ist ohne Einschränkung möglich aber jegliche Einsicht in das NC-Programm , das Computerprogramm 3, ist blockiert. Da mit wird das interne Know-how geschützt. Das NC- Programm kann aber in der verschlüsselten Form , also als Computerprogramm 3, kopiert werden. Damit ist die Nutzung auch an weiteren Maschinen möglich. Wenn auch das verhindert werden soll , kann das NC-Programm durch eine Control device 22 are stored. The processing in the numerical control (NC) is possible without restriction but any insight into the NC program, the computer program 3, is blocked. As a result, the internal know-how is protected. The NC program can, however, in the encrypted form, ie as Computer program 3, to be copied. Thus, the use of other machines is possible. If this should also be prevented, the NC program can be replaced by a

verschlüsselu ngstechnische Ergänzung fest an eine NC- oder CNC- Hardware gebunden werden . encryption supplement to be firmly bound to an NC or CNC hardware.

Bei dem zuvor beschriebenen System 1 und dem Verfahren ist es nicht möglich, dass bei Serviceeinsätzen das verschlüsselte In the above-described system 1 and the method, it is not possible that the encrypted

Computerprogramm 3 oder eine andere verschlüsselte Datei vor Ort von einem Service-Techniker entschlüsselt werden kann. Das unverschlüsselte Computerprogramm 2 oder die unverschlüsselte Datei muss der Betreiber der externen Vorrichtung 10, der OEM, bereitstellen. Daher wird bei dem zuvor beschriebenen System 1 kein Generalschlüssel verwendet. Das Verantwortungsbewusstsein liegt beim OEM. Computer program 3 or other encrypted file can be decrypted locally by a service technician. The unencrypted computer program 2 or the unencrypted file must be provided by the external device operator 10, the OEM. Therefore, in the above-described system 1, no master key is used. The sense of responsibility lies with the OEM.

Alle zuvor beschriebenen Ausgestaltungen des Verfahrens und der Vorrichtung können einzeln oder in allen möglichen Kombinationen Verwendung finden. Zusätzlich sind insbesondere folgende All of the above-described embodiments of the method and the device can be used individually or in all possible combinations. In addition, in particular are the following

Modifikationen denkbar. Modifications conceivable.

Vorzugsweise wird für die Verschlüsselung in der externen Preferably, for encryption in the external

Vorrichtung 10 ein Algorithmus verwendet, der weder gegen Device 10 uses an algorithm that is neither against

Exportbeschränkungen oder Embargovorschriften verstößt. Hierbei werden zum Ver- und Entschlüsseln zwei verschiedene Schlüssel verwendet. Müssen solche Exportbeschränkungen oder Export restrictions or embargo regulations violates. Here, two different keys are used for encryption and decryption. Must such export restrictions or

Embargovorschriften nicht beachtet werden, ist es auch möglich, den gleichen Schlüssel zum Ver- und Entschlüsseln zu verwenden. I n diesem Fall handelt es sich um ein symmetrisches Verfahren. Die Datensicherung, Versionsverwaltung und Versionskontrolle des Computerprogramms 2 bzw. 3 kann automatisch durch erneute Verschlüsselung und Vergleich des Quelltextes erfolgen. Anstelle des Verhinderns eines Coredu mps ist es auch möglich, dass, die Auswertung des Coredump nur mit einer Embargo rules are ignored, it is also possible to use the same key for encryption and decryption. In this case, it is a symmetrical method. The data backup, version management and version control of the computer program 2 or 3 can be done automatically by re-encryption and comparison of the source text. Instead of preventing a coredu mps, it is also possible that, the evaluation of the coredump with only one

Entwicklungsumgebung zur Entwicklu ng des Computerprogramms 2 sowie dem Quellcode des Computerprogramms 2 möglich ist. Development environment for the development of the computer program 2 and the source code of the computer program 2 is possible.

Claims

Patentansprüche claims 1 . Verfahren zum Schutz eines Computerprogramms (2) gegen unberechtigte Benutzung, mit den Schritten 1 . Method for protecting a computer program (2) against unauthorized use, comprising the steps Speichern (S 1 ) eines von einer externen Vorrichtung ( 10) mit einem Schlüssel (1 2) verschlüsselten Computerprogramms (3) in einer Computerprogramm-Speichereinrichtung (23),  Storing (S 1) a computer program (3) encrypted by an external device (10) with a key (1 2) in a computer program storage device (23), Speichern (S2) eines zum Entschlüsseln des verschlüsselten Computerprogramms (3) bereitgestellten Schlüssels (12) in einem SRAM-Bereich (25) einer Arbeitsspeichereinrichtung (24), und Storing (S2) a key (12) provided for decrypting the encrypted computer program (3) in a SRAM area (25) of a working memory device (24), and Entschlüsseln (S3) des verschlüsselten Computerprogramms (3) m it dem Schlüssel ( 12), wobei das entschlüsselte  Decrypting (S3) the encrypted computer program (3) with the key (12), wherein the decrypted Computerprogramm (4) oder entschlüsselte Computer program (4) or decrypted Computerprogrammteile (4) in einem RAM-Bereich (26) der Computer program parts (4) in a RAM area (26) of the Arbeitsspeichereinrichtung (24) gespeichert werden. Memory device (24) are stored. 2. Verfahren nach Anspruch 1 , wobei der Schritt des Speicherns (S2) des Schlüssels (12) umfasst, dass der von der externenThe method of claim 1, wherein the step of storing (S2) the key (12) comprises that of the external one Vorrichtung (10) erzeugte und auf ihr gespeicherte Schlüssel ( 12) von der externen Vorrichtung (10) mittels einer Vorrichtu ng (20) heruntergeladen wird, welche das Verfahren ausführt. Device (10) generated and stored on its key (12) from the external device (10) by means of a Vorrichtu ng (20) is downloaded, which performs the method. 3. Verfahren nach Anspruch 1 oder 2 , zudem mit dem Schritt des Verhinderns eines Coredump, wenn das entschlüsselte 3. The method of claim 1 or 2, further comprising the step of preventing a coredump when the decrypted Computerprogramm (4) oder entschlüsselte Computer program (4) or decrypted Computerprogrammteile (4) in dem RAM-Bereich (26) der Computer program parts (4) in the RAM area (26) of Arbeitsspeichereinrichtung (24) stehen . Working memory device (24) stand. 4. Verfahren nach einem der vorangehenden Ansprüche, zudem mit dem Schritt des Verhinderns (S5) einer Simulation mit dem verschlüsselten Computerprogramm (3), wenn das entschlüsselte Computerprogramm (4) oder entschlüsselte A method according to any one of the preceding claims, further comprising the step of preventing (S5) a simulation with the encrypted computer program (3) when the decrypted computer program (4) or decrypted computer program (4) Computerprogrammteile (4) in dem RAM-Bereich (26) der Computer program parts (4) in the RAM area (26) of Arbeitsspeichereinrichtung (24) stehen . Working memory device (24) stand. 5. Verfahren nach einem der vorangehenden Ansprüche, zudem mit dem Schritt des Verhinderns (S5) einer Anzeige des A method according to any one of the preceding claims, further comprising the step of preventing (S5) a display of verschlüsselten Computerprogramms (4) mittels einer encrypted computer program (4) by means of a Anzeigeeinrichtung (21 ) und Ausgebens einer Fehlermeldung, wenn das verschlüsselte Computerprogramm (4) zur Anzeige auf der Anzeigeeinrichtung (21 ) geöffnet werden soll.  Display device (21) and outputting an error message when the encrypted computer program (4) is to be opened for display on the display device (21). 6. Verfahren nach einem der vorangehenden Ansprüche, zudem mit dem Schritt des Verhinderns (S5) einer Anzeige des von der Entschlüsselu ngseinrichtung (27) entschlüsselten A method according to any one of the preceding claims, further comprising the step of preventing (S5) a display of the decrypted by said decryption means (27) Computerprogramms (4) oder von der Entschlüsselungseinrichtung ( 27) entschlüsselter Computerprogrammteile (4) mittels einer Anzeigeeinrichtung (21 ). Computer program (4) or by the decoding device (27) decrypted computer program parts (4) by means of a display device (21). 7. Verfahren nach einem der vorangehenden Ansprüche, wobei bei dem Computerprogramm (2) verwendete Tabellendaten nicht verschlüsselt sind . 7. The method according to any one of the preceding claims, wherein in the computer program (2) used table data are not encrypted. 8. Vorrichtung (20) zum Schutz eines Computerprogramms (2) gegen unberechtigte Benutzung, mit 8. Device (20) for protecting a computer program (2) against unauthorized use, with einer Herunterladeeinrichtung (22) zum Herunterladen eines von einer externen Vorrichtung (10) bereitgestellten Schlüssels (12) zum Entschlüsseln eines von der externen Vorrichtung ( 10) m it dem Schlüssel verschlüsselten Computerprogramms (3), a downloading device (22) for downloading a key provided by an external device (10) (12) for decrypting a computer program (3) encrypted by the external device (10) with the key, einer Entschlüsselungseinrichtung (27) zur Entschlüsselung des verschlüsselten Computerprogramms (3), und a decryption device (27) for decrypting the encrypted computer program (3), and einer Speicherplatzverwaltungseinrichtung (22) zur Verwaltung von Speicherplatz derart, dass a storage management device (22) for managing storage space such that das verschlüsselte Computerprogramm (3) in einer the encrypted computer program (3) in one Computerprogramm-Speichereinrichtung (23) gespeichert wird , der von der Herunterladeeinrichtung (22) heruntergeladene Computer program storage means (23) downloaded from the downloading means (22) Schlüssel in einem SRAM-Bereich (25) einer Key in a SRAM area (25) one Arbeitsspeichereinrichtung (24) gespeichert wird , und Memory device (24) is stored, and das von der Entschlüsselungseinrichtung (27) entschlüsselte that decrypted by the decryption device (27) Computerprogramm (4) oder von der Entschlüsselungseinrichtung (27) entschlüsselte Computerprogrammteile (4) in einem SRAM- Bereich (25) der Arbeitsspeichereinrichtung (24) gespeichert wird/werden. Computer program (4) or by the decryption device (27) decrypted computer program parts (4) in an SRAM area (25) of the working memory device (24) is stored / be. 9. Vorrichtung (20) nach Anspruch 8, wobei die Vorrichtung (20) eine Steuervorrichtung zur Steuerung einer numerisch gesteuerten Werkzeugmaschine ist, das Computerprogramm (2) das 9. Device (20) according to claim 8, wherein the device (20) is a control device for controlling a numerically controlled machine tool, the computer program (2) the Steuerprogramm der numerisch gesteuerten Werkzeugmaschine ist, und die Computerprogramm-Speichereinrichtung (23) ein Control program of the numerically controlled machine tool, and the computer program memory device (23) Netzwerkdateisystem der numerisch gesteuerten Network file system of the numerically controlled Werkzeugmaschine ist. Machine tool is. 10. System ( 1 ) zum Schutz eines Computerprogramms (2) gegen unberechtigte Benutzung, mit 10. System (1) for the protection of a computer program (2) against unauthorized use, with einer Vorrichtung (20) nach Anspruch 8 oder 9, und  a device (20) according to claim 8 or 9, and einer externen Vorrichtung (10) zum Erzeugen, Speichern und Bereitstellen eines Schlüssels (12) zum Verschlüsseln des Computerprogramms (2) und/oder zum Entschlüsseln des  an external device (10) for generating, storing and providing a key (12) for encrypting the computer program (2) and / or decrypting the verschlüsselten Computerprogramms (3). encrypted computer program (3).
PCT/EP2012/004658 2011-12-06 2012-11-09 Method and device for protecting a computer program against unauthorised use Ceased WO2013083224A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102011120175.4 2011-12-06
DE102011120175A DE102011120175A1 (en) 2011-12-06 2011-12-06 Method and device for protecting a computer program against unauthorized use

Publications (1)

Publication Number Publication Date
WO2013083224A1 true WO2013083224A1 (en) 2013-06-13

Family

ID=47278743

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/004658 Ceased WO2013083224A1 (en) 2011-12-06 2012-11-09 Method and device for protecting a computer program against unauthorised use

Country Status (2)

Country Link
DE (1) DE102011120175A1 (en)
WO (1) WO2013083224A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6430926B2 (en) 2015-12-24 2018-11-28 ファナック株式会社 Numerical control device, method, and computer program for controlling machine tool

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670857A (en) * 1981-10-26 1987-06-02 Rackman Michael I Cartridge-controlled system whose use is limited to authorized cartridges
EP1056015A1 (en) * 1998-01-21 2000-11-29 Tokyo Electron Limited Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
US20060059368A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation System and method for processing by distinct entities securely configurable circuit chips
US7092783B2 (en) 2002-10-24 2006-08-15 Siemens Aktiengesellschaft Programming and operating method for a programmable industrial controller, in particular a CNC controller
US20070150755A1 (en) * 2005-12-28 2007-06-28 Nec Electronics Corporation Microcomputer, method for writing program to microcomputer, and writing system
EP1556743B1 (en) 2003-10-17 2011-08-10 Trinary Anlagenbau GmbH Method and device for preventing a control error of a machine tool

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7492783B2 (en) 2003-12-12 2009-02-17 Broadcom Corporation Method and system for LIPf7 origination detection and LIPf8 suppression in a port bypass controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670857A (en) * 1981-10-26 1987-06-02 Rackman Michael I Cartridge-controlled system whose use is limited to authorized cartridges
EP1056015A1 (en) * 1998-01-21 2000-11-29 Tokyo Electron Limited Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
US7092783B2 (en) 2002-10-24 2006-08-15 Siemens Aktiengesellschaft Programming and operating method for a programmable industrial controller, in particular a CNC controller
EP1556743B1 (en) 2003-10-17 2011-08-10 Trinary Anlagenbau GmbH Method and device for preventing a control error of a machine tool
US20060059368A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation System and method for processing by distinct entities securely configurable circuit chips
US20070150755A1 (en) * 2005-12-28 2007-06-28 Nec Electronics Corporation Microcomputer, method for writing program to microcomputer, and writing system

Also Published As

Publication number Publication date
DE102011120175A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
EP1393146B1 (en) Method and system for the distributed creation of a program for a programmable portable data carrier
EP3012761B1 (en) Protection of software models
DE102007005638B4 (en) Method for authorizing access to at least one automation component of a technical installation
DE102012110499A1 (en) Safety access procedure for electronic automotive control units
EP3649768A1 (en) Method for the secure replacement of a first manufacturer certificate already incorporated into a device
EP1184771A1 (en) Method and device for protection of computer software and/or computer-readable data
WO2011054639A1 (en) Cryptographic hardware module or method for updating a cryptographic key
WO2005047993A1 (en) Method and device for preventing a control error of a machine tool
EP3698221B1 (en) Method for protecting the production data for producing a product
DE102015201298A1 (en) Method for the cryptographic processing of data
DE3705736A1 (en) METHOD FOR SECURING PROGRAMS AND PROGRAMS SAVED FOR INTEGRITY
EP4288886B1 (en) Provision of data to be protected in a secure execution environment of a data processing system
WO2013083224A1 (en) Method and device for protecting a computer program against unauthorised use
EP2499593A1 (en) Method and system for resolving a naming conflict
WO2019238345A1 (en) Secure management of access data for control devices
DE112005000042T5 (en) Peripheral unit for a programmable logic controller
EP4141722A1 (en) Safe operation of an industrial controller together with an ai module
WO2005093668A1 (en) Documentation for a motor vehicle service measures
DE102018005284A1 (en) Chip personalization of an embedded system by a third party
EP1715404A1 (en) System for the storage and recovery of confidential information
DE102005046696B4 (en) A method for generating protected program code and method for executing program code of a protected computer program and computer program product
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
DE10324507A1 (en) Method for loading data into a storage device
EP1784756A2 (en) Method and security system for the secure and unambiguous coding of a security module
DE102022131254A1 (en) Method for encrypting a source text, method for decrypting a source text and development system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12794860

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 95022012

Country of ref document: AT

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 12794860

Country of ref document: EP

Kind code of ref document: A1