DE19510436C2 - Verfahren zum Kopierschutz von Software - Google Patents

Verfahren zum Kopierschutz von Software

Info

Publication number
DE19510436C2
DE19510436C2 DE1995110436 DE19510436A DE19510436C2 DE 19510436 C2 DE19510436 C2 DE 19510436C2 DE 1995110436 DE1995110436 DE 1995110436 DE 19510436 A DE19510436 A DE 19510436A DE 19510436 C2 DE19510436 C2 DE 19510436C2
Authority
DE
Germany
Prior art keywords
software
data
data carrier
unusable
copy protection
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 - Fee Related
Application number
DE1995110436
Other languages
English (en)
Other versions
DE19510436A1 (de
Inventor
Stefan Spoettl
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.)
SPOETTL STEFAN DIPL INFORM
Original Assignee
SPOETTL STEFAN DIPL INFORM
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
Application filed by SPOETTL STEFAN DIPL INFORM filed Critical SPOETTL STEFAN DIPL INFORM
Priority to DE1995110436 priority Critical patent/DE19510436C2/de
Publication of DE19510436A1 publication Critical patent/DE19510436A1/de
Application granted granted Critical
Publication of DE19510436C2 publication Critical patent/DE19510436C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00572Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium
    • G11B20/00586Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the physical format of the recording medium
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00659Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a control step which is implemented as an executable file stored on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0092Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors
    • G11B20/00927Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors wherein said defects or errors are generated on purpose, e.g. intended scratches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0092Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors
    • G11B20/00927Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors wherein said defects or errors are generated on purpose, e.g. intended scratches
    • G11B20/00949Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors wherein said defects or errors are generated on purpose, e.g. intended scratches said intentional errors occurring due to bad sectors, which are either physically destroyed or which are declared defective in the defect management information
    • 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)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Kopierschutz von Software gemäß dem OB des PA, das heißt zum Schutz von Software gegen funktionserhaltende Vervielfältigungen durch Anfertigen von Kopien auf Datenträgern der elektronischen Datenverarbeitung entgegen bestehenden Lizenzvereinbarungen hinsichtlich der Vervielfältigung von Software zwischen Softwareanbietern und Softwarekäufern.
