DE10033384A1 - Method for computer software installation in which a cryptographic authorization key is written with a part of the software to permanent computer memory, with the authorization based on personal or hardware specific data - Google Patents

Method for computer software installation in which a cryptographic authorization key is written with a part of the software to permanent computer memory, with the authorization based on personal or hardware specific data

Info

Publication number
DE10033384A1
DE10033384A1 DE2000133384 DE10033384A DE10033384A1 DE 10033384 A1 DE10033384 A1 DE 10033384A1 DE 2000133384 DE2000133384 DE 2000133384 DE 10033384 A DE10033384 A DE 10033384A DE 10033384 A1 DE10033384 A1 DE 10033384A1
Authority
DE
Germany
Prior art keywords
software
authorization
hardware
key
identifier
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
DE2000133384
Other languages
German (de)
Inventor
Tobias Martin
Joerg Schwenk
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.)
Deutsche Telekom AG
Original Assignee
Deutsche Telekom AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsche Telekom AG filed Critical Deutsche Telekom AG
Priority to DE2000133384 priority Critical patent/DE10033384A1/en
Publication of DE10033384A1 publication Critical patent/DE10033384A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

Software installation method in which the software is loaded into hardware memory (14). The software is provided with an authorization value (h(m)) in the form of a cryptographic key for locking of a least a part, particularly the central part, of the software. When the software is written to memory the part of the memory with the cryptographic key is stored in memory along with the remaining part. The authorization value is preferably based on hardware or person reference values (h, p).

Description

Die Erfindung betrifft ein Verfahren zur Installation von Software in einer Hardware gemäß der im Oberbegriff des Anspruchs 1 angegebenen Art sowie eine Vorrichtung zur Durchführung des Verfahrens gemäß Anspruch 13.The invention relates to a method for installation of software in hardware according to that in the preamble of claim 1 specified type and a device to carry out the method according to claim 13.

Es ist bekannt, Software von einer CD-ROM oder von ei­ nem Server über das Internet in einer Hardware, wie ei­ nem Computer, zu installieren. Für die Installation startet in der Regel zunächst ein Assistentenprogramm für die Installation, das den Nutzer, der die Software in der Hardware installiert haben will, durch die ein­ zelnen Installationsschritte über den Bildschirm, die Tastatur und/oder Maus des Computers interaktiv führt.It is known to download software from a CD-ROM or from an egg a server over the Internet in hardware such as a computer. For the installation Usually starts an assistant program for the installation that the user who the software wants to have installed in the hardware through the one individual installation steps on the screen, the Interactive keyboard and / or mouse of the computer.

Zu Beginn der Installation erfolgt eine Abfrage nach einer Seriennummer, die der Nutzer aus dem mit dem Softwarevertreiber/Softwarebevollmächtigten abgeschlos­ senen Lizenzvertrag entnimmt. Gegebenenfalls erfolgt noch eine zusätzliche Abfrage nach personenbezogenen Daten des Nutzers. Der Nutzer der Software muss nun seine vom Softwarebevollmächtigten aus dem Lizenzver­ trag übermittelte Seriennummer und gegebenenfalls sei­ nen Namen oder andere personenbezogenen Daten eingeben. Diese Werte werden eingelesen und bilden eine Kennung, die mit den Softwaredaten verknüpft in einem Speicher des Computers abgespeichert wird.At the beginning of the installation you will be asked for a serial number, which the user from the with the Software distributors / software agents completed takes out his license agreement. If applicable an additional query for personal User data. The user of the software must now its from the software representative from the license agreement order transmitted serial number and if applicable Enter a name or other personal data. These values are read in and form an identifier, linked to the software data in a memory the computer is saved.

Ein Kopieren der auf dem Computer installierten und mit der Kennung verknüpften Software ist in der Regel ohne Kenntnis der Kennung, also der Seriennummer, nicht mög­ lich, da bei jeder Installation die Kennung eingegeben werden muss. Zudem können Kopien von der auf dem Rech­ ner aufgespielten Version der Software auf die Ur­ sprungskopie aufgrund der aus dem Lizenzvertrag stam­ menden Seriennummer, die mit den Softwaredaten ver­ knüpft und dann entsprechend mitkopiert wurde, zurück­ verfolgt werden.A copy of the installed on the computer and with The software linked to the identifier is usually without  Knowledge of the identifier, i.e. the serial number, not possible Lich, because the identifier is entered for each installation must become. In addition, copies of the ner version of the software on the original jump copy due to the stam from the license agreement serial number, which ver with the software data ties and then copied accordingly back be followed.

Dieses Verfahren hat jedoch mehrere Nachteile. Zum ei­ nen kann eine mehrfache Installation der Software auf mehrere Computer nicht verhindert werden. Beispielswei­ se kann der Nutzer ohne weiteres bei jeder Installation der Software die gleiche Kennung eingeben, sodass viel­ fache Installationen unter der gleichen Kennung möglich sind. Des Weiteren ist die Eingabe des Namens auch kei­ ne zwingend personengebundene Zuordnung, da den Kunden nichts daran hindert, ein beliebiges Pseudonym statt seines Namens einzugeben oder seine personengebundenen Daten weiterzugeben. Zudem kann die Abfrage der eindeu­ tigen Seriennummer von versierten Hackern umgangen und so eine frei kopierbare Version der Software herge­ stellt werden, sodass auch ein Zurückverfolgen auf die Ursprungskopie dann nicht mehr möglich ist.However, this method has several disadvantages. To the egg The software can be installed several times multiple computers cannot be prevented. Beispielswei The user can easily with each installation the software enter the same identifier, so much Multiple installations possible under the same identifier are. Furthermore, the entry of the name is also not kei ne mandatory personal assignment, because the customer nothing prevents any pseudonym from taking place to enter his name or his personal Share data. In addition, the query of the eindeu bypassed serial number by savvy hackers and such a freely copyable version of the software are placed, so that a tracing back to the Original copy is then no longer possible.

Einige Softwareanbieter, insbesondere von Shareware, also von Software, die mehreren Benutzern zur Verfügung steht, lassen sich vor der Installation der Software vom Kunden dessen Namen und Firma geben und bilden dar­ aus zusammen mit der Seriennummer aus dem Lizenzvertrag mit Hilfe eines geheimen Schlüssels eine Prüfsumme, die an die Seriennummer angehängt und zusammen mit der Software abgespeichert wird. Damit wird verhindert, dass der Kunde einen beliebigen Namen eingeben kann. Name und Firma sind dadurch untrennbar mit der Serien­ nummer und der Software verknüpft. Hiermit kann man Mehrfachinstallationen ebenfalls auf einen bestimmten Kunden zurückführen, diese aber nicht verhindern.Some software providers, especially shareware, that is, software that is available to multiple users stands before installing the software Give and form the customer's name and company out together with the serial number from the license agreement with the help of a secret key a checksum that appended to the serial number and together with the Software is saved. This prevents that the customer can enter any name. This means that name and company are inseparable from the series number and software linked. With this you can  Multiple installations also on a specific one Return customers, but do not prevent them.

