SOFTWARE-LIZENZIERUNGSVERFAHREN
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Einziehung von einer Gebühr (Lizenzgebühr) zur Benutzung von Computersoftware und insbesondere auf ein Verfahren gemass dem Oberbegriff des Anspruchs 1.
Computersoftware wird gegenwärtig auf Datenträgern geliefert, die mit einer PIN versehen installiert werden. Dabei ist die Installation auf einem oder auf mehreren Computern möglich. Unter Umständen wird auf einem betriebsinternen Netz noch überprüft, ob ein Cornputerprogramm mit einer einzigen Lizenz mehrfach benutzt wird, eine solche Mehrfachnutzung kann ggf. unterbunden werden. Es existieren aber keinerlei Schranken für einen Berechtigten, seine rechtmässig erworbene Software zusammen mit den notwendigen Details (PIN etc.) an Unberechtigte ausserhalb eines internen Netzes weiterzugeben. Kopien können auch über das WWW angeboten und werden und sind beliebig nutzbar. Als Variante ist heute die Kombination einer Software PIN mit einer Computer-ID möglich, wenn der Computer mit nummerierten Prozessoren versehen ist. Bei dieser Lösung ist aber eine Anwendung der Software nur auf einem einzigen Rechner möglich, es besteht keine Mögichkeit für einen betriebsinternen Austausch, und auch ein Ausweichen auf einen Ersatzcomputer ist nicht möglich.
Es ist deshalb die Aufgabe dieser Erfindung, ein Verfahren zur Verfügung zu stellen, welches Nachteile bestehender Verfahren nicht aufweist, und welches insbesondere
eine gesicherte und Anwendung von Software auf einer definierten Anzahl Computer ermöglicht.
Diese Aufgabe wird gelöst durch die in den Patentansprüchen definierte Erfindung.
Die Erfindung zeichnet sich im Wesentlichen dadurch aus, dass die Benutzung des Computerprogrammes zur Verarbeitung von Daten von der Bereitstellung einer gebührenpflichtigen Telefonverbindung zu einer Autorisierungsstelle abhängig gemacht wird. Nach dem Aufstarten wird durch ein Computer- Telekommunikationsmittel, bspw. ein Modem, eine Verbindung mit der Autorisierungsstelle über einen gebührenpflichtigen Telekommunikationskanal hergestellt und eventuell noch für eine gewisse Zeit oder sogar während der ganzen Benutzungsdauer des Programmes aufrecht erhalten. Mindestens ein Teil der Programmschritte, mit denen die Daten verarbeitet werden, kann nur in einem festgelegten Zeitabschnitt nach der Herstellung oder Beendigung dieser Verbindung durchgeführt werden. Die Begriffe „Datenverarbeitung" und „Programmschritte" stehen hier ganz allgemein für eine durch Computerprogrammcode gesteuerte und mindestens teilweise von einem Computerprozessor vorgenommene Aktionen bzw. eine Teilmenge solcher Aktionen und sind nicht im engeren Sinn aufzufassen. Über die Telefonverbindung können eventuell auch von der Autorisierungsstelle Daten über die Identität des Nutzers oder der Person, die die Software installiert hat, und/oder über die Computer-ID, die Telefonnummer, eine Software-ID etc. abgefragt werden. Die Freischaltung kann dann ggf. von den übermittelten Daten abhängig gemacht werden.
Das erfindungsgemässe Verfahren hat den wesentlichen Vorteil, dass die Entrichtung der Lizenzgebühren vollständig gewährleistet ist. Das insbesondere für kleinere Softwarehersteller mühsame und nicht zu den Kernkompetenzen gehörende Inkasso
wird von einem Telefonanbieter übernommen. Die Software an sich kann offen zugänglich gemacht sein, bspw. über das Internet, komplizierte technische Massnahmen zu der Verhinderung eines Missbrauchs können entfallen. Bei fehlender Zufriedenheit des Softwarebenutzers braucht dieser die Software einfach nicht mehr anzuwenden und zahlt also auch nicht mehr als für eine einmalige Anwendung. Gleichzeitig wird durch das erfindungsgemässe Verfahren für delikatere Software eine Kontrolle über den Zugang und eine Bekämpfung von Missbrauch ermöglicht.
Eine erste mögliche Realisierungsform beruht ähnlich der „Freeware" also auf einem vollständig offenen System. Die Software wird bspw. über das Internet jedem Interessierten zum herunterladen („Download") angeboten. Alternativ oder ergänzend dazu kann die Software auch auf Datenträgern (Computerdisketten, CD, DVD) gratis oder zu einem bescheidenen Preis angeboten werden. Die Installation auf einem Computer erfolgt dann standardmässig, wobei bspw. lediglich die Telefon- Vorwahl des Gebietes eingegeben werden muss, in dem sich der Computer befindet. Beim Aufstarten des Programms wird eine Telefonverbindung zu einer Autorisierungsstelle hergestellt wird. Die dabei anzuwählende Telefonnummer ist eine sog. „Telebusiness"-Nummer (bspw. eine „157"- oder „0900"-Nummer in der Schweiz oder eine „0190"-Nummer in Deutschland), d.h. die nach einer Anwahl dieser Nummer anfallenden Gebühren sind verhältnismässig hoch und werden durch den Telefonbetreiber zum Teil an den Betreiber der Autorisierungsstelle vergütet. Die Ausführung des Programms wird dann durch ein von der Autorisierungsstelle übermitteltes Signal ermöglicht. Berechtigt zur Benutzung der Software ist jeder, Identitätskontrolle erfolgt keine. Durch die Anwahl der gebührenpflichtigen Nummer ist trotzdem in jedem Fall gewährleistet, dass eine Lizenzgebühr entrichtet wird.
Eine zweite mögliche Realisierungsform ist besonders geeignet für delikate Software, d.h. Software die eine striktere Kontrolle über Zugangsberechtigung und
eine Feststellung von möglichem Missbrauch verlangt, bspw. für Software zur Kontrolle von Geldtransaktionen. Auch diese zu lizenzierende Software kann auf konventionellem Weg auf Computerdisketten, einer CD, DVD oder eventuell über das Internet angeboten sein. Zusätzlich kann der Benutzer eine ID-Nummer erhalten, die bspw. auf den Datenträger aufgedruckt ist oder die ihm alternativ bspw. per Post oder über e-mail zugestellt wird. Die ID-Nummer korrespondiert dann bspw. mit einem ID-Datensatz auf dem Datenträger. Bei der Installation erfolgt eine Abfrage der ID-Nummer, eine Installation erfolgt nur bei Übereinstimmung. Die Software kann bei der Installation ganz oder teilweise verschlüsselt werden, wobei der Schlüssel für jeden Datenträger bzw. für jeden Download unterschiedlich ist und bspw. der Software-ID zugeordnet ist. Je nach dem sind dazu, dass die Software ihre Funktion erfüllen kann, auch eine nicht in der Software enthaltene Schlüsselinformation oder fehlende Segmente nötig. Zum Betreiben der Software erfolgt eine Aktivierung bei Herstellung einer gebührenpflichtigen Telefonverbindung zu einer Autorisierungsstelle. Ob von der Autorisierungsstelle die zur Freischaltung der Software benötigten Freigabe-Signale die Schlüsselinformation oder die fehlenden Software-Segmente übermittelt werden, wird von der Übermittlung eines ID-Signales an die Autorisierungsstelle abhängig gemacht.
Die Telefonverbindung kann nach erfolgter Freischaltung wieder unterbrochen werden. Es kann aber auch vorgesehen sein, dass die Lizenzgebühr benutzungszeitabhängig zu entrichten ist, indem eine
Telekommunikationsverbindugn ständig aufrecht erhalten sein muss.
Im Folgenden werden noch Ausführungsbeispiele der Erfindung anhand von Zeichnungen beschrieben. Die gezeichneten und beschriebenen Ausführungsbeispiele zeigen lediglich wesentliche Verfahrensschritte exemplarisch auf, sie definieren keinesfalls die Erfindung. Insbesondere gehören beliebige Kombinationen (soweit sie überhaupt möglich sind) von Merkmalen der
verschiedenen Ausführungsbeispiele untereinander und mit Verfahren gemass dem Stand der Technik ausdrücklich zur Erfindung. In den Zeichnungen zeigt:
Figur 1 ein Schema eines ersten Ausführungsbeispiel für das „offene" System,
Figur 2 ein Schema eines zweiten Ausführungsbeispiel für das „offene" System,
Figur 3 ein Schema eines Ausführungsbeispiel für ein System mit Übermittlung eines ID-Datensatzes,
Figur 4 ein Schema eines weiteren Ausführungsbeispiel für ein System mit Übermittlung eines ID-Datensatzes und
- Figur 5 ein Schema noch eines Ausführungsbeispieles für ein System mit Übermittlung eines ID-Datensatzes.
Im Beispiel gemass Figur 1 - ebenso wie in den folgenden Ausführungsbeispielen - wird angenommen, dass die Funktion des Programms darin besteht, eine Menge von wie auch immer gearteten Eingangsdaten (Input) zu einer Menge von Ausgabedaten (Output) zu verarbeiten. Die Begriffe Eingangsdaten und Ausgabedaten sind nicht eng zu interpretieren, insbesondere müssen sie nicht bspw. alphanumerische Datensätze im konventionellen Sinn sein sondern sind als irgendwie geartete digitale Information aufzufassen. Auch „Ausgabe" braucht keine Datenausgabe im engeren Sinn zu sein sondern kann bspw. auch eine Weitergabe auf einem beliebigen Datenkanal an irgend ein Medium sein. Das Programm ist nun so ausgelegt, dass beim Aufstarten automatisch nach den installierten Modemtreibern gesucht wird und,
wenn ein Modem vorhanden und installiert ist (was eine Voraussetzung für das Verfahren ist), durch das Modem eine Telefonverbindung zu einer Autorisierungsstelle (Zentrale) hergestellt wird. Die dabei anzuwählende Telefonnummer ist eine gebührenpflichtige Nummer (G-N). Gegebenenfalls nach einer bestimmten Wartezeit wird von der Autorisierungsstelle ein Autorisierungssignal an den das Programm ausführenden Rechner gesendet, worauf das Programm mit der Verarbeitung der Daten beginnt. Die Ermächtigung zur Benutzung des Programmes erfolgt zeitlich befristet. In der Figur wird der Datenverarbeitungsvorgang durch die Funktion / dargestellt. Wurde keine Verbindung hergestellt, also wenn das Programm nach einer bestimmten Zeit immer noch kein Autorisierungssignal von der Autorisierungsstelle empfangen hat, so wird die Ausführung des Programms abgebrochen.
Das in der Figur 2 dargestellte Verfahren erfüllt dieselbe Funktion wie das in der Figur 1 dargestellte. Es beugt aber der Möglichkeit vor, dass Unbefugte durch eine Manipulation am Programm die Autorisierungsfunktion umgehen können. Das Verfahren zeichnet sich dadurch aus, dass eine von der Autorisierungsstelle übermittelte Information, die bspw. zeitabhängig ist und daher bei jedem Gebrauch von neuem abgerufen werden muss, essentiell ist für die Funktionsfähigkeit des Programms. Ein Bsp. zur Implementierung eines solchen Merkmales ist ein dem PGP- Verschlüsselungs- Verfahren analoges Verfahren. Letzteres Verfahren beruht bekanntlich darin, dass die Verschlüsselung eines Textes anhand einer bekannten Funktion und mit einem einer breiten Öffentlichkeit zugänglich gemachten Schlüssel geschieht. Die Funktion ist aber nicht mit vernünftigem Aufwand umkehrbar, zur Entschlüsselung wird ein (geheimer) Umkehrschlüssel benötigt. Die Rolle des der Öffentlichkeit zugänglichen Schlüssels nimmt im hier beschriebenen Verfahren bspw. die Zeit als Parameter ein. Analog zum ersten Ausführungsbsp. wird eine Verbindung zu einer Autorisierungsstelle (Zentrale) über eine gebührenpflichtige Nummer (G-N) hergestellt. Durch die Autorisierungsstelle wird eine als Schlüsselinformation dienende zeitabhängige Information übermittelt. Einer der
vorgängig oder anschliessend an den Eingangsdaten vorgenommenen Datenverarbeitungsschritte zu einem Zwischenprodukt wird mit der t- parametrisierten Funktion /, vorgenommen (t=Uhrzeit). Die Weiterverarbeitung erfolgt dann mit einer von der zeitabhängigen Information abhängigen und bspw. durch einen „t-Umkehrschlüssel" parametrisierten Funktion g ι. Es kann natürlich auch vorgesehen sein, dass ein Programmschritt g ι vor oder teilweise gleichzeitig zu einem Programmschritt ft vorgenommen wird. Wenn der Umkehrschlüssel nicht vorhanden ist, also wenn die Verbindung nicht hergestellt worden ist, so ist in jedem Fall eine sinnvolle Verarbeitung der Daten nicht möglich. Dieses Verfahren benutzt also sich dynamisch verändernde Programmsegmente ft und.gv-;, wobei das Segment gtι notwendigerweise die von der Zentrale übermittelten und nicht analytisch oder sonst in einfacher Weise aus der Zeit t berechenbaren zeitabhängigen Information benötigt. Wenn ein anlässlich einer früheren Session verwendeter Umkehrschlüssel oder eine Funktion gfi verwendet wird, so führt die Weiterverarbeitung höchstens zu unsinnigen Resultaten. So wird das Umgehen eines Freischaltungs-Mechanismus' unter Benutzung einmal auf dem vorgesehenen, legalen Weg übermittelter Informationen vollständig verunmoglicht.
Die Verfahren gemass den Figuren 3 bis 5 lehnen sich an das Verfahren nach Figuren 1 und 2 an, sind aber mit zusätzlichen Sicherheits Vorkehrungen versehen und sind Beispiele für „nicht-offene" Systeme mit Übermittlung von Identitätsdaten. Der Identitätsdatensatz (ID) wird nach der Eröffnung der gebührenpflichtigen Verbindung (G-N) vom Rechner des Benutzers an die Autorisierungsstelle (Zentrale) übermittelt. Er kann eine oder mehrere der folgenden Komponenten aufweisen: i) Eine Software-ID-Nummer, der bspw. eine auf dem zur Installation verwendeten Datenträger gedruckten Nummer entspricht ü) Einen persönlichen Identitätsdatensatz, welcher bspw. einen eventuell thermischen Fingerabdruck, weitere Körpermerkmale und/oder Anwesenheitsmerkmale, Stimmproben, Benutzer-Bilddaten etc. sowie einen
Benutzer-Identifikationcode (persönliches Passwort) des Benutzers aufweisen kann iii) Eine CPU-ID-Nummer, die charakteristisch ist für den Rechner des Benutzers, iv) Die Telefonnummer des Anschlusses, von dem aus die Verbindung hergestellt wurde.
Die nach Herstellung der Verbindung zwingend abgefragten ID-Daten können ggf. (bspw. die Daten unter ii), iii) und iv)) in der Autorisierungsstelle gespeichert sein und abgeglichen werden.
Beim Verfahren gemass Figur 3 erfolgt ein Abgleich der übermittelten Daten mit in der Autorisierungsstelle gespeicherten Benutzerdaten. Wenn der Identitätsdatensatz (ID) zu einer Nutzung des Programms berechtigt erfolgt eine zeitlich befristete Freischaltung. Der Identitätsdatensatz kann allenfalls zusammen mit der Zeit, zu der die Verbindung hergestellt wurde, in einer Datenbank (DB) registriert werden (dies gilt auch für die in den Figuren 4 und 5 dargestellten Verfahren). Im Falle von später festgestelltem Missbrauch können die dort gespeicherten Daten zur Ermittlung beigezogen werden. Wenn in der Autorisierungsstelle mehr als eine Anmeldung mit gleicher Software-ID feststellt, so erfolgt ggf. ein Vergleich von persönlichen ID- Datensätzen oder der Rechner ID. Liegt keine Übereinstimmung vor, so erfolgt bspw. eine Fehlermeldung in der Autorisierungsstelle unter Angabe aller aufgenommenen Daten zur Untersuchung des Missbrauchs. Besteht Übereinstimmung, so ist anzunehmen, dass eine zweite Anmeldung vor Ablauf der Berechtigungsfrist einer ersten Anmeldung (und allenfalls vor einer Abmeldung) erfolgt ist, also dass eine legale Nutzung vorliegt.
Das Verfahren gemass Figur 4 ist ein Beispiel für die Verwendung verschlüsselter Programmteile, wobei hier ein zum Verfahren gemass Figur 2 analoges Verfahren verwendet wurde. In einem ersten Verarbeitungsschritt wird eine Funktion f verwendet, welche bspw. die gut zugängliche Software-ID als Schlüssel verwendet. Für einen weiteren Verarbeitungsschritt wird dann der lediglich in der Autorisierungsstelle vorhandene, als Schlüsselinformation dienende Umkehrschlüssel benötigt. Natürlich ist auch eine Kombination dieser Verschlüsselungsvariante mit einem zeitabhängigen Verfahren (vgl. Figur 2) denkbar. Eine Möglichkeit besteht bspw. auch in einer Version, in der der Schlüssel und der Umkehr- Schlüssel bei jeder Programmbenutzung einen neuen, bereits bei der Herstellung des Programms bestimmten Wert annehmen, analog zu den „Streichlisten", welche als Sicherheitselemente bei on-line- Zahlungen verwendet werden. Auch andere Verschlüsselungsvarianten, bspw. die vor der Datenverarbeitung zu startende Entschlüsselung ganzer Programmteile, sind denkbar.
Das Verfahren gemass Figur 5 schliesslich beruht in der Übermittlung eines ganzen Softare- Segmentes zur Ausführung eines essentiellen Programmschrittes f∑ von der Autorisierungsstelle an den Rechner des Benutzers. Diese Übermittlung erfolgt selbstverständlich erst nach erfolgreicher Identifikation.
Für das System mit Übermittlung eines ID-Datensatzes, bspw. nach einer der Figuren 3-5, ergibt sich eine interessante Anwendung im Controlling. Es gibt bspw. nationale Gesetzgebungen, die die laufende Unterrichtung von verantwortlichen Personen über gewisse relevante Daten (bspw. über Finanztransaktionen, Aktiengeschäfte etc.) erfordern. Wenn nun ein Programm, das das Entstehen solcher relevanter Daten bewirkt, bspw. ein Programm zum Tätigen von Finanztransaktionen, durch dieses System lizenziert werden muss, so kann durch die Autorisierungsstelle ein ID- Datensatz erfragt werden, welcher Daten enthält, welche für den Benutzer unbedingt charakterisierend sind. Solche können bspw. in einer elektronischen Unterschrift
bestehen, die eventuell sogar Körper- und Anwesenheitsmerkmale des Benutzers beinhaltet. Die vom Programm getätigten Transaktionen werden über eine Datenleitung an die Autorisierungsstelle, welche hier bspw. eine staatlich kontrollierte Zertifizierungsstelle ist, weitergeleitet und dort protokolliert. Damit ist mit hoher Rechtssicherheit gewährleistet, dass die verantwortliche Person die relevanten Daten auch wirklich zur Kenntnis genommen hat. Diese Anwendung macht das Verfahren auch für den Fall sinnvoll, in dem die Datenleitung keine gebührenpflichtige Telefonleitung ist.
Das Verfahren gemass einem beliebigen der obigen Ausführungsbeispiele ist auch für den Fall anwendbar, in dem eine ständige Telefonverbindung zur Voraussetzung der Benutzung der Software gemacht werden soll. Dazu muss lediglich der Verfahrenschritt der Freischaltung und bspw. auch ggf. der Vorgang der Übermittlung des ID-Datensatzes iterativ während der ganzen Ausführung des Programmes durchgeführt werden.
Ein Computerprogramm, für welches mit dem erfindungsgemässen Verfahren eine Software-Lizenzgebühr entrichtet werden soll, besitzt bspw. mehrere Programmblöcke zur Ausführung der Programmschritte, wobei nicht unbedingt eine sequentielle Ausführung eines Programmschrittes nach dem andern stattfinden muss. Es kann bspw. auch durchaus ein paralleles Abarbeiten von Programmschritten durch Programmblöcke stattfinden. Ein erster Programmblock, der selbstverständlich nicht unbedingt der als erster Teil des Programmes nach dem Auf starten des Programmes aufgerufene Programmblock sein muss, bewirkt selbsttätig die Einrichtung einer Verbindung zu der Autorisierungsstelle.