DE4103173C3 - Device for protection against unauthorized use of software - Google Patents

Device for protection against unauthorized use of software

Info

Publication number
DE4103173C3
DE4103173C3 DE4103173A DE4103173A DE4103173C3 DE 4103173 C3 DE4103173 C3 DE 4103173C3 DE 4103173 A DE4103173 A DE 4103173A DE 4103173 A DE4103173 A DE 4103173A DE 4103173 C3 DE4103173 C3 DE 4103173C3
Authority
DE
Germany
Prior art keywords
data
data generator
generator
computing system
authorization
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 - Lifetime
Application number
DE4103173A
Other languages
German (de)
Other versions
DE4103173C2 (en
DE4103173A1 (en
DE4103173C4 (en
DE4103173C5 (en
Inventor
Wulf Harder
Bernd Peeters
Helmut Haese
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.)
Sia Soft Activation Lv
Original Assignee
Individual
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=6424261&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE4103173(C3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Priority to DE4103173.3A priority Critical patent/DE4103173C5/en
Publication of DE4103173A1 publication Critical patent/DE4103173A1/en
Publication of DE4103173C2 publication Critical patent/DE4103173C2/en
Publication of DE4103173C3 publication Critical patent/DE4103173C3/en
Anticipated expiration legal-status Critical
Publication of DE4103173C4 publication Critical patent/DE4103173C4/en
Application granted granted Critical
Publication of DE4103173C5 publication Critical patent/DE4103173C5/en
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Storage Device Security (AREA)

Description

Die Erfindung bezieht sich auf Vorrichtungen zum Schutz gegen unautorisierte Benutzung von Software nach dem Ober­ begriff des Patentanspruchs 1.The invention relates to devices for protection against unauthorized use of software according to the waiter Concept of claim 1.

Ein möglicher Schutz gegen die unautorisierte Benutzung von Software besteht darin, daß der Käufer eines Program­ mes zugleich ein Hardware-Bauteil, z. B. ein Steckerbau­ teil, mit erwirbt, das mit dem Rechner verbunden werden muß, damit das Programm genutzt werden kann. In einem einfachen Fall fragt der Rechner ab, ob das Hardware-Teil vorhanden ist. Falls nicht, wird der Programmablauf ge­ stört. Als Hardware-Bauteil kann nach einer bekannten Vor­ richtung ein externer Datengenerator verwendet werden.A possible protection against unauthorized use of software is that the buyer of a program mes at the same time a hardware component, e.g. B. a connector part that acquires that are connected to the computer must be so that the program can be used. In one simple case, the computer queries whether the hardware part is available. If not, the program is run disturbs. As a hardware component, according to a known pre direction an external data generator can be used.

Aus der DE-PS 39 14 233 und US-PS 4 446 519 ist ein Schutz bekannt, der verhindert, daß durch relativ einfache Modi­ fikation im Programm die Abfrage des Hardware-Bauteils entfernt oder umgangen werden kann. Eine Konsistenzprüf­ stufe bildet mit einer Rechengröße des Programms und den Daten eines externen Datengenerators eine erste Ver­ knüpfungsfunktion bzw. mit den Daten eines zweiten Daten­ generators eine zweite Verknüpfungsfunktion, die eine Um­ kehrfunktion der ersten ist, wobei anschließend beide Funktionen über eine dritte Funktion verknüpft werden und das Ergebnis mit der ursprünglich zugrunde gelegten Rechengröße verglichen wird. Stimmt das Ergebnis der dritten Funktion nicht mit der Rechengröße überein, wird das Rechensystem in einen Fehlerzustand gebracht. Diese Vorrichtung macht eine Umgehung des Kopierschutzes sehr schwierig, sofern die Funktion des Steckerbauteils nicht bekannt ist. Diese ist z. B. ohne Kenntnis der Baupläne nicht zu verstehen. Die Funktion des Steckerbauteils bzw. des Datengenerators kann aber auch ohne Schaltpläne analysiert werden, indem eine Analyse des Ein-/Ausgabever­ haltens des Datengenerators vorgenommen wird.From DE-PS 39 14 233 and US-PS 4 446 519 is a protection known, which prevents relatively simple modes fication in the program the query of the hardware component can be removed or bypassed. A consistency check level forms with a calculation size of the program and the Data of an external data generator a first Ver linking function or with the data of a second data generators a second link function, which is an order Sweeping function is the first, followed by both Functions are linked via a third function and the result with the one originally used Calculated size is compared. Is the result of the third function does not match the calculation size put the computing system in an error state. This Device bypasses copy protection very much difficult if the function of the plug component is not is known. This is e.g. B. without knowledge of the blueprints not to understand. The function of the connector component or The data generator can also be used without circuit diagrams can be analyzed by analyzing the input / output ver holding the data generator is made.

Das erfaßte Ein-/Ausgabeverhalten kann mit Hilfe von Logik-Minimierungsverfahren auf einfache Logikfunktionen reduziert werden. Diese Logik-Minimierungsverfahren können aufgrund ihrer ständigen Verbesserung schon relativ große Tabellen verarbeiten.The recorded input / output behavior can be checked using Logic minimization method on simple logic functions be reduced. These logic minimization techniques can already relatively large due to their constant improvement Process tables.

Ein zweites Verfahren zur Analyse der Funktion eines Da­ tengenerators kommt aus dem Bereich der künstlichen In­ telligenz. Nach dem Modellbildungsverfahren wird eine Ta­ belle aus zunächst wenigen, zufälligen Eingaben und den dazugehörigen Ausgaben erstellt, mit der ein erstes Modell des Datengenerators gebildet wird. Tritt nun zwischen Da­ tengenerator und Modell bei einer weiteren Ein- und Aus­ gabe ein Unterschied auf, wird diese Ein-/Ausgabe in die Tabelle aufgenommen und ein verbessertes Modell gebildet.A second method of analyzing the function of a da tengenerators comes from the field of artificial In intelligence. After the modeling process, a Ta bark from initially a few random entries and the related issues created with the first model of the data generator is formed. Now step between Da tengenerator and model with a further on and off if there is a difference, this input / output is transferred to the Table added and an improved model formed.

Die bekannten Schutzvorrichtungen gegen unautorisierte Be­ nutzung von Software haben somit den Nachteil, daß die Funktion des Datengenerators analysiert werden kann. Ist dessen Funktion bekannt, kann z. B. durch entsprechende Modifikation im Programm ein ohne Steckerbauteil lauf­ fähiges Programm erstellt werden, wobei das Abfragen des Steckerbauteils durch Aufruf einer Hilfsroutine ersetzt wird, welche das Steckerbauteil simuliert. Andererseits könnte das analysierte Steckerbauteil nachgebaut werden.The known protective devices against unauthorized loading use of software therefore have the disadvantage that the Function of the data generator can be analyzed. Is whose function is known, e.g. B. by appropriate Modification in the program run without a plug component capable program are created, the query of the Plug component replaced by calling an auxiliary routine which simulates the connector component. On the other hand the analyzed connector component could be replicated.

Die DE-A1 33 47 483 betrifft die Sicherung geheimer Infor­ mationen im elektronischen Speichermedium. Dabei sollen geheime Daten vor dem Zugriff unbefugter Personen ge­ schützt werden. Dafür ist das Gehäuse des Speichermediums mittels mindestens eines Detektorelements vor unbefugtem Zugriff gesichert. Der Schutz von Programmen gegen un­ autorisierte Benutzung ist von dieser Druckschrift nicht angesprochen.DE-A1 33 47 483 relates to securing secret information mations in the electronic storage medium. In doing so secret data before access by unauthorized persons be protected. This is the case of the storage medium by means of at least one detector element against unauthorized persons Access secured. Protection of programs against un This document does not authorize use addressed.

Die DE-A1-33 47 483 betrifft die Sicherung geheimer Informationen im elektronischen Speichermedium. Dabei sollen geheime Daten vor dem Zugriff unbefugter Personen geschützt werden. Dafür ist das Gehäuse des Speichermediums mittels mindestens eines Detektorelements vor unbefugtem Zugriff gesichert. Der Schutz von Programmen gegen unautorisierte Benutzung ist von dieser Druckschrift nicht angesprochen.DE-A1-33 47 483 relates to the security of secret information in the electronic storage medium. In doing so secret data is protected from access by unauthorized persons will. This is the case of the storage medium by means of at least one detector element against unauthorized persons Access secured. Protection of programs against unauthorized Use of this publication is not addressed.

Die DE-A1-33 15 992 befaßt sich ebenfalls nicht mit der unautorisierten Benutzung von Programmen auf frei kopier­ baren Datenträgern. Vielmehr betrifft sie die Sicherung von Programmen gegen das unbefugte Lesen aus einem Speicher. Der vorbekannte Speicher ist verhältnismäßig einfach analysierbar: Die Ausgabe hängt lediglich von den beiden letzten Eingaben ab, so daß für sich jedes Ausgabebit eine Funktion der beiden letzten Adressen in Form einer Logik-Tabelle aufstellen läßt. Die Tabelle läßt sich mit Hilfe bekannter Logikminimierungsverfahren analysieren.DE-A1-33 15 992 is also not concerned with the unauthorized use of programs on free copy removable media. Rather, it concerns security of programs against unauthorized reading from one Storage. The known memory is proportional easy to analyze: the output depends only on the from the last two inputs, so that each output bit a function of the last two addresses in the form of a Logic table. The table can be used with Analyze using known logic minimization techniques.

Bei dem Daten- und Software-Schutzsystem SAM der COM PRO TEC Hard- und Softwaresicherheitssysteme GmbH besteht das Schutzprinzip darin, Programmteile der zu schützenden Software, deren Opcodes verschlüsselt sind, auf einem zweiten Rechner abzuarbeiten. Die abzuarbeitenden Programmteile bestehen also aus Maschinenbefehlen, d. h. aus Opcodes und Adressen. Das SAM-Rechensystem kann erst durch Laden eines Programmes zu einem Datengenerator werden und kann lediglich das geladene Programm auf Fehler überprüfen. Der so hergestellte Datengenerator prüft jedoch nicht vom Rechensystem mit dem zu schützenden Programm empfangene Daten.With the COM PRO data and software protection system TEC Hard- und Softwaresicherheitssysteme GmbH exists Protection principle in that program parts of the software to be protected, whose opcodes are encrypted, on a second Process the computer. The parts of the program to be processed So consist of machine commands, d. H. from opcodes and Addresses. The SAM computing system can only be loaded by loading a Programs become a data generator and can only check the loaded program for errors. The way manufactured data generator does not check from the computing system Data received with the program to be protected.

Der Erfindung liegt daher die Aufgabe zugrunde, eine Vor­ richtung zum Schutz gegen eine unautorisierte Benutzung von Software zu schaffen, die eine Analyse der Funktion des Datengenerators anhand seiner Ein- und Ausgaben bzw. nur seiner Ausgaben äußerst erschwert.The invention is therefore based on the object of a Direction to protect against unauthorized use of software to create an analysis of the function of the data generator based on its inputs and outputs or only extremely difficult to spend.

Diese Aufgabe wird gelöst durch die Patentansprüche 1, 3, 4 oder 14.This object is achieved by claims 1, 3, 4 or 14.

Unter der darin verwendeten Formulierung "Manupulationsversuch" ist nachfolgend die Analyse der Funktion des Datengenerators zu verstehen.Under the phrase "manipulation attempt" used therein below is the analysis of the function of the Understand data generator.

Die erfindungsgemäße Vorrichtung bezieht sich auf einen Datengenerator, der Manipulationsversuche erkennt, worauf nach einem oder mehreren solcher Versuche der Datengenera­ tor keine oder fehlerhafte Daten ausgibt. Damit ist eine weitergehende Analyse der Funktion des Datengenerators ausgeschlossen. Eine Manipulation kann z. B. bei Empfang nicht vorgesehener Daten oder Datenfolgen oder Öffnung eines Gehäuses des Datengenerators erkannt werden. Neben der Ausgabe von fehlerhaften Daten oder der Nichtausgabe von Daten überhaupt bei erkannter Manipulation, kann fer­ ner die Benutzungsautorisierung eingeschränkt werden, so daß z. B. keine weitere Zugriffsmöglichkeit mehr besteht. Eine weitere Erschwerung der Funktionsanalyse des Daten­ generators wird dadurch erreicht, daß die Ausgabe von Da­ ten abhängig gemacht wird von im Datengenerator gespei­ cherten Daten. Hierzu gibt es zahlreiche Möglichkeiten, die weiter unten erläutert werden.The device according to the invention relates to a Data generator that recognizes manipulation attempts, on what after one or more such attempts by the data genera no or incorrect data is output. So that's one further analysis of the function of the data generator locked out. Manipulation can e.g. B. at reception unintended dates or data sequences or opening a housing of the data generator can be recognized. Next the output of incorrect data or non-output of data at all when manipulation is detected, can also ner the authorization of use are restricted, so that z. B. there is no further access. Another complication of the functional analysis of the data generator is achieved in that the output of Da is made dependent on the data generator saved data. There are numerous ways to do this which are explained below.

Eine Möglichkeit zur Erfassung von Manipulationsversuchen ist gemäß der Erfindung dann gegeben, wenn nur bestimmte Daten oder Datenfolgen zugelassen sind bzw. Daten oder Datenfolgen nur in bestimmten Zeitinter­ vallen. Die Analyseverfahren erzeugen zufällige oder iterative Folgen von Eingaben für den Datengenerator. Empfängt der Datengenerator solche zufälligen Daten, kann der Inhalt eines Speichers im Datengenerator so verändert werden, daß der Datengenerator keine oder fehlerhafte Daten erzeugt, so daß alle weiteren Ausgaben, die die Analyseverfahren verlangen, fehlerhaft sind.A way to record attempts at manipulation is given according to the invention if only certain data or data sequences are permitted or data or data sequences only in certain time intervals vallen. The analytical methods generate random or iterative sequences of inputs for the data generator. If the data generator receives such random data, can the content of a memory in the data generator is changed in this way be that the data generator has no or faulty Data generated so that all further expenditure that the Request analytical methods that are faulty.

Manipulationsversuche, die ein Öffnen des Gehäuses des Datengenerators betreffen, können dadurch erkannt werden, daß z. B. die Stromversorgung durch das Öffnen des Gehäuses unterbrochen wird, so daß der Speicher des Datengenerators gelöscht wird.Manipulation attempts that an opening of the housing of the Data generator can be recognized by that z. B. the power supply by opening the housing is interrupted so that the memory of the data generator is deleted.

Nach einer Alternative der Erfindung, die - wie die ande­ ren Alternativen - zugleich mit mindestens einer der weiteren Alternativen verwirklicht werden kann, weisen die vom Datengenerator erzeugten Ausgangsdaten eine nicht-deter­ ministisch erzeugte Redundanz auf. Die z. B. mit einem Zu­ fallszahlengenerator oder durch wahlfreien Zugriff auf einen integrierten Timer erzeugte Redundanz erhöht erheb­ lich die Rechenzeit der Analyseverfahren. Damit bietet diese erfindungsgemäße Vorrichtung insbesondere einen Schutz gegen Analyse der durch das zu schützende Programm regulär erzeugten Eingaben und der entsprechenden Aus­ gaben, die sich relativ leicht an den Signaleingängen und Ausgängen des Rechensystems beobachten lassen.According to an alternative of the invention, which - like the other other alternatives - at the same time with at least one of the others Alternatives that can be realized are those of Data generator generated output data a nondeterm minimalist redundancy. The z. B. with a zu case number generator or by random access to Redundancy generated by an integrated timer increases considerably Lich the computing time of the analysis methods. So offers this device according to the invention in particular one Protection against analysis of the program to be protected regularly generated  Inputs and the corresponding off gave, which are relatively easy at the signal inputs and Have the outputs of the computing system monitored.

Ein guter Schutz gegen Analyseverfahren wird ferner mit einer alternativen Vorrichtung erzielt, in der der Daten­ generator zwei Zustände besitzen kann. Der Datengenerator kann aus einem Zustand A in einen Zustand B übergehen durch aufeinanderfolgendes Annehmen von mindestens fünf weiteren Zuständen C. Wesentlich dabei ist, daß die vom Datengenerator ausgegebenen Daten nicht von den Zuständen C abhängen. Damit lassen sich über mehrere Eingaben hinweg keine direkten Schlüsse über die Zustände des Datengenera­ tors ziehen, was z. B. eine Tabelle zur Verarbeitung mit einem Logik-Minimierungsprogramm sehr groß werden läßt, da viele mögliche Zustände in Betracht gezogen werden müssen. Die dafür erforderliche Speicherkapazität ist auf den meisten Personal-Computern nicht verfügbar.Good protection against analytical methods is also included achieved an alternative device in which the data generator can have two states. The data generator can transition from state A to state B. by successively accepting at least five other conditions C. It is essential that the from Data generator output data not from the states C depend. This allows multiple entries to be made no direct conclusions about the states of the data genera pull tors what z. B. a table for processing with a logic minimization program can become very large because many possible conditions need to be considered. The required storage capacity is on the most personal computers not available.

Nach einer weiteren Alternative der Erfindung ist vorge­ sehen, verschiedene Autorisierungsdaten zu speichern, die z. B. den Zugriff auf Programme oder Programmteile steuern, die Anwendung eines bestimmten Rechensystems vorschreiben oder andere Rechensystemtypen ausschließen. Der Zugriff auf Programme kann zeitlich begrenzt werden, so daß nach bestimmten Zeitintervallen ein Benutzer neue Codewörter zur Veränderung der Autorisierungsdaten eingeben kann, die er z. B. beim Hersteller des Programmes erfragen kann. Die Daten über die Autorisierung zur Benutzung der Software sind nach weiteren Ausgestaltungen der Erfindung veränder­ bar und werden ggfs. über die Signalleitung verändert.According to a further alternative of the invention is pre see storing various authorization data that e.g. B. control access to programs or program parts, to prescribe the use of a particular computing system or exclude other types of computing systems. The access programs can be limited in time, so that after certain time intervals a user new code words to change the authorization data can enter the he z. B. can inquire with the manufacturer of the program. The Authorization data for using the software are changed according to further embodiments of the invention bar and may be changed via the signal line.

Bei erkannten Manipulationsversuchen kann der Datengenera­ tor auch so geschaltet werden, daß er Autorisierungen ein­ schränkt, z. B. zeitlich, indem während einer gewissen Zeit nach Erkennen eines Manipulationsversuches keine oder feh­ lerhafte Daten ausgegeben werden, oder überhaupt keine Nutzung des Programms mehr möglich ist. Nach einer zeitli­ chen Blockierung oder nach Eingabe neuer Autorisierungs­ daten ist der Datengenerator wieder funktionsfähig, so daß z. B. Datenübertragungsfehler, die als Manipulationsversu­ che interpretiert werden, nicht zu einer dauernden Funk­ tionsuntüchtigkeit der erfindungsgemäßen Vorrichtung füh­ ren.If manipulation attempts are detected, the data generator can gate can also be switched so that it authorizations limits, e.g. B. in time by during a certain time after detection of a manipulation attempt none or missing educational data are output, or none at all Use of the program is more possible. After a time blocking or after entering new authorization data, the data generator is functional again, so that e.g. B. Data transmission errors, which as manipulation versu be interpreted, not to a permanent radio inability of the device according to the invention ren.

Die Speicherung von unterschiedlichen Autorisierungen mit einem Datengenerator führt zu einem stark erhöhten Schutz gegen Analyseprogramme, weil es wesentlich schwieriger ist, einen Datengenerator mit mehreren Autorisierungs­ funktionen zu analysieren, als mehrere physikalisch ge­ trennte Datengeneratoren mit einfachen Autorisierungs­ funktionen. Diese Ausgestaltung der Erfindung ist auch verkaufstechnisch akzeptabel, da die Autorisierungen er­ weitert oder eingeschränkt werden können, was z. B. bei einem Benutzerwechsel notwendig ist. So können z. B. be­ nutzerspezifische Codewörter nach Erfragung beim Herstel­ ler neu angegeben werden.The storage of different authorizations with a data generator leads to a greatly increased protection against analysis programs because it is much more difficult is a data generator with multiple authorizations to analyze functions as several physical ge separate data generators with simple authorization functions. This embodiment of the invention is also technically acceptable as the authorizations he can be expanded or restricted, which z. B. at a change of user is necessary. So z. B. be user-specific code words after asking the manufacturer be re-specified.

Eine im Datengenerator gespeicherte Benutzer-Identifika­ tion und/oder Seriennummer gemäß einer weiteren Ausgestal­ tung, von der die Ausgaben des Datengenerators abhängen, dürften einen Raubkopierer abschrecken, Kopien des Daten­ generators bzw. Simulationen zu erstellen bzw. zu verbrei­ ten.A user identifier stored in the data generator tion and / or serial number according to another embodiment device on which the data generator outputs depend, are likely to deter a pirate, copies of the data Generate or distribute generators or simulations ten.

Ein weiterer äußerst wirksamer Schutz gegen die Analyse der Funktion eines Datengenerators besteht darin, eine Vorrichtung zu schaffen, bei der die Daten von einem von- Neumann-Rechner erzeugt werden, d. h. durch einen Algo­ rithmus. Dieser läßt sich nicht durch rein sequentielle, minimierte Logikfunktionen darstellen.Another extremely effective protection against analysis The function of a data generator is one To create a device in which the data from one of Neumann computers are generated, d. H. through an algo rhythm. This cannot be done by purely sequential, represent minimized logic functions.

Generell gilt, daß ein Schutz gegen Analyseprogramme mit steigender Anzahl der möglichen Zustände des Datengenera­ tors wirksamer wird. Die Zahl solcher Zustände wird we­ sentlich erhöht, wenn der Inhalt eines im Datengenerator enthaltenen Speichers, z. B. eines RAM (Random Access Memory), erhalten wird. Da die äußere Stromversorgung des Datengenerators unterbrochen werden kann, ist der Inhalt des Speichers nur durch eine eigene Stromversorgung auf­ recht zu erhalten. Eine solche eigene Stromversorgung ist nach einer weiteren Alternativen der Erfindung im Datenge­ nerator angeordnet und erhöht somit den Schutz gegen Ana­ lyseverfahren.In general, protection against analysis programs with increasing number of possible states of the data genera tors becomes more effective. The number of such states becomes we considerably increased if the content of one in the data generator contained memory, e.g. B. a RAM (Random Access Memory). Since the external power supply of the Data generator can be interrupted is the content of the memory only with its own power supply to get right. Such an own power supply is for a further alternative of the invention in the data arranged and thus increases the protection against Ana lysis process.

Ferner kann bei einer anderen Lösung beim Öffnen des Gehäuses ein Signal an den Datengenerator ergehen, der dadurch in einen Zustand gebracht wird, in dem keine oder fehlerhafte Daten erzeugt werden.Another solution can also be found when opening of the housing send a signal to the data generator thereby being brought into a state in which none or incorrect data are generated.

Für die erfindungsgemäße Vorrichtung kann ferner min­ destens ein zweiter Datengenerator vorgesehen sein, der über Signaleingänge und -ausgänge mit dem ersten Daten­ generator verbindbar ist.For the device according to the invention, min at least a second data generator can be provided which via signal inputs and outputs with the first data generator can be connected.

Eine weitere Alternative sieht vor, daß die Ausgabe des Datengenerators und ggfs. die Eingabe in den Datengenera­ tor über eine MIDI-Schnittstelle erfolgt. Eine MIDI (Musical instrumental digital interface)-Schnittstelle dient normalerweise der Übertragung von Daten an Musikge­ räte und ist an vielen Computern vorhanden. Bei Datenüber­ tragung über diese Schnittstelle können Daten an bzw. aus dem Datengenerator unter andere Daten gemischt sein, wo­ durch eine Analyse erschwert ist. Ein Analyseverfahren, das eine durch einen normalen Programmablauf erzeugte Datentabelle der Ein- und Ausgaben analysiert, muß auch die für die Musikinstrumente vorgesehenen Daten mit in die Analyse aufnehmen, da diese auf die Ausgaben des Datengenerators wirken könnten. Dies vergrößert den Analyseaufwand erheblich. Andererseits ist die Verwirklichung des Software-Schutzes hardwaremäßig vereinfacht. Diese Variante kommt besonders für den Schutz von Musikprogrammen in Betracht. Gemäß einer praktischen Weiterbildung kann der Datengenerator für den Anschluß eines Musikinstrumentes oder eines zusätzlichen Datengenerators eine weitere MIDI-Schnittstelle aufweisen.Another alternative provides that the output of the Data generator and, if necessary, the input in the data generator via a MIDI interface. A midi (Musical instrumental digital interface) interface is normally used to transfer data to Musikge advice and is present on many computers. With data transfer Data can be transferred to or from this interface the data generator may be mixed with other data where is complicated by an analysis. An analytical process the one data table generated by a normal program flow the analysis of income and expenditure must also provided for the musical instruments in the Record analysis, as this affects the output of the data generator could work. This increases the analysis effort considerably. On the other hand, the realization of the Software protection is simplified in terms of hardware. This variant comes in especially for the protection of music programs Consideration. According to practical training, the Data generator for connecting a musical instrument or an additional data generator Have a MIDI interface.

Ein Ausführungsbeispiel der Erfindung wird nachfolgend an­ hand einer Zeichnung näher erläutert.An embodiment of the invention is described below hand explained in more detail a drawing.

Die einzige Figur zeigt ein Blockschaltbild einer Vorrich­ tung nach der Erfindung.The single figure shows a block diagram of a device tion according to the invention.

Ein Rechensystem 10 ist mit einem Datengenerator 11 über eine Datenleitung 12 verbunden, wobei der Datengenerator 11 an einen Signaleingang 13 des Rechensystems 10 ange­ schlossen ist. In dem Datengenerator ist eine Benutzer­ identifikation oder eine Seriennummer und ggfs. Autorisie­ rungsdaten gespeichert, wobei sich die Autorisierungsdaten verändern lassen und somit die Autorisierung erweiterbar oder einschränkbar ist. Bei einem Manipulationsversuch, der durch den Empfang einer nicht vorgesehenen Datenfolge oder durch Öffnen eines Gehäuses des Datengenerators 11 erkannt wird, wird der Datengenerator in einen Zustand gebracht, in dem er nur fehlerhafte Daten erzeugt. Dieser Zustand ist zeitlich begrenzt. Ferner kann der Datengene­ rator zwei Zustände A und B annehmen, wobei er durch auf­ einanderfolgendes Annehmen von fünf weiteren Zuständen C aus dem Zustand A in den Zustand B gebracht wird. Die vom Datengenerator 11 ausgegebenen Daten sind nicht von den Zuständen C abhängig, so daß sich über mehrere Eingaben hinweg keine direkten Schlüsse über die Zustände des Da­ tengenerators ziehen lassen.A computing system 10 is connected to a data generator 11 via a data line 12 , the data generator 11 being connected to a signal input 13 of the computing system 10 . A user identification or a serial number and possibly authorization data are stored in the data generator, wherein the authorization data can be changed and the authorization can thus be expanded or restricted. In the event of a manipulation attempt which is recognized by the receipt of an unintended data sequence or by opening a housing of the data generator 11 , the data generator is brought into a state in which it only generates incorrect data. This condition is limited in time. Furthermore, the data generator can assume two states A and B, whereby it is brought from state A to state B by successively assuming five further states C. The data output by the data generator 11 are not dependent on the states C, so that no direct conclusions can be drawn about the states of the data generator over several inputs.

Damit ist ein sehr guter Schutz gegen Analyseverfah­ ren gegeben, da viele Zustände in Betracht gezogen werden müs­ sen, eine Tabelle zur Verarbeitung mit einem Logik-Mini­ mierungsprogramm sehr groß werden muß, wodurch eine Spei­ cherkapazität verlangt ist, die auf den meisten Personal- Computern nicht verfügbar ist.This is a very good protection against analytical procedures  given that many conditions have to be taken into account sen, a table for processing with a logic mini mation program must be very large, which means a Spei capacity, which is based on most personnel Computers is not available.

Claims (15)

1. Vorrichtung zum Schutz gegen unautorisierte Benutzung von Software, bei der mindestens ein mit einem Signal­ eingang eines Rechensystems (10) verbindbarer externer Datengenerator (11) Daten erzeugt, wobei die vom Da­ tengenerator (11) ausgegebenen Daten von empfangenen Daten aus dem Rechensystem (10) abhängig sind und das Rechensystem in einen Fehlerzustand gebracht wird oder die Software im Rechensystem nicht zweckmäßig arbei­ tet, wenn das Rechensystem keine oder fehlerhafte Da­ ten über den Signaleingang (13) empfängt, dadurch ge­ kennzeichnet, daß der Datengenerator (11) nicht vorgesehene Daten oder Datenfolgen und/oder zeitlich nicht vorgesehene Daten oder Datenfolgen als Manipulationsversuche erkennt und bei erkanntem Manipulationsversuch den Inhalt eines Speichers im Datengenerator ändert und infolgedessen beim Empfang weiterer Daten keine oder fehlerhafte Daten ausgibt und/oder eine Benutzungsautorisierung verändert.1. Device for protection against unauthorized use of software, in which at least one external data generator ( 11 ) which can be connected to a signal input of a computing system ( 10 ) generates data, the data from the data generator ( 11 ) being output from received data from the computing system ( 10 ) are dependent and the computing system is brought into an error state or the software in the computing system does not work expediently if the computing system receives no or faulty data via the signal input ( 13 ), characterized in that the data generator ( 11 ) is not provided Recognizes data or data sequences and / or data or data sequences that are not scheduled in time as manipulation attempts and, if a manipulation attempt is identified, changes the content of a memory in the data generator and consequently outputs no or incorrect data when receiving further data and / or changes a usage authorization. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Datengenerator (11) sich in einem Gehäuse befindet und die Stromversorgung des Datengenerators durch Öffnen des Gehäuses unterbrochen wird, so daß der Speicher des Datengenerators gelöscht wird.2. Apparatus according to claim 1, characterized in that the data generator ( 11 ) is located in a housing and the power supply to the data generator is interrupted by opening the housing, so that the memory of the data generator is erased. 3. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruchs 1 und/oder 2, dadurch gekennzeichnet, daß die vom Datengenerator (11) generierten Daten eine nicht- deterministisch erzeugte Redundanz aufweisen.3. Device according to the preamble of claim 1, in particular in connection with the characterizing part of claim 1 and / or 2, characterized in that the data generated by the data generator ( 11 ) have a non-deterministically generated redundancy. 4. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruchs 1, 2 und/oder 3, dadurch gekennzeichnet, daß der Datengenerator (11) zwei Zustände A und B besitzt, von deren Annahme die vom Datengenerator ausgegebenen Daten abhängen, der Datengenerator aus dem Zustand A in den Zustand B nur durch mindestens fünf aufeinanderfolgende weitere Zustände C gebracht werden kann, die aufgrund empfangener Daten angenommen werden, und die vom Datengenerator ausgegebenen Daten nicht von den Zuständen C abhängen.4. Device according to the preamble of claim 1, in particular in connection with the characterizing part of claim 1, 2 and / or 3, characterized in that the data generator ( 11 ) has two states A and B, the acceptance of which by the data generator depend on output data, the data generator can only be brought from state A to state B by at least five successive further states C, which are accepted on the basis of received data, and the data output by the data generator do not depend on states C. 5. Vorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß im Datengenerator (11) Daten über die Autorisierung zur Benutzung der Software gespei­ chert sind und die Autorisierungsdaten den Zugriff auf bestimmte Programme und/oder Programmteile steuern, und/oder den Typ des Rechensystems (10) festlegen oder mindestens einen Typ ausschließen, und/oder den Zu­ griff zeitlich begrenzen, und/oder den Zugriff quanti­ tativ steuern.5. Device according to one of claims 1 to 4, characterized in that in the data generator ( 11 ) data on the authorization for using the software are stored and the authorization data control access to certain programs and / or program parts, and / or the type determine the computing system ( 10 ) or exclude at least one type, and / or limit access to time, and / or control access quantitatively. 6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die gespeicherten Daten über die Autorisierung zur Benutzung der Software veränderbar sind.6. The device according to claim 5, characterized in that the stored data about the authorization for Use of the software are changeable. 7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die gespeicherten Daten über die Autorisierung in Abhängigkeit von Daten, die über die Signalleitung (12) des Datengenerators (11) empfangen werden, verän­ dert werden können. 7. The device according to claim 6, characterized in that the stored data on the authorization depending on data received via the signal line ( 12 ) of the data generator ( 11 ) can be changed. 8. Vorrichtung nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß der Datengenerator (11) die Auto­ risierung einschränkt oder vollständig aufhebt, wobei dies zeitlich befristet sein kann, wenn nicht vorge­ sehene Daten oder Datenfolgen und/oder zeitlich nicht vorgesehene Daten oder Datenfolgen von dem Datengene­ rator (11) empfangen werden.8. Device according to one of claims 5 to 7, characterized in that the data generator ( 11 ) restricts the auto rization or cancels it completely, which can be temporary, if not provided data or data sequences and / or data not provided for or Data sequences from the data generator ( 11 ) are received. 9. Vorrichtung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß im Datengenerator (11) eine Benut­ zeridentifikation und/oder eine Seriennummer gespei­ chert ist.9. Device according to one of claims 1 to 8, characterized in that a user identification and / or a serial number is stored in the data generator ( 11 ). 10. Vorrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß der Datengenerator (11) ein Re­ chensystem enthält, das nach dem von-Neumann-Prinzip arbeitet.10. Device according to one of claims 1 to 9, characterized in that the data generator ( 11 ) contains a computing system which works according to the von Neumann principle. 11. Vorrichtung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß der Datengenerator (11) eine eige­ ne Stromversorgung enthält zur Aufrechterhaltung eines Inhalts eines das Ein-/Ausgabeverhalten beeinflussen­ den flüchtigen Speichers.11. The device according to one of claims 1 to 10, characterized in that the data generator ( 11 ) contains its own ne power supply to maintain a content of the input / output behavior affect the volatile memory. 12. Vorrichtung nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß der Datengenerator (11) sich in einem Gehäuse befindet und durch Öffnen des Gehäuses ein Signal an den Datengenerator (11) gegeben wird, so daß der Datengenerator in einen Fehlerzustand gebracht wird, in dem er keine oder fehlerhafte Daten erzeugt.12. Device according to one of claims 1 to 11, characterized in that the data generator ( 11 ) is located in a housing and a signal is given to the data generator ( 11 ) by opening the housing, so that the data generator is brought into an error state by generating no or incorrect data. 13. Vorrichtung nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß mindestens ein zweiter Datengene­ rator über Signaleingänge und Signalausgänge mit dem Datengenerator (11) verbindbar ist.13. Device according to one of claims 1 to 12, characterized in that at least a second data generator can be connected to the data generator ( 11 ) via signal inputs and signal outputs. 14. Vorrichtung nach dem Oberbegriff des Anspruches 1, insbesondere in Verbindung mit dem Kennzeichen des Anspruches 1 bis 12 und/oder 13, dadurch gekennzeich­ net, daß die Ausgabe des Datengenerators (11) und ggfs. die Eingabe in den Datengenerator über eine MIDI-Schnittstelle erfolgt.14. The device according to the preamble of claim 1, in particular in connection with the characterizing part of claims 1 to 12 and / or 13, characterized in that the output of the data generator ( 11 ) and possibly the input into the data generator via a MIDI Interface is done. 15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß der Datengenerator (11) eine weitere MIDI-Schnitt­ stelle aufweist.15. The apparatus according to claim 14, characterized in that the data generator ( 11 ) has a further MIDI interface.
DE4103173.3A 1991-02-02 1991-02-02 Device for protection against unauthorized use of software Expired - Lifetime DE4103173C5 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE4103173.3A DE4103173C5 (en) 1991-02-02 1991-02-02 Device for protection against unauthorized use of software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4103173.3A DE4103173C5 (en) 1991-02-02 1991-02-02 Device for protection against unauthorized use of software

Publications (5)

Publication Number Publication Date
DE4103173A1 DE4103173A1 (en) 1992-08-13
DE4103173C2 DE4103173C2 (en) 1993-09-30
DE4103173C3 true DE4103173C3 (en) 1997-03-13
DE4103173C4 DE4103173C4 (en) 2017-03-16
DE4103173C5 DE4103173C5 (en) 2017-07-20

Family

ID=6424261

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4103173.3A Expired - Lifetime DE4103173C5 (en) 1991-02-02 1991-02-02 Device for protection against unauthorized use of software

Country Status (1)

Country Link
DE (1) DE4103173C5 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004056635A1 (en) * 2004-11-23 2006-05-24 MICON Verein zur Förderung der Mobilität im Internet und in Kommunikationsnetzen e.V. Software distribution method for e.g. communication application, involves executing code on distribution medium, where execution takes place over input/output module, if communication with host computer and user is necessary

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19538124C2 (en) * 1995-10-13 1998-10-08 Uwe Dipl Ing Seidel Method and device for protecting software against unauthorized use

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4446519A (en) * 1981-05-26 1984-05-01 Corban International, Ltd. Method and apparatus for providing security for computer software
DE3149279A1 (en) * 1981-12-12 1983-06-23 Nsm-Apparatebau Gmbh & Co Kg, 6530 Bingen Program coding
NL8201847A (en) * 1982-05-06 1983-12-01 Philips Nv DEVICE FOR PROTECTION AGAINST UNAUTHORIZED READING OF PROGRAM WORDS TO BE MEMORIZED IN A MEMORY.
DE3347483A1 (en) * 1983-12-29 1985-07-11 GAO Gesellschaft für Automation und Organisation mbH, 8000 München DEVICE FOR SECURING SECRET INFORMATION
DE3914233C1 (en) * 1989-04-29 1990-07-26 Wulf 2054 Geesthacht De Harder Computer program protection device - has generator data output connected with consisting testing stage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004056635A1 (en) * 2004-11-23 2006-05-24 MICON Verein zur Förderung der Mobilität im Internet und in Kommunikationsnetzen e.V. Software distribution method for e.g. communication application, involves executing code on distribution medium, where execution takes place over input/output module, if communication with host computer and user is necessary

Also Published As

Publication number Publication date
DE4103173C2 (en) 1993-09-30
DE4103173A1 (en) 1992-08-13
DE4103173C4 (en) 2017-03-16
DE4103173C5 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
DE3407642C2 (en)
DE69531082T2 (en) Method and device with an encryption header, which makes it possible to test software
DE2615861C3 (en) Circuit arrangement for checking programs
DE69531077T2 (en) Method and device with user interaction of the trial-and-buy type, which makes it possible to test software
DE60224060T2 (en) USE OF DATA STORED IN A READ-DAMAGED MEMORY
DE3044463C2 (en)
DE69531079T2 (en) Method and device with computer-dependent identification, which makes it possible to test software
DE69333964T2 (en) Device for recording and playback
EP0965076B1 (en) Electronic data processing device and system
DE112007003231B4 (en) Programmable display device and control system
EP0155399A2 (en) Protection circuit for the prevention of non-authorised execution of a programme
EP1101163B1 (en) Program-controlled unit
EP0128362A1 (en) Circuit arrangement comprising a memory and an access control unit
WO2000017826A1 (en) Device for supplying output data in reaction to input data, method for checking authenticity and method for encrypted data transmission
DE19963471B4 (en) Apparatus and method for preventing piracy of computer programs
EP0280035B1 (en) Method for the programme securing and for integrity checking of a secured programme
DE2810421A1 (en) MEMORY PROTECTION DEVICE
DE3615815A1 (en) METHOD AND DEVICE FOR VERIFYING THE IDENTITY OF A DYNAMIC MEMORY
DE19626972A1 (en) Preliminary release method and apparatus for the use of a program protected by an electronic cassette
EP0127809A1 (en) Circuit arrangement comprising a memory and an access control unit
WO2001029638A2 (en) Electronic device comprising software protection
DE4103173C3 (en) Device for protection against unauthorized use of software
DE3025044C2 (en)
WO2001047175A2 (en) Device for the password-protected handling of an electronic document
EP0464320A2 (en) Method for protecting record carriers individually against unauthorised use

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HARDER, WULF, 2054 GEESTHACHT, DE PEETERS, BERND,

8181 Inventor (new situation)

Free format text: HARDER, WULF, 2054 GEESTHACHT, DE PEETERS, BERND, 2000 HAMBURG, DE HAESE, HELMUT, 2058 LAUENBURG, DE

D2 Grant after examination
8363 Opposition against the patent
8366 Restricted maintained after opposition proceedings
8305 Restricted maintenance of patent after opposition
D4 Patent maintained restricted
8327 Change in the person/name/address of the patent owner

Owner name: SIA SYNCROSOFT, RIGA, LT

8328 Change in the person/name/address of the agent

Representative=s name: PATENTANWAELTE HAUCK, GRAALFS, WEHNERT, DOERING, SIE

R071 Expiry of right
R081 Change of applicant/patentee

Owner name: SIA SOFT ACTIVATION, LV

Free format text: FORMER OWNER: SIA SYNCROSOFT, RIGA, LT

Effective date: 20111117

R082 Change of representative

Representative=s name: HAUCK PATENTANWALTSPARTNERSCHAFT MBB, DE

Effective date: 20111117

Representative=s name: HAUCK PATENT- UND RECHTSANWAELTE, DE

Effective date: 20111117

R008 Case pending at federal patent court
R039 Revocation action filed

Effective date: 20120706

R043 Patent's revocation in part now final
R206 Amended patent specification
R206 Amended patent specification