DE10155092A1 - Freischaltverfahren für einen Nutzteil eines Computerprogrammprodukts und zugehörige Einrichtungen - Google Patents

Freischaltverfahren für einen Nutzteil eines Computerprogrammprodukts und zugehörige Einrichtungen

Info

Publication number
DE10155092A1
DE10155092A1 DE10155092A DE10155092A DE10155092A1 DE 10155092 A1 DE10155092 A1 DE 10155092A1 DE 10155092 A DE10155092 A DE 10155092A DE 10155092 A DE10155092 A DE 10155092A DE 10155092 A1 DE10155092 A1 DE 10155092A1
Authority
DE
Germany
Prior art keywords
computer
activation
code
transponder
condition
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.)
Granted
Application number
DE10155092A
Other languages
English (en)
Other versions
DE10155092B4 (de
Inventor
Rainer Kuth
Martin Requardt
Markus Vester
Christoph Zindel
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.)
Siemens Healthcare GmbH
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE10155092A priority Critical patent/DE10155092B4/de
Priority to JP2002323435A priority patent/JP2003195970A/ja
Priority to US10/291,016 priority patent/US7555654B2/en
Priority to CNB021502935A priority patent/CN100426176C/zh
Publication of DE10155092A1 publication Critical patent/DE10155092A1/de
Application granted granted Critical
Publication of DE10155092B4 publication Critical patent/DE10155092B4/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/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client

Abstract

Ein Computerprogrammprodukt (5) weist einen Prüfteil (6) und einen Nutzteil (7) auf. Beim Aufruf des Computerprogrammprodukts (5) veranlasst ein Rechner unter Abarbeitung des Prüfteils (6) einen Sender (13) zum Aussenden eines Anregungssignals. Ein Transponder (12) empfängt dieses Signal und sendet daraufhin einen Freischaltcode (C2) aus. Ein Empfänger (13) empfängt den Freischaltcode (C2) und übermittelt ihn an den Rechner. Der Rechner überprüft den Freischaltcode (C2). Er nimmt die Abarbeitung des Nutzteils (7) nur dann auf, wenn der Freischaltcode (C2) eine Freischaltbedingung erfüllt.