Im Rahmen aller kommerziell angebotenen Betriebssysteme stehen Programme zur Verfügung, die das funktionserhaltende Kopieren beliebiger Software von einem Datenträger auf einen anderen erlauben. Die Kopierprogramme ermöglichen Softwarevervielfältigungen mit geringem Aufwand. Sie stellen den Basismechanis­ mus zur Verbreitung von Software dar. Zudem erlauben sie das Kopieren von Daten, die mit Hilfe von Software erzeugt wurden, da sich gespeicherte Daten von gespeicherter Software nur durch ihre Interpretation unterscheiden. Kopierprogramme sind sowohl für Softwarehersteller und als auch für Nutzer von Software unverzichtbar.
Inhaber von Urheberrechten an Software, die ihre Software ähnlich vertreiben wollen, wie ein Verlag Bücher am Markt absetzt, haben allerdings ein berechtigtes Interesse daran, Vervielfältigungen, die ihrem Urheberrecht zuwiderlaufen, zu ver­ hindern. Veräußert ein Inhaber von Urheberrechten auch nur ein Exemplar seines Softwareprodukts, besteht durch die Existenz der Kopierprogramme prinzipiell die Möglichkeit, daß die Software unter Mißachtung von Lizenzvereinbarungen vervielfältigt und unberechtigter Nutzung zugeführt wird.
Zum Schutz von Software gegen eine Nutzung, die Lizenzvereinbarungen hinsicht­ lich der Vervielfältigung widerspricht, sind zwei grundlegende Verfahren bekannt.
Nach dem einen Verfahren erbringt die Software erst dann die vom Nutzer erwartete Leistung, wenn dieser ein Codewort eingegeben hat, das von Aufruf zu Aufruf der Software wechseln kann. Da die Codewörter den berechtigten Nutzern über den gesamten Vertriebsweg hinweg mitgeteilt werden müssen, sind sie in einem zugehörigen Schriftstück niedergelegt. Da aber auch Schriftstücke auf einfache Weise vervielfältigt werden können, erhöht sich der Aufwand zur Erstellung einer nutzbaren Kopie der Software durch die niedergelegten Code­ wörter nur geringfügig, so daß in der Praxis nur ein sehr geringer Schutz besteht.
Bei einem anderen Verfahren interagiert die zu schützende Software mit zusätz­ licher Hardware, die für einen Betrieb dieser Software in ausführende Rechner integriert werden muß. Die Hardware enthält Bauteile, die einerseits die Hardware selbst identifizieren und andererseits nur mit hohem Aufwand duplizierbar sind. Die Software prüft, ob die ihr fest zugeordnete Hardware mit dem Rechner, auf dem sie abläuft, über eine dafür vorgesehene Hardwareschnittstelle verbunden ist, und nur wenn dies der Fall ist, wird die Software im Sinne der Nutzerintuition aktiv. Das Kopieren der Software hat damit nur dann einen Sinn, wenn auch die zusätzliche Hardware vervielfältigt wird.
Auf diese Weise wird ein wirksamer Schutz gegen unberechtigte Vervielfältigung erreicht. Er wird allerdings mit einigen Nachteilen erkauft: Die Installation, die Wartung und die Pflege der Software erschweren sich. Die Anschaffung verteuert sich um die Kosten für die zusätzliche Hardware. Rechner, die Software und zusätzliche Hardware aufnehmen sollen, verfügen in der Regel nur über eine sehr begrenzte Anzahl von geeigneten Hardwareschnittstellen, so daß nur eine ebenso begrenzte Anzahl von Softwarepaketen betrieben werden kann, die auf die beschriebene Weise geschützt sind. Das Verfahren ist daher für viele Software­ produkte unpraktikabel bzw. zu aufwendig und konnte sich deshalb trotz seiner Wirksamkeit bisher nicht durchsetzen.
Aus der JP-A-62-1 59 255 ist ein Verfahren zum Kopierschutz von Software mit den Merkmalen des Patentanspruchs 1 bekannt, bei dem eine Diskette mit einer fehlerhaften Spur versehen wird. Ferner sind aus der Süddeutschen Zeitung Nr. 195, 27. August 1987, S. 23, mechanische Eingriffe auf Disketten zum Pro­ grammschutz bekannt, wie etwa winzige, durch Laserstrahl eingebrannte Löcher.
Die EP-A-0 598 587 zeigt die Verriegelung einer auf einer Festplatte installierten Versuchssoftware mit dieser Festplatte, indem die Positionen von Sektoren von Dateien auf der Festplatte bestimmt und im Programmbetrieb überprüft werden. Um eine beliebig oft lauffähige Versuchssoftware zu erhalten, muß diese mit einem Paßwort freigeschaltet werden.
Der Erfindung liegt die Aufgabe zugrunde, einen Kopierschutz für Software zu schaffen, der weder Paßwörter noch zusätzliche Hardware benötigt und mit dem die Software sowohl auf einem oder mehreren Ursprungsdatenträgern zum Vertrieb der Software als auch auf einem fest eingebauten Datenträger einer Datenverarbeitungsanlage wirksam geschützt ist.
Diese Aufgabe wird bei einem gattungsgemäßen Verfahren erfindungsgemäß durch die Merkmale des Patentanspruchs gelöst.
Partien sind kleine zusammenhängende Speicherbereiche auf dem Datenträger, wie sie z. B. durch Formatieren erhalten werden, und unter unbrauchbaren Partien werden solche Partien verstanden, die zumindest teilweise dauerhaft physikalisch verändert sind, so daß kein normaler Gebrauch dieser Partien möglich ist, z. B. Lesen oder Schreiben. Aufgrund der großen Zahl dieser Partien läßt sich die Anzahl der voneinander unterscheidbaren Datenträger praktisch beliebig groß wählen, so daß zufällige Übereinstimmungen ausgeschlossen sind.
Die Erfindung läßt sich mit geringem Aufwand realisieren, da der Schutz während der Produktion mit wenig Aufwand in das Softwareprodukt integriert werden kann und auf der Anwenderseite nur solche Hardwarekomponenten benötigt werden, die in einer Datenverarbeitungsanlage üblicherweise vorhanden sind. Außerdem gibt es keine verfahrensinhärenten Einschränkungen bezüglich der Anzahl der Softwarepakete, die bei Anwendung des Kopierschutzverfahrens betrieben werden können. Schließlich ist das Verfahren sehr nutzerfreundlich, da beim Betrieb, bei der Installation und bei der Pflege der Software nur geringe Einschränkungen verursacht werden.
In der bevorzugten Ausführungsform stellen die gespeicherten Daten über die unbrauchbaren Partien die Adressen der unbrauchbaren Partien auf dem individua­ lisierten Ursprungsdatenträger dar, entweder direkt oder in einem dem Programm bekannten Code. Außerdem kann der Zugriff auf die Daten erschwert werden, indem die Daten in den Programmcode geschrieben werden. Bei der Prüfung, ob sich der individualisierte Ursprungsdatenträger in der Datenverarbeitungsanlage befindet, wird auf das für den Ursprungsdatenträger vorgesehene Laufwerk zuge­ griffen, um zu verifizieren, daß der in diesem Laufwerk befindliche Datenträger unbrauchbare Partien aufweist, deren Adressen mit aus den gespeicherten Daten über die unbrauchbaren Partien erhaltenen Adressen übereinstimmen.
Der Ursprungsdatenträger wird entweder im voraus individualisiert, indem wahllos Gebiete eines seriengefertigten Datenträgers unbrauchbar gemacht werden, der dann auf unbrauchbare Partien durchsucht wird, deren Adressen gespeichert werden, oder es werden zuerst Adressen für unbrauchbare Partien festgelegt und wird dann der individualisierte Ursprungsdatenträger hergestellt, indem diesen Adressen entsprechende Gebiete eines seriengefertigten Datenträgers unbrauch­ bar gemacht werden.
Das erfindungsgemäß geschützte Programm kann ein Installationsprogramm oder ein Unterprogramm der eigentlichen zu schützenden Software sein, so daß auch bereits erstellte Software problemlos damit geschützt werden kann. Der indivi­ dualisierte Ursprungsdatenträger braucht keine Daten zu enthalten. Da die unbrauchbaren Partien aber nur einen Bruchteil seines Speichervermögens ausmachen, wird vorzugsweise zumindest das Installationsprogramm bzw. das Unterprogramm auf dem individualisierten Ursprungsdatenträger gespeichert. Gegebenenfalls kann aber auch ein vollständiges Anwendungsprogramm auf dem individualisierten Ursprungsdatenträger gespeichert werden. Ferner kann auch Software geschützt werden, die auf Datenträgern gespeichert wird, die nicht auf die erwähnte Art und Weise individualisierbar sind, indem Teile dieser Software, z. B. das Installationsprogramm oder ein Unterprogramm, das eine Schutzroutine bildet, auf einem zusätzlichen, individualisierbaren Ursprungsdatenträger gespei­ chert und geschützt wird. Nach der Installation prüft die Software an vorbestimm­ ten Stellen im Ablauf, ob sich der individualisierte Ursprungsdatenträger in der Datenverarbeitungsanlage befindet, und stellt den Betrieb ein, wenn dieser Datenträger auch auf Anforderung nicht zur Verfügung gestellt wird.
Die unbrauchbaren Partien auf dem fest eingebauten Datenträger können eigens hergestellt werden, aber auch auf Unzulänglichkeiten bei der Herstellung beruhen. Festplatten zum Beispiel weisen in der Regel von vornherein einige Fehler auf, so daß sie unmittelbar verwendet werden können.
Das erfindungsgemäß geschützte Programm kann auch ein Leseprogramm für verschlüsselt gespeicherte Textdaten sein. Wenn jedem ausgelieferten Paar Textdaten und Leseprogramm ein individueller Schlüssel zugeordnet wird, läßt sich die unkontrollierte Weiterverbreitung dieser Textdaten, z. B. Lexika, erheblich erschweren.
Es folgt die Beschreibung mehrerer Ausführungsbeispiele anhand der Zeichnung, deren einzige Figur einen Datenträger mit einigen unbrauchbar gemachten Partien zeigt. Zunächst werden einige elementare Verfahrensschritte beschrieben, die bei dem erfindungsgemäßen Verfahren verwendet werden.
Das Kopierschutzverfahren basiert auf der Individualisierung von Datenträgern derart, daß sie identifizierbar werden.
Wesentlicher Bestandteil gebräuchlicher Datenträger sind Trägeroberflächen. Die Trägeroberflächen werden zur Aufnahme von Datenpaketen in eine größere Anzahl speichernder Partien unterteilt, die einzeln adressierbar, beschreibbar und lesbar sind.
Die Figur zeigt einen kreisrunden Datenträger 1, dessen Oberfläche in Sektoren und Spuren unterteilt ist. Durch Angabe eines Sektors und einer Spur wird jeweils eine aus einer Vielzahl von Partien 2 auf dem Datenträger 1 identifiziert. Ein unabhängig von darauf gespeicherten Daten identifizierbarer Datenträger 1 wird erhalten, indem Teile davon durch eine Einwirkung mit dauerhaftem Effekt für die Aufnahme oder Wiedergabe von Daten unbrauchbar gemacht werden. In der Figur sind schematisch vier unbrauchbar gemachte Gebiete 3 auf der Trägeroberfläche eingezeichnet. Je nach Lage und Größe der unbrauchbar gemachten Gebiete 3 wird dadurch eine Anzahl von unbrauchbaren Partien 4 erzeugt. Die unbrauch­ baren Partien 4 unterscheiden sich physikalisch von regulären Partien 2 und können mit Hilfe der gebräuchlichen Hardware zum Lesen des Datenträgers 1 diagnostiziert werden. Diese Diagnosemöglichkeit besteht in jeder Daten­ verarbeitungsanlage, da auch serienmäßige Datenträger 1 unbrauchbare Partien aufweisen können.
Die Begriffe identifizierbarer Datenträger und unbrauchbare Partien sind somit erläutert worden, und es wird in der nachfolgenden Beschreibung des Verfahrens auf die weitere Bezugnahme auf die Figur verzichtet. Außerdem werden hier unter Datenträgern auch solche verstanden, die nicht die in der Figur gezeigte ebene Form aufweisen, zum Beispiel Datenträger mit im Raum gekrümmten Trägerober­ flächen oder dreidimensionale Datenträger, die aber ebenfalls auf die eine oder andere Weise in Partien unterteilt sind.
Das Muster, das zerstörte Partien bilden, kann von der zu schützenden Software, die sich eventuell ganz oder in Teilen auf einem identifizierbaren Datenträger befindet, während des Softwarelaufs auf seine Existenz geprüft werden. Die Software erbringt nur dann die vom Nutzer geforderten Leistungen, wenn sie in einem vorab oder während des Softwarelaufs festgelegten Lesegerät einen Daten­ träger mit einem korrekten Muster zerstörter Partien findet. Eine Übertragung zer­ störter Partien von einem Datenträger auf einen anderen ist aber bei der Schreib­ dichte aller gebräuchlichen Datenträger schwierig. Die Übertragung erfordert höchste Präzision. Darüber hinaus ist das zufällige Auftreten von Datenträgern mit gleichen zerstörten Partien bei der Anzahl speichernder Partien auf gebräuchlichen Datenträgern und der üblichen Produktionsqualität sehr unwahrscheinlich. Der Aufwand zur Erstellung einer funktionstüchtigen Kopie wird um die Beschaffung eines Datenträgers mit einem passenden Muster zerstörter Partien erhöht und somit ein wirksamer Kopierschutz hergestellt.
Das Verfahren zum Kopierschutz läßt sich in folgende Verfahrensschritte zerlegen, deren Reihenfolge bei der Verfahrensanwendung geändert werden kann:
A. Individualisierung des zugeordneten Datenträgers
Der zugeordnete Datenträger ist der Datenträger, der im Rahmen des Kopier­ schutzverfahrens erkannt werden soll. Er wird individualisiert, indem man einige Partien seiner speichern den Oberfläche für die Aufnahme oder Wieder­ gabe von Daten dauerhaft unbrauchbar macht.
Eine dauerhafte Zerstörung von Partien kann auf verschiedene Weise erreicht werden, je nach der Speichertechnik, die dem verwendeten Datenträger zugrundeliegt. Nachfolgend werden einige Beispiele angegeben.
Einzelne Partien magnetischer, magnetooptischer und optischer Datenträger lassen sich zerstören, indem man in den Datenträger an selektierten Stellen Bohrungen einbringt, die das Trägermaterial durchstoßen. Bei magnetischen und magnetooptischen Datenträgern kann an den Stellen der Bohrungen keine Magnetisierung mehr erfolgen. Bei optischen Datenträgern fehlen an den Stellen der Bohrungen lichtreflektierende Schichten, die Daten repräsentieren können.
Beim Einbringen der Bohrungen ist allerdings die Technik der Schreib- /Lesegeräte zu berücksichtigen. In manchen Schreib-/Lesegeräten schwebt ein Schreib-/Lesekopf auf einem Luftkissen über der Datenträgeroberfläche. Die Bohrungen müssen dann eine günstige Anordnung und einen Durchmesser haben, der gegen die Gleitfläche des Schreiblesekopfes klein ist. Das Luft­ kissen soll so stabil bleiben, daß der Schreib-/Lesekopf trotz der Bohrungen über der Datenträgeroberfläche gehalten wird.
Einzelne Partien optischer Datenträger werden außerdem unbrauchbar, wenn man an selektierten Stellen der Datenträgeroberfläche zusätzliche nicht reflek­ tierende Materialien aufbringt. Bei magnetischen und magnetooptischen Daten­ trägern stellt das Abschürfen von Teilen der magnetisierbaren Schicht auf der Datenträgeroberfläche eine Alternative zum Einbringen von Bohrungen dar. Außerdem könnten bei der Produktion der Datenträger vor dem Aufbringen der magnetisierbaren Schicht einige Stellen der Datenträgeroberfläche abgedeckt werden, so daß später an diesen Stellen keine Magnetisierung möglich ist.
B. Fixierung der Adressen unbrauchbarer Partien
Unter der Fixierung der Adressen unbrauchbarer Partien wird die definitorische Festlegung entsprechender Adressen verstanden, wenn der Verfahrensschritt B vor dem Verfahrensschritt A erfolgt. Bei umgekehrter Reihenfolge wird unter der Fixierung die Ermittlung der Adressen unbrauchbarer Partien verstanden. Die Adressen können dann während einer Formatierung des Datenträgers oder durch systematische Leseversuche ermittelt werden. Die fixierten Adressen fließen als Daten in die nachstehend beschriebene Schutzroutine ein.
C. Integration einer Schutzroutine in die zu schützende Software
Die Schutzroutine ist ein Unterprogramm, das von der zu schützenden Soft­ ware aktiviert wird. Nach ihrer Aktivierung überprüft die Schutzroutine, ob sich an ihr bekannten Adressen eines festgelegten Datenträgers, der für einen Zugriff zur Verfügung steht, unbrauchbare Partien befinden. Ist dies der Fall, so gibt die Schutzroutine die Ablaufkontrolle an die zu schützende Software zurück (Rücksprung aus dem Unterprogramm), damit diese Leistungen im Sinne des Nutzerwillens erbringen kann. Findet die Schutzroutine an den ihr bekannten Adressen keine unbrauchbaren Partien, leitet sie die sofortige Terminierung der zu schützenden Software ein.
Während der Umsetzung dieses Verfahrensschrittes wird also zunächst eine zum zugeordneten Datenträger passende Schutzroutine konstruiert, indem man in ein (vorgefertigtes) Unterprogramm mit der beschriebenen Funktionalität die Adressen, die im Verfahrensschritt B ermittelt oder festgelegt wurden, als ablaufsteuernde Daten einbringt. Danach erfolgt die Integration der Schutz­ routine in die zu schützende Software. An frei wählbaren Codestellen in der zu schützenden Software erfolgt ein Aufruf der Schutzroutine. Die Aufrufstellen werden dabei in der Regel so gewählt, daß sie einen wirksamen Schutz gewährleisten und gleichzeitig nur unbedeutende Laufzeitverlängerungen verursachen (z. B. Aufrufe beim Start der Software oder vor selten genutzten, aber unverzichtbaren Teilfunktionen).
Zusätzlich zur Prüfung des Musters zerstörter Partien besteht die Möglichkeit, daß die Schutzroutine in ähnlicher Weise Bitmuster von Daten, die auf dem Datenträger gespeichert sind, auf ihre Existenz prüft. Diese begleitende Maßnahme stärkt den Zusammenhang zwischen Software und Datenträger. Der Schutz wird weiter erhöht.
D. Speicherung der zu schützenden Software
In diesem Verfahrensschritt wird die im Verfahrensschritt C erstellte Software mit integrierter Schutzroutine ihrem Nutzer verfügbar gemacht, indem sie auf Datenträger geschrieben wird. Die Software kann aus Gründen der Kosten­ ersparnis, Bequemlichkeit oder Effizienz ganz oder teilweise auf dem zugeord­ neten Datenträger gespeichert werden. Es ist aber auch denkbar, daß der zugeordnete Datenträger weder zur Speicherung von Software noch zur Speicherung irgendwelcher anderen Daten genutzt wird. Der Nutzer kann von der zu schützenden Software, die auf beliebigen Datenträgern gespeichert sein kann, vor Prüfungen im Rahmen des Kopierschutzes aufgefordert werden, den zugeordneten Datenträger in ein Lesegerät zu legen.
Da die Fixierung der Adressen unbrauchbarer Partien stets vor der Integration der Schutzroutine in die Software und diese wiederum stets vor der Speicherung der Software erfolgen muß, sind nur die nachstehend angegebenen Reihenfolgen der Verfahrensschritte A, B, C und D möglich:
  • 1. A, B, C, D
  • 2. B, A, C, D
  • 3. B, C, A, D
  • 4. B, C, D, A.
