DE102005039207A1 - Method of using a program and associated units - Google Patents

Method of using a program and associated units Download PDF

Info

Publication number
DE102005039207A1
DE102005039207A1 DE102005039207A DE102005039207A DE102005039207A1 DE 102005039207 A1 DE102005039207 A1 DE 102005039207A1 DE 102005039207 A DE102005039207 A DE 102005039207A DE 102005039207 A DE102005039207 A DE 102005039207A DE 102005039207 A1 DE102005039207 A1 DE 102005039207A1
Authority
DE
Germany
Prior art keywords
program
unit
value
usage
service
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.)
Ceased
Application number
DE102005039207A
Other languages
German (de)
Inventor
Gregor Scholl
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 AG
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 DE102005039207A priority Critical patent/DE102005039207A1/en
Priority to PCT/EP2006/064759 priority patent/WO2007020172A1/en
Publication of DE102005039207A1 publication Critical patent/DE102005039207A1/en
Ceased 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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]

Abstract

Erläutert wird unter anderem ein Verfahren, bei dem ein Kennzeichenwert verwendet wird, der eine Datenverarbeitungsanlage (12) oder einen Benutzer (B) der Datenverarbeitungsanlage (12) kennzeichnet. Mit Hilfe dieses Kennzeichenwertes (KW) wird ein Programm (P1) lizenziert. Das Verfahren ist sicher gegen einen Missbrauch von Lizenzierungsdaten.Among other things, a method is explained in which an identifier value is used which identifies a data processing system (12) or a user (B) of the data processing system (12). A program (P1) is licensed with the help of this indicator value (KW). The process is secure against misuse of licensing data.

Description

Die Erfindung betrifft ein Verfahren zum Nutzen eines Programms mit bspw. den Schritten:

  • – Erzeugen einer Nutzungsanforderung bzw. einer Lizenzanforderung für ein Programm durch eine Datenverarbeitungsanlage, wie z.B. durch einen Personalcomputer,
  • – Übertragen der Nutzungsanforderung über ein Datenübertragungsnetz, z.B. über ein lokales Datenübertragungsnetz (LAN – Local Area Network) und/oder über das Internet,
  • – Bearbeiten der Nutzungsanforderung unter Verwendung eines Nutzungsdatums, dessen Wert abhängig vom Vorliegen einer Nutzungsberechtigung für das Programm ist, beispielsweise gibt der Wert die Anzahl der noch zur Verfügung stehenden Lizenzen bzw. der bereits vergebenen Lizenzen an,
  • – bei einem Wert des Nutzungsdatums, der eine Nutzungsberechtigung angibt, Erzeugen eines Referenzwertes,
  • – Speichern des Referenzwertes,
  • – Ausführen von Befehlen des Programms oder eines Hilfsprogramms, mit dessen Hilfe das Programm gestartet werden kann, wobei ein Vergleichswert erzeugt wird,
  • – Prüfen des Vergleichswertes unter Verwendung des Kennzeichenwertes oder des Referenzwertes, insbesondere durch Vergleichen des Vergleichswertes und des Referenzwertes,
  • – bei positivem Prüfergebnis, insbesondere bei Übereinstimmung von Vergleichswert und Referenzwert, Ausführen von Befehlen des Programms, die bei negativem Prüfergebnis nicht ausgeführt werden, bspw. wenn Vergleichswert und Referenzwert nicht übereinstimmen.
The invention relates to a method for using a program with, for example, the steps:
  • Generating a usage request or a license request for a program by a data processing system, such as a personal computer,
  • Transmitting the usage request via a data transmission network, eg via a local area network (LAN) and / or via the Internet,
  • Processing the usage request using a usage date whose value depends on the existence of a usage authorization for the program, for example, the value indicates the number of licenses still available or the licenses already issued,
  • At a value of the usage date indicating a usage authorization, generating a reference value,
  • Storing the reference value,
  • Executing instructions of the program or of a utility program with the aid of which the program can be started, whereby a comparison value is generated,
  • Checking the comparison value using the license plate value or the reference value, in particular by comparing the comparison value and the reference value,
  • - if the test result is positive, in particular if the comparison value and the reference value match, executing program instructions that are not executed if the test result is negative, for example if the comparison value and the reference value do not match.

Beispielsweise erhalten Softwarekomponenten in verteilten Umgebungen ein Lizenzdatum, das deren Betrieb ermöglicht, wobei geeignete Verfahren über lokale Netze zur Zuteilung der Lizenz verwendet werden. Diese Verfahren dienen beispielsweise zum Austausch von sogenannten Lizenzkeys bzw. Lizenzschlüsseln, die dann auf den sogenannten Clientmaschinen bzw. auf der Datenverarbeitungsanlage abgespeichert werden, ggf. auch in öffentlich bekannten Verzeichnissen. Hierbei werden sowohl standardisierte Verfahren als auch proprietäre Verfahren verwendet, die von einer einzelnen Firma verwendet werden. Kennzeichnend für all diese Verfahren sind jedoch erhebliche Sicherheitslücken, die einen Missbrauch von Lizenzdaten begünstigen, insbesondere, wenn der Referenzwert ein Lizenzschlüssel ist, der unverschlüsselt über das Datenübertragungsnetz übertragen wird, oder wenn der Referenzwert nur ein Passwort ist, das von einer beliebigen Person an beliebigen Rechnern eingegeben werden kann, sofern es dieser Person berechtigter Weise oder auch unberechtigter Weise bekannt ist.For example Software components in distributed environments receive a license date, which allows their operation, taking appropriate procedures over local networks are used to allocate the license. This procedure serve for example for the exchange of so-called license keys or License keys, then on the so-called client machines or on the data processing system be stored, possibly in publicly known directories. Here are both standardized procedures as well as proprietary procedures used by a single company. characteristic for all However, these procedures are significant security holes that promote misuse of license data, in particular if: the reference value is a license key that is unencrypted about that Transfer data transmission network or if the reference value is just a password, that of a any person can be entered on any computer, provided that person is entitled or unjustified Way is known.

Es ist Aufgabe der Erfindung, zum Nutzen eines Programms ein einfaches Verfahren anzugeben, das einen Missbrauch von Nutzungsberechtigungen erschwert. Außerdem sollen zugehörige Einheiten angegeben werden.It Object of the invention, for the benefit of a program a simple Specify a procedure that makes it difficult to abuse user rights. Furthermore should be associated Units are specified.

Die auf das Verfahren bezogene Aufgabe wird durch ein Verfahren mit den eingangs genannten Verfahrensschritten gelöst, wobei jedoch auch noch die folgenden Verfahrensschritte ausgeführt werden:

  • – Festlegen mindestens eines gemäß einer Festlegungsregel zu ermittelnden Kennzeichenwertes, der eine Datenverarbeitungsanlage oder einen Benutzer der Datenverarbeitungsanlage kennzeichnet,
  • – optional Übertragen des Kennzeichenwertes von der Datenverarbeitungsanlage über das Datenübertragungsnetz, bspw. verschlüsselt oder unverschlüsselt, wobei der übertragene Kennzeichenwert ggf. geprüft wird, bspw. an Hand von Referenzlisten mit bspw. Prozessorkennzeichen oder digitalen Fingerabdrücken, und
  • – optional Erzeugen des Referenzwertes aus dem übertragenen Kennzeichenwert, insbesondere gemäß einer Berechnungsvorschrift, wie einem Verschlüsselungsverfahren, oder durch einfaches Übernehmen des übertragenen Kennzeichenwertes als Referenzwert.
The object related to the method is achieved by a method with the method steps mentioned at the outset, wherein, however, the following method steps are also carried out:
  • Determining at least one identification value to be determined according to a determination rule, which characterizes a data processing system or a user of the data processing system,
  • Optionally transmitting the license plate value from the data processing system via the data transmission network, for example encrypted or unencrypted, wherein the transmitted license plate value is possibly checked, for example by reference lists with, for example, processor identifiers or digital fingerprints, and
  • Optionally generating the reference value from the transmitted tag value, in particular according to a calculation rule, such as an encryption method, or by simply adopting the transmitted tag value as the reference value.

