EP2112615A1 - Verfahren und Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers - Google Patents

Verfahren und Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers Download PDF

Info

Publication number
EP2112615A1
EP2112615A1 EP08154860A EP08154860A EP2112615A1 EP 2112615 A1 EP2112615 A1 EP 2112615A1 EP 08154860 A EP08154860 A EP 08154860A EP 08154860 A EP08154860 A EP 08154860A EP 2112615 A1 EP2112615 A1 EP 2112615A1
Authority
EP
European Patent Office
Prior art keywords
software component
application software
password
monitoring
user
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.)
Withdrawn
Application number
EP08154860A
Other languages
English (en)
French (fr)
Inventor
Manfred Dr. Fitzner
Maximilian Günther Kaffl
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.)
pbf project business factory GmbH
Original Assignee
pbf project business factory GmbH
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 pbf project business factory GmbH filed Critical pbf project business factory GmbH
Priority to EP08154860A priority Critical patent/EP2112615A1/de
Publication of EP2112615A1 publication Critical patent/EP2112615A1/de
Withdrawn legal-status Critical Current

Links

Images

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Definitions

  • the present invention relates to a method and apparatus for verifying a user's usage privilege for at least one application software component having a password verification.
  • Known application software products such as the products of the Office package from the company Microsoft, offer a user the ability to create a document with appropriate application software to open, edit and save.
  • the application software supports the user in the use of a variety of different functions, among other things, offer a variety of application software products, the user's own, sometimes very large-scale applications, hereafter generally application software components, using a provided in the application software Programming environment, especially a programming language, such as Visual Basic for Applications (VBA) in the Office suite, to program to perform calculations or to simplify or automate workflows and steps.
  • VBA Visual Basic for Applications
  • These self-programmed application software components may be made available to other users for use having the appropriate application software for which the application software components are programmed.
  • the well-known application software products such as Microsoft Excel from the Microsoft Office package, also offer the user of the application software the ability to certain functions in self-programmed application software components, such as the opening of an Excel folder, in a variety of computing functions are programmed by a given password, as in Fig. 1 when Read / write password, in Fig. 2 as a password for locked cells in Excel folders and in Fig. 3 as password for VBA program code, to protect against access by unauthorized persons.
  • Fig. 1 a typical dialog from Microsoft Office for entering a read / write password to protect an entire document, especially the VBA program code
  • Fig. 2 a typical Microsoft Excel dialog for entering a sheet protection password to protect a table or chart
  • Fig. 3 A typical Microsoft Office dialog for entering a password for the VBA program code is shown.
  • an Excel folder is password-protected such that it is completely or only encrypted with respect to individual functions with the password as a key by means of an encryption method.
  • the password is then queried when calling a specific function, for example, the opening of the password-protected Excel folder, using the application software and the user must enter the appropriate password.
  • a specific function for example, the opening of the password-protected Excel folder
  • Use of the feature included in the application software component is enabled only if the user-entered password matches the default password of the application software component.
  • the protection mechanism provided thereby can, for example, ensure the protection of the intellectual property of the developer of the application software component, in particular a restriction of the access to authorized persons.
  • Verification of the passwords themselves is accomplished by a provided internal password verification function, wherein the entered password is compared with the default password of the application software component or decrypted by using the reverse encryption method with the entered password as a key.
  • a provided internal password verification function wherein the entered password is compared with the default password of the application software component or decrypted by using the reverse encryption method with the entered password as a key.
  • the function is enabled for passwords or successful decryption, and in the event of a password mismatch or unsuccessful decryption, for example due to incorrect entry due to the password not being recognized, the function is not released, ie the Excel folder can not be opened, for example and the user will be informed of the non-compliance that has occurred.
  • the default password is stored in the known application software products in the prepared application software components in some form, i. the password has been encrypted in some of these application software products and others in encrypted form using known encryption methods, or has been used as keys for the encryption procedures. It is thus possible to mitigate or circumvent the protection intended by the password by simple, known methods, and thus to at least partially override the authorization of use.
  • the simple, well-known methods for bypassing the protection of the application software components include, for example, reading out, changing or typically clearing the password. Effective protection of the application software components for application software products is thus not given.
  • the function to be enabled can either be a partial function of the application software component or the application software component itself.
  • this object is achieved by proposing a method comprising the steps of providing a monitoring software component which can run independently of the application software component and which contains at least the first password for a function of the application software component to be unlocked. Component by the user. Calling the application software component by the monitoring software component and passing the first password for the feature to be unlocked from the monitoring software component to the application software component, and checking the first password for correctness and, if the passed first password is correct, enabling the feature of the application software component that is to be enabled, or, if the passed first password is incorrect, not enabling the application software component to be unlocked.
  • the method allows the individual users of the password-protected application software component no longer to know the password for activating the function and thus the protection against unauthorized use is improved.
  • the method further comprises, during checking, decrypting the application software component with the first password passed if the application software component has been encrypted as a key according to an encryption method with the first password.
  • the checking further comprises: comparing the predefined second password with the transferred first password if the application software component has a predefined second password.
  • the monitoring software component check a scaler that is user-specific in another aspect of the present invention, and calling the supervisor software component only works if a valid license key is present. This has the advantage that a review of the licensed use of the monitoring software component and thus also of the application software component is made possible.
  • the monitoring software component checks whether the calling user is authorized to call the monitoring software component and the application software component. This has the advantage that a user-specific authorization for use can be assigned and checked.
  • the application software component repeatedly verify that the monitoring software component is executing and, if determined If the monitoring software component is not running, the application software component is notified that the monitoring software component is not running. This is advantageous because thus the usage authorization of the application software component can be checked during the entire period of use and thus the protection against unauthorized use is further improved.
  • notifying the application software component includes terminating the unlocked feature of the application software component or terminating the application software component itself.
  • the beneficial effect is thereby achieved by the fact that the application software component can only be used when the monitoring software component is executed, thus achieving an improvement in usage monitoring.
  • the method of the present invention additionally comprises the steps of checking the application software component by the monitoring software component, in particular for authorized and unauthorized use of functions of the application software component by comparing the used function with the enabled function by the monitoring software component, wherein if the used function does not match the unlocked feature, the unauthorized use is detected, and if the used function matches the unlocked feature, the authorized usage is determined and notifying the application software component, if it is determined that the use is unauthorized.
  • the application software component may be terminated by the step of notifying. The Monitoring of the authorized use can thus be further improved, as an unauthorized use is detected.
  • the invention further relates to a computer program that, when running on a computer, controls it to carry out the method according to the invention and a device for checking a usage authorization of a user for at least one application software component having a password checking device, wherein a first password when called of the application software component is to enable at least one function of the application software component.
  • the device comprises a monitoring software component which can be run independently by the application software component and which can be called up by the user.
  • the monitoring software component in turn comprises a password storage device storing at least the first password for a function of the application software component to be unlocked, a calling device adapted to call the application software component, and the first password to the password verification device of the application software component and the password verifier of the application software component is adapted to authenticate the passed first password, and if the passed first password is correct, enable the application software component to be unlocked, or if the passed first password is incorrect, not unlocking the application software component to be unlocked.
  • FIGS Fig. 8 shown device according to one embodiment.
  • Fig. 4 1 is a flowchart of a method of a first embodiment of the present invention.
  • an application software component 100 and a monitoring software component 200 are used, both of which run in the same operating system environment on a user's computer.
  • the monitoring software component 200 is executable independently of the application software component 100, ie the monitoring software component 200 can be called up or executed without the application software component 100 having to be executed.
  • the monitoring software component is generally designed to be another Software component and here preferably the application software component to control and on the occurrence of appropriate events, to respond to these suitable and, for example, according to one embodiment, the execution of the programming environment of the application software component to prevent, if the user is not authorized to do so.
  • the functions of the monitoring software component are described in detail below.
  • the application software component 100 has a password verifier 110 and has a variety of functions. For protection of individual or all functions, the user enters at least a first password 220 when creating or editing the application software component 100.
  • the first password 220 is used, according to one embodiment, as a key to an encryption method with which the application software component is encrypted.
  • the application software component does not include a second password 130 as in FIG Fig. 8 shown, but the Application software component only processes the first password, as described in more detail below.
  • the first password 220 is stored as a second password 130 in the application software component 100 in any manner known in the art of application software components.
  • the first password 220 is a read / write password intended to protect a read / write function of the application software component 100.
  • the user In order for the user to be able to use the functions protected with the first password 220, the user must enter a password into the password verifier 110.
  • the password verifier 110 verifies the entered password for correctness and releases the protected functions for use when the passwords match or the entered password is the correct key for decryption.
  • the engineering software component 200 provided by the method includes a password storage device 210 in which the first password 220 is storable and a call device 230.
  • the first password 220 is provided for handover to the password verifier 110 of the application software component 100 and preferably corresponds to the password 220 of the function to be released by the application software component 100.
  • the invoker 230 of the monitoring software component 200 is configured to invoke the application software component 110 and pass the first password 220 thereto.
  • step S1 When the user calls the monitoring software component 200, the program flow of the monitoring software component 200 is started in step S1 and the monitoring software component 200 is executed. Subsequently, the application software component 100 is called by the monitoring software component 200 in step S2. The application software component 100 is started by the call in S2. In the application software component 100, some or all of the functions have been provided with the first password 220, and the password validator 110 for checking the usage permission is executed for entering a password. In step S2, the first password 220 stored in the password storage device 210 of the monitoring software component 200 is now transferred to the password checking device 110 of the application software component 100. After handover of the first password 220, the password verifier 110 checks in step S3 whether the passed first password 220 is correct.
  • step S3 the encryption method with the passed first password 220 is applied as the key to the encrypted application software component 100 vice versa Application software component 100 to decrypt.
  • the function to be enabled is enabled, otherwise the application software component 100 remains encrypted and the function is not enabled.
  • the encryption and decryption of the application software component is performed by the password verifier 110.
  • the transferred first password is compared with the second password 130 in step S3.
  • the function that is to be unlocked, not unlocked ie the function can not be used by the user.
  • the password verifier 110 or the application software component 100 may generate a notification, which may be, for example, an error message displayed on a monitor of the computer, and display it on the monitor. If the first password 220 matches the second password 130, the feature to be unlocked is enabled in the application software component 100. Unlocking a feature in the application software component 100 causes the feature to be usable by the user.
  • the application software component 100 or the password checking device 110 can generate a corresponding notification which, for example, is transmitted to the monitoring software component 200 or displayed to the user.
  • the method according to the first embodiment is terminated when the step S3 is successfully completed, i. the first password 220 is correct.
  • the application software component 100 may continue running with the feature enabled, and the user may utilize the enabled features.
  • step S3 if the step S3 is not successfully executed, that is, the first password 220 is not correct, the application software component 100 is terminated and use is not possible.
  • the monitoring software component 200 may re-execute step S2 of the method, for example, to avoid an error in handing over the first password 220 to the password verifier 110.
  • This repeated execution of step S2 for example, by Incrementing a counter in the monitoring software component 200, and may be aborted upon completion of a predefined value of the counter by terminating the surveillance software component 200.
  • a method checks a scence key with the aid of a license checker 240, wherein preferably the surveillance software component was licensed by a license key.
  • the user requests the license key from the manufacturer or supplier of the application software component 100 by communicating information about the environment in which the application software component 100 is used, such as the processor ID, the hard drive serial number, or the MAC address of the network interface , This request can be made using known methods, such as e-mail.
  • the manufacturer of the monitoring software component generates from this transmitted information by a predetermined license key generation process a license key, which is transmitted to the user with a known transmission method.
  • the license key is then placed to allow the monitoring software component 200 access to this license key.
  • the verification of the license key is carried out in step S1 after the call of the monitoring software component 200 by the license checking device 240.
  • the license checker 240 checks the license key by comparison with a key generated by the execution of the license checker 240 by the above-mentioned license key generation method and the environment information. If the generated key with the License key, is a legitimate use of the monitoring software component 200, and the process continues in step S2. In the event that the generated key does not match the license key, unauthorized use of the monitoring software component 200 is assumed, and the method is terminated, for example, by aborting method step S1 and notifying the user.
  • the license shots! is generated in a further embodiment of user-specific information, such as the name or login name of the user.
  • step “Step 1” an application software component 100, referred to here by way of example as an Excel folder, is supplied by a supplier or manufacturer with a first password 220 to the customer (user).
  • the customer also has the monitoring software component 200, referred to here as the startup component Start.exe, which the customer call.
  • a request key is generated in step “Step 2" and sent to the supplier by email.
  • the supplier From this request key and the specified license key generation process, the supplier generates a valid license key, which is transmitted to the customer (step 3).
  • the license key is entered into the start component Start.exe and stored in a suitable way (Step 4). Thereafter, in step “Step 5", the further execution of the method, as described above.
  • step S1 whether the user to call the Monitoring software component 200, the planned call of the application software component 100 and / or to unlock the function of the application software component 100 is entitled.
  • a user authentication checker 250 is provided, which is designed to check at least the above-mentioned user authorizations.
  • the user authorization checking device 250 compares the information of the calling user with specified authorization information for users who are stored in the environment in such a way that the user authorization checking device 250 can access it.
  • the process continues in step S2. However, if the check reveals that the calling user is not authorized, the process may be terminated by aborting the monitoring software component 200.
  • Fig. 5 shows a method according to another embodiment, in which the method steps S1 to S3 with those of the embodiment according to Fig. 4 to match.
  • the method of this embodiment additionally has a method step S4.
  • Execution of step S4 requires that the monitoring software component 200 be designed to continue execution after the application software component 200 is invoked in step S3, and that the application software component 100 be provided with a monitoring and notification device 120, which is preferably provided by programming additionally in the application software component is provided.
  • the monitoring and notification device 120 is designed to repeatedly check during the execution of the application software component 100 in a step S4 whether the monitoring software component 200 is functional and / or executed. It can be used functions that are provided by the environment or the operating system.
  • the monitoring and notification device 120 monitors the monitoring software component 200 using process-provided process monitoring or other suitable mechanism known in the art for monitoring software components. If it is determined in the check in step S4 that the monitoring software component 200 is not executed, the application software component 100 is notified.
  • the application software component 100 may include functions that, when the application software component 100 is notified, control the application software component 100 to terminate the enabled application software component 100 or application software component 100 itself. In the event that it is determined in step S4 that the monitoring software component 200 is executed, the application software component 100 is not notified and the execution of the application software component 100 is continued. The repeated checking by the monitoring and notification device 120 may occur at predefined or random intervals.
  • a monitoring device 260 is provided for the monitoring software component 200.
  • the monitoring device 260 is designed to monitor in particular legitimate and unauthorized use of functions of the application software component 100.
  • the monitoring software component 200 is executed further after step S1, that is to say that both the application software component 100 and the monitoring software component 200 are executed at least after the successful execution of step S1 in step S5.
  • the Monitor 260 now checks the application software component 100 in step S6 to determine if the used function matches the enabled function. The usage is recognized as legitimate if the unlocked matches the used function.
  • Unauthorized use may be, for example, when the user has manipulated the application software component 200, eg, attempting to change, delete, or disable the second password 130 or disable or bypass the protection mechanisms of the application software component.
  • the monitoring software component verifies objects and / or system access of the application software component. If unauthorized use is detected in step S6, then the monitoring device 260 notifies the application software component 100 of the detected unauthorized use. The application software component 100 may then terminate the enabled feature to preclude further manipulation attempts, or the application software component 200 itself will be terminated. In the event that the monitoring device 260 detects a legitimate use, the application software component 100 and the monitoring software component 200 continue to execute normally. Step S6 may be repeated in a further embodiment at predetermined or random intervals, or when a function is used in the application software component 200.
  • the monitoring software component also monitors whether additional monitoring software components are being executed in the environment or the monitoring software component is being manipulated.
  • the application software component 100 is any office software, such as the products from the Microsoft Office package, preferably a spreadsheet software such as Microsoft Excel, which has a programming language with which functions can be programmed.
  • the embodiments in which the application software component is a product of the Microsoft Office package include a component prepared in the Visual Basic for Applications programming language that extends the functionality of the product from the Microsoft Office package to perform the method of the present invention ,
  • This prepared component is imported into the component before opening the application software component, for example by opening a corresponding document, and then the application software component from the Microsoft Office package communicates with the monitoring software component via this imported component and executes, inter alia, step S4.
  • the described embodiments of the present invention may be embodied in any environment, ie, a suitably-configured electronic device, a stand-alone computer, or a networked environment suitable for carrying out the method.
  • the embodiments may be embodied in any operating system environments, such as Microsoft Windows, as appropriate application software components 100 are available for those operating system environments and environments.
  • the monitoring software component of the described embodiments is expediently designed such that provided functions of the environment and / or of the operating system are used without changing them.
  • the facilities of the application software component are preferably provided so that the environment is not changed.
  • the embodiments of the invention are preferably implemented as computer programs which are stored on a suitable data memory. Further preferred embodiments of the method can be realized as a digital signal processing device (DSP) or in a programmable integrated digital circuit (FPGA).
  • DSP digital signal processing device
  • FPGA programmable integrated digital circuit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

