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

Device for protection against unauthorized use of software

Info

Publication number
DE4103173C2
DE4103173C2 DE4103173A DE4103173A DE4103173C2 DE 4103173 C2 DE4103173 C2 DE 4103173C2 DE 4103173 A DE4103173 A DE 4103173A DE 4103173 A DE4103173 A DE 4103173A DE 4103173 C2 DE4103173 C2 DE 4103173C2
Authority
DE
Germany
Prior art keywords
data
data generator
generator
computing system
output
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
DE4103173C3 (en
DE4103173C5 (en
DE4103173C4 (en
DE4103173A1 (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(C2) "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
Application granted granted Critical
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
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 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 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. These 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 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 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 also does not deal 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 last two entries, so that for 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.

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 Patentansprüche 1, 4, 5 oder 15.This object is achieved by claims 1, 4, 5 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 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 other 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 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 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 ID stored in the data generator tion and / or serial number according to a further 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 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 state 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 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) Manipula­ tionsversuche an den empfangenen Daten erkennt, der Datengenerator (11) bei erkannter Manipulation den In­ halt eines Speichers ändert und in­ folgedessen beim Empfang weiterer Daten keine oder fehlerhafte Daten ausgibt und/oder eine Benutzungs­ autorisierung 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 ) attempts to manipulate recognizes the received data, the data generator ( 11 ) changes the content of a memory when manipulation is detected and consequently does not output any or incorrect data when receiving further data and / or changes a user 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 for by time. 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, von deren Annahme die vom Datengenerator ausge­ gebenen Daten abhängen, der Datengenerator aus dem Zu­ stand A in den Zustand B nur durch mindestens fünf aufeinanderfolgende weitere Zustände C gebracht werden kann, die aufgrund empfangener Daten angenommen wer­ den, und die vom Datengenerator ausgegebenen Daten nicht von den Zuständen C abhängen.5. The 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, from their acceptance the data output by the data generator depend, the data generator from state A to state B can only be brought 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 does not depend on states C depend. 6. Vorrichtung nach einem der Ansprüche 1 bis 5, 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.6. Device according to one of claims 1 to 5, 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. 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 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, this can be temporary, if not provided data or data sequences and / or data not provided or Data sequences from the data generator ( 11 ) are received. 10. Vorrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß im Datengenerator (11) eine Benut­ zeridentifikation und/oder eine Seriennummer gespei­ chert ist.10. Device according to one of claims 1 to 9, characterized in that a user identification and / or a serial number is stored in the data generator ( 11 ). 11. Vorrichtung nach einem der Ansprüche 1 bis 10, dadurch dadurch gekennzeichnet, daß der Datengenerator (11) ein Re­ chensystem enthält, das nach dem von-Neumann-Prinzip arbeitet. 11. Device according to one of claims 1 to 10, characterized in that the data generator ( 11 ) contains a computing system Re, which works on the von Neumann principle. 12. Vorrichtung nach einem der Ansprüche 1 bis 11, 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.12. Device according to one of claims 1 to 11, characterized in that the data generator ( 11 ) contains its own power supply for maintaining a content of the input / output behavior affect the volatile memory. 13. Vorrichtung nach einem der Ansprüche 1 bis 12, 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.13. Device according to one of claims 1 to 12, 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. 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 DE4103173A1 (en) 1992-08-13
DE4103173C2 true 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)

Families Citing this family (2)

* 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
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

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

Also Published As

Publication number Publication date
DE4103173C3 (en) 1997-03-13
DE4103173C5 (en) 2017-07-20
DE4103173C4 (en) 2017-03-16
DE4103173A1 (en) 1992-08-13

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
DE68926176T2 (en) Management system for licensed programs
DE69123680T2 (en) Method and device for protecting multiple computer software copies against unauthorized use
DE3044463C2 (en)
DE3783171T2 (en) METHOD FOR CHANGING A BASIC KEY AND CERTIFYING A KEY PRODUCED FROM A PRE-DETERMINED BASIC KEY AND SYSTEM FOR ITS REALIZATION.
DE69531077T2 (en) Method and device with user interaction of the trial-and-buy type, which makes it possible to test software
DE69730321T2 (en) METHOD AND DEVICE FOR PROTECTING DATA WITH MULTIPLE ENCRYPTION LEVELS APPLICABLE TO DATA ELEMENTS
DE3689569T2 (en) System file backup method and data processing unit for carrying it out.
DE68926606T2 (en) Reception and acceptance test procedures for electronically submitted data objects
DE69502852T2 (en) Device for backing up data
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
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
DE19626972A1 (en) Preliminary release method and apparatus for the use of a program protected by an electronic cassette
EP1226484A2 (en) Electronic device
EP0080244B1 (en) Method of identifying a system - allied, physically separableprogramme memory, and a data processing system using this method.
DE4103173C2 (en) Device for protection against unauthorized use of software
WO2001047175A2 (en) Device for the password-protected handling of an electronic document
DE69323730T2 (en) METHOD AND DEVICE FOR PREVENTING UNAUTHORIZED ACCESS TO A COMPUTER SYSTEM.
EP1700182B1 (en) Authorization code recovering method

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