Durch diese Maßnahmen wird erreicht, dass der Kennzeichenwert stärker an eine Datenverarbeitungsanlage und/oder an einen Benutzer gebunden ist, als beispielsweise ein Passwort. Durch die Übertragung der Nutzungsanforderung von der Datenverarbeitungsanlage über das Datenübertragungsnetz wird es möglich, Merkmale der nutzungsberechtigten Datenverarbeitungsanlage bzw. des nutzungsberechtigten Benutzers stärker und auf einfachere Art in den Kennzeichenwert einzubinden als es bisher möglich war. Dies erschwert einen Missbrauch der Berechtigung auf anderen Datenverarbeitungsanlagen bzw. durch andere Benutzer. Andererseits ist das Verfahren aber auch leicht zu automatisieren.By these measures is achieved that the license plate value more to a data processing system and / or bound to a user, such as a Password. Through the transmission the usage request from the data processing system via the Data transmission network is it is possible Features of the authorized data processing system or of the authorized user more and in a simpler way into the license plate value than was previously possible. This makes it difficult to misuse the authorization on other data processing systems or by other users. On the other hand, the process is also easy to automate.

Bei einer Weiterbildung des erfindungsgemäßen Verfahrens werden die Schritte ausgeführt:

  • – Erzeugen einer Antwortmeldung, die den Referenzwert enthält,
  • – Übertragen der Antwortmeldung über das Datenübertragungsnetz, und
  • – Speichern des in der Antwortmeldung übertragenen Referenzwertes.
In a further development of the method according to the invention, the steps are carried out:
  • Generating a response message containing the reference value,
  • - Transmission of the response message via the data transmission network, and
  • - Save the reference value transmitted in the response message.

Durch die Übertragung der Antwortmeldung wird erreicht, dass der Referenzwert an einer anderen Stelle gespeichert werden kann als an der Stelle, an der er erzeugt worden ist. Damit muss dem Programm die Stelle nicht bekannt sein, an der der Referenzwert erzeugt wird, sondern nur die Stelle, an der er gespeichert wird. Auch dies erhöht die Sicherheit gegen einen Missbrauch des Verfahrens.By the transmission of the response message it is achieved that the reference value on one ande can be stored as at the point where it was generated. Thus, the program need not know the location where the reference value is generated, but only the location where it is stored. This also increases security against abuse of the procedure.

Bei einer nächsten Weiterbildung mit Übertragung des Referenzwertes über das Datenübertragungsnetz wird der Referenzwert im schwer verständlichen und damit gegen Missbrauch geschützten Maschinencode gespeichert. Der Maschinencode kann ohne weitere Umwandlung direkt von einem Prozessor der Datenverarbeitungsanlage bearbeitet werden. Der Maschinencode als auch der Bytecode unterscheidet sich von einem leichter als der Maschinencode verständlicherem Quellcode in einer höheren Programmiersprache, wie z.B. Assembler oder C. Die Weiterbildung erzeugt für dedizierte, wohldefinierte Client-Maschinen/Nutzerkombinationen ein ablauffähiges Programm, das nur auf der dedizierten Maschine bzw. für den lizenzierten Benutzer lauffähig ist. Dieses Programm wird bei einer Ausgestaltung im Betriebssystem der Datenverarbeitungsanlage verankert bzw. einbezogen, indem eine Programminstallationsfunktion des Betriebssystems der Datenverarbeitungsanlage verwendet wird. Ein Ausführen des Programms auf einer anderen Maschine ist somit nicht mehr möglich.at one next Continuing education with transfer of the reference value the data transmission network the reference value becomes difficult to understand and thus against misuse protected Machine code stored. The machine code can be converted without further conversion processed directly by a processor of the data processing system become. The machine code and the bytecode are different from a code easier to understand than the machine code in one higher Programming language, such as Assembler or C. The training generated for dedicated, well-defined client machines / user combinations an executable Program that works only on the dedicated machine or for the licensed one User executable is. This program is in one embodiment in the operating system the data processing system anchored or involved by a Program installation function of the operating system of the data processing system is used. A run the program on another machine is thus no longer possible.

Bei einer nächsten Weiterbildung kennzeichnet der Kennzeichnwert die Datenverarbeitungsanlage und den Benutzer, so dass sich die Sicherheit gegen einen Missbrauch der Nutzungsberechtigung weiter erhöht.at one next Further development, the characteristic value characterizes the data processing system and the user, so that the security against abuse the usage right further increased.

Bei einer nächsten Weiterbildung des Verfahrens wird zur Ermittlung des Kennzeichenwertes mindestens einer der folgenden Daten verwendet:

  • – ein Datum, das in einem Prozessor der Datenverarbeitungsanlage nichtflüchtig gespeichert ist, beispielsweise ein Prozessorkennzeichen, das vom Hersteller des Prozessors vorgegeben wird,
  • – ein Datum, das in einer Netzwerkkarte der Datenverarbeitungsanlage nichtflüchtig gespeichert ist, beispielsweise ebenfalls ein Datum, das vom Hersteller der Netzwerkkarte vorgegeben wird, insbesondere eine sogenannte MAC-ID (Media Access Control Identification),
  • – ein Datum oder Daten, die von einem biometrischen Sensor erzeugt werden, insbesondere von einem Fingerabdrucksensor oder von einem Augeniris-Sensor, oder von einem Bildbearbeitungssystem zum Erfassen der Merkmale eines Gesichts,
  • – ein Datum, das ein Programmkennzeichen eines anderen Programms der Datenverarbeitungsanlage ist, beispielsweise ein Lizenzschlüsseldatum.
In a next development of the method, at least one of the following data is used to determine the indicator value:
  • A date non-volatile stored in a processor of the data processing system, for example a processor code specified by the manufacturer of the processor,
  • A date which is non-volatile stored in a network card of the data processing system, for example also a date that is specified by the manufacturer of the network card, in particular a so-called MAC-ID (Media Access Control Identification),
  • A date or data generated by a biometric sensor, in particular a fingerprint sensor or an iris sensor, or an image processing system for detecting the features of a face,
  • A date which is a program identifier of another program of the data processing system, for example a license key date.

Je mehr Kennzeichen in das Verfahren einbezogen werden, um so schwerer wird ein Missbrauch. Beispielsweise lassen sich auch Angaben über die Softwareumgebung des Programms, beispielsweise über das Betriebssystem, einbeziehen. Weiterhin lassen sich auch Angaben über die erweiterte Hardwareumgebung des Programms einbeziehen, beispielsweise Angaben zu angeschlossenen Geräten, wie Druckern und ähnliches.ever more hallmarks to be included in the procedure, the more difficult becomes an abuse. For example, information about the Software environment of the program, for example, via the operating system. Farther can also provide information about include the extended hardware environment of the program, for example Information on connected devices, like printers and the like.

Bei einer nächsten Weiterbildung wird die Nutzungsanforderung von einer Telekommunikationsanlage weitergeleitet, die teilnehmerseitig gemäß einem Teilnehmerprotokoll für durchschaltevermittelte Verbindungen und netzwerkseitig gemäß einem vom Teilnehmerprotokoll verschiedenen Protokoll für durchschaltevermittelte Verbindungen signalisiert. Das Teilnehmerprotokoll ist beispielsweise das Protokoll Cornet TS, Cornet TC oder Cornet IP der Firma Siemens oder ein vergleichbares Protokoll eines anderen Anbieters. Das Netzwerkprotokoll ist beispielsweise das Protokoll QSIG, das im ECMA-Standard (European Computer Manufacturer Association) 173/174 festgelegt ist, und zur Signalisierung zwischen Telekommunikationsanlagen dient. Alternativ kann auch ein anderes Signalisierungsprotokoll verwendet werden, z.B. ein proprietäres Protokoll, wie das Protokoll Cornet NQ der Firma Siemens AG.at one next Continuing education is the usage requirement of a telecommunications system passed on the subscriber side according to a subscriber protocol for circuit-switched Connections and network side according to one of the subscriber protocol different protocol for circuit-switched Connections signaled. The subscriber protocol is for example the protocol Cornet TS, Cornet TC or Cornet IP from Siemens or a similar protocol from another provider. The network protocol is for example the protocol QSIG, which in the ECMA standard (European Computer Manufacturer Association) 173/174 is set, and to Signaling between telecommunication systems is used. Alternatively, you can also a different signaling protocol may be used, e.g. a proprietary one Protocol, such as the protocol Cornet NQ of the company Siemens AG.