Des Weiteren sind Kopierschutzmechanismen bekannt, die auf Hardwarelösungen basieren. Sogenannte Dongles wer­ den mit der Hardware verbunden und die Software ist nur zusammen mit den Dongles lauffähig. In den Dongles ist die Seriennummer fest verdrahtet. Diese Lösungen haben jedoch den Nachteil, dass die Hardwaremodule in Form der genannten Dongles einen Steckplatz, in der Regel den Druckeranschluss, benötigen und nicht über das In­ ternet zusammen mit der Software an die Kunden online verteilt werden können.Furthermore, copy protection mechanisms are known which based on hardware solutions. So-called dongles who which is connected to the hardware and the software is just executable together with the dongles. In the dongles the serial number hardwired. Have these solutions however, the disadvantage that the hardware modules in shape of the dongles mentioned, usually a slot the printer connection, and not via the In ternet together with the software to customers online can be distributed.

Beispielsweise aus dem Buch "Moderne Verfahren der Kryptografie", Beutelsbacher, Schwenk, Wolfenstätter, 3. Auflage, Viehweg 2000, Seite 10 ff ist es bekannt, einen unmanipulierbaren "Fingerabdruck" von Nachrichten oder Werten mittels einer Einweg-Hashfunktion herzu­ stellen. Eine Einweg-Hashfunktion ist eine kollisions­ sichere Einwegfunktion, die Nachrichten beliebiger Län­ ge auf einen Hashwert fester Länge, beispielsweise 128 Bit, komprimiert. Man nennt Einweg-Hashfunktionen manchmal auch kryptografische Hashfunktionen. Diese Hashfunktionen entsprechen etwa der Vorstellung eines Fingerabdrucks: aus einem Fingerabdruck kann ich nicht auf den zugehörigen Menschen schließen, und keine zwei Personen haben denselben Fingerabdruck.For example from the book "Modern Processes of Cryptography ", Beutelsbacher, Schwenk, Wolfenstätter, 3rd edition, Viehweg 2000, page 10 ff it is known an unmanipulable "fingerprint" of messages or values using a one-way hash function put. A one-way hash function is a collision safe one-way function, the news of any country to a hash value of a fixed length, for example 128 Bit, compressed. One calls one-way hash functions sometimes cryptographic hash functions. This Hash functions roughly correspond to the idea of a Fingerprint: I can not from a fingerprint deduce the related people, and not two People have the same fingerprint.

Der Erfindung liegt nunmehr die Aufgabe zugrunde, ein Verfahren gemäß der im Oberbegriff des Anspruches 1 an­ gegebenen Art sowie eine Vorrichtung zur Durchführung des Verfahrens derart weiterzuentwickeln, dass unter Vermeidung der genannten Nachteile ein sichererer Ko­ pierschutz gegeben ist und ein Kopieren der Softwareda­ ten besser überwacht werden kann. The invention is based on the object Method according to the preamble of claim 1 given type and a device for performing to further develop the process in such a way that under Avoiding the disadvantages mentioned a safer knockout protection is given and a copy of the software ten can be better monitored.  

Diese Aufgabe wird für das Verfahren durch die kenn­ zeichnenden Merkmale des Anspruches 1 in Verbindung mit seinen Oberbegriffsmerkmalen und für die Vorrichtung durch den Anspruch 13 gelöst.This task is for the procedure by the kenn Drawing features of claim 1 in conjunction with its generic features and for the device solved by claim 13.

Der Erfindung liegt die Erkenntnis zugrunde, dass die bei der Installation erfasste oder ermittelte Berechti­ gungskennung als kryptografischer Schlüssel zum Ver­ schlüsseln und Entschlüsseln von zumindest Teilen der zu installierenden Software dienen kann, wodurch ein Starten der Software nur noch in Kenntnis des Schlüs­ sels erfolgen kann. Hierdurch wird ein einfacher und effektiver Kopierschutz für die Software geschaffen.The invention is based on the finding that the Authorizations recorded or determined during installation ID as a cryptographic key to ver encrypt and decrypt at least parts of the can be used to install software, whereby a Start the software only with knowledge of the key sels can be done. This will make it a simple and effective copy protection created for the software.

Nach der Erfindung dient daher die Berechtigungskennung als kryptografischer Schlüssel für die Verschlüsselung eines Teils, insbesondere eines zentralen Programm­ teils, der Software und der mit diesem Schlüssel ver­ schlüsselte Teil der Software sowie der übrige Teil der Software werden in dem Speicher abgespeichert. Mehr­ fachinstallationen werden dadurch wirkungsvoll verhin­ dert, indem bei bzw. vor der Installation ein krypto­ grafischer Schlüssel aus der Berechtigungskennung ge­ bildet wird. Anschließend wird die Software so modifi­ ziert, dass sie im folgenden nur noch mit Hilfe dieses Schlüssels ausgeführt werden kann, d. h. es werden zen­ trale Programmteile mit diesem Schlüssel verschlüsselt.According to the invention, the authorization identifier is therefore used as a cryptographic key for encryption a part, especially a central program partly, the software and the ver with this key encrypted part of the software as well as the rest of the Software is stored in the memory. more This effectively prevents specialist installations by adding a crypto during or before the installation graphic key from the authorization identifier is forming. The software is then modified adorns that in the following only with the help of this Key can be executed, d. H. it will be zen central program parts encrypted with this key.

Gemäß einer Ausführungsform der Erfindung wird eine Entschlüsselungsfunktion mit dem Starten der Software aktiviert, bei der wieder die Berechtigungskennung er­ fasst, aus der Berechtigungskennung der Schlüssel für die Entschlüsselung des verschlüsselten Teils der Soft­ ware gebildet, der verschlüsselte Teil der Software entschlüsselt wird und erst nach dem Entschlüsseln des verschlüsselten Teils die Software vollständig gestar­ tet wird. Hierdurch wird sichergestellt, dass die Soft­ ware nur nach Vorliegen der korrekten Berechtigungsken­ nung und somit des Schlüssels für die Entschlüsselung des verschlüsselten Teils der Software gestartet werden kann. Die Software kann somit zwar ohne Kenntnis der Berechtigungskennung kopiert, aber dann nicht mehr ge­ startet werden.According to one embodiment of the invention, a Decryption function when starting the software activated, at which again the authorization identifier from the authorization identifier the key for decrypting the encrypted part of the soft ware formed, the encrypted part of the software is decrypted and only after decrypting the encrypted part of the software completely is tested. This ensures that the soft  only if the correct authorization code was available and thus the key for decryption of the encrypted part of the software can. The software can thus without knowledge of the Authorization ID copied, but then no longer ge starts.

