-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet der Erfindung:
-
Die
vorliegende Erfindung betrifft ein System zum Verhindern eines nicht
autorisierten Kopierens von Software und ein Programm zum Verhindern
eines nicht autorisierten Kopierens von Software.
-
2. Beschreibung des zugehörigen Standes
der Technik:
-
Ein
herkömmliches
System zum Verhindern eines nicht autorisierten Duplizierens von
Software ist in der japanischen offengelegten Patentveröffentlichung
Nr. 8-6784 offenbart. 1 der beigefügten Zeichnungen zeigt das
offenbarte System zum Verhindern einer nicht autorisierten Duplizierung
von Software.
-
Wie
es in 1 gezeigt ist, sendet eine Managementvorrichtung 420 ein
Software/Schreib-Produkt 413, welches durch eine Verriegelungs/Zerstörungs-Verarbeitungseinrichtung 412 verarbeitet
worden ist, und einen Schlüssel über eine
Kommunikationsverbindung zu einem Anwender-Endgerät 410. Im
Endgerät 410 wird
das gekaufte Software- oder Schreib-Produkt unter Verwendung des
Schlüssels durch
eine Entriegelungs/Wiederverwendungs-Verarbeitungseinrichtung 415 entriegelt
und verwendet. Wenn das Ablaufdatum der Software oder des Schreib-Produkts kommt, steuert
eine Anwendungs-Steuereinrichtung 411 die Verriegelungs/Zerstörungs-Verarbeitungseinrichtung 412,
um das Software- oder das Schreib-Produkt zu verriegeln oder zu zerstören, was
dann seinen Betrieb stoppt. Der Anwender betätigt eine Verarbeitungseinrichtung 414 für eine Anforderung
einer fortgesetzten Verwendung zum Anfordern, dass die Managementvorrichtung 420 Anwenderinformation
einem Updaten unterzieht. In der Managementvorrichtung 420 bezieht
sich eine Qualifikationsprüfeinrichtung 422 auf
eine Anwenderinformations-Managementeinrichtung 421 zum
Prüfen
der Qualifikation des Anwenders. Wenn die Qualifikation des Anwenders
akzeptiert wird, dann unterzieht eine Anwendungsberechtigungs-Update-Einrichtung 423 Anwenderinformation
in einer Anwenderinformations-Managementeinrichtung 421 einem Updaten
und sendet einen neuen Softwareschlüssel zum Endgerät 410.
Der Anwender empfängt
den neuen Schlüssel
oder das neue Produkt, entriegelt das Software oder Schreibprodukt
mit der Entriegelungs/Wiederverwendungs-Verarbeitungseinrichtung 415 und
fährt damit
fort, das gekaufte Software- oder Schreib-Produkt bis zu einem nächsten Ablaufdatum
zu verwenden. Der obige Prozess wird insoweit wiederholt, wie der
Anwender wünscht,
die das Software- oder Schreib-Produkt kontinuierlich zu verwenden.
-
Jedoch
leidet das obige herkömmliche
System zum Verhindern einer nicht autorisierten Duplizierung von
Software an den folgenden Problemen:
- Das erste Problem besteht
darin, dass der Verhinderungsmechanismus für ein Kopieren nicht autorisierter
Software durch Fälschen
des Programms ungültig gemacht
werden kann. Es ist die weit verbreitete allgemeine Praxis, den
Mechanismus zu analysieren und zu fälschen, welcher bestimmt, ob
das Programm kopiert ist oder sein Ablaufdatum erreicht worden ist,
während
das Programm gerade ausgeführt
wird, und seinen Betrieb in Abhängigkeit
vom bestimmten Ergebnis ändert.
Das herkömmliche System 10 zum
Verhindern einer nicht autorisierten Duplizierung von Software ist
nicht gegen eine solche unehrliche Praxis geschützt gewesen.
- Das zweite Problem besteht darin, dass eine softwareimplementierte
Selbstzerstörung
des Programms auf einfache Weise zunichte gemacht werden kann. Insbesondere
kann ein nicht autorisierter Anwender eine solche softwareimplementierte Selbstzerstörung des
Programms durch Kopieren des Programms zu einem anderen Medium zunichte machen,
bevor das Programm einer Selbstzerstörung unterzogen wird, und das
Programm basierend auf der Kopie wiederherstellen, nachdem der Selbstzerstörungsmechanismus
aktiviert worden ist.
- Das dritte Problem besteht darin, dass das herkömmliche
System zum Verhindern einer nicht autorisierten Duplizierung von
Software nicht bequem genug für den
Anwender ist, weil es für
den Anwender jedes Mal dann, wenn das Ablaufdatum kommt, erforderlich
ist, die Kommunikationsverbindung zu verbinden und einen neuen Schlüssel zu
empfangen.
-
Im
US-Patent 4,796,220 ist ein Verfahren zum Steuern des Kopierens
von Software offenbart. Das Verfahren lässt zu, dass durch dieselbe
Maschine eine unbegrenzte Anzahl von Sicherungskopien eines Programms
gemacht wird, verhindert aber selektiv die Ausführung von solchen Sicherungskopien oder
des Originals auf anderen nicht autorisierten Maschinen. Das Verfahren
ist dadurch implementiert, dass es ein Steuerprogramm mit dem einer
Kopierkontrolle zu unterziehenden Anwendungsprogramm enthält, welches
Steuerprogramm eine Interaktion und eine Registrierung des Programms
während
einer Initialisierung des Programms beim Zentralcomputer veranlasst.
Ein Konfigurationscode wird basierend auf der Konfiguration des
Anwendercomputers und der Kommunikation des Konfigurationscodes zum
Zentralcomputer erzeugt. Der Zentralcomputer erzeugt danach einen
Zulassungscode basierend auf dem kommunizierten Konfigurationscode
und kommuniziert den Zulassungscode zum Anwender. Der Zulassungscode
wird dann in den Anwendercomputer eingegeben und als Teil des Steuerprogramms gespeichert.
Vor jeder darauf folgenden Ausführung des
Programms wird eine Neuberechnung des Zulassungscodes durch das
Steuerprogramm durchgeführt,
und ein Vergleich des neu berechneten und des gespeicherten Zulassungscodes
lässt eine
weitere Ausführung
des Programms zu.
-
In
WO 98/42098 ist eine Managementtechnik für Rechte an digitalen Produkten
offenbart. Ein digitales Produkt wird durch unkontrollierte Kanäle in verschlüsselter
Form frei verteilt. Sicherheitsfragmente des verschlüsselten
Produkts werden zurückgehalten
und nur bei einer Kommunikation mit einem Lizenzserver geliefert.
Eine Leser-Software wird zum Kaufen einer Lizenz verwendet. Eine
solche Software prüft
Komponenten, die dann auf dem Lesersystem vorhanden sind, um eine
Lesersystemsignatur zu entwickeln, welche der Lizenzserver zum Verschlüsseln des
Produktentschlüsselungsschlüssels und
der Sicherheitsfragmente vor einem Senden von ihnen zum Lesersystem
verwendet. Wenn der Kunde wünscht,
das Produkt zu verwenden, wird eine neue Lesersystemsignatur erzeugt
und zum Entschlüsseln der
Produktfragmente verwendet.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein System zum
Verhindern eines nicht autorisierten Kopierens von Software und
ein Programm zum Verhindern eines nicht autorisierten Kopierens
von Software zur Verfügung
zu stellen, die verhindern können,
dass ein Verhinderungsmechanismus für ein Kopieren von nicht autorisierter
Software durch Fälschen
des Programms ungültig
gemacht wird.
-
Gemäß der vorliegenden
Erfindung hat ein System zum Verhindern eines nicht autorisierten
Kopierens von Software eine Softwareanwender-Datenverarbeitungsvorrichtung, die eine
Eigenschlüssel-Erzeugungseinrichtung,
eine Eigenschlüssel-Verschlüsselungseinrichtung,
eine Eigenschlüssel-Verteilungseinrichtung,
eine Geheiminformations-Entschlüsselungseinrichtung,
eine Verfälschungs-Erfassungseinrichtung
und eine Geheiminformations-Zerstörungseinrichtung
enthält,
und eine Softwarelieferant-Datenverarbeitungsvorrichtung, die
eine Eigenschlüssel-Entschlüsselungseinrichtung,
eine Geheiminformations-Verschlüsselungseinrichtung
und eine Geheiminformations-Verteilungseinrichtung enthält.
-
Die
Eigenschlüssel-Erzeugungseinrichtung erzeugt
einen eigenen Schlüssel,
der speziell für
die Softwareanwender-Datenverarbeitungsvorrichtung ist. Der erzeugte
eigene Schlüssel
wird durch die Eigenschlüssel-Verschlüsselungseinrichtung
verschlüsselt
und durch die Eigenschlüssel-Verteilungseinrichtung
zur Softwarelieferant-Datenverarbeitungsvorrichtung verteilt. In
der Softwarelieferant-Datenverarbeitungsvorrichtung
wird der verteilte Eigenschlüssel
durch die Eigenschlüssel-Entschlüsselungseinrichtung
entschlüsselt.
Geheime Information, die für
die Software unverzichtbar ist, um richtig zu arbeiten, und die
durch die Geheiminformations-Speichereinrichtung gespeichert ist,
wird durch die Geheiminformations-Verschlüsselungseinrichtung verschlüsselt und
durch die Geheiminformations-Verteilungseinrichtung
zu einer Softwareanwender-Speichervorrichtung verteilt und in einer
Speichereinrichtung für
verschlüsselte
geheime Information gespeichert.
-
Die
Verfälschungs-Erfassungseinrichtung untersucht,
ob das System zum Verhindern eines nicht autorisierten Kopierens
von Software, welches bei der Softwareanwender-Datenverarbeitungsvorrichtung
arbeitet, gefälscht
worden ist oder nicht. Wenn das System zum Verhindern eines nicht
autorisierten Kopierens von Software nicht gefälscht worden ist, dann erzeugt
die Eigenschlüssel-Erzeugungseinrichtung
den eigenen Schlüssel.
Wenn die Vorrichtung, die gerade arbeitet, unterschiedlich von der
Vorrichtung ist, die zum Registrieren des Anwenders verwendet ist,
dann ist der erzeugte eigene Schlüssel unterschiedlich von dem
zum Registrieren des Anwenders erzeugten eigenen Schlüssel. In
diesem Fall kann die in der Speichereinrichtung für verschlüsselte geheime
Information gespeicherte verschlüsselte
geheime Information nicht entschlüsselt werden, und eine darauf
folgende Verarbeitung kann nicht richtig ausgeführt werden.
-
Wenn
das System zum Verhindern eines nicht autorisierten Kopierens von
Software gefälscht worden
ist, dann zerstört
die Geheiminformations-Zerstörungseinrichtung
die durch die Speichereinrichtung für verschlüsselte geheime Information gespeicherte
geheime Information durch Löschen der
geheimen Information oder durch Schreiben einer Pseudozufallszahl
in die geheime Information, so dass eine darauf folgende Verarbeitung
nicht richtig ausgeführt
werden kann.
-
Es
wird verhindert, dass die Software durch einen nicht autorisierten
Anwender auf einer Vorrichtung ausgeführt wird, die unterschiedlich
von der Vorrichtung ist, die zum Registrieren des autorisierten Anwenders
verwendet ist, und es wird verhindert, dass ein Verhinderungsmechanismus
für ein
Kopieren nicht autorisierter Software durch Fälschen des Programms ungültig gemacht
wird, ohne die Annehmlichkeit für
den autorisierten Anwender zu beeinträchtigen.
-
Die
obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden aus der folgenden Beschreibung unter Bezugnahme
auf die beigefügten
Zeichnungen offensichtlich werden, die Beispiele der vorliegenden
Erfindung darstellen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm eines herkömmlichen
Systems zum Verhindern eines nicht autorisierten Kopierens von Software;
-
2 ist
ein Blockdiagramm eines Systems zum Verhindern eines nicht autorisierten
Kopierens von Software gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
3 ist
ein Ablaufdiagramm einer Betriebssequenz des in 2 gezeigten
Systems zum Verhindern eines nicht autorisierten Kopierens von Software;
und
-
4 ist
ein Blockdiagramm eines Systems zum Verhindern eines nicht autorisierten
Kopierens von Software gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
Nimmt
man nun Bezug auf 2, ist dort ein System zum Verhindern
eines nicht autorisierten Kopierens von Software gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gezeigt, das allgemein eine programmgesteuerte
Softwareanwender-Datenverarbeitungsvorrichtung 100, eine
Softwareanwender-Speichervorrichtung 110,
eine programmgesteuerte Softwarelieferant-Datenverarbeitungsvorrichtung 120 und
eine Softwarelieferant-Dateivorrichtung 130 aufweist.
-
Die
Softwareanwender-Datenverarbeitungsvorrichtung 100 hat
einen Eigenschlüssel-Generator 101,
einen Eigenschlüssel-Verschlüssler 102,
einen Eigenschlüssel-Verteiler 103,
einen Geheiminformations-Entschlüssler 104,
einen Fälschungsdetektor 105 und
einen Geheiminformations-Zerstörer 106.
-
Die
Softwareanwender-Speichervorrichtung 110 hat eine Speichereinheit 111 für verschlüsselte geheime
Information. Die Speichereinheit 111 für verschlüsselte geheime Information
sollte vorzugsweise unterschiedlich von einer Dateivorrichtung sein,
die normale Software speichert.
-
Die
Softwarelieferant-Datenverarbeitungsvorrichtung 120 hat
einen Eigenschlüssel-Entschlüssler 121,
einen Geheiminformations-Verschlüssler 122 und
einen Geheiminformations-Verteiler 123.
-
Die
Softwarelieferant-Dateivorrichtung 130 hat eine Anwenderinformations-Speichereinheit 131 und
eine Geheiminformations-Speichereinheit 132.
-
Der
Eigenschlüssel-Generator 101 erzeugt unterschiedliche
eigene Schlüssel,
die in unterschiedlichen Softwareanwender-Datenverarbeitungsvorrichtungen 100 eigens
für diese
vorhanden sind. Der Eigenschlüssel-Verschlüssler 102 verschlüsselt den
durch den Eigenschlüssel-Generator 101 erzeugten
eigenen Schlüssel.
Der Eigenschlüssel-Verteiler 103 verteilt
den durch den Eigenschlüssel-Verschlüssler 102 verschlüsselten
eigenen Schlüssel über eine
Kommunikationsverbindung zum Eigenschlüssel-Verschlüssler 121.
Der Geheiminformations-Entschlüssler 104 entschlüsselt in
der Speichereinheit 111 für verschlüsselte geheime Information
gespeicherte verschlüsselte
geheime Information mit dem durch den Eigenschlüssel-Generator 101 erzeugten
eigenen Schlüssel.
Der Fälschungsdetektor 105 untersucht,
ob das System zum Verhindern eines nicht autorisierten Kopierens
von Software, welches auf der Softwareanwender-Datenverarbeitungsvorrichtung 100 betrieben
wird, gefälscht
worden ist oder nicht. Wenn der Fälschungsdetektor 105 eine
Systemfälschung
erfasst, dann zerstört
der Geheiminformations-Zerstörer 106 die
in der Speichereinheit 111 für verschlüsselte geheime Information
gespeicherte verschlüsselte
geheime Information. Der Eigenschlüssel-Entschlüssler 121 entschlüsselt den
vom Eigenschlüssel-Verteiler 103 verteilten
verschlüsselten
eigenen Schlüssel
mit einem geheimen Schlüssel und
speichert den entschlüsselten
eigenen Schlüssel zusammen
mit Anwenderinformation in der Anwenderinformations-Speichereinheit 131.
Der Geheiminformations-Verschlüssler 122 verschlüsselt in
der Geheiminformations-Speichereinheit 132 gespeicherte
geheime Information mit dem durch den Eigenschlüssel-Entschlüssler 121 entschlüsselten
eigenen Schlüssel.
Der Geheiminformations-Verteiler 123 verteilt die verschlüsselte geheime
Information über
eine Kommunikationsverbindung zur Speichereinheit 111 für verschlüsselte geheime
Information.
-
Nachfolgend
wird ein Gesamtbetrieb des Systems zum Verhindern eines nicht autorisierten Kopierens
von Software unter Bezugnahme auf die 2 und 3 beschrieben.
-
Das
System zum Verhindern eines nicht autorisierten Kopierens von Software
arbeitet allgemein in zwei Moden. Einer der Moden ist ein Anwenderregistrierungsmode
und der andere Mode ist ein Softwarebetriebsmode.
-
Der
Geheiminformations-Entschlüssler 104 bestimmt
in einem Schritt 201, ob Geheiminformation in der Speichereinheit 111 für verschlüsselte geheime
Information gespeichert ist oder nicht. Wenn keine geheime Information
in der Speichereinheit 111 für verschlüsselte geheime Information
gespeichert ist, dann wird in Schritten 202 bis 207 eine
Anwenderregistrierung ausgeführt.
Wenn geheime Information in der Speichereinheit 111 für verschlüsselte geheime Information
gespeichert ist, dann wird in Schritten 208 bis 211 eine
normale Verarbeitung ausgeführt.
-
Die
Anwenderregistrierung wird nur einmal ausgeführt, wenn eine verkaufte Software
zum ersten Mal verwendet wird. Die Software wird in der Form von
beispielsweise einer CD-ROM oder über eine Kommunikationsverbindung
zum Anwender verteilt. Wenn die Software über eine Kommunikationsverbindung
verteilt bzw. vertrieben wird, dann wird angenommen, dass der für die Software
berechnete Geldbetrag unter Verwendung eines existierenden elektronischen
Handelssystems bezahlt worden ist. Zuverlässige Anwenderinformation,
wie beispielsweise eine Kreditkartennummer, die bei der Anmeldung erhalten
ist, wird darauf folgend in einem Schritt 205 verwendet
werden.
-
In
einem Schritt 202 erzeugt der Eigenschlüssel-Generator 101 einen
eigenen Schlüssel, der
speziell für
die Softwareanwender-Datenverarbeitungsvorrichtung 100 ist,
unter Verwendung von seriellen Nummern, die den jeweiligen Einheiten
der Softwareanwender-Datenverarbeitungsvorrichtung 100 zugeteilt
sind. Der eigene Schlüssel
kann ein allgemeiner Schlüssel
gemäß DES (Datenverschlüsselungsstandard)
oder ein öffentlicher
Schlüssel
gemäß RSA sein,
der weit verbreitetet allgemein eingesetzt worden ist. Wenn ein
allgemeiner Schlüssel
verwendet wird, dann wird ein eigener Schlüssel erzeugt. Wenn ein öffentlicher
Schlüssel
verwendet wird, dann werden ein öffentlicher
Schlüssel
zur Verschlüsselung
und ein geheimer Schlüssel
zur Entschlüsselung
als eigener Schlüssel
verwendet.
-
Der
Eigenschlüssel-Verschlüssler 102 verschlüsselt in
einem Schritt 203 den durch den Eigenschlüssel-Generator 101 erzeugten
eigenen Schlüssel.
Es wird angenommen, dass ein Prozess zur Verschlüsselung eines öffentlichen
Schlüssels
zum Verschlüsseln
des eigenen Schlüssels
verwendet wird, und der Eigenschlüssel-Verschlüssler 102 verschlüsselt den
eigenen Schlüssel
mit einem öffentlichen Schlüssel. Der
zum Verschlüsseln
des eigenen Schlüssels
verwendete öffentliche
Schlüssel
wird als fester Wert im Eigenschlüssel-Verschlüssler 102 eingebettet
und der zum Entschlüsseln
des eigenen Schlüssels
verwendete geheime Schlüssel
wird als fester Wert im Eigenschlüssel-Entschlüssler 121 eingebettet.
-
Der
Eigenschlüssel-Verteiler 103 verteilt
in einem Schritt 204 den durch den Eigenschlüssel-Verschlüssler 102 verschlüsselten
eigenen Schlüssel über eine
Kommunikationsverbindung zum Eigenschlüssel-Entschlüssler 121.
Selbst wenn irgendeine dritte Partei, die eine andere als der Lieferant
ist, den verschlüsselten
eigenen Schlüssel
abfängt,
wird sie es schwierig finden, den eigenen Schlüssel zu erhalten und zu verwenden,
der nicht entschlüsselt
werden kann, weil die dritte Partei den geheimen Schlüssel nicht
hat.
-
Der
Eigenschlüssel-Entschlüssler 121 entschlüsselt in
einem Schritt 205 den von dem Eigenschlüssel-Verteiler 103 verteilten
verschlüsselten
eigenen Schlüssel
mit dem geheimen Schlüssel
und speichert den entschlüsselten
eigenen Schlüssel
zusammen mit der Anwenderinformation in der Anwenderinformations-Speichereinheit 131.
-
Der
Geheiminformations-Verschlüssler 122 verschlüsselt in
einem Schritt 206 die in der Geheiminformations-Speichereinheit 132 gespeicherte
geheime Information mit dem eigenen Schlüssel. Die geheime Information
ist Information, die für
ein Software-Produkt unverzichtbar ist, das eine erforderliche Verarbeitung
durchführt,
um normal zu arbeiten. Beispielsweise weist die geheime Information
einen Programmcode (oder einen Teil davon) oder einen Verschlüsselungsschlüssel zur
Authentifizierung oder ähnliches
auf. Zu dieser Zeit kann ein eigener Schlüssel zur geheimen Information
hinzugefügt
werden und dann kann die geheime Information durch den eigenen Schlüssel verschlüsselt werden.
Wenn darauf folgend eine nicht autorisierte Kopie der geheimen Information
verteilt wird, dann wird der hinzugefügte eigene Schlüssel gegenüber dem
in der Anwenderinformations-Speichereinheit 131 gespeicherten
eigenen Schlüssel
geprüft,
um den Anwender zu identifizieren, der die nicht autorisierte Kopie der
geheimen Information gemacht hat.
-
Der
Geheiminformations-Verteiler 123 verteilt in einem Schritt 207 die
verschlüsselte
geheime Information über
eine Kommunikationsverbindung zur Speichereinheit 111 für verschlüsselte geheime Information.
Die Speichereinheit 111 für verschlüsselte geheime Information
kann beispielsweise eine Speichereinheit aufweisen, die nicht auf
einfache Weise durch den Anwender verwendet werden kann, wie beispielsweise
einen Managementinformations-Speicherbereich eines Betriebssystems
oder einen BIOS-(Basis-Eingabe/Ausgabe-System)-Bereich einer Hardware.
Eine solche Speichereinheit wird als die Speichereinheit 111 für verschlüsselte geheime
Information verwendet, um zu verhindern, dass der Anwender die verschlüsselte geheime
Information zu einem anderen Speichermedium kopiert.
-
Wenn
im Schritt 201 geheime Information in der Speichereinheit 111 für verschlüsselte geheime Information
gespeichert ist, dann wird, wie es oben beschrieben ist, in den
Schritten 208 bis 211 eine normale Verarbeitung
ausgeführt.
-
Der
Fälschungsdetektor 105 untersucht
im Schritt 208, ob das System zum Verhindern eines nicht
autorisierten Kopierens von Software, das auf der Softwareanwen der-Datenverarbeitungsvorrichtung 100 betrieben
wird, gefälscht
worden ist oder nicht. Wenn das System zum Verhindern eines nicht autorisierten
Kopierens von Software nicht gefälscht worden
ist, dann geht die Steuerung zu einem Schritt 209. Wenn
das System zum Verhindern eines nicht autorisierten Kopierens von
Software gefälscht
worden ist, dann geht die Steuerung zu einem Schritt 212.
Der Fälschungsdetektor 105 verwendet
zur Fälschungsuntersuchung
eine elektronische Signatur unter Verwendung eines Verschlüsselungsprozesses für einen öffentlichen
Schlüssel.
Wenn beispielsweise eine elektronische RSA-Signatur verwendet wird, dann
wird im Voraus ein Hash-Wert eines Programmcodes bestimmt, mit einem
geheimen Schlüssel
verschlüsselt
und als Signatur verwendet. Wenn eine Systemfälschung erfasst wird, dann
wird die Signatur in den Hash-Wert mit dem öffentlichen Schlüssel entschlüsselt und
mit einem von dem Programmcode berechneten Hash-Wert verglichen.
-
Wenn
keine Systemfälschung
erfasst wird, dann erzeugt der Eigenschlüssel-Generator 101 in einem Schritt 209 einen
eigenen Schlüssel.
Wenn die Vorrichtung, die gerade arbeitet, unterschiedlich von der
Vorrichtung ist, die zum Registrieren des Anwenders verwendet ist,
dann ist der erzeugte eigene Schlüssel unterschiedlich vom im
Schritt 202 erzeugten eigenen Schlüssel.
-
Der
Geheiminformations-Entschlüssler 104 entschlüsselt die
in der Speichereinheit 111 für verschlüsselte geheime Information
gespeicherte verschlüsselte
geheime Information mit dem durch den Eigenschlüssel-Generator 101 erzeugten
eigenen Schlüssel
in einem Schritt 210. Wenn der entschlüsselte eigene Schlüssel unterschiedlich
von dem eigenen Schlüssel
ist, der dann erzeugt wird, wenn der Anwender registriert wird,
dann wird die darauf folgende Verarbeitung nicht richtig durchgeführt werden.
-
Eine
Programmausführungseinrichtung (nicht
gezeigt, da sie nicht direkt in dem System zum Verhindern eines
nicht autorisierten Kopierens von Software enthalten ist) führt in einem
Schritt 211 eine normale Verarbeitung unter Verwendung
der entschlüsselten
geheimen Information durch.
-
Wenn
das System zum Verhindern eines nicht autorisierten Kopierens von
Software gefälscht ist,
dann zerstört
der Geheiminformations-Zerstörer 106 im
Schritt 212 die in der Speichereinheit 111 für verschlüsselte geheime
Information gespeicherte geheime Information durch Löschen der
geheimen Information oder durch Schreiben einer Pseudozufallszahl
in die geheime Information. Da somit die geheime Information zerstört ist,
kann die normale Verarbeitung im Schritt 211 nicht richtig
ausgeführt
werden, solange die Anwenderregistrierung nicht wieder ausgeführt wird.
-
4 zeigt
in Blockform ein System zum Verhindern eines nicht autorisierten
Kopierens von Software gemäß einem
weiteren Ausführungsbeispiel
der vorliegenden Erfindung.
-
Wie
es in 4 gezeigt ist, enthält das System zum Verhindern
eines nicht autorisierten Kopierens von Software gemäß dem weiteren
Ausführungsbeispiel
der vorliegenden Erfindung eine Speichereinheit 302, eine
Kommunikationseinheit 303, ein Aufzeichnungsmedium 304 und
einen Datenprozessor 305, die gemeinsam der in 1 gezeigten Softwareanwender-Datenverarbeitungsvorrichtung 100 entsprechen,
eine Speichereinheit 301, die der in 1 gezeigten
Softwareanwender-Speichervorrichtung 100 entspricht, eine
Kommunikationseinheit 306, eine Speichereinheit 308,
ein Aufzeichnungsmedium 309 und einen Datenprozessor 310,
die gemeinsam der in 1 gezeigten Softwarelieferant-Datenverarbeitungsvorrichtung 120 entsprechen,
und eine Speichereinheit 307, die der in 1 gezeigten
Softwarelieferant-Dateivorrichtung 130 entspricht. Die
Speichereinheiten 302, 308 weisen Haupt-Speichereinheiten
auf. Die Kommunikationseinheiten 303, 306 dienen
zum Durchführen
von Kommunikationen zwischen der Softwareanwender-Speichervorrichtung 100 und
der Softwarelieferant-Datenverarbeitungsvorrichtung 120.
Jedes der Aufzeichnungsmedien 304, 309 kann eine
FD (Floppy Disk = Diskette), ein DVD-ROM, ein CD-ROM, eine MO-(magnetooptische)-Scheibe
oder ähnliches sein.
Das Aufzeichnungsmedium 304 speichert das Programm zum
Verhindern eines nicht autorisierten Kopierens von Software im Bereich
vom Eigenschlüssel-Generator 101 bis
zum Geheiminformations-Zerstörer 106 und
das Aufzeichnungsmedium 309 speichert das Programm zum
Verhindern eines nicht autorisierten Kopierens von Software im Bereich
vom Eigenschlüssel-Entschlüssler 121 bis
zum Geheiminformations-Verteiler 123. Die Datenprozessoren 305, 310 weisen
CPUs zum Lesen des Programms zum Verhindern eines nicht autorisierten
Kopierens von Software aus den jeweiligen Aufzeichnungsmedien 304, 309 und
zum Ausführen
des gelesenen Programms auf.
-
Während bevorzugte
Ausführungsbeispiele der
vorliegenden Erfindung unter Verwendung spezifischer Ausdrücke beschrieben
worden sind, dient eine solche Beschreibung nur illustrativen Zwecken, und
es ist zu verstehen, dass Änderungen
und Variationen durchgeführt
werden können,
ohne vom Schutzumfang der folgenden Ansprüche abzuweichen.