Bei einer nächsten Weiterbildung wird die Nutzungsanforderung von einem ersten Diensterbringungsrechner weitergeleitet, der über ein Datenübertragungsnetz mit der Datenverarbeitungsanlage verbunden ist, wobei der Wert eines Adressdatums eines zweiten Diensterbringungsrechners zum Bearbeiten der Nutzungsanforderung erst in dem ersten Diensterbringungsrechner und nicht in der Datenverarbeitungsanlage ermittelt wird.at one next Continuing training is the usage requirement of a first service provisioning computer forwarded, over a data transmission network connected to the data processing system, the value of a Address data of a second service-providing computer for editing the usage request only in the first service providing computer and not determined in the data processing system.

Der erste Diensterbringungsrechner ist insbesondere ein Rechner, der in zukünftigen Datenübertragungsnetzen die Funktionen einer herkömmlichen Telekommunikationsanlage übernimmt, d.h. insbesondere automatische Rückrufe und/oder Ruf- und/oder Anrufweiterleitungen, wie Rufumleitung (Call Forward), Anrufweitergabe (Call Transfer) oder Rufumlenkung (Call Deflection), siehe bspw. Oliver Hersent u.a., "IP Telephony – Deploying Voice over IP Protocols", Wiley 2005, Seiten 317 bis 366.Of the first service providing computer is in particular a computer, the in future Data transmission networks the functions of a conventional Telecommunications system takes over, i.e. in particular automatic callbacks and / or call and / or Call forwarding, such as call forwarding, call forwarding (Call Transfer) or call deflection (Call Deflection), see eg. Oliver Hersent et al., "IP Telephony - Deploying Voice over IP Protocols ", Wiley 2005, pages 317-366.

In beiden Fällen wird durch die Einbeziehung der Telekommunikationsanlage bzw. des ersten Diensterbringungsrechners erreicht, dass auf der Seite des Programms der Diensterbringungsrechner nicht bekannt sein muss, der den Referenzwert berechnet und der beispielsweise den Programmcode des Programms verändert. Damit erhöht sich die Sicherheit gegen einen Missbrauch des Verfahrens erheblich, weil zusätzliche Schranken durch beispielsweise proprietäre Protokolle und/oder durch Verschlüsselungen aufgebaut werden können.In both cases, the inclusion of the telecommunication system or of the first service provision computer ensures that the service provisioning computer does not need to be aware of the program that calculates the reference value and, for example, changes the program code of the program. This significantly increases the security against misuse of the method because additional barriers are created by, for example, proprietary protocols and / or by ver can be built.

Bei einer nächsten Weiterbildung des erfindungsgemäßen Verfahrens ist das Programm ein Programm für die Internettelefonie, die auch als VoIP-Telefonie (Voice over Internet Protocol) bezeichnet wird. Die Sicherheit ist besonders hoch, wenn dieses Programm von einem Endgerät benutzt wird, das an einer Telekommunikationsanlage bzw. an einem Diensterbringungsrechner mit den Funktionen einer Telekommunikationsanlage betrieben wird.at one next Further development of the method according to the invention the program is a program for the Internettelefonie, which also as VoIP Telefonie (Voice over Internet Protocol) is called. The security is particularly high when this program from a terminal is used on a telecommunications system or on a Service providing computer with the functions of a telecommunications system is operated.

Bei einer anderen Weiterbildung des Verfahrens wird kein Lizenzschlüssel zum Ermöglichen der Nutzungsberechtigung des Programms übertragen. Eine Verwaltung und Speicherung der Lizenzschlüssel durch einen Systemadministrator entfällt, so dass das Verfahren einfach und sicher ist.at another development of the procedure does not become a license key for Enable the right of use of the program. An administration and storing the license key by a system administrator deleted, so the procedure easy and safe.

Die Erfindung betrifft außerdem eine Diensterbringungseinheit, die sich insbesondere in dem erfindungsgemäßen Verfahren oder einer seiner Weiterbildungen als Diensterbringungsrechner oder an Stelle des Diensterbringungsrechners einsetzen lässt. Damit gelten die oben genannten technischen Wirkungen auch für die Diensterbringungseinheit.The Invention also relates a service providing unit, which is particularly in the method according to the invention or one of its further developments as a service-providing computer or in place of the service provider computer. In order to the above-mentioned technical effects also apply to the service-providing unit.

Die Erfindung betrifft weiterhin eine Dienstnutzungseinheit, die in dem erfindungsgemäßen Verfahren oder einer seiner Wei terbildungen als Datenverarbeitungsanlage oder an Stelle der Datenverarbeitungsanlage eingesetzt werden kann. Damit gelten die oben genannten technischen Wirkungen auch für die Dienstnutzungseinheit.The The invention further relates to a service usage unit, which in the method according to the invention or one of its developments as a data processing system or can be used in place of the data processing system. In order to the above-mentioned technical effects also apply to the service usage unit.

Weiterhin betrifft die Erfindung einen Einheitenverbund, der die Diensterbringungseinheit und die Dienstnutzungseinheit bzw. deren Weiterbildungen enthält. Somit gelten auch für den Einheitenverbund die oben genannten technischen Wirkungen.Farther The invention relates to a unit assembly comprising the service delivery unit and contains the service usage unit or its developments. Consequently also apply to the unit composite the above-mentioned technical effects.

Im Folgenden werden Ausführungsbeispiele der Erfindung anhand der beiliegenden Zeichnungen erläutert. Darin zeigen:in the Below are embodiments of the Invention explained with reference to the accompanying drawings. In this demonstrate:

1 einen Rechnerverbund gemäß einem ersten Ausführungsbeispiel, 1 a computer network according to a first embodiment,

2 Verfahrensschritte in dem Rechnerverbund bei der Nutzung eines Programms, 2 Procedural steps in the computer network when using a program,

3 einen Rechnerverbund gemäß einem zweiten Ausführungsbeispiel, 3 a computer network according to a second embodiment,

4 den Aufbau einer Dienstnutzungseinheit, und 4 the structure of a service usage unit, and

5 den Aufbau einer Diensterbringungseinheit. 5 the construction of a service-providing unit.

1 zeigt einen Rechnerverbund 10 gemäß einem ersten Ausführungsbeispiel. Der Rechnerverbund 10 enthält Dienstnutzungsrechner bzw. Datenverarbeitungsanlagen 12, 14 und 16 eines lokalen Datenübertragungsnetzes 18, beispielsweise eines Firmennetzes oder eines Teils eines Firmennetzes. Das lokale Datenübertragungsnetz 18 wird auch als LAN (Local Area Network) bezeichnet. Das lokale Datenübertragungsnetz 18 ist mit einem größeren Datenübertragungsnetz verbunden, beispielsweise mit dem Internet 20. 1 shows a computer network 10 according to a first embodiment. The computer network 10 Contains service utilization computers or data processing systems 12 . 14 and 16 a local data transmission network 18 , for example, a company network or part of a corporate network. The local data transmission network 18 is also known as LAN (Local Area Network). The local data transmission network 18 is connected to a larger data transmission network, such as the Internet 20 ,