Bei einem Verfahren zum Überprüfen einer Nutzungsberechtigung eines Nutzers für zumindest eine Anwendungssoftware-Komponente mit einer Kennwortüberprüfung, wobei ein erstes Kennwort beim Aufruf der Anwendungssoftware-Komponente einzugeben ist, um mindestens eine Funktion der Anwendungssoftware-Komponente freizuschalten, werden die Schritte vorgeschlagen: Bereitstellen einer von der Anwendungssoftware-Komponente unabhängig lauffähigen Überwachungssoftware-Komponente, welche zumindest das erste Kennwort für eine freizuschaltende Funktion der Anwendungssoftware-Komponente enthält; Aufrufen der Überwachungssoftware-Komponente durch den Nutzer; Aufrufen der Anwendungssoftware-Komponente durch die Überwachungssoftware-Komponente und Übergeben des ersten Kennworts von der Überwachungssoftware-Komponente an die Anwendungssoftware-Komponente; und Überprüfen des ersten Kennworts auf Richtigkeit, und, wenn das übergebene erste Kennwort richtig ist, Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente, oder, wenn das übergebene erste Kennwort falsch ist, nicht Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers für zumindest eine Anwendungssoftware-Komponente mit einer Kennwortüberprüfung.
  • Bekannte Anwendungssoftware-Produkte, wie beispielsweise die Produkte des Office Pakets der Fa. Microsoft, bieten einem Nutzer die Möglichkeit, ein Dokument mit einer entsprechenden Anwendungssoftware zu erstellen, zu öffnen, zu bearbeiten und zu speichern. Die Anwendungssoftware unterstützt den Nutzer bei der Nutzung durch eine Vielzahl von verschiedenen Funktionen, unter anderem bieten eine Vielzahl von Anwendungssoftware-Produkten dem Nutzer die Möglichkeit, eigene teilweise sehr umfangreiche Anwendungen, im Folgenden allgemein Anwendungssoftware-Komponenten genannt, mit Hilfe einer in der Anwendungssoftware bereitgestellten Programmierumgebung insbesondere einer Programmiersprache, wie beispielsweise Visual Basic for Applications (VBA) im Office-Paket, zu programmieren, um Berechnungen durchzuführen oder Arbeitsabläufe und Schritte zu vereinfachen oder zu automatisieren. Diese selbst programmierten Anwendungssoftware-Komponenten können anderen Nutzern für eine Nutzung zur Verfügung gestellt werden, die über die entsprechende Anwendungssoftware verfügen, für die die Anwendungssoftware-Komponenten programmiert sind.
  • Die bekannten Anwendungssoftware-Produkte, wie beispielsweise Microsoft Excel aus dem Microsoft Office Paket, bieten darüber hinaus dem Nutzer der Anwendungssoftware die Möglichkeit, bestimmte Funktionen in selbst programmierten Anwendungssoftware-Komponenten, wie beispielsweise das Öffnen einer Excel-Mappe, in der eine Vielzahl von Rechenfunktionen programmiert sind, durch ein vorgegebenes Kennwort, wie in Fig. 1 als Lese/Schreibkennwort, in Fig. 2 als Kennwort für gesperrte Zellen in Excel-Mappen und in Fig. 3 als Kennwort für VBA-Programmcode, vor einem Zugriff durch Unberechtigte zu schützen. Dabei ist in Fig. 1 ein typischer Dialog von Microsoft Office zur Eingabe eines Lese-/Schreibkennworts zum Schützen eines gesamten Dokumentes insbesondere des VBA-Programmcodes, in Fig. 2 ein typischer Dialog von Microsoft Excel zur Eingabe eines Blattschutzkennworts zum Schützen einer Tabelle oder eines Diagrammes und in Fig. 3 ein typischer Dialog von Microsoft Office zur Eingabe eines Kennworts für den VBA-Programmcode dargestellt. Typischerweise ist beispielsweise eine Excel-Mappe derart kennwortgeschützt, dass sie vollständig oder nur bezüglich einzelner Funktionen mit dem Kennwort als Schlüssel mit Hilfe eines Verschlüsselungsverfahrens verschlüsselt ist.
  • Das Kennwort wird dann bei Aufruf einer bestimmten Funktion, hier beispielsweise das Öffnen der kennwortgeschützten Excel-Mappe, mittels der Anwendungssoftware abgefragt und der Nutzer muss das entsprechende Kennwort eingeben. Die Nutzung der Funktion, die in der Anwendungssoftware-Komponente enthalten ist, wird dabei nur dann ermöglicht, wenn das vom Nutzer eingegebene Kennwort mit dem vorgegebenen Kennwort der Anwendungssoftware-Komponente übereinstimmt. Der damit bereitgestellte Schutzmechanismus kann beispielsweise den Schutz des geistigen Eigentums des Entwicklers der Anwendungssoftware-Komponente insbesondere einer Beschränkung des Zugriffs auf Berechtigte gewährleisten.
  • Die überprüfung der Kennwörter selbst wird durch eine bereitgestellte, interne Funktion zur Kennwortüberprüfung durchgeführt, wobei das eingegebene Kennwort mit dem vorgegebenen Kennwort der Anwendungssoftware-Komponente verglichen oder durch Anwendung des umgekehrten Verschlüsselungsverfahren mit dem eingegebenen Kennwort als Schlüssel entschlüsselt wird. Im Falle der Übereinstimmung der Kennwörter oder erfolgreicher Entschlüsselung wird die Nutzung der Funktionen freigegeben und im Falle einer Nicht-Übereinstimmung der Kennwörter oder nicht erfolgreicher Entschlüsselung, beispielsweise durch Falscheingabe infolge des Nichtkennens des Kennwortes, wird die Nutzung der Funktion nicht freigegeben, d.h. die Excel-Mappe kann beispielsweise nicht geöffnet werden, und der Nutzer wird über die eingetretene Nicht-Übereinstimmung informiert.
  • Das vorgegebene Kennwort wird bei den bekannten Anwendungssoftware-Produkten in den vorbereiteten Anwendungssoftware-Komponenten in irgendeiner Form abgelegt, d.h. das Kennwort ist bei einigen dieser Anwendungssoftware-Produkte im Klartext und bei anderen durch Benutzung bekannter Verschlüsselungsmethoden in verschlüsselter Form abgelegt, oder wurde als Schlüssel für die Verschlüsselungsverfahren genutzt. Es ist somit möglich, den durch das Kennwort beabsichtigten Schutz durch einfache, bekannte Verfahren abzuschwächen oder zu umgehen, und so die Überprüfung der Nutzungsberechtigung zumindest teilweise außer Kraft zu setzen. Die einfachen, bekannten Verfahren zur Umgehung des Schutzes der Anwendungssoftware-Komponenten umfassen beispielsweise Auslesen, Verändern oder typischerweise Löschen des Kennworts. Ein effektiver Schutz der Anwendungssoftware-Komponenten für Anwendungssoftware-Produkte ist somit nicht gegeben.
  • Des Weiteren werden Computer und die dazugehörige Anwendungssoftware heutzutage weitgehend in vernetzten Umgebungen betrieben und vorbereitete Anwendungssoftware-Komponenten für die Anwendungssoftware werden durch eine große Anzahl von Nutzer genutzt. Bei vorbereiteten Anwendungssoftware-Komponenten, die mit bekannter Anwendungssoftware entwickelt wurden, kann jeweils nur ein Kennwort für eine bestimmte Funktion eingegeben werden, In vernetzten Umgebungen, in denen eine große Anzahl von Nutzern die gleiche vorbereitete Anwendungssoftware-Komponente nutzen, müssen daher diese Nutzer das Kennwort oder die Kennwörter für die bestimmten Funktionen kennen. Das bedeutet, dass in vernetzten Umgebungen das Kennwort an jeden berechtigten Nutzer bekannt gegeben werden muss. Ein effektiver Schutz der vorbereiteten Anwendungssoftware-Komponten ist durch eine entsprechend ungeschützte Bekanntgabe für eine Vielzahl von Nutzen nicht möglich.
  • Darüber hinaus kann die Nutzung von Anwendungssoftware-Komponenten nicht in der Art überwacht werden, dass festgestellt werden kann, wann und wie oft eine Anwendungssoftware-Komponente durch die Nutzer genutzt wird. Damit ist bei entsprechenden Anwendungssoftware-Komponenten eine Lizenzierung in Form der Anzahl berechtigter Nutzungen derzeit nicht möglich.
  • Eine Überwachung der Nutzung von bestimmten Funktionen ist ebenfalls nicht möglich, da die Kennwörter zur Nutzung der bestimmten Funktionen zumindest den dazu berechtigten Nutzer bekannt gegeben werden müssen. Es ist somit möglich, dass Nutzer die ihnen bekannten Kennwörter an andere Nutzer weitergeben können, ohne dass überprüft werden kann, welcher der Nutzer ein Kennwort weitergegeben hat und an welchen Nutzer das Kennwort weitergegeben worden ist.
  • Des Weiteren ist eine Änderung der Kennwörter in vernetzten Umgebungen erheblich erschwert, da sowohl die Änderung als auch die neuen Kennwörter den berechtigten Nutzern wiederum bekannt gegeben werden müssen.
  • Alle diese vorgenannten Nachteile führen dazu, dass die Entwicklung von Anwendungssoftware-Komponenten teilweise nur zögerlich betrieben wird, da eine Überprüfung der Nutzungsberechtigung nicht sicher gewährleistet ist.
  • Es ist daher Aufgabe der vorliegenden Erfindung ein Verfahren bereitzustellen, das eine Überprüfung einer Nutzungsberechtigung eines Nutzers für eine Anwendungssoftware-Komponente ermöglicht, ohne dass der Nutzer das Kennwort für die freizuschaltende Funktion der Anwendungssoftware-Komponente selbst kennen muss, und welches die Nachteile, die mit herkömmlichen Anwendungssoftware-Komponenten einhergehen, nicht aufweist oder diese zumindest vermindert. Die freizuschaltende Funktion kann dabei im Sinne der Erfindung entweder eine Teilfunktion der Anwendungssoftware-Komponente oder die Anwendungssoftware-Komponente selbst sein.
  • Erfindungsgemäß wird diese Aufgabe dadurch gelöst, dass ein Verfahren vorgeschlagen wird, das die Schritte aufweist: Bereitstellen einer von der Anwendungssoftware-Komponente unabhängig lauffähigen Überwachungssoftware-Komponente, welche zumindest das erste Kennwort für eine freizuschaltende Funktion der Anwendungssoftware-Komponente enthält, Aufrufen der Überwachungssoftware-Komponente durch den Nutzer. Aufrufen der Anwendungssoftware-Komponente durch die Überwachungssoftware-Komponente und Übergeben des erstes Kennworts für die freizuschaltende Funktion von der Überwachungssoftware-Komponente an die Anwendungssoftware-Komponente, und Überprüfen des ersten Kennworts auf Richtigkeit, und, wenn das übergebene erste Kennwort richtig ist, Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente, oder, wenn das übergebene erste Kennwort falsch ist, nicht Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente. Das Verfahren ermöglicht, dass die einzelnen Nutzer der kennwortgeschützten Anwendungssoftware-Komponente das Kennwort zur Freischaltung der Funktion nicht mehr kennen müssen und dadurch der Schutz vor unberechtigter Nutzung verbessert wird.
  • Gemäß einem weiteren Aspekt der Erfindung wird vorgeschlagen, dass das Verfahren beim Überprüfen weiterhin umfasst: Entschlüsseln der Anwendungssoftware-Komponente mit dem ersten übergebenen Kennwort, wenn die Anwendungssoftware-Komponente gemäß einem Verschlüsselungsverfahren mit dem ersten Kennwort als Schlüssel verschlüsselt wurde.
  • Gemäß einem weiteren Aspekt der Erfindung wird vorgeschlagen, dass das Überprüfen ferner umfasst:: Vergleichen des vordefinierten zweiten Kennworts mit dem übergebenen ersten Kennwort, wenn die Anwendungssoftware-Komponente ein vordefiniertes zweites Kennwort aufweist.
  • Gemäß einem weiteren Aspekt der Erfindung wird vorgeschlagen, dass die Überwachungssoftware-Komponente einen Uzenzschiüssei überprüft, der in einem weiteren Aspekt der vorliegenden Erfindung nutzerspezifisch ist, und der Aufruf der Überwachungssoftware-Komponente nur bei Vorliegen eines gültigen Lizenzschlüssels funktioniert. Dies hat den Vorteil, dass eine Überprüfung der lizenzierten Nutzung der Überwachungssoftware-Komponente und damit auch der Anwendungssoftware-Komponente ermöglicht wird.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird vorgeschlagen, dass die Überwachungssoftware-Komponente überprüft, ob der aufrufende Nutzer zum Aufruf der Überwachungssoftware-Komponente und der Anwendungssoftware-Komponente berechtigt ist. Dies hat den Vorteil, dass eine nutzerspezifische Berechtigung zur Nutzung vergeben und überprüft werden kann.
  • Gemäß einem anderen Aspekt der Erfindung wird vorgeschlagen, dass die Anwendungssoftware-Komponente wiederholt überprüft, ob die Überwachungssoftware-Komponente ausgeführt wird, und, wenn festgestellt wird, dass die Überwachungssoftware-Komponente nicht ausgeführt wird, die Anwendungssoftware-Komponente benachrichtigt wird, dass die Überwachungssoftware-Komponente nicht ausgeführt wird. Dies ist vorteilhaft, da somit die Nutzungsberechtigung der Anwendungssoftware-Komponente während der gesamten Zeitdauer der Nutzung überprüft werden kann und damit der Schutz vor unberechtigter Nutzung weiter verbessert wird.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung umfasst das Benachrichtigen der Anwendungssoftware-Komponente, das Beenden der freigeschalteten Funktion der Anwendungssoftware-Komponente oder das Beenden der Anwendungssoftware-Komponente selbst. Der vorteilhafte Effekt wird dabei dadurch erreicht, dass die Anwendungssoftware-Komponente nur genutzt werden kann, wenn die Überwachungssoftware-Komponente ausgeführt wird, womit eine Verbesserung der Nutzungsüberwachung erreicht wird.
  • Gemäß einem weiteren Aspekt der Erfindung umfasst das Verfahren der vorliegenden Erfindung zusätzlich die Schritte: Überprüfen der Anwendungssoftware-Komponente durch die Überwachungssoftware-Komponente insbesondere auf eine berechtigte und eine unberechtigte Nutzung von Funktionen der Anwendungssoftware-Komponente durch einen Vergleich der genutzten Funktion mit der freigeschalteten Funktion durch die Überwachungssoftware-Komponente, wobei, wenn die genutzte Funktion mit der freigeschalteten Funktion nicht übereinstimmt, die unberechtigte Nutzung festgestellt wird, und, wenn die genutzte Funktion mit der freigeschalteten Funktion übereinstimmt, die berechtigte Nutzung festgestellt wird, und Benachrichtigen der Anwendungssoftware-Komponente, wenn festgestellt wird, dass die Nutzung unberechtigt ist. Weiterhin kann die Anwendungssoftware-Komponente gemäß einem weiteren Aspekt der Erfindung durch den Schritt des Benachrichtigens beendet werden. Die Überwachung der berechtigten Nutzung kann damit weiter verbessert werden, da eine unberechtigte Nutzung erkannt wird.
  • Die Erfindung betrifft ferner ein Computerprogramm, dass, wenn es auf einem Computer abläuft, diesen steuert, das erfindungsgemäße Verfahren auszuführen und eine Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers für zumindest eine Anwendungssoftware-Komponente, die eine Kennwortüberprüfungseinrichtung hat, wobei ein erstes Kennwort beim Aufruf der Anwendungssoftware-Komponente einzugeben ist, um mindestens eine Funktion der Anwendungssoftware-Komponente freizuschalten. Die Vorrichtung umfasst eine von der Anwendungssoftware-Komponente unabhängig lauffähige Überwachungssoftware-Komponente, die durch den Nutzer aufrufbar ist. Die Überwachungssoftware-Komponente umfasst wiederum eine Kennwortspeichereinrichtung, in der zumindest das erste Kennwort für eine freizuschaltende Funktion der Anwendungssoftware-Komponente gespeichert ist, eine Aufrufeinrichtung, die dazu ausgelegt ist, die Anwendungssoftware-Komponente aufzurufen und an die Kennwortüberprüfungseinrichtung der Anwendungssoftware-Komponente das erste Kennwort zu übergeben, und die Kennwortüberprüfungseinrichtung der Anwendungssoftware-Komponente dazu ausgelegt ist, des übergebene erste Kennwort auf Richtigkeit, und, wenn das übergebene erste Kennwort richtig ist, Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente, oder, wenn das übergebene erste Kennwort falsch ist, nicht Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente.
  • Bevorzugte Ausführungsformen der Erfindung werden nachfolgend rein beispielhaft und ohne jegliche Beschränkung anhand der beigefügten Zeichnungen erläutert, in denen:
    • Fig. 1 einen Ausschnitt einer Bildschirmdarstellung des Vorgebens eines Lese-/Schreibkennwortes für eine Anwendungssoftware-Komponente gemäß dem Stand der Technik zeigt,
    • Fig. 2 einen Ausschnitt einer Bildschirmdarstellung des Vorgebens eines Kennwortes für einen Teil einer Anwendungssoftware-Komponente gemäß dem Stand der Technik zeigt,
    • Fig. 3 einen Ausschnitt einer Bildschirmdarstellung des Vorgebens eines Kennwortes für einen programmierten Teil einer Anwendungssoftware-Komponente gemäß dem Stand der Technik zeigt,
    • Fig. 4 ein Ablaufdiagramm der Ausführungsform gemäß einem ersten Aspekt der vorliegenden Erfindung zeigt,
    • Fig. 5 ein Ablaufdiagramm der Ausführungsform gemäß einem weiteren Aspekt der vorliegenden Erfindung zeigt,
    • Fig. 6 ein Ablaufdiagramm der Ausführungsform gemäß einem weiteren Aspekt der vorliegenden Erfindung zeigt,
    • Fig. 7 ein Ablaufdiagramm, das den Ablauf der Lizenzierung und Erteilung der Nutzungsberechtigung der Überwachungssoftware-Komponente gemäß der vorliegenden Erfindung zeigt,
    • Fig. 8 eine schematische Darstellung der Vorrichtung gemäß einem weiteren Aspekt der vorliegenden Erfindung ist.
  • Die nachfolgenden Verfahren gemäß Ausführungsformen der Erfindung werden jeweils mit Bezug zu der in Fig. 8 gezeigten Vorrichtung gemäß einer Ausführungsform beschrieben.
  • In Fig. 4 ist ein Ablaufdiagramm eines Verfahrens einer ersten Ausführungsform der vorliegenden Erfindung gezeigt. Gemäß dem Verfahren kommen eine Anwendungssoftware-Komponente 100 und eine Überwachungssoftware-Komponente 200 zum Einsatz, die beide in der gleichen Betriebssystemumgebung auf dem Computer eines Nutzers lauffähig sind. Die Überwachungssoftware-Komponente 200 ist dabei unabhängig von der Anwendungssoftware-Komponente 100 lauffähig, d.h. die Überwachungssoftware-Komponente 200 kann aufgerufen oder ausgeführt werden, ohne dass die Anwendungssoftware-Komponente 100 ausgeführt werden muss, Die Überwachungssoftware-Komponente ist allgemein dazu ausgelegt, eine andere Software-Komponente und hier vorzugsweise die Anwendungssoftware-Komponente zu kontrollieren und bei Eintritt von entsprechenden Ereignissen, auf diese geeignet zu reagieren und beispielsweise gemäß einem Ausführungsbeispiel das Ausführen der Programmierumgebung der Anwendungssoftware-Komponente zu verhindern, wenn der Nutzer hierzu nicht berechtigt ist. Die Funktionen der Überwachungssoftware-Komponente werden nachfolgend im Einzelnen beschrieben.
  • Die Anwendungssoftware-Komponente 100 hat eine Kennwortüberprüfungseinrichtung 110 und weist eine Vielzahl von Funktionen auf. Zum Schutz einzelner oder aller Funktionen gibt der Nutzer zumindest ein erstes Kennwort 220 bei der Erstellung oder Bearbeitung der Anwendungsoftware-Komponente 100 ein.
  • Das erste Kennwort 220 wird gemäß einem Ausführungsbeispiel als Schlüssel für ein Verschlüsselungsverfahren verwendet, mit weichem die Anwendungssoftware-Komponente verschlüsselt ist. Insoweit erfolgt keine Ablage des ersten Kennworts 220 in der Anwendungssoftware-Komponente 100 und die Anwendungssoftware-Komponente enthält in diesem Fall kein zweites Kennwort 130 wie in Fig. 8 gezeigt, sondern die Anwendungssoftware-Komponente verarbeitet lediglich das erste Kennwort wie weiter unten näher beschrieben.
  • In einem weiteren Ausführungsbeispiel ist das erste Kennwort 220 als ein zweites Kennwort 130 in der Anwendungssoftware-Komponente 100 in irgendeiner, auf dem Gebiet der Anwendungssoftwsre-Komponenten, bekannten Art abgelegt. Beispielsweise ist das erste Kennwort 220 ein Lese-/Schreibkennwort, mit dem eine Lese-/Schreibfunktion der Anwendungssoftware-Komponente 100 geschützt werden soll. Damit der Nutzer die Funktionen nutzen kann, die mit dem ersten Kennwort 220 geschützt sind, muss der Nutzer ein Kennwort in die Kennwortüberprüfungseinrichtung 110 eingeben. Die Kennwortüberprüfungseinrichtung 110 überprüft das eingegebene Kennwort auf Richtigkeit, und gibt die geschützten Funktionen zur Nutzung frei, wenn die Kennwörter übereinstimmen oder das eingegebene Kennwort der richtige Schlüssel für die Entschlüsselung ist.
  • Die vom Verfahren bereitgestellte Übenmachungssoftware-Komponente 200 umfasst eine Kennwortspeichereinrichtung 210, in der das erste Kennwort 220 speicherbar ist, und eine Aufrufeinrichtung 230. Das erste Kennwort 220 ist dabei zur Übergabe an die Kennwortüberprüfungseinrichtung 110 der Anwendungssoftware-Komponente 100 vorgesehen und entspricht vorzugsweise dem Kennwort 220 der freizugebenden Funktion der Anwendungssoftware-Komponente 100. Die Aufrufeinrichtung 230 der Überwachungssoftware-Komponente 200 ist dazu ausgelegt, die Anwendungssoftware-Komponente 110 aufzurufen und das erste Kennwort 220 an diese zu übergeben.
  • Wenn der Nutzer die Überwachungssoftware-Komponente 200 aufruft, wird der Programmablauf der Überwachungssoftware-Komponente 200 in Schritt S1 begonnen und die Überwachungssoftware-Komponente 200 wird ausgeführt. Anschließend wird die Anwendungssoftware-Komponente 100 durch die Überwachungssoftware-Komponente 200 in Schritt S2 aufgerufen. Die Anwendungssoftware-Komponente 100 wird durch den Aufruf in S2 gestartet, In der Anwendungssoftware-Komponente 100 wurden einzelner oder alle Funktionen mit dem ersten Kennwort 220 versehen und die Kennwortüberprüfungseinrichtung 110 zur Überprüfung der Nutzungsberechtigung wird für die Eingabe eines Kennwortes ausgeführt. In Schritt S2 wird nun das in der Kennwortspeichereinrichtung 210 der Überwachungssoftware-Komponente 200 gespeicherte erste Kennwort 220 an die Kennwortüberprüfungseinrichtung 110 der Anwendungssoftware-Komponente 100 übergeben. Nach der Übergabe des ersten Kennworts 220 wird durch die Kennwortüberprüfungseinrichtung 110 in Schritt S3 überprüft, ob das übergebene erste Kennwort 220 richtig ist.
  • In einem Ausführungsbeispiel, bei dem die Anwendungssoftware-Komponente 100 durch ein Verschlüsselungsverfahren mit dem ersten Kennwort 220 als Schlüssel verschlüsselt wurde, wird in Schritt S3 das Verschlüsselungsverfahren mit dem übergebenen ersten Kennwort 220 als Schlüssel auf die verschlüsselte Anwendungssoftware-Komponente 100 umgekehrt angewendet, um die Anwendungssoftware-Komponente 100 zu entschlüsseln. Für den Fall, dass das übergebene Kennwort dem Schlüssel entspricht, der für die Verschlüsselung der Anwendungssoftware-Komponente 100 verwendet wurde, wird die freizuschaltende Funktion freigeschaltet, anderenfalls bleibt die Anwendungssoftware-Komponente 100 verschlüsselt und die Funktion wird nicht freigeschaltet. Gemäß einer Ausführungsform wird das Verschlüsseln und Entschlüsseln der Anwendungssoftware-Komponente durch die Kennwortüberprüfungseinrichtung 110 ausgeführt.
  • In einem weiteren Ausführungsbeispiel, bei dem ein zweites Kennwort 130 in der Anwendungssoftware-Komponente 100 abgelegt ist, wird das übergebene erste Kennwort in Schritt S3 mit dem zweiten Kennwort 130 verglichen.Für den Fall, dass in Schritt S3 festgestellt wird, dass das übergebene erste Kennwort 220 nicht mit dem zweiten Kennwort 130 übereinstimmt, wird die Funktion, die freigeschaltet werden soll, nicht freigeschaltet, d.h. die Funktion kann nicht durch den Nutzer genutzt werden.
  • Weiterhin kann die Kennwortüberprüfungseinrichtung 110 oder die Anwendungssoftware-Komponente 100 eine Benachrichtigung erzeugen, die zum Beispiel eine auf einem Monitor des Computers anzeigbare Fehlermeldung ist, und auf dem Monitor anzeigen. Falls das erste Kennwort 220 mit dem zweiten Kennwort 130 übereinstimmt, wird die freizuschaltende Funktion in der Anwendungssoftware-Komponente 100 freigeschaltet. Das Freischalten einer Funktion in der Anwendungssoftware-Komponente 100 bewirkt, dass die Funktion durch den Nutzer genutzt werden kann. Darüber hinaus kann durch die Anwendungssoftware-Komponente 100 oder die Kennwortüberprüfungseinrichtung 110 eine entsprechende Benachrichtigung erzeugt werden, die beispielsweise der Überwachungssoftware-Komponente 200 übermittelt wird oder dem Nutzer angezeigt wird.
  • Das Verfahren gemäß der ersten Ausführungsform wird beendet, wenn der Verfahrensschritt S3 erfolgreich abgeschlossen ist, d.h. das erste Kennwort 220 richtig ist. Die Anwendungssoftware-Komponente 100 kann mit der freigeschalteten Funktion weiterhin ausgeführt werden, und der Nutzer kann die freigeschalteten Funktionen nutzen.
  • Andererseits wird, wenn der Schritt S3 nicht erfolgreich ausgeführt wird, d.h. das erste Kennwort 220 nicht richtig ist, die Anwendungssoftware-Komponente 100 beendet und eine Nutzung ist nicht möglich. Gemäß der Ausführungsform kann die Überwachungssoftware-Komponente 200 nachdem Schritt S3 nicht erfolgreich ausgeführt wurde, den Schritt S2 des Verfahrens erneut ausführen, um beispielsweise zu vermeiden, dass bei der Übergabe des ersten Kennworts 220 an die Kennwortüberprüfungseinrichtung 110 ein Fehler aufgetreten ist. Diese wiederholte Ausführung des Schritts S2 kann beispielsweise durch Hochzählen einen Zählers in der Überwachungssoftware-Komponente 200 gesteuert werden, und kann bei Erreichen eines vordefinierten Wertes des Zählers durch Beendigung der Übarwachungssoftvvare-Komponente 200 abgebrochen werden.
  • Das in Fig. 4 dargestellte Verfahren gemäß einer Ausführungsform überprüft zusätzlich im Verfahrensschritt 81 einen Uzenzschiüssel mit Hilfe einer Lizenzüberprüfungseinrichtung 240, wobei vorzugsweise die Überwachungssoftware-Komponente durch einen Lizenzschlüssel lizensiert wurde. Den Lizenzschlüssel fordert der Nutzer beispielsweise beim Hersteller oder Lieferanten der Anwendungsssoftware-Komponente 100 durch Übermittlung von Informationen der Umgebung, in der die Anwendungssoftware-Komponente 100 verwendet wird, wie beispielsweise die Prozessor-ID, die Festplattenseriennummer oder die MAC-Adresse des Netzwerkinterfaces, an. Diese Anforderung kann mit Hilfe bekannter Verfahren, wie zum Beispiel Email, erfolgen. Der Hersteller der Überwachungssoftware-Komponente generiert aus diesen übermittelten Informationen durch ein vorgegebenes Lizenzschlüsselgenerierungsverfahren einen Lizenzschlüssel, welcher dem Nutzer mit einem bekannten Übermittlungsverfahren übermittelt wird. Der Lizenzschlüssel wird daraufhin so abgelegt, dass der Überwachungssoftware-Komponente 200 Zugriff auf diesen Lizenzschlüssel ermöglicht wird. Dies kann beispielsweise durch Ablage in einer Konfigurationsdatei in der Umgebung des Nutzers erfolgen. Die Überprüfung des Lizenzschlüssels wird in Schritt S1 nach dem Aufruf der Überwachungssoftware-Komponente 200 durch die Lizenzüberprüfungseinrichtung 240 ausgeführt. Die Lizenzüberprüfungseinrichtung 240 überprüft den Lizenzschlüssel durch Vergleich mit einem Schlüssel, der durch die Ausführung der Lizenzüberprüfungseinrichtung 240 mit Hilfe des oben genannten Lizenzschlüsselgenerierungsverfahren und den Informationen der Umgebung erzeugt wird. Falls der erzeugte Schlüssel mit dem Lizenzschlüssel übereinstimmt, liegt eine berechtigte Nutzung der Überwachungssoftware-Komponente 200 vor, und das Verfahren wird in Schritt S2 fortgesetzt. Für den Fall, dass der erzeugte Schlüssel nicht mit dem Lizenzschlüssel übereinstimmt, wird eine unberechtigte Nutzung der Überwachungssoftware-Komponente 200 angenommen, und das Verfahren wird beispielsweise durch Abbruch des Verfahrensschrittes S1 und eine Benachrichtigung des Nutzers beendet.
  • Der Lizenzschiüsse! wird in einer weiteren Ausführungsform aus nutzerspezifischen Informationen, wie beispielsweise dem Namen oder dem Anmeldenamen des Nutzers, generiert.
  • Die oben beschriebene Ausführungsform mit Überprüfung eines Lizenzschlüssels ist beispielhaft in Fig. 7 dargestellt. Der Ablauf der Lizenzierung wird nachfolgend mit Bezug auf Fig. 7 detailliert beschrieben. In Schritt "Step 1" wird durch einen Lieferant oder Hersteller eine Anwendungssoftware-Komponente 100, hier beispielhaft als Excel-Mappe bezeichnet, mit einem ersten Kennwort 220 an den Kunden (Nutzer) ausgeliefert. Der Kunde verfügt des Weiteren über die Überwachungssoftware-Komponente 200, hier als Start-Komponente Start.exe bezeichnet, welche der Kunde aufruf. Dabei wird, wenn noch kein Lizenzschlüssel vorliegt, ein Anforderungsschlüssel in Schritt "Step 2" erzeugt und an den Lieferanten per Email versandt. Aus diesem Anforderungsschlüssel und dem vorgegebenen Lizenzschlüsselgenerierungsverfahren erzeugt der Lieferant einen gültigen Lizenzschlüssel, welchen an den Kunden übermittelt wird (Step 3). Der Lizenzschlüssel wird in die Start-Komponente Start.exe eingegeben und in geeigneter Weise abgelegt (Step 4). Danach erfolgt in Schritt "Step 5" die weitere Ausführung des Verfahrens, wie oben beschrieben.
  • In einer weiteren Ausführungsform des in Fig. 4 gezeigten Verfahrens wird in Verfahrensschritt S1 zusätzlich überprüft, ob der Nutzer zum Aufruf der Überwachungssoftware-Komponente 200, dem geplanten Aufruf der Anwendungssoftware-Komponente 100 und/oder zum Freischalten der Funktion der Anwendungssoftware-Komponente 100 berechtigt ist. Dazu wird eine Nutzerberechtigungsüberprüfungseinrichtung 250 bereitgestellt, die dazu ausgelegt ist, zumindest die oben genannten Nutzerberechtigungen zu überprüfen. Dabei werden durch die Nutzerberechtigungsüberprüfungseinrichtung 250 die Informationen des aufrufenden Nutzers mit vorgegebenen Berechtigungsinformationen für Nutzer verglichen, die in der Umgebung so abgelegt sind, dass die Nutzerberechtigungsüberprüfungseinrichtung 250 darauf zugreifen kann. Für den Fall, dass die Überprüfung der Nutzerberechtigungen erfolgreich ist, wird das Verfahren in Schritt S2 fortgesetzt. Wenn die Überprüfung jedoch ergibt, dass der aufrufende Nutzer nicht berechtigt ist, kann das Verfahren durch Abbruch der Überwachungssoftware-Komponente 200 beendet werden.
  • Fig. 5 zeigt ein Verfahren gemäß einer weiteren Ausführungsform, in dem die Verfahrensschritte S1 bis S3 mit denen der Ausführungsform gemäß Fig. 4 übereinstimmen. Das Verfahren dieser Ausführungsform weist zusätzlich einen Verfahrensschritt S4 auf. Zur Ausführung des Schritt S4 ist erforderlich, dass die Überwachungssoftware-Komponente 200 so gestaltet ist, dass sie nach Aufruf der Anwendungssoftware-Komponente 200 in Schritt S3 weiter ausgeführt wird, und, dass die Anwendungssoftware-Komponente 100 mit einer Überwachungs- und Benachrichtigungseinrichtung 120, die vorzugsweise durch Programmierung zusätzlich in der Anwendungssoftware-Komponente bereitgestellt wird, versehen ist. Die Überwachungs- und Benachrichtigungseinrichtung 120 ist dazu ausgelegt, dass sie während der Ausführung der Anwendungssofiware-Komponente 100 wiederholt in einem Schritt S4 überprüft, ob die Überwachungssoftware-Komponente 200 funktionsfähig ist und/oder ausgeführt wird. Dabei können Funktionen genutzt werden, die von der Umgebung oder dem Betriebssystem bereitgestellt werden.
  • Vorzugsweise überwacht die Überwachungs- und Benachrichtigungseinrichtung 120 die Überwachungssoftware-Komponente 200 mit Hilfe eines vom Betriebssystem bereitgestellten Prozess-Monitoring oder eines anderen geeigneten Mechanismus, der im Stand der Technik zur Überwachung von Softwarekomponenten bekannt ist. Wird bei der Überprüfung in Schritt S4 festgestellt, dass die Überwachungssoftware-Komponente 200 nicht ausgeführt wird, wird die Anwendungssoftware-Komponente 100 benachrichtigt. In weiteren Ausführungsformen kann die Anwendungssoftware-Komponente 100 Funktionen umfassen, die, wenn die Anwendungssoftware-Komponente 100 benachrichtigt wird, die Anwendungssoftware-Komponente 100 so steuern, dass die freigeschalteten Funktionen der Anwendungssoftware-Komponente 100 oder die Anwendungssoftware-Komponente 100 selbst beendet werden. Für den Fall, dass in Schritt S4 festgestellt wird, dass die Überwachungssoftware-Komponente 200 ausgeführt wird, wird die Anwendungssoftware-Komponente 100 nicht benachrichtigt und die Ausführung der Anwendungssoftware-Komponente 100 wird fortgesetzt. Das wiederholte Überprüfen durch die Überwachungs- und Benachrichtigungseinrichtung 120 kann in vordefinierten oder zufälligen Zeitabständen erfolgen.
  • Mit Bezug auf Fig. 6 wird ein Verfahren gemäß einer weiteren Ausführungsform dargestellt, welche die oben beschriebenen Ausführungsformen erweitert. Dazu stellt die in Fig. 8 dargestellte Vorrichtung eine Überwachungseinrichtung 260 für die Überwachungssoftware-Komponente 200 bereit. Die Überwachungseinrichtung 260 ist dazu ausgelegt, insbesondere auf berechtigte und unberechtigte Nutzung von Funktionen der Anwendungssoftware-Komponente 100 zu überwachen. Dazu wird die Überwachungssoftware-Komponente 200 nach Schritt S1 weiter ausgeführt, d.h. das zumindest nach erfolgreicher Ausführung des Schritts S1 in Schritt S5 sowohl die Anwendungssoftware-Komponente 100 als auch die Überwachungssoftware-Komponente 200 ausgeführt werden. Die Überwachungseinrichtung 260 überprüft in Schritt S6 nun die Anwendungssoftware-Komponente 100, um festzustellen, ob die genutzte Funktion mit der freigeschalteten Funktion übereinstimmt. Die Nutzung wird dabei als berechtigt erkannt, wenn die freigeschaltete mit der genutzten Funktion übereinstimmt. Eine unberechtigte Nutzung kann beispielweise dann vorliegen, wenn der Nutzer die Anwendungssoftware-Komponente 200 manipuliert hat, d.h. zum Beispiel den Versuch unternommen hat, das zweite Kennwort 130 zu ändern, zu löschen oder die Schutzmechanismen der Anwendungssoftware-Komponente auszuschalten oder zu umgehen. Gemäß einem Ausführungsbeispiel überprüft die Überwachungssoftware-Komponente Objekte und/oder System-Zugriffie der Anwendungssoftware-Komponente. Wenn eine unberechtigte Nutzung in Schritt S6 festgestellt wird, dann benachrichtigt die Überwachungseinrichtung 260 die Anwendungssoftware-Komponente 100 über die festgestellte unberechtigte Nutzung. Die Anwendungssoftware-Komponente 100 kann daraufhin die freigeschaltete Funktion beenden, um weitere Manipulationsversuche auszuschließen, oder die Anwendungssoftware-Komponente 200 wird selbst beendet. Für den Fall, dass die Überwachungseinrichtung 260 eine berechtigte Nutzung feststellt, wird die Anwendungssoftware-Komponente 100 und die Überwachungssoftware-Komponente 200 weiter normal ausgeführt. Der Schritt S6 kann in einer weiteren Ausführungsform wiederholt in vorbestimmten oder zufälligen Zeitabständen oder, wenn eine Funktion in der Anwendungssoftware-Komponente 200 genutzt wird, ausgeführt werden.
  • In einer weiteren Ausführungsform überwacht die Überwachungssoftware-Komponente auch, ob weitere Überwachungssoftware-Komponenten in der Umgebung ausgeführt werden oder die Überwachungssoftware-Komponente manipuliert wird.
  • Bei den oben beschriebenen Ausführungsformen der vorliegenden Erfindung ist die Anwendungssoftware-Komponente 100 jede beliebige Bürosoftware, wie zum Beispiel die Produkte aus dem Microsoft Office Paket, vorzugsweise eine Tabellenkalkulationssoftware, wie zum Beispiel Microsoft Excel, die eine Programmiersprache aufweist, mit der Funktionen programmiert werden können.
  • Die Ausführungsformen, bei denen die Anwendungssoftware-Komponente ein Produkt aus dem Microsoft Office Paket ist, weisen eine in der Programmiersprache Visual Basic for Applications vorbereitete Komponente auf, die die Funktionalität des Produktes aus dem Microsoft Office Paket erweitert, um das Verfahren der vorliegenden Erfindung auszuführen. Diese vorbereitete Komponente wird vor Verwendung der Anwendungssoftware" Komponente in diese beispielsweise durch Öffnen eines entsprechenden Dokumentes importiert. Über diese importiert Komponente kommuniziert dann die Anwendungssoftware-Komponente aus dem Microsoft Office Paket mit der Überwachungssoftware-Komponente und führt unter anderem den Schritt S4 aus.
  • Die beschriebenen Ausführungsformen der vorliegende Erfindung können in beliebigen Umgebungen, d.h. auf einem entsprechend eingerichteten elektronischen Gerät, einem Einzelplatzcomputer oder in einer vernetzten Umgebung, ausgeführt werden, die zur Ausführung des Verfahrens geeignet sind. Ebenso können die Ausführungsformen in beliebigen Betriebssystemumgebungen, wie zum Beispiel Microsoft Windows, ausgeführt werden, soweit entsprechende Anwendungssoftware-Komponenten 100 für diese Betriebssystemumgebungen und Umgebungen verfügbar sind. Die Überwachungssoftware-Komponente der beschriebenen Ausführungsformen ist dabei zweckmäßigerweise so gestaltet, dass bereitgestellte Funktionen der Umgebung und/oder des Betriebssystems genutzt werden, ohne diese selbst zu verändern. In den beschriebenen Ausführungsformen sind die Einrichtungen der Anwendungssoftware-Komponente vorzugsweise so bereitgestellt, dass die Umgebung nicht geändert wird.
  • Die Ausführungsformen der Erfindung werden vorzugsweise als Computerprogramme ausgeführt, die auf einem geeigneten Datenspeicher abgespeichert sind. Weitere bevorzugte Ausführungsformen des Verfahrens können als Digitale Signalverarbeitungsvorrichtung (DSP) oder in einem programmierbaren integrierten digitalen Schaltkreis (FPGA) realisiert werden.

Claims (15)

  1. Verfahren zum Überprüfen einer Nutzungsberechtigung eines Nutzers für zumindest eine Anwendungssoftware-Komponente mit einer Kennwortüberprüfung, wobei ein erstes Kennwort beim Aufruf der Anwendungssoftware-Komponente einzugeben ist, um mindestens eine Funktion der Anwendungssoftware-Komponente freizuschalten, umfassend die Schritte:
    a) Bereitstellen einer von der Anwendungssoftware-Komponente unabhängig lauffähigen Überwachungssoftware-Komponente, welche zumindest das erste Kennwort für eine freizuschaltende Funktion der Anwendungssoftware-Komponente enthält;
    b) Aufrufen der Überwachungssoftware-Komponente durch den Nutzer;
    c) Aufrufen der Anwendungssoftware-Komponente durch die Überwachungssoftware-Komponente und Übergeben des ersten Kennworts von der Überwachungssoftware-Komponente an die Anwendungssoftware-Komponente; und
    d) Überprüfen des ersten Kennworts auf Richtigkeit, und, wenn das übergebene erste Kennwort richtig ist, Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente, oder, wenn das übergebene erste Kennwort falsch ist, nicht Freischalten der freizuschaltenden Funktion der Anwendungssoftware-Komponente.
  2. Verfahren nach Anspruch 1, wobei die Anwendungssoftware-Komponente gemäß einem Verschlüsselungsverfahren mit dem ersten Kennwort als Schlüssel verschlüsselt wurde und das Überprüfen in Schritt d) umfasst:
    e) Entschlüsseln der Anwendungssoftware-Komponente mit dem ersten übergebenen Kennwort.
  3. Verfahren nach Anspruch 1, wobei die Anwendungssoftware-Komponente ein vordefiniertes zweites Kennwort aufweist und das Überprüfen in Schritt d) umfasst:
    f) Vergleichen des vordefinierten zweiten Kennworts mit dem übergebenen ersten Kennwort.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei Schritt b) weiterhin Überprüfen eines Lizenzschlüssels umfasst, wobei die Überwachungssoftware-Komponente nur bei Vorliegen eines gültigen Lizenzschlüssels aufgerufen wird.
  5. Verfahren nach Anspruch 4, wobei der Lizenzschlüssel ein nutzerspezifischer Lizenzschlüssel ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, in dem Schritt b) weiterhin Überprüfen einer Nutzerberechtigung umfasst, wobei die Überwachungssoftware-Komponente und die Anwendungssoftware-Komponente nur bei Vorliegen der Nutzerberechtigung aufgerufen wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, gemäß dem die Überwachungssoftware-Komponente nach Aufruf in Schritt b) ausgeführt wird und das Verfahren weiterhin umfasst:
    g) wiederholtes Überprüfen durch die Anwendungssoftware-Komponente, ob die Überwachungssoftware-Komponente ausgeführt wird, und, wenn festgestellt wird, dass die Überwachungssoftware-Komponente nicht ausgeführt wird, Benachrichtigen der Anwendungssoftware-Komponente, dass die Überwachungssoftware-Komponente nicht ausgeführt wird.
  8. Verfahren nach Anspruch 7, wobei das Benachrichtigen der Anwendungssoftware-Komponente, dass die Überwachungssoftware-Komponente nicht ausgeführt wird, umfasst, dass die freigeschaltete Funktion der Anwendungssoftware-Komponente oder die Anwendungssoftware-Komponente selbst beendet wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, weiterhin umfassend:
    h) Überprüfen der Anwendungssoftware-Komponente auf eine berechtigte und eine unberechtigte Nutzung von Funktionen der Anwendungssoftware-Komponente durch einen Vergleich der genutzten Funktion mit der freigeschalteten Funktion durch die Überwachungssoftware-Komponente, wobei, wenn die genutzte Funktion mit der freigeschalteten Funktion nicht übereinstimmt, die unberechtigte Nutzung festgestellt wird, und, wenn die genutzte Funktion mit der freigeschalteten Funktion übereinstimmt, die berechtigte Nutzung festgestellt wird; und
    i) Benachrichtigen der Anwendungssoftware-Komponente, wenn festgestellt wird, dass die Nutzung unberechtigt ist.
  10. Verfahren nach Anspruch 9, wobei Schritt i) weiterhin umfasst: Beenden der Anwendungssoftware-Komponente.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei das vordefinierte zweite Kennwort ein Lese-/Schreibkennwort ist, welches eine Lese-/Schreibfunktion der Anwendungssoftware-Komponente freischaltet.
  12. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Anwendungssoftware-Komponente eine Bürosoftware oder eine Tabellenkalkulationssoftware ist.
  13. Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers für zumindest eine Anwendungssoftware-Komponente, die dazu eingerichtet ist, das Verfahren gemäß einem der vorhergehenden Ansprüche auszuführen.
  14. Computerprogramm, dass, wenn es auf einem Computer abläuft, diesen steuert, das Verfahren nach einem der Ansprüche 1 bis 12 auszuführen.
  15. Datenträger, auf welchem ein Computerprogramm nach Anspruch 14 abgespeichert ist.
EP08154860A 2008-04-21 2008-04-21 Verfahren und Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers Withdrawn EP2112615A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP08154860A EP2112615A1 (de) 2008-04-21 2008-04-21 Verfahren und Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP08154860A EP2112615A1 (de) 2008-04-21 2008-04-21 Verfahren und Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers

Publications (1)

Publication Number Publication Date
EP2112615A1 true EP2112615A1 (de) 2009-10-28

Family

ID=39769088

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08154860A Withdrawn EP2112615A1 (de) 2008-04-21 2008-04-21 Verfahren und Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers

Country Status (1)

Country Link
EP (1) EP2112615A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139391A (zh) * 2013-02-27 2013-06-05 广东欧珀移动通信有限公司 对手机安装或卸载应用程序进行权限验证的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005132A1 (en) * 2003-07-03 2005-01-06 International Business Machines Corporation Password management
US20060059569A1 (en) * 2004-08-27 2006-03-16 Microsoft Corporation Application and device user verification from an operating system-based authentication service
EP1746524A1 (de) * 2005-07-22 2007-01-24 Fujitsu Siemens Computers GmbH Verfahren zum Erstellen einer verschlüsselten Sicherungsdatei und Verfahren zum Wiederherstellen von Daten aus dieser Sicherungsdatei bei einem Pocket-PC
US20070240211A1 (en) * 2006-04-10 2007-10-11 Fujitsu Limited Authentication method, authentication apparatus and authentication program storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005132A1 (en) * 2003-07-03 2005-01-06 International Business Machines Corporation Password management
US20060059569A1 (en) * 2004-08-27 2006-03-16 Microsoft Corporation Application and device user verification from an operating system-based authentication service
EP1746524A1 (de) * 2005-07-22 2007-01-24 Fujitsu Siemens Computers GmbH Verfahren zum Erstellen einer verschlüsselten Sicherungsdatei und Verfahren zum Wiederherstellen von Daten aus dieser Sicherungsdatei bei einem Pocket-PC
US20070240211A1 (en) * 2006-04-10 2007-10-11 Fujitsu Limited Authentication method, authentication apparatus and authentication program storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139391A (zh) * 2013-02-27 2013-06-05 广东欧珀移动通信有限公司 对手机安装或卸载应用程序进行权限验证的方法及装置
CN103139391B (zh) * 2013-02-27 2015-01-07 广东欧珀移动通信有限公司 对手机安装或卸载应用程序进行权限验证的方法及装置

Similar Documents

Publication Publication Date Title
EP3274825B1 (de) Verfahren und ausführungsumgebung zum gesicherten ausführen von programmbefehlen
DE102012110499B9 (de) Sicherheitszugangsverfahren für elektronische Automobil-Steuergeräte
DE10392470B4 (de) System und Verfahren zum Ausführen von Initialisierungsbefehlen einer gesicherten Umgebung
DE60301177T2 (de) Programm, Verfahren und Vorrichtung zum Datenschutz
DE112019005701T5 (de) Sichere boot-unterstützung für vorrichtungen und zugehörige systeme, verfahren und vorrichtungen
DE102007063528A1 (de) System und Verfahren zum Schützen eines Sicherheitsbereichs eines Systems
EP1999521B1 (de) Feldgerät
EP1970782B1 (de) Schutzeinrichtung für eine programmierbare datenverarbeitende Einheit
DE102016210788B4 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102014208838A1 (de) Verfahren zum Betreiben eines Steuergeräts
EP0280035B1 (de) Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme
EP3139570A1 (de) Verfahren zum ausführen eines anwendungsprogramms auf einem anwenderrechner
EP1664978B1 (de) Vorrichtung und verfahren zur sicheren ausführung eines programmes
DE102005046696B4 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
EP2112615A1 (de) Verfahren und Vorrichtung zum Überprüfen einer Nutzungsberechtigung eines Nutzers
WO2005115809A1 (de) Authentisierung einer fahrzeugexternen vorrichtung
EP3798873B1 (de) Verfahren zum schützen einer computer-implementierten anwendung vor manipulation
DE102020206039A1 (de) Erstellen einer Container-Instanz
EP1671201B1 (de) Einräumung eines zugriffs auf ein computerbasiertes objekt
EP3355141A1 (de) Operator-system für ein prozessleitsystem
EP2524333A1 (de) Verfahren zum bereitstellen eines sicheren zählers auf einem endgerät
DE602004001293T2 (de) Programmintegritätsprüfung mittels Statistiken
EP3820081A1 (de) Verfahren zur durchführung einer erlaubnisabhängigen kommunikation zwischen wenigstens einem feldgerät der automatisierungstechnik und einem bediengerät
EP3072080B1 (de) Verfahren und vorrichtung zum manipulationsschutz einer recheneinrichtung
EP1105798B1 (de) Verfahren, anordnung sowie ein satz mehrerer anordnungen zum schutz mehrerer programme und/oder mehrerer dateien vor einem unbefugten zugriff durch einen prozess

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA MK RS

AKX Designation fees paid
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20100429

REG Reference to a national code

Ref country code: DE

Ref legal event code: 8566