-
Die
vorliegende Erfindung betrifft die Sicherung von mittels einer zusätzlichen,
in ein Telekommunikationsterminal einführbaren Chipkarte gelieferten
Anwendungsprogrammen. Das Terminal ist insbesondere ein mobiles
Funktelefon-Terminal mit einer ersten Karte zur Teilnehmeridentifikation
und den Kommunikationen mit einem Telekommunikationsnetz sowie einem
Lesegerät
für Karten
mit zusätzlichem
Chip.
-
In
einem zellularen Funktelefonnetz vom Typ GSM ist die Bereitstellung
von auf der Ausführung von
Anwendungsprogrammen in der SIM-Chipkarte basierenden Anwendungsdiensten
für den
Teilnehmer vorgesehen. Diese Dienste werden durch eine genormte,
allgemein als SIM-Anwendungs-Toolkit bezeichnete
Technologie umgesetzt. Eine besondere, die Proaktivität genannte
Funktion erlaubt der SIM-Karte bei der Abwicklung eines Programms die Adressierung
der Anfragen an die Außenwelt:
das Terminal, den Teilnehmer und das Netz.
-
Derartige
Anwendungsprogramme umfassen zum Beispiel Menüs zum Abfragen eines Bankenservers
und zum Durchführen
von Bankenoperationen auf die Entfernung hin ausgehend von einem Terminal.
Die Entwicklung von in der SIM-Karte ausgeführten Dienstanwendungen mit
Mehrwert erfordert Vertriebs- und Instandhaltungsmittel dieser Anwendungen
mit laufendem Abonnement. Dies ist durch die Personalisierung der
SIM-Karte mit adäquaten
Programmen vor ihrer Übergabe
an den Teilnehmer möglich
oder durch Herunterladen per Funk oder durch Laden dieser Programme
in die SIM-Karte direkt in einem Verkaufspunkt.
-
Die
Vorveröffentlichung
sieht, so, wie sie in der Patentschrift WO9927505 beschrieben wird, ebenfalls
eine Karte mit zusätzlichem
Chip vor, der unterschiedlich von der SIM-Karte ist und der in das Terminal
einführbar
ist oder mit dem Terminal der SIM-Karte durch ein externes Lesegerät verbunden werden
kann. Die zweite Karte wird durch ein sich in der SIM-Karte ausführendes
Programm kontrolliert. Das Terminal spielt eine durchlässige Rolle,
indem es einfach die von der SIM-Karte erarbeiteten Befehle auf
die zweite Karte überträgt. Dieser
Befehlsaustausch zielt auf die Entwicklung von jeglicher Art von Chipkarten
umsetzenden Diensten ab. Zum Beispiel ist die zweite Karte eine
Bankenkarte, um somit Fernzahlungsdienste auf dem mobilen Terminal
anzubieten.
-
Die
zweite Karte wird ein Anwendungsverteilungsmittel, indem die die
Dienste mit Mehrwert realisierende Programme transportiert werden,
wie zum Beispiel die Dienste, die man derzeitig in einer SIM-Karte
finden kann.
-
Die
Einführung
der zweiten Karte in das Terminal weist den Nachteil auf, dass die
Anwendung nicht mehr notwendigerweise durch den Betreiber des Netzes
geliefert wird und sich somit jeglicher Kontrolle ihrer Authentizität entzieht.
Die zweite Karte enthält
keinerlei Mittel zur Zertifizierung ihres Inhalts durch das Terminal,
die erste Karte oder das Netz.
-
Aufgabe
der Erfindung ist die Verstärkung der
Sicherheit vor der Umsetzung einer in einer zusätzlichen Karte enthaltenen
und insbesondere durch die erste Karte des Terminals oder durch
das Terminal selbst ausführbaren
Anwendung.
-
Zu
diesem Zweck und erfindungsgemäß ist ein
Verfahren zur Vorkontrolle der Ausführung eines in einer zweiten,
in ein mobiles Funktelefonterminal zusätzlich zu einer ersten, mit
einem Terminal verbundenen Funktelefonnetz verbundene Teilnehmeridentifikationsdaten
enthaltende Chipkarte eingeführte
Chipkate enthaltenden Programms dadurch gekennzeichnet, dass es
vor der Ausführung
des Programms eine Authentifizierung der zweiten Chipkarte durch
die erste Chipkarte umfasst.
-
Die
Authentifizierung verhindert somit die unbefugte Nutzung, das Hackertum
und das Kopieren des/von Anwendungsprogramm(s)(en = in der zweiten
Karte.
-
Im
Sinne der Erfindung ist eine zweite Chipkarte eine beliebige Karte
aus einer Vielzahl von zusätzlichen,
unterschiedliche Anwendungsprogramme enthaltende Karten, und zwar
pro zweiter Karte ein oder zwei Programme, unabhängig vom Kommunikationssoftware
zwischen dieser, der ersten Karte und dem Terminal.
-
Die
Vielzahl der zweiten Karten erlaubt einem Betreiber das Anbieten
neuer, durch einen klassischen Vertriebskanal in Form von zweiten,
in das Terminal einzuführenden
Karten vertriebener Dienste für
seine Teilnehmer bei gleichzeitiger Beibehaltung der Kontrolle der
angebotenen Dienste.
-
Gemäß einer
ersten Ausführung
kann die Authentifizierung der zweiten Karte durch die erste Karte
die folgenden Stufen umfassen:
- – Anwendung
eines Kennzeichens des Programms, das durch die zweite Karte auf
die erste Karte angewendet wird, und eines Schlüssels auf einen in der ersten
Karte enthaltnen Algorithmus, so dass ein Ergebnis produziert wird,
und
- – Vergleich
des Ergebnisses und eines Zertifikats, das durch die zweite Karte
auf die erste Karte übertragen
wird, um das Programm nur im Fall der Ungleichheit der beiden auszuführen.
-
Die
Authentifizierung kann dann eine Auswahl des Schlüssels in
einer in der ersten Karte in Abhängigkeit des
Kennzeichens des Programms enthaltenden Schlüsselplatte umfassen.
-
Gemäß einer
zweiten Ausführung
kann die Authentifizierung der zweiten Karte durch die erste Karte
die folgenden Stufen umfassen:
- – Übertragen
einer zufälligen
Zahl von der ersten Karte auf die zweite Karte;
- – Anwendung
der übertragenen
zufälligen
Zahl und eines Schlüssels
auf einen in der zweiten Karte enthaltenen Algorithmus, so dass
eine auf die erste Karte übertragene
Unterschrift erzeugt wird;
- – Anwenden
der zufälligen
Zahl und eines Schlüssels
auf einen in der ersten Karte enthaltenen Algorithmus, so dass ein
Ergebnis erzeugt wird; und
- – Vergleich
des Ergebnisses mit der auf die erste Karte übertragenen Unterschrift, um
das Programm nur im Falle der Ungleichheit der beiden auszuführen.
-
Die
Authentifizierung kann dann eine Auswahl des Schlüssels in
einer in der ersten Karte in Abhängigkeit
eines von der zweiten Karten auf die erste Karte übertragenen
Programm-Kennzeichens enthaltenen Schlüsselplatte enthalten.
-
Man
kann auch darüber
hinaus eine Authentifizierung der ersten Karte durch die zweite
Karte vorsehen, die gemäß einer
ersten Ausführung
die folgenden Stufen umfassen kann:
- – Übertragen
eines vorbestimmten Feldes einer Nummer von der ersten Karte auf
die zweite Karte;
- – Vergleich
des vorbestimmten Feldes mit einer Nummer in der zweiten Karte,
um das Programm auszuführen
oder seinen Inhalt nur im Fall der Ungleichheit der beiden zu lesen.
-
Das
vorbestimmte Feld kann wenigstens die Vorwahl des in einer Identitätsnummer
der ersten Karte enthaltenen Telekommunikationsnetzes enthalten.
-
Die
Authentifizierung der ersten Karte durch die zweite Karte kann gemäß einer
zweiten Ausführung
die folgenden Stufen umfassen:
- – Lesen
einer zufälligen
Zahl in der zweiten Karte von der ersten Karte aus;
- – Anwenden
der zufälligen
Zahl und eines Schlüssels
auf einen in der ersten Karte enthaltenen Algorithmus, so dass eine
auf die zweite Karte übertragene
Unterschrift erzeugt wird;
- – Anwenden
der zufälligen
Zahl und eines Schlüssels
auf einen in der zweiten Karte enthaltenen Algorithmus, so dass
ein Ergebnis produziert wird; und
- – Vergleich
des Ergebnisses mit der auf die zweite Karte übertragenen Unterschrift, um
das Programm auszuführen
oder seinen Inhalt nur im Fall der Ungleichheit der beiden zu lesen.
-
Dann
kann die Authentifizierung eine Auswahl des Schlüssels in einer in der ersten
Karte in Abhängigkeit
des von der zweiten Karte auf die erste Karte übertragenen Programmkennzeichens
enthaltenen Schlüsselplatte
enthalten.
-
Das
Verfahren ist wirkungsvoller, wenn die Authentifizierung zwischen
der ersten und der zweiten Karte gegenseitig ist. Es umfasst:
-
Entweder
eine erste Authentifizierung der zweiten Karte durch die erste Karte
und eine zweite Authentifizierung der ersten Karte durch die zweite Karte,
die auf die erste Authentifizierung folgt, wenn die zweite Karte
durch die erste Karte authentifiziert wird und auf die die Ausführung des
Programms folgt, wenn die ersten Karte durch die zweite Karte authentifiziert
wird,
oder eine zweite Authentifizierung der ersten Karte durch
die zweite Karte und eine zweite Authentifizierung der zweiten Karte
durch die erste Karte, die auf die erste Authentifizierung folgt,
wenn die erste Karte durch die zweite Karte authentifiziert wird
und auf die die Ausführung
des Programms folgt, wenn die zweite Karte durch die erste Karte
authentifiziert wird.
-
Alle
ersten Karten müssen
nicht notwendigerweise durch eine zweite Karte authentifiziert werden.
Wenigstens ein Teil der Authentifizierung kann als Antwort auf eine
von der zweiten Karte auf die erste Karte übertragene Authentifizierungsanfrage ausgeführt werden.
-
Die
erste Karte braucht nicht die Hardware- oder Softwaremittel zur
Beteiligung an der Authentifizierung zu enthalten. In diesem Fall
kann das Verfahren die in einem Server des Telekommunikationsnetzes
als Antwort auf eine Anfrage der ersten Karte ausgeführten Stufen
der Authentifizierung umfassen. Die Ausführung des Pro gramms erfordert
eine vorherige Überprüfung der
Buchhaltung dieser drei Einheiten, ob sie nun wenigstens teilweise
in der ersten Karte oder dem Terminal oder in der zweiten Karte stattfindet.
In dieser Hinsicht kann das Verfahren einen Lesevorgang der Merkmale
für die
die Ausführung
des Programms in der zweiten Karte ab der ersten Karte oder dem
Terminal als Antwort auf ein Einführen der zweiten Karte in ein
mit dem Terminal verbundenes Lesemittel und eine Analyse der Merkmale im
Vergleich zu den Hardware- oder Software-Kapazitäten der ersten Karte und/oder
dem Terminal umfassen, um die zweite Karte abzulehnen, wenn die genannten
Merkmale mit der ersten Karte und/oder dem Terminal inkompatibel
sind.
-
Weitere
Merkmale und Vorteile der vorliegenden Erfindung werden bei der
Lektüre
der nachfolgenden Beschreibung mehrerer bevorzugter Ausführungen
der Erfindung unter Bezugnahme der entsprechenden beigefügten Zeichnungen
deutlich, in denen:
-
1 ein Blockdiagramm eines
zellularen Funktelefonnetzes mit einem detailliert dargestellten mobilen
Terminal ist;
-
2 ein Algorithmus der Hauptstufen
des Verfahrens zur Vorkontrolle der Ausführung eines Programms gemäß der Erfindung
ist;
-
3 ein Algorithmus zur gegenseitigen
Authentifizierung einer mit dem Terminal verbundenen ers ten Karte
und einer mit dem Terminal verbundenen zweiten Karte ist;
-
4 ein Algorithmus einer
ersten Authentifizierung der zweiten Karte durch die erste Karte
gemäß einer
ersten Ausführung
ist;
-
5 ein Algorithmus einer
ersten Authentifizierung der zweiten Karte durch die erste Karte
gemäß einer
zweiten Ausführung
ist;
-
6 ein Algorithmus einer
zweiten Authentifizierung der ersten Karte durch die zweite Karte
gemäß einer
ersten Ausführung
ist; und
-
7 ein Algorithmus einer
zweiten Authentifizierung der ersten Karte durch die zweite Karte
gemäß einer
zweiten Ausführung
ist.
-
Beispielhaft
wird auf den Zusammenhang eines Telekommunikationsnetzes vom Typ
digitales zellulares Funktelefonnetz RR vom Typ GSM Bezug genommen,
wie in 1 dargestellt.
Ein mobiles Funktelefonnetz TE des Funktelefonnetzes umfasst eine
erste, ein Modul mit vom Terminal abnehmbarem Mikroprozessor darstellende
Chipkarte C1 sowie eine zweite, als zusätzliche Anwendungskarte bezeichnete
Chipkarte C2, die entweder mit dem Terminal TE durch ein vom Terminal
unterschiedliches Kartenlesegerät
verbunden ist oder abnehmbar im Terminal untergebracht ist.
-
In 1 wird das Netz RR durch
einen Umschalter des mobilen Dienstes MSC für den Lokalisationsbereich,
in dem das mobile Terminal TE sich zu einem bestimmten Zeitpunkt
befindet, und eine mit dem Umschalter MSC durch einen Basisstationskontroller
BSC und mit dem Terminal TE per Funk verbundene Basisstation BTS
schematisch dargestellt. Die Einheiten MSC, BSC und BTS bilden im
Wesentlichen ein Festnetz, durch das insbesondere Signalgebungsmeldungen
mit Formsignal-, Kontroll-, Daten- und Sprachkanal übertragen
werden. Die zum Interagieren mit der ersten Karte im Terminal TE
geeignete Haupteinheit des Netzes RR ist der einem Lokalisationsspeicher
der Besucher VLS zugeordnete und wenigstens mit einem Telefonumschalter
mit Arbeitsvorbereitungsautonomie CAA des geschalteten Telefonnetzes
RTC verbundene Umschalter des mobilen Dienstes MSC. Der Umschalter
MSC verwaltet Kommunikationen für
mobile Besucherterminals, unter Einschluss des Terminals TE, das
sich zu einem bestimmten Zeitpunkt im vom Umschalter MSC bedienten
Lokalisationsbereich befindet. Der Basisstationskontroller BSC verwaltet
insbesondere die Kanalzuordnung zu den mobilen Besucherterminals; und
die Basisstation BTS deckt die funkelektrische Zelle ab, in der
sich das Terminal MS zu einem bestimmten Zeitpunkt befindet.
-
Das
Funktelefonnetz RR umfasst ebenfalls einen nominalen, mit den Speichern
VLR verbundenen und zu einer Datenbank analogen nominalen Lokalisationsspeicher
HLR. Der Speicher HLR enthält für jedes
Funktelefonterminal insbesondere die internationale Identität IMSI (International
Mobile Subscriber Identity) der ersten, als SIM-Karte (Subscriber Identity
Mobile) bezeichneten, im Terminal TE enthaltenen Chipkarte C1, das
heißt
der Identität
des die SIM-Karte besitzenden Teilnehmers, das Teilnehmerprofil
des Teilnehmers und die Nummer des Speichers VLR, an das das mobile
Terminal augenblicklich angeschlossen ist.
-
Das
in 1 detailliert dargestellte
Terminal TE umfasst eine Funkschnittstelle 30 mit dem Funktelefonnetz
RR, das im Wesentlichen einen Duplexer des Übertragungskanals und des Empfangs,
der Defrequenz-Transpositions-Schaltkreise,
analog-digitalen und digitalen-analogen Wandler, einen Modulator und
einen Demodulator und einen Verschlüsselungs- und Kanalentschlüsselungsschaltkreis
umfasst. Das Terminal TE umfasst ebenfalls einen mit einem Mikrofon 310 und
einem Lautsprecher 311 verbundenen, einem einem nicht flüchtigen
Programmspeicher EEPROM 33 und einem Datenspeicher RAM 34 zugeordneten
Mikrokontroller 32 Spracheverschlüsselungs- und -entschlüsselungsschaltkreis 31 und
einer die Chipkarten C1 und C2 bedienenden Eingangs-Ausgangs-Schnittstelle 35,
eine Tastatur 36 und eine Grafikanzeige 37. Der
Mikrokontroller 32 ist durch einen Bus BU mit der Schnittstelle 30,
dem Schaltkreis 31 und den Speichern 33 und 34 verbunden
und durch einen anderen Bus BS mit der Eingangs-Ausgangs-Schnittstelle 35.
Der Mikrokontroller 32 verwaltet alle Datenverarbeitungen
im Frequenzband, die das Terminal empfängt und nach Frequenztransposition
insbesondere relativ zu den Protokollschichten 1, 2 und 3 des Modells
ISO überträgt und den
Datenaustausch zwischen dem Netz RR durch die Funkschnittstelle 30 und
die erste Chipkarte C1 durch die Eingangs-Ausgangs-Schnittstelle 35 überwacht.
-
Die
SIM-Chipkarte C1 ist mit der wenigstens ein Kartenlesegerät im Terminal
enthaltenden Eingangs-Ausgangs-Schnittstelle 35 und
den Außensteckern
des mobilen Terminals verbunden. Die Chipkarte C1 enthält im Wesentlichen
einen Mikroprozessor 10, einen Speicher 11 vom
Typ ROM mit einem Betriebssystem der Karte und Kommunikations-,
Anwendungs- und spezifischen Authentifizierungsalgorithmen, einem
nicht flüchtigen
Speicher 12 vom Typ EEPROM, der alle mit dem Teilnehmer
verbundenen Merkmale enthält,
insbesondere die internationale Identität des Teilnehmers IMSI, und
einen Speicher 13 vom Typ RAM, der im Wesentlichen zur
Verarbeitung von vom Mikrokontroller 32 zu empfangenden, im
Terminal und in der zweiten Karte C2 inbegriffenen und auf diese
zu übertragenden
Daten bestimmt ist.
-
Wie
in 1 dargestellt wird
ein Authentifizierungsserver SA optional als interne Einheit des Funktelefonnetzes
RR vorgesehen und ist mit einem oder mehreren Wandlerpaaren für mobile
Dienste MSC und Lokalisationsspeicher der Besucher VLR durch das
Signalgebungsnetz des Netzes RR verbunden. Die Adresse des Servers
SV ist im Speicher 12 der Karte C1 vorgespeichert.
-
Mehrere
Softwareprogramme werden im Wesentlichen in die Speicher ROM 11 und
EEPROM 12 geladen, um Anwendungen in zusätzlichen
Karten C2 zu verwalten. Insbesondere wird der Algorithmus des in 2 dargestellten Verfahrens
zur Vorkontrolle in den Speichern 11 und 12 implementiert.
-
Wie
die SIM-Karte C1 umfasst die zweite Karte C2 ebenfalls einen Mikroprozessor 20,
einen ROM-Speicher 21 mit einem Betriebssystem der Karte
C2 und wenigstens teilweise ein Anwendungsprogramm PA und einen
spezifischen Authentifizierungsalgorithmus, einen nicht flüchtigen
Speicher 12 vom Typ EEPROM mit einem Kennzeichen IPA des Anwendungsprogramms
sowie den für
die Ausführung
des Programms notwendigen Merkmalen CPA und ein oder zwei Authentifizierungsanfragen
DA1 und DR2 und einen Speicher RAM 13, der die vom Mikrokontroller 32 und
dem Prozessor 10 zu empfangenden Daten verarbeitet. Die
Karte C2 ist zum Beispiel eine Bankenkarte, eine Karte eines elektronischen
Geldbeutels, eine Spielkarte oder eine Besucherkarte; in diesem
Fall ist die Besucherkarte zum Einführen des Namens und der Telefonnummer
der Person, die die Karte in das Telefonverzeichnis der SIM-Karte übergeben
hat, und/oder zum automatischen Aufrufen der genannten Person bestimmt.
-
Die
Speicher ROM und EEPROM 11, 12, 21 und 22 in
den Karten C1 und C2 umfassen Kommunikationssoftware für den Dialog
einerseits mit dem Mikrokontroller 32 des Terminals TE,
andererseits zwischen den Prozessoren 10 und 20 durch
das Terminal TE, das heißt,
durch den Mikrokontroller 32 und die Eingangs-Ausgangs-Schnittstelle 36.
-
Zum
Dialog untereinander sind die SIM-Karte C1 und die zusätzliche
Karte C2 vom proaktiven Typ, um Aktionen im mobilen Terminal MS
mittels vorformatierter, gemäß der Empfehlung
GSM 11.14 (SIM Toolkit) eingekapselter Befehle und gemäß dem Protokoll „T = 0" der Norm ISO 7816-3
auszulösen. Diese
Empfehlung lässt
eine Erweiterung des Befehlssatzes des im Speicher 11, 21 der
Chipkarte C1, C2 enthaltenen Betriebssystems zu, um der anderen Karte
C2, C1 durch die Chipkarte C1, C2 übertragene Daten zur Verfügung zu
stellen. Wie wir im Folgenden sehen werden, kann das Terminal TE
für einen bestimmten
Datenaustausch zwischen den Karten C1 und C2 durchlässig sein
oder kann mit einer der Karten kommunizieren, ohne mit der anderen
zu kommunizieren.
-
Wie
in 2 dargestellt, umfasst
das Verfahren zur Vorkontrolle der Ausführung eines in der zweiten
Karte C2 enthaltenen Anwendungsprogramms PA vier Hauptstufen E1
bis E4. Zu Beginn wird das Verfahren zur Vorkontrolle in einer Stufe
E0 entweder manuell durch Ansprechen einer auf der Tastatur des
Terminals TE vorbestimmten Bestätigungstaste
oder durch Validieren einer auf dem Bildschirm des Terminals nach
dem Einführen
der Karte C2 in das Lesegerät
angezeigten Anweisung „BESTÄTIGEN EINFÜHREN ZUSÄTZLICHE
KARTE" oder automatisch
durch das Terminal TE als Antwort auf eine durch das vom Terminal
TE unterschiedliche Lesegerät übertragene
oder in die Eingangs-Ausgangs-Schnittstelle 35 integrierte
Anwesenheitsmeldung der Karte ausgelöst, wie das der Karte C1. Dann
fordert das Terminal TE die erste Karte C1, die SIM-Karte, zum Abfragen
der zweiten Karte C2 auf.
-
Gemäß der in 2 dargestellten Ausführung erfolgt
der gesamte Vorgang im Verlauf der nachfolgenden Stufen E1 bis E4,
als ob das Terminal TE, das heißt, der
Mikrokontroller 32 und die Eingangs-Ausgangs-Schnittstelle 35,
für die
zwischen den beiden Karten ausgetauschten Daten durchlässig ist.
-
In
der folgenden Stufe E1 liest und speichert die Karte C1 im Speicher
EEPROM 12 Dienstinformationen IS im Speicher EEPROM 22 der
Karte C2 über
das Terminal TE. Die Dienstinformationen enthalten das Kennzeichne
IPA des Anwendungsprogramms PA, die für die Ausführung des Programms erforderlichen
Merkmale CPA und häufig
auch eine Authentifizierungsanfrage DA. Die Merkmale CPA sind insbesondere
vom Typ Softwareumfeld, eine Speicherkapazität und für die Ausführung des Programms PA notwendige
Hardwareparameter des Terminals TE sowie ein Ausführungsverbot
oder eine Ausführungszulassung
des Programms PA außerhalb
der zweiten Karte CA. Die erste Karte C1 hat somit dank der in der
zweiten Karte C2 gelesenen Informationen IS Kenntnis von der Art
der dem in der zweiten Karte enthaltenen Anwendungsprogramm entsprechenden
Anwendung.
-
Wenn
die erste Karte C1 in der folgenden Stufe E2 eine Unvereinbarkeit
des Terminals TE unter Einschluss der Karte C1, mit den Anwendungsprogrammmerkmalen
CPA feststellt, verweigert die Karte die Fortführung des Verfahrens zur Vorkontrolle
in einer Stufe E21 und meldet dem Terminal TE eine Ablehnung, damit
es eine Meldung „ZUSÄTZLICHE
KARTE INKOMPATIBEL" anzeigt.
-
Im
gegenteiligen Fall entscheidet die Karte C1 die Fortführung oder
die Nicht-Fortführung
des Verfahrens zur Vorkontrolle in einer Zwischenstufe E22. Wenn
die Karte C1 das Verfahren zur Vorkontrolle nicht unverzüg lich fortführt, zum
Beispiel aufgrund eines Anrufs des Terminals, verschiebt die Karte
C1 die Vorkontrolle, um das Programme PA später zurückzuführen oder es in der Karte C2
ausführen
zu lassen.
-
Wenn
die erste Karte C1 nach der Stufe E22 das Verfahren zur Vorkontrolle
fortführt, überprüft sie in
den in der Karte C2 gelesenen Anwendungsprogrammmerkmalen CPA, dass
eine Authentifizierung wenigstens einer der Karten durch die zweite
Karte C2 in der Stufe E3 erforderlich ist.
-
Erfolgt
keine Authentifizierungsanfrage, geht das Verfahren zur Vorkontrolle
von der Stufe E3 auf die Stufe E4 über, die in der Entscheidung über die Stelle
besteht, an der das Anwendungsprogramm PA ausgeführt werden soll. Die Ausführungsstelle
des Programms wird unter den drei Einheiten, nämlich der ersten, als SIM-Karte bezeichneten
Karte C1, der zweiten, als zusätzliche
Karte bezeichneten Karte C2 und dem Terminal TE unter Einsatz der
proaktiven Befehle des Anwendungs-Toolkits der SIM-Karte mit dem Terminal
ausgewählt.
-
Gemäß einer
ersten Variante wird das Anwendungsprogramm PA ab der zweiten Karte
C2 in die erste Karte C1 durch Softwarelesemittel multipler Karten
(„multiple
cardreaders") des
Anwendungs-Toolkits geladen, damit das Programm PA in der folgenden
Stufe E5 in der Karte C1 ausgeführt wird.
-
Gemäß einer
zweiten Variante wird das Programm PA in der zweiten Karte C2 in
der Stufe E5 ausgeführt.
Gemäß einer
ersten Option wird das Programm PA unter der Steuerung der SIM-Karte
C1 aufgerufen, die anschließend die
Initiative des Befehls- und Antwortaustauschs für die Ausführung des Programms dem Terminal
TE überlässt, das
direkt mit der zweiten Karte kommuniziert. Gemäß einer zweiten Option wird
das Programm PA unter der Steuerung der SIM-Karte C1 aufgerufen,
und jeglicher Befehls- und Antwortaustausch erfolgt zwischen der
Karte C2 und dem Terminal TE durch die Karte C1, die dem Terminal
die Illusion vermittelt, das Programm PA selbst zu enthalten und
auszuführen.
-
Gemäß einer
dritten Variante wird das Programm PA ab der zweiten Karte C2 in
das Terminal TE geladen und in der Stufe E5 in einem zu Beginn zu
diesem Zweck im Terminal implementierten Softwareausführungsumfeld
ausgeführt.
-
Nach
der Stufe E4 wird das in der Karte C2 gelesene Programm PA in der
Stufe E5 ausgeführt. Dieses
Programm stellt dem Teilnehmer einen Dienst bereit, zum Beispiel
durch das Anzeigen von Textmenüs
auf der Anzeige 37, den Datenerwerb des Teilnehmers durch
die SIM-Karte C1, den Versand von Anfragen an das Netz RR oder RTC
und die Auswertung von Antworten auf die Anfragen.
-
Gemäß einer
anderen Ausführung
werden die in der SIM-Karte C1 in den Stufen E1 bis E4 durchgeführten und
links in 2 dargestellten
Operationen mit Ausnahme der Operationen bezüglich der nachstehend im Einzelnen
beschriebenen gegenseitigen Authentifizierung ausgeführt, das
heißt unter
der Steuerung des Mikrokontrollers 32. Somit liest das
Terminal die Dienstinformatio nen IS (ISA, CPA, DA) in der Stufe
E1 und entscheidet selbst die Fortführung der Vorkontrolle der
Ausführung
des Programms in den Stufen E2, E3 und E4.
-
Bei
der Rückkehr
zur Stufe E3 der 2 löst die erste
Karte C1 eine gegenseitige Authentifizierung der Karten aus, wenn
eine Authentifizierungsanfrage DA1 in den in der Karte C2 gelesenen
und in der Karte C1 gespeicherten Dienstinformationen IS enthalten
ist. Die gegenseitige Authentifizierung umfasst gemäß der in 3 dargestellten Ausführung eine
erste Authentifizierung A1 der zweiten Karte C2 durch die erste
Karte C1, und dann, als Antwort auf die Authentifizierung der zweiten
Karte, eine zweite Authentifizierung A2 der ersten Karte C1 durch
die zweite Karte C2. Die Reihenfolge der Authentifizierungen kann
jedoch auch umgekehrt sein: Die Authentifizierung A2 der Karte C1
durch die Karte C2 wird zuerst durchgeführt, dann wird die Authentifizierung
A1 der Karte C2 durch die erste Karte C1 anschließend in
Antwort auf die Authentifizierung der ersten Karte durchgeführt.
-
Die
erste Authentifizierung A1 gewährleistet, dass
ein in einer zusätzlichen
Karte, wie zum Beispiel der Karte C2 enthaltenes Anwendungsprogramm
nur ausgeführt
werden kann, wenn dieses Programm ordnungsgemäß zertifiziert ist. Die Authentifizierung A1
umfasst die Stufen A11 bis A15.
-
In
der auf die Stufe E3 folgenden Stufe A11 überprüft die erste Karte C1, die
SIM-Karte, dass sie einen ersten, in den Speichern ROM 11 und
EEPROM 12 verwalte ten und eingeschriebenen Authentifizierungsalgorithmus
AA1 enthält.
Ist dies der Fall, führt
die Karte C1 in der Stufe A12 die Authentifizierung der Karte C2
durch. Wenn die Karte C2 in der Stufe A11 nicht von der Karte C1
authentifiziert werden kann, überträgt die SIM-Karte
C1 eine Anfragemeldung einer ersten Authentifizierung über das Terminal
TE an den mit dem vorübergehend
mit dem Terminal TE über
das Festnetz BTS-BSC-MSC verbundenen Lokalisationsspeicher der Besucher
VLR verbundenen Authentifierungsserver SA; der Server SA nimmt direkt
die Authentifizierung der Karte C2 anstelle der Karte C1 vor, wie
bei einer der ersten beiden nachstehend beispielhaft beschriebenen
Authentifizierungen. In der letzten Stufe A14 der ersten Authentifizierung
A1 durch die Karte C1 oder den Server SA folgt auf die gegenseitige
Authentifizierung die zweite Authentifizierung A2, wenn die Karte C2
authentifiziert wird; ansonsten wird die gegenseitige Authentifizierung
gestoppt und das Kontrollverfahren wird mit der Stufe A15 abgeschlossen,
wobei die SIM-Karte die Meldung „ZUSÄTZLICHE KARTE NICHT AUTHENTIFIZIERT" überträgt, um sie vorübergehend
auf der Anzeige 37 anzuzeigen.
-
Gemäß einer
ersten, in 4 dargestellten Ausführung besteht
eine erste Authentifizierung A12a der Karte C2 in der Karte C1 (oder
im Server SA) in der Bestätigung
eines in der Stufe E1 von der Karte C2 auf die Karte C1 zuvor in
die Dienstinformationen IS übertragenen
Zertifikats einer zweiten Karte CERT und enthält im Wesentlichen vier Stufen
A120 bis A124.
-
In
der ersten Stufe A120 wird das Kennzeichen IPA des Anwendungsprogramms
PA im Speicher EEPROM 12 der Karte C1 gelesen. Das Kennzeichen
IPA dient als Leseadresse in einer im Speicher 12 enthaltenen
Platte geheimer Schlüssel
TKa, um dort einen dem Programm PA oder einer das Programm PA enthaltende
Programmfamilie entsprechenden geheimen Schlüssel Ka zu lesen. Das Kennzeichen
IP und der Schlüssel
Ka werden auf einen Authentifizierungsalgorithmus AA1a angewendet,
der in der Stufe A121 ein Ergebnis R1 produziert. Der Algorithmus
AA1a ist zum Beispiel vom Typ DES (Data Encryption Standard), wie
die anderen im Folgenden in der Beschreibung genannten Authentifizierungsalgorithmen.
Das Zertifikat CERT wird in der Stufe A122 in der Karte C1 gelesen,
um mit dem Ergebnis R1 in der der Stufe A14 entsprechenden Stufe A123
verglichen zu werden: Wenn R1 = CERT, wird das Zertifikat CERT zertifiziert,
und die Karte C2 wird durch die Karte C1 authentifiziert, wobei
die Authentifizierung der Karte C1 in der Stufe A2 durchgeführt wird;
andernfalls werden das Authentifizierungsverfahren und die Vorkontrolle
in der Stufe A15 gestoppt.
-
Eine
andere erste Authentifizierung A12b der Karte C2 in der Karte C1
wird in 5 dargestellt.
Sie umfasst Stufen A124 bis A129 und besteht in der Bestätigung des
Ergebnisses SG einer in der zweiten Karte C2 in Abhängigkeit
von einer durch die erste Karte C1 übertragenen zufälligen Zahl
NA durchgeführten
Berechnung durch die Karte C1.
-
Im
Anschluss an die Stufe A11 wählt
die Karte C1 eine durch einen pseudo-zufälligen Generator gelieferte
pseudo-zufällige
Zahl NA1 aus, welchen der Prozessor 10 enthält, um ihn
in eine auf die Karte C2 in der Stufe A124 über das Terminal TE übertragene
Authentifizierungsanfragemeldung einzuführen. Als Antwort auf die Authentifizierungsanfrage speichert
die zweite Karte C2 die übertragene
zufällige
Zahl NA1 vorübergehend
im Speicher 23 und liest in der Stufe A125 einen geheimen
Schlüssel
Kb im Speicher EEPROM 22. In der Stufe A126 werden die zufällige Zahl
NA1 und der Schlüssel
Kb auf einen Authentifizierungsalgorithmus AA1b angewendet, der
eine Unterschrift SG2 produziert.
-
Analoge
Stufen A127 und A128 werden praktisch zeitgleich in den Stufen A125
und A126 in der ersten Karte C1 realisiert. In der Stufe A127 wird im
Anschluss an die Erstellung der Authentifizierungsanfragemeldung
die zufällige
Zahl NA1 in den Speicher RAM 13 der Karte C1 eingeschrieben,
und das Kennzeichen IPA wird im Speicher EEPROM 12 der
Karte C1 gelesen, um eine Platte geheimer Schlüssel Kb im Speicher EEPROM 12 im
Lesevorgang zu adressieren. Anschließend werden in der Stufe A128
die im Speicher 13 gelesene zufällige Zahl NA1 und der in der
Platte TKb gelesene Schlüssel
Kb auf den ebenfalls in den Speichern ROM 11 und EEPROM 12 der
Karte C1 implementierten Algorithmus AA1b angewendet. Ein Ergebnis
R2 wird vom Algorithmus AA1b in der Karte C1 produziert.
-
Schließlich überträgt die zweite
Karte C2 in der Stufe A129 die Unterschrift SG2 über das Terminal TE auf die
erste Karte C1, um sie mit dem Ergebnis R2 zu vergleichen. Die mit
der Stufe A14 äquivalente
Stufe A129 authentifiziert die Karte C2 in der Karte C1, wenn R2
= SG2 zwecks Ausführung
der Stufe A20, oder lehnt die Karte C2 ab, wenn R2 unterschiedlich
von SG2 ist, und die Stufe E15 stoppt das Authentifizierungsverfahren
und das Verfahren zu Vorkontrolle.
-
In
der einen wie der anderen ersten Authentifizierung werden die geheimen
Schlüssel
Ka, Kb vor der Stufe A120, A124 bei der anfänglichen Personalisierung der
Karte C1 zum Zeitpunkt des Abonnements des Benutzers und Besitzers
der Karte in den Speicher EEPROM 12 der SIM-Karte C1 geladen oder
werden im Verlauf der Nutzung der Karte heruntergeladen, zum Beispiel
um verändert
oder vervollständigt
zu werden.
-
Eine
dritte Ausführung
der ersten Authentifizierung besteht in der Übertragung in der Stufe E1, von
der zweiten Karte auf die erste Karte: ein Anwendungsprogrammkennzeichen
IPA, ein Kennzeichen der zweiten Karte, typischerweise die Seriennummer CSN,
für „Card Serial
Number" im Englischen,
und eine Zahl RND als Funktion der IPA und der CSN. Wenn die erste
Karte bereits eine Zulassung für
das Triplett IPA, CSN, RDN enthält,
ist die Authentifizierung erfolgreich. Wenn jedoch die erste Karte
nicht bereits eine Authentifizierung für dieses Triplett besitzt,
kontaktiert sie sie ein Zulassungszentrum mittels eines gesicherten
Kanals und überträgt das Triplett
IPA, CSN, RND sowie ei ne einzigartige, mit der ersten Karte als
ihre CSN oder IMSI verbundene Zahl an dieses Zulassungszentrum.
-
Das
Zulassungszentrum überprüft in einer Datenbank,
dass das Triplett IPA, CSN, RND einer zugelassenen Karte entspricht.
Ist dies nicht der Fall, überträgt das Zulassungszentrum
eine Meldung auf die erste Karte, die anzeigt, dass die zweite Karte nicht
zugelassen ist. Wenn das Triplett einer zweiten zugelassenen Karte
entspricht, überprüft das Zulassungszentrum
in einer Datenbank, dass die zweite Karte nicht bereits einer anderen, „ersten" Karte zugeordnet
ist. Ist dies der Fall, sendet das Zulassungszentrum eine Meldung
an die erste Karte, die ein Fehlschlagen der Authentifizierung anzeigt.
Wenn die zweite Karte noch keiner ersten Karte zugeordnet ist, ändert das
Zulassungszentrum die Datenbank derart, dass die zweite Karte der
ersten Karte zugeordnet wird, anschließend sendet das Zulassungszentrum
der ersten Karte eine Meldung, die den Erfolg der Authentifizierung
anzeigt. Dann speichert die erste Karte die Zulassung, um die erneute
Kontaktierung de Zulassungszentrums bei einer späteren Authentifizierungsphase
zu vermeiden.
-
In
diesem dritten Ausführungsmodus
der ersten Authentifizierung kann man optional eine zweite Karte
nicht mehr einer einzigen ersten Karte zuordnen, sondern einer Gruppe
von ersten Karten, so dass die Nutzung ein und derselben zweiten
Karte durch eine kleine Gruppe von Nutzern ermöglicht wird.
-
Unter
erneuter Bezugnahme auf 3 hat die
zweite Authentifizierung A2 eingesetzt, wenn in der Stufe A14 die
Gleichheit R1 = CERT gemäß der Authentifizierung
A12a oder die Gleichheit RES1 = SG gemäß der Authentifizierung A12b
gegeben ist. Die Authentifizierung A2 gewährleistet, dass die erste Karte
C1, die SIM-Karte, durch die zweite Karte C2 ordnungsgemäß berechtigt
wird, um das Anwendungsprogramm PA in der Karte C2 auszulösen und zu
lesen.
-
Die
zweite Authentifizierung A2 beginnt durch eine vorherige Überprüfung der
Notwendigkeit derselben in einer Stufe A20 durch Suchen des Vorhandenseins
einer Authentifizierungsanfragemeldung DR2 in den Dienstinformationen
IS im Speicher 12. Wenn die Authentifizierung A2 mangels
Anfrage DA2 nicht durchgeführt
wird, geht das Verfahren zur Vorkontrolle direkt zur Bestimmung
der Ausführungsstelle
des Anwendungsprogramms E4 über.
Andernfalls werden die Stufen A21 bis A25 der zweiten Authentifizierung
jeweils auf analoge Weise in den Stufen A11 bis A15 der ersten Authentifizierung
A1 durchgeführt.
-
In
der auf die Stufe A20 folgenden Stufe A21 überprüft die Karte C1, dass sie zur
Teilnahme an der zweiten Authentifizierung im eigentlichen Sinne
fähig ist.
Im Fall der Unfähigkeit
sendet die Karte C1 über das
Terminal TE eine Anfragemeldung einer zweiten Authentifizierung
an den Authentifizierungsserver SA, der in der Stufe A23 an der
zweiten Authentifizierung anstelle der Karte C1 wie in der nachstehend
im Einzelnen be schriebenen Stufe A22 teilnimmt. Nach Abschluss A24
der Stufe A22 oder A23 der Authentifizierung der Karte C1 mit der
Beteiligung der Karte C1 oder des Servers SA durch die Karte C2
wird die Karte C1 entweder authentifiziert und das Verfahren zur
Vorkontrolle geht zur Stufe der Bestimmung des Ausführungsortes
E4 über,
oder sie wird nicht authentifiziert und das Verfahren zur Vorkontrolle
wird in der Stufe A25 durch die Vorlage der Meldung „SIM-KARTE
NICHT ZUGELASSEN" auf
der Anzeige 37 des Terminals TE beendet.
-
Gemäß einer
ersten in 6 dargestellten Ausführung umfasst
die zweite Authentifizierung A22a die Stufen A220 und A222 und besteht
in einer Übertragung
eines vorbestimmten Feldes der internationalen Identnummer IMSI
(International Mobile Subscriber Identity) des Teilnehmers und Besitzers von
der SIM-Karte C1 auf die zweite Karte C2 und in einem Vergleich
des übertragenen
Feldes mit einer zuvor in der Karte C2 gespeicherten Nummer.
-
In
einer Stufe A220 wird das vorbestimmte Feld in der im Speicher 12 der
Karte C1 enthaltenen Identnummer IMSO gelesen. Das vorbestimmte
Feld ist zum Beispiel die zweistellige Vorwahl MNC (Mobile Network
Code) des Funktelefonnetzes RR, an das der Teilnehmer angeschlossen
ist, oder die gesamte Vorwahl MNC und die Landesvorwahl MCC (Mobile Country
Code), zu dem das Netz RR gehört,
damit die allgemein vom Betreiber des Netzes RR ausgegebene Karte
C2 überprüft, dass
die SIM-Karte effektiv dem Betreiber gehört. Gemäß einer anderen Variante ist
das vorbestimmte Feld ein Präfix
der Nummer des Teilnehmers MSIN (Mobile Subscriber Identification
Number), die einer Teilnehmergruppe gemeinsam ist.
-
Als
Antwort auf das vorbestimmte Feld, zum Beispiel die Vorwahl MNC
in der Karte C2, wird in der Stufe A221 eine äquivalente Nummer MNC2 im Speicher 22 gelesen.
Die folgende, der Stufe A24 äquivalente
Stufe A222 vergleicht die Nummern MNC und MNC2 und leitet das Verfahren
zur Vorkontrolle im Falle der Ungleichheit zur Stufe E4; andernfalls
wird die Authentizität
der Karte C1 nicht von der Karte C2 anerkannt, die das Terminal
TE direkt oder über
die SIM-Karte S1 zur Anzeige der Meldung der Stufe A25 auffordert,
und das Verfahren zur Vorkontrolle wird gestoppt.
-
Gemäß einer
zweiten, in 7 dargestellten Ausführung, umfasst
die zweite Authentifizierung A22b die Stufen A223 bis A229 und besteht
in der Bestätigung
des Ergebnisses SG2 durch die Karte C2 einer in der ersten Karte
C1 in Abhängigkeit
von einer von der Karte C1 bei der Karte C2 angefragten zufälligen Zahl
NA2 durchgeführten
Berechnung.
-
Im
Anschluss an die Stufe A21 sendet die Karte C1 in der Stufe A223 über das
Terminal TE eine Anfragemeldung der zufälligen Zahl an die Karte C2. Die
Karte C1 liest in ihrem Speicher EEPROM 22 eine vom Prozessor 20 gelieferte
zufällige
Zahl NA2, die sie über
das Terminal TE auf die Karte C1 überträgt, die sie vorübergehend
in der Stufe A224 speichert. In der Karte C1 folgt auf die Anfragestufe
der zufälligen
Zahl ein Lesevorgang A225 des Anwendungsprogrammkennzeichens IPA
im Speicher EEPROM 12. Das Kennzeichen dient zum Adressieren einer
Platte geheimer Schlüssel
TC im Lesevorgang, um dort einen dem Programm PA oder einer das
Programm PA umfassenden Programmfamilie entsprechenden Schlüssel C zu
lesen. Die empfangene zufällige
Zahl NA2 und der gelesene Schlüssel
C werden auf einen Algorithmus einer zweiten Authentifizierung AA2
in der in der Stufe A226 eine Unterschrift SG3 liefernde Karte C1
angewendet, wobei die Unterschrift über das Terminal TE auf die
Karte C2 übertragen
wird.
-
Nach
der Auswahlstufe der zufälligen
Zahl A224 wird der Schlüssel
in der Karte C2 im Speicher 22 mit der zufälligen Zahl
NA2 in einer Stufe A227 gelesen, um sie auf den ebenfalls in den
Speichern 21 und 22 in der Karte 2 implementierten
Algorithmus AA2 anzuwenden. In der Stufe A228 produziert der Algorithmus
AA2 ein Ergebnis R3. Die von der Karte C2 empfangene Unterschrift
SG3 wird in der Stufe A229 mit dem Ergebnis R3 verglichen, die äquivalent mit
der Stufe A24 ist. Die Karte C1 wird durch die Karte C2 authentifiziert,
wenn SG3 = R3 und das Verfahren zur Vorkontrolle geht in die Stufe
E4 über.
Andernfalls, wenn SG3 ≠ R3,
lehnt die Karte C2 die Karte C1 in der Stufe A25 ab, und die SIM-Karte
verlangt vom Terminal TE die Anzeige der Meldung „SIM-KARTE NICHT ZUGELASSEN", und das Verfahren
zur Vorkontrolle ist abgeschlossen.
-
Wenn
die Authentifizierung der Karte C1 durch die Karte C2 erfolglos
ist, bleiben im Allgemeinen die in der Karte C2 enthaltenen Programme
ganz oder teilweise unlesbar oder nicht ausführbar.
-
Gemäß einem
anderen Ausführungsmodus gibt
es eine gegenseitige Authentifizierung der beiden Karten vor der
Ausführung
des Programms der zweiten Karte, gefolgt von einer Authentifizierung während der
Ausführungssitzung
des Programms. Zunächst
generiert jede Karte eine zufällige
Zahl, die sie auf die andere Karte überträgt. Auf der Grundlage der beiden
zufälligen
Zahlen berechnet jede Karte einen als Sitzungsschlüssel bezeichneten
Schlüssel. Jede
Karte wendet einen den Sitzungsschlüssel verwendenden Verschlüsselungsalgorithmus
auf eine bekannte Meldung, wie die beiden zufälligen Zahlen an und erhält eine
verschlüsselte
Meldung.
-
Jede
Karte überträgt ihre
verschlüsselte
Meldung auf die andere Karte und überprüft die Authentizität der von
der anderen Karte erhaltenen verschlüsselten Meldung.
-
Die
Ausführung
des Programms kann fortgeführt
werden, wenn die beiden Karten sich gegenseitig authentifiziert
haben. Während
der gesamten Ausführungssitzung
des Programms werden alle von einer Karte auf die andere übertragenen
Meldungen auf folgende Weise authentifiziert: Ein Algorithmus wird
auf die zu übertragende
Meldung angewendet, um einen Abdruck der genannten Meldung zu erhalten.
Ein den Sitzungsschlüssel
benutzender Unterschriftsalgorithmus wird auf den Abdruck angewen det,
um eine Unterschrift zu erhalten, die mit der Meldung übertragen
wird, der er entspricht. Wenn die Karte von der anderen Karte eine
Meldung mit ihrer Unterschrift empfängt, berechnet sie erneut einen Abdruck
und eine Unterschrift, die der empfangenen Meldung entsprechen,
und überprüft, dass
diese Unterschrift mit der mit der Meldung empfangenen Unterschrift
identisch ist.