Die vorliegende Erfindung betrifft eine Vorrichtung, welche für die Aktualisierung der Konfiguration von mobilen Endgeräten verwendet werden kann.
Unter "mobile Endgeräte" werden nachfolgend insbesondere tragbare Datenspeicher, d.h. sog. Chipkarten, mobile Telekommunikationsgeräte, Personal Digital Assistants (PDAs), mobile Computer und dergleichen verstanden.
Aus dem Stand der Technik sind verschiedene Arten und Einsatzgebiete für Chipkarten bekannt. Einen Überblick hierüber gibt das "Handbuch der Chipkarten", Wolfgang Rankl, Wolfgang Effing, Hansa Verlag 1999. Beispielsweise unterscheidet man bei Chipkarten zwischen Speicherkarten, Mikroprozessorkarten und kontaktlosen Chipkarten.
Bekannte Einsatzgebiete für Chipkarten beinhalten Anwendungen zur Authentifizierung, Zugangskontrolle, Verschlüsselung, digitalen Signatur, Bezahlung, Elektronic-Ticketing, Pay-TV, sowie als Krankenversicherungskarte und elektronische Wegfahrsperre. Von besonderer Bedeutung ist der Einsatz von Chipkarten auf dem Gebiet der Mobiltelefonie. Chipkarten kommen insbesondere nach dem GSM-Mobilfunkstandard als so genannte SIM (Subscriber Identity Module) zum Einsatz. Auch bei der Variante GSM-R des GSM-Standards werden solche SIM-Chipkarten verwendet.
Chipkarten haben üblicherweise einen Datenspeicher mit oder ohne Dateisystem. Im Allgemeinen ist der Datenspeicher in Datenfelder aufgeteilt. Eine SIM hat ein hierarchisch aufgebautes Dateisystem mit einer so genannten Master-File (MF). Die MF ist das Wurzelverzeichnis des Dateibaums. Ferner hat das Dateisystem zwei Dedicated-Files (DF), in denen sich die als Elementary-Files (EF) bezeichneten Datenfelder der Chipkarte befinden. Die möglichen Dateistrukturen für die EFs sind transparent, linear fix und zyklisch. Die GSM-11.11-Spezifikation definiert 48 verschiedene EFs für die Anwendungsdaten, die in den beiden DFs zusammengefasst sind.
Entsprechende Chipkarten kommen auch nach dem UMTS-Standard in der Form von USIMs (Universal Subscriber Identity Module) zum Einsatz. Bei mobilen Endgeräten einer so genannten "trusted Computing platform" ist der Datenspeicher mit dem Endgerät fest verbunden. Der Datenspeicher ist dazu beispielsweise in einem IC ausgebildet, der zur Hardware-Identifizierung des Endgeräts dient.
Aus dem Stand der Technik sind verschiedene Vorrichtungen und Verfahren zur Speicherung von Daten und zum Datenaustausch mit einer SIM bekannt:
Aus der WO 00/48 416 ist ein Verfahren zur Verwendung von auf einer SIM gespeicherten Applikation bekannt. Dabei werden die für eine Verschlüsselung und/oder Entschlüsselung und/oder digitale Signierung erforderlichen Schlüssel in einem geschützten Bereich der SIM gespeichert.
Aus der EP 0 899 979 A2 ist ein Verfahren zum Ändern eines einem Teilnehmer zugeordneten Diensteprofils bekannt. Nach diesem Verfahren kann der Teilnehmer selbst auf einen löschbaren Datenspeicher der SIM zugreifen, um sein Diensteprofil zu ändern oder ausgeben zu lassen.
Aus der DE 19 810 926 ist eine Vorrichtung zum Verwalten von Daten für den Betrieb eines Kommunikationsnetzes mit einer Vielzahl von Endgeräten bekannt, die jeweils eine SIM aufweisen. Durch die Vorrichtung ist jederzeit die Anzahl von für eine Applikation auf der Chipkarte vorgesehenen freien Speicherfeldern für den jeweiligen Chipkartentyp ermittelbar. Auf einer Applikations-Datenbank gespeicherte Applikationen sind als Kurzmeldung auf die Chipkarte übertragbar, um dort in einem freien Speicherfeld abgespeichert zu werden.
Demgegenüber liegt der Erfindung die Aufgabe zu Grunde, eine verbesserte Vorrichtung zur Aktualisierung des Datenspeichers einer Chipkarte zu schaffen.
Die der Erfindung zu Grunde liegende Aufgabe wird mit den Merkmalen des unabhängigen Patent-anspruchs gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
Die erfindungsgemässe Vorrichtung dient zur Aktualisierung der Konfiguration von mobilen Endgeräten. Insbesondere kann eine Ausführungsform der Vorrichtung zur Speicherung von Ist-Profilen des Datenspeichers von einer oder mehreren Chipkarten dienen. Ferner dient die Vorrichtung zur Speicherung eines Soll-Profils des oder der Datenspeicher. Zur Aktualisierung eines Daten- Speichers wird zunächst ein Differenz-Profil ermittelt. Das Differenz-Profil beinhaltet solche Daten, hinsichtlich derer sich das Soll-Profil von dem Ist-Profil der betreffenden Chipkarte unterscheidet. Bei einem Profil kann es sich dabei eine Konfiguration des Datenspeichers hinsichtlich dessen Speicherstruktur und/oder Speicherbelegung handeln. Ein Profil kann dabei technische Konfigurationsdaten und/oder logische Konfigurationsdaten beinhalten.
Unter logischen Konfigurationsdaten werden dabei insbesondere solche Konfigurationsdaten verstanden, die für die Konfiguration einer Anwendung verwendet werden.
Zur Aktualisierung des Datenspeichers der Chipkarte wird nur das Differenz-Profil zu der Chipkarte übertragen. Dadurch lässt sich das für die Aktualisierung des Datenspeichers erforderliche zu übertragende Datenvolumen und damit die für die Aktualisierung erforderliche Zeit drastisch reduzieren. Dies ist insbesondere für sicherheits- und/oder zeitkritische Anwendungen wie zum Beispiel für GSM-R-Anwendungen besonders vorteilhaft. Dabei muss die Ermittlung des Differenzprofils nicht für jede Chipkarte einzeln erfolgen, sondern einmal für alle Chipkarten, die von einem Ist-Profil auf ein neues Soll-Profil umkonfiguriert werden.
Nach einer bevorzugten Ausführungsform der Erfindung dient die Vorrichtung für eine Vielzahl von registrierten Chipkarten. Die Ist-Profile der Chipkarten werden in einer Datenbank der Vorrichtung gespeichert. Dabei dienen die Kennungen der Chipkarten als Datenbankschlüssel für den Zugriff auf die Ist-Profile. Bei einer Anwendung für GSM bzw. GSM-R wird vorteilhafter Weise die IMSI (International Mobil Subscriber Identity), ICCID (Integrated Chip Card ID) oder die MSISDN (Mobil Subscriber ISDN, das heisst die Telefonnummer eines Mobilfunkteilnehmers) verwendet.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung hat die Vorrichtung eine weitere Datenbank zur Speicherung verschiedener Soll-Profile. Vorzugsweise hat jedes der Soll-Profile einen Namen, der als Zugriffsschlüssel für den Datenbankzugriff auf ein gespeichertes Soll-Profil verwendet wird. Alternativ werden alle definierten Profile in einer einzigen Datenbank gespeichert.
Über eine Nutzerschnittstelle kann ein Benutzer verschiedene Soll-Profile eingeben und in der Datenbank speichern. Ferner kann ein Nutzer über die Nutzerschnittstelle ein in der Datenbank gespeichertes Soll-Profil auswählen und einer oder mehrerer der registrierten Chipkarten zuordnen. Die eine oder mehreren der von dem Nutzer ausgewählten Chipkarten wird bzw. werden dann entsprechend dem ausgewählten Soll-Profil aktualisiert.
Dies ist besonders für die einheitliche Konfiguration der Chipkarten einer Teilnehmergruppe vorteilhaft. Insbesondere im GSM-R werden solche Teilnehmergruppen für Gruppenruffunktionen wie zum Beispiel Voice-Group-Call oder Voice-Broadcast definiert. Die Chipkarten dieser Teilnehmergruppen können durch Auswahl eines der Soll-Profile aus der Datenbank und der Zuordnung des ausgewählten Soll-Profils zu den Chipkartenkennungen der betreffenden Teilnehmergruppe einheitlich aktualisiert und konfiguriert werden. Das so genannte SIM Profile Management kann damit besonders effizient durchgeführt werden.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung beinhalten die Ist-Profile jeweils ein Abbild der Konfiguration des Datenspeichers der jeweils zugeordneten Chipkarte. Entsprechende Konfigurationsdaten beinhalten die Soll-Profile. Vorzugsweise beinhalten die Ist- und Soll-Profile jeweils eine Wiedergabe der aktuellen bzw. auswählbaren Datenstruktur und der Speicherinhalte eines Datenspeichers einer oder mehrerer der Chipkarten.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung ist die Vorrichtung zur Übertragung der Differenz-Profile zu den Chipkarten über ein Telekommunikationsnetz, insbesondere ein digitales Mobiltelefonnetz, ausgebildet. Alternativ oder zusätzlich ist die Vorrichtung zur Übertragung der Differenzprofile über ein Chipkartenlesegerät ausgebildet.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung ist der Datenspeicher der Chipkarte in Datenfelder unterteilt. Durch die Datenfelder wird ein Adressraum aufgespannt. Das Differenzprofil zur Aktualisierung des Datenspeichers einer der Chipkarten beinhaltet Aktualisierungsdaten für eines oder mehrere dieser Datenfelder. Zusätzlich beinhaltet das Differenz-Profil jeweils eine Angabe einer Referenz-adresse für die Aktualisierungsdaten in dem betreffenden Datenfeld. Von der jeweiligen Referenzadresse ab wird das betreffende Datenfeld mit seinen Aktualisierungsdaten überschrieben.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung hat die Vorrichtung eine Teilnehmerdatenbank zur Speicherung der Kennungen von registrierten Chipkarten. Vorzugsweise wird als Datenbankschlüssel derselbe Primärschlüssel verwendet wie zu der Abspeicherung der Ist-Profile. Die Teilnehmerdatenbank kann für jeden der Teilnehmer eine Angabe hinsichtlich der Zuordnung des betreffenden Teilnehmers zu einer Teilnehmergruppe, dessen Funktion, Standort, Name etc. aufweisen.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung hat die Vorrichtung eine Verlaufs-Datenbank zur Speicherung des zeitlichen Verlaufs der verschiedenen einer Chipkarte zugeordneten Ist-Profile. Dies ist insbesondere zur Erfüllung gesetzlicher Nachweispflichten für Anwendungen im Bereich GSM-R vorteilhaft.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung ist die Vorrichtung zum Empfang einer Bestätigung von der Chipkarte ausgebildet, wonach die Aktualisierung des Datenspeichers der Chipkarte gemäss dem von der Chipkarte empfangenen Differenz-Profil ausgeführt worden ist. Nach Empfang der Bestätigung wird das der betreffenden Chipkarte zugeordnete Ist-Profil in der Datenbank durch das Soll-Profil, welches die Grundlage für die Erstellung des Differenz-Profils gebildet hat, überschrieben. Dieser Vorgang kann in der Verlaufs-Datenbank abgebildet werden.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung ist die Vorrichtung zur Generierung einer Kurzmeldung für jede von einer Aktualisierung betroffene Chipkarte ausgebildet. Vorzugsweise handelt es sich bei einer solchen Kurzmeldung um eine OTA (Over The Air) Kurzmeldung, beispielsweise eine so genannte binäre SMS (Short Message Services).
Jede der Kurzmeldungen beinhaltet eine Kennung einer von der Aktualisierung betroffenen Chipkarte und das betreffende Referenz-Profil. Die Kurzmeldungen werden in einer Übertragungsvorrichtung gepuffert. Aus dem Pufferspeicher der Übertragungsvorrichtung heraus werden die Kurzmeldungen drahtlos oder drahtgebunden an die adressierten Chipkarten übertragen. Die Übertragungsvorrichtung empfängt vorzugsweise die Bestätigungen der Chipkarten und leitet diese weiter, sodass die bisherigen Ist-Profile durch das Soll-Profil, welches die Grundlage für die Erstellung des Differenz-Profils gebildet hat, überschrieben werden.
Besonders vorteilhaft ist die vorliegende Erfindung für sicherheitskritische Anwendungen, wie zum Beispiel von Notrufen in einem GSM-R-System. Durch die Reduktion des Datenvolumens für die Aktualisierung des Datenspeichers einer Chipkarte reduziert sich die für das Einlesen einer neuen Konfiguration erforderliche Zeit nach dem so genannten OTA- Download. Insbesondere ermöglicht dies den Einsatz einer OTA-Plattform in Netzen mit sicherheitsrelevanten Funktionen, wie zum Beispiel GSM-R und GSM-BOS.
Diese Netze haben Gruppenruffunktionen, die eine Konfiguration auf Systemseite und auf der Chipkartenseite erfordern. Die Änderung der Konfigurationen kann in bestimmten Anwendungsfällen eine hohe Frequenz haben, zum Beispiel für DGC (Dynamic Group Call) in Zügen in GSM-R-System. Die vorliegende Erfindung ermöglicht es, die Downloadzeiten und die Aktualisierungszeiten für neue Konfigurationen der Chipkarten zu minimieren, wodurch eine Erweiterung der möglichen Anwendungen von GSM-R und GSM-BOS gegeben ist.
Von besonderem Vorteil ist dabei insbesondere die Minimierung der Signalisierungslast bei der Übertragung der Aktualisierungsdaten, da sowohl die Anzahl als auch die Nachrichtengrösse der für eine Aktualisierung erforderlichen Kurzmeldungen durch die Erfindung minimiert werden kann. Von weiterem Vorteil ist, dass das Karten-Konfigurationsmanagement über eine entsprechende Nutzerschnittstelle effizient und nutzerfreundlich durchgeführt werden kann.
Von weiterem besonderen Vorteil ist die Möglichkeit, dass die Chipkarten die Durchführung einer Aktualisierung gegenüber der Vorrichtung bestätigen. Erst nachdem eine solche Bestätigung erfolgt ist, wird das Ist-Profil mit dem zuvor ausgewählten Soll-Profil überschrieben. Damit ist insbesondere für sicherheitskritische Anwendungen die erforderliche Sicherheit gegeben, dass die seitens der Vorrichtung registrierten Ist-Profile mit den tatsächlichen Konfigurationen der Chipkarten übereinstimmen.
Im Weiteren werden bevorzugte Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen: Fig. 1 ein Blockdiagramm einer ersten Ausführungsform einer erfindungsgemässen Vorrichtung, Fig. 2 ein Diagramm zur Darstellung einer Ermittlung eines Differenz-Profils aus einem Ist- und einem Soll-Profil, Fig. 3 ein Flussdiagramm zur Aktualisierung der Konfiguration einer Chipkarte, Fig. 4 ein Blockdiagramm einer weiteren Ausführungsform der erfindungsgemässen Vorrichtung und der erfindungsgemässen Übertragungsvorrichtung, Fig. 5 eine alternative Ausführungsform der Fig. 4, wobei alle Profile in einer Datenbank gespeichert werden, Fig. 6 ein Objekt-Beziehungsdiagramm zur Darstellung einer Arbeitsweise des in der Fig. 4 gezeigten Systems.
Die Fig. 1 zeigt ein elektronisches Gerät 100 zur Verwaltung und Aktualisierung der Konfiguration eines Datenspeichers 102 einer Chipkarte 104. Das elektronische Gerät ist insbesondere für das sog. SIM Profilemanagement geeignet.
Der Datenspeicher 102 der Chipkarte 104 ist in Datenfelder A, B, C, ..., X, Y, Z unterteilt. Beispielsweise handelt es sich bei der Chipkarte 104 um eine so genannte SIM, wobei es sich in diesem Fall bei den Datenfeldern um EFs handelt.
Das Gerät 100 hat eine Nutzerschnittstelle 106, einen Speicher 108, einen Prozessor 110 und eine Chipkarten-Kommunikationsschnittstelle 112. Der Speicher 108 dient zur Speicherung von zumindest einem Ist-Profil 114 und einem Soll-Profil 116. Das Ist-Profil 114 beinhaltet eine Angabe der aktuellen Konfiguration des Datenspeichers 102 hinsichtlich dessen Speicherstruktur und/oder hinsichtlich der in den Datenfeldern des Datenspeichers 102 gespeicherten Daten. Das Soll-Profil 116 beinhaltet dagegen eine Angabe einer möglicherweise gewünschten Konfiguration des Datenspeichers 102 der Chipkarte 104, und zwar ebenso hinsichtlich der Struktur und/oder der zu speichernden Daten.
Der Prozessor 110 dient zur Ausführung einer Programmkomponente 118. Die Programmkomponente 118 dient zur Steuerung der Gesamtfunktion des Geräts 100. Ferner dient der Prozessor 110 zur Ausführung einer Programmkomponente 120, welche zur Bildung eines Differenz-Profils zwischen einem Ist-Profil 114 und einem Soll-Profil 116 dient.
Über die Nutzer-Schnittstelle 106 kann ein Nutzer das Soll-Profil 116 eingeben, ein in dem Speicher 108 gespeichertes Ist-Profil 114 oder Soll-Profil 116 abrufen und sich beispielsweise auf einem Bildschirm anzeigen lassen. Ferner kann ein Nutzer das Soll-Profil 116 auswählen, um die Chipkarte 104 entsprechend zu aktualisieren.
Dadurch wird die Programmkomponente 120 gestartet, welche aus dem Ist-Profil 114 und dem Soll-Profil 116 ein Differenz-Profil ermittelt, das über die Chipkarten-Kommunikations-Schnittstelle 112 über einen Nachrichtenkanal zu der Chipkarte 104 drahtgebunden oder drahtlos übertragen wird. Der Datenspeicher 102 der Chipkarte 104 wird daraufhin entsprechend aktualisiert. Vorzugsweise erhält das elektronische Gerät 100, nachdem die Aktualisierung des Datenspeichers 102 durchgeführt worden ist, eine entsprechende Bestätigung. Daraufhin wird das Ist-Profil 114 durch das Soll-Profil 116 in dem Speicher 108 überschrieben.
Die Fig. 2 veranschaulicht an einem Beispiel die Generierung des Differenz-Profils 122 aus dem Ist-Profil 114 und dem Soll-Profil 116 (vgl. Fig. 1). Durch die Datenfelder A, B, C, ... des Datenspeichers 102 wird ein Adressraum aufgespannt. Das Ist-Profil 114 beinhaltet eine Wiedergabe der in den Datenfeldern A, B, C, ... jeweils gespeicherten Daten.
Entsprechend beinhaltet das Soll-Profil 116 eine Angabe der in den Datenfeldern A, B, C, ... zu speichernden Daten. Durch die Programmkomponente 120 (vgl. Fig. 1) wird das Soll-Profil 116 mit dem Ist-Profil 114 verglichen, um diejenigen Speicher-adressen in dem Adressraum zu ermitteln, hinsichtlich derer die in dem Ist-Profil 114 gespeicherten Daten von den entsprechenden Daten des Soll-Profils 116 abweichen. Diese Adressbereiche sind in dem Soll-Profil 116 in der Fig. 2 schraffiert dargestellt.
In dem Datenfeld A ist dabei die Startadresse für den Bereich der abweichenden Daten die Startadresse 124. In dem Datenfeld B ist dies die Startadresse 126, in dem Datenfeld C die Startadresse 128 und in dem Datenfeld Y die Startadresse 130. In dem hier betrachteten Beispielsfall sind die Daten in den weiteren Datenfeldern in dem Ist-Profil 114 und Soll-Profil 116 identisch. In dem Differenz-Profil 122 werden diejenigen Datenfelder gespeichert, hinsichtlich derer sich das Ist-Profil 114 von dem Soll-Profil 116 unterscheidet. Dies sind in dem hier betrachteten Beispielfall die Datenfelder A, B, C und Y. Zu, jedem der Datenfelder wird ferner die Startadresse zur Abspeicherung der Aktualisierungsdaten angegeben.
Für das Datenfeld A ist dies die Startadresse 124, für das Datenfeld B die Startadresse 126, für das Datenfeld C die Startadresse 128 und für das Datenfeld Y die Startadresse 130. Schliesslich werden für jedes Datenfeld und jede Startadresse die Aktualisierungsdaten in dem Differenz-Profil 122 abgelegt, mit welchen die aktuellen Speicherinhalte des Datenspeichers 102 überschrieben werden sollen.
Nach Empfang des Differenz-Profils 122 durch die Chipkarte 104 (vgl. Fig. 1) werden die in dem Differenz-Profil 122 angegebenen Datenfelder des Datenspeichers 102 mit den Aktualisierungsdaten überschrieben, und zwar jeweils beginnend an der in dem Differenz-Profil für das jeweilige Datenfeld angegebenen Startadresse.
Die Fig. 3 zeigt eine Ausführungsform eines Verfahrens für die Aktualisierung einer Chipkarte.
In dem Schritt 300 erfolgt eine Initialisierung des Systems. Zur Initialisierung des Systems wird ein bei der Auslieferung der Chipkarte 104 verwendetes Grundprofil abgespeichert. Dieses Grundprofil wird auch als technisches Profil bezeichnet und wird bei der Auslieferung der Chipkarten und der dazugehörigen Endgeräte, z.B. Mobiltelephone, üblicherweise vom Hersteller konfiguriert.
Das Grundprofil wird in dem Schritt 300 als aktuelles Ist-Profil abgespeichert. In dem Schritt 302 kann der Nutzer über die Nutzerschnittstelle ein oder mehrere Soll-Profile, die von dem Grundprofil abweichen, eingeben. Beispielsweise wer den verschiedene Soll-Profile für verschiedene Teilnehmergruppen eines GSM-R-Systems definiert.
In dem Schritt 304 wählt der Nutzer eines der Soll-Profile aus und ordnet dieses einer oder mehrere der registrierten Chipkarten zu. In dem Schritt 306 wird ein Differenz-Profil zwischen dem Ist-Profil der Chipkarte und dem in dem Schritt 304 ausgewählten Soll-Profil ermittelt. Falls mehrere Chipkarten aktualisiert werden sollen, geschieht dies für jede der betroffenen Chipkarten. Die Ermittlung eines Differenzprofils kann dabei wie in der Fig. 2 dargestellt erfolgen.
In dem Schritt 308 wird jedes der ermittelten Differenz-Profile an die betreffende Chipkarte übertragen. Daraufhin erfolgt die Aktualisierung der einen oder mehreren Chipkarten nach dem jeweils massgeblichen Differenz-Profil. In dem Schritt 310 wird eine Bestätigung von einer der Chipkarten empfangen, wonach die Aktualisierung erfolgt ist. Daraufhin wird das bisherige Ist-Profil durch das in dem Schritt 304 ausgewählte Soll-Profil überschrieben (Schritt 312). Das zuvor ausgewählte Soll-Profil wird damit zum neuen Ist-Profil der Chipkarte.
Die Schritte 310 und 312 werden für jede der Chipkarten durchgeführt, von denen eine solche Bestätigung empfangen worden ist. Für den Fall, dass von einer von der Aktualisierung betroffenen Chipkarte keine Bestätigung für die Durchführung der Aktualisierung empfangen worden ist, kann eine erneute Übertragung des Differenz-Profils an die betroffene Karte (Schritt 308) erfolgen.
Die Fig. 4 zeigt ein Blockdiagramm einer weiteren Ausführungsform. Elemente der Fig. 4, die Elementen der Fig. 1 und 2 entsprechen, sind dabei mit entsprechenden Bezugszeichen gekennzeichnet.
In der Ausführungsform der Fig. 4 handelt es sich bei dem elektronischen Gerät um einen Computer 400. Bei dem Computer 400 kann es sich um eine Netzwerkkomponente eines Mobilfunknetzes 424 handeln. Die Nutzer-Schnittstelle ist bei der hier betrachteten Ausführungsform als Server- Anwendung wie z.B. so genannte Webservices 406, die von dem Prozessor 410 des Computers 400 ausgeführt werden, realisiert. Von einem Client-Computer 426, der eine Client-Anwendung wie z.B. ein Terminal-Programm oder ein übliches Browserprogramm 428 aufweist, kann ein Nutzer über das Internet 430 auf den Computer 400 zugreifen.
Der Speicher 408 des Computers 400 dient zur Speicherung einer Ist-Profil-Datenbank 414 und einer Soll-Profil-Datenbank 416. Die Ist-Profil-Datenbank 414 beinhaltet einen Eintrag für jede der registrierten Chipkarten des Mobilfunknetzes 424. Dabei kann beispielsweise die IMSI, ICCID oder MSISDN als Kennung für den Datenbankzugriff verwendet werden. Für jede der registrierten Chipkarten ist deren Ist-Profil mit der Kennung der betreffenden Chipkarte als Schlüssel in der Ist-Profil-Datenbank 414 gespeichert.
In der Soll-Profil-Datenbank sind verschiedene Soll-Profile gespeichert. Jedem der Soll-Profile ist ein bestimmter Profilname zugeordnet, der für den Zugriff auf ein gewähltes Soll-Profil in der Soll-Profil-Datenbank 416 verwendet werden kann.
Ferner dient der Speicher 408 zur Speicherung einer Teilnehmer-Datenbank 432 und einer Verlaufs-Datenbank 434.
In der Teilnehmer-Datenbank 432 sind Teilneh-merdaten für jeden registrierten Teilnehmer des Mobilfunknetzes 424 gespeichert. Die Teilnehmerdaten sind in der Teilnehmer-Datenbank 432 mit der Kennung der zu einem Teilnehmer gehörenden Chipkarte als Schlüssel gespeichert. Bei den Teilnehmerdaten kann es sich beispielsweise um den Namen des Teilnehmers handeln, dessen Zugehörigkeit zu einer Teilnehmergruppe, Standort oder dergleichen. Ferner kann es sich bei einem Teilnehmer auch um das Endgerät selbst handeln.
Die Verlaufs-Datenbank 434 dient zur Erfassung des zeitlichen Verlaufs der Chipkartenkonfigurationen. Für jede der Chipkarten wird die Historie der Ist- Profile, die die betreffende Chipkarte hatte, gespeichert, wobei die Kennung der betreffenden Chipkarte als Schlüssel verwendet wird. Hierzu wird jedes in der Verlaufs-Datenbank 434 gespeichertes Profil mit einen Zeitstempel, wie z.B. Änderungsdatum und Uhrzeit, versehen. Darüber hinaus kann auch erfasst werden, welcher Benutzer die jeweilige Aktualisierung veranlasst hat.
Die Chipkarten-Kommunikations-Schnittstelle wird bei dem hier betrachteten Ausführungsbeispiel durch einen weiteren Computer 412 realisiert. Bei dem Computer 412 kann es sich ebenfalls um eine Netzwerk-Komponente des Mobilfunknetzes 442 handeln.
Der Computer 412 hat einen Prozessor 436 zur Ausführung eines Programms 438. Das Programm 438 dient zur Steuerung der Funktionsabläufe des Computers 412. Der Computer 412 hat ferner einen Pufferspeicher 440, eine Kartenleser-Schnittstelle 442 und eine Luftschnittstelle 444. Die Kartenleser-Schnittstelle 442 ist mit einem Kartenleser 446, das heisst einem so genannten Chipkartenterminal, verbunden. Über die Luftschnittstelle 444 kann der Computer 412 über das Mobilfunknetz 424 mit einem Mobilfunkgerät 448 kommunizieren.
Bei Inbetriebnahme werden in dem Computer 400 zunächst die Teilnehmerdaten in der Teilnehmer-Datenbank 432 und die Grundprofile der SIMs in der Ist-Profil-Datenbank 414 mit den jeweiligen Kennungen als Schlüssel gespeichert. Von dem Client-Computer 426 aus können über das Internet 430 und die Webservices 406 Soll-Profile in der Soll-Profil-Datenbank 416 definiert werden. Beispielsweise werden verschiedene teilnehmergruppenspezifische Soll-Profile in der Soll-Profil-Datenbank 416 gespeichert, die jeweils mit dem Namen der jeweiligen Teilnehmergruppe versehen werden.
Zur Aktualisierung von beispielsweise der SIM 404 wählt ein Nutzer eines der in der Soll-Profil-Datenbank 416 gespeicherten Soll-Profile aus und verknüpft das ausgewählte Soll-Profil mit der Kennung der SIM 404. Dies kann beispielsweise grafisch interaktiv mittels "Drag-and-Drop" oder über Auswahllisten, das heisst so genannte "Pull-Down"- oder "Push-up"-Menüs erfolgen.
Nach der Zuordnung des ausgewählten Soll-Profils zu der SIM 404 wird das Differenz-Profil 422 für die SIM 404 ermittelt, beispielsweise so wie dies in der Fig. 2 dargestellt ist. Hierzu wird die Programmkomponente 420 gestartet, die auf die Ist-Profil-Datenbank 414 zugreift, um das aktuelle Ist-Profil der SIM 404 aus der Ist-Profil-Datenbank 414 auszulesen, um daraus das Differenz-Profil 422 bezüglich des ausgewählten Soll-Profils zu ermitteln.
Ferner generiert die Programmkomponente 420 eine Kurzmeldung 450, beispielsweise in Form einer so genannten binären SMS. Die Kurzmeldung 450 beinhaltet die Kennung der SIM 404 sowie das Differenz-Profil 422. Die Kurzmeldung 450 wird von dem Computer 400 an den Computer 412 übertragen. Wenn von dem Nutzer mehrere SIMs für die Aktualisierung ausgewählt worden sind, wird für jede der ausgewählten SIMs eine entsprechende Kurzmeldung erzeugt und zu dem Computer 412 übertragen. Die Kurzmeldungen 450 werden in dem Pufferspeicher 440 zwischengespeichert. Alternativ werden die Kurzmeldungen 450 von dem Computer 450 erzeugt.
Wenn sich die SIM 404 in dem Kartenleser des Mobilfunkgeräts 448 befindet und das Mobilfunkgerät 448 in dem Mobilfunknetz 424 eingeloggt ist, wird die Kurzmeldung 450 aus dem Pufferspeicher 440 über die Luftschnittstelle 444 und das Mobilfunknetz zu dem Mobilfunkgerät 448 übertragen. Wenn sich hingegen die SIM 404 in dem Kartenleser 446 befindet, wird die Kurzmeldung 450 aus dem Pufferspeicher 440 über die Kartenleserschnittstelle 442 und den Kartenleser 446 zu der SIM 404 übertragen.
Nach Empfang der Kurzmeldung 450 erfolgt die Aktualisierung des Datenspeichers 402 gemäss dem Differenz-Profil 422. Nach erfolgreicher Aktualisierung gibt die SIM 404 eine Bestätigung 452 ab, die von dem Kartenleser 446 bzw. dem Mobilfunknetz 424 über den Computer 412 an den Computer 400 übertra gen wird. Die Bestätigung 452 beinhaltet dabei zumindest die Kennung der SIM 404.
Nach Empfang der Bestätigung 452 wird das in der Ist-Profil-Datenbank 414 gespeicherte Ist-Profil der SIM 404 durch das ausgewählte Soll-Profil überschrieben. Das überschriebene Ist-Profil wird in der Verlaufsdatenbank 434 mit der Kennung SIM 404 als Schlüssel abgespeichert.
Die Bestätigung 452 der erfolgten Aktualisierung ist als Qualitätskontrolle hinsichtlich des Download-Prozesses insbesondere für sicherheitskritische Anwendungen sehr vorteilhaft. Die Bestätigung 452, die auch als Proof of Receipt (PoR)-Meldung bezeichnet wird, wird vorzugsweise als Kurzmeldung, das heisst beispielsweise als binäre SMS von der SIM 404 abgesendet.
Beispielsweise meldet der verarbeitende Prozess auf der Chipkarte über diese Kurzmeldung wie viele OTA-Kommandos der zuvor empfangenen Kurzmeldung 450 von ihm ordnungsgemäss verarbeitet werden konnten, und im Falle eines Fehlers in der Bearbeitung den Fehlercode. Nach dem Auftreten eines Fehlers bei der Verarbeitung eines OTA-Kommandos durch den verarbeitenden Prozess auf der Chipkarte, wird die Verarbeitung von eventuellen weiteren noch nicht abgearbeiteten OTA-Kommandos der Kurzmeldung 450 abgebrochen und eine entsprechende Status-Fehlermeldung als Kurzmeldung an den Computer 400 übertragen.
Neben der Einrichtung von Gruppenruffunktionen in GSM-R und GSM-BOS ist das System der Fig. 4 besonders geeignet zur Einrichtung von Roaming-Profilen in einem GMS-Netz, von Vorrangschaltungen für privilegierte Teilnehmer, sog. enhanced Multi-Level Precedence & Preemption (eMLPP) sowie für die Telefonbuchverwaltung für Grosskundenteilnehmer. Weitere Anwendungsmöglichkeiten beinhalten
- Verwaltung und Konfiguration von Corporate Customer Profilen, z.B. Firmentelefonbuchkonfiguration,
- Roaming in GSM-Netzen,
- Einrichtung von Priviligierten Teilnehmergruppen mit Vorrangsberechtigung vor anderen Teilnehmern in GSM Netzen,
- Verwaltung von Roaming-Profilen in GSM-Netzen,
- Einrichtung von Rufgruppen (Action Teams) in GSM-BOS,
- Verwaltung von Geräte-Konfigurationen (Device Management).
Die Fig. 5 zeigt eine alternative Ausführungsform für die Strukturierung des Speichers 408 des Computers 400 der Fig. 4. Im Gegensatz zu der Ausführungsform der Fig. 4 sind in der Ausführungsform der Fig. 5 alle Konfigurationsdaten in einer einzigen Datenbank 454. Es werden also die Ist- und die Soll-Profile nicht gesondert abgespeichert, sondern alle Konfigurations-Profile, die überhaupt definiert sind, werden in der Datenbank 454 abgespeichert. Jedes der Konfigurations-Profile hat dabei einen Profilnamen als Primär-Schlüssel für den Datenbankzugriff und die Speicherbelegungen und/oder Speicherstrukturangabe für den oder die konfigurierten oder zu konfigurierenden Datenspeicher.
In der Teilnehmer-Datenbank 456 ist jedem der Teilnehmer ein Profilname zugeordnet. Damit ist das Ist-Profil jedes Teilnehmers in dem Speicher 408, d.h. der Datenbank 454, eindeutig identifiziert. Wenn durch eine Nutzereingabe der Profilname, der einem Teilnehmer zugeordnet ist, durch einen anderen Profilnamen, der in der Datenbank 454 als Schlüssel vorhanden ist, ersetzt werden soll, so erfolgt die Differenzprofilbildung zwischen dem neu aus der Datenbank 454 für den Teilnehmer ausgewählten Profil und dem bisherigen Ist-Profil, wie es über den bisherigen Eintrag in der Teilnehmer-Datenbank 456 definiert ist. Nachdem die Bestätigung 452 (vgl. Fig. 4) empfangen worden ist, wird der Profilname des neu ausgewählten Profils in der Teilnehmerdatenbank anstelle des vorherigen Ist-Profilnamens abgespeichert.
Der vorherige Ist-Profilname und/oder die entsprechenden Speicherbelegungen werden in der Verlaufs-Datenbank 434 gespeichert.
Diese Ausführungsform hat gegenüber der Ausführungsform der Fig. 4 den Vorteil, dass nur eine einzige Datenbank zur Abspeicherung aller Konfigurations-Profile erforderlich ist.
In der Fig. 6 ist eine Arbeitsweise des Systems der Fig. 4 und 5 anhand eines Objekt-Beziehungs-Diagramms dargestellt. Elemente der Fig. 6, die Elementen der Fig. 4 und 5 entsprechen, sind dabei mit denselben Bezugszeichen gekennzeichnet.
In dem Schritt 1 erfolgt die Installation der Grundprofile durch Übertragung von dem Client 426 an den Computer 400. In dem Schritt 2 erfolgt das Anlegen und Speichern von Soll-Profilen, die auch als Funktionsprofile oder logische Profile bezeichnet werden. Diese werden ebenfalls von dem Client-Computer 426 an den Computer 400 übertragen. In dem Schritt 3 erfolgt die Installation von Chipkarten-Verwaltungsinformationen, also beispielsweise die Speicherung der Teilnehmerdaten in der Teilnehmer-Datenbank. Die entsprechenden Teilnehmerdaten werden ebenfalls von dem Client-Computer 426 an den Computer 400 übertragen. In dem Schritt 4 wird eines der Soll-Profile als Zielprofil für die Aktualisierung zumindest einer der registrierten Chipkarten selektiert.
Daraufhin wird in dem Schritt 5 durch den Computer das Differenz-Profil ermittelt. In dem Schritt 6 wird das Differenzprofil von dem Computer 400 an den Computer 412 übertragen. In der hier betrachteten Ausführungsform erfolgt in dem Computer 412 die Umformung der Differenz-Profile in Kurzmeldungen (Schritt 7).
In dem Schritt 8 wird die Kurzmeldung über den Kartenleser 446 bzw. das Mobilfunknetz 424 zur SIM 408 übertragen und dort empfangen (Schritt 9). Nach Aktualisierung des Datenspeichers 402 der SIM 404 erfolgt in dem Schritt 10 die Übertragung der Statusantwort, das heisst der Bestätigung 452 oder einer Fehlermeldung, über den Kartenleser 446 bzw. das Mobilfunknetz 424, den Computer 412 (Schritt 11) an den Computer 400 (Schritt 12).
Wenn es sich bei der Statusantwort um eine Bestätigung 452 handelt, wird das Ist-Profil durch das neue Soll-Profil in der Ist-Profil-Datenbank überschrieben. In dem Schritt 13 kann ferner eine Anzeige der Statusantwort auf dem Client-Computer 426 erfolgen. Bezugszeichenliste
100 Gerät
102 Datenspeicher
104 Chipkarte
106 Nutzer-Schnittstelle
108 Speicher
110 Prozessor
112 Chipkarten-Kommunikations-Schnittstelle
114 Ist-Profil
116 Soll-Profil
118 Programmkomponente
120 Programmkomponente
122 Differenz-Profil
124 Startadresse
126 Startadresse
128 Startadresse
130 Startadresse
400 Computer
402 Datenspeicher
404 SIM
406 Webservices
408 Speicher
410 Prozessor
412 Computer
414 Ist-Profil-Datenbank
416 Soll-Profil-Datenbank
418 Programmkomponente
420 Programmkomponente
422 Differenz-Profil
424 Mobilfunknetz
426 Client-Computer
428 Browser-Programm
430 Internet
432 Teilnehmer-Datenbank
434 Verlaufs-Datenbank
436 Prozessor
438 Programm
440 Pufferspeicher
442 Kartenleser-Schnittstelle
444 Luftschnittstelle
446 Kartenleser
448 Mobilfunkgerät
450 Kurzmeldung
452 Bestätigung
454 Datenbank
456 Teilnehmer-Datenbank
The present invention relates to a device which can be used for updating the configuration of mobile terminals.
In the following, "mobile end devices" include in particular portable data storage devices, ie. H. so-called. Understand smart cards, mobile telecommunications devices, personal digital assistants (PDAs), mobile computers and the like.
Various types and areas of application for chip cards are known from the prior art. An overview of this is given in the "Handbuch der Chipkarten", Wolfgang Rankl, Wolfgang Effing, Hansa Verlag 1999. For example, a distinction is made between chip cards between memory cards, microprocessor cards and contactless chip cards.
Known areas of application for chip cards include applications for authentication, access control, encryption, digital signature, payment, electronic ticketing, pay-TV, as well as health insurance cards and electronic immobilizers. The use of chip cards is particularly important in the field of mobile telephony. Chip cards are used in particular according to the GSM mobile radio standard as so-called SIM (Subscriber Identity Module). Such SIM chip cards are also used in the GSM-R variant of the GSM standard.
Chip cards usually have a data memory with or without a file system. In general, the data storage is divided into data fields. A SIM has a hierarchical file system with a so-called master file (MF). The MF is the root directory of the file tree. Furthermore, the file system has two dedicated files (DF) in which the data fields of the chip card referred to as elementary files (EF) are located. The possible file structures for the EFs are transparent, linearly fixed and cyclical. The GSM-11. The 11 specification defines 48 different EFs for the application data, which are summarized in the two DFs.
Corresponding chip cards are also used according to the UMTS standard in the form of USIMs (Universal Subscriber Identity Modules). In the case of mobile end devices of a so-called "trusted computing platform", the data store is permanently connected to the end device. For this purpose, the data memory is designed, for example, in an IC, which is used for hardware identification of the terminal.
Various devices and methods for storing data and for data exchange with a SIM are known from the prior art:
WO 00/48 416 discloses a method for using an application stored on a SIM. The keys required for encryption and / or decryption and / or digital signing are stored in a protected area of the SIM.
A method for changing a service profile assigned to a subscriber is known from EP 0 899 979 A2. According to this method, the subscriber himself can access an erasable data memory of the SIM in order to change or have his service profile output.
DE 19 810 926 discloses a device for managing data for the operation of a communication network with a large number of terminals, each of which has a SIM. The number of free memory fields provided for an application on the chip card for the respective chip card type can be determined by the device at any time. Applications stored on an application database can be transferred to the chip card as a short message in order to be stored there in a free memory field.
In contrast, the object of the invention is to create an improved device for updating the data memory of a chip card.
The object on which the invention is based is achieved with the features of the independent patent claim. Preferred embodiments of the invention are specified in the dependent claims.
The device according to the invention serves to update the configuration of mobile terminals. In particular, one embodiment of the device can be used to store actual profiles of the data memory of one or more chip cards. Furthermore, the device serves to store a target profile of the data memory or memories. To update a data memory, a difference profile is first determined. The difference profile contains data with respect to which the target profile differs from the actual profile of the chip card in question. A profile can be a configuration of the data memory with regard to its memory structure and / or memory allocation. A profile can contain technical configuration data and / or logical configuration data.
Logical configuration data are understood to mean in particular those configuration data which are used for the configuration of an application.
To update the data memory of the chip card, only the difference profile is transferred to the chip card. This drastically reduces the volume of data to be transferred required for updating the data memory and thus the time required for the update. This is particularly advantageous, in particular, for security and / or time-critical applications such as GSM-R applications. The difference profile does not have to be determined individually for each chip card, but once for all chip cards that are reconfigured from an actual profile to a new target profile.
According to a preferred embodiment of the invention, the device is used for a large number of registered chip cards. The actual profiles of the chip cards are stored in a database of the device. The IDs of the chip cards serve as database keys for access to the actual profiles. With an application for GSM or GSM-R advantageously uses the IMSI (International Mobile Subscriber Identity), ICCID (Integrated Chip Card ID) or the MSISDN (Mobile Subscriber ISDN, that is, the telephone number of a cell phone subscriber).
According to a further preferred embodiment of the invention, the device has a further database for storing various target profiles. Each of the target profiles preferably has a name which is used as an access key for database access to a stored target profile. Alternatively, all defined profiles are saved in a single database.
A user can enter various target profiles via a user interface and save them in the database. Furthermore, a user can select a target profile stored in the database via the user interface and assign it to one or more of the registered chip cards. The one or more of the chip cards selected by the user is or are then updated according to the selected target profile.
This is particularly advantageous for the uniform configuration of the chip cards of a subscriber group. In the GSM-R in particular, such subscriber groups are defined for group call functions such as voice group call or voice broadcast. The chip cards of these participant groups can be uniformly updated and configured by selecting one of the target profiles from the database and assigning the selected target profile to the chip card identifiers of the relevant participant group. The so-called SIM Profile Management can thus be carried out particularly efficiently.
According to a further preferred embodiment of the invention, the actual profiles each contain an image of the configuration of the data memory of the respectively assigned chip card. Corresponding configuration data contain the target profiles. The actual and target profiles preferably each include a reproduction of the current or selectable data structure and the memory contents of a data memory of one or more of the chip cards.
According to a further preferred embodiment of the invention, the device for transmitting the difference profiles to the chip cards is designed via a telecommunications network, in particular a digital mobile telephone network. Alternatively or additionally, the device for transmitting the difference profiles is designed via a chip card reader.
According to a further preferred embodiment of the invention, the data memory of the chip card is divided into data fields. An address space is spanned by the data fields. The difference profile for updating the data memory of one of the chip cards contains update data for one or more of these data fields. In addition, the difference profile contains an indication of a reference address for the update data in the relevant data field. The relevant data field is overwritten with its update data from the respective reference address.
According to a further preferred embodiment of the invention, the device has a subscriber database for storing the identifiers of registered chip cards. The same primary key is preferably used as the database key as for storing the actual profiles. The participant database can provide information for each participant regarding the assignment of the participant concerned to a participant group, its function, location, name etc. exhibit.
According to a further preferred embodiment of the invention, the device has a history database for storing the time history of the various actual profiles assigned to a chip card. This is particularly advantageous for fulfilling legal verification requirements for applications in the GSM-R area.
According to a further preferred embodiment of the invention, the device is designed to receive an acknowledgment from the chip card, after which the data memory of the chip card has been updated in accordance with the difference profile received from the chip card. After receipt of the confirmation, the actual profile assigned to the chip card in question is overwritten in the database by the target profile, which has formed the basis for the creation of the difference profile. This process can be mapped in the history database.
According to a further preferred embodiment of the invention, the device is designed to generate a short message for each chip card affected by an update. Such a short message is preferably an OTA (Over The Air) short message, for example a so-called binary SMS (Short Message Services).
Each of the short messages contains an identifier of a chip card affected by the update and the relevant reference profile. The short messages are buffered in a transmission device. The short messages are transmitted wirelessly or by wire to the addressed chip cards from the buffer memory of the transmission device. The transmission device preferably receives the confirmations of the chip cards and forwards them so that the previous actual profiles are overwritten by the target profile, which formed the basis for the creation of the difference profile.
The present invention is particularly advantageous for security-critical applications, such as emergency calls in a GSM-R system. By reducing the data volume for updating the data memory of a chip card, the time required for reading in a new configuration is reduced after the so-called OTA download. In particular, this enables the use of an OTA platform in networks with security-relevant functions, such as GSM-R and GSM-BOS.
These networks have group call functions that require configuration on the system side and on the chip card side. The configuration change can have a high frequency in certain applications, for example for DGC (Dynamic Group Call) in trains in the GSM-R system. The present invention makes it possible to minimize the download times and the update times for new configurations of the chip cards, as a result of which the possible uses of GSM-R and GSM-BOS are expanded.
The minimization of the signaling load during the transmission of the update data is particularly advantageous, since both the number and the message size of the short messages required for an update can be minimized by the invention. A further advantage is that the card configuration management can be carried out efficiently and in a user-friendly manner via a corresponding user interface.
A further particular advantage is the possibility that the chip cards confirm that the device has been updated. The actual profile is only overwritten with the previously selected target profile after such confirmation. For security-critical applications in particular, this ensures that the actual profiles registered by the device match the actual configurations of the chip cards.
Preferred embodiments of the invention are explained in more detail below with reference to the drawings. The figures show: 1 shows a block diagram of a first embodiment of a device according to the invention, 2 shows a diagram to show a determination of a difference profile from an actual and a target profile, 3 shows a flowchart for updating the configuration of a chip card, 4 shows a block diagram of a further embodiment of the device according to the invention and of the transmission device according to the invention, 5 shows an alternative embodiment of FIG. 4, all profiles being stored in a database, 6 is an object relationship diagram for illustrating an operation of the one shown in FIG. 4 shown system.
The Fig. 1 shows an electronic device 100 for managing and updating the configuration of a data memory 102 of a chip card 104. The electronic device is particularly suitable for the so-called Suitable for SIM profile management.
The data memory 102 of the chip card 104 is in data fields A, B, C,. , , , X, Y, Z divided. For example, the chip card 104 is a so-called SIM, in which case the data fields are EFs.
The device 100 has a user interface 106, a memory 108, a processor 110 and a chip card communication interface 112. The memory 108 serves to store at least one actual profile 114 and a target profile 116. The actual profile 114 contains an indication of the current configuration of the data store 102 with regard to its memory structure and / or with regard to the data stored in the data fields of the data store 102. The target profile 116, on the other hand, contains an indication of a possibly desired configuration of the data memory 102 of the chip card 104, specifically also with regard to the structure and / or the data to be stored.
The processor 110 is used to execute a program component 118. The program component 118 serves to control the overall function of the device 100. The processor 110 also serves to execute a program component 120, which is used to form a difference profile between an actual profile 114 and a target profile 116.
Via the user interface 106, a user can enter the target profile 116, call up an actual profile 114 or target profile 116 stored in the memory 108 and, for example, display it on a screen. Furthermore, a user can select the target profile 116 in order to update the chip card 104 accordingly.
As a result, the program component 120 is started, which determines a difference profile from the actual profile 114 and the target profile 116, which is transmitted via the message card to the chip card 104 via wire or wirelessly via the chip card communication interface 112. The data memory 102 of the chip card 104 is then updated accordingly. The electronic device 100 preferably receives a corresponding confirmation after the update of the data memory 102 has been carried out. The actual profile 114 is then overwritten by the target profile 116 in the memory 108.
The Fig. 2 illustrates an example of the generation of the difference profile 122 from the actual profile 114 and the target profile 116 (cf. FIG. 1). Through the data fields A, B, C,. , , An address space of the data memory 102 is spanned. The actual profile 114 contains a reproduction of the data fields A, B, C,. , , stored data.
Correspondingly, the target profile 116 contains an indication of the data fields A, B, C,. , , data to be stored. Through the program component 120 (cf. FIG. 1) the target profile 116 is compared with the actual profile 114 in order to determine those memory addresses in the address space with respect to which the data stored in the actual profile 114 differ from the corresponding data of the target profile 116. These address areas are in the target profile 116 in FIG. 2 hatched.
In the data field A, the start address for the area of the deviating data is the start address 124. This is the start address 126 in the data field B, the start address 128 in the data field C and the start address 130 in the Y data field. In the example case considered here, the data in the other data fields in the actual profile 114 and target profile 116 are identical. Those data fields with respect to which the actual profile 114 differs from the target profile 116 are stored in the difference profile 122. In the example considered here, these are data fields A, B, C and Y. The start address for storing the update data is also specified for each of the data fields.
For data field A this is the start address 124, for data field B the start address 126, for data field C the start address 128 and for data field Y the start address 130. Finally, the update data for each data field and each start address are stored in the difference profile 122, with which the current memory contents of the data memory 102 are to be overwritten.
After receipt of the difference profile 122 by the chip card 104 (cf. FIG. 1) the data fields of the data memory 102 specified in the difference profile 122 are overwritten with the update data, in each case starting at the start address specified for the respective data field in the difference profile.
The Fig. 3 shows an embodiment of a method for updating a chip card.
The system is initialized in step 300. To initialize the system, a basic profile used when the chip card 104 is delivered is stored. This basic profile is also referred to as a technical profile and is used in the delivery of the chip cards and the associated end devices, e.g. B. Mobile phones, usually configured by the manufacturer.
The basic profile is stored in step 300 as the current actual profile. In step 302, the user can enter one or more target profiles that differ from the basic profile via the user interface. For example, who defines the different target profiles for different subscriber groups of a GSM-R system.
In step 304, the user selects one of the target profiles and assigns this to one or more of the registered chip cards. In step 306, a difference profile between the actual profile of the chip card and the target profile selected in step 304 is determined. If several chip cards are to be updated, this happens for each of the chip cards concerned. The determination of a difference profile can be done as in Fig. 2 shown.
In step 308, each of the difference profiles determined is transmitted to the relevant chip card. The one or more chip cards are then updated according to the relevant difference profile. In step 310, an acknowledgment is received from one of the chip cards, after which the update has taken place. The previous actual profile is then overwritten by the target profile selected in step 304 (step 312). The previously selected target profile thus becomes the new actual profile of the chip card.
Steps 310 and 312 are performed for each of the smart cards from which such confirmation has been received. In the event that no confirmation for the implementation of the update has been received from a chip card affected by the update, the difference profile can be retransmitted to the affected card (step 308).
The Fig. 4 shows a block diagram of another embodiment. Elements of Fig. 4, the elements of FIG. 1 and 2 correspond, are identified by corresponding reference numerals.
In the embodiment of FIG. 4, the electronic device is a computer 400. The computer 400 can be a network component of a mobile radio network 424. The user interface is in the embodiment considered here as a server application such. B. so-called web services 406, which are executed by the processor 410 of the computer 400, are realized. From a client computer 426 running a client application such as B. a terminal program or a conventional browser program 428, a user can access the computer 400 via the Internet 430.
The memory 408 of the computer 400 is used to store an actual profile database 414 and a target profile database 416. The actual profile database 414 contains an entry for each of the registered chip cards of the mobile radio network 424. For example, the IMSI, ICCID or MSISDN can be used as an identifier for database access. For each of the registered chip cards, their actual profile with the identifier of the relevant chip card is stored as a key in the actual profile database 414.
Various target profiles are stored in the target profile database. Each of the target profiles is assigned a specific profile name which can be used to access a selected target profile in the target profile database 416.
The memory 408 also serves to store a subscriber database 432 and a history database 434.
Subscriber data for each registered subscriber of the mobile radio network 424 are stored in the subscriber database 432. The subscriber data are stored in the subscriber database 432 with the identifier of the chip card belonging to a subscriber as a key. The participant data can be, for example, the name of the participant, his affiliation with a participant group, location or the like. Furthermore, a subscriber can also be the terminal device itself.
The history database 434 is used to record the time history of the chip card configurations. The history of the actual profiles that the relevant chip card had was stored for each of the chip cards, the identifier of the relevant chip card being used as the key. For this purpose, each profile stored in the history database 434 with a time stamp, such as. B. Date and time of change. In addition, it can also be recorded which user has initiated the respective update.
In the exemplary embodiment considered here, the chip card communication interface is implemented by a further computer 412. The computer 412 can also be a network component of the mobile radio network 442.
The computer 412 has a processor 436 for executing a program 438. The program 438 is used to control the functional sequences of the computer 412. The computer 412 also has a buffer memory 440, a card reader interface 442 and an air interface 444. The card reader interface 442 is connected to a card reader 446, that is to say a so-called chip card terminal. Via the air interface 444, the computer 412 can communicate with a mobile radio device 448 via the mobile radio network 424.
When the computer 400 is started up, the subscriber data are first stored in the subscriber database 432 and the basic profiles of the SIMs in the actual profile database 414 with the respective identifiers as keys. From the client computer 426, target profiles can be defined in the target profile database 416 via the Internet 430 and the web services 406. For example, different target group-specific target profiles are stored in the target profile database 416, each of which is given the name of the respective participant group.
To update the SIM 404, for example, a user selects one of the target profiles stored in the target profile database 416 and links the selected target profile with the identifier of the SIM 404. This can be done, for example, graphically, interactively using “drag-and-drop” or via selection lists, that is to say “pull-down” or “push-up” menus.
After the assignment of the selected target profile to the SIM 404, the difference profile 422 for the SIM 404 is determined, for example as shown in FIG. 2 is shown. For this purpose, the program component 420 is started, which accesses the actual profile database 414 in order to read out the current actual profile of the SIM 404 from the actual profile database 414, in order to use it to derive the difference profile 422 with respect to the selected target profile to investigate.
The program component 420 also generates a short message 450, for example in the form of a so-called binary SMS. The short message 450 contains the identifier of the SIM 404 and the difference profile 422. The short message 450 is transmitted from the computer 400 to the computer 412. If the user has selected several SIMs for the update, a corresponding short message is generated for each of the selected SIMs and transmitted to the computer 412. The short messages 450 are buffered in the buffer memory 440. Alternatively, the short messages 450 are generated by the computer 450.
If the SIM 404 is in the card reader of the mobile radio device 448 and the mobile radio device 448 is logged into the mobile radio network 424, the short message 450 is transmitted from the buffer memory 440 via the air interface 444 and the mobile radio network to the mobile radio device 448. If, on the other hand, the SIM 404 is in the card reader 446, the short message 450 is transferred from the buffer memory 440 via the card reader interface 442 and the card reader 446 to the SIM 404.
After the short message 450 has been received, the data memory 402 is updated in accordance with the difference profile 422. After a successful update, the SIM 404 issues a confirmation 452, which is issued by the card reader 446 or the cellular network 424 is transmitted to the computer 400 via the computer 412. The confirmation 452 includes at least the identifier of the SIM 404.
After receipt of the confirmation 452, the actual profile of the SIM 404 stored in the actual profile database 414 is overwritten by the selected target profile. The overwritten actual profile is stored in the history database 434 with the identifier SIM 404 as a key.
Confirmation 452 that the update has taken place is very advantageous as a quality control with regard to the download process, in particular for safety-critical applications. The confirmation 452, which is also referred to as a Proof of Receipt (PoR) message, is preferably sent as a short message, that is to say, for example, as a binary SMS from the SIM 404.
For example, the processing process on the chip card uses this short message to report how many OTA commands of the previously received short message 450 it was able to process properly and, in the event of an error in processing, the error code. After an error occurs during the processing of an OTA command by the processing process on the chip card, the processing of any further OTA commands of the short message 450 that have not yet been processed is terminated and a corresponding status error message is transmitted to the computer 400 as a short message.
In addition to the establishment of group call functions in GSM-R and GSM-BOS, the system of Fig. 4 Particularly suitable for setting up roaming profiles in a GMS network, priority circuits for privileged users, so-called enhanced Multi-Level Precedence & Preemption (eMLPP) as well as for telephone book management for large customer subscribers. Include other uses
- Administration and configuration of corporate customer profiles, e.g. B. Corporate Directory configuration
- roaming in GSM networks,
- establishment of privileged subscriber groups with priority over other subscribers in GSM networks,
- Management of roaming profiles in GSM networks,
- establishment of call groups (action teams) in GSM-BOS,
- Management of device configurations (device management).
The Fig. 5 shows an alternative embodiment for structuring the memory 408 of the computer 400 of FIG. 4th In contrast to the embodiment of FIG. 4 are in the embodiment of FIG. 5 All configuration data in a single database 454. The actual and target profiles are therefore not stored separately, but all configuration profiles that are defined at all are stored in the database 454. Each of the configuration profiles has a profile name as the primary key for database access and memory allocations and / or storage structure information for the data memory or the data memories configured or to be configured.
In the subscriber database 456, a profile name is assigned to each of the subscribers. Thus, the actual profile of each participant in memory 408, i.e. H. database 454, uniquely identified. If a user input is to be used to replace the profile name which is assigned to a subscriber by another profile name which is present in the database 454 as a key, the difference profile is formed between the profile newly selected for the subscriber from the database 454 and the previous actual profile, as defined by the previous entry in the participant database 456. After confirmation 452 (cf. FIG. 4) has been received, the profile name of the newly selected profile is stored in the subscriber database instead of the previous actual profile name.
The previous actual profile name and / or the corresponding memory allocations are stored in the history database 434.
This embodiment has compared to the embodiment of FIG. 4 the advantage that only a single database is required to store all configuration profiles.
In the Fig. 6 is an operation of the system of FIG. 4 and 5 are shown using an object-relationship diagram. Elements of Fig. 6, the elements of FIG. 4 and 5 correspond, are identified by the same reference numerals.
In step 1, the installation of the basic profiles takes place by transmission from the client 426 to the computer 400. In step 2, target profiles are created and saved, which are also referred to as functional profiles or logical profiles. These are also transmitted from the client computer 426 to the computer 400. In step 3, chip card management information is installed, for example the subscriber data is stored in the subscriber database. The corresponding subscriber data are also transmitted from the client computer 426 to the computer 400. In step 4, one of the target profiles is selected as the target profile for updating at least one of the registered chip cards.
The difference profile is then determined in step 5 by the computer. In step 6, the difference profile is transmitted from computer 400 to computer 412. In the embodiment considered here, the difference profiles are converted into short messages in the computer 412 (step 7).
In step 8, the short message via the card reader 446 or transmit and receive the mobile radio network 424 to the SIM 408 (step 9). After the data memory 402 of the SIM 404 has been updated, the status response, that is to say the confirmation 452 or an error message, is transmitted in step 10 via the card reader 446 or the cellular network 424, the computer 412 (step 11) to the computer 400 (step 12).
If the status response is a confirmation 452, the actual profile is overwritten by the new target profile in the actual profile database. In step 13, the status response can also be displayed on the client computer 426. LIST OF REFERENCE NUMBERS
100 device
102 data memories
104 chip card
106 user interface
108 memories
110 processor
112 chip card communication interface
114 Actual profile
116 target profile
118 program component
120 program components
122 difference profile
124 start address
126 start address
128 start address
130 start address
400 computers
402 data stores
404 SIM
406 web services
408 memories
410 processor
412 computers
414 Actual profile database
416 target profile database
418 program component
420 program component
422 difference profile
424 cellular network
426 client computers
428 browser program
430 Internet
432 subscriber database
434 History database
436 processor
438 program
440 buffer memory
442 card reader interface
444 air interface
446 card readers
448 cellular device
450 short message
452 confirmation
454 database
456 participants database