Beschreibung
Verfahren und Vorrichtung für eingebettete Systeme, insbesondere rekonfigurierbare Mobilfunkendgeräte, mit ladbaren Softwaremodulen
Die Erfindung betrifft ein Verfahren und eine Vorrichtung für eingebettete Systeme (embedded Systems) mit ladbaren Softwaremodulen, insbesondere rekonfigurierbare Mobilfunkendgeräte, aber auch so genannte Appliances wie z.B. MP3-Player, automatische Steuergeräte etc. Bei Mobilfunkendgeräten betreffen diese ladbaren Softwaremodule in erster Linie die Implementierung programmierbarer Transceiver, die Implementierung von Betriebssoftware bzw. die Modifikation weiterer Teile der Funktionalität dieser Mobilfunkendgeräte aber auch die Implementierung von Anwendungssoftware, sofern diese Auswirkungen auf die Funktionsfähigkeit des jeweiligen Netzes hat.
Mobilfunkendgeräte mit durch Software programmierbaren Transceivern, also so genannte „Software Defined Radio" (SDR) Terminals, erlauben eine wesentliche Veränderung der für den Betrieb von Mobilfunknetzen relevanten Eigenschaften dieser Terminals. Die Programmierbarkeit der Transceiver und der zugehörigen Funktionen hat Einfluss auf Eigenschaften des Terminals, die den Auflagen der Regulierungsbehörden unterliegen und ist von Bedeutung für das Netzwerkmanagement von Betreibern der Mobilfunknetze. Die durch rekonfigurierbare Transceiver erreichte Flexibilisierung erlaubt derart weitgehende Änderungen, dass das ordnungsgemäße Funktionieren des Gerätes nach Softwareänderungen nicht mehr allein durch die Bauart des Gerätes sicherzustellen ist. Insbesondere ist die Einhaltung der Auflagen von Regulierungsbehörden und Funkstandards betroffen, was für die Betriebserlaubnis der Terminals von entscheidender Bedeutung ist. Solche rekonfigurierbaren
Terminals sollen jedoch die Modifikation weiter Teile ihrer Funktionalität erlauben, damit der Benutzer den wesentlichen Vorteil der SDR-Technologie, nämlich die Flexibilität, in vollem Umfang nutzen kann.
Selbst innerhalb der zulässigen Rahmenbedingungen, wie z.B. Auflagen der Regulierungsbehörde, können auf rekonfigurierbaren Terminals Verhaltensweisen programmiert werden, die den Interessen des Netzbetreibers oder des Service Providers zuwiderlaufen. So könnten beispielsweise beim Moduswechsel Entscheidungsalgorithmen verwendet werden, die mit einer geordneten Netzwerkverwaltung nicht verträglich sind. Werden bei solchen Algorithmen die Interessen des Netzwerkbetreibers nicht oder unzureichend berücksichtigt, ist ein effizientes Management von Radio Ressourcen nicht mehr möglich.
Ein weiterer Aspekt beim Umgang mit Software Modulen, die auf dem Terminal verwendet werden sollen, besteht darin, dass in Verbindung mit dem Terminaltyp eigentlich zugelassene und sinnvolle Software-Module unter gewissen Umständen dennoch nicht aktiviert werden können, da entweder das Verhalten der Software den Anforderungen eines Netzbetreibers oder Service Providers nicht entspricht oder gar zuwiderläuft oder aber seit dem Download der Software das Terminal verändert wurde, z.B. durch Installation einer neuen Firmware-Version, und dadurch nicht mehr kompatibel mit dem fraglichen Softwaremodul ist.
Für Applikationssoftware spielen diese Aspekte nur eine untergeordnete Rolle, diese hat im Regelfall wenig Einfluss auf die Funktionsfähigkeit des Netzwerkes. Für Betriebssoftware des Terminals, z.B. Protokoll-Stacks, Entscheidungsalgorithmen für Mode-Switching oder Firmware Updates sind diese Fragen jedoch von vorrangiger Bedeutung.
Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin ein Verfahren und eine Vorrichtung für eingebettete Systeme, insbesondere rekonfigurierbare Mobilfunkendgeräte, mit ladbaren Softwaremodulen derart anzugeben, dass eine Aktivierung von kritischen Softwaremodulen nur dann möglich ist, wenn alle Parteien, die von der Funktionalität des Moduls betroffen sind, also z.B. Netzwerkbetreiber und Gerätehersteller, zugestimmt haben und dass diese Zustimmung möglichst ohne langwierige Prozesse und manuelle Eingriffe erfolgt.
Diese Aufgabe wird hinsichtlich des Verfahrens durch die Merkmale des Anspruchs 1 und hinsichtlich der Vorrichtung durch die Merkmale des Anspruchs 7 erfindungsgemäß gelöst. Die weiteren Merkmale betreffen vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens.
Die Erfindung besteht im Wesentlichen in einem Verfahren bzw. einer Vorrichtung für eingebettete Systeme, insbesondere rekonfigurierbare Mobilfunkendgeräte, mit ladbaren
Softwaremodulen, bei dem/der mit Hilfe eines Systemladers, einer Schnittstellenzuordnungs-Datenbasis und
Autorisierungsmodulen, die stellvertretend für die relevanten Parteien (Gerätehersteller, Mobilfunkbetreiber oder Dienstanbieter) vorhanden sind, betroffene
Autorisierungsmodule ermittelt werden, die dann jeweils eine Signatur des neu zu aktivierenden Softwaremoduls anhand von im jeweiligen Autorisierungsmodul festgelegter Erlaubniskriterien eine jeweilige Aktivierungserlaubnis prüfen und bei dem/der der Systemlader dem neu zu aktivierenden Softwaremodul Schnittstelleninformationen zur Verfügung stellt und es aktiviert, sofern von allen betroffenen Autorisierungsmodulen gemeinsam eine Aktivierungserlaubnis besteht. Vorteilhaft ist hierbei bspw., dass eine Aktivierung anhand der aktuellen Endgeräte¬ konfiguration erfolgt, für die Überprüfung keine dritte Instanz erforderlich ist und die relevanten Parteien in dem
Softwaremodul selbst nicht festgelegt zu sein brauchen. Bei der Entscheidung über die Aktivierung können auch Kriterien in Abhängigkeit von verschiedenen Netzwerken Verwendung finden, wodurch auch die Anforderungen von Netzwerkbetreibern, die nicht direkte Vertragspartner der Kunden sind, mitberücksichtigt werden können.
Die Erfindung wird nachfolgend anhand eines in der Zeichnung dargestellten Ausführungsbeispiels in Form eines Mobilfunkendgeräts näher erläutert.
In der Zeichnung ist ein rekonfigurierbares Mobilfunkendgerät mit Softwaremodulen MA..MC sowie einem neu zu aktivierenden Softwaremodule MD dargestellt, wobei zwischen den Modulen MA und MC eine Schnittstelle Sl, den Modulen MB und MC eine Schnittstelle S2 und den Modulen MD und MC eine neue Schnittstelle S3 besteht.
Dieses rekonfigurierbare Mobilfunkendgerät weist zusätzlich eine Vorrichtung mit einem so genannten Systemlader SL, eine Schnittstellenzuordnungs-Datenbasis (Interface Mapping Database) DB und so genannte Autorisierungs-Module AMl..AM3 auf.
Dieser sog. Systemlader SL kontrolliert die Aktivierung von Anwendungen/Softwaremodulen und lässt die Prüfung, ob ein bestimmtes Softwaremodul aktiviert werden darf, durch die Autorisierungs-Module AMl..AM3 ausführen.
Ein wesentliches Kriterium für diese Prüfung sind die von einem neu zu aktivierenden Softwaremodul benutzen Schnittstellen S3, z. B. Interfaces zu Bibliotheken und Komponenten.
Ein weiteres Kriterium für diese Prüfung können aber auch noch Parameter liefern, die die Funktionalität eines neu zu aktivierenden Softwaremoduls selbst betreffen.
Für jede Schnittstelle S1...S3 ist definiert, welche Autorisierungsmodule zustimmen müssen. Der Systemlader kann aus der Liste der benutzten Schnittstellen bestimmen, welche Autorisierungsmodule zu befragen sind. Dazu existiert die Schnittstellenzuordnungs-Datenbasis DB, die für jede Schnittstelle die Information enthält, welche Autorisierungsmodule AMl, ...,AM3 zustimmen müssen.
Die Autorisierungsmodule können mehrfach ausgeführt sein und jeweils stellvertretend für bestimmte Parteien, z.B. für Gerätehersteller, Mobilfunkbetreiber, Dienstanbieter, handeln, was hier durch die drei Autorisierungsmodule AMl, ..,AM3 beispielhaft angedeutet ist.
Je nach Höhe der Sicherheitsanforderungen an das System kann ein solches Autorisierungsmodul durch ein Hardware-Modul oder durch ein Software-Modul ausgeführt werden.
Zur Kontrolle der Autorisierung übermittelt der Systemlader SL die Schnittstellenbeschreibung bzw. die Signatur des zu ladenden Softwaremoduls MD an ein jeweiliges Autorisierungsmodul. Dieses antwortet mit der Auswahl der Schnittstellen, die der Systemlader dem jeweiligen Softwaremodul zur Verfügung stellen soll. Damit wird eine individuelle, für jedes Software-Modul eigens definierte Auswahl von Zugängen zu Betriebssystemfunktionen und anderen Modulen geschaffen. Somit kann ein Modul nur auf Schnittstellen zugreifen, wenn die davon betroffenen Parteien durch die zugehörigen Autorisierungsmodule zugestimmt haben.
Wird das Autorisierungsmodul als Hardware-Komponente ausgeführt, so kann es sich dabei etwa um eine für den für den Home-Netzwerkbetreiber stellvertretend agierende SIM- Karte oder eine im Namen des Terminalherstellers stellvertretend agierende SIM-Karten-analoge Hardware- Komponente (Equipment Identity Module) handeln.
Andere Parteien wie etwa Dienstanbieter oder aber auch fremde Netzwerkbetreiber könnten in Software ausgeführte Autorisierungsmodule liefern, die bei Bedarf auf dem Terminal installiert und nach entsprechender Autorisierung durch den Systemlader aktiviert werden.
Aufgabe des prüfenden Autorisierungsmoduls ist es, auf Anfrage des Systemladers SL die Konsistenz vollständiger Software-Konfigurationen bzw. von Software-Konfigurationen und Hardware-Konfigurationen mit den Anforderungen der Partei, deren Interessen sie vertreten, zu prüfen und das Resultat dieser Prüfung dem Systemlader SL mitzuteilen. Zwischen dem Systemlader und den prüfenden Hardware- Komponenten bzw. Softwaremodulen muss eine
Vertrauensbeziehung bestehen (Trust-Relationship) , die durch den sicheren Austausch von Authentifizierungsmerkmalen hergestellt wird.
Die Autorisierungs-Komponenten können die zur Prüfung benötigte Informationen entweder aus ihrer eigenen Datenbank DB auf dem Gerät oder über das Mobilfunknetzwerk von einem Datenbank-Server beziehen, um immer auf dem aktuellen Stand zu sein. Sinnvollerweise werden dabei häufig benötigte Daten, beispielsweise Daten für oft gebrauchte Software Module, auf dem Gerät vorgehalten, um die Prüfungszeit gering zu halten. Daten für nur selten gebrauchte Module können bei Bedarf über das Mobilfunknetzwerk bezogen werden. Zudem können über das Mobilfunknetzwerk die Daten auf dem Gerät auf den neuesten Stand gebracht werden.
Eine weitere Funktion des Datenupdates über eine Funkschnittstelle ist folgende: Beim Einbuchen in ein neues Netzwerk werden netzwerkspezifische Autorisierungsanforderungen dem zuständigen Modul übermittelt, dass auf diese Weise die
besonderen Regeln des genutzten Netzwerks berücksichtigen kann.
Die Autorisierungsmodule sind außerdem in der Lage, die so erhaltenen Informationen intern zu speichern, um den
Kommunikationsaufwand zu reduzieren. Solche Daten können mit einer zeitlich limitierten Gültigkeit versehen sein und im Bedarfsfall durch Benachrichtigungen vorzeitig als ungültig erklärt werden. Damit können neue Erkenntnisse, etwa die Entdeckung gravierende Fehler in einem Software Modul, berücksichtigt werden. Wird die Autorisierung aufgrund solcher Gründe verweigert, ist eine entsprechende Fehlermeldung an den Benutzer vorzusehen, die auf Alternativen (neuere Version, Update etc.) hinweist.
Der Ablauf des erfindungsgemäßen Verfahrens ist typischerweise wie folgt:
Der Systemlader SL ermittelt, welche Schnittstellen S3 von dem zu aktivierenden Softwaremodul MD angesprochen werden sollen. Dies kann beispielsweise mit Hilfe einer Link-Liste geschehen. Anhand der Information in der
Schnittstellenzuordnungs-Datenbasis DB werden die betroffenen Autorisierungsmodule, hier z.B. die Autorisierungsmodule AMl und AM2 aus der Gesamtheit der vorhandenen
Authorisierungsmodule AMl .. AM3, bestimmt. Die so ausgewählten Autorisierungsmodule erhalten anschließend eine Schnittstellenbeschreibung bzw. eine Signatur des zu aktivierenden Moduls MD und treffen anhand der ihnen vorliegenden Kriterien eine Entscheidung, ob das Modul aktiviert werden darf. Nur wenn alle betroffenen Autorisierungsmodule, hier z. B. die Autorisierungsmodule AMl und AM2, zustimmen, stellt der Systemlader SL dem zu aktivierenden Softwaremodul MD die Information über die Schnittstellen S3 zur Verfügung und aktiviert es, in allen anderen Fällen wird die Aktivierung verweigert.
Die Autorisierungsmodule können dabei verschiedene Kriterien in Betracht ziehen, um über die Zulässigkeit der Aktivierung zu entscheiden.
Zuerst wird die Identität des Softwaremoduls geprüft, indem die Signatur verifiziert wird. Ist die Identität verifiziert, kann das Autorisierungsmodul prüfen, ob die Verwendung des Softwaremoduls von dem Beteiligten für den es handelt, genehmigt worden ist.
Zusätzlich können noch weitere Autorisierungsregeln bestimmen, ob die Aktivierung durchgeführt werden soll. Mögliche Kriterien sind: Gerätetyp, Version anderer Softwaremodule, die benutzt werden, Ausschlusslisten, d.h. keine Aktivierung bei gleichzeitigen Anwesenheit bestimmter anderer Softwaremodule.
Vorteile
1. Die Konsistenz einer Konfiguration wird immer bei Aktivierung eines Moduls anhand der aktuellen Konfiguration des Terminals überprüft. Verfahren, die die Identität eines Softwaremoduls lediglich beim Software Download überprüfen, können eine derartige Aktualität nicht bieten.
2. Beteiligte wie Netzbetreiber und Terminalhersteller können durch ihre Stellvertreter in Form der Autorisierungsmodule am Verifikationsprozess teilnehmen und müssen diese Aufgabe nicht an eine dritte Instanz delegieren. Damit ist sichergestellt, dass die Entscheidungen von einer Instanz getroffen werden, die das Vertrauen des betroffenen Beteiligten besitzt und deren Entscheidungen der Beteiligte selbst bestimmen kann. Die aufwendige Realisierung von Systemen, die die Interessen mehrerer Beteiligter konsolidieren, kann damit vermieden werden. Die Aufgabe, die Zustimmung der
Beteiligten zu erreichen, wird auf den Hersteller des Software Moduls verlagert, der die entsprechenden Voraussetzungen schaffen muss.
3. Die mit der Verifikation betrauten Autorisierungs-Module können Informationen, die sie für die Prüfung benötigen, entweder in ihrem lokalen Speicher halten oder aber bei Bedarf aus einer Datenbank im Netzwerk laden. Auf diese Weise ist sichergestellt, dass ein Optimum zwischen Aktualität der Informationen und der Effizienz des PrüfVorganges gefunden werden kann.
4. Die Autorisierungs-Module können sowohl als Hardware- Komponenten (sicherere Variante) als auch als Software- Komponenten (flexiblere Variante) ausgeführt sein.
5. Auch autorisierte Module erhalten nur Zugriff auf die für sie freigegebenen Schnittstellen. Damit ist sichergestellt, dass alle relevanten Autorisierungs- Module stellvertretend für die jeweiligen Parteien befragt werden, ohne dass die Liste relevanter Parteien in dem Softwaremodul selbst festgelegt sein muss.
6. Bei der Entscheidung über die Aktivierung eines Moduls können unterschiedlichste Kriterien, etwa in
Abhängigkeit von verschiedenen Netzwerken, Verwendung finden. Auf diese Weise können ebenfalls auch die Anforderungen von Netzwerkbetreibern, die nicht direkte Vertragspartner der Kunden sind (etwa im Visited Network) mit berücksichtigt werden.