-
Technisches
Gebiet der Erfindung
-
Diese
Erfindung bezieht sich auf ein Verfahren zum Aufbauen einer sicheren
Verbindung zwischen einer Vorrichtung zur drahtlosen Kommunikation über ein
drahtloses Kommunikationsnetz gemäß einem Protokoll für drahtlose
Anwendungen. Ferner bezieht sich die Erfindung auf eine Vorrichtung
zur drahtlosen Kommunikation, auf eine Speicherkarte und auf ein
dem Verfahren zugeordnetes System.
-
Das
Protokoll für
drahtlose Anwendungen (WAP) definiert eine industrieweite Spezifikation
für die
Entwicklung von Anwendungen, die über drahtlose Kommunikationsnetze
arbeiten. Der drahtlose Markt wächst
sehr schnell und erreicht neue Kunden und Dienste. Um zu ermöglichen,
dass Betreiber und Hersteller die Herausforderungen fortgeschrittener Dienste,
der Differenzierung und einer schnellen/flexiblen Diensterstellung
erfüllen,
sind eine Menge von Protokollen hinsichtlich der Transport-, der
Sicherheits-, der Übertragungs-,
der Kommunikationssteuer- und der Anwendungsschicht entworfen worden.
-
Hintergrund
der Erfindung
-
Die
WAP-Sicherheitsfunktionalität
enthält
die Wireless Transport Layer Security (WAPWTLS) und die Sicherheit
auf der Anwendungsebene, auf die unter Verwendung von Wireless Markup
Language Script (WMLScript) zugegriffen werden kann. Für eine optimale
Sicherheit müssen
einige Teile der Sicherheitsfunktionalität von einer manipulationssicheren
Vorrichtung ausgeführt
werden, so dass ein Angreifer keine sensiblen Daten auslesen kann.
Solche Daten sind insbesondere die ständigen privaten Schlüssel, die
beim WTLS-Quittungsaustausch
mit Client-Authentisierung sowie zum Erstellen elektronischer Signaturen
auf der Anwendungsebene (wie etwa zur Bestätigung einer Transaktion auf
Anwendungsebene) verwendet werden. Außerdem sind die Master-Schlüssel (Master-Geheimnisse)
bei WTLS verhältnismäßig langlebig – dies könnten mehrere Tage
sein – um
häufige
volle Quittungsaustausche, die sowohl rechentechnisch als auch wegen
der verhältnismäßig großen Datenübertragung
recht schwierig sind, zu vermeiden. Die Master-Geheimnisse werden
als eine Entropiequelle verwendet, um MAC-Schlüssel und Nachrichtenver schlüsselungsschlüssel zu
berechnen, die dazu verwendet werden, je nach Nutzung von WTLS eine
beschränkte
Anzahl von Nachrichten zu sichern.
-
US-A-5.307.411
beschreibt den Aufbau einer sicheren Kommunikationssitzung zwischen
zwei Kommunikationseinheiten wie etwa Telephonen oder Faxgeräten. Die
sichere Sitzung wird durch getrennte Verifizierungseinheiten auf
der Grundlage von Smart Cards gesteuert, die jeweils einer der Kommunikationseinheiten
zugeordnet ist. Diese zwei Verifizierungseinheiten tauschen Zufallszahlen
aus, verschlüsseln
diese Zahlen unter Verwendung privater Schlüssel und geben die verschlüsselten
Zufallszahlen an ihren Ursprung zurück. Daraufhin wird die verschlüsselte Zufallszahl
auf der Grundlage öffentlicher Schlüssel entschlüsselt. Wenn
die empfangenen Zahlen den gesendeten Zahlen entsprechen, verifizieren
die Teilnehmer einander, wobei die sichere Sitzung stattfinden kann.
Allerdings erfordert dies, dass beide Kommunikationseinheiten mit
einem Smart-Card-Leser versehen sind, der keine notwendige Ausrüstung in
einem Server wie z. B. in einem Internet-Server ist. Somit ist dieser
Zugang recht beschränkend
für den
Anwender, da er erfordert, dass beide Teilnehmer einen Smart-Card-Leser
besitzen, und weniger geeignet für
die Kommunikation zwischen einer Vorrichtung zur drahtlosen Kommunikation
und einer Datenkommunikationsvorrichtung. Außerdem muss jedes Mal, wenn
zwischen den zwei Kommunikationsvorrichtungen eine Sitzung aufgebaut
werden soll, ein Austausch von Schlüsseln erfolgen.
-
Außerdem offenbart
US-A-5.371.794 von Sun Microsystems eine Möglichkeit, eine sichere drahtlose
Kommunikationsverbindung zwischen einer mobilen Nomadenvorrichtung
und einer Basiscomputereinheit zu schaffen. Die Mobilvorrichtung sendet
ein Host-Zertifikat zusammen mit einem zufällig gewählten Authentifizierungswert
(CH1) und einer Liste unterstützter
gemeinsam genutzter Schlüsselalgorithmen
an die Basis. Die Basis sendet eine in dem öffentlichen Schlüssel der
Mobileinrichtung verschlüsselte
Zufallszahl (RN1) und eine Kennung für den ausgewählten Algorithmus
an die Mobileinrichtung zurück.
Die Basiseinrichtung sichert den Wert RN1 und fügt den Wert CH1 und den ausgewählten Algorithmus
zu der Mobileinrichtung hinzu. Die Mobileinrichtung verifiziert
gemäß dem öffentlichen Schlüssel der
Basiseinrichtung die Signatur in der Nachricht. Wenn der öffentliche
Schlüssel
verifiziert ist, bestimmt die Mobileinrichtung durch Entschlüsseln des öffentlichen
Schlüssels
gemäß dem privaten Schlüssel der
Mobileinrichtung den Wert von RN1. Daraufhin erzeugt die Mobileinrichtung
RN2 und einen Sitzungsschlüssel,
wobei sie RN2 gemäß dem öffentlichen
Schlüssel
der Basiseinrichtung für
die Basiseinrichtung verschlüsselt.
Die Basiseinrichtung verifiziert und entschlüsselt den RN2 und bestimmt den
Sitzungsschlüssel.
Schließlich
können
die Mobileinrichtung und die Basiseinrichtung in eine Datenübertragungsphase
eintreten, die die verschlüsselten Daten
verwendet, die unter Verwendung des Sitzungsschlüssels, d. h. RN1 + RN2, entschlüsselt worden
sind. Die Werte von RN1 und RN2 werden immer aus dem letzten Schlüsselaustausch,
d. h. aus dem Anfangsverbindungsaufbau oder aus der letzten Schlüsselaustauschnachricht,
je nachdem, was neuer ist, abgeleitet. Das heißt, jedes Mal, wenn eine Datenübertragung
erfolgt, werden auf der Grundlage von RN1 und RN2 zwei neue Zahlen
erzeugt, was die Datenübertragung
recht langsam macht. Somit muss wie in US-A-5.307.411 jedes Mal,
wenn zwischen den zwei Vorrichtungen, in diesem Fall zwischen der mobilen
Nomadenvorrichtung und der Basiscomputereinheit, eine Sitzung aufgebaut
werden soll, ein Austausch von Schlüsseln erfolgen.
-
Ein
weiteres Verschlüsselungsschema
zur Verwendung bei Smart Cards, das für mobile drahtlose Kommunikationssysteme
geeignet ist, ist in WO-A-97/24831 beschrieben. In dieser Anordnung wird
in der Smart Card ein Master-Schlüssel (MK) gehalten und aus
dem Masterschlüssel
ein abgeleiteter Schlüssel
(DK) abgeleitet, um die Kommunikationssicherheit zu verbessern.
Der abgeleitete Schlüssel wird
für jede
Datenkommunikationssitzung aufgebaut.
-
Zusammenfassung der Erfindung
-
Die
Hauptaufgabe der vorliegenden Erfindung ist das Aufbauen einer sicheren
Verbindung zwischen einer Vorrichtung zur drahtlosen Kommunikation
und einer Datenkommunikationsvorrichtung auf der Grundlage eines
Protokolls für
drahtlose Anwendungen.
-
Eine
weitere Aufgabe ist es, zu ermöglichen, dass
der Anwender eine sichere Verbindung bei einer späteren Gelegenheit
erneut aufbaut, da das Aufbauen einer sicheren Verbindung sowohl
rechentechnisch als auch wegen der starken Datenübertragung eine schwierige
Prozedur ist. Aus diesem Grund ist es notwendig, das gegenseitig
vereinbarte Master-Geheimnis für
eine verhältnismäßig lange
Zeit zu verwenden. Das Problem ist, den Master-Schlüssel auf
eine sichere Weise zu speichern. Teilweise wegen dieses Problems
ist es die übliche Praxis,
den Lebenszyklus des Master-Geheimnisses und der zugeordneten sicheren
Sitzung beispielsweise auf 24 Stunden zu begrenzen, wonach die schwierige Schlüsselaufbauprozedur
erneut ausgeführt
werden muss.
-
In Übereinstimmung
mit der vorliegenden Erfindung kann die Hauptaufgabe dadurch gelöst werden,
dass Mittel zur drahtlosen Kommunikation einer Vorrichtung zur drahtlosen
Kommunikation, z. B. eines Zellentelephons, mit einer getrennten
Einheit, z. B. einer Smart Card oder einer SIM-Card (Teilnehmerkennungsmodul-Karte),
verbunden werden, die die sensiblen Daten einer sicheren Verbindung
speichern kann. Die Vorrichtung zur drahtlosen Kommunikation besitzt
Kontaktmittel, z. B. drahtlose Mittel (z. B. Infrarotmittel, Radiofrequenzmittel
usw.) oder physikalische Mittel (d. h. einen elektrischen Kontakt), zum
Empfang von Informationen von der getrennten Einheit, d. h., die
Einheit ist mit Speichermitteln versehen. Die Speichermittel halten
Informationen, um den Zugriff der Vorrichtung zur drahtlosen Kommunikation über ein
drahtloses Kommunikationsnetz, z. B. über ein Zellentelephonnetz,
auf eine Datenkommunikationsvorrichtung, z. B. auf einen Server,
der ein Protokoll für
drahtlose Anwendungen (WAP) unterstützt, zu steuern.
-
Allgemeiner
schafft die Erfindung ein Verfahren zum Aufbauen einer sicheren
Verbindung zwischen einer Vorrichtung zur drahtlosen Kommunikation
und einer Datenkommunikationsvorrichtung über ein drahtloses Kommunikationsnetz
gemäß einem Protokoll
für drahtlose
Anwendungen, wobei die Vorrichtung zur drahtlosen Kommunikation
Mittel zur drahtlosen Kommunikation für eine Kommunikation mit der
Datenkommunikationsvorrichtung über
das Netz, eine getrennte Einheit, die mit Speichermitteln versehen
ist, die Informationen für
die Steuerung des Zugriffs der Mittel zur drahtlosen Kommunikation über das
drahtlose Kommunikationsnetz speichern, und Kontaktmittel, die die
Informationen von der getrennten Einheit empfangen, umfasst, wobei
das Verfahren die folgenden Schritte umfasst: Schaffen einer Verbindung
zwischen den Mitteln für
drahtlose Kommunikation und der getrennten Einheit über die
Kontaktmittel, Zugreifen auf die Datenkommunikationsvorrichtung über das
drahtlose Kommunikationsnetz, Senden einer Anforderung von der Vorrichtung
zur drahtlosen Kommunikation zu der Datenkommunikationsvorrichtung,
um eine Verbindung aufzubauen, wobei in dem Verfahren die Anforderung
Informationen darüber
enthält,
welchen im Voraus definierten Algorithmus bzw. welche im Voraus
definierten Algorithmen die Vorrichtung zur drahtlosen Kommuni kation
unterstützt,
bei Empfang der Anforderung bei der Datenkommunikationsvorrichtung
wenigstens ein Algorithmus ausgewählt wird, dem ein öffentlicher
und ein privater Schlüssel
zugeordnet sind, eine Nachricht, die den öffentlichen Schlüssel sowie
Informationen für
den ausgewählten
Algorithmus enthält,
zu der Vorrichtung zur drahtlosen Kommunikation zurückgesendet
wird, bei der Vorrichtung zur drahtlosen Kommunikation ein Master-Geheimcode
erzeugt wird, bei der Vorrichtung zur drahtlosen Kommunikation eine
Signatur auf der Grundlage des ausgewählten Algorithmus, des öffentlichen
Schlüssels
und des Master-Geheimcodes berechnet wird und eine Antwort, die
die berechnete Signatur enthält,
an die Datenkommunikationsvorrichtung gesendet wird, bei Empfang
der die Signatur enthaltenden Antwort der Master-Geheimcode auf
der Grundlage des ausgewählten
Algorithmus, der empfangenen Signatur und des privaten Schlüssels bei
der Datenkommunikationsvorrichtung berechnet wird und eine sichere
Verbindung mit der Vorrichtung zur drahtlosen Kommunikation aufgebaut
wird, und der Master-Geheimcode in den Speichermitteln der getrennten
Einheit und in der Datenkommunikationsvorrichtung gesichert wird, um
den erneuten Aufbau der sicheren Verbindung bei einer späteren Gelegenheit
zu ermöglichen.
-
Außerdem schafft
die Erfindung eine Vorrichtung zur drahtlosen Kommunikation zum
Aufbauen einer sicheren Verbindung mit einer Datenkommunikationsvorrichtung
auf der Grundlage eines Protokolls für drahtlose Anwendungen, wobei
die Vorrichtung zur drahtlosen Kommunikation umfasst: Kommunikationsmittel
zum Aufbauen einer Verbindung mit einem drahtlosen Kommunikationsnetz,
das mit der Datenkommunikationsvorrichtung verbunden ist, eine getrennte
Einheit mit Speichermitteln, die mit Informationen versehen ist,
um den Zugriff auf die Datenkommunikationsvorrichtung über das
drahtlose Kommunikationsnetz zu steuern, Kontaktmittel, die Informationen
von der getrennten Einheit empfangen, und Mittel, die einen Master-Geheimcode
erzeugen, wobei die Steuermittel so konfiguriert sind, dass sie
einen im Voraus definierten Algorithmus zum Erzeugen einer Signatur
auf der Grundlage des Master-Geheimcodes und eines von der Datenkommunikationsvorrichtung
empfangenen öffentlichen Schlüssels verwenden,
der verwendet wird, wenn die Vorrichtung zur drahtlosen Kommunikation
eine sichere Verbindung mit der Datenkommunikationsvorrichtung aufbaut,
wobei die Speichermittel der getrennten Einheit so konfiguriert
sind, dass sie wenigstens einen Master-Geheimcode und/oder wenigstens eine
Signatur speichern, um den erneuten Aufbau der si cheren Verbindung
bei einer späteren
Gelegenheit zu ermöglichen.
-
Außerdem schafft
die Erfindung eine Speicherkarte zum Aufbauen einer sicheren Verbindung zwischen
einer Vorrichtung zur drahtlosen Kommunikation und einer Datenkommunikationsvorrichtung auf
der Grundlage eines Protokolls für
drahtlose Anwendungen, wobei die Karte so konfiguriert ist, dass sie
mit Kontaktmitteln, die in der Vorrichtung zur drahtlosen Kommunikation
vorgesehen sind, verbunden wird, um Informationen von der Speicherkarte
für die
Vorrichtung zur drahtlosen Kommunikation beim Aufbau einer sicheren
Verbindung mit einer Datenkommunikationsvorrichtung bereitzustellen,
wobei die Informationen so beschaffen sind, dass sie den Zugriff
auf die Datenkommunikationsvorrichtung über ein drahtloses Kommunikationsnetz
steuern, wobei die Karte so konfiguriert ist, dass sie einen erzeugten Master-Geheimcode,
der auf eine oder auf mehrere Sitzungen mit der Datenkommunikationsvorrichtung bezogen
ist, sichert, wenn die sichere Verbindung aufgebaut wird, und in
Reaktion auf eine spätere
Anforderung von der Vorrichtung zur drahtlosen Kommunikation diesen
vorher gesicherten Code für
die Verwendung während
der Kommunikation mit der Datenkommunikationsvorrichtung bereitstellt,
um erneut eine sichere Verbindung aufzubauen.
-
Außerdem schafft
die Erfindung ein System zum Aufbauen einer sicheren Verbindung,
wenn ein Protokoll für
drahtlose Anwendungen verwendet wird, mit: einer Datenkommunikationsvorrichtung,
einem drahtlosen Kommunikationsnetz, das mit der Datenkommunikationsvorrichtung
verbunden ist, einer Vorrichtung zur drahtlosen Kommunikation, die mit
der Datenkommunikationsvorrichtung über das drahtlose Kommunikationsnetz
gemäß dem Protokoll für drahtlose
Anwendungen kommuniziert, wobei die Vorrichtung zur drahtlosen Kommunikation
Mittel zur drahtlosen Kommunikation für eine Kommunikation mit der
Datenkommunikationsvorrichtung über
das Netz, eine getrennte Einheit mit Speichermitteln, die mit Informationen
zum Steuern des Zugriffs auf die Datenkommunikationsvorrichtung über das
drahtlose Kommunikationsnetz versehen ist, und Kontaktmittel zum
Empfangen von Informationen von der getrennten Einheit umfasst,
wobei die Vorrichtung zur drahtlosen Kommunikation so beschaffen
ist, dass sie eine Anforderung an die Datenkommunikationsvorrichtung
sendet, um eine Verbindung aufzubauen, wobei die Anforderung Informationen
darüber
enthält,
welchen im Voraus definierten Algorithmus bzw. welche im Voraus
definierten Algorithmen die Vorrichtung zur drahtlosen Kommunikation
unterstützt,
die Datenkommunikationsvorrichtung so konfiguriert ist, dass sie
bei Empfang der Anforderung wenigstens einen Algorithmus auswählt, dem
ein öffentlicher
Schlüssel und
ein privater Schlüssel
zugeordnet sind, und eine Nachricht zu der Vorrichtung zur drahtlosen
Kommunikation zurücksendet,
wobei die Nachricht den öffentlichen
Schlüssel
und Informationen darüber
enthält,
welchen Algorithmus die Datenkommunikationsvorrichtung wählen wird,
die Vorrichtung zur drahtlosen Kommunikation so beschaffen ist,
dass sie bei Empfang der den öffentlichen
Schlüssel
enthaltenden Nachricht einen Master-Geheimcode erzeugt, auf der
Grundlage des ausgewählten
Algorithmus, des öffentlichen
Schlüssels
und des Master-Geheimcodes eine Signatur berechnet und eine Antwort
an die Datenkommunikationsvorrichtung sendet, wobei die Antwort
die berechnete Signatur enthält,
und die Datenkommunikationsvorrichtung so beschaffen ist, dass sie
bei Empfang der Antwort den Master-Geheimcode auf der Grundlage
des ausgewählten
Algorithmus, der empfangenen Signatur und des privaten Schlüssels berechnet
und eine sichere Verbindung mit der Vorrichtung zur drahtlosen Kommunikation aufbaut,
und die Speichermittel der getrennten Einheiten so konfiguriert
sind, dass sie den Master-Geheimcode sichern, um die Verbindung
bei einer späteren
Gelegenheit erneut aufzubauen.
-
Weitere
Merkmale und Vorteile der Erfindung sind aus den Unteransprüchen offensichtlich.
-
Ein
Vorteil der Verwendung der getrennten Einheit bei der Herstellung
der sicheren Verbindung ist, dass es wesentlich leichter ist, eine
Verbindung zu der Datenkommunikationsvorrichtung erneut aufzubauen.
Somit ist es möglich,
Informationen, z. B. Signaturen, geheime Schlüssel usw. zur Wiederverwendung
in einer weiteren sicheren Verbindung in den Speichermitteln zu
sichern. Um Betrug zu vermeiden, kann die Wiederverwendung der sicheren Verbindung
auf eine begrenzte Zeitdauer beschränkt werden. Dadurch, dass diese
Informationen in den Speichermitteln gesichert werden, wird die
zweite Aufgabe gelöst.
-
Ein
weiterer Vorteil ist, dass der Anwender beim Wiederherstellen einer
sicheren Sitzung weniger zahlt, falls die erforderlichen Informationen
für die Wiederherstellung
gesichert sind.
-
Um
eine Verbindung aufzubauen, verbinden die Mittel zur drahtlosen
Kommu nikation mit der getrennten Einheit, wobei die Vorrichtung
zur drahtlosen Kommunikation auf das drahtlose Kommunikationsnetz
zugreift, das mit der Datenkommunikationsrichtung verbunden ist.
Daraufhin sendet die Vorrichtung zur drahtlosen Kommunikation eine
Anforderung zu der Datenkommunikationsvorrichtung. Diese Anforderung
enthält
Informationen darüber,
welchen im Voraus definierten Algorithmus bzw. welche im Voraus
definierten Algorithmen die Vorrichtung zur drahtlosen Kommunikation
unterstützt.
Wenn die Datenkommunikationsvorrichtung diese Anforderung empfängt, wählt sie
wenigstens einen Algorithmus aus, dem ein öffentlicher Schlüssel und
ein privater Schlüssel
zugeordnet sind, wobei sie eine Nachricht zu der Vorrichtung zur
drahtlosen Kommunikation zurücksendet.
Diese Nachricht umfassten den öffentlichen
Schlüssel
sowie Informationen darüber,
welchen Algorithmus die Datenkommunikationsvorrichtung ausgewählt hat.
Wenn die Vorrichtung zur drahtlosen Kommunikation die Nachricht,
die den öffentlichen
Schlüssel
umfasst, empfängt,
erzeugt sie einen Master-Geheimcode und berechnet sie auf der Grundlage
des ausgewählten
Algorithmus, des öffentlichen
Schlüssels
und des Master-Geheimcodes eine Signatur. Anschließend sendet
die Vorrichtung zur drahtlosen Kommunikation eine Antwort zu der Datenkommunikationsvorrichtung.
Diese Antwort umfasst die berechnete Signatur. Wenn die Datenkommunikationsvorrichtung
die die Signatur enthaltende Antwort empfängt, berechnet sie auf der Grundlage
des ausgewählten
Algorithmus, der empfangenen Signatur und des privaten Schlüssels den Master-Geheimcode.
Schließlich
kann die Datenkommunikationsvorrichtung eine sichere Verbindung zu
der Vorrichtung zur drahtlosen Kommunikation aufbauen.
-
Kurzbeschreibung der Zeichnung
-
1 veranschaulicht schematisch
eine bevorzugte Ausführungsform
eines tragbaren Handtelephons gemäß der Erfindung.
-
2 zeigt schematisch die
Hauptteile eines Telephons zur Kommunikation mit einem Zellennetz oder
schnurlosen Netz.
-
3 zeigt schematisch, wie
die sichere Sitzung zwischen einem Client/Telephon und einem Server
gemäß der Erfindung
aufgebaut wird.
-
4 veranschaulicht die Nachrichtenstruktur
zum Aufbau einer sicheren Verbindung gemäß der Erfindung.
-
Ausführliche
Beschreibung von Ausführungsformen
-
1 zeigt eine bevorzugte
Ausführungsform
eines Telephons gemäß der Erfindung,
wobei zu sehen ist, dass das allgemein mit 1 bezeichnete
Telephon eine Anwenderschnittstelle mit einer Tastatur 2,
einer Anzeige 3, einem Ein/Aus-Knopf 4, einem Lautsprecher 5 und
einem Mikrofon 6 umfasst. Das Telephon 1 gemäß der bevorzugten
Ausführungsform
ist an die Kommunikation über
ein Zellennetz angepasst, könnte
aber ebenfalls für
ein schnurloses Netz konstruiert sein. Die Tastatur 2 besitzt
eine erste Tastengruppe 7 als alphanumerische Tasten, mittels der
der Anwender eine Telephonnummer eingeben kann, eine Textmeldung
(SMS) schreiben kann, einen (der Telephonnummer zugeordneten) Namen schreiben
kann usw. Jede der zwölf
alphanumerischen Tasten 7 ist jeweils mit einer Ziffer "0–9" oder mit einem Zeichen "#" oder "*" versehen.
In der Alpha-Betriebsart sind jeder Taste eine Anzahl von Buchstaben
und Sonderzeichen zugeordnet, die bei der Textbearbeitung verwendet
werden.
-
Außerdem umfasst
die Tastatur 2 zwei Funktionstasten 8, zwei Verbindungsbearbeitungstasten 9 und
eine Navigationstaste 10.
-
Die
zwei Funktionstasten 8 besitzen eine Funktionalität, die der
entspricht, die von den Telephonen Nokia 2110TM,
Nokia 8110 TM und Nokia 3810TM bekannt ist. Die Funktionalität der Funktionstaste
hängt vom
Zustand des Telephons und von der Navigation in dem Menü unter Verwendung
einer Navigationstaste ab. Die derzeitige Funktionalität der Funktionstasten 8 ist
in der Anzeige 3 direkt über den Tasten 8 in
getrennten Feldern gezeigt.
-
Die
zwei Verbindungsbearbeitungstasten 9 gemäß der bevorzugten
Ausführungsform
werden dazu verwendet, einen Ruf oder einen Konferenzruf aufzubauen,
einen Ruf abzuschließen
oder einen ankommenden Ruf zurückzuweisen.
-
Die
Navigationstaste 10 ist eine Auf/Ab-Taste, die zwischen
der Anzeige 3 und der Gruppe der alphanumerischen Tasten 7 mittig
auf der vorderen Oberfläche
des Telephons angeordnet ist. Hierdurch kann der Anwender diese
Taste mit seinem Daumen steuern. Dies ist die beste Stelle, eine
Eingabetaste anzuord nen, die genaue motorische Bewegungen erfordert.
Viele erfahrene Telephonanwender sind an die Einhandhabung gewöhnt. Sie
ordnen das Telephon in der Hand zwischen den Fingerspitzen und dem
Handteller an. Hierdurch ist der Daumen zur Informationseingabe
frei.
-
Um
Verständnis
für die
Erfindung zu schaffen, zeigt 2 schematisch
die wichtigsten Teile einer bevorzugten Ausführungsform des Telephons. Die
bevorzugte Ausführungsform
des Telephons der Erfindung ist an die Verwendung in Verbindung
mit dem GSM-Netz angepasst, wobei die Erfindung aber natürlich ebenfalls
in Verbindung mit anderen Telephonnetzen wie etwa mit Zellennetzen
in verschiedenen Formen schnurloser Telephonsysteme oder in Zweibandtelephonen,
die auf Mengen dieser Systeme/Netze zugreifen, angewendet werden
kann. Das Mikrofon 6 zeichnet die Sprache des Anwenders
auf, wobei die dadurch gebildeten analogen Signale in einem (nicht
gezeigten) A/D-Umsetzer A/D-umgesetzt werden, bevor die Sprache
in einem Audioteil 14 codiert wird. Das codierte Sprachsignal
wird an den Controller 18 übertragen, der unter anderem
die GSM-Endgerät-Software
unterstützt.
Außerdem
bildet der Controller 18 die Schnittstelle zu den Peripherieeinheiten
der Vorrichtung, die einen RAM-Speicher 17a und einen Flash-ROM-Speicher 17b,
eine SIM-Karte 16, die Anzeige 3 und die Tastatur 2 (sowie
die Datenzufuhr, die Stromversorgung usw.) umfassen. Der Controller 18 kommuniziert
mit der Sender/Empfänger-Schaltung 19.
Der Audioteil 14 sprachcodiert das Signal, das von dem
Controller 18 über
einen (nicht gezeigten) D/A-Umsetzer an die Hörmuschel 5 übertragen
wird.
-
Der
Controller 18 ist mit der Anwenderschnittstelle verbunden.
Somit ist es der Controller 18, der die Aktivität in dem
Telephon überwacht
und in Reaktion darauf die Anzeige 3 steuert.
-
Deshalb
ist es der Controller 18, der das Auftreten eines Zustandsänderungsereignisses
erfasst und den Zustand des Telephons und somit den Anzeigetext ändert. Ein
Zustandsänderungsereignis kann
durch den Anwender bewirkt werden, wenn er die Tastatur einschließlich der
Navigationstaste 10 aktiviert, wobei dieser Ereignistyp
ein Eintrittsereignis oder Anwenderereignis genannt wird. Allerdings kann
das Netz, das mit dem Telephon kommuniziert, außerdem ein Zustandsänderungsereignis
veranlassen. Dieser Ereignistyp und andere Ereignisse außerhalb
der Kontrolle des Anwenders werden Nicht-Anwen derereignisse genannt.
Nicht-Anwenderereignisse umfassen eine Zustandsänderung während des Verbindungsaufbaus,
eine Änderung
der Batteriespannung, eine Änderung
der Antennenbedingungen, eine Nachricht beim SMS-Empfang usw.
-
Eine
Smart Card (SC) ist ein Beispiel einer manipulationssicheren Vorrichtung.
In dem Telephon kann sie das Teilnehmerkennungsmodul (SIM) oder eine
externe Smart Card sein.
-
Die
Art und Weise, in der ein Telephon und eine Smart Card in Wechselwirkung
treten, ist als ein Befehls-Antwort-Protokoll spezifiziert. Das
Ziel dieses Protokolls ist es, Mittel zu schaffen, damit ein WAP-Handapparat
Smart Cards bei der Ausführung von
WTLS und Sicherheitsfunktionen auf der Anwendungsebene verwendet.
Die hier dargestellte Funktionalität beruht auf der Forderung,
dass in der Karte sensible Daten, insbesondere Schlüssel, gespeichert werden
können
und dass alle Operationen, von denen diese Schlüssel betroffen sind, in der
Karte ausgeführt
werden können.
Um zu definieren, wie umfassend die Funktionalität implementiert ist, werden
verschiedene Klassen der Karten eingeführt.
-
Die
Spezifikation beruht auf der Normenserie ISO7816 über Smart
Cards. Insbesondere nutzt sie die Norm (Entwurf) ISO7816-8 [ISO7816-8].
Wenn diese Funktionalität
auf das GSM-SIM angewendet wird, kann es, wo anwendbar, erforderlich
sein, außerdem
die verwandten GSM-Spezifikationen [GSM11.11] zu erweitern.
-
Gemäß der Erfindung
wird die Smart Card 16 dazu verwendet, die Sicherheit der
Implementierung der Sicherheitsschicht und bestimmter Funktionen der
Anwendungsschicht zu erhöhen.
Die Smart Card 16 kann für mehrere Zwecke für WTLS verwendet werden.
Der Hauptzweck der Smart Card 16 ist es, während des
Quittungsaustauschs, insbesondere, wenn der Quittungsaustausch für die Client-Authentisierung
verwendet wird, kryptographische Operationen auszuführen. Außerdem wird
der Speicher der Smart Card 16 dazu verwendet, ein Master-Geheimnis,
einen öffentlichen
Schlüssel
und einen weiteren Typ von vertraulichem Material während langlebiger WTLS-Sitzungen
zu sichern. Schließlich
wird der Speicher der Smart Card 16 dazu verwendet, die Ebenensicherheit
der Sitzungen aufzuzeichnen. Gemäß der Erfindung
kann die WTLS- Unterstützung in einer
Smart Card 16 in Bezug auf die folgenden drei Ausführungsformen
beschrieben werden.
-
Erste Ausführungsform
-
Gemäß dieser
Ausführungsform
wird die Smart Card 16 zur Speicherung dauerhafter, typischerweise
zertifizierter, privater Schlüssel
und zur Ausführung
von Operationen unter Verwendung dieser Schlüssel verwendet. Die Operationen
enthalten Unterzeichnungsoperationen (z. B. ECDSA oder RSA) für die Client-Authentisierung,
wenn sie für
das ausgewählte
Quittungsaustauschschema erforderlich sind; Schlüsselaustauschoperationen unter
Verwendung eines festen Client-Schlüssels (z. B. ECDH-Schlüssel in
dem ECDH_ECDSA-Quittungsaustausch).
-
Die
Smart Card 16 ist nicht erforderlich, um die Berechnung
des Master-Geheimnisses oder Operationen unter Verwendung des Master-Schlüssels auszuführen. Diese
Berechnungen können
vorteilhaft von dem Controller 18 des Telephons ausgeführt werden.
Allerdings kann die Smart Card 16 als ein beständiger Speicher
für Daten
sicherer WTLS-Sitzungen (und -Verbindungen) einschließlich Master-Geheimnissen
wirken. In diesem Fall würden die
Master-Geheimnisse
zur Schlüsselableitung
in dem flüchtigen
Telephonspeicher (dem RAM 17a) berechnet und verwendet,
während
sie von dort gelöscht
würden,
wenn sie im Moment, z. B. wenn der Anwender aus sicheren WAP-Anwendungen
austritt, nicht benötigt
werden. Der Umstand, dass die Sitzungsdaten nicht im Telephon 1 beständig gespeichert
werden, kann die Sicherheit, z. B. im Fall eines gestohlenen Telephons 1,
verbessern. Außerdem bringt
es eine bessere Benutzerfreundlichkeit im Fall des Auswechselns
der Smart Card 16 von einem Telephon 1 zu einem
anderen.
-
Außerdem kann
die Smart Card 16 für
die Übertragbarkeit
benötigte
Zertifikate speichern. Die Speicherung vertrauenswürdiger Stammzertifikate (oder öffentlicher
Schlüssel)
besitzt außerdem
Bedeutung unter dem Sicherheitsgesichtspunkt: Sie dürfen nicht
geändert
werden – können aber
gefahrlos offenbart werden.
-
Es
wird angemerkt, dass bei der Verwendung eines Schlüsselaustauschs,
der gemäß der ersten
Ausführungsform
der Erfindung auf der Verschlüsselung öffentlicher
Schlüssel
(z. B. RSA) beruht, kein Vorteil darin besteht, eine Verschlüsselung der öffentlichen
Schlüssel
in der Smart Card 16 vorzunehmen, wenn das Pre-Master-Geheimnis
ohnehin zur Berechnung des Master-Geheimnisses in dem Controller 18 an
das Telephon 1 zurückgegeben wird.
-
Wenn
die Client-Authentisierung in WTLS nicht unterstützt wird, wirkt die Smart Card 16 wenigstens
lediglich als ein Speicher für
Sitzungsdaten. Falls die Client-Authentisierung unterstützt wird, kann
die Karte eine Unterzeichnungsoperation, die auf einem in der Karte
gespeicherten privaten Schlüssel
(z. B. ECDSA oder RSA) beruht, oder eine Schlüsselübereinstimmungsberechnung (z.
B. ECDH), die auf einem festen in der Karte gespeicherten Schlüssel beruht,
ausführen.
-
Zweite Ausführungsform
-
Gemäß der zweiten
Ausführungsform
wird die Smart Card 16 als eine manipulationssichere Vorrichtung
für die
gesamte verschlüsselungskritische Funktionalität: Speicherung
aller beständigen Schlüssel und
Operationen unter Verwendung dieser Schlüssel, verwendet. Neben den
gemäß der ersten Ausführungsform
ausgeführten
Operationen unterstützt
die Smart Card 16 jetzt ebenfalls die Berechnung (ECDH-Schlüsselaustausch)
oder Erzeugung (RSA-Schlüsselaustausch)
des Pre-Master-Geheimnisses; die Berechnung und Speicherung des
Master-Geheimnisses für
jede sichere Sitzung; und die Ableitung und Ausgabe des Schlüsselmaterials
(für den
MAC, den Verschlüsselungsschlüssel, den
IV, die Endprüfung)
auf der Grundlage des Master-Geheimnisses.
-
Das
Telephon 1 speichert den MAC- und den Nachrichtenverschlüsselungsschlüssel, solange
sie momentan benötigt
werden. Diese Schlüssel
besitzen eine begrenzte Lebensdauer, die während des WTLS-Quittungsaustauschs
ausgehandelt werden kann – im
Extremfall werden sie lediglich für eine einzige Nachricht verwendet.
Wenn der Anwender aus den sicheren WAP-Anwendungen austritt, muss
das Telephon 1 die Schlüssel
aus seinem RAM-Speicher 17a löschen. Bei Bedarf können diese
Schlüssel
immer von neuem aus dem Master-Geheimnis
abgeleitet werden.
-
Ein
Angreifer, der einen Nachrichtenverschlüsselungsschlüssel erhält, kann
so viel Nachrichten (im Extremfall eine einzelne Nachricht) lesen,
wie in der Schlüsselauffrischungskonfiguration
abgestimmt sind. Ein Angreifer, der einen MAC-Schlüssel erhält, kann
sich während
so vieler Nachrichten, wie in der Konfiguration abgestimmt sind
(im Extremfall eine einzelne Nachricht), als der gefährdete Teilnehmer
ausgeben.
-
Dritte Ausführungsform
-
Bestimmte
spezialisierte Smart Cards 16 können als vollständige Sicherheitsmaschinen
für die WTLS
wirken. Dies erfordert, dass die Smart Card 16 mit ihrer
eigenen Verarbeitungseinheit ausgestattet ist und das Telephon 1 lediglich
während
des Aufbaus einer sicheren Sitzung oder während der Quittungsaustausch-Prozedur
als eine Schnittstelle zu dem Zellennetz verwendet. Neben den Operationen gemäß der zweiten
Ausführungsform
kann die Smart Card 16 MAC- und Verschlüsselungsschlüssel für jede sichere
Verbindung speichern; sowie die MAC-Berechnung/Verifizierung und
die Verschlüsselung/Entschlüsselung
von Nachrichten ausführen.
-
Außerdem kann
die Smart Card 16 für
die Verifizierung von Zertifikaten und für die Verifizierung digitaler
Signaturen verantwortlich sein.
-
Es
wird angemerkt, dass die Nachrichtenverschlüsselung in der Smart Card 16 nicht
notwendig irgendeine zusätzliche
Sicherheit bringt, da die Daten in irgendeinem Fall als unverschlüsselter
Text in dem Telephon 1 vorliegen. Dasselbe trifft für die MAC-Berechnung
zu; es muss darauf vertraut werden, dass das Telephon 1 die
Daten auf richtige Weise ein- und ausgibt. Der einzige Vorteil besteht
hier darin, dass der Karte 16 keine Verschlüsselungsschlüssel entnommen
zu werden brauchen. Allerdings besitzen die Schlüssel eine beschränkte Lebensdauer,
die während
des WTLS-Quittungsaustauschs abgestimmt wird – im Extremfall werden sie
lediglich für eine
einzelne Nachricht verwendet. Gemäß der dritten Ausführungsform
enthält
die Smart Card 16 sämtliche
Algorithmen, so dass sie durch die Ausgeber der Smart Cards gesteuert
werden könnten.
-
Smart Card
-
Der
Begriff "Smart Card" umfasst eine kartenartige
Einheit, die gewisse Spei chermittel enthält, in denen gewisse geheime
Informationen gespeichert sind, die den Karteninhaber identifizieren.
Die Speichermittel können
ein Magnetstreifen sein, der von einem Magnetleser gelesen werden
kann, oder können
als diskrete Speicherkomponenten wie ein ROM, ein EEPROM usw. vorgesehen
sein. Wenn der Anwender die Smart Card in eine mehr oder weniger öffentliche
Vorrichtung einführt,
kann er autorisiert werden, gewisse Operationen wie etwa Banking-Operationen
auszuführen.
Derzeit wird der Anwender eines GSM-Telephons durch eine so genannte Teilnehmerkennungsmodul-Karte
oder SIM-Karte 16 identifiziert,
wobei die Struktur dieses Smart-Card-Typs in der GSM-Spezifikation "Specification of
the Subscriber Identity Modul – Mobile Equipment
(SIM-ME) interface",
GSM 11.11, Version 5.5.0, veröffentlicht vom European Telecommunications
Standards Institute: ETSI, definiert ist. Der derzeitige Typ von
Smart Cards kann die oben erläuterte erste
Ausführungsform
unterstützen.
-
Gemplus
hat kürzlich
eine Smart Card, GemXpresso RAD gestartet, die auf einem 32-Bit-Chip
von Texas Instruments beruht, der die ARM7-RISC-Kerntechnologie
verwendet. Dieser 32-Bit-RISC-Prozessor besitzt 32 kByte nichtflüchtigen
Flash-Speicher und 8 kByte ROM. Wenn die mechanische Schnittstelle
der Gemplus-Karte so beschaffen ist, dass sie der GSM-Spezifikation
genügt, kann
dieser Smart-Card-Typ die zweite und die dritte Ausführungsform
unterstützen.
-
Netz
-
3 zeigt schematisch die
sichere Sitzung, d. h. eine sichere Verbindung, zwischen einer Datenkommunikationsvorrichtung
und einer Vorrichtung zur drahtlosen Kommunikation, z. B. einem
Zellentelephon 1. Grundsätzlich sind der WAP-Inhalt
und die WAP-Anwendungen in einer Menge wohlbekannter Inhaltsformate
spezifiziert, die auf den bekannten WWW-Inhaltsformaten beruhen.
Der Inhalt wird unter Verwendung einer Menge von Standard-Kommunikationsprotokollen übermittelt,
die auf den WWW-Kommunikationsprotokollen beruhen. Ein Browser in
dem Telephon 1 koordiniert die Anwenderschnittstelle und
ist analog einem Standard-Web-Browser.
-
Die
Vorrichtung 1 zur drahtlosen Kommunikation ist ein Client 1,
der eine sichere Verbindung zu einem Server 20, 30, 40,
d. h. zu der Datenkommunika tionsvorrichtung 20, 20, 30,
aufbauen möchte.
Der Client ist in einer Umgebung vorgesehen, die es ermöglicht,
eine breite Vielfalt verschiedener drahtloser Plattformen, z. B.
das World Wide Web (WWW), zu erreichen. Die bereitgestellte Umgebung
kann als eine Umgebung für
drahtlose Anwendungen (WAE) bezeichnet werden. Das heißt, der
Client 1 kann durch eine Art Browser, z. B. durch einen
Mikro-Browser, unterstützt
werden, um auf die verschiedenen mit dem Server verbundenen Dienste
zuzugreifen. Um auf diese Dienste zuzugreifen, kann der Browser
die folgenden Funktionalitäten
umfassen:
- – Wireless
Markup Language (WML) – eine "Light"-Auszeichnungssprache, ähnlich HTML, die
aber zur Verwendung in Hand-Mobilendgeräten optimiert ist;
- – WMLScript – eine "Light"-Script-Sprache, ähnlich JavaScriptTM;
- – drahtlose
Telephonieanwendung (WTA, WTAI) – Telephoniedienste und Programmierschnittstellen;
und
- – Inhaltsformate – eine Menge
wohldefinierter Datenformate einschließlich Bildern, Telephonbucheinträgen und
Kalenderinformationen.
-
Der
Server 20 verwendet ein Protokoll für drahtlose Anwendungen und
kann ein Gateway 30 und einen Ursprungs-Server 40 umfassen.
Das Gateway 30 ist ebenfalls ein Server, der Informationen
zwischen dem Client 1 und dem Ursprungs-Server 40 identifizieren
und verschlüsseln/entschlüsseln kann.
Das heißt,
das Gateway ist mit Codierern und Decodierern (nicht gezeigt) versehen.
Außerdem umfasst
der Server 20 verschiedene Algorithmen zur Ausführung der
Verschlüsselung/Entschlüsselung. Die
Verschlüsselung/Entschlüsselung
selbst kann mit wohlbekannten Verfahren, z. B. RSA, Diffie-Hellman
usw., ausgeführt
werden. Der Ursprungs-Server 40 umfasst verschiedene Scripte,
die WAP unterstützen,
sowie Daten, auf die der Client zugreifen wird. Diese Daten können alle
Arten von Informationen, z. B. Wetterberichte, Nachrichten, Informationen
von Aktienmärkten
usw., sein.
-
Um
von dem Client 1 auf den Server 20 zuzugreifen,
muss der Server 20 mit einem drahtlosen Kommunikationsnetz 50,
z. B. mit einem Zellentelephonnetz, verbunden sein. Somit ist der
Client in Übereinstimmung
mit der vorliegenden Erfindung mit (nicht gezeigten) Kontaktmitteln
versehen, um Informationen von einer (nicht gezeigten) getrennten
Einheit zu empfangen, die mit Speichermitteln versehen ist. Diese
getrennte Einheit kann eine Smart Card, ein Teilnehmerkennungsmodul
(SIM) oder dergleichen sein. Die Speichermittel können ein Schreib-Lese-Speicher
(RAM), ein Nur-Lese-Speicher (ROM) oder dergleichen sein. Ferner
umfassen die Speichermittel Informationen zum Steuern des Zugriffs auf
den Server 20 über
das drahtlose Kommunikationsnetz 50.
-
Um
eine sichere Verbindung aufzubauen, verbindet sich der Client 1 mit
der getrennten Einheit und greift er auf das drahtlose Kommunikationsnetz 50 zu,
das mit dem Server 20 verbunden ist. Daraufhin sendet der
Client 1 eine verschlüsselte
Anforderung 60 über
das Gateway 30. Die verschlüsselte Anforderung 60 umfasst
Informationen darüber,
welchen im Voraus definierten Algorithmus bzw. welche im Voraus
definierten Algorithmen der Client 1 unterstützt. Wenn
das Gateway 30 diese verschlüsselte Anforderung 60 empfängt, sendet
es 70 die verschlüsselte
Anforderung an den Ursprungs-Server 40. Der Ursprungs-Server 40 wählt wenigstens
einen Algorithmus aus, dem ein öffentlicher
Schlüssel
und ein privater Schlüssel
zugeordnet sind, und sendet eine Nachricht 80 zurück an das
Gateway 30. Das Gateway verschlüsselt die Nachricht und sendet
sie 90 an den Client 1. Diese Nachricht 90 umfasst
den öffentlichen
Schlüssel
sowie Informationen darüber, welchen
Algorithmus der Server 20 ausgewählt hat. Wenn der Client 1 die
den öffentlichen
Schlüssel
enthaltende verschlüsselte
Nachricht 90 empfängt,
erzeugt er einen Master-Geheimcode
und berechnet er auf der Grundlage des ausgewählten Algorithmus, des öffentlichen
Schlüssels
und des Master-Geheimcodes eine Signatur. Anschließend sendet
der Client 1 eine verschlüsselte Antwort 65 an
das Gateway 30. Diese verschlüsselte Antwort 65 umfasst
die berechnete Signatur. Wenn das Gateway 30 die die Signatur enthaltende
verschlüsselte
Antwort 80 empfängt, entschlüsselt es
die Antwort 75 und sendet sie an den Ursprungs-Server 40.
Der Ursprungs-Server berechnet auf der Grundlage des ausgewählten Algorithmus,
der empfangenen Signatur und des privaten Schlüssels den Master-Geheimcode.
Schließlich sendet
der Ursprungs-Server 40 eine letzte Nachricht 85 über das
Gateway 30 an den Client. Falls der Ursprungs-Server 40 die
Anforderung 60 des Clients 1 angenommen hat, kann
der Server eine sichere Verbindung zwischen dem Ursprungs-Server 40 und dem
Client 1 aufbauen, während
die Verbindung andernfalls beendet wird.
-
Aufbau einer sicheren
Verbindung
-
4 veranschaulicht die Nachrichtenstruktur
für den
Aufbau einer sicheren Verbindung gemäß der Erfindung.
-
Die
kryptographischen Parameter der sicheren Sitzung werden durch das
WTLS-Quittungsaustausch-Protokoll erzeugt, das über der WTLS-Record-Layer arbeitet.
Wenn ein WTLS-Client und -Server zuerst mit der Kommunikation beginnen,
stimmen sie eine Protokollversion ab, wählen sie kryptographische Algorithmen,
authentisieren sie optional einander und verwenden sie Verschlüsselungstechniken mittels öffentlichem
Schlüssel,
um ein gemeinsam genutztes Geheimnis zu erzeugen.
-
Das
WTLS-Quittungsaustausch-Protokoll ist beschrieben in der Wireless
Transport Layer Security Specification, datiert vom 30. April 1998,
und ist Teil des Protokolls für
drahtlose Anwendungen.
-
Das
WTLS-Quittungsaustausch-Protokoll umfasst die folgende Folge von
Schritten: Wenn zwischen dem Telephon 1 (dem Client) und
dem Server 20 (z. B. einer Bank) eine WAP-Sitzung aufgebaut worden
ist und der Client (das Telephon 1) eine sichere Verbindung
aufbauen möchte,
sendet er als eine erste Nachricht eine Client-hallo-Nachricht 100. Diese
Nachricht enthält
eine Schlüsselaustauschliste,
die in abnehmender Reihenfolge der Präferenz die durch den Client
unterstützten
Algorithmen zum Austausch kryptographischer Schlüssel enthält. Außerdem definiert jeder Eintrag
das Zertifikat oder den öffentlichen
Schlüssel,
das bzw. den der Client verwenden möchte. Der Server wählt eines
oder einen aus oder gibt, falls keine akzeptablen Auswahlen angeboten
werden, eine handshake_failure-Warnung zurück und schließt die sichere
Verbindung.
-
Wenn
der Server 20 eine akzeptable Menge von Algorithmen finden
konnte, sendet er in Reaktion auf die Client-hallo-Nachricht 100 eine
Server-hallo-Nachricht 101.
Falls er eine solche Übereinstimmung
nicht finden kann, muss er mit einer handshake_failure-Warnung reagieren.
Diese Server-hallo-Nachricht 101 identifiziert die Sitzung
und baut die für
die Sitzung erforderlichen Parameter auf.
-
Außerdem sendet
der Server 20 eine Server-Zertifikat-Nachricht 102.
Die Server-Zertifikat-Nachricht 102 folgt immer sofort
auf die Server-hallo-Nachricht 101, wobei es der Zweck
dieser Server-Zertifikat-Nachricht 102 ist, den in der
Client-hallo-Nachricht 100 enthaltenen Verschlüsselungsalgorithmus
zu iden tifizieren, den der Server aus der Schlüsselaustauschliste ausgewählt hat.
Die Server-Zertifikat-Nachricht 102 enthält ein so
genanntes Zertifikat, das einen öffentlichen
Schlüssel für den ausgewählten Verschlüsselungsalgorithmus übermittelt.
Die Server-Zertifikat-Nachricht 102 enthält Informationen über den
Ausgeber des Zertifikats, über
den Beginn und das Ende der Gültigkeitszeitdauer
sowie relevante Parameter oder den öffentlichen Schlüssel. Der
Server kontrolliert die Gültigkeitszeitdauer,
wobei der Client die sichere Verbindung erneuern muss, wenn die
gewährte
Gültigkeitszeitdauer
abgelaufen ist. Die Länge
der Gültigkeitszeitdauer
liegt typischerweise auf dem Niveau einer Woche oder mehr. Die maximale
Nummer der Sitzung muss ebenfalls definiert werden.
-
Als
eine dritte Nachricht wird sofort nach der Server-Zertifikat-Nachricht 102 eine
Server-Schlüsselaustauschnachricht 103 gesendet.
Die Server-Schlüsselaustauschnachricht 103 ist
optional und wird von dem Server 20 nur dann gesendet, wenn
die Server-Zertifikatnachricht 102 nicht genügend Daten
enthält,
um zu ermöglichen,
dass der Client 1 ein Pre-Master-Geheimnis austauscht.
Diese Nachricht 103 befördert
kryptographische Informationen, die ermöglichen, dass der Client das
Pre-Master-Geheimnis übermittelt:
entweder einen öffentlichen
RSA-Schlüssel
zum Verschlüsseln
eines Geheimnisses damit oder Ellipsenkurven-Diffie-Hellman-Parameter,
mit denen der Client einen Schlüsselaustausch
abschließen
kann (wobei das Ergebnis das Pre-Master-Geheimnis ist). Da für WTLS zusätzliche Schlüsselaustausch-Suiten
definiert sind, die neue Schlüsselaustauschalgorithmen
enthalten, wird die Server-Schlüsselaustausch-Nachricht
dann und nur dann gesendet, wenn der dem Schlüsselaustauschalgorithmus zugeordnete
Zertifikattyp nicht genügend
Informationen liefert, damit der Client ein Pre-Master-Geheimnis
austauschen kann.
-
Außerdem ist
eine vierte Nachricht – eine Server-Zertifikatnachricht 104 – optional.
Diese Nachricht 104 fordert ein Zertifikat von dem Client
an, falls dies für
die ausgewählte
Schlüsselsuite
geeignet ist. Diese Nachricht folgt unmittelbar auf die Server-Zertifikat-Nachricht 102 und
auf die Server-Schlüsselaustausch-Nachricht 103.
-
Um
den Client zu informieren, dass der Server die Server-hallo-Sitzung
abgeschlossen hat, sendet er eine Server-hallo-fertig-Nachricht 105.
Nachdem der Server 20 diese Nachricht 105 gesendet
hat, wartet er auf eine Antwort des Client. Diese Nachricht gibt
an, dass der Server 20 Nachrichten zur Unterstützung des
Schlüsselaustauschs
gesendet hat und dass der Client 20 mit seiner Schlüsselaustauschphase
fortfahren kann.
-
Bei
Empfang der Server-hallo-fertig-Nachricht sollte der Client bei
Bedarf verifizieren, dass der Server ein gültiges Zertifikat geliefert
hat, und prüfen, dass
die Server-hallo-Parameter akzeptabel sind.
-
Falls
der Server 20 um eine Client-Zertifikat-Nachricht 107 bittet,
muss der Client 1 eine solche senden, nachdem er eine Server-hallo-fertig-Nachricht 105 empfangen
hat. Diese Nachricht wird nur dann gesendet, wenn der Server 20 ein
Zertifikat anfordert. Falls kein geeignetes Zertifikat verfügbar ist,
muss der Client eine Zertifikat-Nachricht senden, die keine Zertifikate
enthält.
Falls der Server eine Client-Authentisierung erfordert, damit der
Quittungsaustausch fortgesetzt wird, kann er mit einer schweren
handshake_failure-Warnung reagieren. Die Client-Zertifikate werden
unter Verwendung der vorher für
Server-Zertifikate
definierten Zertifikatstruktur gesendet.
-
Nun
beginnt das Telephon 1 oder der Client, eine 20-Byte-Zufallszahl
zur Verwendung als Master-Geheimnis 106 für die sicheren
Sitzungen zu berechnen. Das Master-Geheimnis 106 wird dazu
verwendet, Schlüsselmaterial
abzuleiten, das für
die Nachrichtenauthentisierungscode-Schlüssel (MAC-Schlüssel) und
für die
Datenverschlüsselungsschlüssel erforderlich
ist. Der MAC und die Datenverschlüsselung schaffen Datenintegrität und Privatsphäre zwischen
den kommunizierenden Teilnehmern. Eine Schlüsselaufstellung auf der Grundlage öffentlicher
Schlüssel
ist sowohl rechentechnisch als auch wegen der starken Datenübertragung
eine schwierige Prozedur. Aus diesem Grund besteht ein Bedarf daran,
das gegenseitig vereinbarte Master-Geheimnis 106 verhältnismäßig lange
Zeit zu verwenden.
-
Der
Prozessor oder der Controller 18 des Telephons 1 berechnet
das Master-Geheimnis.
Zur Speicherung der sensiblen Daten der sicheren Sitzung und zur
Ausführung
von Operationen unter Verwendung dieser sensiblen Daten wird eine
Smart Card, z. B. die SIM-Card 16, verwendet, die als eine manipulationssichere
Vorrichtung betrachtet werden, so dass diese Daten die Karte niemals
verlassen. In der Praxis werden die sicheren Informationen von der SIM-Karte 16 in
den Arbeits-RAM 17a des Prozessors 18 übertragen,
wobei diese Informa tionen aber überschrieben
werden, wenn keine Sitzung im Gang ist oder wenn das Telephon 1 ausgeschaltet
ist.
-
Gemäß der ersten
Ausführungsform
der Erfindung führt
der Controller 18 die für
den Schlüsselaufbau
erforderlichen Operationen, z. B. die Diffie-Hellman-Berechnung oder die
RSA-Verschlüsselungsberechnung
und die komplementären
Berechnungen, aus. Daraufhin speichert der Controller 18 den
resultierenden geheimen Schlüssel
(das Master-Geheimnis 106) beständig in der SIM-Karte 16. Daraufhin
führt der
Controller 18 auf der Grundlage des Master-Geheimnisses 106 und
zusätzlicher
Daten (z. B. Startdaten) die Schlüsselableitung aus, wobei er
das Schlüsselmaterial
für die
MAC-Berechnung und -Verschlüsselung
erzeugt. Die Schlüsselableitungsfunktion
ist sicherheitsprotokollspezifisch. Sie beruht typischerweise auf
einer sicheren Hash-Funktion, z. B. SHA-1.
-
Vorzugsweise
ist die SIM-Karte 16 als eine Smart Card mit ihrem eigenen
Prozessor vorgesehen, wodurch die beiden zum Ausführen der
Schlüsselaufstellung
und der Schlüsselableitung
auf der Grundlage des Master-Geheimnisses erforderlichen Operationen
innerhalb der Smart Card ausgeführt werden
können.
Das Master-Geheimnis und die Daten, die verwendet werden, um es
zu berechnen, brauchten die Smart Card dann nie zu verlassen. Somit
kann die dem Master-Geheimnis zugeordnete sichere Sitzung während einer
langen Zeitdauer verwendet werden.
-
Falls
die Client-Zertifikat-Nachricht 107 gesendet wird, folgt
auf sie sofort eine Client-Schlüsselaustausch-Nachricht 108.
Andernfalls ist sie die erste Nachricht, die von dem Client 1 gesendet
wird, nachdem er die Server-hallo-fertig-Nachricht 105 empfangen hat.
Mit dieser Nachricht 108 wird entweder durch direkte Übertragung
des RSA-verschlüsselten
Geheimnisses oder durch die Übertragung des öffentlichen
EC-Diffie-Hellman-Schlüssels
ein Pre-Master-Geheimnis
eingestellt, was ermöglicht, dass
jede Seite dem gleichen Pre-Master-Geheimnis zustimmt.
-
Daraufhin
wird das Master-Geheimnis 106 unter Verwendung des öffentlichen
Schlüssels
von dem Server-Zertifikat und des abgestimmten RSA-Algorithmus verschlüsselt. Das
Ergebnis wird in einer verschlüsselten
Master-Geheimnisnachricht 109 an den Server 20 gesendet.
-
Um
eine explizite Verifizierung eines Client-Zertifikats zu schaffen,
wird eine Zertifikatverifizierungsnachricht 110 verwendet.
Diese Nachricht wird von dem Client erst nach einer Client-Zertifikat-Nachricht 107,
die die Unterzeichnungsfähigkeit besitzt
(d. h. RSA-Zertifikate), gesendet.
-
Am
Ende des Quittungsaustauschs müssen beide
Enden fertige Nachrichten 111 und 112 senden,
um zu verifizieren, dass der Schlüsselaustausch- und der Authentisierungsprozess
erfolgreich waren.
-
Die
fertigen Nachrichten 111 und 112 sind die ersten
Nachrichten, die mit den eben abgestimmten Algorithmen, Schlüsseln und
Geheimnissen geschützt
sind. Die Empfänger
der fertigen Nachrichten müssen
verifizieren, dass die Inhalte richtig sind. Wenn eine Seite ihre
fertige Nachricht gesendet und die fertige Nachricht von ihrer Gegenseite
empfangen und überprüft hat,
kann sie beginnen, Anwendungsdaten 113 über die sichere Verbindung
zu senden und zu empfangen. Es ist ein entscheidender oder schwerer
Fehler, falls einer fertigen Nachricht keine Verschlüsselungsänderungs-Spezifizierungsnachricht
an dem richtigen Punkt in dem Quittungsaustausch vorangeht.
-
Der
Wert handshake_messages enthält sämtliche
Quittungsaustausch-Nachrichten, beginnend bei Client-hallo bis zu,
aber nicht einschließlich, dieser
fertigen Nachricht. Die handshake_messages für die fertige Nachricht, die
von dem Client gesendet werden, sind verschieden von jenen für die fertige Nachricht,
die von dem Server gesendet wird, da diejenige, die als Zweite gesendet
wird, die frühere
enthält.
-
Solange
eine sichere Verbindung gültig
ist, kann eine Anwendungsdatensitzung 113 einfach unter
Verwendung von Client-hallo-Nachrichten 100 und Server-hallo-Nachrichten 101 begonnen
werden.
-
Abkürzungen
-
- APDU Anwendungsprotokoll-Dateneinheit
- API Anwendungsprogrammierungs-Schnittstelle
- CA Zertifizierungsautorität
- CBC Verschlüsselungsblockverkettung
- DF zweckbestimmte Datei
- DH Diffie-Hellman
- EC Ellipsenkurve
- ECC Ellipsenkurven-Kryptographie
- ECDH Ellipsenkurven-Diffie-Hellman
- ECDSA digitaler Ellipsenkurven-Signaturalgorithmus
- EF elementare Datei
- GSM globales System für
die Mobilkommunikation
- IV Initialisierungsvektor
- MAC Nachrichtenauthentisierungscode
- ME Management-Entität
- OSI offene Systemverbindung
- PDU Protokolldateneinheit
- PRF Pseudozufallsfunktion
- SAP Dienstzugriffspunkt
- SDU Dienstdateneinheit
- SHA-1 sicherer Hash-Algorithmus
- SIM Teilnehmerkennungsmodul
- SMS Kurznachrichtendienst
- SSL sichere Sockets-Schicht
- TLS Transportschichtsicherheit
- WAP Protokoll für
drahtlose Anwendungen
- WML Wireless Markup Language
- WMLScript Wireless Markup LanguageScript
- WDP Wireless Datagram Protocol
- WSP Wireless Session Protocol
- WTLS Wireless Transport Layer Security
- WTP Wireless Transaction Protocol
-
Die
obige Liste enthält
die in dem vorliegenden Text verwendeten Akronyme. Eine ausführliche Diskussion
und Erläuterung
der Akronyme ist in den technischen Spezifikationen, die das Protokoll
für drahtlose
Anwendungen definieren, auf der Internet-Homepage für das WAPFORUM, http://www.wapforum.org/,
zu finden.