Die Definition der Verfahrensschritte soll dabei nicht so verstanden werden, als ob sich bei einer konkreten Verfahrensanwendung stets alle vier Verfahrensschritte isoliert betrachten ließen. Oben sind nur die grundlegenden Reihenfolgen beschrie­ ben, und es wird nicht ausgeschlossen, daß infolge einer feineren Zerlegung direkt aufeinanderfolgende Verfahrensschritte zu einem einzigen zusammengefaßt werden. So ist es zum Beispiel möglich, in der dritten und vierten Reihenfolge die Verfahrensschritte B und C miteinander zu verschmelzen. Anstatt alle Adressen unbrauchbarer Partien auf einmal zu wählen, könnte zunächst eine Adresse gewählt werden, die sofort anschließend in Form von Daten in die Schutzroutine einfließt. Bezüglich weiterer Adressen wird dann in gleicher Weise vorgegangen. Die Verfahrensschritte B und C lassen sich dann nicht mehr isoliert betrachten. Hinsichtlich der feineren Zerlegung bleibt die beschriebene Reihenfolge aber bestehen.
Die Flexibilität des geschilderten Verfahrens erlaubt nun mehrstufige Anwen­ dungen, die insbesondere dann von Interesse sind, wenn Datenträger fest in einem Rechner eingebaut sind (z. B. Festplatten). Kann ein Softwareanbieter voraussetzen, daß sein Softwareprodukt beim Nutzer auf einem Zieldatenträger gespeichert wird, bei dem vorausschauend einige Partien zerstört sind, so ist es möglich, vervielfältigende Übertragungen des Softwareproduktes auf den Zieldatenträger zu beschränken. Der Softwareanbieter muß dazu nicht einmal die Adressen der zerstörten Partien auf den Zieldatenträger kennen. Er geht wie folgt vor: Der Softwareanbieter konstruiert ein Installationsprogramm, das durch das beschriebene Kopierschutzverfahren geschützt ist. Das Installationsprogramm hat die Aufgabe, das zu schützende Softwareprodukt auf den Zieldatenträger zu kopieren und so dem Nutzer verfügbar zu machen. Bevor es aber diese Leistung erbringt, ermittelt es die zerstörten Adressen des Zieldatenträgers und speichert die Adressen zweifach: zum einen auf dem Zieldatenträger, damit sie für die Schutzroutine des Softwareproduktes zugänglich sind, und zum zweiten auf dem Datenträger, der dem Installationsprogramm zugeordnet ist.
Wurde das Installationsprogramm so konstruiert, daß es die Speicherung der Adressen zum Zieldatenträger nur ein einziges mal durchführt, kann mit der Anwendung dieses zweistufigen Verfahrens folgendes gewährleistet werden:
  • 1. Das Installationsprogramm ist kopiergeschützt.
  • 2. Das Softwareprodukt auf dem Zieldatenträger ist kopiergeschützt.
  • 3. Mit dem Installationsprogramm kann das Softwareprodukt auf genau einen Zieldatenträger bzw. auf einer festlegbaren Anzahl von Zieldatenträgern aufgebracht werden.