Um eine zusätzliche Sicherung gegen Kopieren einzubau­ en, wird die Berechtigungskennung aus hardwarebezogenen Werten, wie Registryeinträge, Festplattenstruktur, Festplattenseriennummer, Prozessorseriennummer, Pfadna­ men und/oder ähnlichem, ermittelt. Der Softwarenutzer kann nicht nachvollziehen, welche Werte für die Berech­ tigungskennung herangezogen werden. Hierdurch wird er­ reicht, dass eine Kopie der Software und somit eine In­ stallation in einer Hardware nur von der Original-CD- ROM, von einem ähnlichen Datenträger vom Softwarebe­ vollmächtigten, von dem Server des Softwarebevollmäch­ tigten über das Internet oder in entsprechender Weise erfolgen kann. Die angefertigten Kopien können dadurch besser überwacht werden, da nicht jeder, beispielsweise in einem Unternehmen, Zugriff auf diese Medien hat.To install an additional security against copying s, the authorization identifier is hardware-related Values, such as registry entries, hard disk structure, Hard disk serial number, processor serial number, path men and / or the like. The software user cannot understand which values for the calc identification code can be used. This will make him it is sufficient that a copy of the software and thus an In installation in hardware only from the original CD ROM, from a similar disk from the software authorized by the server of the software proxy on the Internet or in an equivalent manner can be done. This enables the copies made be better monitored since not everyone, for example in a company that has access to this media.

Ein Kopieren der Software von der auf dem Rechner in­ stallierten Software auf einen anderen Rechner ist nicht möglich, da jede Hardwareumgebung eines Computers unterschiedlich ausgeführt ist und unterschiedliche Kennzeichnungen aufweist. Würde eine 1 : 1 Kopie vorge­ nommen werden, würden die Softwaredaten mit dem einen Schlüssel abgespeichert werden. Die Berechtigungsken­ nung des neuen Rechners als Schlüssel zum Entschlüsseln der verschlüsselten Softwaredaten stimmt nun aber nicht mehr mit dem Schlüssel der verschlüsselten Softwareda­ ten überein. Ein Starten des Programms ist dann nicht mehr möglich. A copy of the software from the on the computer in installed software on another computer not possible because every hardware environment of a computer is different and different Has markings. Would a 1: 1 copy the software data would be taken with one Key can be saved. The authorization codes of the new computer as the key to decrypting it the encrypted software data is now incorrect more with the key of the encrypted software matched. The program is then not started more is possible.  

Ergänzend oder alternativ hierzu kann als zusätzliche Sicherung gegen unberechtigtes Kopieren der Software die Berechtigungskennung auch aus personenbezogenen Werten, wie Name, Vorname, Geburtsdatum oder ähnlichem, ermittelt werden. Aus diesen Werten, gegebenenfalls er­ gänzt durch weitere Werte, wie hardwarebezogene Werte oder ähnliches, wird dann die Berechtigungskennung und somit der Schlüssel zum Verschlüsseln der Software ge­ bildet.Additionally or alternatively, this can be done as an additional Protection against unauthorized copying of the software the authorization identifier also from personal Values such as last name, first name, date of birth or similar, be determined. From these values, if applicable, he supplemented by further values, such as hardware-related values or similar, then the authorization identifier and thus the key to encrypt the software forms.

Möglich ist auch, dass die Berechtigungskennung aus ei­ nem durch eine Zufallsfunktion gebildeten Wert ermit­ telt wird.It is also possible that the authorization code from ei with a value formed by a random function is communicated.

Gemäß einer Ausführungsform der Erfindung ist die Be­ rechtigungskennung in einem Sicherheitsmodul, wie einer Chipkarte, gespeichert, das mit der Hardware zusammen­ wirkt und nicht auslesbar ausgeführt ist, wobei die Entschlüsselungsfunktion in dem Sicherheitsmodul durch­ geführt wird. Vorteilhaft ist dabei, dass der Anwender nicht für jede Software ein eigenes Sicherheitsmodul benötigt, sondern mit einem einzigen Sicherheitsmodul beliebig viele Programme installieren kann. Alle diese Programme können nur dann ausgeführt werden, wenn das Sicherheitsmodul vorhanden ist, das die Berechtigungs­ kennung und somit den Schlüssel zum Verschlüsseln und Entschlüsseln der verschlüsselten Teile der Software enthält. Damit die Berechtigungskennung bei der Über­ tragung vom Sicherheitsmodul in den PC nicht kompromit­ tiert werden kann, erfolgt die Entschlüsselung des zen­ tralen Programmteils im Sicherheitsmodul.According to one embodiment of the invention, the Be authorization identifier in a security module, such as one Chip card, saved that together with the hardware acts and is not designed to be readable, the Decryption function in the security module to be led. It is advantageous that the user not a separate security module for each software needed, but with a single security module can install any number of programs. All these Programs can only be executed if the Security module is present that the authorization identifier and thus the key to encrypt and Decrypt the encrypted parts of the software contains. So that the authorization identifier for the over transfer from the security module to the PC is not compromised the zen is decrypted central program part in the safety module.

Um eine vorbestimmte Größe der Berechtigungskennung zu gewährleisten, ist die Berechtigungskennung aus ermit­ telten und/oder vorgegebenen Werten mittels einer Hash­ funktion gebildet, wobei die Hashfunktion insbesondere Teil des Installationsprogramms ist. Dies hat den Vor­ teil, dass die Berechtigungskennung immer eine vorbe­ stimmte Größe, beispielsweise 128 Bit, erhält. Die hardwarebezogenen Werte, die personenbezogenen Werte und/oder die mit einem Zufallsgenerator erzeugten Werte werden mittels der Hashfunktion auf einen Hashwert transformiert, der die Berechtigungskennung bildet.To a predetermined size of the authorization identifier guarantee, the authorization code from ermit and / or predetermined values using a hash function formed, the hash function in particular Is part of the installer. This has the intent  partly that the authorization identifier always certain size, for example 128 bits. The hardware-related values, personal values and / or the values generated with a random generator are hashed using the hash function transformed, which forms the authorization identifier.

Die Sicherheit gegen unberechtigtes Kopieren der Soft­ ware kann auch dadurch erhöht werden, dass dem Nutzer der Software zunächst nur ein Teil der Software über­ mittelt wird, der Nutzer mit dem übermittelten Teil der Software die Berechtigungskennung erfasst, die Berech­ tigungskennung einem Softwarebevollmächtigten übermit­ telt, der Softwarebevollmächtigte, insbesondere über seinen Rechner, den vorbestimmten Teil der Software mit der Berechtigungskennung als Schlüssel verschlüsselt und anschließend dem Nutzer die vollständige Software mit dem verschlüsselten Teil übermittelt.Security against unauthorized copying of the soft goods can also be increased by the user of the software initially only a part of the software is averaged, the user with the transmitted part of the Software records the authorization identifier, the comp identification code to a software representative telt, the software representative, in particular about his computer, the predetermined part of the software the authorization identifier is encrypted as a key and then the user the complete software transmitted with the encrypted part.

Vorzugsweise wird dabei die Software online über ein Telekommunikationsnetz, wie Festnetz, Funknetz, Inter­ net und/oder ähnliches, installiert. Hierdurch wird auf einfache Weise erreicht, dass der Nutzer zu keinem Zeitpunkt die Software mit einem unverschlüsselten Teil in Händen hat. Beispielsweise könnten sonst durch eine 1 : 1 Kopie der Software Kopien hergestellt werden. Dies gilt es zu verhindern. Insofern erhält der Nutzer nur den Teil der Software, den er zum Erfassen der Berech­ tigungskennung braucht, und sendet die Berechtigungs­ kennung dann zum Verschlüsseln des vorbestimmten Teils der Software an den Softwarebevollmächtigten. Der Soft­ warebevollmächtigte nimmt dann die Verschlüsselung in seinem Rechner vor und der Nutzer erhält anschließend die komplette Software, jedoch mit dem verschlüsselten, vorbestimmten Teil. Dies kann online einfach und schnell ausgeführt werden, da die Kommunikation zwi­ schen dem Rechner des Softwarebevollmächtigten und dem Rechner des Nutzers sowie die entsprechende Datenüber­ mittlung schnell und günstig ist.The software is preferably online via a Telecommunications network, such as landline, radio network, inter net and / or the like, installed. This will turn on easily achieved that the user at no Time the software with an unencrypted part in your hands. For example, a 1: 1 copy of the software copies are made. This it is important to prevent. In this respect, the user only receives the part of the software that he uses to capture the comp authorization identifier, and sends the authorization identifier then to encrypt the predetermined part the software to the software representative. The soft authorized representative then takes the encryption in front of his computer and the user then receives the complete software, but with the encrypted, predetermined part. This can be done easily and online can be carried out quickly because the communication between the computer of the software representative and the  Computer of the user and the corresponding data about is quick and cheap.

Gemäß einer Ausführungform der Erfindung weist das In­ stallationsprogramm eine Funktion auf, die automatisch nach Bilden der Berechtigungskennung diese Berechti­ gungskennung dem Rechner des Softwarebevollmächtigten übermittelt und mit Eingang der vollständigen Software einschließlich des verschlüsselten Teils die Installa­ tion der Software in der Hardware vervollständigt.According to one embodiment of the invention, the In a program that automatically after creating the authorization identifier, this authorization identifier on the computer of the software representative transmitted and upon receipt of the complete software including the encrypted part the installa tion of the software in the hardware completed.

Um zu vermeiden, dass auch der Nutzer der Software durch geeignete Maßnahmen erfährt, wie die Berechti­ gungskennung erfasst und gebildet wird, wird gemäß ei­ ner weiteren Ausführungsform der Erfindung, insbesondere zum Starten der Software, die Berechtigungskennung online von dem Softwarebevollmächtigten ermittelt. Hierbei kann eine Funktion zum Berechnen der Berechti­ gungskennung, die zum Verschlüsseln verwendet wird, in einem Java-Applett in einem Server des Softwarebevoll­ mächtigten enthalten sein. In diesem Java-Applett ist der Programmcode zur Berechnung der Berechtigungsken­ nung enthalten.To avoid the user of the software learns through suitable measures, such as the authorization identification identifier is recorded and formed, according to ei ner further embodiment of the invention, in particular to start the software, the authorization identifier determined online by the software representative. Here, a function for calculating the authorization security identifier used for encryption in a Java applet in a server full of software mighty be included. In this Java applet is the program code for calculating the authorization codes included.

Beispielsweise von einem Internetserver wird die Be­ rechtigungskennung des Nutzers online ermittelt und nach Entschlüsseln der entsprechenden Programmteile auf dem Internetserver sofort wieder aus dem Arbeitsspei­ cher entfernt, sodass einem Angreifer keine Möglichkeit gegeben wird, den Programmcode zum Erfassen und Bilden der Berechtigungskennung zu inspizieren und damit den Berechtigungscode zu kompromittieren. Die Entschlüsse­ lung des zentralen Programmteils der Software erfolgt in diesem Fall ebenfalls im Java-Applett. For example, from an Internet server, the Be authorization identifier of the user determined online and after decoding the corresponding program parts the internet server immediately out of work removed so that an attacker has no way is given the program code for capturing and forming to inspect the authorization identifier and thus the Compromise authorization code. The decisions The central program part of the software takes place in this case also in the Java applet.  

In der Praxis bedeutet das für den Nutzer, dass er vor jeder Ausführung der Software einmal den Internetserver des Softwarebevollmächtigten anrufen muss.In practice, this means for the user that he is ahead each time the software is executed, the Internet server of the software representative.

Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung zur Installation von Soft­ ware in einer Hardware ergeben sich aus der nachfolgen­ den Beschreibung in Verbindung mit den in der Zeichnung dargestellten Ausführungsbeispielen.Further advantages, features and possible applications of the present invention for installing soft Goods in hardware result from the following the description in conjunction with those in the drawing illustrated embodiments.

Die Erfindung wird im folgenden anhand der in der Zeichnung dargestellten Ausführungsbeispiele näher be­ schrieben. In der Beschreibung, in den Patentansprü­ chen, der Zusammenfassung und in der Zeichnung werden die in der hinten angeführten Liste der Bezugszeichen verwendeten Begriffe und zugeordneten Bezugszeichen verwendet.The invention is based on the in the Drawing illustrated embodiments in more detail be wrote. In the description, in the claims Chen, the summary and in the drawing those in the list of reference symbols given below terms used and assigned reference numerals used.

In der Zeichnung bedeutet:In the drawing means:

Fig. 1 eine schematische Darstellung der einzelnen Schritte zur Installation einer Software in einer Hardware gemäß einer Ausführungsform der Erfindung; Figure 1 is a schematic representation of the individual steps for installing software in hardware according to an embodiment of the invention.

Fig. 2 eine schematische Darstellung der einzelnen Schritte zum Starten der nach der Erfindung installierten Software gemäß der ersten Aus­ führungsform der Erfindung; und Figure 2 is a schematic representation of the individual steps for starting the software installed according to the invention according to the first embodiment of the invention. and

Fig. 3 eine schematische Darstellung der einzelnen Schritte zum Starten der nach der Erfindung installierten Software gemäß einer zweiten Ausführungsform der Erfindung. Fig. 3 is a schematic representation of the steps required to start the installed software according to the invention according to a second embodiment of the invention.

In Fig. 1 sind in einer schematischen Darstellung die einzelnen Schritte zur Installation einer Software in einer Hardware 10 nach der Erfindung dargestellt.In Fig. 1, the individual steps for installing software in a hardware 10 according to the invention are shown in a schematic representation.

Die Hardware 10 umfasst einen Computer 12 mit einem Speicher 14.The hardware 10 comprises a computer 12 with a memory 14 .

In einem ersten Schritt 16 wird ein Teil der Software­ daten - die Installationsroutine - entweder online von einem Server via Internet oder offline, beispielsweise von einer CD-ROM, in die Hardware 10 eingelesen. Hier­ für startet ein Installationsprogramm mit einem Instal­ lationsassistenten, der den Nutzer, der die Software auf seinem Computer 12 installiert haben will, interak­ tiv über Bildschirm und Tastatur des Computers 12 führt.In a first step 16 , part of the software data - the installation routine - is read into the hardware 10 either online from a server via the Internet or offline, for example from a CD-ROM. For this, an installation program starts with an installation wizard that guides the user who wants to have the software installed on his computer 12 interactively on the screen and keyboard of the computer 12 .

In einem nächsten Schritt 18 werden die hardwarebezoge­ nen Daten der Hardware 10 erfasst, beispielsweise der Pfadname, die Registryeinträge, die Festplattenserien­ nummer, die Prozessorseriennummer und ähnliches, und hieraus über eine Funktion ein hardwarebezogener Wert h gebildet. Zusätzlich kann über einen Installations­ assistenten von dem Nutzer der Kundenname, das Geburts­ datum oder ähnliches abgefragt und via Tastatur in den Computer 12 eingegeben werden. Diese personenbezogenen Daten werden mittels einer Funktion zu einem personen­ bezogenen Wert p transformiert. Der Wert m wird aus h und p mittels einer Funktion f gebildet: m: = f(h, p), z. B. durch Konkatenation m: = h||p.In a next step 18 , the hardware-related data of the hardware 10 are recorded, for example the path name, the registry entries, the hard disk serial number, the processor serial number and the like, and a hardware-related value h is formed from this by means of a function. In addition, the user can query the customer name, date of birth or the like via an installation assistant and enter it into the computer 12 via the keyboard. This personal data is transformed into a personal value p using a function. The value m is formed from h and p by means of a function f: m: = f (h, p), z. B. by concatenation m: = h || p.

In einem nächsten Schritt 20 wird der Wert m mittels einer Hashfunktion h() zu einem Hashwert h(m) transfor­ miert.In a next step 20 , the value m is transformed into a hash value h (m) by means of a hash function h ().

Der so gebildete Hashwert h(m) wird nunmehr in einem nächsten Schritt 22 über ein Telekommunikationsnetz 24, wie Festnetz, Funknetz, Internet und/oder ähnliches, dem Rechner 26 des Softwarebevollmächtigten übermit­ telt, der diesen als Schlüssel zum Verschlüsseln eines zentralen Teils der Software verwendet. Der zentrale Teil der Software wird verschlüsselt und anschließend der restliche Teil der Software einschließlich des ver­ schlüsselten Teils dem Nutzer zurückübermittelt.The hash value h (m) thus formed is now transmitted in a next step 22 via a telecommunications network 24 , such as a fixed network, radio network, Internet and / or the like, to the computer 26 of the software representative, who uses this as a key to encrypt a central part of the software used. The central part of the software is encrypted and then the remaining part of the software including the encrypted part is transmitted back to the user.

Der Nutzer erhält somit zunächst nur einen Teil der Software, der zur Erfassung der hardwarebezogenen Daten sowie der personenbezogenen Daten sowie die Umwandlung zu den entsprechenden Werten h bzw. p sowie zur Trans­ formation zu dem Hashwert h(m) sowie zur Kommunikation mit dem Rechner 26 des Softwarebevollmächtigten notwen­ dig ist.The user thus initially receives only part of the software, which is used to record the hardware-related data and the personal data and to convert it to the corresponding values h and p and to transform it to the hash value h (m) and for communication with the computer 26 of the software representative is necessary.

Der Rechner 26 des Softwarebevollmächtigten legt den Schlüssel in einem entsprechenden Speicher 28 ab, und zwar zusammen mit den notwendigen Daten zur Erstellung einer Rechnung an den Nutzer.The computer 26 of the software representative stores the key in a corresponding memory 28 , together with the data required to create an invoice for the user.

Die restliche Software wird nach dem Verschlüsseln zu­ sammen mit dem verschlüsselten Zentralteil an den Nut­ zer gesendet und die komplette Software zusammen mit dem verschlüsselten Teil in dem Speicher 14 der Hard­ ware 10 abgespeichert.The remaining software is sent together with the encrypted central part to the user after encryption and the complete software is stored together with the encrypted part in the memory 14 of the hardware 10 .

Mit der vorliegenden Erfindung werden Mehrfachinstalla­ tionen wirkungsvoll verhindert, indem bei bzw. vor der Installation ein kryptografischer Schlüssel aus spezi­ fischen Werten der Hardware 10 - hardwarebezogene Werte - sowie gegebenenfalls aus personenbezogenen Werten ge­ bildet wird. Anschließend wird die Software so modifi­ ziert, dass sie im folgenden nur noch mit Hilfe dieses Schlüssels ausgeführt werden kann, beispielsweise wer­ den zentrale Teile der Software mit diesem Schlüssel verschlüsselt. With the present invention, multiple installations are effectively prevented by forming a cryptographic key from specific values of the hardware 10 - hardware-related values - and possibly from personal values during or before the installation. The software is then modified in such a way that it can only be executed with the help of this key, for example, who encrypts the central parts of the software with this key.

Von der zu installierenden Software ist somit vorher ein zentraler Teil der Software ausgewählt worden, der verschlüsselt werden soll. Eine Installationsroutine, die vor der eigentlichen Installation der Software in der Hardware 10 des Nutzers geladen wird, berechnet aus den hardware- und personenbezogenen Daten, die hard­ ware- und personenbezogenen Werte h, p, und dann den Hashwert h(m) von 128 Bit durch Anwendung eines Hashal­ gorhythmus. Dieser Hashwert h(m) wird als symmetrischer Verschlüsselungsschlüssel verwendet. Er wird mit einem öffentlichen Schlüssel (public key) des Softwarebevoll­ mächtigten verschlüsselt und an dessen Rechner 26 ge­ sendet. Der Softwarebevollmächtigte kann den Hashwert h(m) berechnen, indem er die verschlüsselte Nachricht mit seinem privaten Schlüssel (private key) entschlüs­ selt.A central part of the software to be encrypted has therefore been selected beforehand from the software to be installed. An installation routine, which is loaded into the user's hardware 10 prior to the actual installation of the software, calculates the hardware and personal data, the hardware and personal values h, p, and then the hash value h (m) of 128 bits by using a hashal rhythm. This hash value h (m) is used as a symmetrical encryption key. It is encrypted with a public key of the software fully authorized and sent to its computer 26 ge. The software representative can calculate the hash value h (m) by decrypting the encrypted message with his private key.

Auf dem Rechner 26 des Softwarebevollmächtigten wird der zentrale Teil der Software mit dem 128 Bit Ver­ schlüsselungsalgorhythmus, z. B. IDEA, verschlüsselt. Der verschlüsselte Teil der Software wird zusammen mit dem unverschlüsselten Teil an die Hardware 10 des Nut­ zers gesendet und dort installiert.On the computer 26 of the software representative, the central part of the software with the 128 bit encryption algorithm, z. B. IDEA, encrypted. The encrypted part of the software is sent together with the unencrypted part to the hardware 10 of the user and installed there.

Die Sicherheit dieser Methode hängt davon ab, dass der Hashwert h(m) nur für die Hardware 10 berechnet werden kann, für die das Programm lizensiert ist und dass nur mit dem Hashwert h(m) der zentrale Teil der Software entschlüsselt werden kann. Eine Kompromittierung des Hashwertes h(m) ist also zu verhindern.The security of this method depends on the fact that the hash value h (m) can only be calculated for the hardware 10 for which the program is licensed and that the central part of the software can only be decrypted with the hash value h (m). The hash value h (m) must therefore not be compromised.

In Fig. 2 sind in einer schematischen Darstellung die einzelnen Schritte zum Starten der in der Hardware 10 installierten Software beschrieben. In Fig. 2 the steps are described for starting the installed software in the hardware 10 in a schematic representation.

Zum Starten der Software werden in einem ersten Schritt 30 die hardwarebezogenen Daten von neuem erfasst sowie die personenbezogenen Daten vom Nutzer abgefragt.To start the software, the hardware-related data are recorded anew in a first step 30 and the personal data is queried by the user.

Dieser gibt beispielsweise seinen Namen über die Tasta­ tur des Computers 12 ein. Nunmehr werden aus den hard­ warebezogenen Daten und den personenbezogenen Daten der hardwarebezogene Wert h' sowie der personenbezogene Wert p' gebildet sowie hieraus mittels einer Funktion der Wert m': = f(h', p'). Dieser Wert wird in einem nächsten Schritt 32 mittels einer Hashfunktion h() zu einem Hashwert h(m') transformiert.This, for example, enters its name via the keyboard of the computer 12 . The hardware-related value h 'and the personal value p' are now formed from the hardware-related data and the personal data, and the value m ': = f (h', p ') from this using a function. In a next step 32, this value is transformed into a hash value h (m ') by means of a hash function h ().

In einem nächsten Schritt 34 wird dieser gebildete Hashwert h(m') als Schlüssel zum Entschlüsseln des ver­ schlüsselten zentralen Teils der Software, die im Spei­ cher 14 abgespeichert ist, verwendet.In a next step 34 , this hash value h (m ') formed is used as a key for decrypting the encrypted central part of the software, which is stored in the memory 14 .

Stimmt der mit Starten der Software gebildete Hashwert h(m') mit dem Hashwert h(m) überein, der zum Verschlüs­ seln der Software verwendet wurde, kann der verschlüs­ selte zentrale Teil der Software entschlüsselt und die Software gestartet und genutzt werden - Schritt 36.If the hash value h (m ') formed when the software is started corresponds to the hash value h (m) that was used to encrypt the software, the encrypted central part of the software can be decrypted and the software started and used - step 36 ,

Stimmen diese Werte nicht überein, kann der zentrale Teil der Software nicht entschlüsselt und somit die Software nicht gestartet werden - Schritt 38.If these values do not match, the central part of the software cannot be decrypted and the software cannot be started - step 38 .

Eine alternative Ausführungsform ist in Fig. 3 offen­ bart. Hier ist der Hashwert h(m) in einem nicht ausles­ baren, dezidierten Sicherheitsmodul 40, wie eine Chip­ karte, gespeichert. Ein entscheidender Vorteil dieser Variante ist in diesem Fall, dass der Nutzer der Soft­ ware nicht für jede Software ein eigenes Sicherheitsmo­ dul benötigt, sondern mit einem einzigen Sicherheitsmo­ dul 40 beliebig viele Programme in seiner Hardware 10 installieren kann. All diese Programme können nur dann ausgeführt werden, wenn das Sicherheitsmodul 40 vorhan­ den ist, das den Hashwert h(m) enthält. Damit der Hash­ wert h(m) bei der Übertragung vom Sicherheitsmodul 40 in die Hardware 10 nicht kompromittiert werden kann, muss in diesem Fall die Entschlüsselung des zentralen Programmteils der Software im Sicherheitsmodul 40 er­ folgen.An alternative embodiment is beard open in Fig. 3. Here the hash value h (m) is stored in a non-readable, dedicated security module 40 , such as a chip card. A decisive advantage of this variant in this case is that the user of the software does not need his own security module for each software, but can install any number of programs in his hardware 10 with a single security module 40 . All of these programs can only be executed if the security module 40 is present which contains the hash value h (m). So that the hash value h (m) cannot be compromised during the transmission from the security module 40 to the hardware 10 , the decryption of the central program part of the software in the security module 40 must follow in this case.

In jedem Fall muss sichergestellt sein, dass die Lade­ routine der Software nicht manipuliert werden kann. Sie kann auf speziellen Rechnern, die kopiegeschützte Soft­ ware unterstützen, in einem ROM-Baustein vorliegen.In any case, it must be ensured that the drawer routine of the software cannot be manipulated. she can on special computers, the copy-protected soft support goods, are available in a ROM module.

Alternativ kann die Laderoutine, die den zentralen Pro­ grammteil mit Hilfe des Hashwertes h(m) entschlüsselt in einPrn Java-Applett implementiert sein, das über den Rechnel des Softwarebevollmächtigten ausgeführt wird. In diesem Java-Applett ist der Programmcode zur Berech­ nung des Hashwertes h(m) enthalten. Dieser wird nach Ausführung von dem Rechner 26 aus sofort wieder aus dem Speicher entfernt, sodass einem Angreifer keine Mög­ lichkeit gegeben wird, diesen Programmcode zu inspizie­ ren und damit den Hashwert h(m) zu kompromittieren. Die Entschlüsselung des zentralen Programmteils der lizen­ sierten Software erfolgt in diesem Fall ebenfalls im Java-Applett. In der Praxis bedeutet das für den Anwen­ der, dass er vor jeder Ausführung der Software einmal den Rechner 26 des Softwarebevollmächtigten anrufen muss. Alternatively, the loading routine, which decrypts the central part of the program using the hash value h (m), can be implemented in a Prn Java applet that is executed by the software agent's computer. The program code for calculating the hash value h (m) is contained in this Java applet. This is removed from the memory immediately after execution by the computer 26 , so that an attacker is not given the opportunity to inspect this program code and thus to compromise the hash value h (m). In this case, the decryption of the central program part of the licensed software also takes place in the Java applet. In practice this means for the user that he has to call the computer 26 of the software representative before each execution of the software.

Liste der BezugszeichenList of reference numbers

1010

Hardware
hardware

1212

Computer, Rechner
Computer, calculator

1414

Speicher
Storage

1616

Installation erster Schritt - Einlesen des ersten Teils der Software - Laderoutine, Starten der La­ deroutine/Installationsprogramm und des Instal­ lationsassistenten
Installation first step - read in the first part of the software loading routine, start the loading routine / installation program and the installation wizard

1818

Installation zweiter Schritt - Abfragen der hard­ ware- und personenbezogenden Daten und Bilden der hardware- und personenbezogenen Werte
Installation second step - querying the hardware and personal data and forming the hardware and personal values

2020

Installation dritter Schritt - Transformieren der hardware- und personenbezogenen Werte mittels ei­ ner Hashfunktion auf einen Hashwert
Third step installation - transform the hardware and personal values to a hash value using a hash function

2222

Installation vierter Schritt - Senden des Hashwer­ tes an den Rechner des Softwarebevollmächtigten, Verschlüsseln des zentralen Teils der Software, Ablegen des Schlüssels in einem Speicher, Senden der kompletten Software einschl. des verschlüssel­ ten zentralen Teils an den Nutzer
Installation of the fourth step - sending the hash value to the software representative's computer, encrypting the central part of the software, storing the key in a memory, sending the complete software including the encrypted central part to the user

2424

Telekommunikationsnetz
telecommunications network

2626

Rechner des Softwarebevollmächtigten
Software representative's computer

2828

Speicher des Softwarebevollmächtigten
Software representative memory

3030

Starten der Software erster Schritt - Abfrage und Einlesen der hardware- und personenbezogenen Daten und Bilden des hardwarebezogenen Wertes sowie des personenbezogenen Wertes
Starting the software first step - querying and reading the hardware and personal data and forming the hardware-related value and the personal value

3232

Starten der Software zweiter Schritt - Transfor­ mieren der hardware- und der personenbezogenen Werte mittels einer Hashfunktion auf einen Has­ hwert
Starting the software second step - transform the hardware and personal values using a hash function to a hash value

3434

Starten der Software dritter Schritt - Entschlüs­ seln des zentralen, verschlüsselten Teils der Software mittels dem Hashwert als Schlüssel zum Entschlüsseln
Starting the software third step - decrypting the central, encrypted part of the software using the hash value as the key for decrypting

3636

Starten der Software vierter Schritt - Starten der Software durch Hochfahren des Programms
Starting the software fourth step - starting the software by starting the program

3838

Vergebliche Entschlüsselung, Starten des Programms ist nicht möglich
Unsuccessful decryption, the program cannot be started

4040

Sicherheitsmodul, Speicherchip
h, h' hardwarebezogener Wert
p, p' personenbezogener Wert
h() Hashfunktion
h(m), h(m') Hashwert
m f(h, p)
m' f(h' p')
Security module, memory chip
h, h 'hardware related value
p, p 'personal value
h () hash function
h (m), h (m ') hash value
mf (h, p)
m 'f (h' p ')

Claims (13)

1. Verfahren zur Installation von Software in einer Hardware (10), bei dem eine Berechtigungskennung (h(m)) für die Installation erfasst wird und bei dem die Softwaredaten in einem mit der Hardware (10) zusammenwirkenden Speicher (14) gespeichert werden, dadurch gekennzeichnet, dass die Berechti­ gungskennung (h(m)) als kryptografischer Schlüssel für die Verschlüsselung zumindest eines Teils, ins­ besondere eines zentralen Programmteils, der Soft­ ware verwendet, dieser Teil der Software mit diesem Schlüssel verschlüsselt und der mit diesem Schlüs­ sel (h(m)) verschlüsselte Teil der Software sowie der übrige Teil der Software in dem Speicher (14) abgespeichert wird.1. Method for installing software in hardware ( 10 ), in which an authorization identifier (h (m)) for the installation is recorded and in which the software data are stored in a memory ( 14 ) which interacts with the hardware ( 10 ), characterized in that the authorization identifier (h (m)) as a cryptographic key for the encryption of at least one part, in particular a central program part, which uses software, encrypts this part of the software with this key and the key with this key (h (m)) encrypted part of the software and the remaining part of the software is stored in the memory ( 14 ). 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Entschlüsselungsfunktion mit dem Starten der Software aktiviert wird, bei der die Berechti­ gungskennung (h(m')) erfasst, aus der Berechti­ gungskennung (h(m')) der Schlüssel für die Ent­ schlüsselung des verschlüsselten Teils der Software gebildet, der verschlüsselte Teil der Software ent­ schlüsselt wird und erst nach dem Entschlüsseln des verschlüsselten Teils die Software vollständig ge­ startet wird.2. The method according to claim 1, characterized in that that a decryption function with starting the software is activated for which the authorization identification identifier (h (m ')) recorded from the authorization key (h (m ')) the key for the Ent encryption of the encrypted part of the software formed, the encrypted part of the software ent is encrypted and only after decrypting the fully encrypted part of the software starts. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, dass die Berechtigungskennung (h(m)) aus hardwarebezogen Werten (h), wie Registryeinträge, Festplattenstruktur, Festplattenseriennummer, Pro­ zessorseriennummer, Pfadnamen und/oder ähnlichem, ermittelt wird.3. The method according to claim 1 or 2, characterized indicates that the authorization identifier (h (m)) hardware-related values (h), such as registry entries, Hard drive structure, hard drive serial number, Pro  processor serial number, path names and / or the like, is determined. 4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Berechtigungsken­ nung (h(m)) aus personenbezogenen Werten (p), wie Name, Vorname, Geburtsdatum oder ähnlichem, ermit­ telt wird.4. The method according to any one of the preceding claims, characterized in that the authorization codes nung (h (m)) from personal values (p), such as Surname, first name, date of birth or similar, determined is communicated. 5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Berechtigungsken­ nung (h(m)) aus einem durch eine Zufallsfunktion gebildeten Wert ermittelt wird.5. The method according to any one of the preceding claims, characterized in that the authorization codes voltage (h (m)) from a by a random function formed value is determined. 6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Berechtigungsken­ nung (h(m)) in einem Sicherheitsmodul (40), wie ei­ ner Chipkarte, gespeichert ist, das mit der Hard­ ware (10) zusammenwirkt und nicht auslesbar ausge­ führt ist, wobei die Entschlüsselungsfunktion in dem Sicherheitsmodul (40) durchgeführt wird.6. The method according to any one of the preceding claims, characterized in that the authorization identification (h (m)) is stored in a security module ( 40 ), such as a chip card, which interacts with the hardware ( 10 ) and cannot be read out is performed, the decryption function being carried out in the security module ( 40 ). 7. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Berechtigungsken­ nung (h(m)) aus ermittelten und/oder vorgegebenen Werten mittels einer Hashfunktion (h()) gebildet ist, wobei die Häshfunktion (h()) insbesondere Teil des Installationsprogramms ist.7. The method according to any one of the preceding claims, characterized in that the authorization codes voltage (h (m)) from determined and / or specified Values using a hash function (h ()) is, the Häshfunction (h ()) in particular part of the installer. 8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass dem Nutzer der Soft­ ware zunächst nur ein Teil der Software übermittelt wird, der Nutzer mit dem übermittelten Teil der Software die Berechtigungskennung (h(m)) erfasst, die Berechtigungskennung (h(m)) einem Softwarebe­ vollmächtigten übermittelt, der Softwarebevollmäch­ tigte, insbesondere über seinen Rechner (26), den vorbestimmten Teil der Software mit der Berechti­ gungskennung (h(m)) als Schlüssel verschlüsselt und anschließend dem Nutzer die vollständige Software mit dem verschlüsselten Teil übermittelt.8. The method according to any one of the preceding claims, characterized in that only part of the software is initially transmitted to the user of the software, the user detects the authorization identifier (h (m)) with the transmitted part of the software, the authorization identifier (h ( m)) transmitted to a software representative, the software representative, in particular via his computer ( 26 ), encrypts the predetermined part of the software with the authorization identifier (h (m)) as a key and then transmits the complete software with the encrypted part to the user , 9. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Software online über ein Telekommunikationsnetz (24), wie Festnetz, Funknetz, Internet und/oder ähnliches, installiert wird.9. The method according to any one of the preceding claims, characterized in that the software is installed online via a telecommunications network ( 24 ), such as a fixed network, radio network, Internet and / or the like. 10. Verfahren nach Anspruch 8 und 9, dadurch gekenn­ zeichnet, dass das Installationsprogramm eine Funk­ tion aufweist, die automatisch nach Bilden der Be­ rechtigungskennung (h(m)) diese Berechtigungsken­ nung (h(m)) dem Softwarebevollmächtigten übermit­ telt und mit Eingang der vollständigen Software einschließlich des verschlüsselten Teils die In­ stallation der Software in der Hardware (10) ver­ vollständigt.10. The method according to claim 8 and 9, characterized in that the installation program has a function that automatically transmits this authorization identifier (h (m)) to the software representative and after receipt of the authorization identifier (h (m)) the complete software including the encrypted part completes the installation of the software in the hardware ( 10 ). 11. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass, insbesondere zum Starten der Software, die Berechtigungskennung (h(m)) online von dem Rechner (26) des Softwarebevollmächtigten ermittelt wird.11. The method according to claim 9, characterized in that, in particular for starting the software, the authorization identifier (h (m)) is determined online by the computer ( 26 ) of the software representative. 12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass eine Funktion zur Berechnung der Berechti­ gungskennung (h(m)) in einem Java-Applett enthalten ist.12. The method according to claim 11, characterized in that that a function for calculating the authorization tion identifier (h (m)) contained in a Java applet is. 13. Vorrichtung zur Durchführung des Verfahrens nach einem der vorangehenden Ansprüche.13. Device for carrying out the method any of the preceding claims.
DE2000133384 2000-07-08 2000-07-08 Method for computer software installation in which a cryptographic authorization key is written with a part of the software to permanent computer memory, with the authorization based on personal or hardware specific data Withdrawn DE10033384A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000133384 DE10033384A1 (en) 2000-07-08 2000-07-08 Method for computer software installation in which a cryptographic authorization key is written with a part of the software to permanent computer memory, with the authorization based on personal or hardware specific data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000133384 DE10033384A1 (en) 2000-07-08 2000-07-08 Method for computer software installation in which a cryptographic authorization key is written with a part of the software to permanent computer memory, with the authorization based on personal or hardware specific data

Publications (1)

Publication Number Publication Date
DE10033384A1 true DE10033384A1 (en) 2002-01-17

Family

ID=7648347

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000133384 Withdrawn DE10033384A1 (en) 2000-07-08 2000-07-08 Method for computer software installation in which a cryptographic authorization key is written with a part of the software to permanent computer memory, with the authorization based on personal or hardware specific data

Country Status (1)

Country Link
DE (1) DE10033384A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757534A (en) * 1984-12-18 1988-07-12 International Business Machines Corporation Code protection using cryptography
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757534A (en) * 1984-12-18 1988-07-12 International Business Machines Corporation Code protection using cryptography
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

Similar Documents

Publication Publication Date Title
DE69724235T2 (en) Computer system and software protection method
DE112015006149B4 (en) Method for storing a terminal data file in a storage unit and system and proxy unit therefor
DE102009001718B4 (en) Method for providing cryptographic key pairs
DE69724946T2 (en) Program rental system and method for renting programs
DE60016972T2 (en) ADAPTABLE SAFETY MECHANISM TO PREVENT UNLAWFUL ACCESS TO DIGITAL DATA
DE69736310T2 (en) Generation and distribution of digital documents
DE19782169C2 (en) Cryptographically protected paging subsystem
EP3452941B1 (en) Method for electronically documenting license information
DE112017006020T5 (en) Method and system for search-dummy dynamic symmetric searchable encryption
EP1133849A1 (en) Method and device for generating an encoded user data stream and method and device for decoding such a data stream
DE112014000584T5 (en) Achieving storage efficiency with end-to-end encryption using downstream (downstream) decryptors
EP1184771A1 (en) Method and device for protection of computer software and/or computer-readable data
DE60112227T2 (en) PROCESS AND DEVICE FOR SAFE DATA DISTRIBUTION
DE102017201142B4 (en) Method for encrypting and decrypting data with a one-time key
EP1798653A1 (en) Method and device for protecting a program comprising a function block
DE69737806T2 (en) Data encryption method
CN110892403A (en) Method for securely accessing data
DE10028500A1 (en) Process for installing software in hardware
EP3761202B1 (en) System and method for storing a data set to be protected
DE102015103251B4 (en) Method and system for managing user data of a user terminal
EP2491513B1 (en) Method and system for making edrm-protected data objects available
DE102013210837B4 (en) Launch application cryptographic key store
DE102014213454A1 (en) Method and system for detecting a manipulation of data records
DE10033384A1 (en) Method for computer software installation in which a cryptographic authorization key is written with a part of the software to permanent computer memory, with the authorization based on personal or hardware specific data
EP3105899B1 (en) Method for starting up a production computer system

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8139 Disposal/non-payment of the annual fee