Description

  • Die vorliegende Erfindung betrifft ein Freischaltverfahren für einen Nutzteil eines Computerprogrammprodukts, das von einem Rechner abgearbeitet wird.
  • Derartige Verfahren sind allgemein bekannt. Bei ihnen überprüft der Rechner zumindest beim Aufruf des Computerprogrammprodukts unter Abarbeitung eines Prüfteils des Computerprogrammprodukts einen Freischaltcode auf Erfüllen einer Freischaltbedingung und nimmt die Abarbeitung des Nutzteils nur dann auf, wenn die Freischaltbedingung erfüllt ist.
  • Hierbei sind verschiedene Vorgehensweisen bekannt.
  • Beispielsweise ist es bekannt, einen sogenannten Dongle auf eine Schnittstelle des Rechners aufzusetzen. Beim Aufruf des Computerprogrammprodukts steuert der Rechner dann unter Abarbeitung des Prüfteils die Schnittstelle an und liest aus dem Dongle den Freischaltcode aus. Nur wenn der Freischaltcode ordnungsgemäß ist, also die Freischaltbedingung erfüllt, wird die Abarbeitung des Nutzteils aufgenommen. Bei diesem Verfahren ist zum einen nachteilig, dass jeder Dongle eine Schnittstelle belegt. Ferner ist ein nicht unerheblicher Kostenaufwand für den Dongle als solchen erforderlich. Auch ist seine Fälschungssicherheit nur begrenzt.
  • Ferner ist bekannt, dem Programm bei der Installation auf der Festplatte des Rechners oder zu einem späteren Zeitpunkt - manuell oder ferngeladen - den Freischaltcode zuzuführen. Bei manueller Eingabe ist die Eingabe umständlich und fehlerträchtig. Bei Fernladung des Freischaltcodes ist ein Netzanschluss erforderlich.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Freischaltverfahren und die korrespondierenden Einrichtungen zur Verfügung zustellen, mittels derer auf einfache, kostengünstige und sichere Weise ein zuverlässiges Freischalten des Nutzteils - insbesondere nur für begrenzte Zeit - möglich ist.
  • Die Aufgabe wird dadurch gelöst,
    • - dass der Rechner zumindest beim Aufruf des Computerprogrammprodukts unter Abarbeitung eines Prüfteils des Computerprogrammprodukts einen mit dem Rechner verbundenen Sender zum Aussenden eines Anregungssignals veranlasst,
    • - dass ein vom Rechner getrennter Transponder das Anregungssignal empfängt und daraufhin einen Freischaltcode aussendet und
    • - dass ein mit dem Rechner verbundener Empfänger den Freischaltcode empfängt und an den Rechner übermittelt.
  • Vorzugsweise sollte mit dem Freischaltverfahren auch vermieden werden, dass das Programm auf verschiedenen Rechnern zugleich installiert wird und dann unter kurzzeitigem Zur-Verfügung-Stellen des Transponders nacheinander auf verschiedenen Rechnern gestartet wird. Um einem derartigen Missbrauch vorzubeugen, ist vorgesehen,
    • - dass der Rechner aus der Abarbeitung des Nutzteils heraus von Zeit zu Zeit die Abarbeitung des Prüfteils aufnimmt und unter Abarbeitung des Prüfteils erneut den Sender zum Aussenden des Anregungssignals veranlasst,
    • - dass der Transponder erneut das Anregungssignal empfängt und daraufhin den Freischaltcode aussendet,
    • - dass der Empfänger erneut den Freischaltcode empfängt und an den Rechner übermittelt,
    • - dass der Rechner unter weiterer Abarbeitung des Prüfteils erneut den Freischaltcode auf Erfüllen der Freischaltbedingung überprüft und die Abarbeitung des Nutzteils nur dann fortsetzt, wenn der Freischaltcode erneut die Freischaltbedingung erfüllt.
  • Wenn die Freischaltbedingung von der Absolutzeit, der Relativzeit und/oder von der Zahl der Aufrufe des Computerprogrammprodukts abhängig ist, ist auf einfache Weise eine Art Abonnement realisierbar. Beispielsweise vergleicht der Rechner den Freischaltcode mit einem Referenzcode, den er unter Heranziehung einer Absolutzeit ermittelt, die ihm von einem Uhrenbaustein des Rechners zur Verfügung gestellt wird. Auch kann der Rechner die Zahl der Aufrufe oder die Nutzungszeit (Relativzeit) des Computerprogrammprodukts intern speichern und unter Heranziehung dieser Größen den Freischaltcode auf Erfüllen der Freischaltbedingung überprüfen.
  • Die Überprüfung der Freischaltbedingung erfolgt im Rechner. Von daher sind Manipulationen durch einen bösgläubigen Anwender des Rechners nicht mit Sicherheit ausschließbar. Derartige Manipulationen können aber mit Sicherheit ausgeschlossen werden, wenn der Transponder bei Anregung durch das Anregungssignal eine Absolutzeitbedingung überprüft und den Freischaltcode nur dann aussendet, wenn die Absolutzeitbedingung erfüllt ist. Die Absolutzeit kann dem Transponder dabei wahlweise von einem transponderinternen Zeitgeber oder vom Rechner vorgegeben werden.
  • Alternativ oder zusätzlich kann der Transponder einen transponderinternen Speicher in Abhängigkeit von der Nutzung des Computerprogrammprodukts ändern, bei Anregung durch das Anregungssignal den transponderinternen Speicher auf Erfüllen einer Speicherbedingung überprüfen und den Freischaltcode nur dann aussenden, wenn die Speicherbedingung erfüllt ist.
  • Wenn die Änderung des transponderinternen Speichers irreversibel ist, sind Manipulationen völlig ausgeschlossen.
  • Wenn der Sender dem Transponder im Anregungssignal einen Anregungscode übermittelt, der Transponder den Anregungscode auf Erfüllen einer Anregungsbedingung überprüft und der Transponder den Freischaltcode nur dann aussendet, wenn die Anregungsbedingung erfüllt ist, arbeitet das Freischaltverfahren noch sicherer.
  • Wenn der Rechner dem Sender den Anregungscode übermittelt, den der Sender dem Transponder übermitteln soll, ist der Sender flexibler betreibbar. Insbesondere ist es - durch Übermittlung verschiedener Anregungscodes - möglich, mittels ein und desselben Senders durch Aussenden des Anregungssignals auf ein und derselben Frequenz verschiedene Transponder selektiv anzusprechen, die verschiedene, verschiedenen Programmen zugeordnete Anregungscodes aufweisen.
  • Wenn der Anregungscode personalisiert ist, ist der Code eindeutig nur für einen bestimmten Rechner und/oder einen bestimmten Benutzer spezifisch.
  • Wenn der Rechner bei jeder Übermittlung des Freischaltcodes
    • - den Freischaltcode auf Erfüllen mindestens einer Codebedingung überprüft,
    • - bei Erfüllen der Codebedingung einen der Codebedingung zugeordneten Zähler inkrementiert,
    • - bei Inkrementierung des Zählers diesen Zähler auf Erfüllen einer Zählerbedingung überprüft und
    • - die Abarbeitung des Nutzteils nur dann aufnimmt bzw. fortsetzt, wenn die Zählerbedingung erfüllt ist.
    ist es möglich, einen etwaigen Missbrauch durch Überlassen mehrerer Transponder einer einheitlichen Typgruppe zu unterbinden.
  • Wenn der Rechner dem Sender eine Sendefrequenz übermittelt, auf der der Sender das Anregungssignal aussenden soll, ist es mittels eines einzigen Senders möglich, mehrere verschiedene Transponder anzusprechen, die mittels verschiedener Frequenzen anregbar sind. Alternativ wäre ein breitbandiges Senden des Anregungssignals möglich.
  • Wenn der Rechner dem Empfänger eine Empfangsfrequenz übermittelt, auf der der Empfänger den Freischaltcode empfangen soll, ist es in analoger Weise möglich, Freischaltcodes von verschiedenen Transpondern zu empfangen, die auf verschiedenen Frequenzen ihren Freischaltcode aussenden. Alternativ wäre ein breitbandiger Empfang mit nachgeordneter Signalanalyse möglich.
  • Wenn auch der Freischaltcode personalisiert ist, ist auch der Transponder auf einen ganz bestimmten Rechner und/oder Nutzer zugeschnitten. Missbrauchsmöglichkeiten sind daher noch weiter eingeschränkt bwz. werden noch sicherer unterbunden.
  • Wenn der Sender und der Empfänger zu einem Sendeempfänger zusammengefasst sind, ist mittels des Senders und des Empfängers nur eine einzige Schnittstelle belegt.
  • Wenn dem Rechner ein hochfrequenztransparenter Behälter zugeordnet ist, in dem der Transponder anordenbar ist, weiß ein Anwender sofort, wo er den Tansponder vorzugsweise unterbringen sollte.
  • Wenn der Behälter abschließbar ist, ist der Transponder diebstahlgesichert.
  • Wenn der Behälter optisch transparent ist, ist für einen Benutzer auch ohne Öffnen des Behälters sofort ersichtlich, welche Transponder von dem Rechner ansprechbar sind, welche Programme also freischaltbar sind.
  • Wenn der Transponder einen Mikroprozessor aufweist, ist er besonders flexibel einsetzbar und programmierbar.
  • Weitere Vorteile und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels in Verbindung mit den Zeichnungen. Dabei zeigen in Prinzipdarstellung
  • Fig. 1 eine schematische Darstellung eines Rechners mit einem Transponder,
  • Fig. 2 eine schematische Darstellung des internen Aufbaus des Transponders von Fig. 1 und
  • Fig. 3-6 Ablaufdiagramme.
  • Gemäß Fig. 1 weist ein Rechner eine Haupteinheit 1 auf. Die Haupteinheit 1 weist intern eine Prozessoreinheit 2, einen Arbeitsspeicher 3 und einen Massenspeicher 4 auf. Der Massenspeicher 4 ist in aller Regel als sogenannte Festplatte ausgebildet. Im Massenspeicher 4 ist unter anderem ein Computerprogrammprodukt 5 hinterlegt, das einen Prüfteil 6 und einen Nutzteil 7 aufweist. Der Rechner ist also mit dem Computerprogrammprodukt 5 programmiert.
  • An die Haupteinheit 1 sind mindestens eine Eingabeeinrichtung 8 (z. B. eine Tastatur oder eine Maus) und mindestens eine Ausgabeeinrichtung 9 (z. B. ein Monitor) angeschlossen. Über die Eingabeeinrichtung 8 und die Ausgabeeinrichtung 9 ist eine interaktive Bedienung des Rechners 1 durch einen Anwender 10 möglich. Insbesondere ist es möglich, dass der Anwender 10 durch entsprechende Eingaben das Computerprogrammprodukt 5 aufruft. Mit einem Aufruf des Computerprogrammprodukts 5 wird dieses vom Massenspeicher 4 in den Arbeitsspeicher 3 geladen und vom Rechner abgearbeitet.
  • Dem Rechner ist ferner ein Behälter 11 zugeordnet, der z. B. an der Haupteinheit 1 befestigt sein kann. Im Behälter 11 ist ein Transponder 12 angeordnet. Der Transponder 12 ist somit vom Rechner getrennt.
  • Der Rechner kann über einen Sendeempfänger 13 bidirektional mit dem Transponder 12 kommunizieren. Der Sendeempfänger 13 ist hierzu über eine Schnittstelle 14 mit der Prozessoreinheit 2 bzw. allgemein dem Rechner verbunden. Die Schnittstelle 14 kann z. B. eine USB-Schnittstelle sein.
  • Damit eine Kommunikation des Sendeempfängers 13 mit dem Transponder 12 erfolgen kann, ist der Behälter 11 hochfrequenztransparent. Er ist ferner, wie in Fig. 1 durch ein Auge 15 symbolisch dargestellt ist, optisch transparent. Ferner ist der Behälter 11, wie in Fig. 1 durch ein Vorhängeschloss 16 symbolisch dargestellt ist, abschließbar.
  • Gemäß Fig. 2 weist der Transponder 12 als zentrales Element einen Mikroprozessor 17 auf. Die Arbeitsweise des Mikroprozessors 17 wird von einem Festwertspeicher 18 (ROM 18) bestimmt. Der Mikroprozessor 17 ist ferner mit einem Demodulator 19, einem Modulator 20 und einem transponderinternen Speicher 21 verbunden. Der transponderinterne Speicher 21 ist vom Mikroprozessor 17 sowohl lesbar als auch schreibbar. Schreibvorgänge, also Änderungen des transponderinternen Speichers 21, sind aber irreversibel. Der transponderinterne Speicher 21 ist also als eine Art PROM ausgebildet.
  • Dem Demodulator 19 ist eine Empfangsspule 22 vorgeschaltet, dem Modulator 20 eine Sendespule 23 nachgeschaltet. Die beiden Spulen 22, 23 können gegebenenfalls in einem gemeinsamen Element zusammengefasst sein.
  • Die Empfangsspule 22 ist ferner mit einer Energieversorgungseinrichtung 24 verbunden. Mittels der Energieversorgungseinrichtung 24 werden - bei Empfang eines Anregungssignals mittels der Empfangsspule 22 - die übrigen Komponenten 17 bis 21 und 23 mit Energie versorgt. Die einzelnen Energieversorgungsleitungen zu diesen Komponenten 17 bis 21, 23 sind in Fig. 2 der Übersichtlichkeit halber aber nicht dargestellt. Die Betriebsweise des Rechners des Transponders 12 wird nunmehr nachstehend in Verbindung mit den Fig. 3 bis 6 näher erläutert.
  • Gemäß Fig. 3 wird beim Aufruf des Computerprogrammprodukts 5 durch den Anwender 10 zunächst in einem Schritt 31 der Prüfteil 6 ausgeführt. Auf die Einzelheiten des Prüfteils 6 wird später in Verbindung mit Fig. 4 noch eingegangen werden. Im Ergebnis wird im Schritt 31 überprüft, ob ein Freischaltcode C2 eine Freischaltbedingung erfüllt. Nur wenn der Freischaltcode C2 die Freischaltbedingung erfüllt, werden weitere Schritte 32 bis 34 durchlaufen, ansonsten wird die Abarbeitung des Computerprogrammprodukts 5 beendet.
  • Im Schritt 32 wird der Nutzteil 7 abgearbeitet. Die Abarbeitung des Nutzteils 7 wird aber immer wieder kurzzeitig unterbrochen, um in einem Schritt 33 zu überprüfen, ob eine Wartezeit von z. B. einer Minute abgelaufen ist. Wenn ja, wird im Schritt 33 zum Schritt 31 zurückgesprungen. Der Rechner nimmt also auch aus der Abarbeitung des Nutzteils 7 heraus von Zeit zu Zeit die Abarbeitung des Prüfteils 6 wieder auf. Auch dann wird im Schritt 31 selbstverständlich wieder der Freischaltcode C2 auf Erfüllen der Freischaltbedingung überprüft und die Abarbeitung des Nutzteils 7 nur dann fortgesetzt, wenn der Freischaltcode erneut die Freischaltbedingung erfüllt.
  • Wenn im Schritt 33 der Zeitablauf nicht erfolgt ist, wird zum Schritt 34 verzweigt und überprüft, ob vom Anwender 10 ein Beendigungsbefehl eingegeben wurde. Wenn ja, wird die Abarbeitung des Computerprogrammprodukts 5 beendet, ansonsten wird zum Schritt 32 zurückgesprungen.
  • Die Details der Abarbeitung des Prüfteils 6 sind in Fig. 4 dargestellt. Gemäß Fig. 4 übermittelt der Rechner dem Sendeempfänger 13 in einem Schritt 35 eine Sendefrequenz f1, eine Empfangsfrequenz f2 und einen Anregungscode C1. Die Sendefrequenz f1 ist die Frequenz, auf der der Sendeempfänger 13 ein Anregungssignal an den Transponder 12 aussenden soll. Die Empfangsfrequenz f2 ist die Frequenz, auf der der Sendeempfänger 13 vom Transponder 12 den Freischaltcode C2 empfangen soll. Der Anregungscode C1 ist ein Code, den der Sendeempfänger 13 im Anregungssignal an den Transponder 12 übermitteln soll.
  • Der Anregungscode C1 kann prinzipiell beliebiger Natur sein. Vorzugsweise aber enthält er codierte Angaben zum einen bezüglich einer Absolutzeit T, die dem Rechner aufgrund eines internen Uhrenbausteins bekannt ist. Darüber hinaus enthält er codierte Angaben über den Rechner oder den Rechnertyp und/oder anwenderspezifische Angaben. Er ist also vorzugsweise personalisiert. Ferner kann der Anregungscode C1 auch eine Angabe darüber enthalten, ob die Abarbeitung des Prüfteils 6 beim Aufruf des Computerprogrammprodukts 5 oder aus der Abarbeitung des Nutzteils 7 heraus erfolgte.
  • Der Sendeempfänger 13 nimmt in einem Schritt 36 die Frequenzen f1, f2 und den Anregungscode C1 entgegen. Sodann sendet er das Anregungssignal und im Anregungssignal den Anregungscode C1 in einem Schritt 37 aus. Er wird also vom Rechner zum Aussenden des Anregungssignals veranlasst.
  • Der Transponder 12 empfängt in einem Schritt 38 das Anregungssignal und demoduliert den Anregungscode C1 aus dem Anregungssignal. Der Mikroprozessor 17 prüft dann in einem Schritt 39, ob der übermittelte Anregungscode C1 eine Anregungsbedingung erfüllt. Er überprüft also beispielsweise, ob die übermittelte Absolutzeit T größer als die letzte übermittelte Absolutzeit T ist (Plausibilitäts-/Manipulationsprüfung). Ferner überprüft er beispielsweise, ob die entsprechenden individuellen Codemerkmale, aufgrund derer der Anregungscode C1 personalisiert ist, erfüllt sind.
  • Nur wenn der Anregungscode C1 für ordnungsgemäß befunden wird, einen Anregungsbedingung also erfüllt ist, fährt der Mikroprozessor 17 mit weiteren Schritten fort. Ansonsten stellt er die weitere Abarbeitung seines im ROM 18 hinterlegten Programms ein. Insbesondere sendet er in diesem Fall den Freischaltcode C2 nicht aus.
  • Falls der Anregungscode C1 die Anregungsbedingung erfüllt, ändert der Mikroprozessor 17 in einem Schritt 40 den transponderinternen Speicher 21. Die Änderung kann dabei beispielsweise bei jedem Empfangen eines ordnungsgemäßen Anregungscodes C1 oder nur beim Aufruf des Computerprogrammprodukts 5 erfolgen. In beiden Fällen aber ist die Änderung des Speichers 21 somit von der Nutzung des Computerprogrammprodukts 5 abhängig.
  • Sodann überprüft der Mikroprozessor 17 in einem Schritt 41, ob der Speicher 21 noch weiter änderbar ist. Er überprüft also, ob alle Speicherzellen des Speichers 21 bereits geändert worden sind. Wenn bereits alle Speicherzellen des Speichers 21 geändert worden sind, ist die zulässige Nutzung des Computerprogrammprodukts 5 durch den Transponder 12 beendet. In diesem Fall wird vom Transponder 12 der Freischaltcode C2 nicht ausgesendet. Wenn hingegen noch Speicherzellen des Speichers 21 änderbar sind, fährt der Mikroprozessor 17 mit einem Schritt 42 fort.
  • Im Schritt 42 überprüft der Mikroprozessor 17, ob die Absolutzeit T noch unterhalb einer Zeitgrenze Tmax liegt. Er überprüft also, ob eine Absolutzeitbedingung erfüllt ist. Wenn ja, ist die Gültigkeitsdauer des Transponders 12 noch nicht abgelaufen. In diesem Fall wird in einem Schritt 43 auf der Empfangsfrequenz f2 der Freischaltcode C2 ausgesendet.
  • Der gesendete Freischaltcode C2 wird vom Sendeempfänger 13 in einem Schritt 44 empfangen, demoduliert und an den Rechner übermittelt. Der Rechner nimmt den Freischaltcode C2 in einem Schritt 45 entgegen. In einem Schritt 46 überprüft der Rechner dann den übermittelten Freischaltcode C2 auf Erfüllen der Freischaltbedingung. Dieser letzte Schritt 46 entspricht der Ermittlung des Ergebnisses, anhand dessen dann im Schritt 31 von Fig. 3 entschieden wird, ob die Schritte 32 bis 24 durchlaufen werden oder nicht.
  • Gemäß Fig. 5 kann dieser letzte Schritt 46 in mehrere Schritte 47 bis 50 unterteilt werden. Gemäß Fig. 5 ist es beispielsweise möglich, dass der übermittelte Freischaltcode C2 in codierter Form die Zeitgrenze Tmax enthält. In diesem Fall kann, wie in Fig. 5 im Schritt 47 dargestellt, überprüft werden, ob die Absolutzeit T noch kleiner als die Zeitgrenze Tmax ist.
  • Auch kann der Freischaltcode C2 beispielsweise die Zahl der noch löschbaren Speicherzellen des Speichers 21 enthalten. In diesem Fall kann im Schritt 48 überprüft werden, ob noch eine weitere Nutzung des Computerprogrammprodukts 5 zulässig ist. Es kann also insbesondere überprüft werden, ob die übermittelte Anzahl größer oder gleich 0 ist. Je nach dem, ob die Änderung des Speichers 21 im Schritt 40 in Abhängigkeit von der Anzahl an Aufrufen des Computerprogrammprodukts 5 oder in Abhängigkeit der Nutzungszeit erfolgte, stellt die Prüfung gemäß Schritt 48 also eine Prüfung der Relativzeit oder der Zahl der Aufrufe des Computerprogrammprodukts 5 dar.
  • Auch kann im Schritt 49 beispielsweise ein Code überprüft werden, der für den Anwender 10 und/oder den Rechner spezifisch ist, falls der Freischaltcode C2 entsprechende Elemente enthält. Schließlich können im Schritt 50 noch weitere Prüfungen erfolgen.
  • Nur wenn der Freischaltcode C2 in allen Schritten 47 bis 50 der Fig. 5 die jeweilige Prüfbedingung erfüllt hat, wird die Abarbeitung des Nutzteils 7 aufgenommen bzw. fortgesetzt. Ansonsten ist der Freischaltcode C2 nicht ordnungsgemäß, so dass die Abarbeitung des Nutzteils 7 nicht aufgenommen bzw. nicht fortgesetzt wird.
  • Gemäß Fig. 6 ist es mittels des erfindungsgemäßen Verfahrens sogar auf einfache Weise möglich, die Nutzung des Computerprogrammprodukts 5 zu unterbinden, obwohl der übermittelte Freischaltcode C2 die Freischaltbedingung erfüllt, wenn gewisse andere Indizien für einen Missbrauch vorliegen. Die Zahl der möglichen Freischaltcodes C2 ist nämlich derart groß, dass bestimmte Codegruppen oder Codetypen gebildet werden können. Beispielsweise kann aufgrund des Freischaltcodes C2 erkennbar sein, dass der korrespondierende Transponder 12 ein Transponder 12 ist, zur probeweisen Nutzung des Computerprogrammprodukts 5 kostenlos abgegeben wurde. Ein anderer Codetyp kann beispielsweise charakteristisch dafür sein, dass der Transponder 12 ursprünglich einer Serviceperson für Servicezwecke ausgehändigt wurde.
  • Gemäß Fig. 6 wird vom Rechner nach dem Abarbeiten des Schrittes 50 in einem Schritt 51 zunächst der Codetyp aus dem Freischaltcode C2 extrahiert. In einem Schritt 52 wird dann überprüft, ob der Transponder 12 einer Gratislizenz zur probeweisen Nutzung des Computerprogrammprodukts 5 entspricht, also eine erste Codebedingung erfüllt. Wenn ja, wird in einem Schritt 53 ein korrespondierender Zähler 21 inkrementiert. In einem Schritt 54 wird dann überprüft, ob der Wert des Zählers 21 eine Zählergrenze ZG1 überschreitet, also gegen eine Zählerbedingung verstößt. Wenn ja, ist dies ein Indiz dafür, dass der Anwender 10 missbräuchlich Gratislizenztransponder 12 gehortet hat und so versucht, den Erwerb einer kostenpflichtigen Lizenz zu umgehen. Wenn die Zählergrenze ZG1 durch den Zähler 21 überschritten wird, wird daher trotz Erfüllen der Freischaltbedingung die Abarbeitung des Nutzteils 7 nicht aufgenommen bzw. nicht fortgesetzt.
  • Falls der ermittelte Codetyp keiner Gratislizenz entspricht, wird in analoger Weise in einem Schritt 55 überprüft, ob der ermittelte Codetyp einer Servicelizenz entspricht, die üblicherweise nur kurzzeitig am Rechner 1 ansteht. Wenn dies der Fall ist, wird in einem Schritt 56 ein weiterer Zähler 22 inkrementiert. Auch hier wird der Wert des Zählers 22 in einem Schritt 57 wieder mit einer weiteren Zählergrenze ZG2 verglichen. Wenn in diesem Fall ein Überschreiten der Zählergrenze ZG2 festgestellt wird, muss vermutet werden, dass eine Serviceperson wiederholt beim gleichen Rechner 12 seine Servicelizenz sozusagen "absichtlich verloren" hat. Auch in diesem Fall wird daher - trotz Erfüllung der Freischaltbedingung - die Abarbeitung des Nutzteils 7 nicht aufgenommen bzw. nicht fortgesetzt.

