-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet
der Erfindung
-
Die
vorliegende Erfindung betrifft drahtlose Netzwerke und insbesondere
sichere Datenübertragungen über drahtlose
Netzwerke.
-
2. Beschreibung des zugehörigen Standes
der Technik
-
Drahtlose
Netzwerke werden oft zum Übertragen
von Nachrichten von einer Stelle in einem Netzwerk zu einer Zielortstelle
im Netzwerk verwendet. Diese Nachrichten enthalten zu der Zielortstelle zuzuführende Daten.
Spezifischer enthalten die Nachrichten einen Anfangsblockteil und
einen Datenteil. Der Anfangsblockteil enthält eine Adresse der Zielortstelle
und der Datenteil enthält
Daten. Die Zielortstelle ist beispielsweise eine mobile Vorrichtung
oder ein Server. Eine mobile Vorrichtung interagiert typischerweise
mit drahtlosen Netzwerken, um verschiedene Typen von Benachrichtigungen
zu empfangen oder um Daten von einem anderen Netzwerk, mit welchem
das drahtlose Netzwerk verbunden ist, anzufordern und zu empfangen.
-
1 ist
ein Blockdiagramm eines herkömmlichen
drahtlosen Kommunikationsnetzwerks 100. Das drahtlose Kommunikationssystem 100 enthält einen
Server 102, ein drahtloses Netzwerk 104 und mobile
Vorrichtungen 106. Es gibt n mobile Vorrichtungen 106-1 bis 106-n.
Der Server 102 ist typischerweise ein Computersystem, das
arbeitet, um Nachrichten zu dem mobilen Vorrichtungen 106 zu senden
und von diesen zu empfangen. Die Nachrichten sind oft Blöcke von
Daten, die zu der mobilen Vorrichtung 106 zu überfragen
sind. Als Beispiele können
die Daten zu verschiedenen Typen von Mitteilungen, einer elektronischen
Mail, neuen Daten, Konfigurationsinformation, Datendateien, Bibliotheksdateien,
Programmdateien, etc. gehören.
Die Nachrichten können
auch Anforderungen für
Information (z.B. bestimmte Daten) sein, die von den mobilen Vorrichtungen 106 zum
Server 102 übertragen
werden. Der Server 102 kann auch mit anderen verdrahteten
oder drahtlosen Netzwerken verbinden, um Nachrichten von anderen
Computersystemen zu empfangen oder Nachrichten weiterzuleiten. Als
Beispiel kann der Server 102 mit dem Internet verbunden
sein. Beispielsweise kann der Server 102 ein Proxyserver (oder
Verbindungsserver) sein, der mit dem Internet oder einem mit einem
Netzwerk gekoppelten Netzwerk-Gateway gekoppelt ist. Das enorme
Wachstum des Internets in den letzten Jahren hat die Notwendigkeit
geschürt,
mobile Vorrichtungen, wie beispielsweise Mobiltelefone, persönliche digitale
Assistenten (PDAs = Personal Digital Assistants) und ähnliches, mit
einem Zugriff auf Information und Dienste, welche im Internet verfügbar sind,
zur Verfügung
zu stellen.
-
Das
drahtlose Netzwerk 104 verwendet typischerweise Funkübertragungen,
um mit den mobilen Vorrichtungen 106 zu kommunizieren.
Das drahtlose Netzwerk 104 kann eine Vielfalt von unterschiedlichen
Netzwerken und Kommunikationsprotokollen verwenden. Beispiele für drahtlose
Netzwerke enthalten zellulare digitale Paketdaten (CDPD = Cellular Digital
Packet Data), globales System für
mobile Kommunikationen (GSM = Global System for Mobile Communications),
einen Codemultiplex-Vielfachzugriff
(CDMA = Code Division Multiple Access) und einen Zeitmultiplex-Vielfachzugriff (TDMA
= Time Division Multiple Access), um nur einige zu nennen, und jedes
dieser drahtlosen Netzwerke hat unterschiedliche Datenübertragungscharakteristiken,
wie beispielsweise eine Latenzzeit, eine Bandbreite, Protokolle
und Verbindungsverfahren. Als Beispiele können Protokolle ein Internetprotokoll
(IP = Internet Protocol), Kurznachrichtenbildungssystem (SMS = Short Messaging
System) und unstrukturierte Zusatzdienstdaten (USSD = Unstructured
Supplementary Service Data) sein, und können Verbindungsverfahren paketgeschaltet
oder schaltungsgeschaltet enthalten.
-
Als
Beispiel würde
eine durch den Server 102 zu der mobilen Vorrichtung 106-2 zu
sendende Nachricht eine Adresse enthalten, die insbesondere die
mobile Vorrichtung 106-2 identifiziert. Die Nachricht wird
dann durch den Server 102 dem drahtlosen Netzwerk 104 zur
Verfügung
gestellt. Beispielsweise ist ein drahtloses Datennetzwerk ein paketgeschaltetes
Netzwerk, das ein Kurznachrichten-Serverzentrum (SMSC = Small Message
Server Center) verwendet, das eine relativ kleine Paketgröße (z.B.
140 Bytes) hat. Das drahtlose Netzwerk 104 veranlasst, dass
die Nachricht richtig zu der mobilen Vorrichtung 106-2 geführt wird
(d.h. gemäß der Adresse).
Die Übertragung
zwischen dem drahtlosen Netzwerk 104 und der mobilen Vorrichtung 106-2 ist
drahtlos. Die mobile Vorrichtung 106-2 empfängt die
Nachricht, die über
das drahtlose Netzwerk 104 übertragen worden ist. Die mobile
Vorrichtung 106-2 kann
dann die Nachricht speichern und vorbestimmte Verarbeitungsaktionen
durchführen,
wie beispielsweise ein Benachrichtigen eines Anwenders von der mobilen Vorrichtung 106-2 über den
Empfang der Nachricht.
-
Vor
einem Übertragen
von Nachrichten oder Daten zwischen dem Server 102 und
die mobilen Vorrichtung 106 muss eine Verbindung zwischen dem
Server 102 und der bestimmten der mobilen Vorrichtungen 106 hergestellt
werden, wenn sie nicht bereits aufgebaut ist. Zusätzlich muss
dann, wenn die zu übertragenden
Daten privat oder vertraulich sind, eine sichere Verbindung verwendet
werden. Eine sichere Verbindung ist ein Typ einer Verbindung, bei
welche, Sicherheitsmaßnahmen
vorgenommen sind, so dass nur der Sender und ein erwünschter Empfänger die
Daten verstehen können.
Die Sicherheitsmaßnahmen
sind durch kryptographische Techniken, wie beispielsweise eine Verschlüsselung
implementiert. Kryptographietechniken sind detailliert in Schneier, "Applied Cryptography", Second Edition, John
Wiley & Sons,
Inc. (1996) beschrieben.
-
Eine
sichere Verbindung wird gemäß Protokollen
in Bezug auf Übertragungen über drahtlose Netzwerke
aufgebaut. Beispiele von Protokollen, die sichere Verbindungen zur
Verfügung
stellen können, enthalten
ein Transportprotokoll für
eine in der Hand gehaltene Vorrichtung (HDTP = Handheld Device Transport
Protocol) und eine Drahtlos-Transportschichtensicherheit (WTLS =
Wireless Transport Layer Security). HDTP ist in "HDTP Draft Specification", Version 1.1 (1997)
beschrieben. WTLS ist das Sicherheitsschichtenprotokoll für ein Protokoll
einer drahtlosen Anwendung (WAP = Wireless Application Protocol).
WTLS ist in "Wireless
Application Protocol Wireless Transport Layer Security" (WAP WTLS), Wireless
Application Forum, 30. April 1998 beschrieben.
-
Das
Dokument von Makrotra et al., veröffentlicht in Proceedings of
the IEEE, "Mobility
and Security Management in the GSM System and Some proposed Future
Improvements", Volume
86, No. 7, Juli 1998, Seiten 1480 – 1497, stellt den nächstliegenden Stand
der Technik dar und offenbart eine Handshake-Operation zwischen
einem Server und einer mobilen Vorrichtung zum Aufbauen einer sicheren
Verbindung.
-
Ein
Problem bei dem herkömmlichen
Ansatz zum Aufbauen einer sicheren Verbindung besteht darin, dass
er einen Zweiwege-Datenkanal erfordert. Als Beispiele erfordern
sowohl das HDTP als auch das WTLS-Protokoll eine Handshake-Operation
zwischen dem Server und einer mobilen Vorrichtung zum Aufbauen einer
sicheren Verbindung. Herkömmlich
wird der Zweiwege-Datenkanal zum Bereitstellen der Handshake-Operation
benötigt.
Als Ergebnis müssen
Einwege-Datenkanäle
die Sicherheitsmerkmale von Protokollen verwenden können, die
eine Handshake-Operation
erfordern.
-
Bei
einigen drahtlosen Netzwerken können der
Server und die mobilen Vorrichtungen durch zwei oder mehrere Kanäle verbunden
sein. In einem Fall können
der Server und die mobilen Vorrichtungen über einen Einwege-Datenkanal
und einen Zweiwege-Datenkanal verbunden sein. Ein repräsentatives Netzwerk
(z.B. GSM) mit solchen Charakteristiken kann ein Kurznachrichtendienstzentrum
(SMSC = Short Message Service Center) zum Bereitstellen des Einwege-Datenkanals
und eine Zwischenarbeitsfunktion (IFW = Interworking Function) zum
Bereitstellen des Zweiwege-Datenkanals
verwenden. Bei einem solchen Netzwerk wird der Einwege-Datenkanal
oft als Schmalbandkanal angesehen und wird der Zweiwege-Datenkanal
oft als Breitbandkanal angesehen. Als Beispiel kann der Schmalbandkanal
Daten mit einer Rate von etwa 400 Bits pro Sekunde (bps) transferieren,
während
der Breitbandkanal Daten mit einer Rate von wenigstens 14400 bps transferieren
kann. Es ist somit nicht ungewöhnlich, dass
ein Server und eine mobile Vorrichtung durch sowohl einen Zweiwegekanal
als auch einen Einwegekanal verbunden sind (oder verbindbar sind).
Typischerweise werden der Server und der Client sich in Abhängigkeit
von der Dringlichkeit der Daten, der Kosten, die auftreten werden,
etc. dafür
entscheiden, einen oder beide der Kanäle zu verwenden. Eine Verwendung
eines Zweiwegekanals veranlasst oft, dass für die mobile Vorrichtung Belastungen
(d.h. Gebühren)
von einem Träger
auferlegt werden, der den Service bzw. Dienst zu der mobilen Vorrichtung
liefert. Gegensätzlich
dazu ist eine Verwendung von einem Schmalbandkanal mit einem Weg
oft ohne Kosten oder mit festen Kosten ungeachtet einer Verwendung verfügbar. Der
Einwegekanal kann jedoch keine sicheren Verbindungen aufbauen, weil
die herkömmlichen
Ansätze
bezüglich
einer Sicherheit einen Zweiwegekanal erfordern. Dies behindert die
sichere Übertragung
von Daten über
Einwegekanäle
ernsthaft.
-
Somit
gibt es eine Notwendigkeit nach verbesserten Ansätzen zum Bereitstellen sicherer
Datenübertragungen über Einwegekanäle.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß der Erfindung
sind Verfahren gemäß den Ansprüchen 1 und
6, eine Vorrichtung gemäß Anspruch
7 und computerlesbare Medien gemäß den Ansprüchen 8 und
10 zur Verfügung
gestellt.
-
Allgemein
gesagt betrifft die Erfindung verbesserte Techniken zum Ermöglichen
eines sicheren Datentransfers über
Einwege-Datenkanäle
oder Schmalbandkanäle.
Oft sind diese Kanäle
drahtlose Kanäle,
die durch drahtlose Datennetzwerke zur Verfügung gestellt sind. Die Erfindung
ermöglicht,
dass kryptographische Handshake-Operationen
für einen Einwege-Datenkanal über einen
passenden Zweiwege-Datenkanal
durchgeführt
werden, so dass der Einwege-Datenkanal Sicherheitsproto kolle effektiv erfüllt, die
Zweiwegekommunikationen für
die kryptographischen Handshake-Operationen erfordern. Wenn einmal
die kryptographischen Handshake-Operationen
beendet sind, können
Daten über den
Einwege-Datenkanal auf eine sichere Weise übertragen werden. Zusätzlich ermöglicht die
Erfindung auch, dass die kryptographischen Handshake-Operationen
schneller durchgeführt
werden, weil der Zweiwegekanal typischerweise ein Breitbandkanal
ist. In diesem Fall resultiert die Verwendung eines Breitbandkanals
anstelle eines Schmalbandkanals für die kryptographischen Handshake-Operationen
in Latenzzeitreduzierungen, und zwar ungeachtet dessen, ob der Schmalbandkanal
ein Einwegekanal oder ein Zweiwegekanal ist.
-
Die
Erfindung kann auf zahlreiche Arten implementiert werden, einschließlich als
Verfahren, als computerlesbares Medium, als Vorrichtung und als System.
Nachfolgend werden einige Ausführungsbeispiele
der Erfindung diskutiert.
-
Als
Verfahren zum sicheren Übertragen
von Daten zwischen einem Client und einem Server über einen
Schmalbandkanal, wobei der Client bzw. Klient und der Server nicht
nur durch den Schmalbandkanal, sondern auch durch einen Breitbandkanal,
verbindbar sind, enthält
ein Ausführungsbeispiel
der Erfindung die folgenden Handlungen: Verbinden des Clients und
des Servers über
den Breitbandkanal; Austauschen von Sicherheitsinformation zwischen dem
Client und dem Server über
den Breitbandkanal; Verschlüsseln
von dem Server zu dem Client zu übertragenden
Daten unter Verwendung der Sicherheitsinformation beim Server; und Übertragen
der verschlüsselten
Daten von dem Server zu dem Client über den Schmalbandkanal.
-
Als
Verfahren zum Übertragen
von Daten auf eine sichere Weise von einem Server zu einem Client enthält ein Ausführungsbeispiel
der Erfindung die folgenden Handlungen: Austauschen von Sicherheitsinformation
zwischen dem Client und dem Server über einen Zweiwegekanal zwischen
dem Client und dem Server; Verschlüsseln von vom Server zum Client
zu übertragenden
Daten basierend auf der Sicherheitsinformation; und Übertragen
der verschlüsselten
Daten vom Server zum Client über
einen Einwegekanal zwischen dem Client und Server, der Daten von
dem Server zu dem Client trägt.
-
Als
drahtloses Kommunikationssystem enthält ein Ausführungsbeispiel der Erfindung
folgendes: ein verdrahtetes Netzwerk mit einer Vielzahl von Servercomputern;
ein drahtloses Trägernetzwerk, das
operativ mit dem verdrahteten Netzwerk verbunden ist, wobei das
drahtlose Trägernetzwerk
einen ersten Kanal und einen zweiten Kanal unterstützt, wobei
wenigstens der erste Kanal ein Zweiwege-Datenkanal ist; ein Netzwerk-Gateway,
das zwischen dem verdrahteten Netzwerk und dem drahtlosen Trägernetzwerk
gekoppelt ist, wobei das Netzwerk-Gateway einen Prozessor für eine sichere
Verbindung enthält,
der eine sichere Verbindung über den
ersten Kanal durch Austauschen von Sicherheitsinformation über dem
zweiten Kanal aufbaut; und eine Vielzahl von drahtlosen mobilen
Vorrichtungen, die Daten mit den Servercomputern am verdrahteten
Netzwerk über
das drahtlose Trägernetzwerk und
das Netzwerk-Gateway austauschen kann. Die Nachrichten werden vom
Netzwerk-Gateway zu den drahtlosen mobilen Vorrichtungen über die über den ersten
Kanal aufgebaute sichere Verbindung zugeführt.
-
Als
mobile Vorrichtung, die ein Netzwerk von Computern über eine
drahtlose Verbindung verbinden kann, enthält ein Ausführungsbeispiel der Erfindung
folgendes: einen Anzeigeschirm, der Graphiken und Text anzeigt;
einen Nachrichtenpuffer, der eine Nachricht von einem Computer auf
dem Netzwerk von Computern temporär speichert, wobei die Nachricht
eine Dienstidentität
hat, die zu ihr gehört;
eine Anwendung, die die von dem Computer auf dem Netzwerk von Computern
empfangene Nachricht verwendet; und eine Kryptographiesteuerung,
die eine Verschlüsselung
oder Signatur von abgehenden Nachrichten steuert und die Entschlüsselung
oder Authentifizierung von ankommenden Nachrichten steuert, wobei
die Kryptographiesteuerung arbeitet, um eine sichere Verbindung
aufzubauen, über
welche sie die ankommenden Nachrichten empfängt, indem ein Einwegekanal
verwendet wird, wobei ein passender Zweiwegekanal verwendet wird,
um Sicherheitsinformation auszutauschen, die zum Aufbauen der sicheren
Verbindung über
den Einwegekanal benötigt
wird.
-
Als
computerlesbares Medium, das einen Computerprogrammcode zum sicheren Übertragen von
Daten zwischen einem Client und einem Server über einem Schmalbandkanal enthält, wobei
der Client und der Server nicht nur durch den Schmalbandkanal, sondern
auch durch einen Breitbandkanal, verbindbar sind, enthält ein Ausführungsbeispiel
der Erfindung folgendes: einen Computerprogrammcode zum Verbinden
des Clients und des Servers über
den Breitbandkanal; einen Computerprogrammcode zum Austauschen von
Sicherheitsinformation zwischen dem Client und dem Server über den
Breitbandkanal; einen Computerprogrammcode zum kryp tographischen
Verarbeiten von zu übertragenden
Daten unter Verwendung der Sicherheitsinformation, und einen Computerprogrammcode
zum Übertragen
der kryptographisch verarbeiteten Daten vom Server zum Client über den
Schmalbandkanal.
-
Als
computerlesbares Medium, das einen Computerprogrammcode zum Übertragen
von Daten auf eine sichere Weise von einem Server zu einem Client
enthält,
enthält
ein Ausführungsbeispiel
der Erfindung folgendes: einen Computerprogrammcode zum Austauschen
von Sicherheitsinformation zwischen dem Client und dem Server über einen
Zweiwegekanal zwischen dem Client und dem Server; einen Computerprogrammcode
zum kryptographischen Verarbeiten von vom Server zum Client zu übertragenden
Daten basierend auf der Sicherheitsinformation; und einen Computerprogrammcode
zum Übertragen
der kryptographisch verarbeiteten Daten vom Server zum Client über einen
Einwegekanal zwischen dem Client und dem Server, der Daten von dem
Server zu dem Client trägt.
-
Die
Vorteile der Erfindung sind zahlreich. Einige Vorteile, die Ausführungsbeispiele
der Erfindung enthalten können,
sind wie folgt. Ein Vorteil der Erfindung besteht darin, dass eine
sichere Verbindung über
einen Einwegekanal aufgebaut werden kann. Ein weiterer Vorteil der
Erfindung besteht darin, dass der Aufbau einer gesicherten Verbindung
schnell erreicht werden kann, um dadurch die Latenzzeit für solche
Operationen im Vergleich mit herkömmlichen Ansätzen zu
verbessern. Ein weiterer Vorteil der Erfindung besteht darin, dass
ein Server mit der Option von zusätzlichen sicheren Datenpfaden
zu einem Client (z.B. zu einer mobilen Vorrichtung) versehen ist, wodurch
der Server einen oder beide der Pfade in Abhängigkeit von bestimmten Auswahlkriterien
verwenden kann, einschließlich
Kosten, Geschwindigkeit und Verfügbarkeit.
-
Andere
Aspekte und Vorteile der Erfindung werden aus der folgenden detaillierten
Beschreibung klar werden, genommen in Zusammenhang mit den beigefügten Zeichnungen,
die anhand eines Beispiels die Prinzipien der Erfindung darstellen.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
vorliegende Erfindung wird durch die folgende detaillierte Beschreibung
in Zusammenhang mit den beigefügten
Zeichnungen ohne weiteres verstanden werden, wobei gleiche Bezugszeichen
gleiche strukturelle Elemente bezeichnen, und wobei:
-
1 ein
Blockdiagramm eines herkömmlichen
drahtlosen Kommunikationsnetzwerks ist;
-
2A ein
Blockdiagramm eines Kommunikationssystems ist, das zum Koppeln einer
mobilen Kommunikationsvorrichtung mit dem Internet geeignet ist;
-
2B ein
Blockdiagramm eines Kommunikationssystems gemäß einem grundsätzlichen
Ausführungsbeispiel
der Erfindung ist;
-
3 ein
Ablaufdiagramm einer schmalbandigen sicheren Datenübertragungsverarbeitung
gemäß einem
Ausführungsbeispiel
der Erfindung ist;
-
4 ein
Ablaufdiagramm einer Verarbeitung für eine sichere Verbindung auf
der Client-Seite gemäß einem
Ausführungsbeispiel
der Erfindung ist;
-
5 das
Ablaufdiagramm einer Verarbeitung für eine sichere Verbindung auf
der Serverseite gemäß einem
Ausführungsbeispiel
der Erfindung ist;
-
6 ein
Ablaufdiagramm einer Datenübertragungsverarbeitung
gemäß einem
Ausführungsbeispiel
der Erfindung ist;
-
7 ein
Ablaufdiagramm einer Datenempfangsverarbeitung gemäß einem
Ausführungsbeispiel
der Erfindung ist;
-
8 ein
Blockdiagramm eines Kommunikationssystems gemäß einem Ausführungsbeispiel der
Erfindung ist;
-
9 ein
Blockdiagramm eines repräsentativen
Kommunikationssystems zur Verwendung bei der Erfindung ist;
-
10A ein Blockdiagramm eines Netzwerk-Gateways
ist, der zur Verwendung mit dem in 9 dargestellten
repräsentativen
Kommunikationssystem geeignet ist; und
-
10B ein Blockdiagramm einer mobilen Vorrichtung
ist, die zur Verwendung mit dem in 9 dargestellten
repräsentativen
Kommunikationssystem geeignet ist.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Die
Erfindung betrifft verbesserte Techniken zum Ermöglichen eines sicheren Datentransfers über Einwege-Datenkanäle oder
Schmalbandkanäle.
Oft sind diese Kanäle
drahtlose Kanäle,
die durch drahtlose Datennetzwerke zur Verfügung gestellt sind. Die Erfindung
ermöglicht,
dass kryptographische Handshake-Operationen für einen Einwege-Datenkanal über einen
passenden Zweiwege-Datenkanal durchgeführt werden, so dass der Einwege-Datenkanal
Sicherheitsprotokolle effektiv erfüllen kann, die Zweiwegekommunikationen
für die
kryptographischen Handshake-Operationen erfordern. Wenn einmal die kryptographischen
Handshake-Operationen beendet sind, können Daten über den Einwege-Datenkanal auf
eine sichere Weise übertragen
werden. Zusätzlich
ermöglicht
die Erfindung auch, dass die kryptographischen Handshake-Operationen
schneller durchgeführt
werden, weil der Zweiwegekanal typischerweise eine Breitbandkanal
ist. In diesem Fall resultiert die Verwendung eines Breitbandkanals
anstelle eines Schmalbandkanals für die kryptographischen Handshake-Operationen
in Latenzzeitreduzierungen, und zwar ungeachtet dessen, ob der Schmalbandkanal
ein Einwegekanal oder ein Zweiwegekanal ist.
-
Ausführungsbeispiele
der Erfindung werden nachfolgend unter Bezugnahme auf die 2A – 10B diskutiert. Jedoch werden Fachleute auf dem
Gebiet ohne weiteres erkennen, dass die hierin in Bezug auf diese
Figuren angegebene detaillierte Beschreibung für erklärende Zwecke ist, da sich die Erfindung über diese
beschränkten
Ausführungsbeispiele
hinausgehend erstreckt.
-
2A ist
ein Blockdiagramm eines Kommunikationssystems 200, das
zum Koppeln einer mobilen Kommunikationsvorrichtung mit dem Internet
geeignet ist. Insbesondere enthält
das Kommunikationssystem 200 mobile Kommunikationsvorrichtungen 202A und 202B.
Diese mobilen Kommunikationsvorrichtungen 202A und 202B koppeln
jeweils über
Trägernetzwerke 204A und 204B mit
einem Netzwerk-Gateway 206. Das Netzwerk-Gateway 206 ermöglicht das
Koppeln der mobilen Kommunikationsvorrichtungen 202A und 202B mit
dem Internet 208. Wie es allgemein ist, sind verschiedene
Computersysteme, die Computer enthalten, die einen entfernten Ser ver
A210 und einen entfernten Server B212 unterstützen, mit dem Internet 208 gekoppelt oder
bilden einen Teil von diesem Die primäre Funktion des Netzwerk-Gateways 206 besteht
im Empfangen von Datenanforderungen von den mobilen Kommunikationsvorrichtungen 202A und 20B über die
jeweiligen Trägernetzwerke 204A und 204B und
im Umwandeln von ihnen in Hypertext-Transferprotokoll-(HTTP = Hypertext
Transfer Protocol)-Anfragen zur Verwendung mit dem Internet 208.
Gleichermaßen
empfängt
das Netzwerk-Gateway 206 auch HTTP-Antworten vom Internet 208 und
wandelt sie in Datenantworten mit einem Format (z.B. einem Protokoll)
um, das zur Verwendung mit den Trägernetzwerken 204A und 204B geeignet
ist.
-
Das
Netzwerk-Gateway 206 ist mit dem Trägernetzwerk A 204A durch
einen ersten Kanal 214 und einen zweiten Kanal 216 verbunden.
Der erste Kanal 214 ist ein Zweiwegekanal oder ein bidirektionaler
Kanal. Der zweite Kanal 216 ist ein Einwegekanal oder ein
unidirektionaler Kanal. Zusätzlich
ist das Netzwerk-Gateway 206 mit dem Trägernetzwerk B 204B durch
einen ersten Kanal 218 und einen zweiten Kanal 220 verbunden.
Sowohl der erste Kanal 218 als auch der zweite Kanal 220 sind
Zweiwegekanäle
oder bidirektionale Kanäle.
Die Trägernetzwerke 204A und 204B verbinden
dann jeweils mit den mobilen Kommunikationsvorrichtungen 202A und 202B auf
eine drahtlose Weise.
-
Die Übertragung
von Daten, die zu Datenanforderungen gehören, und von Datenantworten
zwischen dem Netzwerk-Gateway 206 und den mobilen Kommunikationsvorrichtungen 202A und 202B wird über Verbindungen
durchgeführt.
In einigen Fällen sind
dann, wenn die Daten, die übertragen
werden, empfindlich sind, die Verbindungen sichere Verbindungen
durch das Internet 208. Eine sichere Verbindung ist eine
Verbindung, über
welche verschlüsselte und/oder
authentifizierte Daten übertragen
werden. Zum Aufbauen von sicheren Verbindungen erfordern Sicherheitsprotokolle
für drahtlose
Netzwerke den Austausch von kryptographischen Parametern bei einer
Handshake-Operation. Bei Einwegekanälen könnte die Handshake-Operation
nicht herkömmlich durchgeführt werden,
und somit könnten
sichere Verbindungen über
Einwegekanäle
nicht aufgebaut werden.
-
Gemäß der Erfindung
können
sichere Verbindungen über
Einwegekanäle
aufgebaut werden. Bei dem Ausführungsbeispiel
des Kommunikationssystems 200, das in 2A dargestellt
ist, ist der zweite Kanal 216 ein Einwege-Datenkanal, der
eine Übertragung
von Daten von dem Netzwerk-Gateway 206 zu dem Trägernetzwerk
A 204A unterstützt
und keine Übertragung
von Daten von dem Trägernetzwerk
A 204A zum Netzwerk-Gateway 206 zulässt. Somit
ist ein Erhalten einer sicheren Verbindung über dem zweiten Kanal 216 nicht
möglich,
weil ein Handshake nicht möglich
ist. Jedoch ist der erste Kanal 214 ein Zweiwege-Datenkanal,
der eine Übertragung
von Daten in beiden Richtungen zwischen dem Netzwerk-Gateway 206 und
dem Trägernetzwerk
A 204A unterstützt.
Gemäß der Erfindung
wird der erste Kanal 214 verwendet, um die nötigen Handshake-Operationen
für den
zweiten Kanal 216 durchzuführen, so dass eine sichere
Verbindung über
den zweiten Kanal 216 aufgebaut werden kann. Zusätzliche
Details darüber,
wie das Handshake durchgeführt
wird, sind nachfolgend zur Verfügung
gestellt.
-
Weiterhin
können
gemäß der Erfindung
sichere Kanäle
auch effizienter oder schneller über Zweiwegekanäle aufgebaut
werden. Bei dem Ausführungsbeispiel
des in 2A dargestellten Kommunikationssystems 200 ist
der erste Kanal 218 ein Zweiwege-Breitband-Datenkanal, der eine Hochgeschwindigkeitsübertragung
von Daten in beiden Richtungen zwischen dem Netzwerk-Gateway 206 und
dem Trägernetzwerk
B 204B unterstützt.
Der zweite Kanal 220 ist ein Zweiwege-Schmalband-Datenkanal,
der eine Hochgeschwindigkeitsübertragung
von Daten in beiden Richtungen zwischen dem Netzwerk-Gateway 206 und
dem Trägernetzwerk
B 204B unterstützt.
Gemäß der Erfindung
wird der erste Kanal 218 verwendet, um die nötigen Handshake-Operationen
für den
zweiten Kanal 220 durchzuführen, so dass eine sichere
Verbindung effizienter und schneller über den zweiten Kanal 220 aufgebaut werden
kann. Die Verbesserung resultiert aus der Verwendung eines Kanals
mit breiterer Bandbreite zum Durchführen der Handshake-Operation.
Zusätzliche
Details darüber,
wie der Handshake durchgeführt
wird, sind nachfolgend zur Verfügung
gestellt.
-
Das
Kommunikationssystem 200 ist ein repräsentatives Kommunikationssystem,
bei welchem das Netzwerk-Gateway 206 mit dem Internet 208 gekoppelt
ist, so dass mobile Kommunikationsvorrichtungen 202A und 202B mit
dem Internet 208 interagieren können. Die Verbindung der mobilen
Kommunikationsvorrichtungen 202A und 202B mit
dem Netzwerk-Gateway 206 erfolgt über eines oder mehrere drahtlose
Netzwerke, die durch die Trägernetzwerke 204A und 203B unterstützt werden.
Obwohl es nicht dargestellt ist, kann das Kommunikationssystem 200 oft
eine große
Anzahl von mobilen Kommunikationsvorrichtungen unterstützen. Weiterhin
kann das Internet 208 allgemeiner irgendein Netzwerk (z.B.
ein privates Netzwerk, ein öffentliches
Netzwerk, ein weiträumiges
Netzwerk oder ein lokales Netzwerk) sein. Das Netzwerk-Gateway 206 arbeitet typischerweise
als Proxyserver, ist aber allgemeiner ein Server.
-
2B ist
ein Blockdiagramm eines Kommunikationssystems 250 gemäß einem
grundsätzlichen
Ausführungsbeispiel
der Erfindung. Das Kommunikationssystem 250 ist beispielsweise
ein Untersystem eines größeren Kommunikationssystems, wie
beispielsweise des in 2A dargestellten Kommunikationssystems 200.
Das Kommunikationssystem 250 enthält einen Server 252,
einen Client A 254 und einen Client B 256. Ein
Server 252 kann eine Vielfalt von Formen annehmen, einschließlich eines Proxyservers
oder eines Netzwerk-Gateways. Der Server 252 interagiert
mit den Clients 254 und 256 zum Austauschen von
Daten zwischen dem Server und dem Client. Typischerweise koppelt
der Server 252 mit einem Netzwerk und ermöglicht somit,
dass die Clients 254 und 256 mit dem Netzwerk
interagieren. Das Netzwerk kann eine Vielfalt von Formen annehmen,
einschließlich
eines lokalen Netzwerks (LAN = Local Area Network), eines weiträumigen Netzwerks
(WAN = Wide Area Network) oder des Internets. Oft wird der Server 252 mehr
Clients als die in 2B dargestellten zwei Clients 254 und 256 unterstützen.
-
Jeder
der Clients 254 und 256 ist mit dem Server 252 über ein
Paar von Kommunikationskanälen
verbunden. Diese Kommunikationskanäle sind drahtlose Kanäle und können konstant
angeschlossen (verbunden) oder temporär angeschlossen (verbunden)
sein. Während
diese Anschlüsse
oder Verbindungen vorzugsweise drahtlos (d.h. nicht verdrahtet)
sind, kann ein gewisser Teil der Anschlüsse bzw. Verbindungen verdrahtet
sein, wie es im Stand der Technik bekannt ist. Diese drahtlosen
Kommunikationskanäle
können
durch eine Vielfalt von drahtlosen Netzwerken zur Verfügung gestellt
sein, einschließlich
von paketgeschalteten drahtlosen Datennetzwerken oder von schaltungsgeschalteten
drahtlosen Datennetzwerken. Genauer gesagt ist der Server 252 mit
dem Client A 254 über
einen Schmalbandkanal A (NBCA) 258 sowie über einen
Breitbandkanal A (WBCA) 260 verbunden. Gleichermaßen ist
der Server 252 mit dem Client B 256 über einen
Schmalbandkanal (NBCB) 262 sowie über einen Breitbandkanal B (WBCB) 264 verbunden.
Der Schmalbandkanal A (NBCA) und der Breitbandkanal A (WBCA) können als
durch ein drahtloses Netzwerk A zur Verfügung gestellt angesehen werden,
und der Schmalbandkanal B (NBCB) und der Breitbandkanal B (WBCB)
können
als durch ein drahtloses Netzwerk B zur Verfügung gestellt angesehen werden.
-
Die
Breitbandkanäle
(WBCA und WBCB) 260 und 264 unterstützen größere Bandbreiten
oder Datentransferraten als es die Schmalbandkanäle (NBCA und NBCB) 258 und 262 tun.
Demgemäß ist die
Fähigkeit
zum Transferieren von Daten zwischen dem Server und dem Client auf
den Schmalbandkanälen
signifikant niedriger, wie es entgegengesetzt zu den Breitbandkanälen ist.
Als Beispiel können Schmalbandkanäle Daten
mit einer Rate von etwa 400 Bits pro Sekunde (bps) transferieren,
während Breitbandkanäle Daten
mit einer Rate von wenigstens 14400 bps transferieren können. Der
Kompromiss bezüglich
einer Bandbreite oder einer Transferrate bzw. Übertragungsrate ist typischerweise
bei den Kosten für
eine Verwendung der jeweiligen Kanäle berücksichtigt. Anders ausgedrückt ist
es oft teurer, Daten über
den Breitbandkanal als über
den Schmalbandkanal zu übertragen.
-
Oft
gibt es eine Notwendigkeit oder einen Wunsch dafür, Daten zwischen einem Server
und einem Client auf sichere Weise zu übertragen. In solchen Fällen werden
Kryptographietechniken (z.B. eine Verschlüsselung) dazu verwendet, den
sicheren Datentransfer zur Verfügung
zu stellen. Wie es oben angegeben ist, erfordern Verschlüsselungstechniken normalerweise,
dass ein Server und ein Client eine Handshake-Operation durchführen, bei
welcher Sicherheitsinformation vom Client zum Server und vom Server
zum Client übergeben
wird. Nachdem der Server und der Client die Handshake-Operation durchführen, können der
Server und der Client Daten an einem Ende verschlüsseln, die
verschlüsselten Daten übertragen
und dann die empfangenen Daten am anderen Ende entschlüsseln.
-
Im
Fall der Breitbandkanäle
(WBCA und WBCB) 260 und 264 wird das Austauschen
von Sicherheitsinformation über
die Handshake-Operation auf einfache Weise erreicht, weil die Breitbandkanäle normalerweise
Zweiwegekanäle
sind. Jedoch sind die Schmalbandkanäle (NBCA und NBCB) 258 und 262 oft
Einwegekanäle,
die Übertragungen
vom Server zum Client unterstützen,
aber nicht vom Client zum Server. Als solches kann dann, wenn die Schmalbandkanäle (NBCA
und NBCB) 258 und 262 Einwegekanäle sind,
das Austauschen von Sicherheitsinformation über die Handshake-Operation
nicht durchgeführt
werden. Zusätzlich
ist selbst dann, wenn ein Schmalbandkanal ein Zweiwegekanal ist, die
Latenz bzw. Latenzzeit oder Verzögerung
zum Durchführen
der Handshake-Operation über
den Schmalbandkanal größer (verglichen
mit einem Breitbandkanal), und zwar aufgrund seiner oft signifikant
niedrigeren Bandbreite oder Datentransferrate im Vergleich mit dem
Breitbandkanal.
-
Gemäß der Erfindung
kann ein sicherer Datentransfer über
einen Kanal durchgeführt
werden, weil der Austausch von Sicherheitsinformation für eine Handshake-Operation über einen
anderen Kanal erfolgt. Bei einem Ausführungsbeispiel wird der Austausch
von Sicherheitsinformation über
einen Zweiwegekanal durchgeführt,
so dass ein sicherer Datentransfer über einen Einwegekanal durchgeführt werden
kann. Bei einem weiteren Ausführungsbeispiel
wird der Austausch von Sicherheitsinformation über einen Breitbandkanal durchgeführt, so
dass ein sicherer Datentransfer über
einen Schmalbandkanal durchgeführt
werden kann.
-
3 ist
ein Ablaufdiagramm einer schmalbandigen sicheren Datenübertragungsverarbeitung 300 gemäß einem
Ausführungsbeispiel
der Erfindung. Die schmalbandige sichere Datenübertragungsverarbeitung 300 tritt
zwischen einem Client und einem Server auf und kann beispielsweise
durch das in 2 dargestellte Kommunikationssystem 200 durchgeführt werden.
-
Die
schmalbandige sichere Datenübertragungsverarbeitung 300 beginnt
mit einem Entscheidungsblock 302. Als Beispiel kann der
Server eine sichere Schmalbandverbindung anfordern, wenn er wünscht, Daten
zu einem bestimmten Client zu senden (oder "zu stoßen"). Wenn der Entscheidungsblock 302 bestimmt,
dass eine sichere Schmalbandverbindung nicht angefordert worden
ist, dann wartet die schmalbandige sichere Datenübertragungsverarbeitung 300 auf
den Empfang einer solchen Anforderung. Anders ausgedrückt wird
die schmalbandige sichere Datenübertragungsverarbeitung 300 nur
verwendet, wenn eine sichere Datenübertragung über einen Schmalbandkanal erfolgen
soll, und sonst folgen nicht sichere Übertragungen oder sichere Übertragungen über Breitbandkanäle einer
anderen Verarbeitung, die im Stand der Technik bekannt ist.
-
Wenn
der Entscheidungsblock 302 einmal bestimmt, dass eine sichere
Schmalbandverbindung angefordert worden ist, dann wird eine Verarbeitung aufgerufen,
um die schmalbandige sichere Datenübertragungsverarbeitung 300 auszuführen. Insbesondere
werden der Client und der Server über einen Zweiwege-Breitbandkanal
verbunden 304. Dann wird schmalbandige Sicherheitsinformation
zwischen dem Client und dem Server über den Breitbandkanal ausgetauscht 306.
Die Sicherheitsinformation enthält typischerweise
Schlüssel
und andere kryptographische Parameter, die bei Verschlüsselungsalgorithmen
verwendet werden. Eine populäre
Gruppe von Verschlüsselungsalgorithmen
enthält
Verschlüsselungsalgorithmen
mit öffentlichem Schlüssel. Es
sollte beachtet werden, dass der Austausch der Sicherheitsinformation über den
Breitbandkanal durchgeführt
wird, wenn die Verbindungsanforderung für die Übertragung von Daten über den
Schmalbandkanal erfolgt. Nach dem Block 306 können der
Client und der Server eine sichere Verbindung zwischen dem Server
und dem Client über
den Schmalbandkanal aufbauen, weil die erforderliche Handshake-Operation durchgeführt worden
ist. Anders ausgedrückt
wird die Sicherheitsinformation, die über den Breitbandkanal ausgetauscht
worden ist, zum Aufbauen der sicheren Verbindung über den
Schmalbandkanal verwendet.
-
Als
nächstes
bestimmt ein Entscheidungsblock 308, ob es zu übertragende
Daten gibt. Wenn der Entscheidungsblock 308 bestimmt, dass
es gegenwärtig
keine zu übertragenden
Daten gibt, dann wartet die schmalbandige sichere Datenübertragungsverarbeitung 300 auf
die Verfügbarkeit
von Daten. Wenn der Entscheidungsblock 308 einmal bestimmt,
dass zu übertragende
Daten verfügbar
sind, dann werden die zu übertragenden
Daten basierend auf der Sicherheitsinformation verschlüsselt 310. Nachdem
die Daten verschlüsselt
sind, werden die verschlüsselten
Daten über
den Schmalbandkanal übertragen 312.
Hier ist angenommen, dass die Verbindung zwischen dem Server und
dem Client über den
Schmalbandkanal bereits aufgebaut ist. Jedoch kann bei anderen Ausführungsbeispielen
vor der Übertragung
der verschlüsselten
Daten über
den Schmalbandkanal eine Verbindung zwischen dem Server und dem
Client über
den Schmalbandkanal aufgebaut werden müssen.
-
Nach
dem Block 312 bestimmt ein Entscheidungsblock 314,
ob die Verbindung über
den Schmalbandkanal noch offen ist. Aufgrund einer Vielfalt von
Gründen
ist eine Verbindung oft geschlossen, und diese Gründe enthalten
eine Auszeitbedingung, einen Fehlerzustand oder Sicherheitsgründe. Wenn der
Entscheidungsblock 314 bestimmt, dass die Verbindung noch
offen ist, springt die schmalbandige sichere Datenübertragungsverarbeitung 300 zurück, um den
Entscheidungsblock 308 und nachfolgende Blöcke zu wiederholen.
Andererseits springt dann, wenn der Entscheidungsblock 314 einmal
bestimmt, dass die Verbindung nicht mehr offen ist, die schmalbandige
sichere Datenübertragungsverarbeitung 300 zurück, um den
Entscheidungsblock 302 und nachfolgende Blöcke zu wiederholen,
so dass erneut eine sichere Verbindung aufgebaut wird.
-
Der
bei der schmalbandigen sicheren Datenübertragungsverarbeitung 300 verwendete
Schmalbandkanal kann entweder ein Einwege-(Server zu Client) oder
ein Zweiwegekanal sein. Wie es oben angegeben ist, stellt die Erfindung
Vorteile in jeder Situation zur Verfügung, obwohl die Erfindung
von besonderem Vorteil ist, wenn der Schmalbandkanal nur ein Einwegekanal
vom Server zum Client ist.
-
Unter
der Voraussetzung, dass der Server 252 und die Clients 254 und 256 durch
wenigstens ein Paar von Kanälen
(258 – 264)
verbunden sind, wie es in 2B gezeigt
ist, ist es für
sichere Übertragungen
nicht ungewöhnlich,
dass sie gleichzeitig über
beide Kanäle
zwischen Server und Client verwendet werden. In solchen Fällen muss
jeder Kanal eine Handshake-Operation bewirken, um Sicherheitsinformation
auszutauschen, die für
den Aufbau einer sicheren Verbindung nötig ist. Die 4 und 5 beschreiben
den Aufbau von dualen sicheren Verbindungen für ein Paar von Kanälen zwischen
einem Server und einem Client.
-
4 ist
ein Ablaufdiagramm einer Verarbeitung 400 für eine sichere
Verbindung auf der Clientseite gemäß einem Ausführungsbeispiel
der Erfindung. Die Verarbeitung 400 für eine sichere Verbindung auf
der Clientseite wird beispielsweise durch einen Client, wie beispielsweise
den Client 254 oder den Client 256, die in 2 dargestellt sind, durchgeführt. Bei
diesem Ausführungsbeispiel
ist angenommen, dass sowohl ein erster als auch ein zweiter Kanal
zwischen einem Client und einem Server zu verwenden sind, um sichere
Verbindungen zur Verfügung
zu stellen.
-
Die
Verarbeitung 400 für
eine sichere Verbindung auf der Clientseite sendet 402 anfänglich eine Anforderung
für eine
sichere Session zu einem Server (z.B. zu dem Server 202,
der in 2 dargestellt ist). Hier ist
die Anforderung für
eine sichere Session eine Anforderung zum Aufbauen von sicheren
Verbindungen über
den ersten und den zweiten Kanal. Ein Entscheidungsblock 404 bestimmt
dann, ob eine Antwort auf die Anforderung für eine sichere Session empfangen
worden ist. Hier wartet der Client auf eine Antwort vom Server.
Wenn der Entscheidungsblock 404 bestimmt, dass eine Antwort
noch nicht empfangen worden ist, veranlasst der Entscheidungsblock 404,
dass die Verarbeitung 400 für eine sichere Verbindung auf
der Clientseite auf dem Empfang einer solchen Antwort wartet. Die
Anforderung und die Antwort arbeiten zum Austauschen von Sicherheitsinformation,
wie einer ersten Handshake-Operation, gemäß einem Sicherheitsprotokoll.
Die Sicherheitsinformation würde
beispielsweise kryptographische Parameter enthalten, die Schlüssel, Zufallszahlen, Algorithmen,
Vektoren und ähnliches
für verschiedene
Kryptographietechniken spezifizieren.
-
Wenn
einmal eine Antwort empfangen worden ist, wird ein erster Schlüsselblock
für einen
ersten Kanal zwischen dem Server und dem Client erzeugt 406.
Der erste Schlüsselblock
wird verwendet, um Schlüssel
zu enthalten, die zum Verschlüsseln oder
Authentifizieren von Daten oder Blöcken von Daten verwendet werden,
die zwischen dem Server und dem Client über den ersten Kanal zu übertragen sind.
Darauf folgend wird eine Benachrichtigung über eine Beendigung einer sicheren
Session zum Server gesendet 408. Die Benachrichtigung für eine Beendigung
einer sicheren Session ist eine Benachrichtigung zum Server, dass
der Client einen Empfang der Antwort bestätigt hat und für eine gesicherte
Session vorbereitet ist.
-
Als
nächstes
bestimmt ein Entscheidungsblock 410, ob eine sichere Session
für den
ersten Kanal gebildet worden ist. Eine sichere Session wird gebildet,
wenn der Client anfordert und der Server zustimmt, die sichere Session
zu bilden, und bildet dann die sichere Session. Wenn der Entscheidungsblock 410 bestimmt,
dass die sichere Session aufgebaut worden ist, dann ist die gesicherte
Session für den
ersten Kanal bereit.
-
Nun
wird die sichere Session für
einen zweiten Kanal aufgebaut. Sicherheitsinformation für den zweiten
Kanal wird auch vom Client zum Server gesendet 412. Es
sollte beachtet werden, dass die Sicherheitsinformation zum Server über den
ersten Kanal gesendet wird 412. Die Gründe für ein Verwenden des ersten
Kanals sind (i) eine Notwendigkeit, wenn der zweite Kanal Daten
nicht zum Server übertragen kann,
oder (ii) eine Latenzverbesserung, wenn der zweite Kanal ein Schmalbandkanal
ist.
-
Als
nächstes
bestimmt ein Entscheidungsblock 414, ob eine Sicherheitsinformation
vom Server empfangen worden ist. Die Sicherheitsinformation vom
Server wird auch über
den ersten Kanal empfangen. Die Sicherheitsinformation vom Server
erfolgt in Reaktion auf die durch den Client zum Server gesendete
Sicherheitsinformation. Dieser Austausch von Sicherheitsinformation
ist eine zweite Handshake-Operation gemäß einem Sicherheitsprotokoll.
Der Entscheidungsblock 414 veranlasst, dass die Verarbeitung 400 für eine sichere
Verbindung auf der Clientseite auf den Empfang von Sicherheitsinformation vom
Server wartet. Wenn der Entscheidungsblock 414 einmal bestimmt,
dass die Sicherheitsinformation empfangen worden ist, wird ein zweiter
Schlüsselblock
für einen
zweiten Kanal erzeugt 416. Wiederum enthält der zweite
Schlüsselblock
Sessionschlüssel, die
zum Verschlüsseln
oder Authentifizieren von Daten oder Blöcken von Daten verwendet werden,
die über
den zweiten Kanal auf eine sichere Weise zu übertragen sind. Nach dem Block 416 ist
die Verarbeitung 400 für
eine sichere Verbindung auf der Clientseite beendet und endet.
-
Zusätzlich gibt
dann, wenn der Entscheidungsblock 410 bestimmt, dass die
sichere Session zwischen dem Server und dem Client nicht eingerichtet
worden ist, die Verarbeitung 400 für eine sichere Verbindung auf
der Clientseite eine Fehlerbenachrichtigung aus 418. Nach
dem Block 418 ist die Verarbeitung 400 für eine sichere
Verbindung auf der Clientseite beendet und endet.
-
5 ist
das Ablaufdiagramm einer Verarbeitung 500 für eine sichere
Verbindung auf der Serverseite gemäß einem Ausführungsbeispiel
der Erfindung. Die Verarbeitung 500 für eine sichere Verbindung auf
der Serverseite wird beispielsweise durch einen Server durchgeführt, wie
beispielsweise den in 2B dargestellten Server 252.
-
Die
Verarbeitung 500 für
eine sichere Verbindung auf der Serverseite beginnt mit einem Entscheidungsblock 502.
Der Entscheidungsblock 502 bestimmt, ob eine Anforderung
für eine
sichere Session empfangen worden ist. Typischerweise wird die Anforderung
für eine
sichere Session durch einen Client ausgegeben werden und dann durch
den Server empfangen. Der Entscheidungsblock 502 veranlasst, dass
die Verarbeitung 500 für
eine sichere Verbindung auf der Serverseite auf den Empfang einer
Anforderung für
eine sichere Session wartet. Hier ist die Anforderung für eine sichere
Session eine Anforderung zum Aufbauen von sicheren Verbindungen über einen
ersten und einen zweiten Kanal.
-
Wenn
eine Anforderung für
eine sichere Session einmal empfangen worden ist, fährt die
Verarbeitung 500 für
eine sichere Verbindung auf der Serverseite fort. Ein erster Schlüsselblock
für einen
ersten Kanal wird erzeugt 504. Eine Antwort wird dann zu dem
Client gesendet 506, der die sichere Session angefordert
hat. Die Anforderung für
eine sichere Session und die Antwort arbeiten zum Austauschen von Sicherheitsinformation
als erste Handshake-Operation gemäß einem Sicherheitsprotokoll.
Beispiele für Protokolle
für eine
drahtlose Netzwerkumgebung sind HDTP und WAP WTLS. Die Sicherheitsinformation
würde beispielsweise
kryptographische Parameter enthalten, die Schlüssel, Zufallszahlen, Algorithmen,
Vektoren und ähnliches
für verschiedene
Kryptographietechniken spezifizieren.
-
Als
nächstes
bestimmt ein Entscheidungsblock 508, ob eine Benachrichtigung über eine
Beendigung einer sicheren Session empfangen worden ist. Das Protokoll
für eine
Beendigung bzw. Fertigstellung einer sicheren Session wird durch
den Client zum Server gesendet, wenn der Client eine sichere Session
für den
ersten Kanal aufgebaut hat. Der Entscheidungsblock 508 veranlasst,
dass die Verarbeitung 500 für eine sichere Verbindung auf
der Serverseite auf den Empfang der Benachrichtigung über eine
Fertigstellung einer sicheren Session wartet. Ein Entscheidungsblock 510 bestimmt
dann, ob eine sichere Session eingerichtet ist. Wenn der Entscheidungsblock 510 bestimmt,
dass eine sichere Session eingerichtet worden ist, bestimmt ein
Entscheidungsblock 512, ob Sicherheitsinformation empfangen worden
ist. Hier würde
die Sicherheitsinformation bei dem Server empfangen werden, nachdem
sie durch den Client gesendet worden ist. Die Sicherheitsinformation
ist für
den zweiten Kanal. Der Client würde
die Sicherheitsinformation zum Server als Teil seiner Kommunikationen
mit dem Server gemäß einem
Protokoll zum Bilden einer sicheren Session für den zweiten Kanal senden.
Als Beispiel kann das Protokoll hier ein Sessionschichtprotokoll
oder ein Transportschichtprotokoll (z.B. HDTP) sein.
-
Wenn
der Entscheidungsblock 512 einmal bestimmt, dass die Sicherheitsinformation
für den zweiten
Kanal, die zu dem Client gesendet ist, empfangen worden ist, dann
sendet 514 der Server Sicherheitsinformation für den zweiten
Kanal zum Client. Ein zweiter Schlüsselblock wird dann für den zweiten
Kanal erzeugt 516. Nach dem Block 516 ist die
Verarbeitung 500 für
eine sichere Verbindung auf der Serverseite beendet und endet.
-
Zusätzlich gibt
dann, wenn der Entscheidungsblock 510 bestimmt, dass eine
sichere Verbindung zwischen dem Server und dem Client nicht aufgebaut
werden kann, die Verarbeitung 500 für eine sichere Verbindung auf
der Serverseite eine Fehlerbenachrichtigung aus 518. Nach
dem Block 518 ist die Verarbeitung 500 für eine sichere
Verbindung auf der Serverseite beendet und endet.
-
Das
Senden und Empfangen einer Anforderung für eine sichere Session sowie
das Senden und Empfangen der Sicherheitsinformation werden über den
ersten Kanal durchgeführt.
Die zwischen Client und Server über
den ersten Kanal ausgetauschte Information wird dazu verwendet,
die sicheren Kommunikationen zwischen dem Client und dem Server über den
ersten Kanal und den zweiten Kanal einzurichten.
-
Der
erste Schlüsselblock
wird zum Verschlüsseln
von Daten verwendet, die über
den ersten Kanal vom Client zum Server übertragen werden, sowie zum
Entschlüsseln
von Daten, die vom Server über
den ersten Kanal empfangen werden. Der zweite Schlüsselblock
wird zum Entschlüsseln
von Daten verwendet, die vom Server über den zweiten Kanal empfangen
werden. Bei einem Ausführungsbeispiel ist
der erste Kanal ein Zweiwegekanal und ist der zweite Kanal ein Einwegekanal.
Bei einem weiteren Ausführungsbeispiel
ist der erste Kanal ein Zweiwege-Breitbandkanal und ist der zweite
Kanal ein Zweiwege-Schmalbandkanal.
-
In
dem Fall, in welchem das beteiligte Sicherheitsprotokoll HDTP ist,
wird die sichere Session für den
ersten Kanal in einem normalen Verlauf durchgeführt. Die sichere Session für den zweiten
Kanal kann im Huckepack auf den Client- und Server-Austauschvorgängen für die sichere
Session für
den ersten Kanal sein. Das bedeutet, dass HDTP einen Transfer eines
Inhalts vom HTTP-Typ verwendet, und somit Anfangsblöcke (z.B.
Session-Anfangsblöcke)
normal zwischen Client und Server ausgetauscht werden. Diese Anfangsblöcke können dazu
verwendet werden, die Sicherheitsinformation für den zweiten Kanal (Blöcke 414, 416, 512 und 514)
auszutauschen.
-
In
dem Fall, in welchem WAP verwendet wird, ist das beteiligte Sicherheitsprotokoll
WTLS, und ein Sessionebenenprotokoll ist das drahtlose Sessionprotokoll
(WSP = Wireless Session Protocol). WSP führt auch unter Verwendung von
Transfers des Inhalts vom HTTP-Typ durch. Wenn WSP und WTLS eine
sichere Session erzeugen, werden Anfangsblöcke (z.B. Session-Anfangsblöcke) normal
zwischen Client und Server ausgetauscht. Wie bei HDTP können diese
Anfangsblöcke
dazu verwendet werden, die Sicherheitsinformation für den zweiten
Kanal (Blöcke 414, 416, 512 und 514)
auszutauschen.
-
Ungeachtet
des spezifischen Protokolls, das verwendet wird, kann ein Teil der
Sicherheitsinformation für
beide Kanäle
gemeinsam (oder gemeinsam genutzt) sein. In dem Fall, in welchem
der Verschlüsselungsalgorithmus
mit öffentlichem
Schlüssel
von Diffie Hellman verwendet wird, enthalten die Austauschvorgänge während der
Handshake-Operationen einen Schlüsselaustausch
und einen Zufallszahlenaustausch. Somit wäre normalerweise ein Schlüsselaustausch
und ein Zufallszahlenaustausch separat für jeden Kanal erforderlich.
Jedoch kann durch gemeinsames Nutzen desselben Schlüssels für beide
Kanäle
der zweite Schlüsselaustausch
eliminiert werden. Gleichermaßen
kann das gemeinsame Nutzen derselben Zufallszahl den Zufallszahlenaustausch
eliminieren. Das gemeinsame Nutzen eines Teils der Sicherheitsinformation
verbessert eine Latenz oder Effizienz des Aufbaus einer sicheren
Verbindung, kann aber in einer Reduzierung bezüglich der Stärke der
Sicherheit resultieren.
-
Darüber hinaus
kann es wünschenswert sein,
dieselbe Sicherheitsinformation für beide (z.B. mehrere) Kanäle zu verwenden.
In solchen Fällen muss
es nicht irgendeinen Austausch von Sicherheitsinformation für den zweiten
Kanal (oder mehrere Kanäle)
neben der für
den ersten Kanal ausgetauschten Sicherheitsinformation geben. Hier
würde die
gesamte Sicherheitsinformation durch die Kanäle gemeinsam genutzt werden.
Unterschiedliche Verbindungsidentifizierer würden jedoch die Verbindungen
unterscheiden. Beispielsweise könnten
in Bezug auf 4 die Blöcke 412 und 414 eliminiert
werden und könnten
in Bezug auf 5 die Blöcke 512 und 514 eliminiert
werden. Ebenso könnte
die Erzeugung des zweiten Schlüsselblocks
(Blöcke 416 und 516) durch
gemeinsames Nutzen eines Schlüsselblocks (z.B.
des ersten Schlüsselblocks)
eliminiert werden. Somit können
sichere Verbindungen über
beide (oder mehrere) Kanäle
unter Verwendung derselben kryptographischen Parameter aufgebaut
werden, mit dem Prozess, dass es eine Reduzierung bezüglich der
Stärke
der Sicherheit gibt.
-
6 ist
ein Ablaufdiagramm einer Datenübertragungsverarbeitung 600 gemäß einem
Ausführungsbeispiel
der Erfindung. Bei diesem Ausführungsbeispiel
werden die Daten typischerweise über einen
zweiten Kanal vom Server zum Client übertragen. Als Beispiel ist
der zweite Kanal ein Einwege-Schmalbandkanal. Die Datenübertragungsverarbeitung 600 folgt
dem Einrichten der sicheren Session (Verbindung) zwischen dem Server
und dem Client über
den zweiten Kanal, wie es in 4 gezeigt ist.
Eine Datenübertragung,
wenn es eine gibt, über den
ersten Kanal ist nicht gezeigt.
-
Die
Datenübertragungsverarbeitung 600 beginnt
mit einem Entscheidungsblock 602. Der Entscheidungsblock 602 bestimmt,
ob es Daten zum Übertragen über den
zweiten Kanal gibt. Wenn der Entscheidungsblock 602 bestimmt,
dass es gegenwärtig
keine Daten gibt, die darauf warten, über den zweiten Kanal übertragen
zu werden, dann wartet die Datenübertragungsverarbeitung 600 einfach
auf den Empfang von solchen Daten.
-
Wenn
der Entscheidungsblock 602 einmal bestimmt, dass es Daten
gibt, um über
den zweiten Kanal übertragen
zu werden, dann fährt
die Datenübertragungsverarbeitung 600 fort,
so dass die Daten übertragen
werden. Wiederum ist die sichere Session (Verbindung) bereits für den zweiten
Kanal aufgebaut worden. Insbesondere wird ein Block der Daten erhalten 604.
Ein oder mehrere Schlüssel
aus dem zweiten Schlüsselblock
werden erhalten 606. Typischerweise werden ein Authentifizierungsschlüssel und
ein Verschlüsselungsschlüssel von
dem zweiten Schlüsselbock
erhalten. Ein Initialisierungsvektor kann auch aus dem zweiten Schlüsselblock
erhalten werden. Der Initialisierungsvektor wird als Zufallskeim
für Blockverschlüsselungs-Verschlüsselungsalgorithmen
verwendet. Hier wurde der zweite Schlüsselblock im Block 514 der
in 5 dargestellten Verarbeitung 500 für eine sichere
Verbindung auf der Serverseite erzeugt. Der zweite Schlüsselblock
ist beim Server angeordnet.
-
Als
nächstes
wird der Block von Daten verschlüsselt
und/oder signiert 608, indem der (die) Schlüssel verwendet
wird (werden), der (die) von dem zweiten Schlüsselblock erhalten sind. Die
besondere Signaturtechnik, die verwendet wird, ist beispielsweise
ein Einwege-Hash-Algorithmus. Der verwendete bestimmte Verschlüsselungsalgorithmus kann
in weitem Maß variieren,
aber oft sind Verschlüsselungsalgorithmen
mit öffentlichem
Schlüssel geeignet.
Bei einem Ausführungsbeispiel
würde unter
Annahme, dass sowohl eine Signatur als auch eine Verschlüsselung
erwünscht
sind, der Block von Daten unter Verwendung der Signaturtechnik und des
Authentifizierungsschlüssels
signiert werden, und würde
der Block von Daten unter Verwendung des Verschlüsselungsalgorithmus und des
Verschlüsselungsschlüssels verschlüsselt werden,
und dann würden
die zwei Verarbeitungsblöcke
aneinandergehängt
werden.
-
Nach
dem Block 608 wird der verschlüsselte Block von Daten über den
zweiten Kanal übertragen 610.
Darauf folgend bestimmt ein Entscheidungsblock 612, ob
es mehr Daten gibt, um über
den zweiten Kanal übertragen
zu werden. Wenn der Entscheidungsblock bestimmt, dass es mehr Daten
gibt, um Übertragen
zu werden, dann springt die Datenübertragungsverarbeitung 600 zurück, um den
Block 604 und nachfolgende Blöcke zu wiederholen. Andererseits
ist dann, wenn der Entscheidungsblock 612 bestimmt, dass
es nicht mehr Daten gibt, um über
den zweiten Kanal übertragen
zu werden, die Datenübertragungsverarbeitung 600 beendet
und endet.
-
7 ist
ein Ablaufdiagramm einer Datenempfangsverarbeitung 700 gemäß einem
Ausführungsbeispiel
der Erfindung. Bei diesem Ausführungsbeispiel
werden Daten über
einen zweiten Kanal empfangen. Als Beispiel ist der zweite Kanal
ein Einwege-Schmalbandkanal
vom Server zum Client. Bei einer Implementierung der Datenempfangsverarbeitung 700 wird
die Verarbeitung durch einen Client durchgeführt, wie beispielsweise den
in 2B dargestellten Client 254 und 256.
Die Datenempfangsverarbeitung 700 folgt der Datenübertragungsverarbeitung 600,
und somit erfolgt der Aufbau der sicheren Session (Verbindung) zwischen
dem Server und dem Client über
den zweiten Kanal, wie es in 4 gezeigt.
Ein Datenempfang, wenn es einen gibt, über den ersten Kanal ist nicht
gezeigt.
-
Die
Datenempfangsverarbeitung 700 beginnt mit einem Entscheidungsblock 702.
Der Entscheidungsblock 702 bestimmt, ob ein Block von Daten über den
zweiten Kanal empfangen worden ist. Der Entscheidungsblock 702 veranlasst,
dass die Datenempfangsverarbeitung 700 wartet, bis wenigstens
ein Block von Daten über
den zweiten Kanal empfangen worden ist. Jedoch dann, wenn der Entscheidungsblock 702 einmal
bestimmt, dass wenigstens ein Block von Daten über den zweiten Kanal empfangen
worden ist, fährt
die Datenempfangsverarbeitung 700 fort, so dass der Block
von Daten verarbeitet werden kann. Das bedeutet, dass ein oder mehrere
Schlüssel
aus dem zweiten Schlüsselblock erhalten
werden 704. Typischerweise werden ein Authentifizierungsschlüssel und
ein Verschlüsselungsschlüssel aus
dem zweiten Schlüsselblock
erhalten. Ein Initialisierungsvektor, der als Zufallskeim für Blockschlüssel-Verschlüsselungsalgorithmen
verwendet wird, kann auch aus dem zweiten Schlüsselblock erhalten werden.
Hier ist der zweite Schlüsselblock
beispielsweise der zweite Schlüsselblock,
der im Block 414 der in 4 dargestellten
Verarbeitung 400 für
eine sichere Verbindung auf der Clientseite erzeugt wurde. Anders
ausgedrückt
ist der zweite Schlüsselblock
hier lokal zum Client.
-
Als
nächstes
wird der Block von Daten, der empfangen worden ist, entschlüsselt und/oder
authentifiziert 706, indem der (die) Schlüssel verwendet wird
(werden), der (die) aus dem zweiten Schlüsselblock erhalten wurde(n).
Bei einem Ausführungsbeispiel
würde unter
der Annahme, dass sowohl eine Signatur als auch eine Verschlüsselung
auf der Senderseite an den Daten durchgeführt würde, die übertragen sind und nun beim
Client empfangen sind, der Block von Daten, der empfangen ist, sowohl
signiert als auch verschlüsselt
werden. Somit würde
bei einem solchen Ausführungsbeispiel
der empfangene Block von Daten unter Verwendung des aus dem zweiten
Schlüsselblock
auf der Clientseite erhaltene 704 Authentifizierungsschlüssel authentifiziert
werden und würde
der empfangene Block von Daten auch unter Verwendung des auch aus
dem zweiten Schlüsselblock
auf der Clientseite erhaltenen 704 Verschlüsselungsschlüssels verschlüsselt werden.
-
Nachdem
der Block von Daten entschlüsselt und/oder
authentifiziert worden ist 706, wird der entschlüsselte Block
von Daten für
eine nachfolgende Verwendung gespeichert 708. Nach dem
Block 708 springt die Datenempfangsverarbeitung 700 zurück, um den
Entscheidungsblock 702 und folgende Blöcke zu wiederholen, so dass
nachfolgende Blöcke von
Daten verarbeitet werden können,
wenn sie über dem
zweiten Kanal empfangen werden.
-
Trägernetzwerke
sind allgemein in paketgeschaltete Netzwerke und schaltungsgeschaltete Netzwerke
klassifiziert. Bei paketgeschalteten Netzwerken können Kommunikationen
zwischen dem Trägernetzwerk
und der drahtlosen Kommunikationsvorrichtung eine Internetprotokoll-(IP)-Adressierung verwenden,
weil die drahtlose Kommunikationsvorrichtung ihre eigene individuelle
IP-Adresse hat. Schaltungsgeschaltete Netzwerke erfordern andererseits
die Bildung einer Schaltung mit dem Trägernetzwerk, bevor die drahtlose
Kommunikationsvorrichtung mit dem Trägernetzwerk kommunizieren kann.
In solchen Netzwerken haben die drahtlosen Kommunikationsvorrichtungen
keine statische IP-Adresse, sondern haben stattdessen eine dynamisch
zugeordnete IP-Adresse oder eindeutige Telefonnummern. Ein Beispiel
für ein
paketgeschaltetes Trägernetzwerk
ist CDPD. Ein Beispiel für
ein schaltungsgeschaltetes Netzwerk ist ein Codemultiplex-Vielfachzugriff
(CDMA) und ein globales System für
mobile Kommunikationen (GSM).
-
8 ist
ein Blockdiagramm eines Kommunikationssystems 800 gemäß einem
Ausführungsbeispiel
der Erfindung. Das Kommunikationssystem 800 enthält ein Netzwerk-Gateway 802,
das einen Zugriff auf und eine Wiedergewinnung bzw. ein Auslesen von
Information aus dem Internet 208 zu den drahtlosen Kommunikationsvorrichtungen 202X, 202Y und 202Z ermöglicht.
Das Netzwerk-Gateway arbeitet gleich dem in 2A dargestellten
Netzwerk-Gateway 206. Das Kommunikationssystem 800 gehört jedoch
speziell zu der Situation, bei welcher das Trägernetzwerk X 804 ein
paketgeschaltetes Netzwerk ist, wie beispielsweise CDPD, das Trägernetzwerk
Y 806 ein Netzwerk vom SMS-Typ ist, das CDMA mit einem
Schnittstellenprotokoll von SMPP verwendet, und das Trägernetzwerk
Z 808 ein weiteres Netzwerk vom SMS-Typ ist, das GSM mit einem Schnittstellenprotokoll
und UCP verwendet.
-
Da
das Trägernetzwerk
Y 806 und das Trägernetzwerk
Z 808 schaltungsgeschaltete Netzwerke sind, die SMS verwenden,
verwenden sie Kurznachrichten-Serverzentren (SMSCs) und Zwischenarbeitsfunktionen
(IWF) zum Bereitstellen einer Kommunikation mit den Trägernetzwerken.
Die Verwendung der SMSCs und der IWFs sind herkömmlich und typischerweise durch
die Trägernetzwerke
zur Verfügung
gestellt, so dass eine Nachrichtenbildung und eine Interaktion mit
den Trägernetzwerken
erreicht werden können.
Somit enthält
das Kommunikationssystem 800 SMSC-Y 810 und SMSC-Z 812, die
jeweils Nachrichtendienste zu drahtlosen Kommunikationsvorrichtungen
liefern, die mit dem Trägernetzwerk
Y 806 bzw. dem Trägernetzwerk
Z 808 gekoppelt sind. Die SMSCs 810 und 812 liefern
Einwege-Benachrichtigungen vom Mehrfachnetzwerk-Gateway 802 zu
den drahtlosen Kommunikationsvorrichtungen auf dem Trägernetzwerk
Y 806 bzw. dem Trägernetzwerk
Z 808. Die IWF-B 814 und die IWF-C 816 werden
jeweils zum Bereitstellen einer Zweiwegeinteraktion zwischen dem
Netzwerk-Gateway 802 und dem Trägernetzwerk-Y 806 bzw.
dem Trägernetzwerk-Z 808 zur
Verfügung
zu stellen. Die SMSC-Verbindungen mit den Trägernetzwerken werden typischerweise
Schmalbandkanäle
genannt, wohingegen die IWF-Verbindungen
mit den Trägernetzwerken
Breitbandkanäle
sind. Bei diesem Ausführungsbeispiel
sind die SMSC-Verbindungen zu den Trägernetzwerken Einweg-Schmalbandkanäle, wohingegen
die IWF-Verbindungen mit den Trägernetzwerken
Zweiwege-Breitbandkanäle
sind.
-
9 ist
ein Blockdiagramm eines repräsentativen
Kommunikationssystems 900 zur Verwendung bei der Erfindung.
Das Kommunikationssystem 900 enthält einen verdrahteten Abschnitt 902 und
einen drahtlosen Abschnitt 904. Der verdrahtete Abschnitt 902 enthält ein Netzwerk 906 und
ein Netzwerk-Gateway 908. Bei einem Ausführungsbeispiel ist
das Netzwerk 906 das Internet, das eine große Anzahl
von miteinander verbundenen Computern darstellt. Bei einem weiteren
Ausführungsbeispiel
ist das Netzwerk 906 ein Intranet oder ein privates Netzwerk
von Computern.
-
Das
Netzwerk-Gateway 908 arbeitet, um ein Gateway von dem verdrahteten
Abschnitt 902 und dem drahtlosen Abschnitt 904 zur
Verfügung
zu stellen. Das Netzwerk-Gateway 908 dient als primäre Übergangsstelle
zwischen der drahtlosen Kommunikation des drahtlosen Abschnitts 904 und
der verdrahteten Kommunikation des verdrahteten Abschnitts 902.
Das Netzwerk-Gateway 908 empfängt die ankommende Inhaltsanforderung
von dem Trägernetzwerk 914 und
führt eine
Protokollumwandlung durch, wie es nötig ist. Das Netzwerk-Gateway 908 wird
normalerweise irgendeine Protokollumsetzung durchführen, und
sonst für
Management- und Verifizierungsoperationen verantwortlich sein. Das Netzwerk-Gateway 908 enthält einen
Kontoinformationsspeicherbereich 910, der ein Konto, eine
Konfiguration und andere Information speichert. Der drahtlose Abschnitt 904 enthält ein Trägernetzwerk 914 und wenigstens
eine entfernte drahtlose Berechnungsvorrichtung 916. Das
Netzwerk-Gateway 908 empfängt auch
Nachrichten vom Netzwerk 906 und leitet sie weiter zu den
geeigneten entfernten Berechnungsvorrichtungen.
-
Die
entfernte Berechnungsvorrichtung 916 kann beispielsweise
ein Mobiltelefon, ein persönlicher
digitaler Assistent (PDA) oder ein tragbarer Computer für allgemeine
Zwecke sein. Die entfernte drahtlose Berechnungsvorrichtung 916 enthält eine Anzeige 918 zum
Anzeigen von Bildschirmen oder Seiten von Information, einen entfernten
drahtlosen Browser 920 und Navigationstasten 922 und 924. Der
entfernte drahtlose Browser 920 ist normalerweise ein Anwendungsprogramm,
das auf der entfernten Berechnungsvorrichtung 916 ausführt. Der
entfernte drahtlose Browser 920 stellt die Bildschirme
oder Seiten von Information zur Verfügung, um auf der Anzeige 918 angezeigt
zu werden. Die Navigationstasten 922 und 924 lassen
zu, dass ein Anwender durch Menüs
oder Listen navigiert oder Auswahlen aus diesen durchführt, die
auf der Anzeige 918 durch den entfernten drahtlosen Browser 920 angezeigt
werden. Die entfernte drahtlose Berechnungsvorrichtung 916 kann
auch eine alphanumerische Tastatur (nicht gezeigt) enthalten, die
zulässt,
dass ein Anwender alphanumerische Information eingibt, obwohl eine
solche nicht nötig
ist, da alphanumerische Information auch unter Verwendung eines
Wählbildschirms
eingegeben werden kann, der auf der Anzeige 918 angezeigt
ist, wobei Auswahlen unter Verwendung der Navigationstasten 922 und 924 durchgeführt werden. Durch
Interagieren mit dem entfernten drahtlosen Browser 920 kann
ein Anwender auf Information zugreifen, die auf dem Netzwerk 906 lokalisiert
ist. Gemäß der Erfindung
gibt es sichere Sessions zwischen wenigstens über den drahtlosen Abschnitt 904,
nämlich
zwischen dem entfernten drahtlosen Browser 920 und dem
Netzwerk-Gateway 908. Wie es oben angegeben ist, können diese
sichere Sessions durch das Trägernetzwerk 914 sogar
auf Einweg-Kanälen zur
Verfügung
gestellt werden.
-
Typischerweise
wird der drahtlose Abschnitt 904 eine Vielzahl von entfernten
drahtlosen Browsern 920 enthalten, von welchen jeder auf
einer anderen entfernten Berechnungsvorrichtung ausführt. Die
Konfiguration und andere Information, die in dem Kontoinformationsspeicherbereich 910 gespeichert sind,
können
Servicebeschränkungen,
Sicherheitsbeschränkungen,
Präferenzinformation,
Bildschirmkonfigurationsinformation und ähnliches für jeden der entfernten drahtlosen
Browser 920 speichern. Der Kontoinformationsspeicherbereich 910 kann
auch Daten oder Seiten von Daten speichern, die für die entfernten
drahtlosen Browser 920 von Interesse sind. Die gespeicherten
Daten oder Seiten können als
Cash von Information arbeiten, die zuvor von dem Netzwerk 906 angefordert
ist, oder können
als Informationsserver innerhalb des Netzwerk-Gateways 908 arbeiten.
Beispielsweise können
als Informationsserver die Speicherseiten Seiten darstellen, um durch
die entfernten drahtlosen Browser angezeigt zu werden.
-
10A ist ein Blockdiagramm eines Netzwerk-Gateways 1000,
das zur Verwendung bei dem in 9 dargestellten
repräsentativen
Kommunikationssystem 900 geeignet ist. Das Netzwerk-Gateway 1000 kann
beispielsweise das in 9 dargestellte Netzwerk-Gateway 908 darstellen,
das typischerweise ein Servercomputer ist. Zum Vermeiden eines Verdunkelns
von Aspekten der vorliegenden Erfindung werden wohlbekannte Verfahren,
Prozeduren, Komponenten und Schaltkreise im Netzwerk-Gateway 1000 nicht
detailliert beschrieben.
-
Das
Netzwerk-Gateway 1000 enthält eine Anwenderdatagrammprotokoll-(UDP
= User Datagram Protocol)-Schnittstelle 1002, die mit dem
Trägernetzwerk 914 koppelt,
eine HTTP-Schnittstelle 1004, die mit dem Netzwerk 906 koppelt,
und ein Servermodul 1006, das zwischen der UDP-Schnittstelle 1002 und
der HTTP-Schnittstelle 1004 koppelt. Das Servermodul 1006 führt eine
herkömmliche
Serverarbeitungsübergabe
sowie eine Protokollumwandlungsverarbeitung durch. Insbesondere
enthält
die Protokollumwandlungsverarbeitung eine Protokollumwandlung zwischen
UDP und HTTP. Das Servermodul 1006 führt auch die zu sicheren Sessions
gehörende
Verarbeitung durch, die oben in Bezug auf die 4 und 5 beschrieben
ist. Weiterhin enthält
der Proxyserver 1000, um das Servermodul 1006 bei
seiner Verarbeitung zu unterstützen,
einen Direktzugriffsspeicher (RAM) 1008 und einen Nurlesespeicher
(ROM) 1010. Unter anderen wird der RAM 1008 Vorrichtungsidentifizierer,
Teilnehmeridentifizierer, Konfigurationsinformation, Sicherheitsinformation und
andere Umwandlungsinformation speichern. Bei einem Ausführungsbeispiel
wird solche Infor mation im RAM 1010 als Datenbank gespeichert.
Ebenso kann der RAM 1010 den in 9 dargestellten
Kontoinformationsspeicherbereich 910 darstellen.
-
10B ist ein Blockdiagramm einer mobilen Vorrichtung 1050,
die zur Verwendung mit dem in 9 dargestellten
repräsentativen
Kommunikationssystem 900 geeignet ist. Die mobile Vorrichtung 1050 kann
beispielsweise der entfernten Berechnungsvorrichtung 916 entsprechen,
die den in 9 dargestellten entfernten drahtlosen
Browser 920 betreibt.
-
Die
mobile Vorrichtung 1050 enthält eine UDP-Schnittstelle 1052,
die mit dem Trägernetzwerk 914 über einen
RF-Transceiver 1053 koppelt, um ankommende und abgehende
Signale zu empfangen. Ein Vorrichtungsidentifizierer-(ID)-Speicher 1054 führt einen
Vorrichtungs-ID zur UDP-Schnittstelle 1052 zu. Der Vorrichtungs-ID
identifiziert einen spezifischen Code, der zu einer bestimmten mobilen
Vorrichtung 1050 gehört.
Zusätzlich
enthält
die mobile Vorrichtung 1050 ein Clientmodul 1056,
das viele der Verarbeitungsaufgaben durchführt, die durch die mobile Vorrichtung 1050 durchgeführt werden,
einschließlich
eines Einrichtens einer Kommunikationssession mit dem Trägernetzwerk 1014 und
dem Netzwerk-Gateway 908, eines Anforderns und eines Empfangens
von Daten (z.B. von Seiten) von dem Netzwerk 906, eines
Anzeigens von Information auf eine Anzeige der entfernten Berechnungsvorrichtung und
eines Empfangens einer Anwendereingabe. Das Clientmodul 1056 ist
mit der UDP-Schnittstelle 1052 für das Einrichten einer Kommunikationssession
und das Anfordern und Empfangen von Daten gekoppelt. Das Clientmodul 1056 führt auch
die zu der Übertragung
und dem Empfang der von dem Gateway-Computer 908, 1000 übertragenen
Nachrichten durch, einschließlich
der oben in Bezug auf die 4 und 7 beschriebenen
Verarbeitung für
eine sichere Session. Das Clientmodul 1056 steuert den
Anzeigetreiber 1058, um Information auf der Anzeige 1060 dem
Anwender anzuzeigen. Zusätzlich
ist das Clientmodul 1056 mit einer Eingabevorrichtung 1062,
einem ROM 1064 und einem RAM 1066 gekoppelt. Vorzugsweise
betreibt das Clientmodul 1056 unter anderem einen Netzwerkbrowser,
wie beispielsweise einen Web-Browser für eine Markierungssprache für eine in
der Hand gehaltene Vorrichtung (HDML = Handheld Device Markup Language).
Die Eingabevorrichtung 1062 lässt zu, dass ein Anwender der mobilen
Vorrichtung 1050 Daten eingibt und somit Auswahlen beim
Steuern und Verwenden der mobilen Vorrichtung 1050 durchführt. Der
ROM 1064 speichert vorbestimmte Daten und Verarbeitungsanweisungen
für das
Clientmodul 1056. Der RAM 1066 wird dazu verwendet,
eine temporäre
Daten speicherung für
Sicherheitsinformation sowie für
ankommende und abgehende Daten, die empfangen und gesendet werden,
zur Verfügung
zu stellen.
-
Obwohl
Ausführungsbeispiele
des Netzwerk-Gateways 1000 und der mobilen Vorrichtung 1050 in
den 10A und 10B unter
Verwendung von UDP- und HTTP-Protokollen
beschrieben sind, sollte es erkannt werden, dass andere Protokolle
und andere Protokollstapel zur Verfügung gestellt und verwendet
werden können.
Zusätzliche
Details über
den Aufbau und die Konstruktion des Netzwerk-Gateways 1000 und
der mobilen Vorrichtung 1050 sind in der US-Patentanmeldung
No. 08/570,210 mit dem Titel "METHOD
AND ARCHITECTURE FOR AN INTERACTIVE TWO-WAY DATA COMMUNICATION NETWORK" von Alain Rossmann
enthalten.
-
Die
Vorteile der Erfindung sind zahlreich. Einige Vorteile, die Ausführungsbeispiele
der Erfindung enthalten können,
sind wie folgt. Ein Vorteil der Erfindung besteht darin, dass eine
sichere Verbindung über
einen Einwegkanal gebildet werden kann. Ein weiterer Vorteil der
Erfindung besteht darin, dass der Aufbau einer gesicherten Verbindung
schnell erreicht werden kann, um dadurch die Latenzzeit für solche Operationen
im Vergleich mit herkömmlichen
Ansätzen
zu verbessern. Ein weiterer Vorteil der Erfindung besteht darin,
dass ein Server mit der Option zusätzlicher sicherer Datenpfade
zu einem Client (z.B. zu einer mobilen Vorrichtung) versehen ist,
wodurch der Server einen oder beide der Pfade in Abhängigkeit von
bestimmten Auswahlkriterien, einschließlich Kosten, Geschwindigkeit
und Verfügbarkeit,
verwenden kann.