DE60012622T2 - System und Programme zur Verhinderung des unerlaubten Kopierens von Software - Google Patents

System und Programme zur Verhinderung des unerlaubten Kopierens von Software Download PDF

Info

Publication number
DE60012622T2
DE60012622T2 DE60012622T DE60012622T DE60012622T2 DE 60012622 T2 DE60012622 T2 DE 60012622T2 DE 60012622 T DE60012622 T DE 60012622T DE 60012622 T DE60012622 T DE 60012622T DE 60012622 T2 DE60012622 T2 DE 60012622T2
Authority
DE
Germany
Prior art keywords
software
secret information
key
encrypted
data processing
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 - Lifetime
Application number
DE60012622T
Other languages
English (en)
Other versions
DE60012622D1 (de
Inventor
Takuya Morishita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Application granted granted Critical
Publication of DE60012622D1 publication Critical patent/DE60012622D1/de
Publication of DE60012622T2 publication Critical patent/DE60012622T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

  • 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.

Claims (5)

  1. System zum Verhindern eines nicht autorisierten Kopierens von Software, welches folgendes aufweist: eine Softwareanwender-Datenverarbeitungsvorrichtung (100); eine Softwarelieferant-Datenverarbeitungsvorrichtung (120); und eine Anwender-Speichervorrichtung (110) mit einer Speichereinrichtung für verschlüsselte geheime Information (111) zum Speichern verschlüsselter geheimer Information; wobei die Softwareanwender-Datenverarbeitungsvorrichtung (100) eine Eigenschlüssel-Erzeugungseinrichtung (101) zum Erzeugen eines eigenen Schlüssels hat, der speziell für die Softwareanwender-Datenverarbeitungsvorrichtung ist, eine Eigenschlüssel-Verschlüsselungseinrichtung (102) zum Verschlüsseln des eigenen Schlüssels, eine Eigenschlüssel-Verteilungseinrichtung (103) zum Verteilen des verschlüsselten eigenen Schlüssels zur Softwarelieferant-Datenverarbeitungsvorrichtung (120), eine Geheiminformations-Entschlüsselungseinrichtung (104) zum Entschlüsseln geheimer Information, die unverzichtbar für die Software ist, um richtig zu arbeiten, und die durch die Speichereinrichtung für verschlüsselte geheime Information (111) gespeichert ist, mit dem eigenen Schlüssel, eine Verfälschungs-Erfassungseinrichtung (105) zum Untersuchen, ob das System zum Verhindern eines nicht autorisierten Kopierens von Software gefälscht worden ist oder nicht und eine Geheiminformations-Zerstörungseinrichtung (106) zum Zerstören der geheimen Information, die von der Speichereinrichtung für verschlüsselte geheime Information (111) gespeichert ist, wenn das System zum Verhindern eines nicht autorisierten Kopierens von Software gefälscht worden ist; wobei die Softwarelieferant-Datenverarbeitungsvorrichtung (120) eine Eigenschlüssel-Entschlüsselungseinrichtung (121) zum Entschlüsseln des verschlüsselten eigenen Schlüssels hat, der von der Softwareanwender-Datenverarbeitungsvorrichtung (100) verteilt wird, eine Geheiminformations-Speichereinrichtung (132) zum Speichern der geheimen Information, eine Geheiminformations-Verschlüsselungseinrichtung (122) zum Verschlüsseln der geheimen Information, die durch die Geheiminformations-Speichereinrich tung (132) gespeichert ist, mit dem entschlüsselten eigenen Schlüssel, und eine Geheiminformations-Verteilungseinrichtung (123) zum Verteilen der verschlüsselten geheimen Information zur Anwender-Speichervorrichtung und zum Speichern der verschlüsselten geheimen Information in der Speichereinrichtung für verschlüsselte geheime Information (111), wobei das System weiterhin eine Dateivorrichtung (130) zum Speichern der Software aufweist, wobei die Anwender-Speichervorrichtung (110) unterschiedlich von der Dateivorrichtung ist.
  2. System nach Anspruch 1, wobei ein eigener Schlüssel zum Identifizieren der Softwareanwender-Datenverarbeitungsvorrichtung (100) zur geheimen Information hinzugefügt ist.
  3. Programm, das durch einen Computer in einer Softwareanwender-Datenverarbeitungsvorrichtung (100) ausführbar ist, zum Verhindern eines nicht autorisierten Kopierens von Software, welches Programm die folgenden Schritte aufweist: Erzeugen (202) eines eigenen Schlüssels, der speziell für die Softwareanwender-Datenverarbeitungsvorrichtung ist; Verschlüsseln (203) des eigenen Schlüssels; Verteilen (204) des verschlüsselten eigenen Schlüssels zu einer Softwarelieferant-Datenverarbeitungsvorrichtung (120); Entschlüsseln (210) geheimer Information, die für die Software unverzichtbar ist, um richtig zu arbeiten, und die durch eine Speichereinrichtung für verschlüsselte geheime Information (111) gespeichert ist, welche unterschiedlich von einer Dateienvorrichtung ist, die die Software speichert; Untersuchen (208), ob das Programm zum Verhindern eines nicht autorisierten Kopierens von Software gefälscht worden ist oder nicht; und Zerstören (212) der durch die Speichereinrichtung für verschlüsselte geheime Information (111) gespeicherten geheimen Information, wenn das Programm zum Verhindern eines nicht autorisierten Kopierens von Software gefälscht worden ist.
  4. Programmsystem mit einem Programm nach Anspruch 3 und einem zweiten Programm, das durch einen Computer in einer Softwarelieferant-Datenverarbeitungsvorrichtung (120) ausführbar ist, zum Verhindern eines nicht autorisierten Kopierens von Software, wobei das zweite Programm die folgenden Schritte aufweist: Entschlüsseln (205) des im Schritt zum Verteilen des verschlüsselten eigenen Schlüssels im Programm nach Anspruch 3 verteilten verschlüsselten eigenen Schlüssels; Verschlüsseln (206) der durch die Geheiminformations-Speichereinrichtung gespeicherten geheimen Information mit dem entschlüsselten eigenen Schlüssel; und Verteilen (207) der verschlüsselten geheimen Information zu einer Anwender-Speichervorrichtung und Speichern der verschlüsselten geheimen Information in der Speichereinrichtung für verschlüsselte geheime Information (111).
  5. Programm nach Anspruch 3 oder 4, wobei ein eigener Schlüssel zum Identifizieren der Softwareanwender-Datenverarbeitungsvorrichtung zur geheimen Information hinzugefügt ist.
DE60012622T 1999-05-20 2000-05-19 System und Programme zur Verhinderung des unerlaubten Kopierens von Software Expired - Lifetime DE60012622T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11140252A JP2000330783A (ja) 1999-05-20 1999-05-20 ソフトウェア不正コピー防止システムおよびソフト不正コピー防止プログラムを記録した記録媒体
JP14025299 1999-05-20

Publications (2)

Publication Number Publication Date
DE60012622D1 DE60012622D1 (de) 2004-09-09
DE60012622T2 true DE60012622T2 (de) 2005-07-28

Family

ID=15264465

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60012622T Expired - Lifetime DE60012622T2 (de) 1999-05-20 2000-05-19 System und Programme zur Verhinderung des unerlaubten Kopierens von Software

Country Status (4)

Country Link
US (1) US7334265B1 (de)
EP (1) EP1054315B1 (de)
JP (1) JP2000330783A (de)
DE (1) DE60012622T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4510368B2 (ja) * 2001-12-21 2010-07-21 美恵子 露崎 著作権保護システム及び該プログラムを記録した記録媒体
US7680743B2 (en) * 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
JP2005157930A (ja) * 2003-11-28 2005-06-16 Matsushita Electric Ind Co Ltd 機密情報処理システムおよびlsi
JP2005346182A (ja) * 2004-05-31 2005-12-15 Fujitsu Ltd 情報処理装置、耐タンパ方法、耐タンパプログラム
JP4810846B2 (ja) 2005-03-15 2011-11-09 富士ゼロックス株式会社 プログラムデータの不正利用を阻止するプログラム
WO2007044947A2 (en) * 2005-10-12 2007-04-19 Clevx, Llc Software-firmware transfer system
JP4991592B2 (ja) * 2008-02-18 2012-08-01 株式会社リコー ソフトウェア改ざん検知方法、ソフトウェア改ざん検知プログラム及び機器
JP5060372B2 (ja) 2008-04-10 2012-10-31 ルネサスエレクトロニクス株式会社 データ処理装置
US20110041188A1 (en) * 2008-05-02 2011-02-17 Invicta Networks, Inc Method and system for protection of computer applications and software products against unauthorized copying
US9245097B2 (en) 2013-09-19 2016-01-26 Infosys Limited Systems and methods for locking an application to device without storing device information on server
US10298546B2 (en) 2014-03-07 2019-05-21 Toshiba Memory Corporation Asymmetrical encryption of storage system to protect copyright and personal information
CN110262983B (zh) * 2019-05-24 2021-12-17 宜鼎国际股份有限公司 具有自我销毁功能的数据储存装置
CN114139221B (zh) * 2022-02-07 2022-04-29 浪潮(山东)计算机科技有限公司 密钥状态检测方法、装置、设备及介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
JPS59229646A (ja) 1983-06-10 1984-12-24 Fanuc Ltd 暗号化されたプログラムの無断使用禁止装置
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4796220A (en) * 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software
US5058162A (en) * 1990-08-09 1991-10-15 Hewlett-Packard Company Method of distributing computer data files
JPH04287124A (ja) 1991-03-15 1992-10-12 Daikin Ind Ltd 計算機システムにおけるソフトウェア無断使用禁止方法およびその装置
JPH07287654A (ja) 1994-04-18 1995-10-31 Nec Corp ソフトウェア配送装置
JPH07325712A (ja) 1994-05-31 1995-12-12 Oki Electric Ind Co Ltd プログラム不正コピー防止装置
JPH086784A (ja) 1994-06-15 1996-01-12 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア/著作物の無断複製使用防止システムおよび無断複製使用防止処理方法
US5586186A (en) * 1994-07-15 1996-12-17 Microsoft Corporation Method and system for controlling unauthorized access to information distributed to users
US6044154A (en) * 1994-10-31 2000-03-28 Communications Devices, Inc. Remote generated, device identifier key for use with a dual-key reflexive encryption security system
JP3486043B2 (ja) 1996-03-11 2004-01-13 株式会社東芝 ソフトウエア流通システムの動作方法及びソフトウエアシステム
AU6759198A (en) 1997-03-14 1998-10-12 Cryptoworks, Inc. Digital product rights management technique
JPH1139158A (ja) 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> 実行プログラムの保護方法およびその装置
EP1031206A2 (de) 1997-10-14 2000-08-30 Microsoft Corporation Verfahren und vorrichtung zur aufdeckung von blossgestellten sicherheitseinrichtungen
US6324650B1 (en) * 1998-03-16 2001-11-27 John W.L. Ogilvie Message content protection and conditional disclosure
US6219788B1 (en) * 1998-05-14 2001-04-17 International Business Machines Corporation Watchdog for trusted electronic content distributions
US6567915B1 (en) * 1998-10-23 2003-05-20 Microsoft Corporation Integrated circuit card with identity authentication table and authorization tables defining access rights based on Boolean expressions of authenticated identities

Also Published As

Publication number Publication date
EP1054315A3 (de) 2002-09-11
US7334265B1 (en) 2008-02-19
EP1054315A2 (de) 2000-11-22
EP1054315B1 (de) 2004-08-04
JP2000330783A (ja) 2000-11-30
DE60012622D1 (de) 2004-09-09

Similar Documents

Publication Publication Date Title
DE69724946T2 (de) Programmvermietungssystem und Verfahren zur Vermietung von Programmen
DE69635143T2 (de) Verfahren und Vorrichtung zur Erzeugung und Verwaltung eines privaten Schlüssels in einem kryptografischen System mit öffentlichem Schlüssel
DE69635868T2 (de) Verfahren und vorrichtung zum kryptographisch gesteuerten betrieb eines zusatzgeräts
DE60023705T2 (de) Sichere verteilung und schutz einer schlüsselinformation
DE69534757T2 (de) System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
DE60011431T2 (de) Sichere systeme zum drucken von authentifizierenden digitalen unterschriften
DE69725833T2 (de) Gesicherte zweiteilige Benutzer-Authentifizierung in einem Rechnernetz
DE60002893T2 (de) Computerplattformen und deren betriebsverfahren
DE69819485T2 (de) Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel
DE60012622T2 (de) System und Programme zur Verhinderung des unerlaubten Kopierens von Software
DE19827659B4 (de) System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff
DE69435079T2 (de) Chipkarte für eine Vielzahl von Dienstleistungsanbietern und für entfernte Aufstellung derselben
DE69433077T2 (de) Software-Verteilungsschutzverfahren
DE69837303T2 (de) Informationsverarbeitungsvorrichtung und Verfahren und Aufzeichnungsmedium zum Ausführen mittels öffentlicher Schlüssel verschlüsselter Programme
CA2436473C (en) Lottery ticket security method
DE69636982T2 (de) Softwarekopiersystem
DE69736310T2 (de) Erzeugung und Verteilung digitaler Dokumente
DE69814406T2 (de) Tragbare elektronische vorrichtung für systeme zur gesicherten kommunikation und verfahren zur initialisierung der parameter
DE69629857T2 (de) Datenkommunikationssystem unter Verwendung öffentlicher Schlüssel
DE60307561T2 (de) Vorrichtung und Verfahren zur Ausgabe von digitalen Inhalten
EP0030381B1 (de) Verfahren und Vorrichtung zur Erzeugung und späteren Kontrolle von gegen Nachahmung, Verfälschung und Missbrauch abgesicherten Dokumenten und Dokument zu dessen Durchführung
DE69736246T2 (de) Vorrichtung zur gesicherten Kryptographischen Datenverarbeitung und zum Schutz von Speicherermitteln für Frankiermaschinen
EP1099197B1 (de) Vorrichtung zum liefern von ausgangsdaten als reaktion auf eingangsdaten und verfahren zum überprüfen der authentizität und verfahren zum verschlüsselten übertragen von informationen
DE60117757T2 (de) Schlüssel- und schliesseinrichtung
DE60026137T2 (de) Registrierung von kopiergeschütztem material in einem ausbuchungs-/einbuchungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition