DE10216601A1 - Program assurance procedures - Google Patents

Program assurance procedures

Info

Publication number
DE10216601A1
DE10216601A1 DE10216601A DE10216601A DE10216601A1 DE 10216601 A1 DE10216601 A1 DE 10216601A1 DE 10216601 A DE10216601 A DE 10216601A DE 10216601 A DE10216601 A DE 10216601A DE 10216601 A1 DE10216601 A1 DE 10216601A1
Authority
DE
Germany
Prior art keywords
identification module
subscriber identification
program
terminal
key code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10216601A
Other languages
German (de)
Inventor
Nikola Mamuzic
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.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient 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 Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE10216601A priority Critical patent/DE10216601A1/en
Priority to PCT/EP2003/003859 priority patent/WO2003088053A2/en
Priority to AU2003227616A priority patent/AU2003227616A1/en
Publication of DE10216601A1 publication Critical patent/DE10216601A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

Beschrieben wird ein Verfahren zur Sicherung eines auf einem Endgerät betreibbaren Programms gegen unautorisierte Benutzung, bei dem in einem separaten Schlüsselelement ein Schlüsselcode gegen unbefugtes Auslesen gesichert gespeichert wird und bei dem das Schlüsselelement vor oder während einer Nutzung des Programms über eine Schnittstelle mit dem Endgerät verbunden wird und mittels eines Datentransfers zwischen dem Endgerät und dem Schlüsselelement der gespeicherte Schlüsselcode überprüft wird und nur bei einer positiven Überprüfung das Programm ordnungsgemäß abläuft. Als Schlüsselelement, in dem der Schlüsselcode gespeichert wird, wird dabei ein Teilnehmeridentifizierungsmodul zur Authentisierung eines Mobilfunkgeräts des Nutzers gegenüber einem Mobilfunknetz verwendet. Darüber hinaus wird ein entsprechendes Teilnehmeridentifizierungsmodul beschrieben.A method is described for securing a program that can be operated on a terminal device against unauthorized use, in which a key code is stored in a separate key element to prevent unauthorized reading and in which the key element is connected to the terminal device via an interface before or during use of the program and the stored key code is checked by means of a data transfer between the terminal and the key element and the program runs properly only if the check is positive. As the key element in which the key code is stored, a subscriber identification module is used to authenticate a user's mobile device to a mobile network. A corresponding subscriber identification module is also described.

Description

Die Erfindung betrifft ein Verfahren zur Sicherung eines auf einem Endgerät betreibbaren Programms gegen unautorisierte Benutzung, bei dem in einem separaten, d. h. vom Endgerät trennbaren Schlüsselelement ein Schlüsselcode gegen unbefugtes Auslesen gesichert gespeichert wird und bei dem das Schlüsselelement vor oder während einer Nutzung des Programms über eine Schnittstelle mit dem Endgerät verbunden wird und mittels eines Datentransfers zwischen dem Endgerät und dem Schlüsselelement der gespeicherte Schlüsselcode überprüft wird und nur bei einer positiven Überprüfung das Programm ordnungsgemäß abläuft. Unter einem Endgerät werden dabei im Folgenden allgemein von einem Nutzer über eine Mensch-Maschine- Schnittstelle kontrollierbare elektronische Geräte wie beispielsweise Computer-Terminals, insbesondere PCs, und mobile Endgeräte wie Laptops, PDAs (Personal Digital Assistents) und mobile Kommunikationsendgeräte, insbesondere Mobilfunkgeräte, verstanden. The invention relates to a method for securing a device on a terminal operable program against unauthorized use, in which in a separate, d. H. key element separable from the terminal Key code is secured against unauthorized reading and in which the Key element before or during use of the program via a Interface is connected to the terminal and by means of a Data transfers between the terminal and the key element of the stored key code is checked and only with a positive check the program runs properly. Under a terminal device hereinafter generally by a user via a human-machine Interface controllable electronic devices such as Computer terminals, in particular PCs, and mobile devices such as laptops, PDAs (Personal Digital Assistants) and mobile communication devices, in particular mobile devices understood.

Verfahren zum Kopierschutz von Programmen der eingangs genannten Art sind aus der Praxis allgemein bekannt. Entsprechende Schlüsselelemente, auf denen ein Schlüsselcode so gespeichert ist, dass er nicht von Unbefugten ausgelesen werden kann, werden allgemein auch als sogenannte "Dongles" bezeichnet. Üblicherweise hat ein solches Schlüsselelement bzw. Dongle einen Schnittstellenstecker für eine serielle oder parallele Schnittstelle eines PCs. Das zugehörige Programm kann nur dann auf dem PC genutzt werden, wenn der passende Dongle in die vorgesehene Schnittstelle eingesteckt ist, anderenfalls ist ein ordnungsgemäßer Ablauf des Programms nicht möglich. Dies verhindert, dass das Programm beliebig kopiert und von Nutzern verwendet wird, die hierzu keine Lizenz erworben haben. Die Verwendung eines speziellen Dongles zum Kopierschutz eines Programms hat jedoch zum einen den Nachteil, dass ein Nutzer, sofern er mehrere durch derartige Dongles geschützte Programme verwendet, eine Vielzahl unterschiedlicher Dongles benötigt. Dies ist insbesondere lästig, wenn es sich bei dem Endgerät, auf dem das Programm betrieben werden soll, um ein mobiles Endgerät, beispielsweise ein Laptop, handelt, weil er dann die Dongles mit dem Gerät ständig mitführen muss. Procedure for copy protection of programs of the type mentioned at the beginning are generally known in practice. Corresponding key elements, on who have a key code stored in such a way that it cannot be accessed by unauthorized persons can be read out, are generally also called "dongles" designated. Such a key element or dongle usually has an interface connector for a serial or parallel interface PCs. The associated program can only be used on the PC if the appropriate dongle is inserted in the intended interface, otherwise it is not possible to run the program properly. This prevents the program from being copied arbitrarily and by users is used that have not acquired a license for this. The usage of a special dongle for copy protection of a program has however to one the disadvantage that a user, if he has several by such Dongle's protected programs use a variety of different ones Dongles needed. This is particularly troublesome when it is Terminal on which the program is to be operated, a mobile terminal, for example a laptop, because he then dongles with the device must always be with you.

Hinzu kommt, dass auch im Bereich der kleineren mobilen Endgeräte, insbesondere im Bereich der modernen Kommunikationsendgeräte, durch immer größere Speicher und leistungsfähigere Prozessoren die auf derartigen Geräten installierbaren Programme (im Folgenden auch Anwendungen genannt) zunehmend komfortabler und umfangreicher werden. Solche auf mobilen Endgeräten laufenden Anwendungen werden daher in Zukunft eine ständig wachsende Rolle spielen. Insbesondere wenn solche Anwendungen von unabhängigen Anwendern vertrieben werden, bei denen es sich weder um die Geräte-Hersteller selbst noch z. B. um Mobilfunknetzbetreiber oder SIM- Karten-Hersteller handelt, müssen diese Anwendungen frei auf einem Endgerät installierbar sein. Somit besteht auch hier das Problem einer relativ einfachen Kopierbarkeit von einem Endgerät zum anderen. Üblicherweise weisen jedoch schon allein aus Platzgründen solche kleinen mobilen Endgeräte nur beschränkt Möglichkeiten auf, einen separaten Dongle zum Kopierschutz der Programme anzuschließen. In addition, in the area of smaller mobile devices, especially in the field of modern communication terminals, by always larger memories and more powerful processors based on such Programs that can be installed on devices (hereinafter also referred to as applications) become increasingly comfortable and extensive. Such on mobile Applications running on end devices will therefore become a constant in the future play a growing role. Especially when such applications from are distributed to independent users who are neither Device manufacturers even z. B. to mobile network operators or SIM Card maker deals, these applications must be free on one Terminal device can be installed. So here too there is a relative problem easy copying from one device to another. Usually have such small mobile devices for reasons of space alone only limited options on using a separate dongle Copy protection of the programs.

Es ist daher Aufgabe der vorliegenden Erfindung, eine Alternative zu dem eingangs genannten Stand der Technik zu schaffen. It is therefore an object of the present invention to provide an alternative to that to create the above-mentioned prior art.

Diese Aufgabe wird durch ein Verfahren gemäß Patentanspruch 1 sowie durch ein Teilnehmeridentifizierungsmodul zur Authentisierung eines Mobilfunkgeräts eines Nutzers gegenüber einem Mobilfunknetz gemäß Patentanspruch 9 gelöst. This object is achieved by a method according to claim 1 and through a subscriber identification module to authenticate a Mobile device of a user compared to a mobile network Claim 9 solved.

Bei den üblichen Mobilfunkstandards ist es erforderlich, dass in einem Mobilfunkgerät ein Teilnehmeridentifizierungsmodul vorhanden ist, auf dem sich alle zu einem bestimmten Nutzer gehörigen Informationen befinden, die benötigt werden, damit sich das Mobilfunkgerät in ein Mobilfunknetz eines Mobilfunkbetreibers einbuchen kann. Im Allgemeinen handelt es sich bei dem Teilnehmeridentifizierungsmodul um eine Chipkarte, die in der Regel SIM (Subscriber Identity Module) bzw. SIM-Karte genannt wird. Die SIM- Karte kann aus dem Mobilfunkgerät entnommen und in ein anderes Mobilfunkgerät eingelegt werden, um dieses in das Netz einzubuchen. Damit ein solcher Austausch möglich ist, sind zum einen die SIM-Karten und zum anderen die Aufnahmen der Mobilfunkgeräte für die SIM-Karte entsprechend genormt. Um zu verhindern, dass die Daten unbefugt aus dem SIM ausgelesen werden können, weist dieses einen gesicherten Speicher auf. The usual mobile radio standards require that in one Mobile device a subscriber identification module is available on the all of the information pertaining to a particular user is located are needed so that the mobile device is in a mobile network Mobile operator can log in. Generally, it is the subscriber identification module around a chip card, which as a rule SIM (Subscriber Identity Module) or SIM card is called. The SIM Card can be removed from the mobile device and into another Mobile radio device can be inserted to book this into the network. So that one such an exchange is possible on the one hand the SIM cards and others the recordings of the mobile devices for the SIM card accordingly standardized. To prevent the data from unauthorized access from the SIM can be read out, this has a secured memory.

Bei dem erfindungsgemäßen Verfahren wird daher sinnvollerweise ein solches Teilnehmeridentifizierungsmodul bzw. SIM zusätzlich als Schlüsselelement zur Sicherung eines Programms verwendet. Dies hat den Vorteil, dass lediglich der zu dem zu sichernden Programm passende Schlüsselcode in dem gesicherten Speicherbereich des Teilnehmeridentifizierungsmodul hinterlegt werden muss. In the method according to the invention, a is therefore expediently used such subscriber identification module or SIM additionally as Key element used to secure a program. This has the advantage that only the key code that matches the program to be backed up in the secured memory area of the subscriber identification module must be deposited.

Dies ist insbesondere dann besonders vorteilhaft, wenn es sich bei dem Endgerät, in welchem das Programm ablaufen soll, um das Mobilfunkgerät selbst handelt, in dem sich das Teilnehmeridentifizierungsmodul befindet. Es ist dann kein zusätzliches Schlüsselelement mehr erforderlich, welches von außen an das Mobilfunkgerät angesteckt werden muss oder in sonstiger Weise für einen Datenaustausch mit diesem Gerät verbunden werden muss. This is particularly advantageous if the Terminal in which the program is to run to the mobile device itself, in which the subscriber identification module is located. It is then no longer necessary to have an additional key element must be connected to the outside of the mobile device or in another Way for a data exchange with this device must be connected.

Das erfindungsgemäße Verfahren hat aber auch Vorteile, wenn es zur Sicherung von Programmen auf Endgeräten eingesetzt wird, bei denen es sich nicht um das Mobilfunkgerät selbst handelt. In diesem Fall kann der Datenaustausch über eine Schnittstelle zwischen dem Mobilfunkgerät und dem jeweiligen Endgerät erfolgen. Dies ist insoweit unproblematisch, da die meisten Mobilfunkgeräte bereits entsprechende Schnittstellen zur Verbindung mit weiteren Endgeräten aufweisen. Die meisten Nutzer moderner Endgeräte verfügen ohnehin über ein Mobilfunkgerät, welches sie in der Regel ständig mitführen. Durch das erfindungsgemäße Verfahren ist ein zusätzliches Mitführen eines Dongle nicht mehr erforderlich. The method according to the invention also has advantages when it comes to Backing up programs on end devices that are is not the mobile device itself. In this case, the Data exchange via an interface between the mobile device and the respective terminal. This is not a problem insofar as the Most mobile devices already have appropriate interfaces for connection with other devices. Most users are more modern End devices already have a mobile device, which they usually always carry along. The inventive method is an additional Carrying a dongle is no longer necessary.

Da es möglich ist, in dem Teilnehmeridentifizierungsmodul mehrere Schlüsselcodes für verschiedene Programme zu hinterlegen, kann das Teilnehmeridentifizierungsmodul als Schlüsselelement für mehrere Programme dienen. Since it is possible to have several in the subscriber identification module It can store key codes for different programs Subscriber identification module as a key element for several programs serve.

Vorzugsweise wird zur Verbindung zwischen dem Mobilfunkgerät und dem Endgerät eine drahtlose Schnittstelle, beispielsweise eine Infrarot- Schnittstelle wie IrDa oder - besonders bevorzugt - eine kurzreichweitige Funkschnittstelle verwendet. Derartige kurzreichweitige Funkschnittstellen werden allgemein auch mit dem Begriff W-PAN (Wireless Personal Area Network) bezeichnet. Ein Beispiel hierfür ist die sogenannte Bluetooth- Schnittstelle. Die Verwendung einer solchen Funkschnittstelle hat gegenüber einer Steckverbindungsschnittstelle oder eine Infrarotschnittstelle den Vorteil, dass keine bestimmte Ausrichtung oder Orientierung der beiden beteiligten Geräte zueinander erforderlich ist. Preferably, the connection between the mobile device and the Terminal a wireless interface, for example an infrared Interface like IrDa or - particularly preferred - a short-range one Radio interface used. Such short-range radio interfaces are also commonly referred to as W-PAN (Wireless Personal Area Network). An example of this is the so-called Bluetooth Interface. The use of such a radio interface has opposed a connector interface or an infrared interface Advantage that no specific orientation or orientation of the two involved devices to each other is required.

Die Überprüfung des Schlüsselcodes durch das auf dem jeweiligen Endgerät laufende Programm kann auf beliebige Weise erfolgen. Wichtig ist dabei aber, dass ein abgesichertes Verfahren benutzt wird, welches verhindert, dass der Schlüsselcode ausspioniert werden kann. Hierzu bieten sich u. a. verschiedenen kryptologische Verfahren an. The verification of the key code by the on the respective device running program can be done in any way. It is important but that a secure procedure is used, which prevents that the key code can be spied on. For this, u. a. different cryptological methods.

Bei einem bevorzugten Ausführungsbeispiel wird zur Überprüfung ein sogenanntes "Challenge-Response-Verfahren" verwendet. Dabei wird vom Programm ein Anfragesignal an das Teilnehmeridentifizierungsmodul übermittelt. In der Regel handelt es sich hierbei um eine Zufallszahl. Aus diesem Anfragesignal wird dann in einer Verschlüsselungsoperation nach einem bestimmten "Krypto-Algorithmus" unter Verwendung des im Teilnehmeridentifizierungsmoduls gespeicherten Schlüsselcodes ein Antwortsignal erzeugt. Gleichzeitig wird vom Programm die Zufallszahl auf die gleiche Weise, das heißt mit dem gleichen Krypto-Algorithmus und unter Verwendung des gleichen Schlüsselcodes, verschlüsselt. Das Ergebnis dieser Verschlüsselungsoperation wird dann mit dem Antwortsignal des Teilnehmeridentifizierungsmoduls verglichen. Bei einer Übereinstimmung ist davon auszugehen, dass sich im Speicher des Teilnehmeridentifizierungsmoduls der richtige Lizenzschlüssel befindet. Daher wird bei einem positiven Vergleichsergebnis das Programm ordnungsgemäß ausgeführt und anderenfalls abgebrochen. In a preferred embodiment, a for checking so-called "challenge-response method" used. It is from Program a request signal to the subscriber identification module transmitted. As a rule, this is a random number. Out this request signal is then followed in an encryption operation a certain "crypto-algorithm" using the im Participant identification module stored key codes Response signal generated. At the same time, the program will randomize the same way, that is, with the same crypto algorithm and under Using the same key code, encrypted. The result of this Encryption operation is then performed with the response signal from the Participant identification module compared. If there is a match assume that there is in the memory of the subscriber identification module the correct license key is located. Therefore, with a positive Comparison result the program executed properly and otherwise canceled.

Das Teilnehmeridentifizierungsmodul muss hierzu dementsprechend Mittel zur Verschlüsselung eines von einem Endgerät an das Teilnehmeridentifizierungsmodul übermittelten Anfragesignals mittels des Schlüsselcodes aufweisen. Ebenso müssen geeignete Mittel zur Rückübermittlung des verschlüsselten Anfragesignals vom Teilnehmeridentifizierungsmodul zum Endgerät zur Verfügung stehen. Accordingly, the participant identification module must have resources to encrypt one from a terminal to the Participant identification module transmitted request signal using the key code exhibit. Appropriate means of returning the encrypted request signal from the subscriber identification module to the Device are available.

Zur Speicherung des Schlüsselcodes im Teilnehmeridentifizierungsmodul gibt es verschiedene Möglichkeiten. Vorzugsweise erfolgt die Einspeicherung über ein Mobilfunknetz, das heißt der Schlüsselcode wird an ein Mobilfunkgerät übermittelt, in welchem sich das Teilnehmeridentifizierungsmodul befindet und dort automatisch in dem Teilnehmeridentifizierungsmodul hinterlegt. Vorzugsweise erfolgt diese Übermittlung durch den Mobilfunkbetreiber des betreffenden Mobilfunknetzes, da dieser auch der Herausgeber des Teilnehmeridentifizierungsmoduls ist und somit entsprechende Zugriffsmöglichkeiten auf das Modul hat. Verschiedene "OTA"(Over the Air)-Mechanismen, einen Schlüsselcode vom Mobilfunkbetreiber über eine Luftschnittstelle an ein Mobilfunkgerät zu übersenden und in einem darin befindlichen Teilnehmeridentifizierungsmodul sicher zu speichern, sind dem Fachmann bereits bekannt und brauchen daher nicht weiter erläutert zu werden. Der jeweilige Anbieter der Anwendung braucht dementsprechend nur den Schlüsselcode an den Mobilfunkbetreiber zu übermitteln und ihn anzuweisen, den Schlüsselcode auf ein bestimmtes Teilnehmeridentifizierungsmodul eines bestimmten Nutzers, welcher bei dem Anwendungsanbieter eine Lizenz erworben hat, zu übersenden. For storing the key code in the subscriber identification module there are different options. This is preferably done Storage via a cellular network, that is, the key code is sent to a Mobile device transmitted in which the Subscriber identification module is located and there automatically in the subscriber identification module deposited. This transmission is preferably carried out by the Mobile operator of the relevant mobile network, since this is also the publisher of the subscriber identification module and is therefore corresponding Has access to the module. Various "OTA" (Over the Air) mechanisms, a key code from the mobile operator through a Air interface to send to a mobile device and in one the subscriber identification module located must be stored securely Already known to a person skilled in the art and therefore need not be explained further become. The respective provider of the application needs accordingly only transmit the key code to the mobile operator and it to instruct the keycode on a particular Subscriber identification module of a specific user who is with the Application provider has acquired a license to send.

Das Verfahren ist insoweit äußerst einfach, da es im Wesentlichen auf bereits existierende Mechanismen und Einrichtungen zurückgreifen kann und somit ohne größere Kosten implementierbar ist. Es bietet eine relativ große Sicherheit für die Hersteller von Programmen, da die Programme selbst zwar beliebig oft kopiert und vervielfältigt werden können, jedoch immer nur derjenige, der ordnungsgemäß durch Erwerb einer Lizenz in den Besitz des Schlüsselcodes gelangt, das Programm auch nutzen kann. Gleichzeitig ist dieses Verfahren für den autorisierten Nutzer ausgesprochen bequem, da er keinerlei zusätzliche Sicherheitselemente wie beispielsweise Dongles benötigt. Das Verfahren hat daher insbesondere auch den Vorteil, dass es nicht mehr notwendig ist, einen Dongle vom Anwendungsanbieter an den Nutzer, beispielsweise per Post oder mittels eines Paketdienstes, zu versenden. Die Übersendung eines Kopierschlüssels kann stattdessen genauso per Datenübermittlung erfolgen wie die Übermittlung des Programms selbst, was ja derzeit bereits durch einen Download aus dem Internet oder durch eine Übermittlung über ein Mobilfunknetz etc. problemlos möglich ist. Der Verkauf von Software auf elektronischem Wege wird so zu einer gleichermaßen sicheren, aber aufgrund des dabei nicht notwendigen Transports im Allgemeinen kostengünstigeren und umweltfreundlicheren Alternative. The process is extremely simple in that it is essentially based on already can use existing mechanisms and facilities and thus can be implemented without major costs. It offers a relatively large one Security for the producers of programs, since the programs themselves can be copied and reproduced as often as required, but always only the one who is duly owned by the acquisition of a license Key codes arrive, the program can also use. At the same time this procedure is extremely convenient for the authorized user since he no additional security elements such as dongles needed. The method therefore has the particular advantage that it does not a dongle from the application provider to the user is more necessary, for example by post or by means of a parcel service. The Sending a copy key can instead be done via Data transmission takes place like the transmission of the program itself, which is currently already by downloading from the Internet or through a Transmission via a cellular network etc. is easily possible. The sale of software electronically becomes one safe, but due to the unnecessary transportation in the Generally cheaper and more environmentally friendly alternative.

Die Erfindung wird im Folgenden unter Hinweis auf die beigefügten Figuren anhand eines Ausführungsbeispiels näher erläutert. Es zeigen: The invention is hereinafter described with reference to the accompanying Figures explained in more detail using an exemplary embodiment. Show it:

Fig. 1 eine schematische Darstellung einer Übermittlung eines Schlüsselcodes an eine SIM-Karte eines Benutzers, Fig. 1 is a schematic representation of a transmission of a key code to a SIM card of a user,

Fig. 2 eine schematische Darstellung des Verfahrensablaufs bei der Überprüfung eines auf einer SIM-Karte gespeicherten Schlüsselcodes durch ein auf einem Mobilfunkgerät ablaufendes Programm. Fig. 2 is a schematic representation of the procedure when checking a key code stored on a SIM card by a program running on a mobile device.

Bei dem Ausführungsbeispiel in Fig. 1 wird zunächst von einem Anwendungsanbieter 3 an ein Mobilfunkgerät 1 eines Benutzers ein Programm P in Form eines Programmcodes übersandt, der auf dem Mobilfunkgerät 1 installiert wird, so dass das Programm P auf dem Mobilfunkgerät 1 ausgeführt werden kann. Dies geschieht nach einer - hier nicht dargestellten - Kommunikation zwischen dem Nutzer und dem Anwendungsanbieter, beispielsweise nach einer Bestellung und Bezahlung des Programms P durch den Nutzer. Der Anwendungsanbieter übersendet dann außerdem - vorzugsweise auf einem gesicherten Weg - einen Schlüsselcode S als Lizenzschlüssel an den Betreiber 4 des Mobilfunknetzes N, in welchem der Nutzer mit seinem Mobilfunkgerät 1 bzw. mit einem Teilnehmeridentifizierungsmodul 2 registriert ist. In the exemplary embodiment in FIG. 1, a program P in the form of a program code is first sent from an application provider 3 to a mobile radio device 1 of a user, which is installed on the mobile radio device 1 , so that the program P can be executed on the mobile radio device 1 . This takes place after communication - not shown here - between the user and the application provider, for example after an order and payment for the program P by the user. The application provider then also sends a key code S as a license key to the operator 4 of the mobile radio network N, preferably in a secure way, in which the user is registered with his mobile radio device 1 or with a subscriber identification module 2 .

Bei dem vorliegenden Ausführungsbeispiel wird davon ausgegangen, dass es sich bei dem Teilnehmeridentifizierungsmodul 2 um eine SIM-Karte 2 handelt. Die Erfindung ist jedoch nicht auf Teilnehmeridentifizierungsmodule 2 in Form von Chipkarten beschränkt, sondern es kann sich auch um eine andere Art von Teilnehmeridentifizierungsmodul, beispielsweise ein in einem beliebigen Gehäuse befindliches Steckmodul, handeln. Wesentlich ist lediglich, dass dieses Teilnehmeridentifizierungsmodul eine ähnliche Funktionalität aufweist wie die heutzutage verwendeten SIM-Karten. In the present exemplary embodiment, it is assumed that the subscriber identification module 2 is a SIM card 2 . However, the invention is not limited to subscriber identification modules 2 in the form of chip cards, but it can also be a different type of subscriber identification module, for example a plug-in module located in any housing. It is only essential that this subscriber identification module has a functionality similar to that of the SIM cards used today.

Der Mobilfunknetzbetreiber 4 übersendet dann den Schlüsselcode S mittels eines von ihm üblicherweise verwendeten OTA-Mechanismus über das Mobilfunknetz N an das Mobilfunkgerät 1. Durch die Art der Übersendung ist dabei gewährleistet, dass dieser Schlüsselcode S direkt in den Speicher der SIM-Karte 2 übertragen wird, ohne dass der Nutzer den Schlüsselcode S ausspionieren und anderweitig abspeichern kann. Durch den eingespeicherten Schlüsselcode S dient die SIM-Karte 2 nun zusätzlich als Schlüsselelement, ohne das das Programm P auf dem Mobilfunkgerät 1 nicht lauffähig ist. The mobile radio network operator 4 then sends the key code S to the mobile radio device 1 via the mobile radio network N by means of an OTA mechanism that is usually used by him. The type of transmission ensures that this key code S is transferred directly into the memory of the SIM card 2 without the user being able to spy on the key code S and otherwise store it. Due to the stored key code S, the SIM card 2 now additionally serves as a key element, without which the program P cannot run on the mobile radio device 1 .

Fig. 2 zeigt ein Ausführungsbeispiel, wie eine Überprüfung des Schlüsselcodes S auf der SIM-Karte 2 durch das auf dem mobilen Endgerät 1 installierte Programm P erfolgt. FIG. 2 shows an exemplary embodiment of how the key code S on the SIM card 2 is checked by the program P installed on the mobile terminal 1 .

Das Mobilfunkgerät 1 ist hier durch einen einfachen Block dargestellt. Es handelt sich beispielsweise um ein herkömmliches Mobilfunkgerät 1, welches alle üblichen Komponenten eines Mobilfunkgeräts aufweist. Innerhalb dieses Mobilfunkgeräts 1 befindet sich eine SIM-Karte 2, auf der wie zuvor beschrieben ein Schlüsselcode S hinterlegt wurde. The mobile radio device 1 is represented here by a simple block. For example, it is a conventional mobile radio device 1 , which has all the usual components of a mobile radio device. Within this mobile radio device 1 there is a SIM card 2 on which a key code S has been stored as described above.

Um diesen Schlüsselcode S zu überprüfen, ohne dass er aus dem Speicher der SIM-Karte 2 ausgelesen werden muss, wird ein sogenanntes Challenge- Response-Verfahren verwendet. Hierbei wird vom Programm P, d. h. von der Anwendung selbst, intern eine Zufallszahl R generiert und diese Zufallszahl R an die SIM-Karte 2 übertragen. Diese Übertragung erfolgt beispielsweise über die gleiche Schnittstelle, über die die SIM-Karte 2 ohnehin mit dem Mobilfunkgerät 1 kommuniziert. In order to check this key code S without having to read it out of the memory of the SIM card 2 , a so-called challenge response method is used. In this case, the program P, ie the application itself, internally generates a random number R and transmits this random number R to the SIM card 2 . This transmission takes place, for example, via the same interface via which the SIM card 2 communicates with the mobile radio device 1 anyway.

Die SIM-Karte 2 verschlüsselt dann nach einem bestimmten Verschlüsselungsalgorithmus K die Zufallszahl R, wobei sie für die Verschlüsselung den Schlüsselcode S verwendet. Das Ergebnis (Response) wird an das Programm P zurückübermittelt. Das Programm P selbst verschlüsselt ebenfalls die Zufallszahl R mit dem gleichen Verschlüsselungsalgorithmus K unter Verwendung desselben Schlüsselcodes S. Das Ergebnis dieser Verschlüsselungsoperation K sollte folglich mit der von der SIM-Karte 2 erhaltenen Antwort übereinstimmen, wenn der auf der SIM-Karte 2 gespeicherte Schlüsselcode S mit dem Schlüsselcode S des Programms P identisch ist. Das Verschlüsselungsergebnis des Programms P wird daher mit der Antwort der SIM-Karte 2 im Verfahrensschritt V verglichen. Wird bei diesem Vergleich eine Übereinstimmung festgestellt, so wird das Programm P ordnungsgemäß ausgeführt. Anderenfalls führt der Vergleich zu einem Programmabbruch. The SIM card 2 then encrypts the random number R according to a specific encryption algorithm K, using the key code S for the encryption. The result (response) is transmitted back to the program P. The program P itself also encrypts the random number R with the same encryption algorithm K using the same key code S. The result of this encryption operation K should therefore correspond to the response received from the SIM card 2 if the key code S stored on the SIM card 2 is identical to the key code S of the program P. The encryption result of the program P is therefore compared with the response of the SIM card 2 in method step V. If a match is found during this comparison, the program P is executed properly. Otherwise the comparison leads to a program termination.

Claims (10)

1. Verfahren zur Sicherung eines auf einem Endgerät betreibbaren Programms (P) gegen unautorisierte Benutzung,
bei dem in einem separaten Schlüsselelement ein Schlüsselcode (S) gegen unbefugtes Auslesen gesichert gespeichert wird
und bei dem das Schlüsselelement vor oder während einer Nutzung des Programms (P) über eine Schnittstelle mit dem Endgerät verbunden wird und mittels eines Datentransfers zwischen dem Endgerät und dem Schlüsselelement der gespeicherte Schlüsselcode (S) überprüft wird und nur bei einer positiven Überprüfung das Programm (P) ordnungsgemäß abläuft,
dadurch gekennzeichnet,
dass als Schlüsselelement, in welchem der Schlüsselcode (S) gespeichert wird, ein Teilnehmeridentifizierungsmodul (2) zur Authentisierung eines Mobilfunkgeräts (1) des Nutzers gegenüber einem Mobilfunknetz (N) verwendet wird.
1. Method for securing a program (P) that can be operated on a terminal device against unauthorized use,
in which a key code (S) is stored in a separate key element to prevent unauthorized reading
and in which the key element is connected to the terminal before or during use of the program (P) and the stored key code (S) is checked by means of a data transfer between the terminal and the key element and the program () P) works properly,
characterized by
that as a key element in which the key code (S) is stored, a subscriber identification module ( 2 ) is used to authenticate a mobile device ( 1 ) of the user to a mobile network (N).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Endgerät, auf welchem das Programm (P) abläuft, ein Mobilfunkgerät (1) ist, in welchem sich das Teilnehmeridentifizierungsmodul (2) befindet. 2. The method according to claim 1, characterized in that the terminal on which the program (P) runs is a mobile radio device ( 1 ) in which the subscriber identification module ( 2 ) is located. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Endgerät zur Prüfung des im Teilnehmeridentifizierungsmodul gespeicherten Schlüsselcodes über eine Schnittstelle mit einem Mobilfunkgerät verbunden wird, in welchem sich das Teilnehmeridentifizierungsmodul befindet. 3. The method according to claim 1, characterized in that the terminal to check the stored in the participant identification module Key codes are connected to a mobile device via an interface, in which the subscriber identification module is located. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Schnittstelle zwischen dem Mobilfunkgerät und dem Endgerät eine drahtlose Schnittstelle ist. 4. The method according to claim 3, characterized in that the Interface between the mobile device and the terminal a wireless Interface is. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Schnittstelle zwischen dem Mobilfunkgerät und dem Endgerät eine kurzreichweitige Funkschnittstelle ist. 5. The method according to claim 4, characterized in that the Interface between the mobile device and the terminal short-range radio interface is. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass zur Überprüfung des im Teilnehmeridentifizierungsmodul (2) gespeicherten Schlüsselcodes (S) durch das auf dem Endgerät (1) laufende Programm (P) ein Challenge-Response-Verfahren verwendet wird. 6. The method according to any one of claims 1 to 5, characterized in that a challenge response method is used to check the key code (S) stored in the subscriber identification module ( 2 ) by the program (P) running on the terminal ( 1 ). 7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der Schlüsselcode (S) zur Speicherung in dem Teilnehmeridentifizierungsmodul (2) über ein Mobilfunknetz (N) an ein Mobilfunkgerät (1) übermittelt wird, in welchem sich das Teilnehmeridentifizierungsmodul (2) befindet. 7. The method according to any one of claims 1 to 6, characterized in that the key code (S) for storage in the subscriber identification module ( 2 ) is transmitted via a mobile radio network (N) to a mobile radio device ( 1 ) in which the subscriber identification module ( 2 ) is located. 8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Schlüsselcode (S) zur Speicherung in dem Teilnehmeridentifizierungsmodul (2) von einem Mobilfunknetzbetreiber an das Mobilfunkgerät (1) übermittelt wird. 8. The method according to claim 7, characterized in that the key code (S) for storage in the subscriber identification module ( 2 ) is transmitted from a mobile network operator to the mobile device ( 1 ). 9. Teilnehmeridentifizierungsmodul (2) zur Authentisierung eines Mobilfunkgeräts (1) eines Nutzers gegenüber einem Mobilfunknetz (N), gekennzeichnet durch zumindest einen in einem Speicher des Teilnehmeridentifizierungsmoduls (2) gespeicherten Schlüsselcode (S) zur Absicherung eines Programms (P), welches auf einem dem Teilnehmeridentifizierungsmodul (2) zugeordneten Mobilfunkgerät (1) oder auf einem über eine Schnittstelle mit dem Mobilfunkgerät verbundenen weiteren Endgerät abläuft, gegen eine unautorisierte Benutzung. 9. subscriber identification module ( 2 ) for authenticating a mobile device ( 1 ) of a user against a mobile network (N), characterized by at least one key code (S) stored in a memory of the subscriber identification module ( 2 ) for securing a program (P) which is based on a the subscriber identification module ( 2 ) assigned to the mobile radio device ( 1 ) or on an additional terminal connected to the mobile radio device via an interface, against unauthorized use. 10. Teilnehmeridentifizierungsmodul nach Anspruch 9, gekennzeichnet durch Mittel (K) zur Verschlüsselung eines von einem Endgerät (1) an das Teilnehmeridentifizierungsmodul (2) übermittelten Anfragesignals mittels des Schlüsselcodes (S). 10. The subscriber identification module according to claim 9, characterized by means (K) for encrypting a request signal transmitted from a terminal ( 1 ) to the subscriber identification module ( 2 ) by means of the key code (S).
DE10216601A 2002-04-15 2002-04-15 Program assurance procedures Ceased DE10216601A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10216601A DE10216601A1 (en) 2002-04-15 2002-04-15 Program assurance procedures
PCT/EP2003/003859 WO2003088053A2 (en) 2002-04-15 2003-04-14 Method for securing a program
AU2003227616A AU2003227616A1 (en) 2002-04-15 2003-04-14 Method for securing a program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10216601A DE10216601A1 (en) 2002-04-15 2002-04-15 Program assurance procedures

Publications (1)

Publication Number Publication Date
DE10216601A1 true DE10216601A1 (en) 2003-10-30

Family

ID=28685069

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10216601A Ceased DE10216601A1 (en) 2002-04-15 2002-04-15 Program assurance procedures

Country Status (3)

Country Link
AU (1) AU2003227616A1 (en)
DE (1) DE10216601A1 (en)
WO (1) WO2003088053A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10339173A1 (en) * 2003-08-26 2005-03-24 Giesecke & Devrient Gmbh Mobile telecommunications device for fixing and issuing an authenticating code has a subscriber identity module for telecommunications functions
US8645695B2 (en) * 2009-10-07 2014-02-04 Blackberry Limited System and method for managing security key architecture in multiple security contexts of a network environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999044114A1 (en) * 1998-02-25 1999-09-02 Telefonaktiebolaget Lm Ericsson Method, arrangement and apparatus for authentication through a communications network
WO2000072149A1 (en) * 1999-05-25 2000-11-30 Motorola Inc. Pre-verification of applications in mobile computing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530772A (en) * 1998-11-24 2002-09-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Automatic PC logon by mobile phone
SE0001211L (en) * 2000-04-04 2001-10-05 Wireless Car Ab Improvements in or in connection with mobile telephony
DE60044586D1 (en) * 2000-04-28 2010-08-05 Swisscom Ag METHOD FOR SECURING COMMUNICATION BETWEEN A TERMINAL AND AN ADDITIONAL USER DEVICE

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999044114A1 (en) * 1998-02-25 1999-09-02 Telefonaktiebolaget Lm Ericsson Method, arrangement and apparatus for authentication through a communications network
WO2000072149A1 (en) * 1999-05-25 2000-11-30 Motorola Inc. Pre-verification of applications in mobile computing

Also Published As

Publication number Publication date
WO2003088053A2 (en) 2003-10-23
AU2003227616A1 (en) 2003-10-27
WO2003088053A3 (en) 2004-04-01
AU2003227616A8 (en) 2003-10-27
WO2003088053A8 (en) 2004-05-13

Similar Documents

Publication Publication Date Title
EP0283432A1 (en) Method and apparatus for protecting secret elements in a cryptographic devices network with open key management
EP3649625B1 (en) Method for delegating access rights
DE102010027586B4 (en) Method for the cryptographic protection of an application
DE102020003275B3 (en) Personalization of a secure element
EP1220075B1 (en) System and method for authorising the execution of a software installed on a computer
EP2673731B1 (en) Method for programming a mobile terminal chip
DE19925389A1 (en) Transferring data onto smart cards involves transmitting encrypted data to card, decrypting in card using different keys, encrypting and decrypting data on basis of specific information in smart card
EP1075161B1 (en) Method and devices for controlling access of a user from a user's computer to an access computer
DE102018005284A1 (en) Chip personalization of an embedded system by a third party
EP0825316B2 (en) Method and system for writing an information key
DE102005014194B4 (en) Reader with integrated cryptography unit
DE10216601A1 (en) Program assurance procedures
WO2007113163A1 (en) Improved digital rights management for domains
EP2481183A1 (en) Method for establishing a secure communication channel
EP1163559B1 (en) Method for securing access to a data processing device and appropriate device
DE10324507A1 (en) Method for loading data into a storage device
DE102012007430A1 (en) System and method for secure communication
EP3312753B1 (en) Physical security element for resetting a password
EP2613491B1 (en) Execution of cryptographic operations with data from a user terminal
EP3277005B1 (en) Personalization of a security element
DE102008051578A1 (en) Data communication with a portable device
DE102011015967B4 (en) Method for decrypting digital data
EP0777356B1 (en) Arrangement for encryptyed data transmission between two different systems
EP2851826B1 (en) Method for handling content management objects
EP1890269B1 (en) Provision of a function of a security token

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8131 Rejection