DE4103173A1 - Device for protecting against unauthorised use of software - contains external data generator providing input to computer dependent on output from it, which detects manipulation attempts - Google Patents

Device for protecting against unauthorised use of software - contains external data generator providing input to computer dependent on output from it, which detects manipulation attempts

Info

Publication number
DE4103173A1
DE4103173A1 DE4103173A DE4103173A DE4103173A1 DE 4103173 A1 DE4103173 A1 DE 4103173A1 DE 4103173 A DE4103173 A DE 4103173A DE 4103173 A DE4103173 A DE 4103173A DE 4103173 A1 DE4103173 A1 DE 4103173A1
Authority
DE
Germany
Prior art keywords
data
data generator
generator
preamble
software
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.)
Granted
Application number
DE4103173A
Other languages
German (de)
Other versions
DE4103173C4 (en
DE4103173C2 (en
DE4103173C3 (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(A1) "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

Abstract

The device protects against the unauthorised use of software and contains at least one external data generator connected to the signal input of a computer system, which generates data dependent on data received from the computer system. The computer system is placed in a fault state or the software deactivated when no or faulty data are received via the signal input. If the data generator detects an attempt to manipulate its hardware and/or the received data it changes the contents of a memory, resulting in faulty or no data output and/or changes to user authorisation. ADVANTAGE - The device is designed to make it extremely difficult to analyse the function of the data generator from its inputs and outputs or its outputs alone.

Description

Die Erfindung bezieht sich auf eine Vorrichtung zum Schutz gegen unautorisierte Benutzung von Software nach dem Ober­ begriff des Patentanspruchs 1.The invention relates to a device 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 also 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 an external data generator can be used.

Aus der DE-PS 39 14 233 ist ein Schutz bekannt, der ver­ hindert, daß durch relativ einfache Modifikation im Pro­ gramm die Abfrage des Hardware-Bauteils entfernt oder um­ gangen werden kann. Eine Konsistenzprüfstufe bildet mit einer Rechengröße des Programms und den Daten eines exter­ nen Datengenerators eine erste Verknüpfungsfunktion bzw. mit den Daten eines zweiten Datengenerators eine zweite Verknüpfungsfunktion, die eine Umkehrfunktion der ersten ist, wobei anschließend beide Funktionen über eine dritte Funktion verknüpft werden und das Ergebnis mit der ur­ sprünglich zugrunde gelegten Rechengröße verglichen wird. Stimmt das Ergebnis der dritten Funktion nicht mit der Rechengröße überein, wird das Rechensystem in einen Feh­ lerzustand 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-/Ausgabeverhaltens des Datengenerators vorgenommen wird. From DE-PS 39 14 233 protection is known, the ver prevents that by relatively simple modification in the Pro grams the query of the hardware component removed or um can be walked. A consistency check level is included a calculation size of the program and the data of an external NEN data generator a first link function or with the data of a second data generator, a second one Logic function, which is an inverse function of the first , then both functions via a third Function can be linked and the result with the ur originally used calculation size is compared. If the result of the third function is not correct with the Computational size match, the computing system is a mistake brought to the state. This device makes a bypass copy protection very difficult, provided that the function of Plug component is not known. This is e.g. Bean Not understanding the blueprints. The function of the Plug component or the data generator can also can be analyzed without schematics by analyzing the Input / output behavior of the data generator becomes.  

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.

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 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 Merkmale des Kenn­ zeichnungsteils der Patentansprüche 1, 4, 5, 6, 10, 11, 12, 13 oder 15.This task is solved by the characteristics of the characteristic part of the claims 1, 4, 5, 6, 10, 11, 12, 13 or 15.

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 data 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 user authorization 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 stored in the data generator  saved data. There are numerous ways to do this which are explained below.

Eine Möglichkeit zur Erfassung von Manipulationsversuchen ist nach einer Ausgestaltung 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 then given according to an embodiment of the invention if only certain data or data sequences are permitted or data or data sequences only in certain time intervals vallen. The analysis methods generate random or iterative sequences of inputs for the data generator. If the data generator receives such random data, it 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.Attempts to tamper with 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 Alternativen der Erfindung, die - wie die ande­ ren Alternativen - zugleich mit mindestens einer weiteren Alternativen verwirklicht werden kann, weisen die vom Da­ tengenerator erzeugten Ausgangsdaten eine nicht-determi­ nistisch erzeugte Redundanz auf. Die z. B. mit einem Zu­ fallszahlengenerator erzeugte Redundanz erhöht erheblich 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 Ausgaben, 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 other Alternatives can be realized, that of the Da output generator generated a non-deterministic  nistically generated redundancy. The z. B. with a zu Redundancy generated in case number generator increases considerably the computing time of the analysis methods. So this offers Device according to the invention in particular protection against analysis of the regular by the program to be protected generated inputs and the corresponding expenses that are relatively easy on the signal inputs and outputs of the computing system.

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 Alternativen 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 analyze functions as several physically 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 Alternati­ ven, 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 ID stored in the data generator tion and / or serial number according to another alternative ven, 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 Ge­ häuses ein Signal an den Datengenerator ergehen, der da­ durch in einen Zustand gebracht wird, in dem keine oder fehlerhafte Daten erzeugt werden.Furthermore, in another solution when opening the Ge there is a signal to the data generator that is there is brought into a state in which none or incorrect data is 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. Andererseits ist die Verwirklichung des Software-Schutzes hardwaremäßig ver­ einfacht. 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 Datengene­ rators eine weitere MIDI-Schnittstelle aufweisen.Another alternative provides that the output of the Data generator and possibly 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. On the other hand, it is Realization of software protection ver simple. This variant comes especially for protection of music programs into consideration. According to a practical The data generator for the connection can be further developed a musical instrument or an additional data gene rators have another MIDI interface.

Ein Ausführungsbeispiel der Erfindung wird nachfolgend an­ hand einer Zeichnung näher läutert.An embodiment of the invention is described below hand clarifies 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, wherein 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 Analyseverfahren ge­ geben, 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 provides very good protection against analysis methods because 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 (16)

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 vorzugsweise die vom Datengenerator (11) ausgegebenen Daten von empfangenen Daten aus dem Rechensystem (10) abhängig sind und das Rechensystem in einen Fehlerzustand ge­ bracht wird oder die Software im Rechensystem nicht zweckmäßig arbeitet, wenn das Rechensystem keine oder fehlerhafte Daten über den Signaleingang (13) empfängt, dadurch gekennzeichnet, daß der Datengenerator (11) Manipulationsversuche an der Hardware des Datengenera­ tors und/oder den empfangenen Daten erkennt, der Da­ tengenerator (11) bei erkannter Manipulation den In­ halt eines Speichers ändert und infolgedessen keine oder fehlerhafte Daten ausgibt und/oder eine Benut­ zungsautorisierung verändert.1. Device for protection against unauthorized use of software, in which at least one external data generator ( 11 ) that can be connected to a signal input of a computing system ( 10 ) generates data, wherein preferably the data output by the data generator ( 11 ) 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 incorrect data via the signal input ( 13 ), characterized in that the data generator ( 11 ) attempts to tamper with the hardware recognizes the data generator and / or the received data, the data generator ( 11 ) changes the content of a memory when manipulation is detected and consequently outputs no or incorrect data and / or changes a usage authorization. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Datengenerator (11) einen Manipulationsversuch an nicht vorgesehenen Daten oder Datenfolgen und/oder zeitlich nicht vorgesehenen Daten oder Datenfolgen er­ kennt. 2. Device according to claim 1, characterized in that the data generator ( 11 ) makes a manipulation attempt on data or data sequences not provided and / or data or data sequences not provided in time he knows. 3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß der Datengenerator (11) sich in einem Gehäuse befindet und die Stromversorgung des Datenge­ nerators durch Öffnen des Gehäuses unterbrochen wird, so daß der Speicher des Datengenerators gelöscht wird.3. Apparatus according to claim 1 or 2, 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 deleted. 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ß die vom Datengenerator (11) generierten Daten eine nicht-deterministisch erzeugte Redundanz aufweisen.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 generated by the data generator ( 11 ) have a non-deterministically generated redundancy. 5. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruchs 1, 2, 3 und/oder 4, dadurch gekennzeichnet, daß der Datengenerator (11) zwei Zustände A und B be­ sitzt, der Datengenerator aus dem Zustand A in den Zu­ stand B nur durch aufeinanderfolgendes Annehmen von mindestens fünf weiteren Zuständen C gebracht werden kann und die vom Datengenerator ausgegebenen Daten nicht von den Zuständen C abhängen.5. Device according to the preamble of claim 1, in particular in connection with the characterizing part of claim 1, 2, 3 and / or 4, characterized in that the data generator ( 11 ) has two states A and B, the data generator is off state A can only be brought into state B by successively assuming at least five further states C and the data output by the data generator does not depend on states C. 6. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruches 1, 2, 3, 4 und/oder 5, dadurch gekennzeich­ net, daß im Datengenerator (11) Daten über die Autori­ sierung zur Benutzung der Software gespeichert sind und die Autorisierungsdaten den Zugriff auf bestimmte Programme und/oder Programmteile steuern, und/oder den Typ des Rechensystems (10) festlegen oder minde­ stens einen Typ ausschließen, und/oder den Zugriff zeitlich begrenzen, und/oder den Zugriff quantitativ steuern.6. Device according to the preamble of claim 1, in particular in connection with the characterizing of claim 1, 2, 3, 4 and / or 5, characterized in that in the data generator ( 11 ) data on the authorization to use the Software are stored and the authorization data control access to certain programs and / or program parts, and / or specify the type of computing system ( 10 ) or at least exclude one type, and / or limit access in time, and / or control access quantitatively . 7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die gespeicherten Daten über die Autorisierung zur Benutzung der Software veränderbar sind.7. The device according to claim 6, characterized in that the stored data about the authorization for Use of the software can be changed. 8. Vorrichtung nach Anspruch 7, 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.8. The device according to claim 7, 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. 9. Vorrichtung nach einem der Ansprüche 6 bis 8, 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.9. Device according to one of claims 6 to 8, characterized in that the data generator ( 11 ) restricts the auto rization or completely cancels, 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. 10. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruchs 1 bis 8 und/oder 9, dadurch gekennzeichnet, daß im Datengenerator (11) eine Benutzeridentifikation und/oder eine Seriennummer gespeichert ist.10. The device according to the preamble of claim 1, in particular in connection with the characterizing part of claim 1 to 8 and / or 9, characterized in that a user identification and / or a serial number is stored in the data generator ( 11 ). 11. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruches 1 bis 9 und/oder 10, dadurch gekennzeichnet, daß der Datengenerator (11) ein Rechensystem enthält, das nach dem von-Neumann-Prinzip arbeitet.11. The device according to the preamble of claim 1, in particular in connection with the characterizing part of claim 1 to 9 and / or 10, characterized in that the data generator ( 11 ) contains a computing system which works according to the von Neumann principle . 12. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruches 1 bis 10 und/oder 11, dadurch gekennzeichnet, daß der Datengenerator (11) eine eigene Stromversor­ gung enthält zur Aufrechterhaltung eines Inhalts eines Speichers.12. The device according to the preamble of claim 1, in particular in connection with the characterizing part of claim 1 to 10 and / or 11, characterized in that the data generator ( 11 ) contains its own power supply for maintaining a content of a memory. 13. Vorrichtung nach dem Oberbegriff des Anspruchs 1, ins­ besondere in Verbindung mit dem Kennzeichen des An­ spruchs 1 bis 11 und/oder 12, dadurch gekennzeichnet, daß der Datengenerator (11) sich in einem Gehäuse be­ findet und durch Öffnen des Gehäuses ein Signal an den Datengenerator (11) gegeben wird, so daß der Datenge­ nerator in einen Zustand gebracht wird, in dem er kei­ ne oder fehlerhafte Daten erzeugt.13. The device according to the preamble of claim 1, in particular in connection with the characterizing part of claim 1 to 11 and / or 12, characterized in that the data generator ( 11 ) is located in a housing and a signal by opening the housing is given to the data generator ( 11 ), so that the data generator is brought into a state in which it does not generate ne or faulty data. 14. Vorrichtung nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß mindestens ein zweiter Datengene­ rator über Signaleingänge und Signalausgänge mit dem Datengenerator (11) verbindbar ist.14. Device according to one of claims 1 to 13, characterized in that at least a second data generator via signal inputs and signal outputs can be connected to the data generator ( 11 ). 15. Vorrichtung nach dem Oberbegriff des Anspruches 1, insbesondere in Verbindung mit dem Kennzeichen des Anspruches 1 bis 13 und/oder 14, dadurch gekennzeich­ net, daß die Ausgabe des Datengenerators (11) und ggfs. die Eingabe in den Datengenerator über eine MIDI-Schnittstelle erfolgt.15. The device according to the preamble of claim 1, in particular in connection with the characterizing part of claims 1 to 13 and / or 14, characterized in that the output of the data generator ( 11 ) and possibly the input into the data generator via a MIDI Interface is done. 16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß der Datengenerator (11) eine weitere MIDI-Schnitt­ stelle aufweist.16. The apparatus according to claim 15, 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 true DE4103173A1 (en) 1992-08-13
DE4103173C2 DE4103173C2 (en) 1993-09-30
DE4103173C3 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
DE19538124A1 (en) * 1995-10-13 1997-04-17 Uwe Dipl Ing Seidel Protecting software against unauthorised use

Families Citing this family (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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3149279A1 (en) * 1981-12-12 1983-06-23 Nsm-Apparatebau Gmbh & Co Kg, 6530 Bingen Program coding
DE3315992A1 (en) * 1982-05-06 1983-11-10 N.V. Philips' Gloeilampenfabrieken, 5621 Eindhoven ARRANGEMENT FOR PROTECTING FROM UNAUTHORIZED READING PROGRAM WORDS TO BE WRITTEN IN A MEMORY
US4446519A (en) * 1981-05-26 1984-05-01 Corban International, Ltd. Method and apparatus for providing security for computer software
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

Patent Citations (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
DE3315992A1 (en) * 1982-05-06 1983-11-10 N.V. Philips' Gloeilampenfabrieken, 5621 Eindhoven ARRANGEMENT FOR PROTECTING FROM UNAUTHORIZED READING PROGRAM WORDS TO BE WRITTEN 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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin Vol. 28, No. 6, November 1985, S. 2530 *
Prospektblatt der ComProTec Hard- und Software Sicherheitssysteme GmbH, "Security Application Microprocessorsystem SAM", Okt. 1989 *

Cited By (2)

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

Also Published As

Publication number Publication date
DE4103173C4 (en) 2017-03-16
DE4103173C2 (en) 1993-09-30
DE4103173C3 (en) 1997-03-13
DE4103173C5 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
DE3407642C2 (en)
DE4435751B4 (en) Filename and directory detection method for use with an operating system
DE2615861C3 (en) Circuit arrangement for checking programs
DE3048365C2 (en)
EP1101163B1 (en) Program-controlled unit
DE112007003231B4 (en) Programmable display device and control system
DE3611223A1 (en) METHOD AND DEVICE FOR PREVENTING BLOCKING IN A DATABASE MANAGEMENT SYSTEM
WO2015032791A1 (en) Method and system for providing anonymised data from a database
DE19963673A1 (en) Document management system development method uses mask for interaction with software management and control bibliotech
EP0224639B1 (en) Method to control the memory access of an ic card and implementing device
DE112010004264T5 (en) Selective write protection for debugging recovery after a crash
EP0280035B1 (en) Method for the programme securing and for integrity checking of a secured programme
DE2810421A1 (en) MEMORY PROTECTION DEVICE
EP1262856A2 (en) Program controlled storage device
EP0276450A1 (en) Data protection circuit to inhibit the transmission of signals on a bus
DE19626972A1 (en) Preliminary release method and apparatus for the use of a program protected by an electronic cassette
WO2001029638A2 (en) Electronic device comprising software protection
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.
EP1771799B1 (en) Method for evaluating the quality of a test program
DE4103173C2 (en) Device for protection against unauthorized use of software
WO2001047175A2 (en) Device for the password-protected handling of an electronic document
DE3518319C2 (en)
DE3914233C1 (en) Computer program protection device - has generator data output connected with consisting testing stage
DE60019833T2 (en) Selection system for executable programs

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