DE4103173C3 - Device for protection against unauthorized use of software - Google Patents
Device for protection against unauthorized use of softwareInfo
- 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
Links
- 238000013475 authorization Methods 0.000 claims description 18
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 20
- 238000004458 analytical method Methods 0.000 description 17
- 238000000034 method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 229940003372 compro Drugs 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010230 functional analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- WIKYUJGCLQQFNW-UHFFFAOYSA-N prochlorperazine Chemical compound C1CN(C)CCN1CCCN1C2=CC(Cl)=CC=C2SC2=CC=CC=C21 WIKYUJGCLQQFNW-UHFFFAOYSA-N 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, 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)
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)
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)
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)
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 |
-
1991
- 1991-02-02 DE DE4103173.3A patent/DE4103173C5/en not_active Expired - Lifetime
Cited By (1)
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 |
---|---|
DE4103173C5 (en) | 2017-07-20 |
DE4103173C4 (en) | 2017-03-16 |
DE4103173A1 (en) | 1992-08-13 |
DE4103173C2 (en) | 1993-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3407642C2 (en) | ||
DE69214080T2 (en) | Procedure for protecting programs by using different keys against unauthorized execution | |
DE69531082T2 (en) | Method and device with an encryption header, which makes it possible to test software | |
DE69730321T2 (en) | METHOD AND DEVICE FOR PROTECTING DATA WITH MULTIPLE ENCRYPTION LEVELS APPLICABLE TO DATA ELEMENTS | |
DE2615861C3 (en) | Circuit arrangement for checking programs | |
DE68926606T2 (en) | Reception and acceptance test procedures for electronically submitted data objects | |
DE69502852T2 (en) | Device for backing up data | |
DE68926176T2 (en) | Management system for licensed programs | |
DE69719479T2 (en) | Data processing system security | |
DE69627270T2 (en) | Security system for protecting information on storage media | |
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 | |
DE3689569T2 (en) | System file backup method and data processing unit for carrying it out. | |
DE3044463C2 (en) | ||
DE69333964T2 (en) | Device for recording and playback | |
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 | |
DE2810421C2 (en) | Memory protection device | |
EP0280035B1 (en) | Method for the programme securing and for integrity checking of a secured programme | |
DE19626972A1 (en) | Preliminary release method and apparatus for the use of a program protected by an electronic cassette | |
EP0276450A1 (en) | Data protection circuit to inhibit the transmission of signals on a bus | |
EP0127809A1 (en) | Circuit arrangement comprising a memory and an access control unit | |
EP0080244B1 (en) | Method of identifying a system - allied, physically separableprogramme memory, and a data processing system using this method. | |
EP1226484A2 (en) | Electronic device |
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 |