Fraunhofer-Gesellschaft

Publica

Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Development of security protocols and new approaches to application servie providing for mobile devices

 
: Schwalm, S.
: Jalali-Sohi, M.

Darmstadt, 2002
Darmstadt, TU, Dipl.-Arb., 2002
English
Thesis
Fraunhofer IGD ()
ASP; Application service providing; wireless communication; distributed network; access control; authentication

Abstract
In ASP-Architekturen ist Sicherheit eine der wichtigsten Voraussetzungen. Bei der Umsetzung solcher Architekturen in konkrete Softwareanwendungen können viele der heute üblichen Sicherheitstechniken wie Signaturen, Zertifikate, Asymmetrische Verschlüsselung oder SmartCards angewendet werden. Diese Techniken benötigen Rechenkapazität, die über das Maß hinausgeht, das heutige mobile Endgeräte zu leisten vermögen. Dies macht es nötig, nach neuen Methoden und Techniken zu suchen, die es erlauben, ASP auch auf diese sehr beschränkten Endgeräte auszudehnen. Der Ansatz, der in dieser Arbeit vorgeschlagen wird, verwendet einen geheimen DES-Schlüssel, der nur der Anwendung selbst und dem Server bekannt ist. Der Schlüssel wird in den Java-Klassen der Applikation versteckt, die auf dem mobilen Endgerät ausgeführt werden soll. Durch die Verwendung dieses Schlüssels ist eine sichere Kommunikation zwischen dem Server und der Anwendung möglich. Als Transportprotokoll wird HTTP verwendet. Zur Absicherung der Anwendung selbst und der darin enhaltenen Geheimnisse wird Verschleierung (Obfuscation) benutzt. Es wurden zwei Arten implementiert, eine Applikation zu mieten: Basierend auf der Aufrufhäufigkeit und basierend auf der Zeitspanne, für die eine Applikation benutzt werden kann. In Abhängigkeit hiervon wird zum Startzeitpunkt entweder die Anzahl der noch zur Verfügung stehenden Aufrufe oder die Erreichung des Ablaufdatums durch eine kurze Anfrage an den Server kontrolliert. Nur Anwendungen mit einer gültigen Lizenz werden hiernach ausgeführt. Das gewählte Vorgehen ist besonders gut für kleine Anwendungen auf Mobiltelefonen wie z. B. Spielen oder location-based services geeignet. Diese haben eine begrenzte Lebenszeit und sind nicht teuer bzw. wertvoll genug, als daß es lohnenswert wäre, viel Zeit in die Entfernung ihrer Schutzmechanismen zu investieren. Innerhalb dieser Arbeit wurde eine prototypische Implementierung des vorgeschlagenen Ansatzes basierend auf Java erstellt.

 

In Application Service Providing (ASP) frameworks security is one of the most important issues. Current approaches implementing such frameworks take advantage of elaborate protection mechanisms like signatures, public and private key encryption, and SmartCards. Those technologies are demanding in terms of processing power, so that many of them are not or only partly applicable on mobile clients and their limited capacities. This requires searching for new methods to guarantee an acceptable degree of security, if such devices are to be used within ASP frameworks. In the approach suggested in this report a secret DES-key shared between client and server is hidden inside the Java classes to be executed on the mobile client. Using this key, client and server can establish a secure communication channel without the need of utilizing expensive protocols like SSL. The protocol used is HTTP; security is guaranteed by signing and encrypting the transferred data with the shared secret key. Obfuscation is applied to obscure the application logic of the client code and thus make it tamper resistant and protect the hidden secret key. By this means two leasing models for an application or service are implemented, one based on access frequency and one based on the period of time an application can be used. Depending on this leasing model, either the number of valid accesses or the expiration date is checked by a short HTTP request to the server every time the application is invoked. Only applications with a valid license are allowed to be executed. In addition to this, in the period of time model the expiration date is checked against the system clock at runtime continuously. The methods introduced seem particularly suitable to small applications aimed at mobile phones like games or location based services, which have a limited lifetime and are not expensive or valuable enough to put much effort in reverse engineering. In order to proof the proposed concept, a prototypical implementation based on Java was developed.

: http://publica.fraunhofer.de/documents/N-9166.html

<