-
Die
hier beschriebenen Ausführungsformen beziehen
sich allgemein auf Client-Server-Datenkommunikation, und insbesondere
auf ein System und eine Methode zur Steuerung der verschlüsselten Datenkommunikation
zwischen Geräten.
-
Einige
Geräte,
wozu beispielsweise einige Mobilgeräte zählen, empfangen Daten, die
zu ihnen möglicherweise
durch einen Server gepusht werden. Zum Beispiel kann ein System
einen zentralen Nachrichtenserver enthalten, der Nachrichten wie
z. B. elektronische Mail-Nachrichten ("E-Mails") empfängt, die an eine Anzahl von
Benutzern gerichtet sind. Das System kann beispielsweise des Weiteren
unterstützende
Komponenten zur drahtlosen Kommunikation wie z. B. einen Nachrichtenverwaltungsserver
enthalten, der die am zentralen Nachrichtenserver empfangenen Nachrichten
verarbeitet und zu den durch die Benutzer betriebenen Mobilgeräten pusht.
Allgemein gilt: Während
die Nachrichten auf dem zentralen Nachrichtenserver gespeichert
werden können,
kann der Nachrichtenverwaltungs-server insbesondere verwendet werden,
um zu steuern, ob und wie Nachrichten zu den Mobilgeräten gesendet
werden sollen. Auf diese Weise kann die Weiterleitung der Nachrichten
an die Benutzer der Mobilgeräte
erfolgen, sobald sie am zentralen Nachrichtenserver empfangen werden
oder z. B. entsprechend einem anderen vordefinierten Zeitplan oder
in einem vordefinierten Intervall.
-
Wenn
ein Server wie z. B. der Nachrichtenverwaltungsserver dazu angepasst
ist, Nachrichtendaten oder andere Daten zu einem Mobilgerät zu pushen,
werden in einigen bekannten Implementierungen die Daten über eine
gemeinsam verwendete Netzinfrastruktur (z. B. das öffentliche
Internet) und ein Drahtlosnetz zu dem Mobilgerät übertragen. Solche Übertragungen
können
anfällig
sein für
das Abhören
und für
unerlaubten Zugriff. Um die Vertraulichkeit solcher Übertragungen
zu schützen,
können
die Daten vor der Übertragung
am Server verschlüsselt werden,
um anschließend
wieder entschlüsselt
zu werden, nachdem die Daten am Mobilgerät empfangen wurden. Auf dem
Mobilgerät
ist typischerweise ein Schlüssel
gespeichert, mit dem die vom Server empfangenen verschlüsselten
Daten entschlüsselt werden
können.
Dieser Schlüssel
wird typischerweise während
eines Synchronisierungsvorgangs mit einem Desktopcomputer auf das
Mobilgerät
heruntergeladen oder beispielsweise bei der erstmaligen Einrichtung
des Mobilgeräts
zum Gebrauch.
-
US 2005/216735 offenbart
ein Verfahren, bei dem auf einem Gerät, welches Daten von einem
Absender empfangt, eine Schlüsseltabelle
nach einem Entschlüsselungsschlüssel durchsucht
wird. Kann der Entschlüsselungsschlüssel in
der Schlüsseltabelle
nicht gefunden werden, so wird der Empfang der durch den Absender
gesendeten Daten durch das empfangende Gerät nicht bestätigt. Der
benötigte Entschlüsselungsschlüssel wird
dann anschließend aus
einer Master-Liste
von Entschlüsselungsschlüsseln herausgesucht
und von dieser abgerufen.
-
Allgemeines
-
In
dem Fall, dass der Schlüssel,
welcher zum Entschlüsseln
verschlüsselter
Daten benötigt
wird, die von dem Server empfangen wurden, gelöscht wurde oder anderweitig
nicht zugänglich
wird, können
die empfangenen verschlüsselten
Daten nicht entschlüsselt
werden, bis der Zugriff auf den Schlüssel wieder möglich ist.
Darüber
hinaus kann der Server, welcher keine Kenntnis davon hat, dass der Schlüssel vom
Mobilgerät
gelöscht
wurde oder anderweitig nicht zugänglich
wurde, weiterhin verschlüsselte
Daten zum Mobilgerät
pushen. Wenn jedoch beispielsweise das Mobilgerät so konfiguriert wurde, dass
es Daten verwirft, die es nicht entschlüsseln kann, dann können einige
der durch den Server an das Mobilgerät übertragenen Daten verloren
gehen.
-
Kurze Beschreibung der Zeichnungen
-
Um
ein besseres Verständnis
der Ausführungsformen
der hier beschriebenen Systeme und Methoden zu ermöglichen,
und um deutlicher zeigen zu können,
wie diese in die Praxis umgesetzt werden können, wird anhand von Beispielen
Bezug auf die beiliegenden Zeichnungen genommen, welche folgende
Bedeutung haben:
-
1 ist
ein Blockdiagramm eines Mobilgeräts
in einer exemplarischen Implementierung;
-
2 ist
ein Blockdiagramm einer Kommunikations-Subsystemkomponente des Mobilgeräts aus 1;
-
3 ist
ein Blockdiagramm eines Knotens eines Drahtlosnetzes;
-
4 ist
ein Blockdiagramm zur Darstellung der Komponenten eines Host-Systems in einer
exemplarischen Konfiguration; und
-
5 ist
ein Flussdiagramm zur Darstellung der Schritte in einer Methode
zur Steuerung der Datenkommunikation zwischen einem Server und einer Client-Vorrichtung in einer
Reihe von exemplarischen Ausführungsformen.
-
Die
hier beschriebenen Ausführungsformen von
Systemen und Methoden beziehen sich allgemein auf die Datenkommunikation
zwischen einem Server und einer Client-Vorrichtung (z. B. einem
Mobilgerät),
wobei der Server dazu angepasst ist, Daten mithilfe eines ersten
Schlüssels
zu verschlüsseln
und die verschlüsselten
Daten zu der Client-Vorrichtung zu übertragen, wo sie mithilfe
eines zweiten Schlüssels
entschlüsselt
werden. In einer exemplarischen Ausführungsform werden die Daten
unter Verwendung einer symmetrischen Verschlüsselungstechnik verschlüsselt, und
dementsprechend kann es sich beim ersten Schlüssel zum Verschlüsseln der
Daten und beim zweiten Schlüssel
zum Entschlüsseln
der Daten um denselben Schlüssel
handeln.
-
Insbesondere
beziehen sich die hier beschriebenen Ausführungsformen von Systemen und Methoden
allgemein auf eine Technik, bei der Stoppdaten bei ihrer Verarbeitung
durch den Server dem Server anzeigen, dass es mindestens einige
durch die Client-Vorrichtung vom Server empfangene verschlüsselte Daten
gibt, die mithilfe des zweiten Schlüssels nicht entschlüsselt werden
konnten (wie das z. B. der Fall sein kann, wenn der zweite Schlüssel aus
einem Schlüsselspeicher
auf der Client-Vorrichtung gelöscht
wurde). Diese Stoppdaten können (z.
B. durch die Client-Vorrichtung) zum Server übertragen werden. Beim Empfangen
der Stoppdaten kann der Server beispielsweise die Übertragung
von Daten, die mit dem ersten Schlüssel verschlüsselt wurden,
an die Client-Vorrichtung zurückhalten,
bis der zweite Schlüssel
auf der Client-Vorrichtung wieder zugänglich ist. Alternativ kann
der Server beispielsweise bestimmte Daten erneut zur Client-Vorrichtung übertragen,
sobald der zweite Schlüssel
auf der Client-Vorrichtung wieder zugänglich ist oder sobald dem
Server und der Client-Vorrichtung ein neuer Satz aus Schlüsseln für die Verschlüsselung und/oder
Entschlüsselung
der Datenkommunikation zur Verfügung
gestellt wurde.
-
In
einem umfassenden Aspekt wird vorzugsweise eine Methode zur Steuerung
der Datenkommunikation zwischen einem Server und einer Client-Vorrichtung bereitgestellt,
wobei der Server dazu angepasst ist, Daten mithilfe eines ersten
Schlüssels zu
verschlüsseln
und die verschlüsselten
Daten zu der Client-Vorrichtung zu übertragen, wo sie mithilfe eines
zweiten Schlüssels
entschlüsselt
werden sollen, wobei die Methode die folgenden Schritte umfasst:
das Bereitstellen von Stoppdaten an die Client-Vorrichtung, wobei
die Stoppdaten bei ihrer Verarbeitung durch den Server dem Server
anzeigen, dass durch die Client-Vorrichtung
vom Server empfangene Daten nicht mithilfe des zweiten Schlüssels entschlüsselt wurden;
das Empfangen an der Client-Vorrichtung von verschlüsselten
Daten vom Server; das Versuchen an der Client-Vorrichtung, die im Schritt
des Empfangens empfangenen verschlüsselten Daten mithilfe des
zweiten Schlüssels
zu entschlüsseln;
und wenn die verschlüsselten
Daten nicht mithilfe des zweiten Schlüssels entschlüsselt wurden,
das Übertragen
der Stoppdaten von der Client-Vorrichtung zu dem Server zur Verarbeitung.
-
In
einem anderen umfassenden Aspekt werden die Stoppdaten, die zu dem
Server übertragen werden,
vorzugsweise codiert (z. B. verschlüsselt). Das kann beispielsweise
einen Schutz vor Denial-of-Service-Angriffen auf die Client-Vorrichtung bieten.
-
In
einem anderen umfassenden Aspekt wird vorzugsweise zusammen mit
den Stoppdaten ein Datenindex (z. B. ein Paketidentifikator) zur
Identifizierung der verschlüsselten
Daten, die nicht mithilfe des zweiten Schlüssels entschlüsselt werden
konnten, zu dem Server übertragen.
Dies kann beispielsweise die Neuübertragung
von möglicherweise
verloren gegangenen Daten an die Client-Vorrichtung erleichtern.
-
Es
folgt eine Beschreibung der Merkmale dieser und anderer Aspekte
sowie einer Reihe von Ausführungsformen
von Systemen und Methoden.
-
Die
hier beschriebenen Ausführungsformen von
Systemen und Methoden beziehen sich auf eine Client-Vorrichtung.
In einigen Ausführungsformen handelt
sich es bei der Client-Vorrichtung um ein Mobilgerät. Ein Mobilgerät ist ein
Zweiwege-Kommunikationsgerät
mit erweiterten Datenkommunikationsfunktionen, das über die
Fähigkeit
zur Kommunikation mit anderen Computersystemen verfügt. Ein
Mobilgerät
kann auch die Fähigkeit
zur Sprachkommunikation einschließen. In Abhängigkeit von der von einem
Mobilgerät
bereitgestellten Funktionalität
kann es als Daten-Messaging-Gerät,
als Zweiwege-Pager, als Mobiltelefon mit Möglichkeit zum Daten-Messaging,
als drahtloses Internet-Gerät
oder als Datenkommunikationsgerät
(mit und ohne Telefoniefunktion) bezeichnet werden. Ein Mobilgerät kommuniziert mit
anderen Geräten über ein
Netz aus Sende-Empfangsstationen.
-
Beschreibung bevorzugter Ausführungsformen
-
Um
dem Leser das Verständnis
des Aufbaus eines Mobilgeräts
und seiner Kommunikation mit anderen Geräten zu erleichtern, wird Bezug
auf 1 bis 3 genommen.
-
Zunächst Bezug
nehmend auf 1 ist ein Blockdiagramm eines
Mobilgeräts
in einer exemplarischen Implementierung gezeigt, das allgemein mit 100 bezeichnet
ist. Das Mobilgerät 100 umfasst
eine Reihe von Komponenten, wobei der Mikroprozessor 102 die
steuernde Komponente ist. Der Mikroprozessor 102 steuert
den Gesamtbetrieb des Mobilgeräts 100.
Die Kommunikationsfunktionen, einschließlich der Daten- und Sprachkommunikation,
werden durch das Kommunikations-Subsystem 104 ausgeführt. Das
Kommunikations-Subsystem 104 empfängt Nachrichten von und sendet
Nachrichten zu einem Drahtlosnetz 200. In dieser exemplarischen
Implementierung des Mobilgeräts 100 ist
das Kommunikations-Subsystem 104 gemäß den Standards Global System
for Mobile Communication (GSM) und General Packet Radio Services
(GPRS) konfiguriert. Das GSM/GPRS-Drahtlosnetz wird weltweit verwendet, und
es wird erwartet, dass diese Standards letztendlich durch die Standards
Enhanced Data GSM Environment (EDGE) und Universal Mobile Telecommunications
Service (UMTS) abgelöst
werden. Es werden noch immer neue Standards definiert, es wird jedoch erwartet,
dass diese Ähnlichkeiten
zum hier beschriebenen Netzverhalten aufweisen werden, und dem Fachmann
auf dem Gebiet der Technik wird auch einleuchten, dass die Erfindung
zur Verwendung aller anderen geeigneten Standards vorgesehen ist,
die in Zukunft entwickelt werden. Die Drahtlosverbindung, die das
Kommunikations-Subsystem 104 mit dem Netz 200 verbindet,
wird durch einen oder mehrere verschiedene Hochfrequenzkanäle (HF)
repräsentiert,
die entsprechend definierten Protokollen arbeiten, die für die GSM/GPRS-Kommunikation
spezifiziert sind. Bei neueren Netzprotokollen sind diese Kanäle in der
Lage, sowohl leitungsvermittelte Sprachkommunikation als auch paketvermittelte Datenkommunikation
zu unterstützen.
-
Obwohl
das dem Mobilgerät 100 in
einer exemplarischen Implementierung des Mobilgeräts 100 zugeordnete
Drahtlosnetz ein GSM/GPRS-Drahtlosnetz ist, können in abweichenden Implementierungen
auch andere Drahtlosnetze dem Mobilgerät 100 zugeordnet sein.
Zu anderen Typen von Drahtlosnetzen, die verwendet werden können, zählen beispielsweise
datenzentrische Drahtlosnetze, sprachzentrische Drahtlosnetze und
Dualmodusnetze, die über dieselben
physi schen Basisstationen sowohl Sprachkommunikation als auch Datenkommunikation
unterstützen
können.
Zu den kombinierten Dualmodusnetzen gehören unter anderem Code Division
Multiple Access (CDMA) oder CDMA2000-Netze, GSM/GPRS-Netze (wie
oben erwähnt),
und zukünftige
Netze der dritten Generation (3G) wie EDGE und UMTS. Zu einigen älteren Beispielen
für datenzentrische
Netze gehören
das MobitexTM-Funknetz und das DataTACTM-Funknetz. Zu einigen älteren Beispielen für sprachzentrische
Netze gehören
Personal Communications Systems (PCS) Netze wie GSM und Time Division
Multiple Access (TDMA) Systeme.
-
Der
Mikroprozessor 102 interagiert auch mit zusätzlichen
Subsystemen wie dem Random Access Memory (RAM) 106, dem
Flash-Speicher 108, dem Display 110, dem zusätzlichen
Eingabe-/Ausgabe-Subsystem (E/A) 112, dem seriellen Port 114,
der Tastatur 116, dem Lautsprecher 118, dem Mikrofon 120,
einem Nahbereichskommunikations-Subsystem 122 und sonstigen
Geräten 124.
-
Einige
der Subsysteme des Mobilgeräts 100 führen kommunikationsbezogene
Funktionen aus, während
andere Subsysteme für "residente" oder geräte-spezifische
Funktionen verantwortlich sind. Beispielsweise können das Display 110 und
die Tastatur 116 sowohl für kommunikationsbezogene Funktionen
wie das Eingeben einer Textnachricht zur Übertragung über das Netz 200 als
auch für
geräteresidente
Funktionen wie ein Taschenrechner oder eine Aufgabenliste verwendet
werden. Die vom Mikroprozessor 102 verwendete Betriebssystemsoftware
ist typischerweise in einem Dauerspeicher wie einem Flash-Speicher 108 gespeichert,
bei dem es sich alternativ auch um einen Festwertspeicher (Read-Only Memory, ROM)
oder um ein ähnliches
Speicherelement (nicht dargestellt) handeln kann. Dem Fachmann auf
dem Gebiet der Technik wird einleuchten, dass das Betriebssystem,
spezifische Geräteanwendungen
oder Teile davon temporär
in einen flüchtigen Speicher
wie den RAM 106 geladen werden können.
-
Das
Mobilgerät 100 kann
nach Abschluss der erforderlichen Netzregistrierungs- oder -aktivierungsprozeduren
Kommunikationssignale über
das Netz 200 senden und empfangen. Der Netzzugriff wird
einem Teilnehmer oder Benutzer eines Mobilgeräts 100 zugeordnet.
Um einen Teilnehmer zu identifizieren, benötigt das Mobilgerät 100 ein
Teilnehmeridentitätsmodul
(Subscriber Identity Module) oder eine "SIM"-Karte 126,
die in eine SIM-Schnittstelle 128 eingelegt wird, damit
die Kommunikation mit einem Netz erfolgen kann. Die SIM-Karte 126 entspricht
vom Typ her einer konventionellen "SmartCard", die – unter anderem – zur Identifizierung
eines Teilnehmers des Mobilgeräts 100 und
zur Personalisierung des Mobilgeräts 100 verwendet wird.
Ohne die SIM-Karte 126 ist das Mobilgerät 100 nicht voll funktionsfähig für die Kommunikation
mit dem Netz 200. Durch Einlegen der SIM-Karte 126 in
die SIM-Schnittstelle 128 erhält ein Teilnehmer Zugriff auf
alle abonnierten Dienste. Zu diesen Diensten könnten zählen: Webbrowsing und Nachrichtenübertragung
wie z. B. per E-Mail, Sprachnachrichten, Short Message Service (SMS)
und Multimedia Messaging Services (MMS). Zu weiterentwickelten Diensten
können
gehören:
Point of Sale-, Außendienst-
und Sales Force-Automatisierung. Die SIM-Karte 126 enthält einen
Prozessor und einen Speicher zum Speichern von Informationen. Sobald die
SIM-Karte 126 in
die SIM-Schnittstelle 128 eingelegt wird, ist sie mit dem
Mikroprozessor 102 gekoppelt. Um den Teilnehmer zu identifizieren,
enthält
die SIM-Karte 126 einige Benutzerparameter wie z. B. eine
International Mobile Subscriber Identity (IMSI). Ein Vorteil in
der Verwendung der SIM-Karte 126 besteht darin, dass ein
Teilnehmer nicht notwendigerweise an ein einziges physisches Mobilgerät gebunden
ist. Die SIM-Karte 126 kann auch zusätzliche Informationen für ein Mobilgerät speichern,
beispielsweise Informationen zu Terminen (Kalenderdaten) oder Informationen
zu den zuletzt erfolgten Anrufen.
-
Das
Mobilgerät 100 ist
ein batteriebetriebenes Gerät
und enthält
eine Batterieschnittstelle 132 zur Aufnahme von einer oder
mehreren wiederaufladbaren Batterien 130. Die Batterieschnittstelle 132 ist
an einen Regler (nicht dargestellt) gekoppelt, der die Batterie 130 bei
der Bereitstellung des Stroms V+ an das Mobilgerät 100 unterstützt. Obwohl
derzeitige Technologien eine Batterie verwenden, können auch zukünftige Technologien
wie Mikrobrennstoffzellen den Strom für das Mobilgerät 100 liefern.
-
Der
Mikroprozessor 102 ermöglicht
zusätzlich
zu seinen Betriebssystemfunktionen die Ausführung von Softwareanwendungen
auf dem Mobilgerät 100.
Eine Reihe von Anwendungen zur Steuerung der grundlegenden Gerätefunktionen,
einschließlich Anwendungen
zur Daten- und Sprachkommunikation, sind normalerweise bereits herstellerseitig
auf dem Mobilgerät 100 installiert.
Eine weitere Anwendung, die auf das Mobilgerät 100 geladen werden könnte, ist
ein Personal Information Manager (PIM). Ein PIM verfügt über Funktionen
zum Organisieren und Verwalten von Datenobjekten, die für einen
Teilnehmer von Interesse sind, was beispielsweise unter anderem
E-Mails, Kalenderereignisse, Sprachnachrichten, Termine und Aufgabenobjekte
sein können. Eine
PIM-Anwendung verfügt über die
Fähigkeit
zum Senden und Empfangen von Datenobjekten über das Drahtlosnetz 200.
Die PIM-Datenobjekte können
mit den entsprechenden Datenobjekten des Mobilgerätteilnehmers,
die auf einem Host-Computersystem gespeichert
und/oder zugeordnet sind, über
das Drahtlosnetz 200 nahtlos integriert, synchronisiert und
aktualisiert werden. Diese Funktionalität erstellt hinsichtlich dieser
Objekte ein gespiegeltes Abbild des Host-Computers auf dem Mobilgerät 100.
Das kann insbesondere vorteilhaft sein, wenn es sich beim Host-Computersystem
um das Bürocomputersystem
des Mobilgerätteilnehmers
handelt.
-
Weitere
Anwendungen können
auch über das
Netz 200, das zusätzliche
E/A-Subsystem 112, den seriellen Port 114, das
Nahbereichskommunikations-Subsystem 122 oder
jedes andere geeignete Subsystem 124 auf das Mobilgerät 100 geladen
werden. Diese Flexibilität
bei der Anwendungsinstallation erhöht die Funktionalität des Mobilgeräts 100 und kann
erweiterte gerätespezifische
Funktionen, kommunikationsbezogene Funktionen oder beides ermöglichen.
Beispielsweise können über sichere Kommunikationsanwendungen
E-Commerce-Funktionen
und andere derartige Finanztransaktionen mit dem Mobilgerät 100 ermöglicht werden.
-
Der
serielle Port 114 ermöglicht
es einem Teilnehmer, über
ein externes Gerät
oder eine Softwareanwendung Voreinstellungen festzulegen, und erweitert die
Fähigkeiten
des Mobilgeräts 100 durch das
Bereitstellen von Informationen oder Softwaredownloads zum Mobilgerät 100,
die nicht über
ein drahtloses Kommunikationsnetz erfolgen. Der alternative Downloadpfad
kann beispielsweise verwendet werden, um über eine direkte und damit
vertrauenswürdige
Verbindung einen Verschlüsselungsschlüssel auf
das Mobilgerät 100 zu
laden, um eine sichere Gerätekommunikation
zu ermöglichen.
-
Das
Nahbereichskommunikations-Subsystem 122 ermöglicht die
Kommunikation zwischen dem Mobilgerät 100 und verschiedenen
Systemen oder Geräten,
ohne dazu das Netz 200 zu verwenden. Beispielsweise kann
das Subsystem 122 ein Infrarotgerät sowie die zugehörigen Schaltungen
und Komponenten für
die Nahbereichskommunikation enthalten. Beispiele für die Nahbereichskommunikation
sind die von der Infrared Data Association (IrDA) entwickelten Standards,
Bluetooth sowie die Gruppe der von der IEEE entwickelten 802.11-Standards.
-
Bei
der Verwendung wird ein empfangenes Signal wie z. B. eine Textnachricht,
eine E-Mail-Nachricht oder ein Webseitendownload durch das Kommunikations-Subsystem 104 verarbeitet
und in den Mikroprozessor 102 eingespeist. Der Mikroprozessor 102 verarbeitet
dann das empfangene Signal zur Ausgabe an das Display 110 oder
alternativ an das zusätzlichen
E/A-Subsystem 112. Ein Teilnehmer kann auch Datenobjekte
wie beispielsweise E-Mail-Nachrichten erstellen, wozu die Tastatur 116 in
Verbindung mit dem Display 110 und möglicherweise das zusätzliche
E/A-Subsystem 112 verwendet wird. Das zusätzliche
E/A-Subsystem 112 kann Geräte wie die folgenden enthalten:
einen Touchscreen, eine Maus, einen Trackball, einen Infrarot-Fingerabdruckleser
oder ein Drehrad mit dynamischer Tastendruckfunktion. Bei der Tastatur 116 handelt
es sich um eine alphanumerische Tastatur und/oder um ein für Telefone
typisches Ziffernfeld. Ein erstelltes Objekt kann durch das Kommunikation-Subsystem 104 über das
Netz 200 übertragen werden.
-
Für die Sprachkommunikation
ist der allgemeine Betrieb des Mobilgeräts 100 im Wesentlichen gleich,
außer
dass die empfangenen Signale zum Lautspre cher 118 ausgegeben
würden,
und die Signale für
die Übertragung
würden
durch das Mikrofon 120 erzeugt werden. Alternative Sprach-
oder Audio-E/A-Subsysteme,
wie z. B. ein Aufzeichnungssystem für Sprachnachrichten, können auch
auf dem Mobilgerät 100 implementiert
sein. Obwohl die Sprach- oder Audiosignalausgabe in erster Linie durch
den Lautsprecher 118 erreicht wird, kann auch das Display 110 verwendet
werden, um zusätzliche Informationen
wie z. B. die Identität
des Anrufers, die Dauer eines Sprachanrufs oder andere auf Sprachanrufe
bezogene Informationen bereitzustellen.
-
Nunmehr
Bezug nehmend auf 2 wird ein Blockdiagramm der
Kommunikations-Subsystemkomponente 104 aus 1 gezeigt.
Das Kommunikation-Subsystem 104 umfasst einen Empfänger 150,
einen Sender 152, einen oder mehrere eingebettete oder
interne Antennenelemente 154, 156, Lokaloszillatoren
(LOs) 158 und ein Verarbeitungsmodul wie beispielsweise
einen digitalen Signalprozessor (DSP) 160.
-
Der
konkrete Aufbau des Kommunikations-Subsystems 104 hängt vom
Netz 200 ab, in dem das Mobilgerät 100 arbeiten soll,
daher sollte es einleuchten, dass der in 2 gezeigte
Aufbau nur als Beispiel dient. Die von der Antenne 154 über das Netz 200 empfangenen
Signale werden in den Empfänger 150 eingespeist,
der solche üblichen
Empfängerfunktionen
wie die Signalverstärkung,
die Frequenzabwärtsmischung,
die Filterung, die Kanalauswahl und die Analog-Digital-(A/D)-Umwandlung durchführen kann.
Die A/D-Umwandlung eines empfangenen Signals ermöglicht die Durchführung komplexerer
Kommunikationsfunktionen wie Demodulation und Decodierung im DSP 160.
In einer ähnlichen Weise
werden die zu übertragenden
Signale durch den DSP 160 verarbeitet, einschließlich Modulation und
Codierung. Diese vom DSP verarbeiteten Signale werden in den Sender 152 eingespeist,
wo die Digital-Analog-(D/A)-Wandlung, die Frequenzaufwärtsmischung,
die Filterung, die Verstärkung
und die Übertragung über das
Netz 200 mit der Antenne 156 erfolgt. Der DSP 160 verarbeitet
nicht nur die Kommunikationssignale, sondern übernimmt auch die Empfänger- und Sendersteuerung.
Beispielsweise können
die im Empfänger 150 und
im Sen der 152 auf die Kommunikationssignale angewendeten
Verstärkungsgrade
adaptiv durch automatische Verstärkungsregelungsalgorithmen
gesteuert werden, die im DSP 160 implementiert sind.
-
Die
drahtlose Verbindung zwischen dem Mobilgerät 100 und einem Netz 200 kann
einen oder mehrere unterschiedliche Kanäle einschließen, typischerweise
unterschiedliche HF-Kanäle
sowie die zugehörigen
Protokolle, die zwischen dem Mobilgerät 100 und dem Netz 200 verwendet
werden. Ein HF-Kanal ist eine beschränkte Ressource, mit der sparsam
umgegangen werden muss, was sich typischerweise aus den Einschränkungen
in der Gesamtbandbreite und aus der beschränkten Batterieleistung des
Mobilgeräts 100 ergibt.
-
Wenn
das Mobilgerät 100 sich
im vollen Betrieb befindet, wird der Sender 152 typischerweise nur
dann getastet oder eingeschaltet, wenn er an das Netz 200 sendet
und ist ansonsten abgeschaltet, um sparsam mit Ressourcen umzugehen.
In gleicher Weise wird der Empänger 150 periodisch
abgeschaltet, um Strom zu sparen, bis er benötigt wird, um Signale oder
Informationen (wenn überhaupt)
während ausgewiesener
Zeitabschnitte zu empfangen.
-
Nunmehr
Bezug nehmend auf 3 wird ein Blockdiagramm eines
Knotens eines Drahtlosnetzes als 202 gezeigt. In der Praxis
umfasst das Netz 200 einen oder mehrere Knoten 202.
Das Mobilgerät 100 kommuniziert
mit einem Knoten 202 innerhalb des Drahtlosnetzes 200.
In der Beispielimplementierung von 3 ist der
Knoten 202 gemäß den Technologien
General Packet Radio Service (GPRS) und Global Systems for Mobile
(GSM) konfiguriert. Der Knoten 202 enthält eine Basisstationssteuereinheit
(Base Station Controller – BSC) 204 mit
einer zugehörigen Turmstation 206,
eine Paketsteuerungseinheit (Packet Control Unit – PCU) 208,
die zur GPRS-Unterstützung
in GSM hinzugefügt
wurde, ein mobile Vermittlungsstelle (Mobile Switching Center – MSC) 210, ein
Heimatregister (Home Location Register – HLR) 212, ein Besucherregister
(Visitor Location Register – VLR) 214,
ein Serving GPRS Support Node (SGSN) 216, ein Gateway GPRS
Support Node (GGSN) 218 und ein Dynamic Host Configuration
Protocol (DHCP) 220. Diese Liste der Komponenten ist nicht als
erschöpfende Liste
jedes Knotens 202 innerhalb eines GSM/GPRS-Netzes gemeint,
sondern vielmehr als eine Liste der Komponenten, die im Allgemeinen
in der Kommunikation über
das Netz 200 verwendet werden.
-
In
einem GSM-Netz ist MSC 210 mit BSC 204 und mit
einem ortsfesten Netz wie einem Public Switched Telephone Network
(PSTN) 222 gekoppelt, um die Anforderungen der Leitungsvermittlung
zu erfüllen.
Die Verbindung über
PCU 208, SGSN 216 und GGSN 218 zum öffentlichen
oder privaten Netz (Internet) 224 (hier auch allgemein
als eine gemeinsam verwendete Netzinfrastruktur bezeichnet) bildet
den Datenpfad für
GPRS-taugliche Mobilgeräte.
In einem um GPRS-Funktionen erweiterten GSM-Netz enthält BSC 204 auch
eine Packet Control Unit (PCU) 208, die eine Verbindung
zu SGSN 216 hat, um die Segmentierung und die Funkkanalzuweisung
zu steuern und um den Paketvermittlungsanforderungen gerecht zu
werden. Um die Mobilgerätposition
und die Verfügbarkeit
für sowohl
leitungsvermittelte als auch paketvermittelte Verwaltung zu verfolgen,
wird HLR 212 gemeinsam von MSC 210 und SGSN 216 verwendet.
Der Zugriff auf VLR 214 wird durch MSC 210 gesteuert.
-
Station 206 ist
eine feststehende Sende-Empfangsstation. Station 206 und
BSC 204 bilden gemeinsam die feststehende Sende-Empfangsausrüstung. Die
fest-stehende Sende-Empfangsausrüstung
sorgt für
die drahtlose Netzabdeckung für
ein bestimmtes Abdeckungsgebiet, das im Allgemeinen als eine "Zelle" bezeichnet wird.
Die feststehende Sende-Empfangsausrüstung überträgt Kommunikationssignale zu
den und empfangt Kommunikationssignale von den Mobilgeräten innerhalb dieser
Zelle über
die Station 206. Die feststehende Sende-Empfangsausrüstung fährt normalerweise solche Funktionen
durch wie die Modulation und möglicherweise
die Codierung und/oder Verschlüsselung
von Signalen, die zum Mobilgerät übertragen werden
sollen, und zwar entsprechend bestimmten, üblicherweise vorbestimmten
Kommunikationsprotokollen und -parametern, unter der Steuerung ihrer Steuerungseinheit.
Die feststehende Sende-Empfangsausrüstung übernimmt
in gleicher Weise die Demodulation und möglicherweise Decodierung und Entschlüsselung,
falls erforderlich, aller Kommunika tionssignale, die innerhalb seiner
Zelle vom Mobilgerät 100 empfangen
werden. Die Kommunikationsprotokolle und -parameter können zwischen
unterschiedlichen Knoten voneinander abweichen. Zum Beispiel kann
ein Knoten ein abweichendes Modulationsschema verwenden und mit
anderen Frequenzen arbeiten als andere Knoten.
-
Für alle innerhalb
eines bestimmten Netzes registrierten Mobilgeräte 100 sind permanente
Konfigurationsdaten wie z. B. ein Benutzerprofil im HLR 212 gespeichert.
HLR 212 enthält
auch Positionsinformationen für
jedes registrierte Mobilgerät
und kann abgefragt werden, um die aktuelle Position eines Mobilgeräts zu ermitteln.
MSC 210 ist verantwortlich für eine Gruppe von Positionsbereichen
und speichert die Daten der Mobilgeräte, die sich aktuell in seinem
Verantwortlichkeitsbereich befinden, im VLR 214. Des Weiteren
enthält
VLR 214 auch Informationen zu den Mobilgeräten, die
andere Netze besuchen. Die Informationen im VLR 214 schließen für einen
schnelleren Zugriff einen Teil der permanenten Mobilgerätedaten
ein, die vom HLR 212 zum VLR 214 übertragen
wurden. Durch die Verschiebung zusätzlicher Informationen von
einem entfernten HLR-Knoten 212 zum
VLR 214 kann das Ausmaß an Verkehr
zwischen diesen Knoten reduziert werden, sodass Sprach- und Datendienste
mit kürzeren
Reaktionszeiten bereitgestellt werden können und gleichzeitig weniger
Computerressourcen verwendet werden müssen.
-
SGSN 216 und
GGSN 218 sind Elemente, die innerhalb von GSM zur GPRS-Unterstützung hinzugefügt wurden,
nämlich
für die
Unterstützung
paketvermittelter Daten. SGSN 216 und MSC 210 haben
innerhalb des Drahtlosnetzes 200 ähnliche Verantwortlichkeiten,
indem sie die Position jedes Mobilgeräts 100 verfolgen.
SGSN 216 führt
außerdem
Sicherheitsfunktionen und die Zugriffssteuerung für den Datenverkehr
auf Netz 200 durch. GGSN 218 stellt Verbindungen
für den
netzüberschreitenden Betrieb
mit externen paketvermittelten Netzen bereit und stellt die Verbindung
zu einem oder mehreren SGSNs 216 über ein Internet Protocol (IP)
Backbone-Netz her, das innerhalb des Netzes 200 betrieben
wird. Während
des normalen Betriebs muss ein bestimmtes Mobilgerät 100 einen "GPRS-Attach" durchführen, um
eine IP-Adresse zu erhalten und um auf Datendienste zuzugreifen.
Diese Erfordernis ist in leitungsvermittelten Sprachkanälen nicht
vorhanden, da ISDN-Adressen (Integrated Services Digital Network)
für die
Leitweglenkung eingehender und ausgehender Anrufe verwendet werden.
Gegenwärtig verwenden
alle GPRS-fähigen
Netze private, dynamisch zugewiesene IP-Adressen, wodurch ein an das
GGSN 218 angeschlossener DHCP-Server 220 erforderlich
ist. Es gibt viele Mechanismen zur dynamischen IP-Zuweisung, einschließlich der
Verwendung einer Kombination aus einem RADIUS-Server (Remote Authentication
Dial-In User Service) und einem DHCP-Server. Sobald der GPRS-Attach
abgeschlossen ist, wird eine logische Verbindung von einem Mobilgerät 100, über PCU 208 und
SGSN 216 zu einem Access Point Node (APN) innerhalb von GGSN 218 eingerichtet.
Der APN repräsentiert
ein logisches Ende eines IP-Tunnels, der entweder auf direkte Internet-kompatible
Dienste oder auf Privatnetzverbindungen zugreifen kann. Der APN
repräsentiert
auch einen Sicherheitsmechanismus für das Netz 200, insofern
als dass jedes Mobilgerät 100 einem
oder mehreren APNs zugewiesen sein muss und das Mobilgerät 100 keine
Daten austauschen kann, ohne zuerst einen GPRS-Attach zu einem APN durchzuführen, für dessen
Benutzung es autorisiert wurde. Für den APN kann angenommen werden, dass
er einem Internet-Domänennamen
wie "meineverbindung.drahtlos.com" ähnelt.
-
Sobald
der GPRS-Attach abgeschlossen ist, wird ein Tunnel erstellt, und
der gesamte Verkehr wird innerhalb standardmäßiger IP-Pakete ausgetauscht,
wozu jedes Protokoll verwendet wird, das in IP-Paketen unterstützt werden
kann. Dazu zählen Tunnelungsverfahren
wie IP over IP, wie das bei einigen IPSec-Verbindungen (IPSecurity) der Fall ist,
die mit VPNs (Virtual Private Networks) verwendet werden. Diese
Tunnel werden auch als PDP-Kontexte (Packet Data Protocol) bezeichnet,
und von diesen ist nur eine begrenzten Anzahl im Netz 200 verfügbar. Um
die Verwendung von PDP-Kontexten zu maximieren, führt das
Netz 200 einen Idle-Timer für jeden PDP-Kontext aus, um
zu ermitteln, ob es ein Fehlen von Aktivität gibt. Wenn ein Mobilgerät 100 nicht
seinen PDP-Kontext verwendet, kann die Zuordnung des PDP-Kontexts
aufgehoben und die IP- Adresse
wieder dem IP-Adressenpool zugeführt werden,
der durch den DHCP-Server 220 verwaltet wird.
-
Nunmehr
Bezug nehmend auf 4 ist ein Blockdiagramm zur
Darstellung der Komponenten eines Host-Systems in einer exemplarischen
Konfiguration gezeigt. Das Host-System 250 wird typischerweise
ein Unternehmensbüronetz
oder ein anderes LAN (Local Area Network) sein, kann aber stattdessen
ein privater Bürocomputer
oder in abweichenden Implementierungen beispielsweise ein anderes
privates System sein. In diesem in 4 gezeigten
Beispiel ist das Host-System 250 als
ein LAN einer Organisation dargestellt, zu der ein Benutzer des
Mobilgeräts 100 gehört.
-
Das
LAN 250 umfasst eine Anzahl von Netzkomponenten, die durch
LAN-Verbindungen 260 miteinander verbunden sind. Beispielsweise
befindet sich das Desktop-Computergerät ("Desktopcomputer") 262a eines Benutzers mit
einer zugehörigen
Dockingstation 264 für
das Mobilgerät 100 des
Benutzers im LAN 250. Die Dockingstation 264 für das Mobilgerät 100 kann
mit dem Computer 262a verbunden sein, beispielsweise über eine
serielle oder über
eine USB-Verbindung
(Universal Serial Bus). Andere Benutzercomputer 262b befinden
sich auch im LAN 250, und jeder kann mit einer zugehörigen Dockingstation 264 für ein Mobilgerät ausgestattet
sein oder auch nicht. Die Dockingstation 264 ermöglicht das
Laden von Informationen (z. B. PIM-Daten, private symmetrische Verschlüsselungsschlüssel zum
Ermöglichen
einer sicheren Kommunikation zwischen dem Mobilgerät 100 und
dem LAN 250) vom Benutzercomputer 262a zum Mobilgerät 100 und
kann insbesondere nützlich
für das
massenhafte Aktualisieren von Informationen sein, das häufig bei
der Initialisierung des Mobilgeräts 100 für dessen
Verwendung durchgeführt
wird. Zu den zum Mobilgerät 100 heruntergeladenen
Informationen können
Zertifikate gehören,
die beim Austauschen von Nachrichten verwendet werden. Der Prozess
des Herunterladens von Informationen vom Desktopcomputer 262a eines Benutzers
zum Mobilgerät 100 des
Benutzers kann auch als Synchronisierung bezeichnet werden.
-
Dem
Fachmann auf dem Gebiet der Technik wird verständlich sein, dass die Benutzercomputer 262a, 262b typischerweise
auch mit anderen Peripheriegeräten
verbunden sind, die in 4 nicht explizit dargestellt
sind. Darüber
hinaus wird in 4 zur vereinfachten Darstellung
nur eine Teilgruppe von Netzkomponenten des LAN 250 gezeigt,
und dem Fachmann auf dem Gebiet der Technik wird einleuchten, dass
das LAN 250 für
diese Beispielkonfiguration weitere Komponenten umfasst, die in 4 nicht
explizit dargestellt sind. Noch allgemeiner kann das LAN 250 einen
kleineren Teil eines größeren Netze
[nicht dargestellt] der Organisation repräsentieren und kann andere Komponenten
umfassen und/oder in anderen Topologien angeordnet sein, die im
Beispiel von 4 nicht gezeigt werden.
-
In
diesem Beispiel kommuniziert das Mobilgerät 100 mit dem LAN 250 über einen
Knoten 202 des Drahtlosnetzes 200 und eine gemeinsam
verwendete Infrastruktur 224 wie beispielsweise ein Dienstanbieternetz
oder das öffentliche
Internet. Der Zugriff auf das LAN 250 kann durch einen
oder mehrere Router [nicht dargestellt] ermöglicht werden, und die Computergeräte des LAN 250 können hinter
einer Firewall oder einem Proxyserver 266 operieren.
-
In
einer abweichenden Implementierung umfasst das LAN 250 einen
drahtlosen VPN-Router [nicht dargestellt], um den Datenaustausch
zwischen dem LAN 250 und dem Mobilgerät 100 zu ermöglichen.
Das Konzept eines drahtlosen VPN-Routers ist in der Drahtlosindustrie
noch neu, und es impliziert, dass eine VPN-Verbindung direkt über ein
spezielles drahtloses Netz zum Mobilgerät 100 eingerichtet werden
kann. Die Möglichkeit
zur Verwendung eines drahtlosen VPN-Routers steht erst seit kurzem
zur Verfügung
und könnte
verwendet werden, wenn die neue Version 6 des Internetprotokolls
(IPV6) in IP-basierte Drahtlosnetze eingeführt wird. Dieses neue Protokoll
wird ausreichend IP-Adressen bereitstellen, um jedem Mobilgerät eine IP-Adresse
zuzuordnen, wodurch es möglich
wird, jederzeit Informationen zu einem Mobilgerät zu pushen. Ein Vorteil der
Verwendung eines drahtlosen VPN-Routers besteht darin, dass es sich
dabei um eine Standard-VPN-Komponente handeln kann, für deren
Verwendung kein sepa rates drahtloses Gateway und keine separate drahtlose
Infrastruktur erforderlich ist. Eine VPN-Verbindung wäre vorzugsweise
eine Transmission Control Protocol (TCP)/IP- oder User Datagram
Protocol (UDP)/IP-Verbindung, um die Nachrichten in dieser abweichenden
Implementierung direkt an das Mobilgerät 100 zu liefern.
-
Die
für einen
Benutzer des Mobilgeräts 100 bestimmten
Nachrichten werden anfänglich
von einem Nachrichtenserver 268 des LAN 250 empfangen.
Solche Nachrichten können
von jeder aus einer Reihe von Quellen stammen. Beispielsweise kann eine
Nachricht durch einen Absender von einem Computer 262b innerhalb
des LAN 250, von einem anderen Mobilgerät [nicht dargestellt], das
mit dem Drahtlosnetz 200 oder mit einem anderen Drahtlosnetz
verbunden ist, oder von einem anderen Computergerät oder einem
anderen Gerät,
das zum Senden von Nachrichten in der Lage ist, über die gemeinsam verwendete
Netzinfrastruktur 224 und möglicherweise z. B. über einen
Anwendungsdienstanbieter (Application Service Provider – ASP) oder
Internet-Dienstanbieter (Internet Service Provider – ISP) gesendet
worden sein.
-
Der
Nachrichtenserver 268 agiert typischerweise als die primäre Schnittstelle
für den
Austausch von Nachrichten, insbesondere von E-Mail-Nachrichten,
innerhalb der Organisation und über
die gemeinsam verwendete Netzinfrastruktur 224. Jedem Benutzer
in der Organisation, der zum Senden und Empfangen von Nachrichten
eingerichtet ist, ist typischerweise ein Benutzerkonto zugeordnet,
das durch den Nachrichtenserver 268 verwaltet wird. Ein
Beispiel eines Nachrichtenservers 268 ist ein Microsoft ExchangeTM-Server. In einigen Implementierungen kann
das LAN 250 mehrere Nachrichtenserver 268 umfassen.
Der Nachrichtenserver 268 kann auch so angepasst sein,
dass er über
die Nachrichtenverwaltung hinaus zusätzliche Funktionen bereitstellt,
wozu die Verwaltung von Daten zählt,
die beispielsweise Kalendern und Aufgabenlisten zugeordnet sind.
-
Wenn
die Nachrichten vom Nachrichtenserver 268 empfangen werden,
werden sie typischerweise in einem Nachrichtenspeicher [nicht explizit dargestellt]
gespeichert, von dem die Nachrichten nachfolgend abgerufen und an
die Benutzer geliefert werden können.
Beispielsweise kann eine auf einem Benutzercomputer 262a ausgeführte E-Mail-Clientanwendung
die auf dem Nachrichtenserver 268 gespeicherten E-Mail-Nachrichten
abrufen, die dem Konto dieses Benutzers zugeordnet sind. Diese Nachrichten
würden
dann typischerweise vom Nachrichtenserver 268 abgerufen
und lokal auf dem Computer 262a gespeichert werden.
-
Beim
Betrieb des Mobilgeräts 100 kann
der Benutzer wünschen,
dass E-Mail-Nachrichten
abgerufen und auf das Handgerät
geliefert werden. Eine auf dem Mobilgerät 100 ausgeführte E-Mail-Clientanwendung
kann auch die dem Konto des Benutzers zugeordneten Nachrichten von
Nachrichtenserver 268 anfordern. Der E-Mail-Client kann
so konfiguriert sein (entweder durch den Benutzer oder durch einen Administrator,
möglicherweise
in Übereinstimmung mit
der IT-Richtlinie
(Information Technology) einer Organisation), um diese Anforderung
auf Anweisung des Benutzers, in einem vorbestimmten Zeitintervall oder
beim Auftreten eines vor-definierten Ereignisses durchzuführen. In
einigen Implementierungen ist dem Mobil-gerät 100 seine eigene
E-Mail-Adresse zugeordnet, und die speziell an das Mobil-gerät 100 adressierten
Nachrichten werden automatisch zum Mobilgerät 100 weiter geleitet,
wenn sie durch den Nachrichtenserver 268 empfangen werden.
-
Um
die drahtlose Kommunikation von Nachrichten und nachrichten-bezogenen Daten zwischen dem
Mobilgerät 100 und
den Komponenten des LAN 250 zu ermöglichen, können eine Anzahl von Drahtloskommunikations-Unterstützungskomponenten 270 vorhanden
sein. In dieser Beispielimplementierung umfassen die Drahtloskommunikations-Unterstützungskomponenten 270 beispielsweise
einen Nachrichtenverwaltungsserver 272. Der Nachrichtenverwaltungsserver 272 wird
verwendet, um speziell die Unterstützung für die Verwaltung von Nach-richten
wie E-Mail-Nachrichten bereitzustellen, die durch Mobilgeräte gehandhabt
werden sollen. Im Allgemeinen kann der Nachrichtenverwaltungsserver 272 verwendet
werden, um zu steuern, warm, ob und wie Nachrichten zum Mobilgerät 100 gesendet
werden, obwohl die Nachrichten nach wie vor auf dem Nachrichtenserver 268 gespeichert
werden. Der Nachrichtenverwaltungsserver 272 ermöglicht auch die
Handhabung der auf dem Mobilgerät 100 erstellten
Nachrichten, die zum Nachrichtenserver 268 gesendet werden,
um anschließend
ausgeliefert zu werden.
-
Beispielsweise
kann der Nachrichtenverwaltungsserver 272: die "Mailbox" (z. B. den Nachrichtenspeicher,
der dem Benutzerkonto auf dem Nachrichtenserver 268 zugeordnet
ist) des Benutzers überwachen;
vom Benutzer definierbare Filter auf neue Nachrichten anwenden,
um zu ermitteln, ob und wie die Nachrichten an das Mobilgerät 100 des
Benutzers weitergeleitet werden sollen; neue Nachrichten komprimieren
und verschlüsseln
(z. B. unter Verwendung einer Verschlüsselungstechnik wie Data Encryption
Standard (DES) oder Triple DES) und sie über die gemeinsam verwendete
Netzinfrastruktur 224 und das Drahtlosnetz 200 zum
Mobilgerät 100 pushen;
und auf dem Mobilgerät 100 erstellte
Nachrichten (die z. B. mit Triple DES verschlüsselt wurden) empfangen, die
erstellten Nachrichten entschlüsseln
und dekomprimieren, die erstellten Nachrichten auf Wunsch umformatieren,
sodass sie so erscheinen, als würden
sie vom Computer 262a des Benutzers stammen, und die erstellten
Nachrichten zum Nachrichtenserver 268 weiterleiten, um
sie auszuliefern.
-
Bestimmte
Eigenschaften oder Einschränkungen,
die den Nachrichten zugeordnet sind, welche vom Mobilgerät 100 gesendet
und/oder empfangen werden sollen, können durch den Nachrichtenverwaltungsserver 272 definiert
(z. B. durch einen Administrator in Übereinstimmung mit einer IT-Richtlinie)
und durchgesetzt werden. Dazu kann beispielsweise gehören, ob
das Mobilgerät 100 verschlüsselte und/oder
signierte Nachrichten empfangen kann, welche Mindestgröße die Verschlüsselungsschlüssel haben,
ob ausgehende Nachrichten verschlüsselt und/oder signiert werden
müssen
und ob Kopien von allen sicheren Nachrichten, die vom Mobilgerät 100 gesendet
wurden, zu einer vordefinierten Kopieradresse gesendet werden sollen.
-
Der
Nachrichtenverwaltungsserver 272 kann auch so angepasst
sein, dass er andere Steuerungsfunktionen bereitstellt, zum Beispiel
nur das Pushing be stimmter Nachrichteninformationen oder vordefinierter
Abschnitte (z. B. "Blöcke") einer auf dem Nachrichtenserver 268 gespeicherten
Nachricht zum Mobilgerät 100.
Wenn beispielsweise eine Nachricht anfänglich durch das Mobilgerät 100 vom
Nachrichtenserver 268 abgerufen wird, ist der Nachrichtenverwaltungsserver 272 so
angepasst, dass er nur den ersten Teil einer Nachricht zum Mobilgerät 100 pusht, wobei
der Teil eine vordefinierte Größe (z. B.
2 KB) hat. Der Benutzer kann dann weitere Teile der Nachricht anfordern,
die in gleichgroßen
Blöcken
durch den Nachrichtenverwaltungsserver 272 zum Mobilgerät 100 geliefert
werden, möglicherweise
bis zu einer maximalen vordefinierten Nachrichtengröße.
-
Demnach
ermöglicht
der Nachrichtenverwaltungsserver 272 eine bessere Steuerung
des Datentyps und der Datenmenge, die zum Mobilgerät 100 kommuniziert
werden sollen, und kann dazu beitragen, potenzielle Verschwendung
von Bandbreite und anderen Ressourcen zu minimieren.
-
Dem
Fachmann auf dem Gebiet der Technik wird einleuchten, dass der Nachrichtenverwaltungsserver 272 nicht
als ein separater physischer Server im LAN 250 oder einem
anderen Netz implementiert sein muss. Beispielsweise können einige
oder alle Funktionen, die dem Nachrichtenverwaltungsserver 272 zugeordnet
sind, auch in den Nachrichtenserver 268 oder in irgendeinen
anderen Server im LAN 250 integriert sein. Darüber hinaus
kann das LAN 250 mehrere Nachrichtenverwaltungsserver 272 umfassen,
insbesondere in abweichenden Implementierungen, bei denen eine große Anzahl
von Mobilgeräten unterstützt werden
muss.
-
Bei
der Verarbeitung von codierten Nachrichten wie z. B. E-Mail-Nachrichten können Zertifikate verwendet
werden. Bei einer codierten Nachricht kann es sich beispielsweise
um eine verschlüsselte Nachricht
oder um eine digital signierte Nachricht handeln. Während Simple
Mail Transfer Protocol (SMTP), RFC822-Header und Teile des Hauptkörpers von
Multipurpose Internet Mail Extensions (MIME) verwendet werden können, um
das Format einer typischen E-Mail-Nachricht
zu definieren, die keine Codierung erfordert, kann Secure/MIME (S/MIME), eine
Version des MIME-Protokolls, bei der Kommunikation von co dierten
Nachrichten verwendet werden (z. B. in sicheren Nachrichtenanwendungen).
S/MIME ermöglicht
End-to-End-Authentifizierung und -Vertraulichkeit und schützt die
Datenintegrität
und -sicherheit von dem Zeitpunkt, zu dem ein Erzeuger einer Nachricht
eine Nachricht sendet, bis zum Decodieren und Lesen der Nachricht
durch den Nachrichtenempfänger.
Es können
andere Standards und Protokolle eingesetzt werden, um eine sichere
Nachrichtenkommunikation zu ermöglichen,
zum Beispiel Pretty Good PrivacyTM (PGP),
Varianten von PGP wie OpenPGP sowie andere, die nach dem Stand der Technik
bekannt sind.
-
Sichere
Nachrichtenprotokolle wie S/MIME basieren auf öffentlichen und privaten Verschlüsselungsschlüsseln, um
die Vertraulichkeit und Integrität zu
gewährleisten,
und auf einer PKI (Public Key Infrastructure), um Informationen
zu kommunizieren, die für
die Authentifizierung und Autorisierung sorgen. Daten, die unter
Verwendung eines privaten Schlüssels
aus einem Paar aus privatem Schlüssel
und öffentlichem
Schlüssel
verschlüsselt
wurden, können nur
decodiert werden, wenn der entsprechende öffentliche Schlüssel des
Paares verwendet wird, und Daten, die unter Verwendung eines öffentlichen Schlüssels aus
einem Paar aus privatem Schlüssel und öffentlichem
Schlüssel
verschlüsselt
wurden, können
nur entschlüsselt
werden, wenn der entsprechende private Schlüssel des Paares verwendet wird.
Die Informationen des privaten Schlüssels werden niemals öffentlich
zugänglich
gemacht, wogegen die Informationen des öffentlichen Schlüssels weitergegeben
werden.
-
Eine
codierte Nachricht kann verschlüsselt, signiert
oder sowohl verschlüsselt
als auch signiert werden. Die Authentizität der bei diesen Operationen verwendeten öffentlichen
Schlüssel
wird mithilfe von Zertifikaten validiert. Ein Zertifikat ist ein
digitales Dokument, das von einer Zertifikatstelle (Certificate
Authority – CA)
ausgestellt wird. Zertifikate werden zur Authentifizierung der Zuordnung
zwischen Benutzern und ihren privaten Schlüsseln verwendet und ermöglichen
im Wesentlichen einen Level of Trust (Grad an Vertrauen) in die
Authentizität
der öffentlichen Schlüssel der
Benutzer. Zertifikate enthalten Informationen über den Zertifikatinhaber,
wobei die Zertifikatinhalte typischerweise entsprechend einem akzeptierten
Standard (z. B. X.509) formatiert sind. Die Zertifikate werden typischerweise
durch die Zertifikatstelle digital signiert.
-
Die
Benutzercomputer 262a, 262b können Zertifikate aus einer
Reihe von Quellen gewinnen, um sie auf den Computer 262a, 262b und/oder
auf Mobilgeräten
(z. B. dem Mobilgerät 100)
zu speichern. Diese Zertifikatquellen können privat (z. B. nur für die Verwendung
innerhalb einer Organisation bestimmt) oder öffentlich sein, können lokal
und entfernt angeordnet sein, und der Zugriff auf sie kann beispielsweise
aus dem Privatnetz einer Organisation heraus oder über das
Internet erfolgen. In dem in 4 gezeigten
Beispiel befinden sich mehrere mit der Organisation assoziierte
PKI-Server (Public Key Infrastructure) 280 im LAN 250.
Die PKI-Server 280 schließen beispielsweise einen CA-Server 282 zum Ausstellen
von Zertifikaten, einen LDAP-Server (Lightweight Directory Access
Protocol) 284 zum Suchen nach und zum Herunterladen von
Zertifikaten (z. B. für
Personen innerhalb der Organisation) sowie einen OCSP-Server (Online
Certificate Status Protocol) 286 zur Verifizierung des
Widerrufstatus von Zertifikaten ein.
-
Die
hier beschriebenen Ausführungsformen von
Systemen und Methoden beziehen s sich allgemein auf die Datenkommunikation
zwischen einem Server (z. B. dem Nachrichtenverwaltungsserver 272 aus 4)
und einer Client-Vorrichtung
(z. B. dem Mobilgerät 100 aus 4).
Diese Datenkommunikation ist typischerweise verschlüsselt, um
die Vertraulichkeit der zwischen dem Server und der Client-Vorrichtung übertragenen
Daten zu schützen.
-
Als
weitere Beispiele kann es sich bei dem Server um einen Nachrichtenserver 268 (4),
einen mobilen Datenserver 288 (4) oder
um einen anderen Datenserver handeln, der mit der Client-Vorrichtung
gekoppelt ist (z. B. über
ein oder mehrere Netze oder andere Datenverbindungen).
-
Insbesondere
können
Daten, bevor sie durch den Server zu der Client-Vorrichtung übertragen werden, mit einem
ersten, für
den Server zugänglichen Schlüssel verschlüsselt werden.
Der erste Schlüssel ist
typischerweise auf dem Server gespeichert. Wenn die Client-Vorrichtung
die verschlüsselten
Daten von dem Server empfängt,
dann entschlüsselt
die Client-Vorrichtung die Daten mit einem zweiten, für die Client-Vorrichtung
zugänglichen
Schlüssel.
Der zweite Schlüssel
ist typischerweise auf der Client-Vorrichtung gespeichert, in einem
Schlüsselspeicher.
Der Schlüssel
kann während
der Synchronisierung (z. B. über
die mit einem Desktopcomputer 262a aus 4 gekoppelte
Dockingstation 264 aus 4) auf die Client-Vorrichtung
heruntergeladen worden sein oder beispielsweise zu einem Zeitpunkt,
als die Client-Vorrichtung erstmalig für die Verwendung vorbereitet wurde.
Der erste und der zweite Schlüssel
sind miteinander verwandt, so dass Daten, die mit dem ersten Schlüssel verschlüsselt wurden,
nur mit dem zweiten Schlüssel
entschlüsselt
werden können.
-
Es
kann eine symmetrische Verschlüsselungstechnik
wie z. B. DES oder Triple DES eingesetzt werden. In diesem Fall
sind der erste und der zweite Schlüssel symmetrische Schlüssel und
stellen denselben Schlüssel
dar (d. h. derselbe Schlüssel wird
zum Verschlüsseln
oder Entschlüsselnd
von Daten verwendet).
-
Alternativ
kann eine Verschlüsselungstechnik
mit öffentlichem
Schlüssel
eingesetzt werden, wobei der erste und der zweite Schlüssel ein
Paar aus einem privaten Schüssel
und einem öffentlichen Schlüssel bilden
können,
das der Client-Vorrichtung zugeordnet
ist. Beispielsweise werden die durch den Server an die Client-Vorrichtung
zu übertragenden Daten
unter Verwendung des ersten Schlüssels
verschlüsselt,
bei dem es sich um einen öffentlichen Schlüssel der
Client-Vorrichtung
handelt. Die verschlüsselten
Daten können
nur mithilfe des zweiten Schlüssels
entschlüsselt
werden, bei dem es sich um einen entsprechenden privaten Schlüssel der
Client-Vorrichtung handelt, der erwartungsgemäß nur der Client-Vorrichtung
bekannt ist. Es kann auch ein separates, dem Server zugeordnetes
Paar aus privatem Schlüssel
und öffentlichem
Schlüssel
existieren, wobei der öffentliche
Schlüssel
verwendet werden kann, um die durch die Client-Vorrichtung an den Server zu übertragenden
Daten zu verschlüsseln, und
wobei beispielsweise der entsprechende private Schlüssel dann
verwendet werden kann, um diese Daten am Server zu entschlüsseln.
-
Es
können
noch andere Verschlüsselungstechniken
angewendet werden, um die Kommunikation zwischen dem Server und
der Client-Vorrichtung zu sichern.
-
Es
wird einleuchten, dass die Verschlüsselung der Datenkommunikation
zwischen dem Server und der Client-Vorrichtung ohne besondere Rücksicht
auf die Art des kommunizierten Datentyps erfolgen kann. Beispielsweise
können
die zwischen dem Server und der Client-Vorrichtung kommunizierten Daten
Nachrichtendaten umfassen, die einer Nachricht (z. B. einer E-Mail-Nachricht)
zugeordnet sind, welche an einen Benutzer der Client-Vorrichtung adressiert
ist, und die Nachricht an sich kann aber muss nicht verschlüsselt (oder
signiert) sein. Die zum Verschlüsseln
der Datenkommunikation zwischen dem Server und der Client-Vorrichtung
verwendeten Schlüssel
müssen
sich von den Schlüsseln
unterscheiden, die bestimmten Einzelpersonen zugeordnet sind und
die möglicherweise
bereits zum Codieren bestimmter Nachrichten verwendet wurden, welche
im Rahmen einer solchen Datenkommunikation übertragen werden. Es wird einleuchten,
dass in Abhängigkeit
vom konkreten System und der Rolle des Servers im Gegensatz zu der
der Client-Vorrichtung die zwischen dem Server und der Client-Vorrichtung kommunizierten
Daten nicht auf Nachrichtendaten beschränkt sein werden, sondern außerdem oder
alternativ einen oder mehrere andere Datentypen umfassen können.
-
Wenn
mit einem ersten Schlüssel
verschlüsselte
Daten durch den Server zu der Client-Vorrichtung übertragen
und anschließend
durch die Client-Vorrichtung
empfangen werden, wird die Client-Vorrichtung zuerst versuchen,
die Daten zu entschlüsseln,
damit diese in der Client-Vorrichtung weiter verarbeitet werden
können.
Dazu ist es typischerweise erforderlich, den entsprechenden zweiten Schlüssel aus
einem Schlüsselspeicher
auf der Client-Vorrichtung abzurufen und diesen zur Entschlüsselung
der verschlüsselten
Daten zu verwenden.
-
Wenn
der zweite Schlüssel
anfänglich
auf der Client-Vorrichtung gespeichert wurde, dann kann es in bestimmten
Situationen vorkommen, dass der zweite Schlüssel anschließend von
der Client-Vorrichtung gelöscht
wurde oder dass er anderweitig nicht mehr zugänglich ist, was dazu führt, dass
die Client-Vorrichtung
nicht in der Lage ist, die verschlüsselten Daten zu entschlüsseln. Derartige
Situationen können
beispielsweise auftreten, wenn neue Anwendungen auf die Client-Vorrichtung
geladen werden, das Betriebssystem oder andere Anwendungen auf der
Client-Vorrichtung aktualisiert werden, die Client-Vorrichtung neu
initialisiert wird, damit sie durch einen anderen Benutzer verwendet
werden kann, oder in anderen Situationen, in denen eine sichere "Bereinigung" der Client-Vorrichtung erfolgt
ist.
-
Wenn
eine dieser Situationen eintritt und zur Löschung des zweiten Schlüssels geführt hat,
dann ist die Client-Vorrichtung nicht mehr in der Lage, die vom
Server empfangenen, mit dem ersten Schlüssel verschlüsselten
Daten zu entschlüsseln,
und es können
auch keinerlei weiteren mit dem ersten Schlüssel verschlüsselten
Daten entschlüsselt
werden, die später
vom Server empfangen werden, bis der entsprechende zweite Schlüssel auf
der Client-Vorrichtung wieder zugänglich ist. In Abhängigkeit
von der Konfiguration der Client-Vorrichtung ist es möglich, dass vom
Server empfangene verschlüsselte
Daten, die nicht entschlüsselt
werden können,
in der Client-Vorrichtung automatisch gelöscht werden und damit permanent
verloren gehen.
-
In
anderen Konfigurationen können
vom Server empfangene Daten, die nicht entschlüsselt werden können, stattdessen
in einer Warteschlange gespeichert werden. Wenn jedoch ein neuer
Schlüssel als
Ersatz für
den gelöschten
zweiten Schlüssel
auf die Client-Vorrichtung geladen wird, dann ist es typischerweise
nicht möglich,
die in die Warteschlange gestellten Daten mit diesem neuen Schlüssel zu
entschlüsseln,
so dass diese Daten effektiv ebenfalls verloren gehen.
-
Darüber hinaus
kann der Server, welcher keine Kenntnis davon hat, dass der Schlüssel vom
Mobilgerät
gelöscht
wurde oder anderweitig nicht zugänglich
wurde, in jedem Fall weiterhin verschlüsselte Daten zum Mobilgerät pushen,
das heißt
ungeachtet der Tatsache, dass die Client-Vorrichtung die Daten nicht
entschlüsseln
kann. Dieser Problemtyp kann insbesondere in "push-basierten" Umgebungen vorkommen.
-
Dementsprechend
ist in einem umfassenden Aspekt mindestens eine Ausführungsform
der hier beschriebenen Systeme und Methoden auf Mittel gerichtet,
die den Server darüber
informieren, dass bestimmte zur Client-Vorrichtung übertragene
verschlüsselte
Daten möglicherweise
durch die Client-Vorrichtung nicht entschlüsselt werden können. Der
Server kann dann optional die Übertragung
der bestimmten Daten zur Client-Vorrichtung zurückhalten und/oder die bestimmten
Daten erneut übertragen.
-
Unter
Bezug auf 5 zeigt ein Flussdiagramm die
Schritte in einer Methode zur Steuerung der Datenkommunikation zwischen
einem Server und einer Client-Vorrichtung in einer Reihe von exemplarischen
Ausführungsformen,
wobei die Methode allgemein mit 300 bezeichnet ist. Einige
der Merkmale von Methode 300 wurden bereits weiter oben
in dieser Beschreibung beschrieben.
-
In
Schritt 310 werden anfänglich
Schlüssel an
den Server (z. B. den Nachrichtenverwaltungsserver 272 aus 4)
und an die Client-Vorrichtung (z. B. das Mobilgerät 100 aus 4)
bereitgestellt, die zur Codierung der Datenkommunikation zwischen dem
Server und der Client-Vorrichtung verwendet werden sollen. Die Schlüssel werden
allgemein zur späteren
Verwendung gespeichert, beispielsweise in einem Schlüsselspeicher.
Der Schlüsselspeicher kann
in einigen Implementierungen zugriffsgeschützt (z. B. passwortgeschützt) sein.
-
Es
gibt zahlreiche Möglichkeiten,
wie die Schlüssel
an den Server und die Client-Vorrichtung bereitgestellt werden können, nachdem
sie zur Verwendung erzeugt wurden (wobei der Schritt der Erzeugung
nicht explizit dargestellt ist).
-
Insbesondere
ist es allgemein erwünscht
sicherzustellen, dass bei der Bereitstellung von Schlüsseln an
die Client-Vorrichtung über
eine Datenübertragung
von einem anderen Gerät
zur Client-Vorrichtung die Übertragung
in einer gesicherten Weise erfolgt, so dass ein unberechtigtes Lesen
oder Kopieren der Schlüssel
während
der Übertragung verhindert
wird.
-
Wenn
beispielsweise die Client-Vorrichtung ein Mobilgerät ist, dann
können
die in Schritt 310 an die Client-Vorrichtung bereitgestellten
Schlüssel durch den
Server oder ein anderes Gerät
in dem System (z. B. Host-System 250) erzeugt und dann
zu einem Desktopgerät übertragen
werden, von dem aus die Schlüssel über eine
physisch mit dem Desktopgerät
verbundene Dockingstation oder über
eine andere Form der privaten oder gesicherten Verbindung auf ein
Mobilgerät
heruntergeladen werden.
-
Alternativ
können
die Schlüssel
beispielsweise jeweils auf dem Server und in der Client-Vorrichtung
erzeugt werden, und zwar auf der Grundlage eines gemeinsamen Geheimnisses,
das zuvor auf sicherem Wege zwischen dem Server und der Client-Vorrichtung
ausgetauscht wurde.
-
Weitere
nach dem Stand der Technik bekannte Techniken können eingesetzt werden, um
die Schlüssel
auf sicherem Wege an den Server und die Client-Vorrichtung bereitzustellen.
-
Der
Server ist dazu angepasst, die an die Client-Vorrichtung zu übertragenden
Daten mithilfe eines ersten Schlüssels
der in Schritt 310 bereitgestellten Schlüssel zu
verschlüsseln.
Nachdem die verschlüsselten
Daten durch den Server zur Client-Vorrichtung übertragen und anschließend durch
die Client-Vorrichtung empfangen wurden, wird an der Client-Vorrichtung
ein Versuch zum Entschlüsseln
der verschlüsselten
Daten unter Verwendung eines zweiten Schlüssels der in Schritt 310 bereitgestellten Schlüssel unternommen
(z. B. siehe Schritt 340 unten).
-
Wenn
die durch den Server an die Client-Vorrichtung übertragenen Daten mithilfe
einer symmetrischen Verschlüsselungstechnik
verschlüsselt
wurden, dann kann es sich bei dem ersten und dem zweiten Schlüssel um
einen einzigen Schlüssel handeln,
der sowohl zum Verschlüsseln
als auch zum Entschlüsseln
der Daten verwendet wird. In diesem Fall können auch die durch die Client-Vorrichtung zum
Server übertragenen
Daten mit dem zweiten Schlüsseln
verschlüsselt
werden, um anschließend durch
den Server unter Verwendung des ersten Schlüssels entschlüsselt zu
werden.
-
Wenn
andererseits die durch den Server an die Client-Vorrichtung übertragenen
Daten mithilfe einer Verschlüsselungstechnik
mit öffentlichem Schlüssel verschlüsselt wurden,
dann können
der erste und der zweite Schlüssel
ein öffentlicher
bzw. ein privater Schlüssel
aus einem Paar aus öffentlichem
und privatem Schlüssel
sein, das der Client-Vorrichtung zugeordnet ist. Auch Schlüssel eines Paars
aus getrennten öffentlichem
und privatem Schlüssel,
das dem Server zugeordnet ist, können
in Schritt 310 bereitgestellt werden, wobei der öffentliche
Schlüssel
dieses Paars für
die Client-Vorrichtung zugänglich
gemacht wird und der private Schlüssel dieses Paars für den Server
zugänglich
gemacht wird.
-
Es
wird verständlich
sein, dass sich die Schlüssel,
die zur Codierung und Decodierung der Übertragungen durch den Server
an die Client-Vorrichtung verwendet werden, von den Schlüsseln unterscheiden
können,
die zur Codierung und Decodierung der Übertragungen durch die Client-Vorrichtung an
den Server verwendet werden.
-
In
Schritt 320 werden Stoppdaten an die Client-Vorrichtung
bereitgestellt, die auf Anweisung der Client-Vorrichtung zum Server übertragen
werden können.
-
Typischerweise
werden die Stoppdaten direkt auf der Client-Vorrichtung gespeichert.
In einer abweichenden Ausführungsform
können
die Stoppdaten jedoch auch auf einem anderen Gerät gespeichert werden. In dieser
Ausführungsform
kann die Client-Vorrichtung bei Bedarf die Stoppdaten von dem anderen
Gerät abrufen,
um sie zum Server zu übertragen,
oder die Client-Vorrichtung kann das andere Gerät anweisen, die Stoppdaten
zum Server zu übertragen.
-
Die
Stoppdaten zeigen beim Empfang durch den Server dem Server an, dass
mindestens einige der mit dem ersten Schlüssel verschlüsselten
und durch die Client-Vorrichtung empfangenen Daten an der Client-Vorrichtung
nicht mithilfe des zweiten Schlüssels
entschlüsselt
werden konnten. Der Empfang der Stoppdaten durch den Server kann
dem Server andeuten, dass möglicherweise
auch alle nachfolgenden an die Client-Vorrichtung übertragenen
Daten, die mit dem ersten Schlüssel
verschlüsselt
wurden, durch die Client-Vorrichtung nicht entschlüsselt werden
können.
Die Stoppdaten könnten als
ein Befehl oder eine Anfrage an den Server betrachtet werden, die Übertragung
von mit dem ersten Schlüssel
verschlüsselten
Daten an die Client-Vorrichtung einzustellen. Während ein Server, der die Stoppdaten
empfangt, typischerweise so konfiguriert ist, dass er die Anfrage
sofort berücksichtigt,
kann er stattdessen die Anfrage unter bestimmten Bedingungen auch
ignorieren oder beispielsweise eine oder mehrere andere vordefinierte
Aktionen durchführen.
-
Die
Stoppdaten müssen
nicht in irgendeiner bestimmten Form vorliegen (sie können z.
B. Datenmüll
sein), so lange der Server die Daten als Stoppdaten erkennen kann,
wenn er sie empfängt.
Typischerweise jedoch, und insbesondere wenn der Server dazu angepasst
ist, Daten an mehrere Client-Vorrichtungen zu kommunizieren, müssen die
Stoppdaten durch die Client-Vorrichtung codiert werden, müssen irgendeinen
Identifikator der Client-Vorrichtung enthalten oder müssen anderweitig
in irgendeiner Weise der Client-Vorrichtung zugeordnet sein, um
die Client-Vorrichtung zu identifizieren, von der die Stoppdaten übertragen
werden.
-
In
einer Ausführungsform
werden die an die Client-Vorrichtung bereitgestellten Stoppdaten
in einem nichtflüchtigen
Speicher oder einer Speicherkomponente auf der Client-Vorrichtung
gespeichert. Wenn die Client-Vorrichtung beispielsweise ein Mobilgerät (z. B.
Mobilgerät 100)
ist, dann könnten
die Stoppdaten im FLASH-Speicher (z. B. im FLASH-Speicher 108)
oder in einem ROM (nicht dargestellt) gespeichert werden.
-
Die
Datenkommunikation zwischen dem Server und der Client-Vorrichtung kann
entsprechend einem paketbasierten Protokoll erfolgen. In diesem
Fall können
die Stoppdaten in einem Datenpaket ("Stopppaket") enthalten sein, das auf der Client-Vorrichtung
gespeichert wird.
-
In
einer Reihe von Ausführungsformen
sind die Stoppdaten codiert, so dass sie anschließend durch
den Server decodiert werden können.
Wenn die Stoppdaten in einem Stopppaket enthalten sind, dann können beispielsweise
entweder nur die Stoppdaten an sich oder das gesamte Stopppaket
(das noch weitere Daten enthalten kann) codiert sein.
-
In
einigen Ausführungsformen
können
die Stoppdaten in einer verschlüsselten
Form auf der Client-Vorrichtung gespeichert werden. In einer exemplarischen
Ausführungsform
ist der Schlüssel,
der zum Verschlüsseln
der durch die Client-Vorrichtung zum Server übertragenen Daten verwendet
wird, auch der Schlüssel,
der zum Verschlüsseln
der Stoppdaten verwendet wird. In einer anderen Ausführungsform kann
ein separater Schlüssel
zum Verschlüsseln
der Stoppdaten verwendet werden, wobei der entsprechende Schlüssel, der
zum Entschlüsseln
der Stoppdaten benötigt
wird, dem Server bereitgestellt wird (z. B. in Schritt 310).
Durch die Verschlüsselung
der Stoppdaten zum Server wird die Sicherheit des Systems erhöht, weil
dadurch das Risiko minimiert wird, dass ein Angreifer in der Lage
ist, gefälschte
Stoppdaten oder ein gefälschtes
Stopppaket zu konstruieren, um damit erfolgreich einen Denial-of-Service
für die
Client-Vorrichtung zu verursachen.
-
In
einer abweichenden Ausführungsform werden
die Stoppdaten in einer digital signierten Form auf der Client-Vorrichtung
gespeichert, so dass der Server beim Empfang dieser Daten verifizieren kann,
dass die Stoppdaten auch tatsächlich
von der Client-Vorrichtung stammen, wodurch die Sicherheit des Systems
erhöht
wird.
-
In
Ausführungsformen,
bei denen die Stoppdaten in einer codierten Form (z. B. verschlüsselt oder
signiert) auf der Client-Vorrichtung gespeichert werden, erfolgt
die Codierung vorzugsweise vor dem Speichern, so dass die Stoppdaten
in einer "übertragungsbereiten" vorcodierten Form
gespeichert werden und keiner weiteren Verarbeitung bedürfen. Denn
der Schlüssel,
der zum Codieren der Stoppdaten benötigt wird (und der in einer
Ausführungsform derselbe
Schlüssel
ist, der auch zum Verschlüsseln der
von der Client-Vorrichtung zum Server übertragenen Daten verwendet
wird), kann anschließend
verloren gehen oder anderweitig unzugänglich werden, wodurch es unmöglich wird,
die Stoppdaten zu einem späteren
Zeitpunkt zu verschlüsseln.
Typischerweise werden sowohl die Schlüssel (in Schritt 310)
als auch die codierten Stoppdaten (in Schritt 320) während desselben
Bereitstellungsvorgangs bereitgestellt, wenn die Client- Vorrichtung zur Benutzung
initialisiert (oder neu initialisiert wird). Wenn die Bereitstellung
auf gesichertem Wege erfolgt, dann sind auch die Stoppdaten gesichert,
weil ein Angreifer dann keinen Zugang zu dem Schlüssel haben
würde,
der zum Codieren der Stoppdaten verwendet wurde, um damit gefälschte Stoppdaten
oder ein gefälschtes Stopppaket
konstruieren zu können.
-
In
einer Ausführungsform
ist den Stoppdaten ein Schlüsselidentifikator
zugeordnet und wird zusammen mit diesen gespeichert. Der Schlüsselidentifikator
identifiziert die auf der Client-Vorrichtung gespeicherten konkreten
Stoppdaten, die zum Server übertragen
werden sollen, wenn die Client-Vorrichtung auf verschlüsselte,
vom Server empfangene Daten stößt, die
sie nicht mit dem zweiten Schlüssel
entschlüsseln
kann (z. B. weil der Schlüssel
gelöscht wurde).
Der Schlüsselidentifikator
kann beispielsweise den zweiten Schlüssel identifizieren, der gelöscht wurde
oder anderweitig unzugänglich
wurde.
-
Nunmehr
Bezug nehmend auf Schritt 330 empfangt die Client-Vorrichtung im regulären Verlauf der
Datenkommunikation zwischen dem Server und der Client-Vorrichtung
mit dem ersten Schlüssel
verschlüsselte
Daten vom Server.
-
In
Schritt 340 versucht die Client-Vorrichtung, die vom Server
in Schritt 330 empfangenen verschlüsselten Daten unter Verwendung
des zweiten Schlüssels
zu entschlüsseln,
der in Schritt 310 der Client-Vorrichtung bereitgestellt
wurde und der typischerweise auf der Client-Vorrichtung gespeichert wurde.
-
Wenn
in Schritt 350 festgestellt wird, dass der in Schritt 340 unternommene
Versuch zur Entschlüsselung
der verschlüsselten
Daten erfolgreich war, dann wird die normale Verarbeitung der entschlüsselten
Daten in Schritt 360 fortgesetzt. Nach der weiteren Verarbeitung
der Daten in der Client-Vorrichtung können Daten durch die Client-Vorrichtung
zum Server übertragen
werden. In der Zwischenzeit können
auch weitere Daten durch die Client-Vorrichtung von dem Server empfangen
werden (z. B. kann die Methode 300 ausgehend vom Schritt 330 wiederholt
werden).
-
Wenn
jedoch der in Schritt 340 erfolgte Versuch zum Entschlüsseln der
verschlüsselten
Daten nicht erfolgreich war, was der Fall sein kann, wenn der zweite
Schlüssel
beispielsweise auf der Client-Vorrichtung verloren gegangen oder
anderweitig unzugänglich
geworden ist, dann werden in Schritt 370 die Stoppdaten
lokalisiert, die in Schritt 320 der Client-Vorrichtung
bereitgestellt worden waren. Wie bereits zuvor erwähnt wurde,
kann ein Schlüsselidentifikator,
der den zweiten Schlüssel
identifiziert, verwendet werden, um die geeigneten Stoppdaten zu
lokalisieren, die zum Server übertragen
werden sollen. Wie unter Bezug auf Schritt 320 erwähnt wurde,
werden die Stoppdaten typischerweise auf der Client-Vorrichtung
gespeichert (z. B. im FLASH-Speicher 108 des Mobilgeräts 100 oder
im ROM).
-
Anschließend werden
in Schritt 380 die in Schritt 370 lokalisierten
Stoppdaten abgerufen und durch die Client-Vorrichtung zur Verarbeitung
an den Server übertragen.
-
In
einer Ausführungsform
wird in Schritt 380 auch ein Datenindex, beispielsweise
ein Paketidentifikator, an den Server übertragen. Der Datenindex identifiziert
die durch die Client-Vorrichtung empfangenen verschlüsselten
Daten, die nicht entschlüsselt werden
konnten. Beispielsweise kann der Datenindex das erste Paket in einer
indizierten Serie von durch die Client-Vorrichtung empfangenen Paketen identifizieren,
das nicht entschlüsselt
werden konnte.
-
Die
Verwendung eines Datenindex ermöglicht
es dem Server, die Daten zu identifizieren, die nicht entschlüsselt werden
konnten (der Server kann auch annehmen, dass alle nachfolgend übertragenen
verschlüsselten
Daten ebenfalls nicht entschlüsselt
werden konnten), so dass wenn entweder der ursprüngliche zweite Schlüssel auf
der Client-Vorrichtung wieder verfügbar wird oder der Client-Vorrichtung ein neuer
zweiter Schlüssel
bereitgestellt wurde (z. B. wenn die Client-Vorrichtung noch einmal
mit neuen Schlüsseln
ausgestattet wird) potenziell verlorene Daten erneut übertragen
werden können.
Dementsprechend wird die Wiedergewinnung aller Daten ermöglicht,
deren Übertragung
zur Client-Vorrichtung zwischen
dem Zeitpunkt, als festgestellt wurde, dass der zweite Schlüssel gelöscht oder
anderweitig unzugänglich
ist, und dem Zeitpunkt des Wiederverrfügbarseins des zweiten Schlüssels bzw.
der Bereitstellung eines neuen zweiten Schlüssels an die Client-Vorrichtung
erfolgte.
-
Die
in Schritt 380 übertragenen
Stoppdaten zeigen bei der Verarbeitung durch den Server dem Server
an, dass mindestens einige der mit dem ersten Schlüssel verschlüsselten
und durch die Client-Vorrichtung empfangenen Daten an der Client-Vorrichtung
nicht mithilfe des entsprechenden zweiten Schlüssels entschlüsselt werden
konnten. Dementsprechend kann der Server wie in Schritt 390 gezeigt
dazu angepasst sein, dass er nach dem Empfangen der Stoppdaten die Übertragung
von Daten stoppt, die mit dem ersten Schlüssel verschlüsselt wurden,
bis beispielsweise der zweite Schlüssel auf der Client-Vorrichtung
wieder zugänglich
ist.
-
Es
wird verständlich
sein, dass unterschiedliche Sätze
aus Schlüsseln
verwendet werden können,
um verschiedene Datentypen zu verschlüsseln (z. B. unterschiedlichen
Diensten zugeordnet), die durch den Server übertragen werden, und den verschiedenen
Datentypen können
unterschiedliche Stoppdaten oder -pakete zugeordnet sein.
-
Dementsprechend
kann der Server in Schritt 390 beispielsweise die Übertragung
von Daten, die einem bestimmten Dienst zugeordnet sind, an die Client-Vorrichtung stoppen,
wenn bestimmte Stoppdaten empfangen werden, während derselbe Server die Übertragung
von Daten fortsetzen kann, die einem anderen Dienst zugeordnet sind,
für den
von der Client-Vorrichtung keine Stoppdaten empfangen wurden.
-
In
einer Ausführungsform
kann der Server ferner dazu angepasst sein, Wiederholungsinstanzen
derselben Stoppdaten zu ignorieren, die am Server empfangen werden.
Das kann eine erhöhte
Sicherheit bieten, da es das Risiko minimiert, dass ein Angreifer
dieselben Stoppdaten abhört
und erneut überträgt, um künftige Übertragungen
zwischen dem Server und der Client-Vorrichtung zu unterbrechen.
-
In
einer Ausführungsform
kann der Server ferner dazu angepasst sein, den ersten Schlüssel ungültig zu
machen, sobald Stoppdaten empfangen wurden, die zum entsprechenden
zweiten Schlüssel gehören. Insbesondere
kann, nachdem für
einen zweiten Schlüssel
ermittelt wurde, dass er auf der Client-Vorrichtung gelöscht oder anderweitig unzugänglich wurde,
und die zugehörigen
Stoppdaten zum Server übertragen
wurden (Schritt 380), die Methode 300 ausgehend
von Schritt 310 wiederholt werden, wobei dem Server und
der Client-Vorrichtung
ein neuer erster und ein neuer zweiter Schlüssel als Ersatz für die zuvor
bereitgestellten Schlüssel
bereitgestellt werden, um diese neuen Schlüssel zur Codierung der Datenkommunikation
zwischen ihnen zu verwenden. Es können der Client-Vorrichtung
in Schritt 320 auch insbesondere dann neue Stoppdaten bereitgestellt
werden, wenn die Stoppdaten mit einem der neuen Schlüssel codiert
werden sollen.
-
Die
neuen Schlüssel
können
zum Codieren und Decodieren der möglicherweise verloren gegangenen
Daten verwendet werden, die durch den Server zur Client-Vorrichtung
erneut übertragen
werden (Schritt nicht dargestellt). In einer Ausführungsform können wie
oben beschrieben die neu zu übertragenen
Daten auf der Grundlage eines Datenindex ermittelt werden, der zusammen
mit den Stoppdaten übertragen
wurde, welche durch den Server von der Client-Vorrichtung empfangen wurden.
-
Die
Schritte der hier beschriebenen Methoden können in Form von ausführbaren
Softwareanweisungen bereitgestellt werden, die auf einem computerlesbaren
Medium gespeichert sind, was auch übertragbare Medien einschließen kann.
-
Die
Beschreibung der Erfindung erfolgte im Hinblick auf eine Reihe von
Ausführungsformen. Dem
Fachmann auf dem Gebiet der Technik wird jedoch verständlich sein,
dass andere Varianten und Modifikationen ausgeführt werden können, ohne
vom Umfang der Erfindung abzuweichen, der durch die hier beigefügten Ansprüchen definiert
ist.