Claims (23)

1. Freischaltverfahren für einen Nutzteil (7) eines Computerprogrammprodukts (5), das von einem Rechner abgearbeitet wird,
wobei der Rechner zumindest beim Aufruf des Computerprogrammprodukts (5) unter Abarbeitung eines Prüfteils (6) des Computerprogrammprodukts (5) einen mit dem Rechner verbundenen Sender (13) zum Aussenden eines Anregungssignals veranlasst,
wobei ein vom Rechner getrennter Transponder (12) das Anregungssignal empfängt und daraufhin einen Freischaltcode (C2) aussendet,
wobei ein mit dem Rechner verbundener Empfänger (13) den Freischaltcode (C2) empfängt und an den Rechner übermittelt,
wobei der Rechner unter weiterer Abarbeitung des Prüfteils (6) den Freischaltcode (C2) auf Erfüllen einer Freischaltbedingung überprüft und die Abarbeitung des Nutzteils (7) nur dann aufnimmt, wenn die Freischaltbedingung erfüllt ist.
2. Freischaltverfahren nach Anspruch 1, dadurch gekennzeichnet,
dass der Rechner aus der Abarbeitung des Nutzteils (7) heraus von Zeit zu Zeit die Abarbeitung des Prüfteils (6) aufnimmt und unter Abarbeitung des Prüfteils (6) erneut den Sender (13) zum Aussenden des Anregungssignals veranlasst,
dass der Transponder (12) erneut das Anregungssignal empfängt und daraufhin den Freischaltcode (C2) aussendet,
dass der Empfänger (13) erneut den Freischaltcode (C2) empfängt und an den Rechner übermittelt,
dass der Rechner unter weiterer Abarbeitung des Prüfteils (6) erneut den Freischaltcode (C2) auf Erfüllen der Freischaltbedingung überprüft und die Abarbeitung des Nutzteils (7) nur dann fortsetzt, wenn der Freischaltcode (C2) erneut die Freischaltbedingung erfüllt.
3. Freischaltverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Freischaltbedingung von der Absolutzeit (T), der Relativzeit und/oder von der Zahl der Aufrufe des Computerprogrammprodukts (5) abhängig ist.
4. Freischaltverfahren nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, dass der Transponder (12) bei Anregung durch das Anregungssignal eine Absolutzeitbedingung überprüft und den Freischaltcode (C2) nur dann aussendet, wenn die Absolutzeitbedingung erfüllt ist.
5. Freischaltverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Transponder (12) einen transponderinternen Speicher (21) in Abhängigkeit von der Nutzung des Computerprogrammprodukts (5) ändert, bei Anregung durch das Anregungssignal den transponderinternen Speicher (21) auf Erfüllen einer Speicherbedingung überprüft und den Freischaltcode (C2) nur dann aussendet, wenn die Speicherbedingung erfüllt ist.
6. Freischaltverfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Änderung des transponderinternen Speichers (21) irreversibel ist.
7. Freischaltverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Sender (13) dem Transponder (12) im Anregungssignal einen Anregungscode (C1) übermittelt, dass der Transponder (12) den Anregungscode (C1) auf Erfüllen einer Anregungsbedingung überprüft und dass der Transponder (12) den Freischaltcode (C2) nur dann aussendet, wenn die Anregungsbedingung erfüllt ist.
8. Freischaltverfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Rechner dem Sender (13) den Anregungscode (C1) übermittelt, den der Sender (13) dem Transponder (12) übermitteln soll.
9. Freischaltverfahren nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass der Anregungscode (C1) personalisiert ist.
10. Freischaltverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Rechner bei jeder Übermittlung des Freischaltcodes (C2)
den Freischaltcode (C2) auf Erfüllen mindestens einer Codebedingung überprüft,
bei Erfüllen der Codebedingung einen der Codebedingung zugeordneten Zähler (21, 22) inkrementiert,
bei Inkrementierung des Zählers (21, 22) diesen Zähler (21, 22) auf Erfüllen einer Zählerbedingung überprüft und
die Abarbeitung des Nutzteils (7) nur dann aufnimmt bzw. fortsetzt, wenn die Zählerbedingung erfüllt ist.
11. Freischaltverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Rechner dem Sender (13) eine Sendefrequenz (f1) übermittelt, auf der der Sender (13) das Anregungssignal aussenden soll.
12. Freischaltverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Rechner dem Empfänger (13) eine Empfangsfrequenz (f2) übermittelt, auf der der Empfänger (13) den Freischaltcode (C2) empfangen soll.
13. Freischaltverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Freischaltcode (C2) personalisiert ist.
14. Computerprogrammprodukt zur Durchführung eines Freischaltverfahrens nach einem der obigen Ansprüche.
15. Mit einem Computerprogrammprodukt (5) nach Anspruch 14 programmierter Rechner, wobei mit dem Rechner ein Sender (13) zum Aussenden des Anregungssignals und ein Empfänger (13) zum Empfangen des Freischaltcodes (C2) verbunden sind.
16. Rechner nach Anspruch 15, dadurch gekennzeichnet, dass der Sender (13) und der Empfänger (13) zu einem Sendeempfänger (13) zusammengefasst sind.
17. Rechner nach Anspruch 15 oder 16, dadurch gekennzeichnet, dass dem Rechner eine hochfrequenztransparenter Behälter (11) zugeordnet ist, in dem der Transponder (12) anordenbar ist.
18. Rechner nach Anspruch 17, dadurch gekennzeichnet, dass der Behälter (11) abschließbar ist.
19. Rechner nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass der Behälter (11) optisch transparent ist.
20. Transponder zur Durchführung eines Freischaltverfahrens nach einem der Ansprüche 1 bis 13.
21. Transponder nach Anspruch 20, dadurch gekennzeichnet, dass er einen Mikroprozessor (17) aufweist.
22. Kombination eines Computerprogrammprodukts (5) nach Anspruch 14 mit einem Transponder (12) nach Anspruch 20 oder 21.
23. Kombination eines Rechners nach einem der Ansprüche 15 bis 19 mit einem Transponder (12) nach Anspruch 20 oder 21.
DE10155092A 2001-11-09 2001-11-09 Freischaltverfahren für einen Nutzteil eines Computerprogramms und zugehörige Einrichtungen Expired - Lifetime DE10155092B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10155092A DE10155092B4 (de) 2001-11-09 2001-11-09 Freischaltverfahren für einen Nutzteil eines Computerprogramms und zugehörige Einrichtungen
JP2002323435A JP2003195970A (ja) 2001-11-09 2002-11-07 コンピュータプログラム製品の利用部分に対する分離方法および装置
US10/291,016 US7555654B2 (en) 2001-11-09 2002-11-08 Apparatus, transponder, computer program product and method for enabling an active part of a computer program
CNB021502935A CN100426176C (zh) 2001-11-09 2002-11-11 计算机程序产品应用部分的释放方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10155092A DE10155092B4 (de) 2001-11-09 2001-11-09 Freischaltverfahren für einen Nutzteil eines Computerprogramms und zugehörige Einrichtungen

