WO2007020172A1 - Verfahren zum nutzen eines programms und zugehörige einheiten - Google Patents
Verfahren zum nutzen eines programms und zugehörige einheiten Download PDFInfo
- Publication number
- WO2007020172A1 WO2007020172A1 PCT/EP2006/064759 EP2006064759W WO2007020172A1 WO 2007020172 A1 WO2007020172 A1 WO 2007020172A1 EP 2006064759 W EP2006064759 W EP 2006064759W WO 2007020172 A1 WO2007020172 A1 WO 2007020172A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- unit
- value
- service
- usage
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 13
- 238000013475 authorization Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 claims 2
- 238000011161 development Methods 0.000 description 10
- 230000018109 developmental process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 241000282941 Rangifer tarandus Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- LZDYZEGISBDSDP-UHFFFAOYSA-N 2-(1-ethylaziridin-1-ium-1-yl)ethanol Chemical compound OCC[N+]1(CC)CC1 LZDYZEGISBDSDP-UHFFFAOYSA-N 0.000 description 1
- 241000283011 Rangifer Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009736 wetting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Definitions
- the invention relates to a method for using a program with, for example, the steps:
- a data processing facility such as a computer. by a personal computer, - transmitting the usage request over a communications network, e.g. via a local area network (LAN) and / or via the Internet,
- a communications network e.g. via a local area network (LAN) and / or via the Internet
- License to be used are used, for example, to exchange so-called license keys or license keys, which are then used on the so-called client machines or be stored on the data processing system, possibly in publicly known directories.
- both standardized procedures and proprietary procedural ⁇ be used reindeer which are used by a single company. Characteristic of all these methods, however uplifting ⁇ possible security loopholes that favor a misuse of license data, especially if the reference value is a license key that is transmitted unencrypted over the übertra ⁇ supply network, or if the reference value is only a password from a Any person can be entered on any computer, provided that this person is entitled or unauthorized manner known.
- associated units should be specified.
- the object relating to the method object is achieved by a procedural ⁇ ren achieved with the above-mentioned method steps, but also the following method steps ⁇ be performed:
- the data processing system a ⁇ or characterizing a user of the data processing system is characterized ⁇ ,
- the transmitted characteristic ⁇ sign value is necessary to verify, for example on the basis of Referenzlis ⁇ th with, for example processor license plate or digital fingerprints, and...
- the transmission of the response message ensures that the reference value can be stored at a different location than at the point at which it was generated.
- 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.
- the reference value is stored in the machine code, which is difficult to understand and thus protected against misuse.
- the machine code can be processed directly by a processor of the data processing system without further conversion.
- the machine code as well as the bytecode differs from one easier than the machine code more understandable source code in a high-level programming language, such as Assembler or C.
- the fortunatezubil ⁇ tion generated for dedicated, well-defined client Maschi ⁇ nen / user combinations an executable program that is executable only on the dedicated machine or for the licensed user.
- This program is anchored in a Ausgestal ⁇ tion in the operating system of the data processing system or included by a program installation function of the operating system of the data processing system is used. Running the program on another machine is therefore no longer possible.
- the identification value identifies the data processing system and the user, so that the security against misuse of the usage authorization increases further.
- At least one of the following data is used to determine the tag value:
- MAC-ID Media Access Control Identification
- a date which is a program identifier of another program of the data processing system for example a
- License key date The more indicators that are included in the procedure, the harder it becomes to abuse.
- information about the software environment of the program for example about the operating system, can be included.
- information on the advanced hardware environment of the program include, for example, information on being Schlos ⁇ Connected equipment, such as printers and the like.
- the usage request is forwarded by a telecommunication system which, on the part of the subscriber, signals in accordance with a subscriber protocol for circuit-switched connections and on the network side according to a protocol different from subscriber protocol for circuit-switched connections.
- the Cornet TS protocol Cornet TC or Cornet IP is koll the therapeuticproto- example, Siemens or similar pro ⁇ protocol from another provider.
- the network protocol is for example the protocol QSIG, which is inserted fixed in ECMA standard (European Computer Manufacturer Association) 173/174, and is used for signaling systems between telecommunications ⁇ .
- another signaling can be used approximately protocol, including a proprietary proto ⁇ koll how the Cornet NQ protocol of Siemens AG.
- the usage request is forwarded by a first service providing computer, which is connected via a data transmission network to the data processing system, wherein the value of an address data of a second service processing computer for processing the usage request is determined only in the first service providing computer and not in the data processing system.
- the first service providing computer is in particular a computer which assumes the functions of a conventional telecommunications system in future data transmission networks, ie in particular automatic callbacks and / or call forwarding and / or call forwarding, such as call forwarding (call forwarding), call forwarding (call transfer) or call diversion (Cell Deflection), see, for example, Oliver Hersent et al., "IP Telephony-Deploying Voice Over IP Protocols", Wiley 2005, pages 317-366.
- the telecommunication system or the first service provider computer is achieved by the inclusion that the Diverbrin ⁇ supply calculator not be known on the side of the Program, which calculates the reference value, and for example, changes the program code of the program.
- the security against misuse of the method increases significantly, because additional barriers can be established by, for example, proprietary protocols and / or by encryption.
- the program is a program for Internet telephony, which is also referred to as VoIP (Voice over Internet Protocol) telephony.
- VoIP Voice over Internet Protocol
- Security is particularly high when this program is used by a terminal Betrie to a telecommunications system or on a service provider computer with the functions of a telecommunications system ⁇ will ben.
- no license key is transmitted to enable the usage right of the program.
- the invention also relates to a service providing unit that Einset particularly in the inventive method or one of its developments as service provider computer or in place of the service provider computer can ⁇ zen.
- the above-mentioned technical effects also apply to the service delivery unit.
- the invention further relates to a service usage unit which can be used in the method according to the invention or one of its branches. training as a data processing system or in place of the data processing system can be used. Thus, the above-mentioned technical effects also apply to the service usage unit.
- the invention relates to a unit network containing the service providing unit and the service usage unit or their developments.
- the above-mentioned technical effects also apply to the unit composite.
- FIG. 1 shows a computer network according to a first exemplary embodiment
- FIG. 2 shows method steps in the computer network in the case of
- Figure 3 shows a computer network according to a second
- Figure 4 shows the structure of a service usage unit
- Figure 5 shows the structure of a service providing unit.
- FIG. 1 shows a computer network 10 in accordance with a first example from ⁇ guide.
- the computer network 10 includes Divnut ⁇ wetting computer or data processing systems 12, 14 and 16 of a local data transmission network 18, such as a corporate network or part of a company network.
- the local communication network 18 is also referred to as LAN (Local Area Network).
- the local data transmission network 18 is connected to a larger data transmission network, for example to the Internet 20.
- a service providing computer 22 is operated, whose functions will be explained below with reference to FIG 2.
- a characteristic value KW, a reference value RW and a comparison value VW are generated.
- the service use computer 12 generates a request message 50 which can be sent via the Internet 20 is transmitted to the service providing computer 22.
- the service providing computer 22 includes a licensing unit 60, which in turn contains a licensing module 62.
- ⁇ on the request message 50 is in the basic supply Diverbrin- computer 22, for example, a program call 52 let organizer, if the licensing module 62 Siert as program reali ⁇ .
- the licensing module 62 then generates program data 54, which are transmitted in a response message 56 from the service providing computer 22 via the Internet 20 to the service use computer 12.
- FIG. 1 also shows a user B of a program Pl of the service utilization computer 12.
- a flag is, for example, included, for example, a physical indicator or an indicator that distinguishes the user B by other users, for example, a Mitar ⁇ beiter devis operation on an electronic identity card.
- FIG. 2 shows process steps that are performed while taking advantage of the Pro ⁇ program Pl.
- the method begins in a method step S70.
- a setup program installs in ⁇ play, with the aid of the operating system, the PI program, for example, under the Windows operating system, especially Windows XP, using the so-called Windows Installer.
- To make the program Pl is integrated into the operating system of the service use computer 12 and can use its ⁇ Schutzmecha mechanism against abuse.
- the program Pl makes contact with the service providing computer 22 during the first program start, for example via the transmission control protocol / Internet protocol (TCP / IP), in order to obtain the components necessary for its execution.
- the request message 50 is 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.
- a method step S76 the usage request or the request message 50 is processed in the service provisioning computer 22.
- the service providing computer 22 checks the authorization for the request of the missing components. This happens, for example, with the help of standard merchandise management systems, such as SAP.
- the service providing computer 22 manages more than 100,000 licenses of a program, for example for components of the HiPath system from Siemens AG. It is a calculation ⁇ actuation test performed in is checked whether still licenses may be granted.
- To identify the service use computer 12 for example, its IP address or another identifier used by user B, for example, a product name and a company name, or the identifier value KW itself, which is compared with values in a reference list in the service providing computer 22 is used.
- the service provisioning computer 22 determines that a license can still be granted, it generates the missing components in the licensing module 62, with the program data 54 being generated.
- the program data 54 to secure integration into the program Pl, that this program only performs its main function, when a comparison value VW is present, for example, the Limit value. Refe equal to a ⁇ 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.
- 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.
- the service provision ⁇ generated computer 22 from the modified source code a program volliffi- ges Pl or from the modified source code parts of a so-called patch of the program Pl can be changed with the aid of which parts of the program.
- the executable file is named Setup.exe.
- This patch or the entire program is transmitted to the service use computer 12, for example in the response message 56.
- the machine code is also changed directly using the identification information or the reference value, ie text without the inclusion of source ⁇ .
- the modified machine program contains the reference value, such as rare unencrypted or Locks ⁇ .
- a step S80 is inserted on the service usage ⁇ computer 12 of the patch in the program Pl, beispiels-, with the aid of the operating system, in particular using a Installierprogramm of the operating system, for example, the installer for the Windows operating system, including Windows XP.
- the reference value RW is also stored in the machine code of the program P1.
- a comparison value VW is determined by the program Pl at a step S82 according to the predetermined rule, wherein ⁇ example by reading the identifier of the processor or by reading the data from the fingerprint sensor.
- step S84 the comparison value is compared ⁇ VW with the reference value RW. If both value equal, it follows after process step S84 directly by a method step S86, program Pl be carried out at the further steps of Pro ⁇ which provide the primary function of Pro ⁇ program Pl, for example, the 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 a unit that is half of a company's network for routing of calls within a private network, in particular intra ⁇ .
- Well-known telecommunication were the telecommunications systems HICOM and HiPath Siemens AG.
- the method step S86 is followed by a method step S88 in which the program P1 and thus also the method are ended.
- step S84 If, on the other hand, it is determined in method step S84 that the comparison value does not coincide with the reference value, ie, if the program P1 is started on another computer, for example on the service use computer 14 or by another user as user B, then the execution starts the program ended Pl in a ⁇ the process step S84 following step S90. This means that commands of the program Pl are not executed to perform the main function of the program Pl.
- 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.
- the flag values are not to store in fixed, predetermined locations in the service usage ⁇ computer 22nd. The integration into the machine code the program Pl is thus possible, in particular, the reference value can also be moved within the machine code at each new ⁇ start the program to another point of the program Pl, which provides increased security.
- FIG. 3 shows a computer network 10a according to a second exemplary embodiment.
- Components with the same functions and the same construction as explained with reference to Figure 1 ingredients ⁇ parts have the same reference numeral, but with a demand made lowercase letters "a", see for example the
- Service use computer 12 a which corresponds to the service use computer 12.
- a telecommunication system 100 is included in the method according to the second exemplary embodiment, which is operated, for example, on the Internet 20a or on the local data transmission network 18a.
- the request message 50 is ent ⁇ speaking request message 102 is not sent to the service provider computer 22 or a this service provider computer corresponding service provider computer 22, but to the telecommunication 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, in which also a license plate of the telecommunications system 100 is included. Licensing is then related to the telecommunications system 100, so that tested how much licenses for these telecommuni ⁇ tion system 100 are still available. Otherwise, however, the method steps explained with reference to FIG. 2 are carried out.
- the service use unit 120 is constructed solely of components Heidelbergungskompo ⁇ and does not contain a processor that executes a program.
- the service usage unit 120 includes a transmitting / receiving unit 122 and a unit to be licensed 124.
- the service usage unit 120 also includes a processor 126.
- the to-be-licensed unit 124 communicates with the transceiver 122 via an internal connection 130 over which data is transferred.
- FIG. 5 shows a service-providing unit 150 which is connected to
- the service providing unit 150 includes only circuits and no Pro ⁇ cessor which executes a program.
- the service providing unit 150 includes a transmitting / receiving unit 152 connected to the Internet 20 and a licensing unit 154.
- the service providing unit 150 stores a license data 156 in which, for example, the number of still available or already issued licenses are stored for a particular customer or for a particular telecommunications system.
- a sender 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 transmitting / receiving unit 152, a memory unit for SpeI ⁇ manuals of the sending date 156 and a memory unit for storing the license date 156 via internal connections 160, 162 and 164 from.
- links 162 and 164 are replaced by external links in querying databases.
- the service providing unit 150 also includes a processor 166 that is used, for example, in providing the functions of the licensing unit 154. In operation of the service providing unit 150, the process steps explained above for the service providing computers 22 and 22a are executed.
- the integration of the flag value and the reference value RW KW from ⁇ finally takes place in the service use computer 12, so that then transmitted no flag value KW and no reference value RW ⁇ the.
- About the data transmission networks 18, 20 only the pre ⁇ is a user authorization checked.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
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.
Description
Beschreibung
Verfahren zum Nutzen eines Programms und zugehörige Einheiten
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 Nut- Zungsberechtigung 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 Nutzungsberech¬ tigung angibt, Erzeugen eines Referenzwertes, - Speichern des Referenzwertes,
- Ausführen von Befehlen des Programms oder eines Hilfspro- gramms, mit dessen Hilfe das Programm gestartet werden kann, wobei ein Vergleichswert erzeugt wird,
- Prüfen des Vergleichswertes unter Verwendung des Kennzei- chenwertes oder des Referenzwertes, insbesondere durch Ver¬ gleichen des Vergleichswertes und des Referenzwertes,
- bei positivem Prüfergebnis, insbesondere bei Übereinstimmung von Vergleichswert und Referenzwert, Ausfüh¬ ren von Befehlen des Programms, die bei negativem Prüfergeb- nis nicht ausgeführt werden, bspw. wenn Vergleichswert und Referenzwert nicht übereinstimmen.
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 Verfah¬ ren verwendet, die von einer einzelnen Firma verwendet wer- den. Kennzeichnend für all diese Verfahren sind jedoch erheb¬ liche Sicherheitslücken, die einen Missbrauch von Lizenzdaten begünstigen, insbesondere, wenn der Referenzwert ein Lizenzschlüssel ist, der unverschlüsselt über das Datenübertra¬ gungsnetz ü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.
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.
Die auf das Verfahren bezogene Aufgabe wird durch ein Verfah¬ ren mit den eingangs genannten Verfahrensschritten gelöst, wobei jedoch auch noch die folgenden Verfahrensschritte aus¬ geführt werden:
- Festlegen mindestens eines gemäß einer Festlegungsregel zu ermittelnden Kennzeichenwertes, der eine Datenverarbeitungs¬ anlage oder einen Benutzer der Datenverarbeitungsanlage kenn¬ zeichnet,
- optional Übertragen des Kennzeichenwertes von der Datenver¬ arbeitungsanlage über das Datenübertragungsnetz, bspw. ver- schlüsselt oder unverschlüsselt, wobei der übertragene Kenn¬ zeichenwert ggf. geprüft wird, bspw. an Hand von Referenzlis¬ ten mit bspw. Prozessorkennzeichen oder digitalen Fingerabdrücken, und
- optional Erzeugen des Referenzwertes aus dem übertragenen Kennzeichenwert, insbesondere gemäß einer Berechnungsvor¬ schrift, wie einem Verschlüsselungsverfahren, oder durch einfaches Übernehmen des übertragenen Kennzeichenwertes als Referenzwert .
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ög¬ lich, Merkmale der nutzungsberechtigten Datenverarbeitungsanlage bzw. des nutzungsberechtigten Benutzers stärker und auf einfachere Art in den Kennzeichenwert einzubinden als es bis- her 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.
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übertragungs- netz, und
- Speichern des in der Antwortmeldung übertragenen Referenzwertes .
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.
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 Weiterbil¬ dung erzeugt für dedizierte, wohldefinierte Client-Maschi¬ nen/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 Ausgestal¬ tung 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.
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.
Bei einer nächsten Weiterbildung des Verfahrens wird zur Ermittlung des Kennzeichenwertes mindestens einer der folgen- den Daten verwendet:
- ein Datum, das in einem Prozessor der Datenverarbeitungsanlage nichtflüchtig gespeichert ist, beispielsweise ein Pro¬ zessorkennzeichen, das vom Hersteller des Prozessors vorgegeben wird, - ein Datum, das in einer Netzwerkkarte der Datenverarbei¬ tungsanlage 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 Pro- gramms der Datenverarbeitungsanlage ist, beispielsweise ein
Lizenzschlüsseldatum.
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 angeschlos¬ senen Geräten, wie Druckern und ähnliches.
Bei einer nächsten Weiterbildung wird die Nutzungsanforderung von einer Telekommunikationsanlage weitergeleitet, die teil- nehmerseitig gemäß einem Teilnehmerprotokoll für durchschal- tevermittelte Verbindungen und netzwerkseitig gemäß einem vom Teilnehmerprotokoll verschiedenen Protokoll für durchschalte- vermittelte Verbindungen signalisiert. Das Teilnehmerproto- koll ist beispielsweise das Protokoll Cornet TS, Cornet TC oder Cornet IP der Firma Siemens oder ein vergleichbares Pro¬ tokoll eines anderen Anbieters. Das Netzwerkprotokoll ist beispielsweise das Protokoll QSIG, das im ECMA-Standard (European Computer Manufacturer Association) 173/174 festge- legt ist, und zur Signalisierung zwischen Telekommunikations¬ anlagen dient. Alternativ kann auch ein anderes Signalisie- rungsprotokoll verwendet werden, z.B. ein proprietäres Proto¬ koll, wie das Protokoll Cornet NQ der Firma 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.
Der erste Diensterbringungsrechner ist insbesondere ein Rechner, der in zukünftigen Datenübertragungsnetzen die Funktio- nen einer herkömmlichen Telekommunikationsanlage übernimmt, d.h. insbesondere automatische Rückrufe und/oder Ruf- und/oder Anrufweiterleitungen, wie Rufumleitung (CaIl Forward) , Anrufweitergabe (CaIl Transfer) oder Rufumlenkung
(CaIl Deflection) , siehe bspw. Oliver Hersent u.a., "IP Telephony - Deploying Voice over IP Protocols", Wiley 2005, Seiten 317 bis 366.
In beiden Fällen wird durch die Einbeziehung der Telekommunikationsanlage bzw. des ersten Diensterbringungsrechners erreicht, dass auf der Seite des Programms der Diensterbrin¬ gungsrechner nicht bekannt sein muss, der den Referenzwert berechnet und der beispielsweise den Programmcode des Pro- gramms 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.
Bei einer nächsten Weiterbildung des erfindungsgemäßen Verfahrens ist das Programm ein Programm für die Internettelefo- nie, die auch als VoIP-Telefonie (Voice over Internet Proto- col) 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 betrie¬ ben wird.
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.
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 einset¬ zen lässt. Damit gelten die oben genannten technischen Wir- kungen auch für die Diensterbringungseinheit.
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 .
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.
Im Folgenden werden Ausführungsbeispiele der Erfindung anhand der beiliegenden Zeichnungen erläutert. Darin zeigen: Figur 1 einen Rechnerverbund gemäß einem ersten Ausführungsbeispiel, Figur 2 Verfahrensschritte in dem Rechnerverbund bei der
Nutzung eines Programms, Figur 3 einen Rechnerverbund gemäß einem zweiten
Ausführungsbeispiel, Figur 4 den Aufbau einer Dienstnutzungseinheit, und Figur 5 den Aufbau einer Diensterbringungseinheit.
Figur 1 zeigt einen Rechnerverbund 10 gemäß einem ersten Aus¬ führungsbeispiel. Der Rechnerverbund 10 enthält Dienstnut¬ zungsrechner 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, bei- spielsweise mit dem Internet 20.
Am Internet 20 wird ein Diensterbringungsrechner 22 betrieben, dessen Funktionen weiter unten anhand der Figur 2 näher erläutert werden. Im Zusammenhang mit dem ebenfalls unten anhand der Figur 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. Auf¬ grund der Anforderungsmeldung 50 wird in dem Diensterbrin- gungsrechner 22 beispielsweise ein Programmaufruf 52 veran- lasst, falls das Lizenzierungsmodul 62 als Programm reali¬ siert 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.
In Figur 1 ist außerdem ein Benutzer B eines Programms Pl 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 Mitar¬ beiternummer auf einem elektronischen Betriebsausweis.
Figur 2 zeigt Verfahrensschritte, die beim Nutzen des Pro¬ gramms Pl ausgeführt werden. Das Verfahren beginnt in einem Verfahrensschritt S70. Ein Setup-Programm installiert bei¬ spielsweise mit Hilfe des Betriebssystems das Programm Pl, beispielsweise unter dem Betriebssystem Windows, insbesondere Windows XP, mit Hilfe des sogenannten Windows-Installers .
Damit ist das Programm Pl in das Betriebssystem des Dienstnutzungsrechners 12 integriert und kann dessen Schutzmecha¬ nismus gegen Missbrauch nutzen.
In einem nachfolgenden Verfahrensschritt S72 wird beim ersten Programmstart des Programms Pl gemäß einer bei der Herstel¬ lung des Programms Pl vorgegebenen Vorschrift ein Kennzei¬ chenwert KW ermittelt, der auf gleiche Weise auch bei folgen¬ den Starts des Programms Pl abgefragt werden soll, beispiels- weise ein Kennzeichen eines Prozessors in dem Dienstnutzungs¬ rechner 12 und ein Datensatz, der von einem Fingerabdrucksensor erzeugt wird, wenn der Nutzer B seinen Zeigefinger auf den Fingerabdrucksensor legt.
In einem Verfahrensschritt S74 nimmt das Programm Pl 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 einem Verfahrensschritt S76 wird die Nutzungsanforderung bzw. die Anforderungsmeldung 50 in dem Diensterbringungsrech- ner 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 Lizen- zen eines Programms verwaltet, beispielsweise für Komponenten des Systems HiPath der Firma Siemens AG. Es wird eine Berech¬ tigungsprü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 Pl, dass dieses Programm nur dann seine Hauptfunktion erbringt, wenn ein Vergleichswert VW vorliegt, der bspw. gleich einem Refe¬ renzwert 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.
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 Pl 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 Pl unterstützen,
- optionales Ermitteln der Berechtigung zur Benutzung, bei- spielsweise durch Abfrage eines Passwortes vom Benutzer B oder durch eine sonstige absichernde Maßnahme.
Falls der Nutzer berechtigt ist:
- Ermitteln der notwendigen zu modifizierenden Quelltext- teile, beispielsweise in einer Programm-Datenbank,
- Einarbeiten der Identifikationsinformation bzw. des Referenzwertes in die Quelltextteile bzw. in den Quelltext bei¬ spielsweise durch Kompilieren.
Falls nicht berechtigt:
- Zurückweisen der Anfrage.
In einem Verfahrensschritt S78 erzeugt der Diensterbringungs¬ rechner 22 aus den modifizierten Quelltexten ein vollständi- ges Programm Pl oder aus den modifizierten Quelltextteilen einen sogenannten Patch, mit dessen Hilfe Programmteile des Programms Pl verändert werden können. Es wird bspw. eine aus¬ fü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 Quell¬ text. In jedem Fall enthält das geänderte Maschinenprogramm jedoch den Referenzwert, z.B. unverschlüsselt oder verschlüs¬ selt.
In einem Verfahrensschritt S80 wird auf dem Dienstnutzungs¬ rechner 12 der Patch in das Programm Pl eingefügt, beispiels- weise 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 Pl gespeichert.
Anschließend oder beim nächsten Start des Programms Pl wird vom Programm Pl in einem Verfahrensschritt S82 nach der vorgegebenen Vorschrift ein Vergleichswert VW ermittelt, bei¬ spielsweise durch Lesen des Kennzeichens des Prozessors bzw. durch Lesen der Daten vom Fingerabdrucksensor.
In einem folgenden Verfahrensschritt S84 wird der Vergleichs¬ wert 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 Pro¬ gramms Pl ausgeführt werden, die die Hauptfunktion des Pro¬ gramms Pl 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 inner¬ halb eines Firmennetzes dient. Bekannte Telekommunikationsan-
lagen sind die Telekommunikationsanlagen HICOM bzw. HiPath der Firma Siemens AG.
Dem Verfahrensschritt S86 folgt ein Verfahrensschritt S88, in dem das Programm Pl und damit auch das Verfahren beendet wird.
Wird dagegen im Verfahrensschritt S84 festgestellt, dass der Vergleichswert nicht mit dem Referenzwert übereinstimmt, d.h., dass das Programm Pl 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 Pl in einem dem Verfahrens¬ schritt S84 folgenden Verfahrensschritt S90 beendet. Das bedeutet, dass Befehle des Programms Pl zum Erbringen der Hauptfunktion des Programms Pl nicht ausgeführt werden.
Beim nächsten Start des Programms Pl werden bei einem Ausführungsbeispiel nur die Verfahrensschritte S82 bis S90 durchge- führt. Bei einem alternativen Ausführungsbeispiel werden alle Verfahrensschritte durchgeführt, beispielsweise wenn die Lizenzen am Ende des Verfahrens wieder zurückgegeben werden.
Damit wurde ein Verfahren angegeben, bei dem kein Lizenz- Schlü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 Pl gibt es nur einmal. Bei Verlust des Programms Pl muss ein neues Programm erzeugt und lizenziert werden.
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 Dienstnutzungs¬ rechner 22 zu speichern. Die Einbindung in den Maschinencode
des Programms Pl ist damit möglich, insbesondere kann der Referenzwert auch innerhalb des Maschinencodes bei jedem Neu¬ start des Programms an eine andere Stelle des Programms Pl verschoben werden, was eine erhöhte Sicherheit bietet.
Figur 3 zeigt einen Rechnerverbund 10a gemäß einem zweiten Ausführungsbeispiel. Bestandteile mit gleichen Funktionen und gleichem Aufbau wie anhand der Figur 1 erläuterte Bestand¬ teile haben das gleiche Bezugszeichen, jedoch mit einem nach- gestellten Kleinbuchstaben "a", siehe beispielsweise den
Dienstnutzungsrechner 12a, der dem Dienstnutzungsrechner 12 entspricht. Zusätzlich zu den oben anhand der Figur 1 erläuterten Einheiten wird in das Verfahren gemäß zweitem Ausführungsbeispiel eine Telekommunikationsanlage 100 einbe- zogen, die beispielsweise am Internet 20a bzw. am lokalen Datenübertragungsnetz 18a betrieben wird. Bei dem zweiten Ausführungsbeispiel wird eine der Anforderungsmeldung 50 ent¬ sprechende Anforderungsmeldung 102 nicht an den Diensterbringungsrechner 22 bzw. einen diesem Diensterbringungsrechner entsprechenden Diensterbringungsrechner 22a gesendet, sondern an die Telekommunikationsanlage 100. Die Telekommunikations¬ anlage 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 Telekommunika¬ tionsanlage 100 noch zur Verfügung stehen. Im Übrigen werden jedoch die anhand der Figur 2 erläuterten Verfahrensschritte ausgeführt.
Figur 4 zeigt eine Dienstnutzungseinheit 120, die beispiels¬ weise an Stelle des Dienstnutzungsrechners 12 bzw. 12a ver¬ wendet werden kann. Bei einem Ausführungsbeispiel ist die Dienstnutzungseinheit 120 ausschließlich aus Schaltungskompo¬ nenten 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-/Empfangs- einheit 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 Figur 2 erläuterten Verfahrensschritte durchgeführt .
Figur 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 Pro¬ zessor, der ein Programm abarbeitet. Die Diensterbringungs- einheit 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 Spei¬ chern 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.
Bei einem anderen Ausführungsbeispiel erfolgt die Einbindung des Kennzeichenwertes KW bzw. des Referenzwertes RW aus¬ schließlich im Dienstnutzungsrechner 12, so dass dann kein Kennzeichenwert KW und kein Referenzwert RW übertragen wer¬ den. Über die Datenübertragungsnetze 18, 20 wird nur das Vor¬ liegen einer Benutzungsberechtigung geprüft.
Claims
1) Verfahren zum Nutzen eines Programms (Pl, Pia), mit den Schritten: a) Festlegen mindestens eines gemäß einer Festlegungsregel zu ermittelnden Kennzeichenwertes (KW) , der eine Datenverarbeitungsanlage (12) und/oder einen Benutzer
(B) der Datenverarbeitungsanlage (12) kennzeichnet (S72), b) Erzeugen eines Patch für das Programm (Pl, Pia) , in den ein aus dem Kennzeichenwert (KW) erzeugter Referenzwert (RW) eingearbeitet ist, c) Einfügen des Patch in das Programm (Pl, Pia) , d) Ausführen von Befehlen des durch den Patch veränderten Programms (Pl, Pia), wobei
- gemäß der Festlegungsregel ein Vergleichswert (VW) erzeugt wird (S82),
- der Vergleichswert (VW) unter Verwendung des Referenzwertes (RW) geprüft wird (S84) und
- bei positivem Prüfergebnis Befehle des Programms (Pl) ausgeführt werden (S86) , die nicht ausgeführt werden, wenn ein negatives Prüfergebnis vorliegt (S90).
2. Verfahren nach Anspruch 1, gekennzeichnet durch die Schritte:
Erzeugen einer Nutzungsanforderung (50) für das Programm (Pl, Pia) durch die Datenverarbeitungsanlage (12), (S74), Übertragen der Nutzungsanforderung (50) über ein Datenüber- tragungsnetz (20) (S74),
Übertragen des Kennzeichenwertes (KW) von der Datenverarbei¬ tungsanlage (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 (Pl) ist (S76), bei einem Wert des Nutzungsdatums (158), der eine Nutzungsbe¬ rechtigung angibt, Erzeugen des Referenzwertes (RW) aus dem übertragenen Kennzeichenwert (S76) , vorzugsweise Speichern (S80) des Referenzwertes (RW).
3. 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) .
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Kennzeichenwert (KW) oder der Refe¬ renzwert (RW) im Maschinencode des Programms (Pl) gespeichert wird, vorzugsweise in einem Befehlsdatenabschnitt des Pro¬ gramms oder in einem Programmdatenabschnitt des Programms, insbesondere unter Verwendung einer Programminstallations¬ funktion des Betriebssystems der Datenverarbeitungsanlage (12) .
5. 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 Datenverarbeitungs- anläge (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.
6. Verfahren nach einem der Ansprüchen 2 bis 6, dadurch gekennzeichnet, dass die Nutzungsanforderung (104) von einer Telekommunikationsanlage (100) weitergeleitet wird, die ins- besondere teilnehmerseitig gemäß einem Teilnehmerprotokoll für durchschaltevermittelte Verbindungen und netzwerkseitig gemäß einem vom Teilnehmerprotokoll verschiedenen Protokoll für durchschaltevermittelte Verbindungen signalisiert.
7. 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 Diensterbrin¬ gungsrechners (22a) zum Verarbeiten der Nutzungsanforderung erst in dem ersten Diensterbringungsrechner (100) ermittelt wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Programm (Pl) ein Programm (Pl) 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) .
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass kein Lizenzschlüssel des Programms (Pl) übertragen wird.
10. Diensterbringungseinheit (150), mit einer Sende-/Empfangseinheit (152) für eine Datenübertra¬ gung, mit einer Lizenzierungseinheit (154), die abhängig von einer empfangenen Nutzungsanforderung (50, 104) für ein Programm (Pl) ein Nutzungsdatum (158) in einer Speichereinheit der Diensterbringungseinheit (150) oder einer anderen Diensterbringungseinheit liest, dessen Wert abhängig vom Vor- liegen einer Nutzungsberechtigung für das Programm (Pl) ist, und die bei vorliegender Nutzungsberechtigung abhängig von einem in der Nutzungsanforderung oder in der gleichen Verbin- düng empfangenen Kennzeichenwert mindestens einen Referenzwert (RW) erzeugt.
11. Diensterbringungseinheit (150) nach Anspruch 10, dadurch gekennzeichnet, dass die Diensterbringungseinheit zum Einarbeiten des Referenzwertes (RW) in einen in das Programm (Pl, Pia) einzufügenden Patch sowie zum Übermitteln des Patch an eine das Programm (Pl, Pia) nutzende Dienstnutzungseinheit (120) ausgestaltet ist.
12. Diensterbringungseinheit (150) nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass die Lizenzierungseinheit (154) das Nutzungsdatum abhängig von einem Sender der Nutzungsanforderung oder abhängig von einem in der
Nutzungsanforderung angegebenen Datum zum Kennzeichnen einer Datenverarbeitungsanlage ermittelt .
13. Diensterbringungseinheit nach Anspruch 10, 11 oder 12 mit einer Einheit, die im Betrieb einen Verfahrensschritt nach einem der Ansprüche 1 bis 9 ausführt.
14. Dienstnutzungseinheit (120), mit einer Sende-/Empfangseinheit (122) für eine Datenübertra- gung, mit einer Einheit (124), die gemäß einer Festlegungsregel einen Kennzeichenwert (KW) festlegt und mit einer Nutzungsan¬ forderung (50, 102) für die Einheit (124) von der Sendeeinheit (122) versendet, und die automatisch gemäß der Festlegungsregel einen Ver¬ gleichswert (VW) erzeugt, und die den Vergleichswert (VW) unter Verwendung eines aus dem Kennzeichenwert (KW) erzeugten Referenzwertes (RW) prüft, und die bei positivem Prüfergebnis die Nutzung weiterer Funktio¬ nen der Einheit (122) oder die Nutzung mindestens einer Funktion der Einheit (122) zulässt, die nicht zugelassen wird, wenn ein negatives Prüfergebnis vorliegt.
15. Dienstnutzungseinheit (120) nach Anspruch 14, dadurch gekennzeichnet, dass die Dienstnutzungseinheit (120) zum Empfangen eines Patch, in den der Referenzwert (RW) eingearbeitet ist, und zum Einfügen des empfangenen Patch in ein zu nutzendes Programm (Pl, Pia) zur Durchführung der Prüfung ausgestaltet ist.
16. Dienstnutzungseinheit (120) nach Anspruch 14 oder 15 mit einer Einheit, die beim Betrieb einen Verfahrensschritt nach einem der Ansprüche 1 bis 9 ausführt.
17. Einheitenverbund (10) mit einer Diensterbringungseinheit (150) nach einem der Ansprüche 10 bis 13 und einer Dienstnut¬ zungseinheit (120) nach Anspruch 14 oder 16.
18. Einheitenverbund (10) nach Anspruch 17, gekennzeichnet durch eine Telekommunikationsanlage (100) oder ein
Diensterbringungsrechner, welche oder welcher die Nutzungsanforderung (102) weiterleitet.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005039207.5 | 2005-08-18 | ||
DE102005039207A DE102005039207A1 (de) | 2005-08-18 | 2005-08-18 | Verfahren zum Nutzen eines Programms und zugehörige Einheiten |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007020172A1 true WO2007020172A1 (de) | 2007-02-22 |
Family
ID=37084657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2006/064759 WO2007020172A1 (de) | 2005-08-18 | 2006-07-27 | Verfahren zum nutzen eines programms und zugehörige einheiten |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102005039207A1 (de) |
WO (1) | WO2007020172A1 (de) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998042098A1 (en) * | 1997-03-14 | 1998-09-24 | Cryptoworks, Inc. | Digital product rights management technique |
WO1998045768A1 (en) * | 1997-04-10 | 1998-10-15 | Nortel Networks Corporation | Method and system for networked installation of uniquely customized, authenticable, and traceable software applications |
US6141698A (en) * | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
WO2004104802A1 (en) * | 2003-05-13 | 2004-12-02 | Pctel, Inc. | Locking programming interface |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001175468A (ja) * | 1999-12-20 | 2001-06-29 | Sony Corp | ソフトウエア使用制御方法とその装置 |
JP2004046708A (ja) * | 2002-07-15 | 2004-02-12 | Sony Corp | ソフトウェア提供システム、ソフトウェア提供サーバ、端末、制御プログラム、ソフトウェア提供方法、ソフトウェア利用方法、ソフトウェア提供プログラム、及びソフトウェア利用プログラム |
-
2005
- 2005-08-18 DE DE102005039207A patent/DE102005039207A1/de not_active Ceased
-
2006
- 2006-07-27 WO PCT/EP2006/064759 patent/WO2007020172A1/de active Application Filing
Patent Citations (4)
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 |
WO1998042098A1 (en) * | 1997-03-14 | 1998-09-24 | Cryptoworks, Inc. | Digital product rights management technique |
WO1998045768A1 (en) * | 1997-04-10 | 1998-10-15 | Nortel Networks Corporation | Method and system for networked installation of uniquely customized, authenticable, and traceable software applications |
WO2004104802A1 (en) * | 2003-05-13 | 2004-12-02 | Pctel, Inc. | Locking programming interface |
Also Published As
Publication number | Publication date |
---|---|
DE102005039207A1 (de) | 2007-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112008000298B4 (de) | Verfahren zum Erzeugen eines digitalen Fingerabdrucks mittels eines Pseudozufallszahlencodes | |
DE102007033615B4 (de) | Verfahren und Vorrichtung zum Umwandeln von Authentisierungs-Token zur Ermöglichung von Interaktionen zwischen Anwendungen | |
EP2159653B1 (de) | Verfahren zur Einräumung einer Zugriffsberechtigung auf ein rechnerbasiertes Objekt in einem Automatisierungssystem, Computerprogramm und Automatisierungssystem | |
DE102004048959B4 (de) | Informationsverarbeitungsgerät, Beglaubigungsverarbeitungsprogramm und Beglaubigungsspeichergerät | |
EP1326470A2 (de) | Verfahren und Anordnung zur Überprüfung einer Authentizität eines ersten Kommunikationsteilnehmers in einem Kommunikationsnetz | |
DE60212969T3 (de) | Verfahren und vorrichtung zum verfolgen des status eines betriebsmittels in einem system zur verwaltung der benutzung der betriebsmittel | |
DE102007019541A1 (de) | Verfahren und System zum Authentifizieren eines Benutzers | |
DE112013002539B4 (de) | Validierung mobiler Einheiten | |
EP2351320B1 (de) | Serversystem und verfahren zur bereitstellung mindestens einer leistung | |
EP1332438A2 (de) | Verfahren und vorrichtung zum übertragen elektronischer datenmengen | |
DE10024347B4 (de) | Sicherheitsservice-Schicht | |
WO1999012088A1 (de) | Verfahren zur steuerung der verteilung und nutzung von software-objekten bei vernetzten rechnern | |
WO2007020172A1 (de) | Verfahren zum nutzen eines programms und zugehörige einheiten | |
EP1994485A2 (de) | Verfahren zum verknüpfen eines digitalen inhalts mit einer person | |
DE102012201431A1 (de) | System und Verfahren zum Lizenzieren einer Vielzahl von Softwarekomponenten | |
EP4114050A1 (de) | Überprüfung einer lizenz für die nutzung mindestens eines leistungsmerkmals in einem internet der dinge (iot)-gerät | |
EP1035706A2 (de) | Verfahren zum Verbinden von mindestens zwei Netzwerkssegmenten eines Netzwerkes mit einer Zugangskontrolle durch eine Benutzerkennung | |
EP1529257B1 (de) | Übernehmen eines datensatzes in eine recheneinheit | |
DE19904755C2 (de) | Leistungsmerkmalbezogene Ausführung von Anwendungen eines Netzelementes | |
WO2024088790A1 (de) | Verfahren und system zur umgebungs-abhängigen sicherheitsbezogenen anomalieerkennung für eine containerinstanz | |
DE102020202882A1 (de) | Gesicherter und dokumentierter Schlüsselzugriff durch eine Anwendung | |
EP2068530A1 (de) | Verfahren und Kommunikationssystem zum Steuern des Zugangs zu Medieninhalten in Abhängigkeit des Alters eines Nutzers | |
DE102018217065A1 (de) | Steuervorrichtung zur Freischaltung zumindest einer Anwendungssoftware, Kraftfahrzeug und Verfahren zum Betreiben der Steuervorrichtung | |
DE102004016654A1 (de) | Netzwerksystem sowie Verfahren zur Steuerung eines Zugangs einer ersten Netzwerkkomponente zu wenigstens einer zweiten Netzwerkkomponente | |
DE10058835A1 (de) | Verfahren und Vorrichtung zum Übertragen elektronischer Datenmengen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06792591 Country of ref document: EP Kind code of ref document: A1 |