DE19510436C2 - Verfahren zum Kopierschutz von Software - Google Patents
Verfahren zum Kopierschutz von SoftwareInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00572—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium
- G11B20/00586—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00659—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0092—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors
- G11B20/00927—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0092—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors
- G11B20/00927—Circuits 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/00949—Circuits 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Landscapes
- Engineering & Computer Science (AREA)
- 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:
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.
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.
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.
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)
- 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.
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)
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)
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)
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 |
-
1995
- 1995-03-22 DE DE1995110436 patent/DE19510436C2/de not_active Expired - Fee Related
Cited By (3)
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 |
---|---|---|
DE69331613T2 (de) | Dateienverschlüsselung | |
DE3587658T2 (de) | Ausführung von einer gemeinsam benutzten, höheren Privilegstufe auf persönlichen Computern für Softwarekopiersicherung. | |
DE69831275T2 (de) | Kopierschutzverfahren für einen Aufzeichnungsträger mit einem Muster von logischen Fehlern | |
DE69433077T2 (de) | Software-Verteilungsschutzverfahren | |
DE69507129T2 (de) | Vorurladungsschutz für eine datensicherheitseinrichtung | |
AT404644B (de) | System zum kodieren einer glas-vaterplatte, um eine gefälschte cd-rom zu erkennen | |
DE69627270T2 (de) | Sicherheitssystem zum Schutz von Informationen auf Speichermedien | |
DE69734573T2 (de) | Kopier- und wiedergabeschutz für digitale programme | |
DE3751678T2 (de) | Verfahren und einrichtung zum schutz und zur benutzungszählung von datenbanken | |
DE4308680B4 (de) | Verfahren und Vorrichtung zum Verhindern einer unberechtigten Benutzung eines Aufzeichnungsmediums | |
DE69703155T2 (de) | Verfahren zum versehen eines optischen datenträgers mit identitätsinformationen | |
DE3319343A1 (de) | Verfahren und vorrichtung zur unmoeglichmachung nichtgenehmigter kopien von aufgezeichneten daten | |
DE69431777T2 (de) | Aufzeichnungsmedium, Verfahren zu seiner Steuerung, und System, das elektronische Veröffentlichungen verwendet | |
DE69733394T2 (de) | Informationsaufzeichnungsträger und Wiedergabeverfahren | |
EP2171632A2 (de) | Verfahren und vorrichtung zum überprüfen der integrität von in einem vorbestimmten speicherbereich eines speichers gespeicherten daten | |
DE60009396T2 (de) | Verfahren zum speichern einer identifikation auf einem aufzeichnugsträger sowie vorrichtung zur durchführung des verfahrens und aufzeichnungsträger | |
DE19510436C2 (de) | Verfahren zum Kopierschutz von Software | |
DE60006538T2 (de) | Beschreibbare optische Platte | |
DE3615815A1 (de) | Verfahren und vorrichtung zum verifizieren der identitaet eines dynamischen speichers | |
DE69937581T2 (de) | Computerlesbares medium mit mikroprozessor zur lesesteuerung und computeranordnung zur kommunikation mit einem derartigen medium | |
DE3720233A1 (de) | Kopierschutz fuer datenverarbeitungsprogramme | |
EP1226484A2 (de) | Elektronisches gerät mit softwareschutz | |
DE69627303T2 (de) | Cd-rom-softwareschutzsystem | |
DE60026847T2 (de) | Verfahren, einem objekt in einer datenbank eine identität zuzuweisen | |
DE4321799C1 (de) | Verfahren zur Verhinderung der Benutzung illegal vervielfältigter Programme |
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 |