Fortgesetzte Installationen des Softwareproduktes auf dem oder den gleichen Zieldatenträgern können dabei möglich gemacht werden. Das Installations­ programm muß hierzu bei wiederholten Aufrufen nur die Adressen der zerstörten Partien des Zieldatenträgers, die es ermittelt, mit denen vergleichen, die es bei seinem ersten Aufruf gespeichert hat.
Die zu schützende Software wird hierbei so auf den vom Softwareanbieter gelieferten Quelldatenträgern gespeichert, daß sie erst nach ihrer Speicherung auf dem Zieldatenträger funktionsfähig ist. Das kann der Softwareanbieter zum Beispiel erreichen, indem er die Schutzroutine des Softwareproduktes zunächst mit Adressen zerstörter Partien füttert, die in der Praxis nie auftreten (z. B.: ganzer Datenträger zerstört). Das Installationsprogramm korrigiert diese Adressen im Rahmen seiner spezifizierten Aufgaben.
Da das beschriebene Kopierschutzverfahren bedingt, daß die zu schützende Software infolge der Speicherung der Adressen unbrauchbarer Partien ebenso individuell ist, wie der ihr zugeordnete Datenträger, kann es aber nicht mit jeder Technik zum Speichern der Software auf Datenträgern eingesetzt werden. So beschreibt man optische Datenträger (CD-ROMs) zur Reduzierung des Aufwands bei der Speicherung oft in einem Prägeverfahren. Wollte man nach dem beschrie­ benen Verfahren individualisierte Software durch Prägen vervielfältigen, so wäre für jedes Exemplar der Software ein eigener Prägerohling erforderlich.
Wegen der Möglichkeit zur Modularisierung der zu schützenden Software kann das Verfahren aber auch im Zusammenhang mit einer solchen Speichertechnik zum Einsatz kommen. Man extrahiert individuelle Softwareanteile, zum Beispiel eine Schutzroutine, und speichert sie mit geeigneter Technik auf separaten Daten­ trägern.
Nach dem beschriebenen Verfahren kann eine sehr große Anzahl von Datenträgern unterschieden werden. Wenn n für die Gesamtzahl aller Partien eines Datenträgers steht und k die Anzahl der zerstörten Partien aus der Gesamtzahl repräsentiert, gibt der Binominalkoeffizent
n · (n - 1) · (n - 2) · . . . · (n - k + 1)/k!
die Anzahl der unterscheidbaren Datenträger an. Außerdem zerfällt die Menge aller Datenträger hinsichtlich ihrer für einen Rechner überprüfbaren technischen Eigenschaften in Klassen (z. B. Magnetdisketten mit einem bestimmten Durch­ messer, z. B. 5,25 Zoll, und einer bestimmten Speicherkapazität, z. B. 1200 kB, Festplatten oder CD-ROMs). Wird eine Prüfung nach der Datenträgerklasse in die Identitätsprüfung von Datenträgern nach dem beschriebenen Kopierschutz­ verfahren mit einbezogen, so bezieht sich die mittels des Binominalkoeffizenten errechnete Anzahl unterscheidbarer Datenträger immer nur auf eine Klasse von Datenträgern. Eine gewisse Unterscheidung der Datenträgerklassen ergibt sich im übrigen bereits dadurch, daß Datenträger mit unterschiedlicher Speichertechnik mit unterschiedlichen Schreib-/Lesegeräten bearbeitet werden müssen.
Die folgende Tabelle nennt zum Beispiel für einige Klassen von Magnetdisketten mit einem Durchmesser von 3,5 Zoll die Anzahl der unterscheidbaren Disketten in Abhängigkeit von der Anzahl zerstörter Partien. Disketten aus verschiedenen Klassen unterscheiden sich hinsichtlich ihrer Speicherkapazität, und dieser Sachverhalt findet in einer unterschiedlichen Gesamtzahl von Partien in einzelnen Klassen Ausdruck.
Die Anzahl der unterscheidbaren Datenträger kann in den Grenzen, die die Defini­ tion des Binominalkoeffizenten vorgibt, in allen Datenträgerklassen durch die Zerstörung einer entsprechenden Anzahl von Partien so weit gesteigert werden, daß die Zahl der unterscheidbaren Datenträger die Zahl der weltweit benötigten Datenträger um Zehnerpotenzen übersteigt. Damit eröffnet sich die Möglichkeit, die Identitätsprüfung in Rahmen des beschriebenen Kopierschutzverfahrens unter Verzicht auf absolute Genauigkeit bei der Prüfung sehr effizient zu gestalten. Anstatt alle Partien eines Datenträgers auf ihren korrekten Status zu überprüfen, kann die Prüfung ohne wesentlichen Verlust an Wirksamkeit auf eine festlegbare Umgebung der zerstörten Partien beschränkt werden, deren Adressen während der Realisierung des Kopierschutzes gespeichert wurden. Als Nebenprodukt dieses effizienten Prüfverfahrens ergibt sich dann eine eingeschränkte Unempfindlichkeit des Kopierschutzverfahrens gegen unbrauchbare Partien, die nicht gezielt herge­ stellt wurden, sondern infolge der Alterung eines Datenträgers entstanden sind.
Ein weiterer wesentlicher Vorteil ergibt sich, wenn der Verfahrensschritt A vor dem Verfahrensschritt B ausgeführt wird, also zunächst Datenträgerpartien zerstört werden und dann eine Ermittlung der Adressen aller zerstörten Partien erfolgt. Der Anwender des Kopierschutzverfahrens kann dann bei der Zerstörung von Partien auf hohe Präzision verzichten. Er muß die Stellen für Zerstörungen auf der Datenträgeroberfläche nur ungefähr festlegen und benötigt keine exakte Mechanik, wenn er die Zerstörung vornimmt. Wenn aber jemand einen so produzierten Datenträger mit zerstörten Partien nachmachen will, ist äußerste Präzision geboten. Schon bei einfachen gebräuchlichen Magnetdisketten hat eine Partie in einer ihrer beiden Ausdehnungsdimensionen ein Maß von unter 0,2 mm. Bei anderen Speichermedien, zum Beispiel magnetooptischen oder optischen Speichermedien, kommen noch wesentlich höhere Schreibdichten vor. Hinzu kommt, daß verschiedene Schreibgeräte derselben Datenträgerklasse Partien mit gleichen Adressen nur annähernd an derselben Stelle eines Datenträgers anlegen. Diesbezügliche Toleranzen müssen bei der Vervielfältigung eines Datenträgers mit zerstörten Partien berücksichtigt werden.
Die Last der Präzision obliegt also nur demjenigen, der widerrechtlich kopieren möchte. Neben dem hohen Schutz wird hier außerdem deutlich, daß vor einer Anwendung des Kopierschutzverfahrens nicht unbedingt eine präzise Mechanik zur Zerstörung von Datenträgerpartien entwickelt werden muß. Der Aufwand zur Realisierung des Verfahren kann also gering gehalten werden.
Da der Kopierschutz auf den Datenträgern realisiert werden kann, auf denen auch das Softwareprodukt seinen Käufer erreicht, muß der Käufer keinerlei Hardware­ zusätze zum Softwareprodukt finanzieren, die bei dem weiter oben beschriebenen Kopierschutzverfahren für einen Softwarebetrieb erforderlich sind. Das Verfahren erlaubt Softwarevertreibern also den Absatz vom Produkten mit Kopierschutz, die sich durch den Kopierschutz nur unwesentlich verteuern.
Auch irgendwelche Beschränkungen bezüglich der Anzahl der Softwareprodukte mit Kopierschutz, die ein Anwender auf einem Rechner betreiben kann, ergeben sich aus dem beschriebenen Verfahren nicht. Zum einen muß ein Datenträger mit zerstörten Partien, der zu dem beschriebenen Kopierschutz dient, nicht ständig im Lesegerät des Anwenders verbleiben. Der Anwender kann vor Identitätsprüfungen von Datenträgern aufgefordert werden, entsprechende Datenträger in ein Lesegerät einzulegen. Damit ergibt sich für den Anwender aber die Möglichkeit, Datenträger zum Kopierschutz aus Lesegeräten zu entfernen, solange keine Prüfung erfolgt. Zum anderen kann der Kopierschutz mit dem oben beschriebenen zweistufigen Verfahren von einem mobilen Datenträger auf fest eingebaute Daten­ träger im Rechner des Anwenders übertragen werden. Das Kopierschutzverfahren ist damit beliebig oft anwendbar. Während der Installation, der Pflege und dem Betrieb des Softwareproduktes muß der Anwender durch das Kopierschutz­ verfahren aber keine anderen Einschränkungen als die hinnehmen, die durch die (optimierbare) Laufzeit der Schutzroutine und ein eventuelles Einlegen von identifizierbaren Datenträgern entstehen.
Abschließend ist zu erwähnen, daß die Stärke des Kopierschutzes, den das beschriebene Verfahren bietet, dem Wert der zu schützenden Softwareproduktes angepaßt werden kann. Es ist denkbar, daß mehrere identifizierbare Datenträger für den Kopierschutz eingesetzt werden. Ein Kopierender wäre dann gezwungen, alle identifizierbaren Datenträger vervielfältigen. Weiterhin kann die Anzahl der Stellen im Code des Softwareproduktes, an denen eine Identitätsprüfung von Datenträgern erfolgt, variiert werden. Es wird dann schwerer, die Funktionalität des Softwareproduktes so zu ändern, daß die Software keine Identitätsprüfungen mehr durchführt. Der Aufruf einer einzelnen Identitätsprüfung kann allerdings leicht so gestaltet werden, daß eine entsprechende Änderung der Software­ funktionalität sehr schwierig ist.