Publications (2)

Publication Number Publication Date
DE10155092A1 true DE10155092A1 (de) 2003-05-28
DE10155092B4 DE10155092B4 (de) 2006-10-05

Family

ID=7705195

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10155092A Expired - Lifetime DE10155092B4 (de) 2001-11-09 2001-11-09 Freischaltverfahren für einen Nutzteil eines Computerprogramms und zugehörige Einrichtungen

Country Status (4)

Country Link
US (1) US7555654B2 (de)
JP (1) JP2003195970A (de)
CN (1) CN100426176C (de)
DE (1) DE10155092B4 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004014712A1 (de) * 2004-03-25 2005-10-20 Siemens Ag Verfahren zur Freigabe und/oder Sperrung eines Betriebsmodus eines medizinischen Diagnosegeräts
DE102006018039A1 (de) * 2006-04-11 2007-10-18 Michael Letterer Verfahren zum Ausführen eines Programmcodes
WO2008055848A3 (de) * 2006-11-07 2008-07-17 Printed Systems Gmbh System sowie kodekarte zum herunterladen von digitalen datenprodukten
DE102007030180A1 (de) * 2007-06-27 2009-01-02 Filo-Tec Gmbh Computersystem
US7683034B2 (en) 2002-03-15 2010-03-23 Imtm Gmbh Use of enzyme inhibitors of aminopeptidase N and/or dipeptidylpeptidase IV

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009042049A1 (de) 2009-09-17 2011-03-24 Siemens Aktiengesellschaft Instrumentensystem und Verfahren zum Einbringen eines medizinischen Instruments in einen Patienten
US20110144431A1 (en) * 2009-12-15 2011-06-16 Rainer Graumann System and method for controlling use of capsule endoscopes
US9619618B2 (en) 2015-03-18 2017-04-11 Covidien Lp Systems and methods for credit-based usage of surgical instruments and components thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999011022A1 (en) * 1997-08-27 1999-03-04 Xydis Thomas G Computer access control

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9301419L (sv) * 1993-04-27 1994-10-24 Saab Scania Combitech Ab System för trådlös och krypterad överföring av information
JP3243331B2 (ja) * 1993-05-14 2002-01-07 富士通株式会社 ソフトウェア管理用階層媒体の作成方法,ソフトウェア管理用階層媒体の作成装置およびソフトウェア管理用階層媒体
JPH0746233A (ja) 1993-08-03 1995-02-14 Nippondenso Co Ltd 不正使用防止機能を備えた発信装置
FR2720532B1 (fr) * 1994-05-25 1997-09-12 Vincent Lorphelin Système de location sécurisée de logiciels par carte à mémoire.
US5761609A (en) * 1995-03-09 1998-06-02 United Microelectronics Corporation Limited use circuit
US5736935A (en) * 1995-03-14 1998-04-07 Trw Inc. Keyless vehicle entry and engine starting system
JP3324735B2 (ja) * 1997-07-15 2002-09-17 コナミ株式会社 ゲームシステム及びゲーム用プログラムが記録されたコンピュータ読取可能な記録媒体
US6154136A (en) * 1998-02-26 2000-11-28 Van Eeden; Hendrik Lodewyk Free running RF identification system with increasing average inter transmission intervals
US7009516B2 (en) * 1998-03-12 2006-03-07 D.I.P.O. Sa Electronic sensor system for monitoring activity of objects
JP2000047866A (ja) 1998-07-27 2000-02-18 Nec Corp プログラム実行プロテクト方法およびicカード、並びに記録媒体
US6449651B1 (en) * 1998-11-19 2002-09-10 Toshiba America Information Systems, Inc. System and method for providing temporary remote access to a computer
CN1115629C (zh) * 1999-10-29 2003-07-23 深圳市中兴通讯股份有限公司 对软件中的各种资源进行检测的方法
WO2002035464A2 (fr) * 2000-10-23 2002-05-02 Omega Electronics S.A. Systeme d'identification electronique sans contact
US7134138B2 (en) * 2001-02-15 2006-11-07 Emc Corporation Methods and apparatus for providing security for a data storage system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999011022A1 (en) * 1997-08-27 1999-03-04 Xydis Thomas G Computer access control

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7683034B2 (en) 2002-03-15 2010-03-23 Imtm Gmbh Use of enzyme inhibitors of aminopeptidase N and/or dipeptidylpeptidase IV
DE102004014712A1 (de) * 2004-03-25 2005-10-20 Siemens Ag Verfahren zur Freigabe und/oder Sperrung eines Betriebsmodus eines medizinischen Diagnosegeräts
DE102004014712B4 (de) * 2004-03-25 2007-05-24 Siemens Ag Verfahren zur Freigabe oder Sperrung eines Betriebsmodus eines medizinischen Diagnosegeräts
DE102006018039A1 (de) * 2006-04-11 2007-10-18 Michael Letterer Verfahren zum Ausführen eines Programmcodes
DE102006018039B4 (de) * 2006-04-11 2010-11-25 Michael Letterer Verfahren zum Ausführen eines Programmcodes
WO2008055848A3 (de) * 2006-11-07 2008-07-17 Printed Systems Gmbh System sowie kodekarte zum herunterladen von digitalen datenprodukten
DE102007030180A1 (de) * 2007-06-27 2009-01-02 Filo-Tec Gmbh Computersystem

Also Published As

Publication number Publication date
JP2003195970A (ja) 2003-07-11
US20030110260A1 (en) 2003-06-12
DE10155092B4 (de) 2006-10-05
CN100426176C (zh) 2008-10-15
CN1417658A (zh) 2003-05-14
US7555654B2 (en) 2009-06-30

Similar Documents

Publication Publication Date Title
DE102014011802B4 (de) Sichere Aktivierung einer teilautonomen Funktion eines Kraftfahrzeugs über ein tragbares Kommunikationsgerät
EP2122588B1 (de) Chipkarte mit einer erstnutzerfunktion, verfahren zur wahl einer kennung und computersystem
EP3023896B1 (de) Verfahren zum Übertragen von medizinischen Datensätzen
DE10155092A1 (de) Freischaltverfahren für einen Nutzteil eines Computerprogrammprodukts und zugehörige Einrichtungen
EP1220075B1 (de) System und Verfahren zum Erteilen der Laufberechtigung für ein auf einem Rechner installiertes Programm
DE19850454A1 (de) Verfahren zum Betreiben eines Kraftfahrzeug-Steuersystems, und entsprechend ausgestattetes Kraftfahrzeug-Steuersystem
WO2002018887A1 (de) Waage und verfahren zum betreiben einer waage
DE102008047433A1 (de) Verfahren zum Freischalten von Funktionen eines Tachographen
WO2019105609A1 (de) VERFAHREN ZUM BETREIBEN EINER SCHLIEßEINRICHTUNG EINES KRAFTFAHRZEUGS, AUTORISIERUNGSEINRICHTUNG, ZUTRITTSKONTROLLEINRICHTUNG, STEUEREINRICHTUNG, UND MOBILES ENDGERÄT
DE19729933B4 (de) Verfahren zur Konfigurierung, insbesondere Freischaltung eines Endgerätes, Endgerät, Dienstleistungszentrale und Datenerfassungsgerät
DE102018111290A1 (de) Schließsystem
DE4027150C1 (de)
EP3443764B1 (de) Verfahren und vorrichtung zum indirekten übertragen von informationen von einer ersten mobilen sendekomponente über eine zweite mobile sendekomponente hin zu einer stationären servervorrichtung
EP2038805B1 (de) Verfahren zum delegieren von privilegien an eine niedriger-privilegierte instanz durch eine höher-privilegierte instanz
EP2003619A2 (de) Verfahren und Anordnung zur Sicherung von nutzerdefinierbaren Daten einer Frankiermaschine
EP1349405A1 (de) Verfahren zum Laden eines Softwareprogramms auf ein mobiles Kommunikationsendgerät
DE102015210294A1 (de) Clientvorrichtung und Servervorrichtung zum abgesicherten Freischalten von Funktionen eines Clients
WO2014124765A1 (de) Vorrichtung und verfahren zum sicherern verwalten von zugangscodes
EP3039611B1 (de) Verfahren und vorrichtung zur übertragung einer information
EP3306514B1 (de) Verfahren und vorrichtung zum zertifizieren einer sicherheitskritischen funktionskette
DE102014103889A1 (de) Verfahren für die Kopplung eines Fahrzeugschlüssels mit einer Kontrolleinheit für Zugangsberechtigungen eines Fahrzeugs
DE102023001311B3 (de) Verfahren zum Aufbau einer Kommunikationsverbindung zwischen einem Neufahrzeugschlüssel und einem Fahrzeug sowie System zur Ausführung des Verfahrens
DE102009058754A1 (de) Verfahren zur Reprogrammierung eines oder mehrerer Steuergeräte eines Fahrzeugs und Steuergerät
DE102020118162B3 (de) Kraftfahrzeug
DE102017221300A1 (de) Verfahren und System zum Bereitstellen einer datentechnischen Funktion mittels eines Datenverarbeitungssystems eines spurgebundenen Fahrzeugs

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R084 Declaration of willingness to licence
R085 Willingness to licence withdrawn
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021000000

Effective date: 20141104

R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

R071 Expiry of right