-
Die
Erfindung betrifft ein Verfahren zur Lizenzierung von Software.
Derartige Verfahren sind heute bereits in verschiedensten Ausprägungen bekannt.
-
Ein
erstes Verfahren basiert darauf, dass eine Seriennummer, die dem
Softwarepaket beiliegt, bei der Installation eingegeben werden muss.
Der Nachteil hierbei ist, dass dieses Verfahren keinen hohen Schutz
gegen eine unrechtmäßige Benutzung der
Software bietet, da die Seriennummer sehr leicht weitergegeben werden
kann.
-
Ein
weiteres bekanntes Verfahren basiert darauf, dass dem Softwarepaket
ein Identifikationsmittel, ein so genannter Dongle oder ein kopiergeschützter Datenträger, beiliegt,
die für
den Anwender, wenn überhaupt,
nur mit erheblichem Aufwand nachgebildet oder kopiert werden kann.
Nachteilig bei diesem Verfahren ist zum einen, dass die Zielhardware, der
Computer, auf der die Software eingesetzt werden soll, die entsprechende
Schnittstelle zum Anschließen
des Dongles aufweisen muss (USB, Floppy, Parallelport, COM-Port,
etc.). Ist diese Schnittstelle auf dem Gerät nicht vorhanden, dann kann
die Software dort nicht genutzt werden. Zum anderen besteht häufig bei
der Verwendung solcher Identifikationsmittel ein Problem darin,
dass die dazu verwendete Schnittstelle für andere Programme nicht zur Verfügung steht,
da die Software das Vorhandensein des jeweilige Identifikationsmittel
zyklisch überprüft. Ein
weiterer Nachteil externer Identifikationsmittel ergibt sich daraus,
dass dem Softwarehersteller Zusatzkosten entstehen.
-
Bei
einem aus der
US 6,243,468
B1 bekannten Verfahren ist der Software eine individuelle
Kennzahl mitgegeben, die bei der Installation der Software von dem
Benutzer eingegeben werden muss. Die Software erzeugt dann durch
Identifikation von vorgegebenen Hardwarekomponenten eine Hardwarekennung
und sendet diese zusammen mit der eingegebenen Softwarekennung an
einen Registrierungsserver, der aus beiden Kennungen eine Installationskennung
berechnet und diese zurück
an die Hardware mit der derart zu installierenden Software sendet.
Der Registrierungsserver speichert die Hardware-, Software- und Installationskennung
in einer Liste ab. Da die Hardwarekennung aus der Identifikation
vorhandener Hardwarekomponenten erzeugt wird, ist sie gegenüber einem
Tausch von Hardwarekomponenten empfindlich.
-
Der
Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Lizenzierung
von Software anzugeben, das eine hohe Sicherheit gegen unberechtigter
Nutzung der Software bietet und unempfindlich gegenüber dem
Tausch von Hardwarekomponenten ist.
-
Diese
Aufgabe wird erfindungsgemäß mit den
Merkmalen des Anspruchs 1 gelöst.
Dazu ist vorgesehen, dass in einer Firmware der Zielhardware eine
Hardwarekennung und eine Lizenzierungsliste hinterlegt sind und
in die Lizenzierungsliste neben einer Kennung der zu lizenzierenden
Software eine von der Firmware generierte Zufallszahl eingetragen wird.
Mittels eines Lizenzinstallationsprogramms wird aus der Zufallszahl
und der Hardwarekennung eine Installationskennung gebildet, zu der
der Hersteller oder Anbieter der zu installierenden Software einen Gegenschlüssel übermittelt.
Seitens der installierten Software wird aus dem Gegenschlüssel die
Hardwarekennung und die Zufallszahl ermittelt und mit der in der
Lizenzierungsliste gespeicherten Hardwarekennung und Zufallszahl
verglichen.
-
Die
Vorteile des erfindungsgemäßen Verfahrens
liegen zunächst
in der hohen Sicherheit gegen unberechtigte Nutzung der Software.
Dabei kann der Hersteller der Software ein Verschlüsselungsverfahren
(zur Generierung der Installationskennung) wählen, das ihm am geeignetesten
erscheint. Des Weiteren fal len keine Zusatzkosten für einen
Dongle oder einen kopiergeschützten
Datenträger
zur Autorisierung an. Ferner benötigt
die Zielhardware keine spezielle Peripherie (Floppy, USB, etc.),
die ansonsten etwa zum Aufnehmen des Dongles erforderlich wäre. Die
erfindungsgemäße automatisierte
Lizenzierung bzw. Autorisierung beim Hersteller ist über Internet und
damit unabhängig
von Bürozeiten
und Zeitzonen möglich.
-
Das
Verfahren ist darüber
hinaus unempfindlich gegen einen Tausch von Hardwarekomponenten (anderer
Prozessor, neue Grafikkarte, etc.), da die Geräteinformation nur in der Firmware
enthalten sind. Ein Festspeicher (Harddisk, CDROM, Cardbus Microdrive,
Floppy, etc.), auf dem die lizenzierte Software gespeichert ist,
kann nur auf dem lizenzierten Motherboard betrieben werden. Dadurch
ist ein Duplizieren und Betreiben des Festspeichers an einem zweiten
Gerät ist
nicht möglich.
-
Schließlich besteht
ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens darin, dass
eine Lizenz zu einem späteren
Zeitpunkt wieder deinstallierbar ist, indem z.B. die Softwarekennung
und die Zufallszahl aus der Lizenzierungsliste gelöscht wird.
-
Wenn
mittels eines Lizenzdeinstallationsprogramm eine Deinstallationskennung
erzeugt wird, die dem Hersteller oder Anbieter der zu delizenzierenden
Software übergeben
wird, ist der Softwarehersteller oder -anbieter jederzeit darüber informiert,
auf welchem Gerät
sich die Lizenz befindet. Durch die Deinstallation der Lizenz erhält der Softwarehersteller
auch die Information, dass auf der jeweiligen Zielhardware die Software
nicht mehr lauffähig
ist.
-
Auf
diese Weise wird es auch möglich,
die Nutzung einer Software über
die Dauer, in der die Lizenz in Anspruch genommen wurde, abzurechnen. Mit
konventionellen Verfahren ist das bisher nicht möglich ist.
-
Des
Weiteren kann eine Lizenz sehr einfach von einem auf einen anderen
Rechner übertragen werden.
-
Die
Erfindung geht davon aus, das in der so genannten Firmware einer
zentralen Leiterplatte, im Folgenden Motherboard, eines potentiellen
Zielgerätes
für den
Einsatz der Software eine erste Kennung, im Folgenden Hardwarekennung,
hinterlegt ist. Anhand dieser Kennung ist das jeweilige Motherboard eindeutig
und von anderen unterscheidbar. In der Hardwarekennung werden Daten
wie z.B. der Name des Herstellers, die Seriennummer, der Produktname,
das Herstellungsdatum, etc. codiert. Diese eindeutige Hardwarekennung
ist z.B. im so genannten BIOS des Zielgerätes hinterlegt. Insbesondere
ist die Hardwarekennung in einem seriellen EEPROM, welches hardwaremäßig nur
nach einer speziellen, über das
BIOS erfolgenden Freigabe gelesen werden kann.
-
Neben
der Hardwarekennung, die das Zielgerät identifiziert, gibt es eine
zweite Kennung, im Folgenden Softwarekennung, die das zu nutzende Softwarepaket
identifiziert. In der Softwarekennung werden gleichfalls Daten wie
z.B. der Name des Herstellers, die Seriennummer, der Name oder eine
Bezeichnung der Software, das Herstellungsdatum, etc. codiert.
-
Weiter
geht die Erfindung davon aus, dass die Firmware des Motherboards
eine Schnittstelle, insbesondere eine Softwareschnittstelle, im
Folgenden BIOS-Softwareschnittstelle, aufweist, welche die folgenden
Funktionen bietet:
- – Auslesen der Hardwarekennung
- – Eintragen
einer neuen Softwarekennung in eine Lizenzierungsliste
- – Generieren
einer Zufallszahl
- – Lesen
der Lizenzierungsliste
- – Löschen einer
Softwarekennung aus der Lizenzierungsliste
-
Beim
Lizenzierungsvorgang wird die Softwarekennung in die Lizenzierungsliste
im Festspeicher der Firmware (BIOS) eingetragen. Gleichzeitig generiert
die Firmware (BIOS) automatisch eine zugehörige so genannte Zufallszahl.
Die Zufallszahl kann z.B. mit Hilfe der aktuellen Uhrzeit, des aktuellen
Datums und einer Prüfsumme über bestimmte Speicherbereiche
generiert und zusammen mit der Softwarekennung in der Lizenzierungsliste
abgelegt werden. Die Zufallszahl gehört zu der Softwarekennung und
kann nur gelesen und nicht von außen geschrieben werden.
-
Vorteilhafte
Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
Danach
wird beim Deinstallieren der Lizenz die Softwarekennung zusammen
mit der jeweils zugehörigen
Zufallszahl aus der Lizenzierungsliste gelöscht.
-
Zur
Lizenzierung und Autorisierung einer Software oder eines Softwarepaktes
kann nun die Hardwarekennung zusammen mit der Zufallszahl verwendet
werden. Dabei ist anhand des Vorhandenseins der BIOS-Softwareschnittstelle
erkennbar, dass das jeweilige Motherboard eine Hardwarekennung besitzt.
-
Ein
spezielles Lizenzinstallationsprogramm liest zunächst die Hardwarekennung über die BIOS-Softwareschnittstelle
aus. Anschließend
trägt es
die Softwarekennung der zu installierenden Software über die
BIOS-Softwareschnittstelle in die Lizenzierungsliste ein. Die BIOS-Softwareschnittstelle liefert
dazu die dabei generierte und mit der Softwarekennung abgespeicherte
Zufallszahl zurück. Das
Lizenzinstallationsprogramm verschlüsselt nun die Hardwarekennung
zusammen mit der Zufallszahl zu einer Installationskennung.
-
Durch
die Kombination von Hardwarekennung und Zufallszahl wird die Installationskennung quasi
einmalig, d. h. eine erneute Installation der Software auf dem gleichen
Gerät zu
einem anderen Zeitpunkt erzeugt eine andere Installationskennung. Das
Verschlüsselungsverfahren
zur Generierung der Installationskennung obliegt hierbei dem jeweiligen Softwarehersteller.
-
Den
Gegenschlüssel
zu dieser Installationskennung erhält der Benutzer der Software
vom jeweiligen Softwarehersteller z.B. via Telefon oder Internet.
Mit dem Gegenschlüssel
kann anschließend
die zu lizenzierende Software prüfen,
ob die Nutzung des Softwarepakets rechtmäßig ist. Wo der Gegenschlüssel im
Zielsystem abgespeichert wird, obliegt wiederum dem jeweiligen Softwarehersteller
(Festplatte, Floppy, Microdrive, etc.).
-
Die Überprüfung der
Rechtmäßigkeit
der Benutzung der zu lizenzierenden oder lizenzierten Software kann
nun jederzeit durch die Software selbst durchgeführt werden. Dazu ist vorgesehen,
dass die Software aus dem Gegenschlüssel die Hardwarekennung und
die Zufallszahl zurückgewinnt.
Diese Werte vergleicht die Software dann mit den Werten, welche
in der Lizenzierungsliste abgelegt sind. Bei Übereinstimmung der Werte kann
davon ausgegangen werden, dass die Nutzung rechtmäßig erfolgt.
-
Zum
Entfernen der Lizenzierung ist ein Lizenzdeinstallationsprogramm
nötig.
Dieses Lizenzdeinstallationsprogramm löscht die Softwarekennung und
die entsprechende Zufallszahl über
die BIOS-Softwareschnittstelle aus der Lizenzierungsliste und erzeugt
eine Deinstallationskennung. Die Deinstallationskennung wird dem
Softwarehersteller übergeben
z.B. via Telefon oder Internet übergeben, damit
er die Lizenz aus seiner Datenbank streichen kann. In der Deinstallationskennung
ist die Hardwarekennung und die Zufallszahl verschlüsselt hinterlegt.
Mit der Deinstallationskennung kann nun der Nutzer die Lizenz für die Applikation
dem Softwarehersteller wieder zurückgeben.
-
Die
Installationskennung erhält
der Anwender direkt vom Hersteller oder Anbieter der Software. Dabei
sind verschiedene Vorgehensweisen denkbar. Gemäß einer ersten Vorgehensweise
muss sich der Anwender, der die Software anzuwenden wünscht, auf
einer Internetseite des Herstellers oder Anbieters registrieren
lassen. Der registrierte Anwender muss dann noch seine Installationskennung
auf dieser Internetseite eingeben. Mittels einer über die
Internetseite abrufbaren Funktionalität wird dann der für die Zielhardware
des Anwenders gültige
Gegenschlüssel
berechnet. Der Hersteller speichert diese Installationskennung in
einer Datenbank und registriert, welcher Nutzer eine Lizenz erworben
hat. Bei der Deinstallation der Lizenz erhält der Anwender die Deinstallationskennung.
Diese Deinstallationskennung gibt er auf einer Internet-Seite des
Herstellers ein. Aus der Datenbank wird die Installationskennung
gelöscht
und damit eine Lizenz wieder freigegeben.
-
Gemäß einer
alternativen zweiten Vorgehensweise kommuniziert der Anwender nicht
mit einer Internet-Seite sondern telefonisch mit einem Mitarbeiter,
z.B. Hotline-Mitarbeiter, des Softwarehersteller, wobei grundsätzlich die
gleichen Verfahrensschritte wie zuvor beschrieben ausgeführt werden.
-
Nachfolgend
wird ein Ausführungsbeispiel der
Erfindung anhand der Zeichnung näher
erläutert.
-
Darin
zeigen
-
1 eine
Softwareschnittstelle mit Lizenzierungsdaten und
-
2 einen
schematischen Ablauf bei der Gewinnung von Lizenzierungsdaten.
-
1 zeigt
das so genannte BIOS 1 einer Zielhardware, auf der eine
Software oder ein Softwarepakete installiert werden soll. Dem BIOS 1 ist eine
BIOS-Softwareschnittstelle 2 zugeordnet. Die Softwareschnittstelle
umfasst eine Hardwarekennung 3 sowie eine Lizenzierungsliste 4.
Die Lizenzierungsliste 4 umfasst eine Anzahl von Listeneinträgen 5.
In jedem Listeneintrag ist eine Softwarekennung 6 sowie
eine Zufallszahl 7 hinterlegbar. In der Lizenzierungsliste 4 können auch
nicht belegte oder wieder frei gewordene Listeneinträge 5 vorhanden
sein. Die Hardwarekennung 3 sowie die Zufallszahl 7 ist
nur lesbar und nicht löschbar
oder änderbar
(READ-ONLY). Lediglich die Softwarekennung 6 kann geschrieben,
gelöscht
und geändert
werden.
-
2 zeigt
prinzipiell das durch ein Lizenzinstallationsprogramm (nicht dargestellt)
durchgeführte Verfahren
zur Gewinnung einer Installationskennung 10. Dabei wird
die Hardwarekennung 3 zusammen mit der Zufallszahl 7 gemäß einem
Operator 8 kombiniert und mittels Chiffrierers 9 verschlüsselt, so dass
sich schließlich
die Installationskennung 10 ergibt.