Claims (1)

  1. Verfahren zum Kopierschutz von Software, wobei einem auf einem oder mehreren Ursprungsdatenträgern gespeicherten Programm ein bestimmter, durch eine An­ zahl von unbrauchbaren Partien individualisierter Ursprungsdatenträger zugeordnet wird und wobei bei der Installation und/oder im Betrieb des Programms in einer Datenverarbeitungsanlage anhand von gespeicherten Daten über die unbrauch­ baren Partien geprüft wird, ob sich der individualisierte Ursprungsdatenträger in der Datenverarbeitungsanlage befindet, dadurch gekennzeichnet, daß die Soft­ ware von dem oder den Ursprungsdatenträgern auf einem fest eingebauten Daten­ träger einer Datenverarbeitungsanlage installiert wird, der durch unbrauchbare Partien individualisiert ist, daß die unbrauchbaren Partien auf dem fest eingebau­ ten Datenträger bei der Installation ermittelt werden und daß Daten über die unbrauchbaren Partien in Verbindung mit der Software auf dem fest eingebauten Datenträger und auf dem individualisierten Ursprungsdatenträger (1) gespeichert werden, wobei in der Folge verhindert wird, daß die Software auf irgendeiner anderen Datenverarbeitungsanlage als derjenigen mit dem fest eingebauten Datenträger installiert werden kann.
