-
Die Erfindung betrifft ein Verfahren zum Autorisieren der Benutzung von zumindest einem autorisierungsbedürftigen Computerprogramm auf einem Endgerät mittels eines tragbaren Datenträgers, wobei die Benutzung mehrer autorisierungsbedürftige Computerprogramme auf dem Endgerät mittels des tragbaren Datenträgers autorisiert werden kann.
-
Ein Computerprogramm, das als Anwendung auf einem Endgerät, beispielsweise einem PC, benutzt wird, benötigen einen zuverlässigen Kopierschutz, wenn der Hersteller des Computerprogramms verhindern möchte, dass das Computerprogramm unerlaubt vervielfältigt und gleichzeitig von einer Vielzahl von Benutzern benutzt wird.
-
Aus dem Stand der Technik sind Verfahren bekannt, um die Benutzung eines Computerprogramms zu autorisieren. Eine weit verbreitete Möglichkeit ist die Autorisierung über eindeutige Seriennummern einer Hardwarekomponente des Endgeräts, beispielsweise eine Festplatten-Seriennummer. Problematisch ist hierbei, dass das Computerprogramm ausschließlich mit der Seriennummer der Hardwarekomponente des Endgeräts benutzt werden kann, sodass eine wechselseitige Benutzung eines Benutzers zwischen zwei Endgeräten, beispielsweise einem PC und einem Notebook, bei dieser Kopierschutzmöglichkeit nicht vorgesehen ist. Dadurch ist diese Kopierschutzmöglichkeit unflexibel für den Benutzer des Computerprogramms.
-
Eine alternative Möglichkeit des Kopierschutzes ist die Verwendung von Kopierschutzstecker, auch Dongle, Hardlock oder Key genannt. Diese Kopierschutzstecker dienen dazu, Computerprogramme vor unautorisierter Vervielfältigung zu schützen. Dazu wird mit dem Computerprogramm bevorzugt der Kopierschutzstecker ausgeliefert, der auf eine Schnittstelle eines Endgeräts, insbesondere USB, aufgesteckt wird. Das Computerprogramm kontrolliert dann bei Benutzung auf einem Endgerät regelmäßig, ob der Kopierschutzstecker vorhanden ist und verweigert bei Nicht-Vorhandensein den Dienst oder gibt beispielsweise nur noch eingeschränkt Programmfunktionen frei. Ein Kopierschutzstecker ist daher eine der sichersten Kopierschutzmaßnahmen, da der Kopierschutzstecker meist nicht oder nur unter erheblichem Aufwand kopiert werden kann.
-
Dem Einsatz dieser Kopierschutzstecker steht entgegen, dass diese Stecker stets nur die Benutzung eines autorisierungsbedürftigen Computerprogramms am Endgerät autorisieren, dafür allerdings stets einen Steckplatz einer Schnittstelleneinheit belegen. Sollen mehrere autorisierungsbedürftige Computerprogramme an einem Endgerät zur gleichen Zeit benutzt werden, entsteht häufig das Problem, dass keine freien Steckplätze für Kopierschutzstecker am Endgerät verfügbar sind. Darüber hinaus ist ein zusätzliches Modul innerhalb eines autorisierungsbedürftigen Computerprogramms möglicherweise durch einen zusätzlichen Kopierschutzstecker zu autorisieren, wodurch selbst bei einem einzelnen Computerprogramm mehrere Kopierschutzstecker benötigt werden. Weiterhin werden Kopierschutzstecker mittels Analysecomputerprogrammen ausgespäht, sodass gegen die Manipulation der Hersteller sich dadurch schützt, indem keine standardisierten Code-Bibliotheken der Kopierschutzsteckerhersteller verwendet werden, sicherheitsrelevante Routinen mit kryptographisch starken Prüfsummen geschützt werden, Teile des Programmcodes zur Laufzeit durch den Kopierschutzstecker entschlüsselt werden müssen und zufällige Kopierschutzstecker-Abfragen durch Hintergrund-Prozesse (Watch Dogs, dt. Wachhunde) ausgeführt werden.
-
Speziell die Abwehrmechanismen erzeugen unter verschiedenen Kopierschutzsteckern, die gleichzeitig an einem Endgerät zum Autorisieren eingesetzt werden, Kompatibilitätsprobleme untereinander.
-
Der Erfindung liegt daher die Aufgabe zugrunde, einen zuverlässigen Kopierschutz für autorisierungsbedürftige Computerprogramme zu zeigen. Dabei sollte die Benutzung mehrerer autorisierungsbedürftiger Computerprogramme ebenso wie ein zusätzliches Modul innerhalb eines autorisierungsbedürftigen Computerprogramms zuverlässig autorisiert werden.
-
Die Aufgabe der Erfindung wird durch die in den nebengeordneten unabhängigen Patentansprüchen beschriebenen Maßnahmen gelöst. Vorteilhafte Ausgestaltungen sind in den jeweils abhängigen Ansprüchen beschrieben.
-
Die Aufgabe wird gemäß Anspruch 1 durch ein Verfahren zum Autorisieren der Benutzung von zumindest einem autorisierungsbedürftigen Computerprogramm auf einem Endgerät mittels eines tragbaren Datenträgers gelöst. Die Benutzung mehrer autorisierungsbedürftige Computerprogramme auf dem Endgerät kann dabei mittels des tragbaren Datenträgers autorisiert werden. Das Verfahren beinhaltet folgende Verfahrensschritte. Der tragbare Datenträger empfängt zumindest eine erste Computerprogrammidentifizierungsnummer, wobei die erste Computerprogrammidentifizierungsnummer ein erstes Computerprogramm eindeutig identifiziert. Anschließend wird von dem Datenträger eine datenträgerindividuellen Seriennummer an das Endgerät übertragen. Weiterhin wird von dem tragbaren Datenträger ein zur ersten Computerprogrammidentifizierungsnummer zugehörigen und auf dem Datenträger abgelegten Autorisierungscode von dem tragbaren Datenträger an das Endgerät übertragen. Anschließend wird im Endgerät ein zum ersten Computerprogramm gehöriger Autorisierungscode anhand der ersten Computerprogrammidentifizierungsnummer und der Seriennummer errechnet. Abschließend überprüft das Endgerät die Übereinstimmung von übertragenem und errechnetem Autorisierungscode, wobei nur bei Übereinstimmung das Computerprogramm auf dem Endgerät benutzt werden darf.
-
Erfindungsgemäß ist weiterhin ein tragbarer Datenträger zum Speichern von Autorisierungscodes für eine Vielzahl von, auf einem Endgerät ausführbaren und autorisierungsbedürftigen Computerprogrammen vorgesehen. Der Datenträger weist eine Kommunikationseinheit zur Kommunikation mit dem Endgerät, eine Schreib-Lese geschützte Speichereinheit zum Speichern einer datenträgerindividuellen Seriennummer, einer Speichereinheit zum Ablegen einer Vielzahl von Autorisierungscodes sowie einer Kryptographieeinheit zum Verschlüsseln von Seriennummer und Autorisierungscodes.
-
Als ein Computerprogramm wird im Folgenden als eine Folge von Anweisungen verstanden, welche auf einem Endgerät ausgeführt werden, um eine bestimmte Funktionalität zur Verfügung zu stellen.
-
Ein tragbarer Datenträger ist ein Medium zum Abspeichern von Informationen. Im Sinn der Anmeldung ist ein tragbarer Datenträger insbesondere eine Chipkarte, beispielsweise eine SIM-Karte, Smart-Card, SD-Karte, miniSD-Karte, microSD-Karte oder dergleichen mehr. Der tragbare Datenträger wird für das Verfahren über eine Kommunikationsschnittstelle mit dem Endgerät verbunden. Als Kommunikation ist eine kontaktbehaftete oder kontaktlose Schnittstelle denkbar, standardisiert über ISO 7816, ISO 14443, USB oder jeglicher anderer Art. Bevorzugt ist der tragbare Datenträger über ein USB-Terminal mit dem Endgerät verbunden. Weist der tragbare Datenträger keine USB-Schnittstelle auf, so wird über einen Datenträger-USB-Adapter die Verbindung zum Endgerät ermöglicht.
-
Ein Endgerät ist insbesondere ein herkömmlicher PC, ein mobiles Endgerät, wie Notebook, Mobiltelefon, PDA, Organizer oder dergleichen mehr.
-
Durch das erfindungsgemäße Verfahren und den erfindungsgemäßen Datenträger wird in vorteilhafter Art und Weise erreicht, dass ein Computerprogramm zuverlässig gegen unautorisiertes Kopieren des Computerprogrammprodukts geschützt ist. Weiterhin ist durch die Erfindungsgegenstände ein wechselseitiger Einsatz eines Computerprogramms auf mehreren Endgeräten erzielt, sodass der tragbare Datenträger lediglich von einem Endgerät entfernt und an einen freien Steckplatz des nächsten Endgeräts angesteckt werden muss. Der Datenträger ist bevorzugt hotplug-fähig, sodass während des Betriebs von Endgerät und Datenträger ein Entfernen und Anstecken des Datenträgers möglich ist. Weiterhin ist es durch das Verfahren möglich nachträglich erworbene Zusatzmodule des Computerprogramms ebenfalls benutzerspezifisch zu schützen.
-
Bevorzugt ist der tragbare Datenträger eine beschreibbare Java-SIM-Karte. Mehrere autorisierungsbedürftige Computerprogramme werden bevorzugt gleichzeitig auf dem Endgerät benutzt und für das Autorisieren der mehreren Computerprogramme sind die zur jeweiligen Computerprogrammidentifizierungsnummer zugehörigen Autorisierungscodes im tragbaren Datenträger abgelegt. Das Autorisieren mehrerer Computerprogramme während eines gleichzeitigen Benutzens auf dem Endgerät mittels eines einzigen Datenträgers ist dadurch einfach erreicht. Es werden keine weiteren Steckplätze benötigt und es tritt kein Kompatibilitätsproblem auf.
-
In einer vorteilhaften Ausgestaltung wird zwischen Endgerät und Datenträger asymmetrisch verschlüsselt übertragen. Dazu wird beispielsweise eine symmetrische oder asymmetrische Verschlüsselung gewählt. Somit ist es nicht möglich, die erforderlichen Identifizierungsnummern und Seriennummer auszuspionieren.
-
Bevorzugt ist die datenträgerindividuelle Seriennummer bei Personalisierung des tragbaren Datenträgers in den tragbaren Datenträger eingebracht.
-
Der Autorisierungscode wird beispielsweise durch Eingabe bei erstmaliger Benutzung des ersten Computerprogramms am Endgerät in dem tragbaren Datenträger abgelegt wird.
-
Zu der ersten Computerprogrammidentifizierungsnummer wird in vorteilhafter Ausgestaltung eine Zusatzidentifizierungsnummer an den tragbaren Datenträger übertragen und durch diese Zusatzidentifizierungsnummer werden unterschiedliche Teile des Computerprogramms autorisiert. Somit ist speziell bei nachträglichem Erwerb eines zusätzlichen Moduls des Computerprogramms eine benutzerspezifische Autorisierung ermöglicht.
-
Nachfolgend wird anhand von Figuren die Erfindung bzw. weitere Ausführungsformen und Vorteile der Erfindung näher erläutert, wobei die Figuren lediglich Ausführungsbeispiele der Erfindung beschreiben. Gleiche Bestandteile in den Figuren werden mit gleichen Bezugszeichen versehen. Die Figuren sind nicht als maßstabsgetreu anzusehen, es können einzelne Elemente der Figuren übertrieben groß bzw. übertrieben vereinfacht dargestellt sein.
-
Es zeigen:
-
1 Ein erstes Ausführungsbeispiel der Erfindung mit einem Endgerät und einem tragbaren Datenträger
-
2 Ein alternatives Ausführungsbeispiel der Erfindung mit einem Endgerät, einem Adapter und einem tragbaren Datenträger
-
3 Ein Ausführungsbeispiel der Erfindung zum Erhalten und Abspeichern eines Autorisierungscodes
-
1 zeigt ein Endgerät 1 und einen tragbaren Datenträger 2 in Form einer Chipkarte. Auf dem Endgerät sind autorisierungsbedürftige Computerprogramme installiert. Eine Benutzung dieser Computerprogramme bedingt eine Überprüfung der Autorisierung durch den Benutzer. Zu diesem Zweck hat ein Benutzer eine Chipkarte 2 erhalten. Diese wird in das Kartenleseterminal des Endgeräts 1 eingesteckt oder weist eine kontaktlose Kommunikationsverbindung zum Endgerät 1 auf. Der Benutzer startet das Computerprogramm, wodurch zunächst automatisch die Autorisierungsabfrage startet.
-
Dazu sendet das Endgerät eine Computerprogrammidentifizierungsnummer 4 und optional eine Zusatzidentifizierungsnummer 5 an die Chipkarte 2. Die Computerprogrammidentifizierungsnummer 4 dient der Identifizierung des autorisierungsbedürftigen Computerprogramms. Die Zusatzidentifizierungsnummer 5 dient zur Identifizierung optionaler Module, die im Leistungspaket der Software enthalten sind. Die Identifizierungsnummer 5 ist optional. Mit dieser Identifizierungsnummer 5 können unterschiedliche Leistungspakete auch nachträglich autorisiert werden ohne einen zusätzlichen Kopierschutzstecker zu benötigen.
-
In der Chipkarte 2 ist bei Personalisierung eine kartenindividuelle Seriennummer 6 der Chipkarte 2 erzeugt und in einem Schreib-Lese geschützten Speicherbereich eingebracht. Diese Seriennummer 6 wird mit einem Autorisierungscode 7 an das Endgerät 1 übertragen. Der Autorisierungscode 7 ist dabei ein in der Chipkarte 2 abgelegter Code, der der Computerprogrammidentifizierungsnummer 4 eindeutig zugeordnet ist. Bevorzugt werden Code 7 und Seriennummer 6 verschlüsselt übertragen.
-
Im Endgerät 1 wird der Code 7 und die Seriennummer 6 entschlüsselt. Mit der Seriennummer 6, der Computerprogrammidentifizierungsnummer 4 und optional der Zusatzidentifizierungsnummer 5 wird in dem Endgerät der Autorisierungscode 7 errechnet. Stimmt der errechnete Autorisierungscode 7 mit dem übertragenen Autorisierungscode 7 überein, so wird die Benutzung des Computerprogramms auf dem Endgerät 1 autorisiert und ein Benutzer darf das Computerprogramm verwenden.
-
In 2 ist ein alternatives Ausführungsbeispiel der Erfindung dargestellt. Im Folgenden wird lediglich auf die Unterschiede zwischen 1 und 2 eingegangen, um Wiederholungen zu vermeiden. Der Datenträger ist hier in Form einer SIM-Karte 2 dargestellt. Das Endgerät 1 weist keinen Kartenleser auf, sodass eine kontaktbehaftete Kommunikation zunächst nicht möglich ist. Um eine Autorisierung durchführen zu können, wird ein Adapter 3 eingebracht. Der Adapter 3 weist einen USB-Anschluss als auch eine Aufnahme für die SIM-Karte 2. Der Adapter schleift sämtliche Kommunikation zu der SIM-Karte durch, sodass das Verfahren zum Autorisieren aus der 1 entnommen werden kann.
-
In 1 und 2 nicht dargestellt ist die Tatsache, dass mehrere autorisierungsbedürftige Computerprogramme auf dem Endgerät installiert sind. Für den gleichzeitigen Betrieb mehrerer dieser Computerprogramme ist keine weitere Chipkarte 2 vorzusehen, sondern jedes Computerprogramm weist eine Computerprogrammidentifizierungsnummer 4a, 4b auf, zu der in der Chipkarte 2 ein jeweiliger Autorisierungscode 7a, 7b abgelegt ist.
-
In 3 ist ein Ausführungsbeispiel der Erfindung zum Erhalten und Abspeichern eines Autorisierungscodes dargestellt. Nach erfolgreicher Installation des Computerprogramms fordert das Endgerät die kartenindividuelle Seriennummer 6 an. Diese Seriennummer 6 wird zunächst zum Endgerät 1 übertragen. Zum Erhalten des Autorisierungscodes 7 für das installierte Computerprogramm überträgt das Endgerät 1 dem Computerprogrammhersteller 8 beispielsweise über das Internet, der über eine Servicehotline die Seriennummer 6 und optional die Computerprogrammidentifizierungsnummer 4 sowie die Zusatzidentifizierungsnummer 8 (nicht dargestellt). Der Computerprogrammhersteller 8 errechnet anhand der Seriennummer 6, der Computerprogrammidentifizierungsnummer 4 und der Zusatzidentifizierungsnummer 5 einen Autorisierungscode 7. Anschließend überträgt der Computerprogrammhersteller 8 den Autorisierungscode 7 an das Endgerät 1. Das Endgerät 1 überträgt den Autorisierungscode 7 an die Chipkarte 2, welche den Autorisierungscode 7 in einen geschützten Speicherbereich ablegt.
-
Bezugszeichenliste
-
- 1
- Endgerät, PC
- 2
- Tragbarer Datenträger, Chipkarte
- 3
- Adapter, Kartenlesegerät
- 4a
- Erste Computerprogrammidentifizierungsnummer
- 4b
- Zweite Computerprogrammidentifizierungsnummer
- 5
- Zusatz-Identifizierungsnummer
- 6
- Seriennummer
- 7a
- Erster Autorisierungscode
- 7b
- Zweiter Autorisierungscode
- 8
- Computerprogrammhersteller
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- ISO 7816 [0012]
- ISO 14443 [0012]