Verfahren zur Verwaltung einer zeitlich begrenzten Lizenz an einer auf einer Netzwerkkomponente ausführbaren Rechnerapplikation
Die vorliegende Erfindung betrifft ein Verfahren zur Verwaltung einer zeitlich begrenzten Lizenz an einer auf einer Netzwerkkomponente ausführbaren Rechnerapplikation.
Moderne Datenverarbeitungsnetzwerke, wie z.B. Telekommunikationsnetzwerke, verfügen über in der Regel sehr komplex miteinander verknüpfte Netzwerkkomponenten. Diese Netzwerkkomponenten haben die unterschiedlichsten Aufgaben und müssen daher sehr universell konfigurierbar sein, um beispielsweise in der Telekommunikation mit verschiedenen zeitschlitzorientierten und paketorientierten Übertragungsverfahren verwendet werden zu können. Zusätzlich ist auch notwendig, bestimmte Netzwerkkomponenten auch an die unterschiedlichen Nutzungsverträge, die ein Teilnehmer mit einem Netzwerkbetreiber abschliessen kann, anzupassen.
Neben der teilweise proprietären Hardware in diesen
Netzwerken stellen aber auch vorrangig Software-Applikationen sicher, dass mit bestimmten Netzwerkkomponenten auch bestimmte administrativ aktivierbare Funktionalitäten bereitgestellt und genutzt werden können.
Sehr häufig unterliegt die Bereitstellung dieser Funktionalitäten einer zunächst generellen
Nutzungsbeschränkung, die durch den Erwerb einer in der Regel zeitlich befristeten Nutzungslizenz an einer gewünschten Rechnerapplikation aufgehoben werden kann. Gerade in der oftmals zeitlichen Begrenzung der Nutzungslizenz liegt eine besondere Problematik in der Verwaltung der Nutzungslizenzdauer begründet. Häufig besteht für den Lieferanten der Rechnerapplikation keine Möglichkeit mehr in den laufenden Betrieb des Netzwerks einzugreifen, so dass eine missbräuliche Weiterverwendung der Rechnerapplikation nach dem Ablauf der Nutzungslizenz nicht ausgeschlossen
werden kann. Auch Versuche durch die Festlegung eines Lizenzenddatums eine Deinstallation der Applikation mit Erreichen des Lizenzenddatums einzuleiten und damit die weitere Nutzung auszuschliessen können durch eine vergleichsweise einfache Manipulation der relevanten Zeitbasis, mit der das Lizenzenddatum verglichen wird, umgangen werden.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Verwaltung einer zeitlich begrenzten Lizenz an einer auf einer Netzwerkkomponente ausführbaren Rechnerapplikation anzugeben, bei dem sichergestellt ist, dass eine Rechnerapplikation nach dem Ablauf der Lizenzdauer sicher nicht mehr für die weitere unauthorisierte Verwendung zur Verfügung steht.
Diese Aufgabe wird erfindungsgemäss durch ein Verfahren zur Verwaltung einer zeitlich begrenzten Lizenz an einer auf einer Netzwerkkomponente ausführbaren Rechnerapplikation gelöst, bei dem: a) ein Lizenzdatensatz erstellt wird, welcher mindestens die Information über die zu lizensierende Rechnerapplikation, eine Lizenzperiode und einen SignierungsZeitpunkt umfasst; b) der Lizenzdatensatz von einem Lizenz-Server gelesen wird und anhand der Information über den Signierungszeitpunkt ein
Referenzdatum für diese Rechnerapplikation bestimmt wird; c) das Referenzdatum mit einer für die Netzwerkkompenente definierten Systemzeit zur Bestimmung einer für den Lizenz- Server verbindlichen aktuellen Zeitbasis verglichen wird; d) anhand des Vergleichs bestimmt wird, ob die
Rechnerapplikation aufgrund der aktuellen Zeitbasis und/oder aufgrund der gewährten Lizenzperiode ausgeführt wird, wobei e) das Referenzdatum auf dem Lizenz-Server laufend aktualisiert und gespeichert wird.
Auf diese Weise gestattet es das erfindungsgemässe Verfahren mit dem Lizenz-Server, der auf der Netzwerkkomponente selbst
ausgeführt werden kann, anhand der Bestimmung des Referenzdatums und anhand dessen laufender Aktualisierung eine von der Systemzeit unabhängige Zeitbasis zu schaffen, gegen die die zugesicherte Lizenzperiode evaluiert werden kann.
In zweckmässiger Ausgestaltung der Erfindung kann der Lizenzdatensatz weiter eine digitale Signatur umfassen, mit der sichergestellt werden kann, dass nur der Inhaber des Signaturschlüssels auch in der Lage ist, die Daten des
Lizenzdatensatzes auf ihre Integrität zu prüfen und so die Ausführung der lizensierten Rechnerapplikation zu veranlassen. Dabei kann weiter vorgesehen sein, dass der Lizenzdatensatz vom Lizenz-Server zyklisch oder aufgrund eines Ereignistriggers gelesen wird. Die zyklische Auswertung des Lizenzdatensatzes kann daher den Vorteil haben, dass beispielsweise eine Aktualisierung oder eine Verlängerung der Lizenzdauer ohne zusätzliche Massnahmen automatisch von dem Lizenz-Server wahrgenommen werden kann. Dabei kann in Weiterbildung der Erfindung der SignierungsZeitpunkt erst nach erfolgreicher Signaturprüfung zur Bestimmung des Referenzdatums verwendet werden.
Eine besondere Bedeutung für den Ablauf des erfindungsgemässen Verfahrens kommt natürlich der Bestimmung und der Aktualisierung des Referenzdatums zu, weil dieses Referenzdatum die zentrale Information zur Bestimmung der aktuellen Zeitbasis ist, gegen die die übrigen Zeitdaten evaluiert werden. In einer bevorzugten Ausführungsform der Erfindung kann daher der Lizenz-Server auf die Systemzeit als aktuelle Zeitbasis zurückgreifen, wenn der Vergleich der Systemzeit mit dem zuvor bestimmten Referenzdatum zu dem Ergebnis gelangt, dass die Systemzeit jünger oder gleich dem Referenzdatum ist. Auf diese Weise ist sichergestellt, dass sich die Zeitbasis des Lizenz-Servers unter Berücksichtigung der voranstehenden Bedingung auf der sozusagen jüngsten Zeitbasis befindet. Dementsprechend kann in einer weiteren
vorteilhaften Ausgestaltung der Erfindung die Vorgehensweise umgekehrt werden, d.h. das Referenzdatum wird für die Bestimmung, ob die Lizenzperiode noch nicht abgelaufen ist, ohne Anpassung an die Systemzeit als aktuelle Zeitbasis des Lizenz-Servers verwendet, wenn der Vergleich der Systemzeit mit dem zuvor bestimmten Referenzdatum zu dem Ergebnis gelangt, dass die Systemzeit älter als das zuvor bestimmte- Referenzdatum ist. Auf diese Weise wird sicher ausgeschlossen, dass eine Nutzung der Rechnerapplikation vorgenommen werden kann, wenn beispielsweise die Systemzeit eingefroren oder sogar zurückgesetzt wurde, weil sich die Systemzeit zwar dann noch innerhalb der Lizenzperiode befinden kann, das auch dann weiterhin aktualisierte Referenzdatum aber schon nach dem Ende der zugesicherten Lizenzdauer liegt.
Zur Wahrung einer gesicherten Unabhängigkeit bei der Aktualisierung des Referenzdatums kann es in einer weiteren bevorzugten Ausgestaltung der Erfindung vorgesehen sein, der Netzwerkkomponente zur Aktualisierung des Referenzdatums einen Zähler zuzuordnen, dessen Zählerstand dem Referenzdatum kontinuierlich oder diskontinuierlich zugeschlagen wird. Aus dem gleichen vorstehend genannten Grunde ist es dann auch vorteilhaft, das aktualisierte Referenzdatum auf der Netzwerkkomponente in einem geschützten Modus zu speichern, damit auch hier eine missbräuliche Manipulation besser ausgeschlossen werden kann.
Weitere vorteilhafte Ausgestaltungen der vorliegenden Erfindung können den übrigen Unteransprüchen entnommen werden.
Die Erfindung wird nachfolgend anhand der Zeichnung beispielsweise näher erläutert. Dabei zeigen:
Figur 1 eine schematische Darstellung eines
Netzwerkelements mit Lizenz-Server und ftp-Server;
Figur 2 eine schematische Darstellung des Ablauf zur Aktualisierung des Referenzdatums anhand von zwei
Beispielen a) und b) ;
Figur 3 in schematischer Darstellung einen typischen Aufbau eines Lizenzdatensatzes; und
Figur 4 -ein Beispiel für einen Lizenzdatensatz.
Figur 1 zeigt in schematischer Darstellung ein Netzwerkelement NE, das in einem hier nicht weiter dargestellten Kommunikationsnetzwerk angeordnet ist, und einen anwenderseitig angeordneten FTP Server FtpS. Ein Lizenzgeber sendet einem Anwender einen Lizenzdatensatz LF (beispielsweise per Email) , den der Anwender auf seinem FTP Server FtpS speichern kann. Dieser Lizenzdatensatz LF umfasst u.a. einen verbindlichen SignierungsZeitpunkt - nachfolgend Creation Datum CD genannt. Dieses Creation Datum CD kann dabei den SignierungsZeitpunkt des Lizenzdatensatzes LF angeben. Über den genauen Inhalt des Lizenzdatensatz LF geben die Figuren 3 und 4 nachfolgend im Detail Auskunft.
Auf dem Netzwerkelement NE sind neben den bestimmungsgemässen Funktionalitäten auch ein Lizenz-Server LS und Datensatz- Server FS sowie ein Timer T und eine Systemuhr SC umfasst. Der Lizenz-Server LS unterhält dabei ein Referenzdatum RD und eine zweite interne Zeitbasi-s C2 zur Bestimmung einer aktuellen Zeitbasis AZ. Der Lizenz-Server LS hat weiter die Aufgabe, die im Lizenzdatensatz LF eingeräumten Lizenzen und das Referenzdatum RD zu verwalten sowie die registrierten Rechnerapplikationen dementsprechend zu steuern. Der Datensatz-Server FS stellt das Dateimanagement für den Lizenzdatensatz LF mit dem Creation Datum CD und das
Referenzdatum RD mit der zweiten internen Zeitbasis C2 bereit.
Figur 2 zeigt in schematischer Weise das Vorgehen zur Überprüfung und Aktualisierung des Referenzdatum RD, das für die Peststellung, ob der Anwender an der Benutzung einer bestimmten Rechnerapplikation noch berechtigt ist, zentrale Bedeutung hat. Der Lizenz-Server LS liest zu diesem Zweck den Lizenzdatensatz LF und prüft zunächst die Signatur des Lizenzdatensatzes LF. Nach Feststellung der positiven
Berechtigung wird dann das im Lizenzdatensatz LF enthaltene Creation Datum CD zu Bestimmung des anfänglichen Referenzdatums RD herangezogen, was im Teil a) für den Fall dargestellt ist, bei dem das Creation Datum CD, hier beispielhaft der 05. Oktober 2004, älter ist als das aktuelle Referenzdatum RD, hier beispielhaft der 11. Oktober 2004, mit einem zusätzlichen Wert von beispielhaft 10.000 in der zweiten internen Zeitbasis C2 (second counter) , die für die laufende Aktualisierung des Referenzdatums bedeutsam ist. Weil das Creation Datum CD hier älter ist als das
Referenzdatum RD, wird das Referenzdatum RD so unverändert für den Lizenz-Server LS belassen und der Zählwert der zweiten internen Zeitbasis C2 wird diesem Referenzdatum RD zugeschlagen.
Der Teil b) der Figur 2 zeigt genau den anderen Fall, bei dem das Creation Datum CD jünger als das Referenzdatum RD ist. Ein Pfeil P soll hierbei nun den Verfahrensschritt repräsentieren, der darin besteht, das Referenzdatum RD mit dem Creation Datum CD gleichzusetzen und den Zählstand der zweiten internen Zeitbasis C2 auf Null zu setzen. Die aktuelle Zeitbasis AZ für den Lizenz-Server LS ergibt sich dann aus dem Vergleich der Systemzeit SC mit dem Referenzdatum RD. Eine Aktualisierung des Referenzdatums RD muss daher nicht unbedingt auch zur Änderung der aktuellen Zeitbasis AZ führen.
Der Zählwert der zweiten internen Zeitbasis C2 wird aufgrund des Lesens des Lizenzdatensatzes LF und aufgrund einer berechtigten Nutzung nun fortlaufend dem Referenzdatum zugeschlagen. Hat nun zum Beispiel der Zählwert die Zahl von 86400 Sekunden (24h*60min*60sec) erreicht, wird das
Referenzdatum RD um einen Tag erhöht und der Zählwert um 86400 verringert. Dabei können das Referenzdatum RD und der Wert der zweiten internen Zeitbasis C2 zyklisch in dem Datensatz-Server FS gespeichert werden, wobei das Speicherintervall nach Ermessen definiert werden kann. Die Spelcherung• erfolgt auf■ dem Netzwerkelement NE mit einem beschränkten Schreib-/Lesezugriff.
Der nächste wichtige Vergleich für die Feststellung der Berechtigung ist der Vergleich des so anfänglich festgelegten und fortdauernd aktualisierten Referenzdatum RD mit der Systemzeit gemäss der Systemuhr SC. Diese Systemuhr SC kann ja durch den Betreiber des Netzwerkelements NE vorgegeben werden, weshalb der Lizenz-Server LS die Systemzeit mit dem Referenzdatum RD vergleicht. Das Referenzdatum RD wirkt auf den Lizenz-Server LS als Schranke für die Zeit der Systemuhr SC, nachfolgend als Systemzeit SC bezeichnet. Ist nun die Systemzeit SC jünger oder gleich dem Referenzdatum RD, wird die Systemzeit SC als aktuelle Zeitbasis AZ für den Lizenz- Server LS genutzt, d.h. der Lizenz-Server LS verwendet diese Zeitbasis für die weitere Prüfung auf einen möglichen Ablauf der Lizenzdauer. Ist die Systemzeit SC älter als das Referenzdatum, bleibt das Referenzdatum RD massgeblich für die aktuelle Zeitbasis AZ des Lizenz-Servers LS und damit für die weitere Berechtigungsprüfung.
Ein typischer Aufbau eines Lizenzdatensatzes LF ist schematisch in Figur 3 gezeigt. Dieser Lizenzdatensatz LF umfasst eine Angabe sämtlicher Lizenzen und wird durch eine Signatur geschützt. Dieser Lizenzdatensatz LF wird für ein bestimmtes Netzwerkelement NE oder für ein bestimmtes Netzwerk mit einer Anzahl von Netzwerkelementen NE erstellt
und enthält vorliegend auch eine MAC Adresse bzw. eine MAC Adressenliste, um die eingesetzte Hardware zu identifizieren.
Im Einzelnen umfasst der Lizenzdatensatz LF nach den einleitenden Anmerkungen (explanatory notes) die allgemeinen Informationen (general Information) , wie die eindeutige ID des Lizenzdatensatzes (File id) , den Kundennamen (Customer name) , die Bezeichnung des Produktes (Product name) , die Information über die Signatur (Signatare info) und das so wichtige Creation Datum CD (Creation date) , welches dem Datum der Signierung des Lizenzdatensatzes LF entspricht.-
Es schliessen sich dann die Informationen über die MAC Adresse, die MAC Adressenliste und den Projektnamen an, wobei ein Eintrag unter der MAC Adresse nur ein bestimmtes Netzwerkelement NE zur Ausführung der lizensierten Rechnerapplikation zulässt. Entsprechend sind es bei Einträgen in der MAC Adressenliste die dort gelisteten Netzwerkkomponenten.
Der nächste Datenblock widmet sich der eigentlichen Lizenz. Unter dem Begriff „Feature info" wird der Name/die Bezeichnung der lizensierten Software angegeben; der Begriff „Feature id" ist ein eindeutiger ID-Code für die lizensierte Rechnerapplikation. Mit einem Eintrag unter dem „Locking mode" wird das Verhalten des Lizenz-Servers LS nach dem Ablauf einer zeitlich begrenzten Lizenz gesteuert, wie zum Beispiel die Generierung von Alarmen, das Sperren der Rechnerapplikation oder deren Deinstallation. Die Felder „Start" und „End" sind selbsterklärend und definieren die Gültigkeitsperiode der Lizenz, also die Lizenzperiode LP. Damit kann eine zeitlich begrenzt lizensierte Rechnerapplikation nur dann ausgeführt werden, wenn sich die aktuelle Zeitbasis AZ in dem durch die Felder „Start" und „End" definierten Lizenzperiode LP befindet. Ein softwaremässig ausgeschriebener Lizenzdatensatz LF ist in der Figur 4 beispielhaft veranschaulicht.
Damit wird durch die gezielte Setzung des Referenzdatums RD und dessen Aktualisierung gewährleistet, dass für den Lizenz- Server LS immer eine unabhängig vom Betreiber des Netzwerkelements NE gewonnene Zeitbasis vorhanden ist, gegen die die eingeräumte Lizenzperiode evaluiert werden kann. Missbräuliche oder unauthorisierte (Weiter) -Nutzung der zeitlich begrenzt lizensierten Rechnerapplikation können auf diese Weise vermieden werden.