DE1995110436 1995-03-22 1995-03-22 Verfahren zum Kopierschutz von Software Expired - Fee Related DE19510436C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1995110436 DE19510436C2 (de) 1995-03-22 1995-03-22 Verfahren zum Kopierschutz von Software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1995110436 DE19510436C2 (de) 1995-03-22 1995-03-22 Verfahren zum Kopierschutz von Software

Publications (2)

Publication Number Publication Date
DE19510436A1 DE19510436A1 (de) 1995-08-17
DE19510436C2 true DE19510436C2 (de) 1997-04-10

Family

ID=7757398

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995110436 Expired - Fee Related DE19510436C2 (de) 1995-03-22 1995-03-22 Verfahren zum Kopierschutz von Software

Country Status (1)

Country Link
DE (1) DE19510436C2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19842392C1 (de) * 1998-09-16 1999-12-30 Ok Media Disc Service Gmbh & C Kopierschutzverfahren
DE102006030512A1 (de) * 2006-07-01 2008-01-24 Müller, P. Cornelia Sichtbarer Kopierschutz für alle DVD-Formate

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19602804A1 (de) * 1996-01-26 1997-07-31 Harras Roland Verfahren zum Verhindern der Vervielfältigung von Software (Solftware-Kopierschutz)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327563A (en) * 1992-11-13 1994-07-05 Hewlett-Packard Method for locking software files to a specific storage device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19842392C1 (de) * 1998-09-16 1999-12-30 Ok Media Disc Service Gmbh & C Kopierschutzverfahren
DE102006030512A1 (de) * 2006-07-01 2008-01-24 Müller, P. Cornelia Sichtbarer Kopierschutz für alle DVD-Formate
DE102006030512B4 (de) * 2006-07-01 2010-12-09 Müller, P. Cornelia Sichtbarer Kopierschutz von auf einer CD oder DVD beliebigen Formats gespeicherten Programmen oder Daten

