-
HINTERGRUND DER ERFINDUNG
-
Die
nicht autorisierte Benutzung von Software-Programmen stellt ein
großes
Problem für
Software-Entwickler dar. Einigen Schätzungen zufolge sind mehr als
vierzig Prozent aller derzeit benutzten Softwareprogramme nicht
autorisiert. Wirksame Mittel zur Verhinderung der nicht autorisierten
Benutzung von Softwareprogrammen ohne deutlich spürbare Beeinträchtigung
rechtmäßiger Benutzer
sind jedoch kaum vorhanden.
-
Derzeit
sind Softwareprogramme üblicherweise
mit einem Aktivierungsschlüssel
kodiert, der bei der Installation bereitgestellt werden muss, um den
Installationsvorgang freizugeben. Der Aktivierungsschlüssel ist üblicherweise
in der beigelegten Dokumentation des Computerprodukts, das das Softwareprogramm
enthält,
abgedruckt. Das Softwareprogramm kann somit nicht installiert werden,
wenn der entsprechende Aktivierungsschlüssel nicht bereitgestellt wird,
was einer weitreichenden Weitergabe dieses Softwareprogramms an
nicht autorisierte Benutzer hinderlich sein kann.
-
Werden
jedoch Kopien sowohl des Softwareprogramms als auch des Aktivierungsschlüssels weitergegeben,
so kann das Softwareprogramm auf jedem nicht autorisierten Computersystem
unter Verwendung desselben Installationsvorgangs, der auch vom rechtmäßigen Benutzer
des Softwareprogramms durchgeführt
werden kann, installiert werden. Die Verwendung eines Aktivierungsschlüssels kann
somit die weitreichende Weitergabe von Softwareprogrammen an nicht
autorisierte Benutzer nicht verhindern.
-
Außerdem verhindert
der Aktivierungsschlüssel
nicht, dass der ursprüngliche
Käufer
des Softwareprogramms das Softwareprogramm zur Rückvergütung zurückgibt und trotzdem weiterhin das
zurückgegebene
Softwareprogramm benutzt. Der ursprüngliche Käufer kann das zurückgegebene Softwareprogramm
weiterhin benutzen, indem er einfach das Softwareprogramm vom eigenen
Computersystem nicht deinstalliert. Alternativ dazu kann der ursprüngliche
Käufer
das zurückgegebene
Softwareprogramm weiterhin benutzen, indem er das Softwareprogramm
unter Verwendung von Kopien des Softwareprogramms und des Aktivierungsschlüssels einfach
erneut installiert.
-
Somit
besteht Bedarf an einem System und einem Verfahren zum Verhindern
der nicht autorisierten Installation eines Softwareprogramms, die
die obgenannten Probleme angehen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Ein
System und ein Verfahren zum Verhindern der nicht autorisierten
Installation eines Softwareprogramms verwenden einen Aktivierungsschlüssel, der
auf einem Hardwareschlüssel
und einem Softwareschlüssel
basiert. Der Hardwareschlüssel
ist einer bestimmten Hardwarevorrichtung zugeordnet, während der
Softwareschlüssel
dem zu installierenden Softwareprogramm zugeordnet ist. Die Fortführung der
Installation des Softwareprogramms auf einer Hardwarevorrichtung
wird nur dann freigegeben, wenn der aus dem Aktivierungsschlüssel extrahierte
Softwareschlüssel
mit dem Softwareschlüssel
des Softwareprogramms übereinstimmt.
-
Ein
System zum Verhindern der nicht autorisierten Installation eines
Softwareprogramms gemäß einer
Ausführungsform
der Erfindung umfasst einen Aktivierungsserver und eine Hardwarevorrichtung. Der
Aktivierungsserver ist derart konfiguriert, auf der Grundlage eines
Hardwareschlüssels
und eines Softwareschlüssels
einen Aktivierungsschlüssel
zu erzeugen. Der Hardwareschlüssel
ist einer bestimmten Hardwarevorrichtung zugeordnet. Der Softwareschlüssel ist
dem Softwareprogramm zugeordnet. Die Hardwarevorrichtung ist derart
konfiguriert, den Aktivierungsschlüssel während eines Installationsvorgangs
des Softwareprogramms zu verarbeiten, um aus dem Aktivierungsschlüssel zumindest
den Softwareschlüssel
zu extrahieren. Außerdem
ist die Hardwarevorrichtung derart konfiguriert, den aus dem Aktivierungsschlüssel extrahierten
Softwareschlüssel
mit einem entsprechenden Softwareschlüssel des Softwareprogramms
zu vergleichen. Ferner ist die Hardwarevorrichtung derart konfiguriert,
die Fortführung
des Installationsvorgangs des Softwareprogramms nur dann freizugeben,
wenn der Softwareschlüssel
mit dem entsprechenden Softwareschlüssel übereinstimmt.
-
Ein
Verfahren zum Verhindern der nicht autorisierten Installation eines
Softwareprogramms gemäß einer
Ausführungsform
der Erfindung umfasst das Initiieren eines Installationsvorgangs
des Softwareprogramms auf einer Hardwarevorrichtung unter Verwendung
eines Aktivierungsschlüssels,
der auf einem Hardwareschlüssel
und einem Softwareschlüssel
basiert, wobei der Hardwareschlüssel
einer bestimmten Hardwarevorrichtung zugeordnet ist und der Softwareschlüssel dem
Softwareprogramm zugeordnet ist, das Verarbeiten des Aktivierungsschlüssels an
der Hardwarevorrichtung, um zumindest den Softwareschlüssel aus
dem Aktivierungsschlüssel
zu extrahieren, das Vergleichen des aus dem Aktivierungsschlüssel extrahierten Softwareschlüssels mit einem
entsprechenden Softwareschlüssel
des Softwareprogramms an der Hardwarevorrichtung und das Freigeben
der Fortführung
des Installationsvorgangs des Softwareprogramms nur dann, wenn der Softwareschlüssel mit
dem entsprechenden Softwareschlüssel übereinstimmt.
-
Weitere
Aspekte und Vorteile der vorliegenden Erfindung gehen aus der folgenden
detaillierten Beschreibung hervor, die gemeinsam mit den beigefügten Zeichnungen
zu lesen ist und beispielhaft die Prinzipien der Erfindung veranschaulicht.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
1 ist
eine schematische Darstellung eines Systems zum Verhindern der nicht
autorisierten Installation von Softwareprogrammen gemäß einer Ausführungsform
der Erfindung.
-
2 ist
ein Blockdiagramm eines Aktivierungsservers, der im System aus 1 enthalten
ist, gemäß einer
Ausführungsform
der Erfindung.
-
3 ist
ein Blockdiagramm einer Hardwarevorrichtung, die im System aus 1 enthalten ist,
gemäß einer
Ausführungsform
der Erfindung.
-
4 ist
ein Arbeitsablaufdiagramm des Betriebs des Systems aus 1 zum
Verhindern der nicht autorisierten Installation eines gekauften
Softwareprogramms gemäß einer
Ausführungsform
der Erfindung.
-
5 ist
ein Arbeitsablaufdiagramm des Betriebs des Systems aus 1 zum
Verhindern der nicht autorisierten Installation eines gekauften
Softwareprogramms gemäß einer
alternativen Ausführungsform
der Erfindung.
-
6 ist
ein Ablaufdiagramm des Vorgangs der Erzeugung eines Deinstallationsschlüssels und der
Prüfung
des Deinstallationsschlüssels
für die Rückvergütung gemäß einer
Ausführungsform
der Erfindung.
-
7 ist
ein Ablaufdiagramm des Vorgangs der Prüfung eins Aktivierungsschlüssels während der Installation
eines Softwareprogramms zum Verhindern der nicht autorisierten Installation
eines zurückgegebenen
Softwareprogramms gemäß einer
Ausführungsform
der Erfindung.
-
8 ist
ein Arbeitsablaufdiagramm eines Verfahrens zum Verhindern der nicht
autorisierten Installation eines Softwareprogramms gemäß einer Ausführungsform
der Erfindung.
-
DETAILLIERTE BESCHREIBUNG
-
Mit
Bezug auf 1 wird ein System 100 zum
Verhindern der nicht autorisierten Installation von Softwareprogrammen
gemäß einer
Ausführungsform
der Erfindung beschrieben. Das System 100 verhindert die
nicht autorisierte Installation von Softwareprogrammen durch das
Erfordernis eines gültigen
Aktivierungsschlüssels,
der für
eine bestimmte Hardwarevorrichtung spezifisch ist. Das System 100 erlaubt
somit die Installation eines Softwareprogramms auf der Zielhardwarevorrichtung
nur mit gültigem
Aktivierungsschlüssel.
Folglich verhindert das System 100 die Installation von
Softwareprogrammen auf nicht autorisierten Hardwarevorrichtungen
sowie die erneute Installation auf einer zuvor installierten Hardwarevorrichtung
nach der Rückgabe des
Softwareprogramms zur Rückvergütung.
-
Wie
in 1 dargestellt ist, umfasst das System 100 einen
Aktivierungsserver 102, ein Online-Geschäft 104 und
mehrere Kundenhardwarevorrichtungen 106, die mit einem
Netzwerk 108 verbunden sind. Das Netzwerk 108 kann
ein beliebiges Netzwerk sein, dass die Übertragung von Daten zischen
dem Aktivierungsserver 102, dem Online-Geschäft 104 und
den Kundenhardwarevorrichtungen 106 ermöglicht. Das Netzwerk 108 kann
beispielsweise ein großflächiges Netzwerk
(LAN) oder das Internet sein.
-
Der
Aktivierungsserver 102 des Systems 100 ist ein
Server, der dem Eigentümer
einer oder mehrerer Softwareprogramme zugeordnet ist, deren nicht
autorisierte Installation verhindert wird. Wie in 2 dargestellt
ist, umfasst der Aktivierungsserver 102 eine Netzwerkschnittstelle 210,
eine Speichervorrichtung 212 und eine Prozessor 214,
die mit einem Bus 216 verbunden sind. Die Netzwerkschnittstelle 210 ist
derart konfiguriert, dem Aktivierungsserver 102 die Kommunikation
mit dem Online-Geschäft 104 und
den Kundenhardwarevorrichtungen 106 über das Netzwerk 108 zu
ermöglichen.
Die Netzwerkschnittstelle 210 kann beispielsweise eine
Netzwerkkarte oder ein Netzwerkadapter sein. Die Speichervorrichtung 212 kann
ein Festplattenlaufwerk sein, das häufig in Personalcomputern zu
finden ist. In anderen Ausführungsformen
kann die Speichervorrichtung 212 eine beliebige Art Computerspeicher sein,
beispielsweise ein Flash-Speicher oder ein Festwertspeicher (ROM).
Die Speichervorrichtung 212 wird zum Speichern von Daten
und Computerprogrammen verwendet, die vom Aktivierungsserver 102 benötigt werden.
Im Besonderen umfasst die Speichervorrichtung 212 einen
Verschlüsselungsalgorithmus,
der einen verschlüsselten
Aktivierungsschlüssel
erzeugen kann, der auf einem Softwareschlüssel, einem Hardwareschlüssel und
einem Kaufschlüssel
basiert.
-
Der
Softwareschlüssel
ist eine Zeichenkette eines Codes, die einem bestimmten Typ von
Softwareprogrammen eindeutig zugeordnet ist. Das bedeutet, dass
gleiche Softwareprogramme den gleichen Softwareschlüssel aufweisen.
Somit weisen unterschiedliche Arten von Softwareprogrammen unterschiedliche
Softwareschlüssel
auf. Der Hardwareschlüssel
ist ein Identifikationscode, der für jede Kundenhardwarevorrichtung
eindeutig ist. Der Hardwareschlüssel
kann beispielsweise eine Zeichenkette eines eindeutigen Codes sein,
der in einem Prozessor einer Kundenhardwarevorrichtung fest programmiert ist.
Als weiteres Beispiel kann der Hardwareschlüssel die MAC-Adresse einer
Kundenhardwarevorrichtung sein. Der Kaufschlüssel ist eine Zeichenkette
eines Codes, der für
den Zeitpunkt des Kaufs eines bestimmten Softwareprogramms eindeutig
ist. Beispielsweise kann der Kaufschlüssel die Zeit und das Datum
der Kaufhandlung sein. Als weiteres Beispiel kann der Kaufschlüssel eine
bestimmte Nummer einer fortlaufenden Nummer zum Zeitpunkt des Kaufs sein.
-
Der
Prozessor 214 des Aktivierungsservers 102 ist
ein Digitalsignalprozessor, der Daten verarbeitet, um verschiedene
Funktionen auszuüben.
Insbesondere ist der Prozessor 214 derart konfiguriert oder
programmiert, den Verschlüsselungsalgorithmus
auszuführen,
der in der Speichervorrichtung 212 gespeichert ist, um
für jedes
gekaufte Softwareprogramm einen Aktivierungsschlüssel zu erzeugen. In dieser
Ausführungsform
ist der Prozessor 214 derart konfiguriert, den Softwareschlüssel, den
Hardwareschlüssel
und den Kaufschlüssel
unter Verwendung eines privaten Verschlüsselungs-/Entschlüsselungsschlüssels zu
verschlüsseln,
um den Aktivierungsschlüssel
für jedes
gekaufte Softwareprogramm zu erzeugen. Der Prozessor 214 kann
den Aktivierungsschlüssel
direkt oder über
das Online-Geschäft 104 an
die Hardwarevorrichtung 106 senden, die zum Kauf des Softwareprogramms
verwendet wird.
-
Das
Online-Geschäft 104 des
Systems 100 ist eine Website zum Verkauf eines oder mehrerer Softwareprogramme.
Das Online-Geschäft 104 kann an
einem beliebigen Server angeordnet sein, der mit dem Netzwerk 108 verbunden
ist, einschließlich
des Aktivierungsservers 102. Das Online-Geschäft ist derart
konfiguriert oder programmiert, von jedem Käufer eines Softwareprogramms
den Hardwareschlüssel
anzufordern und zu empfangen. Das Online-Geschäft 104 ist ferner
derart konfiguriert oder programmiert, den Kaufschlüssel zu
erzeugen, wenn ein Softwareprogramm gekauft wird, z. B. zum exakten
Zeitpunkt der Kaufhandlung. Außerdem
ist das Online-Geschäft 104 derart
konfiguriert, den Softwareschlüssel
für das
gekaufte Softwareprogramm zu extrahieren. Wurde ein Softwareprogramm
gekauft, so überträgt das Online-Geschäft 104 den
Softwareschlüssel,
den Hardwareschlüssel
und den Kaufschlüssel
an den Aktivierungsserver 102, sodass der Aktivierungsserver 102 auf
der Grundlage des übertragenen
Software-, Hardware- und Kaufschlüssels einen Aktivierungsschlüssel erzeugen kann.
-
Die
Kundenhardwarevorrichtungen 106 des Systems 100 sind
Vorrichtungen, die mit dem Online-Geschäft 104 und/oder dem
Aktivierungsserver 102 kommunizieren können, um Daten zu senden und
zu empfangen. Somit können
die Kundenhardwarevorrichtungen 106 dazu verwendet werden, Softwareprogramme
vom Online-Geschäft 104 zu kaufen
und Aktivierungsschlüssel,
die vom Aktivierungsserver 102 erzeugt werden, direkt vom
Aktivierungsserver oder indirekt vom Aktivierungsserver über das
Online-Geschäft zu empfangen.
In dieser Ausführungsform
wird davon ausgegangen, dass die Kundenhardwarevorrichtungen 106 die
Vorrichtungen sind, auf denen die gekauften Softwareprogramme installiert
werden sollen. In anderen Ausführungsformen
können
die Softwareprogramme jedoch gekauft werden, um auf anderen Hardwarevorrichtungen ähnlich den
Hardwarevorrichtungen 106 installiert zu werden, die mit
dem Netzwerk 108 verbunden oder nicht verbunden sein können.
-
Mit
Bezug auf 3 ist eine der Kundenhardwarevorrichtungen 106 gemäß einer
Ausführungsform
der Erfindung gezeigt. Wie in 3 dargestellt,
weist die Kundenhardwarevorrichtung 106 eine Netzwerkschnittstelle 310,
eine Speichervorrichtung 312 und einen Prozessor 314 auf,
die mit einem Bus 316 verbunden sind. Die Netzwerkschnittstelle 310 ist
derart konfiguriert, der Kundenhardwarevorrichtung 106 die
Kommunikation mit dem Online-Geschäft 104 und/oder dem
Aktivierungsserver 102 über
das Netzwerk 108 zu ermöglichen.
Die Netzwerkschnittstelle 310 kann beispielsweise eine
Netzwerkkarte oder ein Netzwerkadapter mit einer eindeutigen Media-Access-Control-Adresse (MAC-Adresse)
sein, die in einem internen ROM (nicht dargestellt) gespeichert
ist. Die Speichervorrichtung 312 kann ein Festplattenlaufwerk
sein, das häufig
in Personalcomputern zu finden ist. In anderen Ausführungsformen
kann die Speichervorrichtung 312 eine beliebige Art Computerspeicher
sein, beispielsweise ein Flash-Speicher oder ein ROM. Die Speichervorrichtung 312 wird
zum Speichern von Daten und Computerprogrammen verwendet, die von
der Hardwarevorrichtung 106 benötigt werden. Im Besonderen
umfasst die Speichervorrichtung 312 einen Entschlüsselungsalgorithmus,
der einen verschlüsselten
Aktivierungsschlüssel
des Aktivierungsservers 102 unter Verwendung eines privaten
Verschlüsselungs-/Entschlüsselungsschlüssels entschlüsseln kann,
bei dem es sich um den gleichen privaten Schlüssel handelt, der vom Aktivierungsserver
zur Erzeugung des Aktivierungsschlüssels verwendet wird.
-
Der
Prozessor 314 der Kundenhardwarevorrichtung 106 ist
ein Digitalsignalprozessor, der Daten verarbeitet, um verschiedene
Funktionen auszuüben.
Insbesondere ist der Prozessor 314 derart konfiguriert
oder programmiert, den Entschlüsselungsalgorithmus,
der in der Speichervorrichtung 312 gespeichert ist, auf
dem Aktivierungsschlüssel
des Aktivierungsservers 102 auszuführen, um den Softwareschlüssel, den
Hardwareschlüssel
und den Kaufschlüssel
aus dem Aktivierungsschlüssel
zu extrahieren. Der Entschlüsselungsalgorithmus
wird während
der Installation eines gekauften Softwareprogramms ausgeführt. Außerdem ist
der Prozessor 314 derart konfiguriert, den extrahierten
Hardwareschlüssel
mit dem Hardwareschlüssel
dieser Kundenhardwarevorrichtung 106 zu vergleichen und den extrahierten
Softwareschlüssel
mit dem Softwareschlüssel
des Softwareprogramms zu vergleichen, das gerade installiert wird.
Die Fortführung
der Installation des Softwareprogramms wird nur dann freigegeben,
wenn diese beiden extrahierten Schlüssel mit den entsprechenden
Schlüsseln übereinstimmen.
-
Wie
in 3 dargestellt ist, kann die Kundenhardwarevorrichtung 106 zudem
eine Eingabevorrichtung 318 und eine Anzeigevorrichtung 320 aufweisen,
die mit einer Ein-/Ausgabeschnittstelle (I/O-Schnittstelle) 322 verbunden
sind. Die Eingabevorrichtung 318 kann eine Tastatur oder
eine andere Art einer Eingabevorrichtung sein. Die Anzeigevorrichtung 320 kann
ein Computerbildschirm, etwa eine Flüssigkristallanzeige (LCD),
sein. Die I/O-Schnittstelle 322 ist
mit dem Bus 316 verbunden, um die Übertragung von Signalen zwischen
dem Prozessor 314 und der Eingabevorrichtung 318 bzw.
der Anzeigevorrichtung 320 zu ermöglichen.
-
Der
Betrieb des Systems 100 zum Verhindern der nicht autorisierten
Installation eines gekauften Softwareprogramms gemäß einer
Ausführungsform
der Erfindung wird unter Bezugnahme auf ein Arbeitsablaufdiagramm
aus 4 beschrieben. In Block 402 wird im Online-Geschäft 104 unter
Verwendung einer Kundenhardwarevorrichtung 106 ein Softwareprogramm
für eine
Zielhardwarevorrichtung gekauft. Als nächstes werden in Block 404 der
Hardwareschlüssel
der bestimmungsgemäßen Hardwarevorrichtung,
der Softwareschlüssel
des gekauften Softwareprogramms und der Kaufschlüssel der Kaufhandlung vom Online-Geschäft 104 an
den Aktivierungsserver 102 gesendet. Als nächstes verschlüsselt in
Block 406 der Aktivierungsserver 102 den Hardware-,
den Software- und den Kaufschlüssel
unter Verwendung eines privaten Schlüssels, um einen verschlüsselten
Aktivierungsschlüssel
für das
gekaufte Softwareprogramm zu erzeugen. Dann wird in Block 408 der
verschlüsselte
Aktivierungsschlüssel entweder
direkt oder indirekt über
das Online-Geschäft 104 an
die für
den Kauf des Softwareprogramms verwendete Kundenhardwarevorrichtung 106 gesendet.
-
Danach
wird in Block 410 ein Installationsvorgang des gekauften
Softwareprogramms an einer bestimmten Hardwarevorrichtung unter
Verwendung des verschlüsselten
Aktivierungsschlüssels
initiiert. Danach entschlüsselt
in Block 412 der Prozessor der bestimmten Hardwarevorrichtung
den Aktivierungsschlüssel
unter Verwendung desselben privaten Verschlüsselungs-/Entschlüsselungsschlüssels, der auch
zur Verschlüsselung
durch den Aktivierungsserver 102 verwendet wurde, um den
Hardware-, den Software- und den Kaufschlüssel aus dem Aktivierungsschlüssel zu
extrahieren.
-
Danach
wird in Block 414 vom Prozessor der bestimmten Hardwarevorrichtung
die Bestimmung vorgenommen, ob der extrahierte Hardwareschlüssel mit
dem Hardwareschlüssel
der bestimmten Hardwarevorrichtung übereinstimmt. Stimmen die Schlüssel nicht überein,
so geht die Operation auf Block 416 über, wo der Installationsvorgang
des gekauften Softwareprogramms beendet wird. Somit wird das gekaufte
Softwareprogramm nicht auf der bestimmten Hardwarevorrichtung installiert.
Stimmen die Schlüssel
hingegen überein,
so geht die Operation auf Block 418 über.
-
In
Block 418 wird vom Prozessor der bestimmten Hardwarevorrichtung
die Bestimmung vorgenommen, ob der extrahierte Softwareschlüssel mit dem
Softwareschlüssel
des gekauften Softwareprogramms, das gerade installiert wird, übereinstimmt. Stimmen
die Schlüssel
nicht überein,
so geht die Operation auf Block 416 über, wo der Installationsvorgang
des gekauften Softwareprogramms beendet wird. Stimmen die Schlüssel hingegen überein,
so geht die Operation auf Block 420 über, wo das Fortführen des
Installationsvorgangs des gekauften Softwareprogramms auf der bestimmten Hardwarevorrichtung
freigegeben wird, sodass das gekaufte Softwareprogramm korrekt installiert
werden kann.
-
In
einer alternativen Ausführungsform
verwendet das System 100 einen verschlüsselten Aktivierungsschlüssel, der
nur den Software- und den Kaufschlüssel umfasst. In dieser alternativen
Ausführungsform
ist der Hardwareschlüssel
nicht im Aktivierungsschlüssel
verschlüsselt.
Stattdessen wird der Hardwareschlüssel als privater Verschlüsselungs-/Entschlüsselungsschlüssel verwendet,
um den Aktivierungsschlüssel
zu verschlüsseln
und zu entschlüsseln.
Somit ist der Aktivierungsprozessor 102 in dieser Ausführungsform
derart konfiguriert, den Software- und den Kaufschlüssel unter
Verwendung des Hardwareschlüssels
Verschlüsselungsschlüssel zu
verschlüsseln,
um einen verschlüsselten
Aktivierungsschlüssel
für das
gekaufte Softwareprogramm zu erzeugen. Dementsprechend sind die Hardwarevorrichtungen 106 derart
konfiguriert, den verschlüsselten
Aktivierungsschlüssel
unter Verwendung des Hardwareschlüssels als Entschlüsselungsschlüssel zu
entschlüsseln,
um den Software- und den Kaufschlüssel zu extrahieren. Der extrahierte Softwareschlüssel wird
dann mit dem Softwareschlüssel
des Softwareprogramms, das gerade installiert wird, verglichen,
um zu bestimmen, ob die Installation des Softwareprogramms auf der
aktuellen Hardwarevorrichtung autorisiert ist.
-
Der
Betrieb des Systems 100 zur zum Verhindern der nicht autorisierten
Installation eines gekauften Softwareprogramms gemäß der alternativen Ausführungsform
der Erfindung wird unter Bezugnahme auf ein Arbeitsablaufdiagramm
aus 5 beschrieben. In Block 502 wird im Online-Geschäft 104 unter
Verwendung einer Kundenhardwarevorrichtung 106 ein Softwareprogramm
für eine
Zielhardwarevorrichtung gekauft. Danach werden in Block 504 der Hardwareschlüssel der
bestimmungsgemäßen Hardwarevorrichtung,
der Softwareschlüssel
des gekauften Softwareprogramms und der Kaufschlüssel der Kaufhandlung vom Online-Geschäft 104 an
den Aktivierungsserver 102 gesendet. In Block 506 verschlüsselt der
Aktivierungsserver 102 nun den Software- und den Kaufschlüssel unter
Verwendung des Hardwareschlüssels
als Verschlüsselungsschlüssel, um
einen verschlüsselten
Aktivierungsschlüssel
für das
gekaufte Softwareprogramm zu erzeugen. Danach wird in Block 508 der
verschlüsselte
Aktivierungsschlüssel
entweder direkt oder indirekt über das
Online-Geschäft 104 an
die für
den Kauf des Softwareprogramms verwendete Kundenhardwarevorrichtung 106 gesendet.
-
Danach
wird in Block 510 ein Installationsvorgang des gekauften
Softwareprogramms an einer bestimmten Hardwarevorrichtung unter
Verwendung des verschlüsselten
Aktivierungsschlüssels
initiiert. In Block 512 entschlüsselt dann der Prozessor der bestimmten
Hardwarevorrichtung den verschlüsselten
Aktivierungsschlüssel
unter Verwendung des Hardwareschlüssels als Entschlüsselungsschlüssel, um
den Software- und den Kaufschlüssel
aus dem Aktivierungsschlüssel
zu extrahieren.
-
Danach
wird in Block 514 vom Prozessor der bestimmten Hardwarevorrichtung
die Bestimmung vorgenommen, ob der extrahierte Softwareschlüssel mit
dem Softwareschlüssel
des gekauften Softwareprogramms übereinstimmt.
Stimmen die Schlüssel nicht überein,
so geht die Operation auf Block 516 über, wo der Installationsvorgang
des gekauften Softwareprogramms beendet wird. Stimmen die Schlüssel hingegen überein,
so geht die Operation auf Block 518 über, wo das Fortführen des
Installationsvorgangs des gekauften Softwareprogramms auf der bestimmten
Hardwarevorrichtung freigegeben wird, sodass das gekaufte Softwareprogramm
korrekt installiert werden kann.
-
In
einer weiteren Ausführungsform
kann das System 100 derart konfiguriert sein, die nicht
autorisierte Installation eines zurückgegebenen Softwareprogramms
auf einer Hardwarevorrichtung zu verhindern. In dieser Ausführungsform übermittelt
der Aktivierungsserver 102 dem Online-Geschäft 104 eine Rückvergütungsautorisierung
für ein
zurückgegebenes
Softwareprogramm erst nachdem der Aktivierungsserver von der Hardwarevorrichtung 106,
auf der das Softwareprogramm zuvor installiert worden war, einen
gültigen
Deinstallationsschlüssel
empfangen hat. Dementsprechend ist in dieser Ausführungsform
jede Hardwarevorrichtung 106 derart konfiguriert, den ursprünglichen
Aktivierungsschlüssel
eines gekauften Softwareprogramms zu verschlüsseln, um einen Deinstallationsschlüssel zu
erzeugen, wenn das gekaufte Softwareprogramm für die Rückvergütung deinstalliert wird. In
dieser Ausführungsform wird
der ursprüngliche
Aktivierungsschlüssel
im Register des Prozessors der Hardwarevorrichtung 106 (oder
der Speichervorrichtung der Hardwarevorrichtung) gespeichert, wenn
das Softwareprogramm ursprünglich
auf der Hardwarevorrichtung installiert wird. Wird das Softwareprogramm
für einen
anderen Zweck als die Rückvergütung deinstalliert,
erzeugt die Hardwarevorrichtung den Deinstallationsschlüssel nicht.
Wird ein Deinstallationsschlüssel
erzeugt, so wird der entsprechende Aktivierungsschlüssel im Register
des Prozessors als ungültig
im Register ausgewiesen oder gekennzeichnet. Folglich kann das zurückgegebene
Softwareprogramm auf der Hardwarevorrichtung nicht erneut unter
Verwendung des ursprünglichen
Aktivierungsschlüssels
installiert werden, da dieser Aktivierungsschlüssel als ungültig ausgewiesen
wurde.
-
Der
Betrieb des Systems 100 zum Verhindern der nicht autorisierten
Installation eines zurückgegebenen
Softwareprogramms gemäß einer
Ausführungsform
der Erfindung wird unter Bezugnahme auf die Arbeitsablaufdiagramme
der 6 und 7 beschrieben. Das Ablaufdiagramm
aus 6 veranschaulicht den Vorgang der Erzeugung eines
Deinstallationsschlüssels
und der Prüfung
des Deinstallationsschlüssels
für die
Rückvergütung gemäß einer Ausführungsform
der Erfindung. Das Ablaufdiagramm aus 7 veranschaulicht
den Vorgang der Prüfung
eines Aktivierungsschlüssels
während
der Installation eines Softwareprogramms zum Verhindern der nicht
autorisierten Installation eines zurückgegebenen Softwareprogramms
gemäß einer
Ausführungsform
der Erfindung.
-
Der
Vorgang der Erzeugung eines Deinstallationsschlüssels und der Prüfung des
Deinstallationsschlüssels
für die
Rückvergütung gemäß einer Ausführungsform
der Erfindung beginnt mit Block 602, wo der Benutzer einen
Vorgang der dauerhaften Deinstallation eines Softwareprogramms von
einer Hardwarevorrichtung für
die Rückvergütung einleitet. In
Block 604 ruft der Prozessor der Hardwarevorrichtung den
Aktivierungsschlüssel
für das
Softwareprogramm, das gerade deinstalliert wird, ab und verschlüsselt diesen,
um einen Deinstallationsschlüssel zu
erzeugen. Dann weist der Prozessor der Hardwarevorrichtung in Block 606 den
Aktivierungsschlüssel
im Register oder in der Speichervorrichtung der Hardwarevorrichtung
als ungültig
aus. Danach wird in Block 608 der Deinstallationsschlüssel über das
Netzwerk 108 an den Aktivierungsserver 102 übermittelt.
-
Danach
entschlüsselt
in Block 610 der Aktivierungsserver 102 den Deinstallationsschlüssel, um den
Aktivierungsschlüssel
zu extrahieren. Dann wird in Block 612 vom Prozessor des
Aktivierungsservers die Bestimmung vorgenommen, ob der extrahierte Aktivierungsschlüssel mit
einem der gültigen
Aktivierungsschlüssel
für gekaufte
Softwareprogramme übereinstimmt.
Stimmen die Schlüssel
nicht überein, so
geht der Vorgang auf Block 614 über, wo die Rückvergütung für das deinstallierte
Softwareprogramm für
ungültig
erklärt
wird. Stimmen die Schlüssel
hingegen überein,
so geht der Vorgang auf Block 616 über, wo die Rückvergütung für das deinstallierte Softwareprogramm
für gültig erklärt wird.
Je nachdem ob eine Rückvergütung autorisiert
wird oder nicht, d. h. für
gültig
oder ungültig
erklärt
wird, erteilt das Online-Geschäft 104 eine
Rückvergütung für das deinstallierte
Softwareprogramm und benachrichtigt den Benutzer über die Rückvergütung oder
benachrichtigt den Benutzer schlicht, dass eine Rückvergütung für das deinstallierte
Softwareprogramm nicht autorisiert ist.
-
Der
Vorgang der Prüfung
eines Aktivierungsschlüssels
während
der Installation eines Softwareprogramms zum Verhindern der nicht
autorisierten Installation eines zurückgegebenen Softwareprogramms
gemäß einer
Ausführungsform
der Erfindung beginnt mit Block 702, wo der Benutzer einen Installationsvorgang
des Softwareprogramms auf einer Hardwarevorrichtung unter Verwendung
eines Aktivierungsschlüssels
einleitet. Dann wird in Block 704 vom Prozessor der Hardwarevorrichtung
die Bestimmung vorgenommen, ob der Aktivierungsschlüssel in
einer Liste von Aktivierungsschlüsseln
im Register oder in der Speichervorrichtung der Hardwarevorrichtung
aufscheint. Ist das nicht der Fall, so geht der Vorgang auf Block 708 über, wo
die Fortsetzung des Installationsvorgangs erlaubt wird. Scheint
der Aktivierungsschlüssel
hingegen in der Liste auf, so geht der Vorgang auf Block 706 über.
-
In
Block 706 wird vom Prozessor der Hardwarevorrichtung die
Bestimmung vorgenommen, ob der Aktivierungsschlüssel auf der Liste von Aktivierungsschlüsseln als
ungültig
ausgewiesen ist. Ist das der Fall, so geht der Vorgang auf Block 710 über, wo der
Installationsvorgang beendet wird. Ist der Aktivierungsschlüssel hingegen
nicht als ungültig
ausgewiesen, so geht der Vorgang auf Block 708 über, wo
die Fortführung
des Installationsvorgangs des Softwareprogramms auf der Hardwarevorrichtung
erlaubt wird, was die Durchführung
einer der in Bezug auf die 4 und 5 beschriebenen
Operationen einschließen
kann.
-
Ein
Verfahren zum Verhindern der nicht autorisierten Installation eines
Softwareprogramms gemäß einer
Ausführungsform
der Erfindung wird unter Bezugnahme auf ein Arbeitsablaufdiagramm
aus 8 beschrieben. In Block 802 wird an einer
Hardwarevorrichtung ein Installationsvorgang des Softwareprogramms
unter Verwendung eines Aktivierungsschlüssels eingeleitet, der auf
einem Hardwareschlüssel
und einem Softwareschlüssel
basiert. Der Hardwareschlüssel
ist einer bestimmten Hardwarevorrichtung zugeordnet. Der Softwareschlüssel ist dem
Softwareprogramm zugeordnet. Nun wird in Block 804 der
Aktivierungsschlüssel
an der Hardwarevorrichtung verarbeitet, um zumindest den Softwareschlüssel aus
dem Aktivierungsschlüssel
zu extrahieren. Danach wird in Block 806 der extrahierte Softwareschlüssel mit
einem entsprechenden Softwareschlüssel des Softwareprogramms
an der Hardwarevorrichtung verglichen. Danach wird in Block 808 Fortführung des
Installationsvorgangs des Softwareprogramms auf der Hardwarevorrichtung
nur dann freigegeben, wenn der extrahierte Softwareschlüssel mit
dem entsprechenden Softwareschlüssel übereinstimmt.
-
Obwohl
spezifische Ausführungsformen
der Erfindung beschrieben und veranschaulicht wurden, ist die Erfindung
nicht auf die spezifischen Formen oder Anordnungen von Teilen so
wie beschrieben und veranschaulicht eingeschränkt. Der Schutzumfang der Erfindung
ist durch die hier beigefügten
Ansprüche
und durch deren Äquivalente
definiert.