Am Internet 20 wird ein Diensterbringungsrechner 22 betrieben, dessen Funktionen weiter unten anhand der 2 näher erläutert werden. Im Zusammenhang mit dem ebenfalls unten anhand der 2 erläuterten Verfahren werden ein Kennzeichenwert KW, ein Referenzwert RW und ein Vergleichswert VW erzeugt. Außerdem wird von dem Dienstnutzungsrechner 12 eine Anforderungsmeldung 50 erzeugt, die über das Internet 20 zu dem Diensterbringungsrechner 22 übertragen wird. Der Diensterbringungsrechner 22 enthält eine Lizenzierungseinheit 60, die ihrerseits ein Lizenzierungsmodul 62 enthält. Aufgrund der Anforderungsmeldung 50 wird in dem Diensterbringungsrechner 22 beispielsweise ein Programmaufruf 52 veranlasst, falls das Lizenzierungsmodul 62 als Programm realisiert ist. Das Lizenzierungsmodul 62 erzeugt daraufhin Programmdaten 54, die in einer Antwortnachricht 56 vom Diensterbringungsrechner 22 über das Internet 20 zu dem Dienstnutzungsrechner 12 übertragen werden.On the internet 20 becomes a service provision calculator 22 whose functions are described below on the basis of 2 be explained in more detail. In connection with the also below on the basis of 2 explained method, a license plate value KW, a reference value RW and a comparison value VW are generated. In addition, the service usage calculator is used 12 a request message 50 generated over the internet 20 to the service providing computer 22 is transmitted. The service provision calculator 22 contains a licensing unit 60 , which in turn is a licensing module 62 contains. Due to the request message 50 is in the service provider computer 22 for example, a program call 52 if the licensing module 62 realized as a program. The licensing module 62 then generates program data 54 that in a response message 56 from the service provider computer 22 over the internet 20 to the service usage calculator 12 be transmitted.

In 1 ist außerdem ein Benutzer B eines Programms P1 des Dienstnutzungsrechners 12 dargestellt. Zum Festlegen des Kennzeichenwertes wird beispielsweise auch ein Kennzeichen des Benutzers B einbezogen, beispielsweise ein körperliches Kennzeichen oder ein Kennzeichen, das den Benutzer B von anderen Benutzern unterscheidet, beispielsweise eine Mitarbeiternummer auf einem elektronischen Betriebsausweis.In 1 is also a user B of a program P1 of the service use computer 12 shown. To set the license plate value, for example, a license number of the user B is also included, for example a physical license plate or license plate, which distinguishes the user B from other users, for example an employee number on an electronic business card.

2 zeigt Verfahrensschritte, die beim Nutzen des Programms P1 ausgeführt werden. Das Verfahren beginnt in einem Verfahrensschritt 570. Ein Setup-Programm installiert beispielsweise mit Hilfe des Betriebssystems das Programm P1, beispielsweise unter dem Betriebssystem Windows, insbesondere Windows XP, mit Hilfe des sogenannten Windows-Installers. Damit ist das Programm P1 in das Betriebssystem des Dienstnutzungsrechners 12 integriert und kann dessen Schutzmechanismus gegen Missbrauch nutzen. 2 shows method steps that are executed when using the program P1. The process begins in one process step 570 , For example, a setup program installs the program P1 using the operating system, for example under the operating system Windows, in particular Windows XP, with the aid of the so-called Windows installer. Thus, the program P1 is in the operating system of the service use computer 12 integrated and can use its protection mechanism against abuse.

In einem nachfolgenden Verfahrensschritt S72 wird beim ersten Programmstart des Programms P1 gemäß einer bei der Herstellung des Programms P1 vorgegebenen Vorschrift ein Kennzeichenwert KW ermittelt, der auf gleiche Weise auch bei folgenden Starts des Programms P1 abgefragt werden soll, beispielsweise ein Kennzeichen eines Prozessors in dem Dienstnutzungsrechner 12 und ein Datensatz, der von einem Fingerabdrucksensor erzeugt wird, wenn der Nutzer B seinen Zeigefinger auf den Fingerabdrucksensor legt.In a subsequent method step S72, the program is started the first time the program is started P1 determines according to a prespecified in the preparation of the program P1 regulation a characteristic value KW, which is to be queried in the same way also at subsequent starts of the program P1, for example, a characteristic of a processor in the service use computer 12 and a record generated by a fingerprint sensor when the user B places his index finger on the fingerprint sensor.

In einem Verfahrensschritt S74 nimmt das Programm P1 beim ersten Programmstart beispielsweise über das Protokoll TCP/IP (Transmission Control Protocol/Internet Protocol) Kontakt mit dem Diensterbringungsrechner 22 auf, um die für seine Ausführung notwendigen Komponenten zu erhalten. Dabei wird die Anforderungsmeldung 50 erzeugt. In der Anforderungsmeldung ist der Kennzeichenwert KW enthalten. Der Kennzeichenwert enthält alternativ verschlüsselte Daten, beispielsweise des Prozessorkennzeichens oder des vom Fingerabdrucksensor erzeugten Datensatzes.In a method step S74, the program P1 makes contact with the service providing computer at the first program start, for example via the transmission control protocol / Internet protocol (TCP / IP) 22 to obtain the necessary components for its execution. The request message will be displayed 50 generated. The request message contains the license plate value KW. The tag value alternatively includes encrypted data, such as the processor tag or the record generated by the fingerprint sensor.

In einem Verfahrensschritt S76 wird die Nutzungsanforderung bzw. die Anforderungsmeldung 50 in dem Diensterbringungsrechner 22 bearbeitet. Dabei überprüft der Diensterbringungsrechner 22 die Berechtigung für die Anforderung der fehlenden Komponenten. Dies geschieht beispielsweise mit Hilfe von Standard-Warenwirtschaftssystemen, wie SAP. Beispielsweise werden vom Diensterbringungsrechner 22 mehr als 100000 Lizenzen eines Programms verwaltet, beispielsweise für Komponenten des Systems HiPath der Firma Siemens AG. Es wird eine Berechtigungsprüfung durchgeführt, bei der geprüft wird, ob noch Lizenzen vergeben werden können. Zur Identifizierung des Dienstnutzungsrechners 12 dient beispielsweise dessen IP-Adresse oder ein anderes Kennzeichen, das beispielsweise vom Benutzer B eingegeben wird, beispielsweise ein Produktname und ein Firmenname, oder der Kennzeichenwert KW selbst, der mit Werten in einer Referenzliste im Diensterbringungsrechner 22 verglichen wird. Stellt der Diensterbringungsrechner 22 fest, dass noch eine Lizenz vergeben werden kann, so erzeugt er die noch fehlenden Komponenten in dem Lizenzierungsmodul 62, wobei die Programmdaten 54 erzeugt werden. Die Programmdaten 54 sichern nach Einbindung in das Programm P1, dass dieses Programm nur dann seine Hauptfunktion erbringt, wenn ein Vergleichswert VW vorliegt, der bspw. gleich einem Referenzwert RW ist. Der Referenzwert ist beispielsweise gleich dem Kennzeichenwert oder einem aus dem Kennzeichenwert berechneten Wert, bspw. mittels einer Verschlüsselung, wobei der Referenzwert vor dem Vergleich wieder entschlüsselt wird. Alternativ kann der verschlüsselte Referenzwert auch mit einem verschlüsselten Vergleichswert verglichen werden. Auch andere Berechnungsverfahren werden genutzt, um die Sicherheit gegen Missbrauch zu erhöhen. Ist das in das Programm eingebaute Identifizierungskriterium dagegen nicht erfüllt oder nicht mehr erfüllt, so wird die Ausführung des Programms abgebrochen bzw. das Programm wird nicht gestartet.In a method step S76, the usage request or the request message is 50 in the service provider computer 22 processed. The service provider computer checks 22 the permission to request the missing components. This happens, for example, with the help of standard merchandise management systems, such as SAP. For example, the service provider computer 22 managed more than 100000 licenses of a program, for example for components of the system HiPath Siemens AG. An authorization check is carried out to check whether licenses can still be issued. To identify the service usage calculator 12 For example, its IP address or other identifier used by user B, for example, a product name and a company name, or the tag value KW itself, which is used with values in a reference list in the service providing computer 22 is compared. Represents the service delivery calculator 22 If it is determined that a license can still be granted, it will generate the missing components in the licensing module 62 , where the program data 54 be generated. The program data 54 After integration into the program P1, they ensure that this program performs its main function only if there is a comparison value VW which, for example, is equal to a reference value RW. The reference value is, for example, equal to the license plate value or a value calculated from the license plate value, for example by means of an encryption, wherein the reference value is decrypted again before the comparison. Alternatively, the encrypted reference value can also be compared with an encrypted comparison value. Other calculation methods are also used to increase the security against misuse. On the other hand, if the identification criterion incorporated in the program is not fulfilled or is no longer fulfilled, the execution of the program is aborted or the program is not started.

Im Einzelnen werden beispielsweise die folgenden Schritte durchgeführt:

  • – Erzeugen einer Anfrage an eine Datenbank, ob der Dienstnutzungsrechner 12 bzw. der Benutzer B das Programm P1 nutzen darf,
  • – Beantworten der Anfrage anhand einer geeigneten Datenbank, z.B. aus einem Workflow, d.h. aus einer Programmumgebung, die beispielsweise Programmmodule enthält, die den Verkauf und die Lieferung des Programms P1 unterstützen,
  • – optionales Ermitteln der Berechtigung zur Benutzung, beispielsweise durch Abfrage eines Passwortes vom Benutzer B oder durch eine sonstige absichernde Maßnahme.
Specifically, for example, the following steps are performed:
  • Generating a request to a database as to whether the service usage calculator 12 or user B is allowed to use program P1,
  • Responding to the request by means of a suitable database, eg from a workflow, ie from a program environment containing, for example, program modules which support the sale and delivery of program P1,
  • - Optional determination of the authorization to use, for example by querying a password from the user B or by any other protective measure.

Falls der Nutzer berechtigt ist:

  • – Ermitteln der notwendigen zu modifizierenden Quelltextteile, beispielsweise in einer Programm-Datenbank,
  • – Einarbeiten der Identifikationsinformation bzw. des Referenzwertes in die Quelltextteile bzw. in den Quelltext beispielsweise durch Kompilieren.
If the user is authorized:
  • Determining the necessary source code parts to be modified, for example in a program database,
  • - Incorporate the identification information or the reference value in the source text parts or in the source code, for example by compiling.

Falls nicht berechtigt:

  • – Zurückweisen der Anfrage.
If not authorized:
  • - reject the request.

In einem Verfahrensschritt S78 erzeugt der Diensterbringungsrechner 22 aus den modifizierten Quelltexten ein vollständiges Programm P1 oder aus den modifizierten Quelltextteilen einen sogenannten Patch, mit dessen Hilfe Programmteile des Programms P1 verändert werden können. Es wird bspw. eine ausführbare Installationsdatei erzeugt und eine Datei mit den Änderungsdaten. Die ausführbare Datei heißt beispielsweise "Setup.exe". Dieser Patch bzw. das gesamte Programm wird an den Dienstnutzungsrechner 12 übermittelt, beispielsweise in der Antwortnachricht 56. Somit erfolgt die Distribution der dedizierten Komponenten für den anfragenden Dienstnutzungsrechner 12. Alternativ wird der Maschinencode auch direkt unter Verwendung der Identifikationsinformation bzw. des Referenzwertes verändert, d.h. ohne Einbeziehung von Quelltext. In jedem Fall enthält das geänderte Maschinenprogramm jedoch den Referenzwert, z.B. unverschlüsselt oder verschlüsselt.In a method step S78, the service providing computer generates 22 from the modified source texts a complete program P1 or from the modified source code parts a so-called patch, with the aid of which program parts of the program P1 can be changed. For example, an executable installation file is generated and a file with the modification data. For example, the executable file is named Setup.exe. This patch or the entire program is sent to the service use computer 12 transmitted, for example in the response message 56 , Thus, the distribution of the dedicated components for the requesting service use computer takes place 12 , Alternatively, the machine code is also changed directly using the identification information or the reference value, ie without the inclusion of source code. In any case, however, the modified machine program contains the reference value, eg unencrypted or encrypted.

In einem Verfahrensschritt S80 wird auf dem Dienstnutzungsrechner 12 der Patch in das Programm P1 eingefügt, beispielsweise mit Hilfe des Betriebssystems, insbesondere mit Hilfe eines Installierprogramm des Betriebssystems, z.B. dem Installer des Betriebssystems Windows, z.B. Windows XP. Dabei wird auch der Referenzwert RW im Maschinencode des Programms P1 gespeichert.In a method step S80 is on the service use computer 12 the patch is inserted into the program P1, for example with the aid of the operating system, in particular with the aid of an installation program of the operating system, eg the installer of the operating system Windows, eg Windows XP. In this case, the reference value RW in Maschi nencode of the program P1 stored.

Anschließend oder beim nächsten Start des Programms P1 wird vom Programm P1 in einem Verfahrensschritt S82 nach der vorgegebenen Vorschrift ein Vergleichswert VW ermittelt, beispielsweise durch Lesen des Kennzeichens des Prozessors bzw. durch Lesen der Daten vom Fingerabdrucksensor.Subsequently or at the next Start of the program P1 is the program P1 in one step S82 determined according to the prescribed rule a comparison value VW, for example, by reading the tag of the processor or by Reading the data from the fingerprint sensor.

In einem folgenden Verfahrensschritt S84 wird der Vergleichswert VW mit dem Referenzwert RW verglichen. Sind beide Wert gleich, so folgt nach dem Verfahrensschritt S84 unmittelbar ein Verfahrensschritt S86, bei dem weitere Schritte des Programms P1 ausgeführt werden, die die Hauptfunktion des Programms P1 erbringen, beispielsweise die Internettelefonie und/oder den Zugriff auf eine Telekommunikationsanlage bzw. auf einen Diensterbringungsrechner mit den Funktionen einer Telekommunikationsanlage. Eine Telekommunikationsanlage ist dabei eine Einheit, die zum Vermitteln von Gesprächsverbindungen innerhalb eines privaten Netzes, insbesondere innerhalb eines Firmennetzes dient. Bekannte Telekommunikationsan lagen sind die Telekommunikationsanlagen HICOM bzw. HiPath der Firma Siemens AG.In a subsequent method step S84 becomes the comparison value VW compared with the reference value RW. If both values are equal, then follows after the method step S84 directly a method step S86 in which further steps of the program P1 are executed, which perform the main function of the program P1, for example Internet telephony and / or access to a telecommunications system or on a service-providing computer with the functions of a Telecommunications system. A telecommunications system is included a unit used to facilitate call connections within a private network, especially within a corporate network. Known Telekommunikationsan layers are the telecommunications equipment HICOM or HiPath from Siemens AG.

Dem Verfahrensschritt S86 folgt ein Verfahrensschritt S88, in dem das Programm P1 und damit auch das Verfahren beendet wird.the Step S86 is followed by a step S88 in which the Program P1 and thus the procedure is terminated.

Wird dagegen im Verfahrensschritt S84 festgestellt, dass der Vergleichswert nicht mit dem Referenzwert übereinstimmt, d.h., dass das Programm P1 beispielsweise auf einem anderen Computer, z.B. auf dem Dienstnutzungsrechner 14, bzw. von einem anderen Benutzer als Benutzter B gestartet wird, so wird die Ausführung des Programms P1 in einem dem Verfahrensschritt S84 folgenden Verfahrensschritt S90 beendet. Das bedeutet, dass Befehle des Programms P1 zum Erbringen der Hauptfunktion des Programms P1 nicht ausgeführt werden.If, on the other hand, it is determined in method step S84 that the comparison value does not coincide with the reference value, ie that the program P1 is, for example, on another computer, eg on the service utilization computer 14 , or is started by another user as a user B, the execution of the program P1 is terminated in a step S90 following the method step S84. This means that commands of the program P1 for performing the main function of the program P1 are not executed.

Beim nächsten Start des Programms P1 werden bei einem Ausführungsbeispiel nur die Verfahrensschritte S82 bis S90 durchgeführt. Bei einem alternativen Ausführungsbeispiel werden alle Verfahrensschritte durchgeführt, beispielsweise wenn die Lizenzen am Ende des Verfahrens wieder zurückgegeben werden.At the next Start of the program P1 in one embodiment only the method steps S82 to S90 performed. In an alternative embodiment All process steps are performed, for example if the licenses be returned at the end of the procedure.

Damit wurde ein Verfahren angegeben, bei dem kein Lizenzschlüssel übertragen, verwaltet bzw. gespeichert wird. Es wird ein ausführbares Programm erzeugt, das nur auf einer fest vorgegebenen Maschine bzw. einem fest vorgegebenen Dienstnutzungsrechner lauffähig ist. Das Programm P1 gibt es nur einmal. Bei Verlust des Programms P1 muss ein neues Programm erzeugt und lizenziert werden.In order to a method was specified in which no license key is transmitted, is managed or stored. It will be an executable Program generated only on a fixed machine or a fixed predetermined service use computer is executable. The program P1 is only available once. If program P1 is lost a new program must be created and licensed.

Im Gegensatz zu sogenannten Gruppenpasswörtern sind die Lizenzen individuell vergeben, beispielsweise für einen bestimmten Rechner bzw. für einen bestimmten Nutzer. Ein zusätzliches Administratorprogramm zum Vermerken von Passwörtern ist nicht erforderlich. Außerdem sind die Kennzeichenwerte nicht an fest vorgegebenen Stellen im Dienstnutzungsrechner 22 zu speichern. Die Einbindung in den Maschinencode des Programms P1 ist damit möglich, insbesondere kann der Referenzwert auch innerhalb des Maschinencodes bei jedem Neustart des Programms an eine andere Stelle des Programms P1 verschoben werden, was eine erhöhte Sicherheit bietet.In contrast to so-called group passwords, the licenses are assigned individually, for example, for a specific computer or for a specific user. An additional administrator program to note passwords is not required. In addition, the license plate values are not at fixed locations in the service use computer 22 save. The integration into the machine code of the program P1 is thus possible, in particular, the reference value can also be moved within the machine code each time the program is restarted to a different location of the program P1, which provides increased security.

3 zeigt einen Rechnerverbund 10a gemäß einem zweiten Ausführungsbeispiel. Bestandteile mit gleichen Funktionen und gleichem Aufbau wie anhand der 1 erläuterte Bestandteile haben das gleiche Bezugszeichen, jedoch mit einem nachgestellten Kleinbuchstaben "a", siehe beispielsweise den Dienstnutzungsrechner 12a, der dem Dienstnutzungsrechner 12 entspricht. Zusätzlich zu den oben anhand der 1 erläuterten Einheiten wird in das Verfahren gemäß zweitem Ausführungsbeispiel eine Telekommunikationsanlage 100 einbezogen, die beispielsweise am Internet 20a bzw. am lokalen Datenübertragungsnetz 18a betrieben wird. Bei dem zweiten Ausführungsbeispiel wird eine der Anforderungsmeldung 50 entsprechende Anforderungsmeldung 102 nicht an den Diensterbringungsrechner 22 bzw. einen diesem Diensterbringungsrechner entsprechenden Diensterbringungsrechner 22a gesendet, sondern an die Telekommunikationsanlage 100. Die Telekommunikationsanlage 100 ermittelt den Diensterbringungsrechner 22a als eigentliches Ziel der Anforderungsmeldung und erzeugt eine Anforderungsmeldung 104, in der auch ein Kennzeichen der Telekommunikationsanlage 100 enthalten ist. Die Lizenzierung erfolgt dann bezogen auf die Telekommunikationsanlage 100, so dass geprüft wird, wie viel Lizenzen für diese Telekommunikationsanlage 100 noch zur Verfügung stehen. Im Übrigen werden jedoch die anhand der 2 erläuterten Verfahrensschritte ausgeführt. 3 shows a computer network 10a according to a second embodiment. Components with the same functions and structure as those based on 1 explained components have the same reference numeral, but with a trailing lowercase letter "a", see for example the service use calculator 12a which is the service utilization calculator 12 equivalent. In addition to the above based on the 1 explained units is in the method according to the second embodiment, a telecommunications system 100 included, for example, on the Internet 20a or on the local data transmission network 18a is operated. In the second embodiment, one of the request message 50 corresponding request message 102 not to the service provider computer 22 or a service-providing computer corresponding to this service-providing computer 22a but sent to the telecommunications system 100 , The telecommunication system 100 determines the service provider computer 22a as the actual destination of the request message and generates a request message 104 , which is also a hallmark of the telecommunications system 100 is included. The licensing will then be based on the telecommunications system 100 , so that is checked how much licenses for this telecommunications system 100 still available. By the way, however, those based on the 2 explained method steps executed.

4 zeigt eine Dienstnutzungseinheit 120, die beispielsweise an Stelle des Dienstnutzungsrechners 12 bzw. 12a verwendet werden kann. Bei einem Ausführungsbeispiel ist die Dienstnutzungseinheit 120 ausschließlich aus Schaltungskomponenten aufgebaut und enthält keinen Prozessor, der ein Programm ausführt. Die Dienstnutzungseinheit 120 enthält eine Sende-/Empfangseinheit 122 und eine zu lizenzierende Einheit 124. Bei einem alternativen Ausführungsbeispiel enthält die Dienstnutzungseinheit 120 außerdem einen Prozessor 126. Die zu lizenzierende Einheit 124 steht mit der Sende-/Empfangseinheit 122 über eine interne Verbindung 130 in Verbindung, über die Daten übertragen werden. Beim Betrieb der Dienstnutzungseinheit 120 werden die oben für den Dienstnutzungsrechner 12 anhand der 2 erläuterten Verfahrensschritte durchgeführt. 4 shows a service usage unit 120 , for example, in place of the service use computer 12 respectively. 12a can be used. In one embodiment, the service usage unit is 120 constructed exclusively of circuit components and does not contain a processor executing a program. The service usage unit 120 contains a send / receive unit 122 and a unit to be licensed 124 , In an alternative embodiment, the service usage unit includes 120 also a processor 126 , The unit to be licensed 124 stands with the transmitting / receiving unit 122 via an internal connection 130 in connection, over which data are transferred. When loading drove the service usage unit 120 Be the top for the utility computer 12 based on 2 explained method steps performed.

5 zeigt eine Diensterbringungseinheit 150, die an Stelle des Diensterbringungsrechners 22 bzw. 22a verwendet werden kann. Bei einem Ausführungsbeispiel enthält die Diensterbringungseinheit 150 nur Schaltungen und keinen Prozessor, der ein Programm abarbeitet. Die Diensterbringungseinheit 150 enthält eine Sende-/Empfangseinheit 152, die an das Internet 20 angeschlossen ist, und eine Lizenzierungseinheit 154. Außerdem ist in der Diensterbringungseinheit 150 ein Lizenzdatum 156 gespeichert, in dem beispielsweise die Anzahl der noch zur Verfügung stehenden bzw. der bereits erteilten Lizenzen für einen bestimmten Kunden oder für eine bestimmte Telekommunikationsanlage gespeichert sind. In einem Absenderdatum 156 ist beispielsweise ein Kennzeichen für die Telekommunikationsanlage oder für einen bestimmten Kunden vermerkt. Die Lizenzierungseinheit tauscht Daten mit der Sende-/Empfangseinheit 152, einer Speichereinheit zum Speichern des Absenderdatums 156 und einer Speichereinheit zum Speichern des Lizenzdatums 156 über interne Verbindungen 160, 162 bzw. 164 aus. Die Verbindungen 162 und 164 werden bei einem anderen Ausführungsbeispiel durch externe Verbindungen beim Abfragen von Datenbanken ersetzt. Bei einem anderen Ausführungsbeispiel enthält die Diensterbringungseinheit 150 auch einen Prozessor 166, der beispielsweise beim Erbringen der Funktionen der Lizenzierungseinheit 154 genutzt wird. Beim Betrieb der Diensterbringungseinheit 150 werden die oben für die Diensterbringungsrechner 22 und 22a erläuterten Verfahrensschritte ausgeführt. 5 shows a service providing unit 150 in place of the service provider computer 22 respectively. 22a can be used. In one embodiment, the service providing unit includes 150 only circuits and no processor executing a program. The service delivery unit 150 contains a send / receive unit 152 connected to the internet 20 connected, and a licensing unit 154 , It is also in the service delivery unit 150 a license date 156 stored, in which, for example, the number of still available or already issued licenses for a particular customer or for a particular telecommunications system are stored. In a sender's date 156 For example, a license plate for the telecommunications system or for a particular customer is noted. The licensing unit exchanges data with the sender / receiver unit 152 , a storage unit for storing the sender's date 156 and a storage unit for storing the license date 156 via internal connections 160 . 162 respectively. 164 out. The connections 162 and 164 In another embodiment, external connections are substituted when querying databases. In another embodiment, the service providing unit includes 150 also a processor 166 for example, in performing the functions of the licensing unit 154 is being used. When operating the service delivery unit 150 Be the top for the service providers 22 and 22a explained method steps executed.

Bei einem anderen Ausführungsbeispiel erfolgt die Einbindung des Kennzeichenwertes KW bzw. des Referenzwertes RW ausschließlich im Dienstnutzungsrechner 12, so dass dann kein Kennzeichenwert KW und kein Referenzwert RW übertragen werden. Über die Datenübertragungsnetze 18, 20 wird nur das Vorliegen einer Benutzungsberechtigung geprüft.In another embodiment, the integration of the license plate value KW or the reference value RW takes place exclusively in the service use computer 12 so that no license plate value KW and no reference value RW are transmitted. About the data transmission networks 18 . 20 only the existence of a user authorization is checked.

Claims (16)

Verfahren zum Nutzen eines Programms (P1, P1a), mit den Schritten: Festlegen mindestens eines gemäß einer Festlegungsregel zu ermittelnden Kennzeichenwertes (KW), der eine Datenverarbeitungsanlage (12) und/oder einen Benutzer (B) der Datenverarbeitungsanlage (12) kennzeichnet (S72), Ausführen von Befehlen des Programms (P1), wobei automatisch gemäß der Festlegungsregel ein Vergleichswert (VW) erzeugt wird (S82), Prüfen des Vergleichswertes (VW) unter Verwendung des Kennzeichenwertes (KW) oder eines aus dem Kennzeichenwert (KW) erzeugten Referenzwertes (RW), (S84), bei positivem Prüfergebnis Ausführen von Befehlen des Programms (P1), (S86), die nicht ausgeführt werden, wenn ein negatives Prüfergebnis vorliegt (S90).Method for using a program (P1, P1a), comprising the steps of: determining at least one identification value (KW) to be determined according to a determination rule, which comprises a data processing system ( 12 ) and / or a user (B) of the data processing system ( 12 ) (S72), executing instructions of the program (P1), automatically generating a comparison value (VW) according to the determination rule (S82), checking the comparison value (VW) using the label value (KW) or one of the label value ( KW), (S84), if the test result is positive, executing instructions of the program (P1), (S86) which are not executed if there is a negative test result (S90). Verfahren nach Anspruch 1, gekennzeichnet durch die Schritte: Erzeugen einer Nutzungsanforderung (50) für ein Programm (P1, P1a) durch die Datenverarbeitungsanlage (12), (S74), Übertragen der Nutzungsanforderung (50) über ein Datenübertragungsnetz (20) (S74), Übertragen des Kennzeichenwertes (KW) von der Datenverarbeitungsanlage (12) über das Datenübertragungsnetz (20), (S74), Bearbeiten der übertragenen Nutzungsanforderung unter Verwendung eines Nutzungsdatums (158), dessen Wert abhängig vom Vorliegen einer Nutzungsberechtigung für das Programm (P1) ist (S76), bei einem Wert des Nutzungsdatums (158), der eine Nutzungsberechtigung angibt, Erzeugen eines Referenzwertes (RW) aus dem übertragenen Kennzeichenwert (S76), vorzugsweise Speichern des Referenzwertes (RW), (S80),Method according to claim 1, characterized by the steps of: generating a usage request ( 50 ) for a program (P1, P1a) by the data processing system ( 12 ), (S74), transmitting the usage request ( 50 ) via a data transmission network ( 20 ) (S74), transmitting the license plate value (KW) from the data processing system (S74) 12 ) via the data transmission network ( 20 ), (S74), processing the transmitted usage request using a usage date ( 158 ) whose value is dependent on the existence of a use authorization for the program (P1) (S76), at a value of the usage date ( 158 ) indicating a use authorization, generating a reference value (RW) from the transmitted label value (S76), preferably storing the reference value (RW), (S80), Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch die Schritte: Erzeugen einer Antwortmeldung (56), die den Referenzwert (RW) enthält, Übertragen der Antwortmeldung (56) über das Datenübertragungsnetz (20) und Speichern des in der Antwortmeldung (56) übertragenen Referenzwertes (RW).Method according to claim 1 or 2, characterized by the steps: generating a response message ( 56 ) containing the reference value (RW), transmitting the response message ( 56 ) via the data transmission network ( 20 ) and save the message in the response message ( 56 ) transmitted reference value (RW). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Kennzeichenwert (KW) oder der Referenzwert (RW) im Maschinencode des Programms (P1) gespeichert wird, vorzugsweise in einem Befehlsdatenabschnitt des Programms oder in einem Programmdatenabschnitt des Programms, insbesondere unter Verwendung einer Programminstallationsfunktion des Betriebssystems der Datenverarbeitungsanlage (12).Method according to one of the preceding claims, characterized in that the license plate value (KW) or the reference value (RW) is stored in the machine code of the program (P1), preferably in a command data section of the program or in a program data section of the program, in particular using a program installation function the operating system of the data processing system ( 12 ). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zur Ermittlung des Kennzeichenwertes (KW) mindestens eines der folgenden Daten verwendet wird: ein Datum, das in einem Prozessor der Datenverarbeitungsanlage (12) nichtflüchtig gespeichert ist, ein Datum, das in einer Netzwerkkarte der Datenverarbeitungsanlage (12) nichtflüchtig gespeichert ist, ein Datum oder Daten, die von einem biometrischen Sensor erzeugt werden, insbesondere von einem Fingerabdrucksensor, ein Datum, das ein Programmkennzeichen eines Programms der Datenverarbeitungsanlage ist.Method according to one of the preceding claims, characterized in that at least one of the following data is used to determine the license plate value (KW): a date that is stored in a processor of the data processing system ( 12 ) is stored in non-volatile memory, a date stored in a network card of the data processing system ( 12 ) is non-volatile stored, a date or data generated by a biometric sensor, in particular a fingerprint sensor, a date that is a program identifier of a program of the data processing system. Verfahren nach einem der Ansprüchen 2 bis 6, dadurch gekennzeichnet, dass die Nutzungsanforderung (104) von einer Telekommunikationsanlage (100) weitergeleitet wird, die insbesondere teilnehmerseitig gemäß einem Teilnehmerprotokoll für durchschaltevermittelte Verbindungen und netzwerkseitig gemäß einem vom Teilnehmerprotokoll verschiedenen Protokoll für durchschaltevermittelte Verbindungen signalisiert.Method according to one of claims 2 to 6, characterized in that the use requirement ( 104 ) from a telecommunications system ( 100 ), which in particular signals subscriber-side according to a subscriber protocol for circuit-switched connections and network-side according to a different protocol for circuit-switched connections from the subscriber protocol. Verfahren nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, dass die Nutzungsanforderung von einem ersten Diensterbringungsrechner (100) weitergeleitet wird, der über ein Datenübertragungsnetz mit der Datenverarbeitungsanlage verbunden ist, wobei der Wert eines Adressdatums eines zweiten Diensterbringungsrechners (22a) zum Verarbeiten der Nutzungsanforderung erst in dem ersten Diensterbringungsrechner (100) ermittelt wird.Method according to one of claims 2 to 6, characterized in that the usage request from a first service providing computer ( 100 ), which is connected to the data processing system via a data transmission network, the value of an address datum of a second service provision computer ( 22a ) for processing the usage request only in the first service provision computer ( 100 ) is determined. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Programm (P1) ein Programm (P1) für die Internettelefonie ist, insbesondere ein Programm eines an einer Telekommunikationsanlage (100) oder an einem Diensterbringungsrechner mit Funktionen zur Vermittelung von Sprachverbindungen betriebenen Endgerätes (12a).Method according to one of the preceding claims, characterized in that the program (P1) is a program (P1) for the Internet telephony, in particular a program of a telecommunication system ( 100 ) or at a service providing computer with functions for the switching of voice connections operated terminal ( 12a ). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass kein Lizenzschlüssel des Programms (P1) übertragen wird.Method according to one of the preceding claims, characterized characterized in that no license key of the program (P1) transmitted becomes. Diensterbringungseinheit (150), mit einer Sende-/Empfangseinheit (152) für eine Datenübertragung, mit einer Lizenzierungseinheit (154), die abhängig von einer empfangenen Nutzungsanforderung (50, 104) für ein Programm (P1) ein Nutzungsdatum (158) in einer Speichereinheit der Diensterbringungseinheit (150) oder einer anderen Diensterbringungseinheit liest, dessen Wert abhängig vom Vorliegen einer Nutzungsberechtigung für das Programm (P1) ist, und die bei vorliegender Nutzungsberechtigung abhängig von einem in der Nutzungsanforderung oder in der gleichen Verbindung empfangenen Kennzeichenwert mindestens einen Referenzwert (RW) erzeugt.Service providing unit ( 150 ), with a transceiver unit ( 152 ) for a data transmission, with a licensing unit ( 154 ) depending on a received usage request ( 50 . 104 ) for a program (P1) a usage date ( 158 ) in a storage unit of the service providing unit ( 150 ) or another service providing unit whose value depends on the existence of a use authorization for the program (P1), and which generates at least one reference value (RW) depending on a license plate number received in the usage request or in the same connection. Diensterbringungseinheit (150) nach Anspruch 10, dadurch gekennzeichnet, dass die Lizenzierungseinheit (154) das Nutzungsdatum abhängig von einem Sender der Nutzungsanforderung oder abhängig von einem in der Nutzungsanforderung ange gebenen Datum zum Kennzeichnen einer Datenverarbeitungsanlage ermittelt.Service providing unit ( 150 ) according to claim 10, characterized in that the licensing unit ( 154 ) determines the usage date depending on a sender of the usage request or depending on a date specified in the usage request for identifying a data processing system. Diensterbringungseinheit nach Anspruch 10 oder 11 mit einer Einheit, die im Betrieb einen Verfahrensschritt nach einem der Ansprüche 1 bis 9 ausführt.Service delivery unit according to claim 10 or 11 with a unit that is in operation one step after a the claims 1 to 9 executes. Dienstnutzungseinheit (120), mit einer Sende-/Empfangseinheit (122) für eine Datenübertragung, mit einer Einheit (124), die gemäß einer Festlegungsregel einen Kennzeichenwert (KW) festlegt und mit einer Nutzungsanforderung (50, 102) für die Einheit (124) von der Sendeeinheit (122) versendet, und die automatisch gemäß der Festlegungsregel einen Vergleichswert (VW) erzeugt, und die den Vergleichswert (VW) unter Verwendung eines Referenzwertes (RW) prüft, und die bei positivem Prüfergebnis die Nutzung weiterer Funktionen der Einheit (122) oder die Nutzung mindestens einer Funktion der Einheit (122) zulässt, die nicht zugelassen wird, wenn ein negatives Prüfergebnis vorliegt.Service usage unit ( 120 ), with a transceiver unit ( 122 ) for a data transmission, with one unit ( 124 ) which defines a license plate value (KW) according to a determination rule and with a usage request ( 50 . 102 ) for the unit ( 124 ) from the transmitting unit ( 122 ), which automatically generates a comparison value (VW) according to the determination rule, and checks the comparison value (VW) using a reference value (RW) and, if the result of the test is positive, makes use of further functions of the unit (FIG. 122 ) or the use of at least one function of the unit ( 122 ), which is not allowed if there is a negative result. Dienstnutzungseinheit (120) nach Anspruch 13 mit einer Einheit, die beim Betrieb einen Verfahrensschritt nach einem der Ansprüche 1 bis 9 ausführt.Service usage unit ( 120 ) according to claim 13 with a unit which carries out a method step according to one of claims 1 to 9 during operation. Einheitenverbund (10) mit einer Diensterbringungseinheit (150) nach einem der Ansprüche 10 bis 12 und einer Dienstnutzungseinheit (120) nach Anspruch 13 oder 14.Unit network ( 10 ) with a service providing unit ( 150 ) according to one of claims 10 to 12 and a service usage unit ( 120 ) according to claim 13 or 14. Einheitenverbund (10) nach Anspruch 15, gekennzeichnet durch eine Telekommunikationsanlage (100) oder ein Diensterbringungsrechner, welche oder welcher die Nutzungsanforderung (102) weiterleitet.Unit network ( 10 ) according to claim 15, characterized by a telecommunication system ( 100 ) or a service providing computer, which or which the usage request ( 102 ).
DE102005039207A 2005-08-18 2005-08-18 Method of using a program and associated units Ceased DE102005039207A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005039207A DE102005039207A1 (en) 2005-08-18 2005-08-18 Method of using a program and associated units
PCT/EP2006/064759 WO2007020172A1 (en) 2005-08-18 2006-07-27 Method for utilizing a program, and associated units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005039207A DE102005039207A1 (en) 2005-08-18 2005-08-18 Method of using a program and associated units