Also Published As

Publication number Publication date
DE19510436A1 (de) 1995-08-17

Similar Documents

Publication Publication Date Title
DE69831275T2 (de) Kopierschutzverfahren für einen Aufzeichnungsträger mit einem Muster von logischen Fehlern
DE69433077T2 (de) Software-Verteilungsschutzverfahren
AT404644B (de) System zum kodieren einer glas-vaterplatte, um eine gefälschte cd-rom zu erkennen
DE69734573T2 (de) Kopier- und wiedergabeschutz für digitale programme
DE69531082T2 (de) Verfahren und Vorrichtung mit einem Verschlüsselungskopfteil, die es ermöglicht, Software zu erproben
DE3319343A1 (de) Verfahren und vorrichtung zur unmoeglichmachung nichtgenehmigter kopien von aufgezeichneten daten
DE69733394T2 (de) Informationsaufzeichnungsträger und Wiedergabeverfahren
EP2171632B1 (de) Verfahren und vorrichtung zum überprüfen der integrität von in einem vorbestimmten speicherbereich eines speichers gespeicherten daten
DE69931780T2 (de) Verfahren und system zur authentifizierung digitaler optischer medien
DE112010004264B4 (de) Selektiver Schreibschutz für das Austesten der Wiederherstellung nach einem Absturz
DE19510436C2 (de) Verfahren zum Kopierschutz von Software
DE60006538T2 (de) Beschreibbare optische Platte
DE3615815A1 (de) Verfahren und vorrichtung zum verifizieren der identitaet eines dynamischen speichers
EP1067460A1 (de) Datenträger mit wiederherstellbarem Basisdatengrundzustand und Verfahren zu dessen Herstellung
DE69937581T2 (de) Computerlesbares medium mit mikroprozessor zur lesesteuerung und computeranordnung zur kommunikation mit einem derartigen medium
DE3720233A1 (de) Kopierschutz fuer datenverarbeitungsprogramme
WO2001029638A2 (de) Elektronisches gerät mit softwareschutz
DE69627303T2 (de) Cd-rom-softwareschutzsystem
DE4021535C2 (de)
EP0080244B1 (de) Verfahren zum Identifizieren eines systemverwandten, physikalisch trennbaren Programmspeichers und ein dieses Verfahren verwendendes Datenverarbeitungssystem
DE4321799C1 (de) Verfahren zur Verhinderung der Benutzung illegal vervielfältigter Programme
DE102008010792B4 (de) Verfahren für den unmanipulierbaren und abhörsicheren Datei- und Ordnerzugriff
DE3927236A1 (de) Verfahren zum wahlfreien kopieren von computer-software
DE4103173C3 (de) Vorrichtung zum Schutz gegen unautorisierte Benutzung von Software
DE3542128C2 (de) Verfahren zum Unterscheiden von magnetischen Originalaufzeichnungsträgern von Duplikaten

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee