US20070150755A1 | 2007-06-28 | |||
US4670857A | 1987-06-02 | |||
EP1056015A1 | 2000-11-29 | |||
US20060059368A1 | 2006-03-16 | |||
US7092783B2 | 2006-08-15 | |||
EP1556743B1 | 2011-08-10 |
Patentansprüche 1 . Verfahren zum Schutz eines Computerprogramms (2) gegen unberechtigte Benutzung, mit den Schritten Speichern (S 1 ) eines von einer externen Vorrichtung ( 10) mit einem Schlüssel (1 2) verschlüsselten Computerprogramms (3) in einer Computerprogramm-Speichereinrichtung (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 Entschlüsseln (S3) des verschlüsselten Computerprogramms (3) m it dem Schlüssel ( 12), wobei das entschlüsselte Computerprogramm (4) oder entschlüsselte Computerprogrammteile (4) in einem RAM-Bereich (26) der Arbeitsspeichereinrichtung (24) gespeichert werden. 2. Verfahren nach Anspruch 1 , wobei der Schritt des Speicherns (S2) des Schlüssels (12) umfasst, dass der von der externen 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. 3. Verfahren nach Anspruch 1 oder 2 , zudem mit dem Schritt des Verhinderns eines Coredump, wenn das entschlüsselte Computerprogramm (4) oder entschlüsselte Computerprogrammteile (4) in dem RAM-Bereich (26) der Arbeitsspeichereinrichtung (24) stehen . 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 Computerprogrammteile (4) in dem RAM-Bereich (26) der Arbeitsspeichereinrichtung (24) stehen . 5. Verfahren nach einem der vorangehenden Ansprüche, zudem mit dem Schritt des Verhinderns (S5) einer Anzeige des verschlüsselten Computerprogramms (4) mittels einer Anzeigeeinrichtung (21 ) und Ausgebens einer Fehlermeldung, wenn das verschlüsselte Computerprogramm (4) zur Anzeige auf der Anzeigeeinrichtung (21 ) geöffnet werden soll. 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 Computerprogramms (4) oder von der Entschlüsselungseinrichtung ( 27) entschlüsselter Computerprogrammteile (4) mittels einer Anzeigeeinrichtung (21 ). 7. Verfahren nach einem der vorangehenden Ansprüche, wobei bei dem Computerprogramm (2) verwendete Tabellendaten nicht verschlüsselt sind . 8. Vorrichtung (20) zum Schutz eines Computerprogramms (2) gegen unberechtigte Benutzung, mit 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), einer Entschlüsselungseinrichtung (27) zur Entschlüsselung des verschlüsselten Computerprogramms (3), und einer Speicherplatzverwaltungseinrichtung (22) zur Verwaltung von Speicherplatz derart, dass das verschlüsselte Computerprogramm (3) in einer Computerprogramm-Speichereinrichtung (23) gespeichert wird , der von der Herunterladeeinrichtung (22) heruntergeladene Schlüssel in einem SRAM-Bereich (25) einer Arbeitsspeichereinrichtung (24) gespeichert wird , und das von der Entschlüsselungseinrichtung (27) entschlüsselte Computerprogramm (4) oder von der Entschlüsselungseinrichtung (27) entschlüsselte Computerprogrammteile (4) in einem SRAM- Bereich (25) der Arbeitsspeichereinrichtung (24) gespeichert wird/werden. 9. Vorrichtung (20) nach Anspruch 8, wobei die Vorrichtung (20) eine Steuervorrichtung zur Steuerung einer numerisch gesteuerten Werkzeugmaschine ist, das Computerprogramm (2) das Steuerprogramm der numerisch gesteuerten Werkzeugmaschine ist, und die Computerprogramm-Speichereinrichtung (23) ein Netzwerkdateisystem der numerisch gesteuerten Werkzeugmaschine ist. 10. System ( 1 ) zum Schutz eines Computerprogramms (2) gegen unberechtigte Benutzung, mit einer Vorrichtung (20) nach Anspruch 8 oder 9, und 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 verschlüsselten Computerprogramms (3). |
COMPUTERPROG RAMMS GEGEN UNBERECHTIGTE
BENUTZUNG
Besch rei bung
Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Schutz eines Computerprogramms gegen
unberechtigte Benutzung. Das Verfahren und die Vorrichtung können insbesondere bei einer Steuervorrichtung zur Steuerung einer Werkzeugmaschine Verwendung finden.
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
Steuerprogramms selbst nicht verschlüsselt ist.
EP 1 556 743 B2 offenbart ein Verfahren zur Vermeidung einer fehlerhaften Maschinenansteuerung durch
Maschlnensteuerparameter einer Werkzeugmaschine. Hier werden die Maschlnensteuerparameter mittels eines Chiffrierverfahrens verschlüsselt. Anschließend werden die Maschlnensteuerparameter auf der Werkzeugmaschine dechiffriert und geprüft.
Bei den genannten Verfahren werden jedoch das verwendete
Computerprogramm und/oder Teile davon nicht verschlüsselt. Das bedeutet, dass die genannten Verfahren die verwendeten
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
Computerprogramms oder zumindest von Programmteilen möglich. Demzufolge können die genannten Verfahren ein Geheim halten von technologischem Wissen durch Verschlüsselung nicht
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
Investitionskosten nicht gegeben .
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
Computerprogramms gegen unberechtigte Benutzung bereitgestellt werden, bei welchen insbesondere Unterprogramme vor
unberechtigter Einsicht und/oder Nutzung geschützt werden können.
Diese Aufgabe wird durch ein Verfahren zum Schutz eines
Computerprogramms gegen unberechtigte Benutzung nach
Patentanspruch 1 gelöst.
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.
Vorteilhafte weitere Ausgestaltungen des Verfahrens und der Vorrichtung sind in den abhängigen Patentansprüchen angegeben.
Das beschriebene Verfahren und die beschriebene Vorrichtung sowie das System stellen sicher, dass auch beim Ablauf des
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 .
Mit dem beschriebenen Verfahren und der beschriebenen
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.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im
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 .
Nachfolgend ist die Erfindung unter Bezugnahme auf die
beiliegende Zeichnung und anhand eines Ausführungsbeispiels näher beschrieben. Es zeigen: Fig. 1 ein Übersichtsbild eines Systems gemäß einem Ausführungsbeispiel; und
Fig. 2 ein Flussdiagramm eines Verfahrens gemäß einem
Ausführungsbeispiel.
In den Figuren sind gleiche oder funktionsgleiche Elemente, sofern nichts anderes angegeben ist, mit denselben Bezugszeichen versehen.
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
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
Gegenstände in einer vorbestimmten Form, Werkstücke, fertigt.
Die externe Vorrichtung 10 hat eine
Schlüsselerzeugungseinrichtung 1 1 , von welcher ein Schlüssel 12 erzeugt wird, eine Anzeigeeinrichtung 13, eine
Schlüsselspeichereinrichtung 14 und eine
Dateiverschlüsselungseinrichtung 1 5. Die
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
Entschlüsseln bereitstellen . Nachfolgend ist der Einfachheit halber meist nur von dem Schlüssel 12 die Rede.
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 ein
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
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 .
Die Dateiverschlüsselungseinrichtung 15 hat eine
Verschlüsselungseinrichtung 16 und eine
Verschlüsselungsanzeigeeinrichtu ng 17. Die
Dateiverschlüsselungseinrichtung 15 kann das unverschlüsselte
Computerprogramm 2 unter Verwendung des Schlüssels 12 mittels der Verschlüsselungseinrichtung 16 in ein verschlüsseltes
Computerprogramm 3 verschlüsseln. Die Verschlüsselung kann mittels der Verschlüsselungsanzeigeeinrichtung 17 angezeigt und überwacht werden.
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
Herunterladeeinrichtung zum Herunterladen des von einer externen Vorrichtung 10 bereitgestellten Schlüssels 12 und einer
Speicherplatzverwaltungseinrichtung aus. Die Steuereinrichtung 22 kann auch die Funktion der Entschlüsselungseinrichtung 27 zur Entschlüsselung des verschlüsselten Computerprogramms 3 ausführen.
Die Steuereinrichtung 22 als Speicherplatzverwaltungseinrichtung verwaltet den Speicherplatz derart, dass das verschlüsselte
Computerprogramm 3 in der Computerprogramm- Speichereinrichtung 23 gespeichert wird und ist. I n der
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.
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
Computerprogramm 4 entschlüsselt werden . Das mit dem
Entschlüsselungsschlüssel, dem Schlüssel 12, entschlüsselte Computerprogramm 4 oder entschlüsselte Programmteile 4 werden dagegen von der Steuereinrichtung 22 als
Speicherplatzverwaltungseinrichtung in dem RAM-Bereich 26 des Arbeitsplatzspeichers 24 gespeichert.
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
gespeichert, oder sichtbar, also der
Vorrichtungsanzeigeeinrichtung 21 , werden. H ierbei ist zu
berücksichtigen, dass in dem Computerprogramm 2 verwendete Tabellendaten nicht verschlüsselt werden.
Fig. 2 veranschaulicht ein Verfahren zum Schutz des
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
gespeichert sind . Die Verschlüsselung des Computerprogramms 2 erfolgt also auf der externen Vorrichtung 10. Eine
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.
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
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
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
Entschlüsselu ngsschlüssel , dem Schlüssel 12. Hierbei werden das entschlüsselte Com puterprogramm 4 oder entschlüsselte
Computerprogrammteile 4 in dem RAM-Bereich 26 der
Arbeitsspeichereinrichtung 24 gespeichert. Nach dem Schritt S3 geht der Ablauf zu einem Schritt S4 weiter.
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
Simulation ausgeführt werden soll, ob das verschlüsselte
Computerprogramm 3 mittels der Vorrichtungsanzeigeeinrichtung 21 angezeigt werden soll , oder ob mit der
Vorrichtungsanzeigeeinrichtung 21 von der
Entschlüsselungseinrichtung 27 entschlüsselte
Computerprogrammteile 4 oder das von der
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.
Bei dem Schritt S5 wird ein Coredump verhindert, wenn das entschlüsselte Com puterprogramm 4 oder entschlüsselte
Computerprogrammteile 4 in dem RAM-Bereich 26 der
Arbeitsspeichereinrichtung 27 stehen. Ein Coredump steht für den aufgezeichneten Zustand des Arbeitsspeichers eines
Computerprogramms bei einer vorbestimmten Zeit. Der Coredump zeigt an den betreffenden Stellen nur einen Hinweis auf
Dateiverschlüsselung. Im Allgemeinen ist die vorbestimmte Zeit die Zeit, wenn das Computerprogramm abnormal beendet wurde.
Zudem wird bei dem Schritt S5 eine Simulation mit dem
verschlüsselten Computerprogramm 3 verhindert, wenn das entschlüsselte Com puterprogramm 4 oder entschlüsselte
Computerprogrammteile 4 in dem RAM-Bereich 26 der
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
Vorrichtungsanzeigeeinrichtung 21 geöffnet werden soll . In diesem Fall wird m it der Vorrichtungsanzeigeeinrichtung 21 eine
Fehlermeldung ausgegeben . Zudem wird bei dem Schritt S5 verhindert, dass das von der Entschlüsselungseinrichtung 27 entschlüsselte Computerprogramm 4 oder die von der
Entschlüsselungseinrichtung 27 entschlüsselten
Computerprogrammteile mit der Vorrichtungsanzeigeeinrichtung 21 angezeigt werden.
Nach dem Schritt S5 ist das Verfahren beendet. Durch die Verhinderung des Coredumps, wenn das entschlüsselte Computerprogramm 4 oder die entschlüsselten
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 .
Zudem bewirkt der Schritt S5, dass bei einem
Simulationsprogramm, wie beispielsweise 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
Computerprogrammen 3. Zudem liefern die Items NCS , OPC und SCP für das verschlüsselte Computerprogramm 3 keinen
Programmcode.
Bei dem zuvor beschriebenen System 1 ist eine zusätzliche
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
Computerprogramm 3 nicht möglich.
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.
Wird bei dem zuvor beschriebenen System 1 ein Tausch der
Steuereinrichtung 22 vorgenommen , ist es vorteilhaft, wenn der Schlüssel 12 von der externen Vorrichtung 10 in die neue
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 .
Bei dem beschriebenen System 1 werden beim Technologieschutz sämtliche Stellen berücksichtigt, wo Inhalte des
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
Computerprogrammnavigator und das Dateisystem.
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.
Bei der NC-Satzanzeige enthält das Satzanzeigefenster im Falle von verschlüsselten Programmteilen nur eine Hinweiszeile
„verschlüsseltes Programm".
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.
Im Computerprogrammnavigator bekommen verschlüsselte Dateien eine besondere Kennzeichnung.
Im Dateisystem, der Computerprogramm-Speichereinrichtung 23, liegen alle zu schützenden Dateien nur in verschlüsselter Form vor.
Wird ein Archiv erstellt, werden alle verschlüsselten Dateien, welche in der Computerprogramm-Speichereinrichtung 23
gespeichert sind , mitgesichert.
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
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
verschlüsselu ngstechnische Ergänzung fest an eine NC- oder CNC- Hardware gebunden werden .
Bei dem zuvor beschriebenen System 1 und dem Verfahren ist es nicht möglich, dass bei Serviceeinsätzen das verschlüsselte
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.
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
Modifikationen denkbar.
Vorzugsweise wird für die Verschlüsselung in der externen
Vorrichtung 10 ein Algorithmus verwendet, der weder gegen
Exportbeschränkungen oder Embargovorschriften verstößt. Hierbei werden zum Ver- und Entschlüsseln zwei verschiedene Schlüssel verwendet. Müssen solche Exportbeschränkungen oder
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
Entwicklungsumgebung zur Entwicklu ng des Computerprogramms 2 sowie dem Quellcode des Computerprogramms 2 möglich ist.
Next Patent: GLUCURONOLACTONE DERIVATES AS SELF-TANNING SUBSTANCES