Publications (1)

Publication Number Publication Date
DE102005039207A1 true DE102005039207A1 (en) 2007-03-15

Family

ID=37084657

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005039207A Ceased DE102005039207A1 (en) 2005-08-18 2005-08-18 Method of using a program and associated units

Country Status (2)

Country Link
DE (1) DE102005039207A1 (en)
WO (1) WO2007020172A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129265A1 (en) * 1999-12-20 2002-09-12 Sonny Corporation Method and apparatus for managing software use
US20050021992A1 (en) * 2002-07-15 2005-01-27 Taku Aida Client terminal, software control method and control program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141698A (en) * 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
EP0968585A1 (en) * 1997-03-14 2000-01-05 Cryptoworks Inc. Digital product rights management technique
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US7565531B2 (en) * 2003-05-13 2009-07-21 Chi-Chian Yu Locking programming interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129265A1 (en) * 1999-12-20 2002-09-12 Sonny Corporation Method and apparatus for managing software use
US20050021992A1 (en) * 2002-07-15 2005-01-27 Taku Aida Client terminal, software control method and control program

Also Published As

Publication number Publication date
WO2007020172A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
DE102007033615B4 (en) Method and apparatus for converting authentication tokens to enable interactions between applications
DE69934207T2 (en) Method for access checking of a user
DE60102555T2 (en) PREVENTING MAP-ENABLED MODULAR MASKER ATTACKS
DE112006001978B4 (en) Verified computer environment for personal internet communication device
DE102004048959B4 (en) Information processing apparatus, authentication processing program and authentication storage apparatus
DE112020000538T5 (en) FINE-GRAINED TOKEN-BASED ACCESS CONTROL
DE60212969T3 (en) METHOD AND DEVICE FOR FOLLOWING THE STATUS OF AN OPERATING MEANS IN A SYSTEM FOR MANAGING THE USE OF THE OPERATING MEANS
DE102008011191A1 (en) Client / server system for communication according to the standard protocol OPC UA and with single sign-on mechanisms for authentication as well as methods for performing single sign-on in such a system
DE112013002539B4 (en) Validation of mobile units
WO2010026152A1 (en) Method for granting authorization to access a computer-based object in an automation system, computer program, and automation system
EP2351320B1 (en) Server system and method providing at least a merit
EP0959588A2 (en) Network element with control device and control method
DE10311327A1 (en) Multiple user medical data processing electronic data system uses separate application level documentation data access and system level user authentication objects
DE10024347B4 (en) Security service layer
EP1332438A2 (en) Method and device for the transfer of electronic data volumes
WO1999012088A1 (en) Method for controlling distribution and use of software products with network-connected computers
DE102005039207A1 (en) Method of using a program and associated units
WO2007065719A2 (en) Method for linking a digital content to a person
DE10046437A1 (en) Identifying computer unit in computer network involves reading individual serial code of standard hardware component, using to identify computer unit, combining with user identity word
EP1035706A2 (en) Method to connect at least two network segments to an access controller through a user identifier
DE102014223374A1 (en) A method of automatically managing an electrical device, an electrical device, a computing device for automatically managing an electrical device, and a system
EP1529257B1 (en) Accepting a set of data in a computer unit
WO1999063697A2 (en) Programme-controlled device
DE60300964T2 (en) Generation of user-specific settings data
WO2024088790A1 (en) Method and system for environment-dependent security-related anomaly detection for a container instance

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection