-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren und Anordnungen
für das
Ermöglichen einer
Integritätsprüfung von
Softwaremodulen in einer Softwareumgebung eines mobilen Kommunikationssystems.
-
HINTERGRUND
-
Heutige
intelligente mobile Kommunikationsvorrichtungen haben sich aus einer
ersten Generation digitaler Mobiltelefone, die nicht viel mehr konnten,
als Sprachübertragungen
in Echtzeit zu transportieren, entwickelt. Nun sind die Vorrichtungen
fähig,
in paketvermittelten digitalen Hochgeschwindigkeitsmobilnetzen zu
kommunizieren und fähig,
Daten in nahezu derselben Weise wie ein Personalcomputer zu verarbeiten
und zur präsentieren.
Das Verwendungsgebiet umfasst nun eine diverse Zahl von Anwendungstypen,
unter denen Spiele und elektronischer Handel nur zwei sind.
-
Es
braucht nicht gesagt zu werden, dass um Benutzern dieser Endgeräte eine
geeignete Software für
eine Verwendung in solchen Anwendungen zu liefern, das Erfordernis
besteht, dass die Endgeräte
fähig sind,
Software, die von dritten Softwareentwicklern als auch vom Hersteller
des Endgeräts
geschrieben ist, herabzuladen. Das kann mittels Wechselspeichereinheiten,
auf denen die Softwaremodule gespeichert werden können, erzielt
werden. Ein Beispiel einer solchen Wechselspeichereinheit ist die Multimediakarte
(Multi Media Card, MMC), die zu einem Standard bei vielen Anwendungen
auf dem Gebiet der tragbaren intelligenten Vorrichtungen geworden
ist.
-
Bei
Wechselspeichereinheiten, wie einer MMC, gibt es jedoch ein Problem.
Durch die Tatsache, dass die Speichereinheit von der Kommunikationsvorrichtung
entfernt werden kann, ist es möglich, den
Inhalt, beispielsweise unter Verwendung eines PCs, zu ändern und
sie dann in das Endgerät
wieder einzuschieben und das Endgerät mit modifizierter Software
zu betreiben. Solche Änderungen
können unabsichtlich
sein. In vielen Situationen ist es jedoch wesentlich, dass die Integrität der Software
vom Softwareanbieter aufrecht gehalten wird. Software, die sich
beispielsweise auf den elektronischen Handel bezieht, ist von dieser
Art, die sich auf die Integrität stützt.
-
Somit
besteht ein Bedürfnis
nach einem System, das ein Prüfen
der Integrität
der Software ausführt,
bevor es der Software gestattet wird, die Steuerung des Kommunikationsendgeräts zu übernehmen.
In einem Beispiel von Systemen des Stands der Technik, dem Symbian-System,
wird dies gelöst,
indem man innerhalb eines geschützten
Speicherbereichs im Endgerät
einen verschlüsselten
Hash der Software speichert, die durch Verarbeitungsmittel im Endgerät zum Ablauf
gebracht werden soll. Jedes Mal, wenn die Software zu aktivieren
ist, das heißt auf
dem Endgerät
zum Ablauf gebracht wird, wird eine Hash-Berechnung mit den Softwaredaten
ausgeführt,
und wenn der berechnete Hash nicht zu einem Hash-Wert passt, der
schon im Endgerät
gespeichert worden ist, wird die Software nicht laufen.
-
Diese
Symbian-Lösung
hat jedoch den Nachteil, dass sie nicht sehr flexibel ist, wenn
ein Benutzer des Endgeräts
wünscht,
zusätzliche
Softwareanwendungen herabzuladen, die kein Gegenstand der Integritätsprüfung sind,
die das Speichern eines Hash-Werts im Endgerät umfasst. Da die zusätzliche Software
auf der Wechselspeichereinheit beispielsweise durch einen Dritten,
einen Softwareanbieter, zu der Zeit gespeichert worden ist, zu der
ein Benutzer schon das Endgerät
von einem Endgerätanbieter erhalten
hat, und die Software für
eine Verwendung auf jedem Endgerät
vorgesehen ist, kann keine Aufzeichnung dieser spezifischen Software
(das ist kein Hash-Wert) im Endgerät selbst vorhanden sein. Somit
existiert das Problem, dass es der Software nicht ermöglicht wird,
auf dem Endgerät
zu laufen, oder je nachdem nur beispielsweise als "nicht vertrauenswürdig" mit weniger als
den normalen Fähigkeiten zum
Ablauf gebracht werden kann, um das Endgerät zu betreiben.
-
Die
internationale Patentanmeldung, die als
WO 01/33867 veröffentlicht wurde, offenbart
ein Verfahren für
die Validation einer Anwendung für
die Verwendung in einer mobilen Kommunikationsvorrichtung. Softwareanwendungen
werden zur mobilen Kommunikationsvorrichtung durch einen Systemeingangs-Proxyserver
herabgeladen, der die Anwendungen authentifiziert und sie mit einem
kompakten Zertifikat erneut zertifiziert.
-
Die
internationale Patentanmeldung, die als
WO 00/72149 veröffentlicht wurde, offenbart
eine Vorverifikation von Anwendungen bei mobilen Computern (mobile
computing). Digitale Fingerabdrücke von
Anwendungsprogrammen werden verwendet, die Anwendungen zu verifizieren,
bevor es ihnen gestattet wird, dass sie in einer mobilen Kommunikationsvorrichtung
zur Ausführung
kommen.
-
Das
US-Patent 6,026,293 offenbart
ein System für
das Verhindern eines unbefugten Eingriffs in einen elektronischen
Speicher. Ein Hash-Wert wird auf der Basis von Speicherinhalten
eines Telefons berechnet. Der Hash-Wert wird mit einem authentifizierten
gültigen
Hash-Wert verglichen, und ein Unterschied zeigt einen unbefugten
Eingriff an.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine
Aufgabe der vorliegenden Erfindung besteht somit darin, eine Lösung für ein Problem
in Bezug auf die fehlende Flexibilität des Stands der Technik, wie
er oben angegeben wurde, zu liefern.
-
Die
Aufgabe wird mittels eines Verfahrens für das Ermöglichen einer Integritätsprüfung eines
Softwaremoduls, das in einem mobilen Kommunikationsendgerät verwendet
wird, gemäß Anspruch
1 und einem mobilen Kommunikationsendgerät gemäß Anspruch 5 gelöst.
-
Die
Erfindung liefert ein Verfahren und ein mobiles Kommunikationsendgerät für das Ermöglichen
einer Integritätsprüfung eines
Softwaremoduls, das im Endgerät
verwendet werden soll. Das Endgerät kann in einem mobilen Kommunikationssystem kommunizieren,
und das Softwaremodul ist auf einer Wechselspeichereinheit, die
mit dem Endgerät
verbunden ist, gespeichert. Das Endgerät kommuniziert über das
mobile Kommunikationssystem mit dem Softwareanbieter. Während der
Kommunikation wird ein digital signierter Datenblock, der einen
Referenzwert für
die Verwendung während
der Integritätsprüfung des
Softwaremoduls umfasst, empfangen.
-
Detaillierter
gesagt beginnt das Verfahren mit einem Hash-Schritt, während dem das Softwaremodul
selbst Subjekt in einem Hash-Schritt ist, was zu einem ersten Hash-Wert
führt.
-
Dann
wird eine Übertragung
des ersten Hash-Wertes als auch einer ersten Kennung, die mit der
Speichereinheit beispielsweise in der Form einer Seriennummer der
Einheit oder eines Identifikationskodes des Softwaremoduls verknüpft ist,
ausgeführt. Eine
zweite Kennung, die mit dem Endgerät beispielsweise in Form einer
Seriennummer des Endgeräts
verknüpft
ist, wird auch übertragen.
Die Übertragung
erfolgt über
das mobile Kommunikationssystem zu einem Anbieter des Softwaremoduls.
-
Das
Verfahren setzt sich fort mit dem Schritt des Empfangens eines Datenblocks
vom Softwareanbieter, der eine digitale Signatur und weitere Daten umfasst.
Die weiteren Daten sind mit der Speichereinheit und dem Endgerät verknüpft und
können
beispielsweise in Form der ersten und zweiten Kennung vorliegen.
-
Nach
dem Empfang des Datenblocks wird dieser einem Analyseschritt unterworfen.
Die Analyse umfasst eine Verifikation der digitalen Signatur und
einen Vergleich der weiteren Daten mit den ersten und zweiten Kennungen.
-
Der
empfangene Datenblock, der die Signatur umfasst, wird dann gespeichert,
um somit einen Referenzwert für
eine Verwendung während
der Integritätsprüfung des
Softwaremoduls zu liefern.
-
Mit
anderen Worten, ein Effekt der Erfindung besteht darin, dass wenn
eine Speichereinheit, wie eine MMC-Karte, in die Vorrichtung eingeschoben wird,
sie so "gekennzeichnet" wird, dass die Speichereinheit
nur in Verbindung mit dem Endgerät,
mit dem sie zu Beginn verbunden worden war, verwendbar ist. Nach
dieser Aktion "Kennzeichnung" ermöglicht das einfache
Kopieren aller Software oder Daten, die auf der Karte gespeichert
sind, auf eine andere Speichereinheit es einem anderen Endgerät nicht,
eine vollständige
Verwendung dieser Software vorzunehmen. Das heißt, die einzige Kombination
von Hardware und Software, die zu dem Ergebnis führt, dass die Vorrichtung die
Software akzeptiert, ist die Kombination der nicht geänderten
Version des Softwaremoduls, des ursprünglichen Speichermoduls und
der Vorrichtung, mit der es gekennzeichnet wurde.
-
Ein
Vorteil der Erfindung besteht darin, dass sie flexibler ist als
die Lösungen
zur Integritätsprüfung des
Stands der Technik, wo die Integritätsprüfung die Verwendung von Information
umfasst, die schon in einem geschützten Speicherbereich des Endgeräts gespeichert
ist.
-
Ein
anderer Vorteil der Erfindung ist der, dass sie einen zuverlässigen Kopierschutz
eines Softwaremoduls erlaubt, da ein Benutzerendgerät, in das ein
Softwaremodul zu laden ist, mit einem Anbieter der Software kommuniziert
und im Effekt nach der Erlaubnis für die Verwendung des Moduls
fragt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
schematisch eine Blockansicht eines mobilen Kommunikationssystems,
das eine Ausführungsform
eines mobilen Kommunikationsendgeräts gemäß der vorliegenden Erfindung
einschließt.
-
2 zeigt
ein Flussdiagramm einer Ausführungsform
eines Verfahrens gemäß der vorliegenden Erfindung.
-
3 zeigt
ein Flussdiagramm eines Integritätsprüfverfahrens.
-
BEVORZUGTE AUSFÜHRUNGSFORMEN
-
Unten
erfolgt eine Beschreibung eines Verfahrens für das Ermöglichen einer Integritätsprüfung gemäß der vorliegenden
Erfindung. Die Ausführungsform
ist mittels einer schematischen Ansicht eines Kommunikationssystems 100 in 1 und Flussdiagrammen
in den 2 und 3 dargestellt.
-
Das
Kommunikationssystem 100 umfasst ein mobiles Kommunikationsendgerät 101,
das eine Anzahl von Mitteln für
das Betreiben des Endgeräts im
System 100 einschließt.
Eine Verarbeitungseinheit 105 ist über einen Bus 106 mit
einer Wechselspeichereinheit 103, einer internen Speichereinheit 107,
einer Eingabe/Ausgabe-Einheit 109 und einer Funksendeempfängereinheit 115 verbunden.
Die Eingabe/Ausgabe-Einheit 109 befördert wiederum Information
von einer Tastatur 111 und einer Anzeige 113.
Die Funksendeempfängereinheit 115 kann
eine Funkverbindung mit einer Funkbasisstation 119 über eine
Funkschnittstelle 117 in einem Funkkommunikationsnetz 121 aufbauen.
Information wird zwischen dem Endgerät 101 und einem Server 125 eines
Softwareanbieters, der eine Datenbank 127 aufweist, über ein
Datenkommunikationsnetz 123 ausgetauscht, das mit dem Funkkommunikationsnetz 121 verbunden
ist.
-
Wie
ein Fachmann aus der Beschreibung erkennen wird, ist die Ausführungsform
eine, die auf einer Symbian-Plattform implementiert ist, die bei
einer Anzahl mobiler Kommunikationsendgeräte, wie dem oben beschriebenen
Endgerät 101,
von einer Vielzahl von Herstellern verwendet wird. Darüber hinaus verwendet
die Ausführungsform
des Verfahrens ein abnehmbares Softwaremodul, wie die Wechselspeichereinheit 103 in 1,
in Form einer Multimediakarte (MMC), die einem Fachmann ebenfalls
bekannt ist. Es soll jedoch betont werden, dass die Erfindung nicht
auf eine Implementierung in einem Symbian-System unter Verwendung
einer MMC-Karte beschränkt
ist. Andere Kombinationen von Hardware- und Softwareplattformen
sind möglich,
wie das ein Fachmann erkennen wird.
-
Wenn
man nun die 1 und 2 betrachtet,
so wird, wenn eine entfernbare Speicherkarte 103 in eine
Vorrichtung, die eine Sicherheit einer Symbian-Plattform ermöglicht,
das ist das Endgerät 101, eingeschoben
wird, eine Softwareinstallationsdatei ausgeführt. Die Installationssoftware
kann sich entweder auf der MMC-Karte oder in der Vorrichtung selbst
befinden.
-
In
einem anfänglichen
Hash-Schritt 201 hasht die Installationsfunktion die ausführbaren
Teile, das ist das Softwaremodul, auf der MMC-Karte 103 zusammen
mit der MMC-Seriennummer
der MMC-Karte 103.
-
In
einem Übertragungsschritt 203 sendet
die Installationsdatei den Kennungskode der internationale Mobilstationsausrüstung (International
Mobile Station Equipment Identitiy Code, IMEI) des Endgeräts 101,
die MMC-Seriennummer
der Wechselspeichereinheit 103 und den Hashwert, der sich
aus dem Hashschritt 201 ergibt, über das mobile Kommunikationssystem 100 an
den empfangenden Server 125 beim Softwareanbieter.
-
Dann
prüft in
einem Prüfschritt 205 der
Softwareanbieter, ob es sich wirklich um den wahren Herausgeber
oder Anbieter einer MMC 103 mit dieser MMC-Seriennummer
handelt, die das Softwaremodul enthält, das dem ersten Hash-Wert
entspricht. Mit anderen Worten, es wird sichergestellt, dass der empfangende
erste Hash-Wert zu einem Hash-Wert eines Softwaremoduls passt, das
vom Anbieter geliefert wird. Wenn die Prüfung erfolgreich ist, signiert der
Anbieter die empfangene Information digital und gibt das Ergebnis
in einer Schlüsseldatei
an das Endgerät 101 über das
mobile Kommunikationssystem 100 zurück.
-
In
einem Speicherschritt 207 speichert der Server 125 des
Softwareanbieters die MMC-Seriennummerbeziehung in seiner Datenbank 127.
Dies wird die Wirkung haben, dass der Softwareanbieter nicht irgend
eine andere, das ist eine spätere,
Anforderung für
dieselbe MMC-Seriennummer und dasselbe Softwaremodul signiert, und
somit das Softwaremodul "kennzeichnet", wie das oben diskutiert
wurde.
-
Die
Schlüsseldatei
kommt in einem Empfangsschritt 209 im mobilen Kommunikationsendgerät 101 an
und wird zur Softwareinstallationssoftwarefunktion, die im Endgerät 101 abläuft, gegeben, wobei
diese mit den vollen Privilegien läuft.
-
In
einem Verifikationsschritt 211 wird die Signatur der Schlüsseldatei
verifiziert, und es erfolgt im Prüfschritt 213 eine
Prüfung,
dass der IMEI-Kode zum IMEI-Kode der Vorrichtung passt. Die Softwareinstallationsfunktion
vergleicht auch in einem Vergleichsschritt 215 die MMC- Seriennummer in der empfangenen
Schlüsseldatei
und die MMC-Seriennummer
der aktuell verbundenen MMC-Karte 103.
-
Die
signierte Schlüsseldatei
wird dann in einem Speicherschritt 217 in das MMC-Integeritätsschutzregister
der Symbian-Plattform-Sicherheit, das vorzugsweise im internen Speicher 107 des
Endgeräts 101 verwirklicht
ist, gespeichert.
-
Im
Gegensatz zum Stand der Technik, wo dies erfolgt, wenn die Software
auf der MMC 103 installiert wird, bevölkern nur die Softwaredaten
des Softwareanbieters das Register, als ob die Dateien auf der MMC 103 gespeichert
worden wären.
Da sie aber schon hier präsent
sind, besteht die einzige Aktion, die ausgeführt wird, in der Bevölkerung
des Integritätsregisters.
-
An
diesem Punkt wird eine Integritätsprüfung der
Software ermöglicht.
Somit kann, wenn ein Programm von der MMC 103 gestartet
wird, eine Prüfung
auf Integrität
gemäß beispielsweise
den folgenden Schritten ausgeführt
werden, die unter Bezug auf 3 fortgesetzt
werden.
-
In
einem Hash-Schritt 301 hasht das Plattformsicherheitssystem,
das sind die Symbian-Softwarefunktionen,
das ausführbare
Ziel. Es bemerkt, dass dieser Hash in dieser speziellen Weise eingefügt wurde,
und hasht auch die MMC-Seriennummer der aktuell eingeschobenen MMC-Karte 103 mit
dem ausführbaren
Programm (executable).
-
In
einem Prüfschritt 303 erfolgt
eine Prüfung, ob
der Hash-Wert zum
vorher gespeicherten Hash-Wert in der signierten Schlüsseldatei
passt oder nicht passt. Es erfolgt auch eine Prüfung, ob die MMC-Kennung zur
gespeicherten, signierten Kennung in der Schlüsseldatei passt. Wenn die Werte passen,
wird es dem ausführbaren
Kode ermöglicht, auf
dem Endgerät 101 zu
laufen, wie das durch den Ausführungsschritt 305 gezeigt
ist.
-
Die
Erfindung, wie sie oben beschrieben ist, liefert einen einfachen
und effektiven Weg für
das Ermöglichen
einer Integritätsprüfung eines
Softwaremoduls. Wenn beispielsweise das Softwaremodul, das in der
Wechselspeichereinheit 103, beispielsweise einer MMC, gespeichert
ist, auf eine andere MMC kopiert worden ist, und wenn diese andere
MMC in ein Endgerät 101 eingeschoben
wird, das mit der ursprünglichen
MMC gekennzeichnet worden ist, so ist ihre eindeutige MMC-Seriennummer nicht
dieselbe. Die Hash-Verifikation misslingt, und dem Softwaremodul
wird ein Ablaufen nicht ermöglicht.
-
Auch
wenn die MMC mit einem zweiten Endgerät (nicht gezeigt) verbunden
worden ist, nachdem sie "gekennzeichnet" wurde, als sie anfänglich mit
einem ersten Endgerät 101 verbunden
wurde, wird der Softwareanbieter die Anforderung nach einer signierten
Schlüsseldatei
nicht signieren.
-
Auch
wenn die MMC kopiert wird, bevor sie "gekennzeichnet" wird, ist die MMC-Seriennummer auf
der Karte, auf die sie kopiert wurde (nicht gezeigt), nicht in der
Serverdatenbank 127 der verkauften Karten des Softwareanbieters,
so dass der Softwareanbieter die MMC-Seriennummer nicht annimmt.
-
Auch
wenn ein "Softwarepirat" eine Vielzahl von
Karten herstellt (nicht gezeigt) mit ein und derselben MMS-Seriennummer, wird
nur die erste "Kennzeichnungsanforderung" durch den Softwareanbieter angenommen.
-
Schließlich kann
die signierte Antwort vom Softwareanbieter (die Kennzeichnungsnachricht,
das ist die Schlüsseldatei)
nicht gefälscht
werden, da sie die IMEI des adressierten mobilen Endgeräts enthält und vom
Softwareanbieter signiert ist.