-
Hintergrund
der Erfindung
-
Die
Erfindung betrifft ein Verfahren zum Betreiben eines Netzes, typischerweise
eine Paketfunknetzes, das eine Netz-Betreiberstation und eine Mehrzahl von
Benutzerstationen aufweist.
-
Ein
Netz dieser grundlegenden Art ist in der PCT-Patentanmeldung WO
96/19887 beschrieben und weist eine Mehrzahl von Stationen auf,
die die Aktivität
der jeweils anderen Stationen überwachen
und untereinander in opportunistischer Weise Nachrichtendaten übertragen,
entweder direkt oder über
Zwischenstationen. Eine oder mehrere dieser Stationen können als
eine Netz-Betreiberstation fungieren, die den Zugang von anderen
Stationen zum Netz und damit zu gewünschten Zielstationen regelt.
-
In
einer kommerziellen Umsetzung eines solchen Netzwerks ist es erforderlich,
jede Station eindeutig zu identifizieren und ihren Zugang zum Netz
sowohl aus Sicherheits- als auch aus Abrechnungsgründen zu steuern.
Somit lässt
sich beispielsweise die weitere Nutzung des Netzes durch einen Teilnehmer,
dessen Konto einen Zahlungsrückstand
aufweist, und das Abfangen von Nachrichten durch eine nicht autorisierte
Station verhindern.
-
Die
unterschiedlichen Stationen können über dasselbe
Medium oder unterschiedliche Medien kommunizieren. Das Prinzip,
nach dem die Stationen ihre Routing-Informationen generieren, besteht
in einem Detektieren anderer Stationen in ihrer unmittelbaren Umgebung
und einem Überwachen
der von diesen Stationen gesendeten Daten. Durch das Überwachen
der Dateninhalte ist eine Station in der Lage, dynamisch Übertragungswege
zu anderen Stationen im Netz zu finden. Dies ermöglicht einer Station, Daten über eine
beliebige Zwischenstation zu jeder anderen Station im Netz zu senden,
obwohl sie selbst nicht direkt mit der Zielstation kommunizieren
kann.
-
Würde jemand
eine nicht autorisierte Station in das Netz einbringen, die eine
zu einer anderen Station gehörige
ID aufweist, käme
es zu Routing-Problemen, und die nicht autorisierte Station könnte die
Daten abfangen. Es ist daher notwendig sicherzustellen, dass keine
nicht autorisierte Station berechtigte Stationen zum Aussenden von
Daten veranlassen kann und dass eine Übertragung von der nicht autorisierten
Station sich nicht nachteilig auf die dynamischen Routing-Tabellen
in den berechtigten Stationen auswirkt.
-
Die
EP-A-0 387 599 offenbart ein Verfahren zum Entschlüsseln übertragener
Daten unter Verwendung eines eindeutigen Schlüssels.
-
Zusammenfassung
der Erfindung
-
Die
Erfindung schafft ein Verfahren zum Betreiben eines Netzes mit einer
Netz-Betreiberstation und einer Mehrzahl von Benutzerstationen,
die zum Übersenden
von Nachrichtendaten zueinander, entweder direkt oder über Zwischen-Benutzerstationen,
eingerichtet sind, beinhaltend:
Erzeugen wenigstens eines,
für die
Benutzung durch die Benutzerstationen benötigten Schlüssels;
Senden einer Schlüssel-Anforderungsnachricht
von einer ersten Benutzerstation, die einen Schlüssel benötigt, an die Netz-Betreiberstation,
wobei die Schlüssel-Anforderungsnachricht
erste Zustandsdaten enthält,
die anzeigen, dass die Nachricht von einer Benutzerstation stammt,
der ein Schlüssel
fehlt;
Senden einer Schlüsseldaten-Nachricht,
die einen Schlüssel
zur Verwendung durch die erste Benutzerstation und den ersten Zustandsdaten
entsprechende zweite Daten enthält,
von der Netz-Betreiberstation an die erste Benutzerstation; und
Weiterleiten
der Nachricht bei jeder Benutzerstation, die die Schlüsseldaten-Nachricht
empfängt,
an die erste Benutzerstation, wenn deren zweite Zustandsdaten wenigstens
ein vorbestimmtes Kriterium erfüllen.
-
Die
Schlüssel-Anforderungsnachricht
von der ersten Benutzerstation kann durch wenigstens eine Zwischenstation
empfangen und an die Netz-Betreiberstation weitergeleitet werden,
wenn ihre ersten Zustandsdaten wenigstens ein vorbestimmtes Kriterium
erfüllen.
-
Vorzugsweise
enthält
die von der ersten Benutzerstation gesendete Schlüssel-Anforderungsnachricht erste
Zustandsdaten, die die Schlüssel-Anforderungsnachricht
als eine erste, von dieser Station gesendete Nachricht identifizieren.
-
Entsprechend
enthält
die von der Netz-Betreiberstation gesendete Schlüsseldaten-Nachricht vorzugsweise
zweite Zustandsdaten, die die Schlüsseldaten-Nachricht als eine
Antwort auf die Schlüssel-Anforderungsnachricht
identifizieren.
-
Das
Verfahren kann beinhalten, dass bei jeder Benutzerstation, die die
Schlüssel-Anforderungsnachricht
empfängt,
die Identität
der ersten Benutzerstation und deren erste Zustandsdaten aufgezeichnet
werden.
-
Bei
Benutzerstationen, die die ersten Zustandsdaten der Schlüssel-Anforderungsnachricht
aufzeichnen, werden vorzugsweise der Identität der ersten Benutzerstation
entsprechende Daten gekennzeichnet, um anzuzeigen, dass die Identitätsdaten
für keinen
anderen Zweck als zum Senden einer Schlüsseldaten-Nachricht mit Ursprung
bei der Netz-Betreiberstation
zu der ersten Benutzerstation verwendet werden dürfen.
-
Die
Schlüsseldaten-Nachricht
kann einen öffentlichen
Schlüssel
des Netzbetreibers enthalten, der durch die erste Benutzerstation
und alle aktiven Benutzerstationen zum Entschlüsseln von Nachrichten von anderen
Stationen benutzt wird, die mit dem zu diesem Schlüssel gehörigen privaten
Schlüssel
verschlüsselt sind.
-
Die
Schlüsseldaten-Nachricht
kann weiterhin einen öffentlichen
Stationsschlüssel
und einen privaten Stationsschlüssel beinhalten,
die der ersten Benutzerstation durch den Netzbetreiber zugewiesen
sind.
-
Von
einer Ursprungsstation an eine Zielstation gesendete Nachrichten
werden vorzugsweise zumindest teilweise unter Verwendung zumindest
des privaten Schlüssels
der Ursprungsstation oder des öffentlichen
Schlüssels
der Ursprungsstation oder des öffentlichen
Schlüssels
der Zielstation verschlüsselt.
-
Jede
Benutzerstation kann von Zeit zu Zeit ein Schlüssel-Testsignal senden, das Identifizierungs-Daten
und den öffentlichen
Stationsschlüssel
derjenigen Station enthält,
die das Schlüssel-Testsignal
sendet, und das mit dem privaten Schlüssel des Netzbetreibers verschlüsselt ist,
wobei andere Stationen, die das Schlüssel-Testsignal empfangen,
dieses unter Verwendung des öffentlichen
Schlüssels
des Netzbetreibers entschlüsseln,
um die Identifizierungs-Daten und den öffentlichen Stationsschlüssel daraus
zu extrahieren, um diese beim Senden von Nachrichtendaten an diejenige
Station zu verwenden, die das Schlüssel-Testsignal gesendet hat.
-
Die
Schlüssel-Anforderungsnachricht
kann eine Mehrzahl von Parametern enthalten, die von entsprechenden
Parametern normaler Nachrichten im Netz abweichen. Beispielsweise
kann die Nachricht eine von der Länge normaler Nachrichten abweichende,
vorzugsweise kürzere
Länge und
eine abweichende, vorzugsweise längere
Lebensdauer haben.
-
Die
Erfindung schafft weiterhin ein Netz mit einer Netz-Betreiberstation
und einer Mehrzahl von Benutzerstationen, die zum Senden von Nachrichtendaten
zueinander auf direktem Wege oder über Zwischen-Benutzerstationen
eingerichtet sind, wobei jede Benutzerstation aufweist: einen Sende- Empfänger zum
Senden und zum Empfangen von Daten zu bzw. von anderen Stationen
im Netz; und Prozessormittel zum Erzeugen einer Schlüssel-Anforderungsnachricht
zum Senden an die Netz-Betreiberstation, wobei die Schlüssel-Anforderungsnachricht
erste Zustandsdaten enthält,
die anzeigen, dass die Nachricht von einer Benutzerstation stammt,
der ein Schlüssel
fehlt, und zum Empfangen einer Schlüsseldaten-Nachricht von der
Netz-Betreiberstation, die einen Schlüssel zur Verwendung durch die
Benutzerstation enthält,
um so der Benutzerstation zu ermöglichen,
mit anderen Stationen im Netz zu kommunizieren.
-
Jede
Benutzerstation kann Token-Lesemittel zum Lesen von Identifizierungs-Daten
von einem sicheren, zu einem Benutzer gehörigen Token aufweisen, wobei
die Identifizierungs-Daten
in von der Benutzerstation gesendeten Nachrichten enthalten sind.
-
Bei
dem sicheren Token kann es sich um eine "Smart Card" (Chipkarte) handeln.
-
Die
Erfindung erstreckt sich auch auf eine Benutzerstation zum Einsatz
in einem Netz mit einer Netz-Betreiberstation und einer Mehrzahl
von Benutzerstationen, die zum Senden von Nachrichtendaten zueinander
auf direktem Wege oder über
Zwischen-Benutzerstationen ausgebildet sind, wobei jede Benutzerstation
aufweist: einen Sende-Empfänger
zum Senden und zum Empfangen von Daten zu bzw. von anderen Stationen
im Netz; Sicherheits-Token-Lesemittel zum Lesen von Identifizierungs-Daten
von einem sicheren, zu einem Benutzer gehörigen Token; und Prozessormittel
zum Erzeugen einer Schlüssel-Anforderungsnachricht zum
Senden an die Netz-Betreiberstation,
wobei die Schlüssel-Anforderungsnachricht
erste Zustandsdaten enthält,
die anzeigen, dass die Nachricht von einer Benutzerstation stammt,
der ein Schlüssel fehlt,
und zum Empfangen einer Schlüsseldaten-Nachricht
von der Netz-Betreiberstation, die einen Schlüssel zur Verwendung durch die
Benutzerstation enthält,
um so der Benutzerstation zu ermöglichen,
mit anderen Stationen im Netz zu kommunizieren.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein vereinfachtes Blockschaltbild einer Sende-Empfänger-Einheit,
die als eine Benutzerstation in einem erfindungsgemäßen Netz
fungiert;
-
2 ist
ein detailliertes Blockschaltbild der Sende-Empfänger-Einheit
der 1;
-
3 ist
eine vereinfachte Darstellung des grundlegenden Ablaufs des Netzprotokolls;
und
-
4 ist
ein detailliertes Flussdiagramm zur Darstellung des Ablaufs des
Netzprotokolls.
-
Beschreibung
von Ausgestaltungen
-
Die
vorliegende Erfindung betrifft ein Protokoll zum Betreiben eines
Netzes, indem eine Anzahl von Benutzerstationen untereinander Nachrichten überträgt, entweder
direkt oder über
Zwischenstationen. Ein Beispiel für ein solches Netz ist in der
PCT-Patentanmeldung WO 96/19887 beschrieben, die hiermit durch Bezugnahme
zum Inhalt der vorliegenden Anmeldung gemacht wird.
-
Obwohl
die o. g. Patentanmeldung ein Paketfunknetz beschreibt, lässt sich
die Erfindung auf andere Netze anwen den, in denen Benutzerstationen
untereinander über
Zwischenstationen im Netz kommunizieren können.
-
Netze
der o. g. Art lassen sich kommerziell einsetzen, wobei es sich bei
den Benutzern um Teilnehmer handelt, denen ihre Benutzung des Netzes
in Rechnung gestellt wird. Alternativ können Netze der genannten Art
durch Sicherheitskräfte,
wie Polizei oder Militär,
genutzt werden. Die genannten Anwendungen haben jedoch nur exemplarischen
Charakter.
-
In
fast allen möglichen
Anwendungen ist die Sicherheit des Netzes wichtig, sei es aufgrund
der Verpflichtung eines kommerziellen Betreibers, die Sicherheit
von Nutzerdaten und Abrechnungsinformationen zu erhalten, oder aufgrund
der heiklen Art von Informationen, die beispielsweise in einer militärischen
Anwendung übertragen
werden. In einem kommerziellen Netz ist es weiterhin wichtig, die
Netzsicherheit zu Abrechnungszwecken aufrecht zu erhalten, so dass
nur authentifizierte Stationen in der Lage sind, das Netz zu benutzen, wobei
die Möglichkeit
besteht, Stationen außer
Betrieb zu setzen, falls beispielsweise eine Benutzerrechnung nicht
beglichen wurde.
-
Um
die Sicherheit von Datenübertragungen
zu gewährleisten,
verschlüsselt
jede Benutzerstation im Netz alle (auf "Sending ID", die Sende-ID, folgenden) Paket-Kopfdaten
(header) mit ihrem privaten Schlüssel. Jeder
zehnte Test (Schlüsseltest)
bleibt unverschlüsselt
und enthält
die ID und den öffentlichen
Schlüssel
derjenigen Benutzerstation, die mittels des privaten Schlüssel des
Netz-Betreibers verschlüsselt
wurde (siehe unten). Auf diese Weise ist jede andere Benutzerstation,
die im Besitz des richtigen öffentlichen
Schlüssels
des Netz-Betreibers ist, in der Lage, die ID und den öffentlichen
Schlüssel
der Benutzerstation zu überprüfen.
-
Alle Übertragungen,
ausgenommen den gelegentlichen Schlüsseltest, werden verschlüsselt. Schlüsseltests
werden nicht dazu verwendet, Routing-Tabellen oder andere Anpassungs-Parameter einzustellen.
Sie werden nur dazu verwendet, den öffentlichen Schlüssel der
anderen Benutzerstationen zu erlangen.
-
Benutzerstationen
antworten nicht auf Schlüsseltests.
Sie antworten nur auf Tests und Pakete, die verschlüsselt und überprüft wurden.
-
Der öffentliche
Schlüssel
des Netz-Betreibers und die eigenen öffentlichen und privaten Schlüssel der Benutzerstation
müssen
vom Netz-Betreiber erworben werden, wenn eine Benutzerstation erstmalig
angeschaltet wird. Der öffentliche
Schlüssel
des Netz-Betreibers ändert
sich regelmäßig. Daher
muss eine Benutzerstation jederzeit sicherstellen, dass sie den
neuesten öffentlichen
Schlüssel
des Netz-Betreibers besitzt.
-
Wenn
eine Benutzerstation den öffentlichen
Schlüssel
des Netz-Betreibers vom Netz-Betreiber erhält, weist der öffentliche
Schlüssel
eine Seriennummer, eine Erneuerungszeit, eine Verfallszeit und eine
Löschungszeit
auf. Wenn die Erneuerungszeit erreicht ist, muss die Benutzerstation
den nächsten öffentlichen Schlüssel des
Netz-Betreibers beschaffen. Sie wird jedoch den gegenwärtigen Schlüssel weiterhin
benutzen, bis dieser verfällt.
Dies ermöglicht
es allen Benutzerstationen, den neuen Schlüssel zu beschaffen, bevor der alte
verfällt.
-
Nicht
alle Benutzerstationen besitzen eine untereinander exakt synchronisierte
Zeit, so dass sie den alten Schlüssel
behalten, bis die Löschungszeit
erreicht ist. Während
die ser Zeit unterscheidet eine Station zwischen den beiden unterschiedlichen
Schlüsseln
aufgrund einer Schlüssel-Seriennummer,
die in den Kopfdaten enthalten ist. Sobald jedoch die Löschungszeit
erreicht ist, wird sie keine Kopfdaten mit einem alten Schlüssel mehr
akzeptieren.
-
Die 1 zeigt
ein Blockschaltbild einer Benutzerstation in Form eines Funk-Sende-Empfängers 10 mit
einem zugeordneten Smart Card-Lesegerät 12. Das Smart Card-Lesegerät kann innerhalb
oder außerhalb des
Sende-Empfängers
angeordnet sein. Das Blockschaltbild der Sende-Empfänger-Einheit
in 1 entspricht im wesentlichen den in der o. g.
PCT-Patentanmeldung
beschriebenen Einheiten.
-
Die
Einheit weist eine CPU 14 auf, die mit einem Schnittstellen-
und Modem-Schaltkreis 16 verbunden ist. Die Einheit beinhaltet
eine Mehrzahl an Empfänger-Modulen 18 bis 24,
die eintreffende Daten bei unterschiedlichen Datenraten über einen
vier Zehnerpotenzen umspannenden Bereich empfangen können. Die
Einheit beinhaltet ein Ausgabe-/Übertragungs-Modul 26,
das im selben Bereich arbeitet, so dass die Einheit bei unterschiedlichen
Datenraten entsprechend der Qualität der Verbindung zwischen den
Stationen betrieben werden kann.
-
Wenn
die Benutzerstation eingeschaltet wird, muss sie zunächst die
Smart Card lesen, um ihre ID zu erhalten. Anschließend überprüft sie,
ob der öffentliche
Schlüssel
des Netz-Betreibers abgelaufen ist oder ob die ID in der Smart Card
sich von derjenigen unterscheidet, die sie zuletzt verwendet hat
(sie speichert diese Informationen auf einem lokalen Flash-Laufwerk).
Wenn eine dieser beiden Bedingungen erfüllt ist, muss sie anschließend ein
Verfahren gemäß 3 oder 4 durchführen. Dies
bedingt das Erzeugen einer Nachricht, die dann durch die Modems
und Sender zu der Netz-Betreiberstation übertragen wird.
-
Wenn
die Smart Card entfernt wird, muss die Benutzerstation ihren Betrieb
abbrechen. Das Smart Card-Lesegerät sendet eine Nachricht an
den Sende-Empfänger,
wenn die Karte entfernt wird. Wenn jedoch die Verbindung zwischen
dem Lesegerät
und dem Sende-Empfänger
unerlaubter Weise verändert
worden ist, wird die Nachricht nicht beim Sende-Empfänger eintreffen.
Um zu verhindern, dass ein Sende-Empfänger ohne Smart Card kommuniziert, überprüft der Sende-Empfänger den
Zustand der Smart Card regelmäßig, um sicherzustellen,
dass diese nicht entfernt wurde. Diese Vorgehensweise beinhaltet
die Verwendung der Smart Card zum Dekodieren einer Zufallszahl,
die mit ihrem öffentlichen
Schlüssel
verschlüsselt
wurde. Wenn die richtige Smart Card vorhanden ist, wird sie die
Zahl korrekt dekodieren. Die Verschlüsselung der Zufallszahl erfolgt
unter Verwendung einer Software in dem Sende-Empfänger. Auf
diese Weise stoppt der Ablauf der Software in dem Sende-Empfänger nach
einem vorbestimmten Zeitintervall, wenn ein Benutzer die Smart Card nach
unerlaubter Veränderung
der Verbindung entfernt.
-
Die 3 zeigt
das Verfahren, durch das die Benutzerstation den öffentlichen
Schlüssel
des Netz-Betreibers und ihre eigenen öffentlichen und privaten Schlüssel erlangt.
Für die
Darstellung wurde angenommen, dass eine Smart Card vom DCES-Typ
verwendet wird. Wenn eine RSA-Smart Card zum Einsatz kommt, würde der
Netz-Betreiber Zufallszahl A und Ergebnis A nicht erzeugen und würde die
Nachricht mit dem öffentlichen RSA-Schlüssel verschlüsseln, die
der ID der Benutzerstation zugeordnet ist. Die Benutzerstation entschlüsselt ihrerseits
die Nachricht mit ihrem privaten Schlüssel. Alle weiteren Schritte
bleiben die gleichen. (Siehe 4 für eine Darstellung
beider Optionen.) Die RSA-Smart Card wird nur verwendet, um einen
neuen öffentlichen und
privaten Schlüssel
zu beschaffen. Die neuen Schlüssel
werden während
einer Kommunikation mit anderen Benutzerstationen benutzt und verfallen
ebenso wie der öffentliche
Schlüssel
des Netz-Betreibers.
-
Bei
Verwendung einer DES-Smart Card, wird das Ergebnis A durch Anwenden
des DES-Algorithmus auf die Zufallszahl A erzeugt. Das Ergebnis
A wird dann zum Verschlüsseln
der ganzen Nachricht verwendet. Dies ermöglicht das Verschlüsseln der
ganzen Nachricht unter Verwendung eines schnelleren Prozessors als die
Smart Card. Wenn jedoch die Smart Card zum Verschlüsseln der
ganzen Nachricht verwendet wird, werden Zufallszahl A und Ergebnis
A nicht benötigt.
In diesem Fall wird die gesamte Nachricht durch den Netz-Betreiber
unter Verwendung des zu der Benutzerstation gehörigen geheimen Schlüssels verschlüsselt. Die
Benutzerstation entschlüsselt
die ganze Nachricht unter Verwendung der Smart Card.
-
Die
Netz-Betreiberstation ist typischerweise eine weitere Sende-Empfänger-Einheit,
die mit einem Computer verbunden ist, der Informationen bezüglich aller
im Netz betriebenen Benutzerstationen speichert. Dieser Computer
generiert die öffentlichen
und privaten Schlüssel
für die
Benutzerstation und speichert darüber hinaus die privaten und öffentlichen
Schlüssel
des Netz-Betreibers. Der Netzbetreiber-Computer enthält auch
alle mit den Smart Cards in allen Benutzerstationen assoziierten
Nummern. Dies ermöglicht
es dem Netz-Betreiber,
den privaten Schlüssel
der Benutzerstation an die Benutzerstation zurückzuschicken, ohne dass eine
andere Benutzerstation in der Lage wäre, den Schlüssel aufzuspüren.
-
Mehr
als eine Netz-Betreiberstation kann in einem Netz vorhanden sein,
wobei alle Netz-Betreiberstationen mit dem zentralen Netzbetreiber-Computer
verbunden sind. Für
den Fall einer Betriebsstörung
können auch
ein oder mehrere Ersatz-Netzbetreiber-Computer mit der Netz-Betreiberstation
verbunden sein.
-
Wenn
eine Benutzerstation erstmalig angeschaltet wird, besitzt sie nicht
den gültigen öffentlichen Netz-Schlüssel bzw.
ihren eigenen öffentlichen
und privaten Schlüssel.
Daher muss sie mit dem Netz-Betreiber kommunizieren, um die Schlüssel zu
erhalten. Wenn sie sich jedoch nicht in der Nähe des Netz-Betreibers befindet,
wird es ihr nicht möglich
sein, diesem eine Nachricht zu schicken, da alle anderen Benutzerstationen die
neue Benutzerstation ignorieren, da sie diese nicht überprüfen können. Deshalb
ist ein Verfahren erforderlich, das es den anderen Benutzerstationen
ermöglicht,
der neuen bei der Beschaffung ihrer Schlüssel zu helfen, ohne ihre Routing-Tabellen
in Mitleidenschaft zu ziehen oder die Sicherheit des Netzes zu gefährden.
-
Wenn
eine Benutzerstation versucht, erstmalig einen neuen Schlüsselsatz
zu erlangen, generiert sie eine spezielle Nachricht für den Netz-Betreiber,
die die Nachrichten-Nummer
1 haben muss. Diese Nummer ist für
den alleinigen Zweck reserviert, Schlüssel vom Netz-Betreiber abzurufen.
-
Wenn
eine beliebige andere Benutzerstation im Netz diese Nachricht sieht,
erzeugt sie eine neue ID in ihrer Routing-Tabelle, die der Ursprungs-ID der Nachricht
entspricht, mit einer zugefügten
Kennzeichnung, welche angibt, dass diese gekennzeichnete ID nicht
zum Senden von anderen Daten als einer Antwortnachricht des Netz-Betreibers
verwendet werden soll, die ebenfalls mit der Nummer 1 bezeichnet
ist. Wenn sich herausstellt, dass es sich um eine "betrügerische" o der nicht autorisierte
Benutzerstation handelt, oder wenn die betreffende Benutzerstation
so lange ausgeschaltet war, dass die Schlüssel verfallen sind, jedoch
nicht lange genug, um aus den Routing-Tabellen entfernt zu werden,
erscheinen zwei identische IDs in den Routing-Tabellen der anderen
Benutzerstationen. Die gekennzeichnete ID wird zum Weiterleiten
von Nachrichten benutzt, die mit der Zahl 1 nummeriert sind, und
die andere ID wird für
alle anderen Nachrichten verwendet.
-
Die
anderen Benutzerstationen erlauben darüber hinaus ein Passieren der
Schlüssel-Nachrichten
nur, wenn diese die richtige Größe und die
richtige zugeordnete Verfallszeit aufweisen. Auf diese Weise wird
eine nicht autorisierte Benutzerstation daran gehindert, das Netz
mit einer Vielzahl von Schlüssel-Anforderungsnachrichten
zu überschwemmen.
Da die Nachricht klein ist und eine lange zugeordnete Verfallszeit
besitzt, wird eine nicht autorisierte Benutzerstation nur einen
begrenzten Datenverkehr aussenden können.
-
Wenn
eine Benutzerstation versucht, eine Schlüssel-Aktualisierung zu erhalten,
ihre gegenwärtigen Schlüssel jedoch
noch gültig
sind, so beantragt sie die neuen Schlüssel ohne Verwendung einer
speziellen Nachrichten-Nummer. Dies ist erforderlich, weil die Nachricht
zum Anfordern des Schlüssels
nicht klein ist, da sie zusätzliche
Abrechnung-Informationen enthält.
Daher wird die Nachricht wie jede andere Nachricht behandelt und
weitergeleitet.
-
Ebenso
wie die Nachricht müssen
auch die Test- und Datenpakete spezielle Nummern aufweisen. Dies
erlaubt es der Benutzerstation, die Nachricht in das Netz einzubringen.
Allerdings werden andere Benutzerstationen diese speziellen Testnachrichten
nur aufgrund der Nummer der Test- und Datenpakete, beispielsweise
der Nummer 1, akzeptieren. Wei terhin akzeptieren die anderen Benutzerstationen
ausschließlich
eine Nachricht mit der Nummer 1 aus einem solchem Datenpaket. Auch übernehmen
sie dieselbe gekennzeichnete ID für diese Art von Test. Das Antwort-Datenpaket
von einer berechtigten Benutzerstation trägt ebenfalls die Nummer 1.
Dies erlaubt es den anderen Benutzerstationen, die die Interaktion überwachen,
zu erkennen, dass sie die mit der Antwort verknüpfte ID kennzeichnen müssen.
-
Es
ist vorstellbar, dass eine nicht autorisierte Netz-Betreiberstation
aufgesetzt wird, um in ein Netz einzudringen und Nachrichten abzufangen.
Um dies zu verhindern, muss eine Benutzerstation in der Lage sein, die
Authenzität
des Netz-Betreibers zu verifizieren. Wenn eine Benutzerstation den
Netz-Betreiber nicht verifizieren kann, wird sie sich selbst keinen
Zugang zum Netz erlauben.
-
Damit
die Benutzerstation in der Lage ist, die von dem Netz-Betreiber übermittelten
neuen Schlüssel zu
verifizieren, muss der Netz-Betreiber den neuen Schlüsselsatz
unter Verwendung seines dauerhaften Befugnis-Schlüssels signieren.
Die signierte Nachricht kann mittels der Smart Card der Benutzerstation
verifiziert werden. Jede solche Smart Card besitzt einen öffentlichen
Befugnis-Schlüssel.
Dieser Schlüssel
bleibt unverändert
und ist dauerhaft in der Smart Card eingeschlossen. Eine Anzahl
von Benutzern kann denselben Satz von Befugnis-Schlüsseln teilen.
Sollten die Befugnis-Schlüssel
durch einen Dritten entdeckt werden, kann der betreffende Satz aus
dem Betrieb entfernt werden. Dies bedeutet, dass diejenigen Benutzer,
die sich den betreffenden Satz von Befugnis-Schlüsseln teilen, eine neue Smart
Card beschaffen müssen,
um das Netz weiterhin zu benutzen. Es ist möglich, jedem Benutzer seinen
eigenen Befugnis-Schlüsselsatz
zuzuweisen, um auf diese Weise die Anzahl von Benutzern zu verringern,
die im Fall einer Sicherheitslücke
ihre Smart Card aktualisieren müssen.
-
Wenn
eine Benutzerstation erstmalig angeschaltet wird, besitzt sie keine
Abrechnungs-Informationen, und somit hat die Schlüssel-Anforderungsnachricht
immer dieselbe Größe, so dass
andere Benutzerstationen nur eine Größe für diese Nachricht akzeptieren.
Wenn jedoch die Benutzerstation einen neuen Schlüsselsatz anfordert, da die
gegenwärtigen
zu verfallen drohen, wird sie auch Abrechnungs-Informationen in
die Anforderung einfügen.
-
Die
Abrechnungs-Informationen enthalten eine Liste von Benutzerstationen-Ids,
zu denen die lokale Benutzerstation entweder Daten gesendet oder
von denen sie Daten empfangen hat. Mit jeder der IDs werden weiterhin
folgende Details gesendet:
- – gesamte, an entfernte Sende-Empfänger-ID
gesendete Datenmenge;
- – gesamte,
von entfernter Sende-Empfänger-ID
bestätigte
Datenmenge;
- – gesamte,
von entfernter Sende-Empfänger-ID
empfangene Datenmenge;
- – benutzte
spezielle Ressourcen (z. B. Internet-Daten);
- – statistische
Informationen betreffend Leistungsverbrauch, Paket- und Nachrichtenfehler
usw.
- – gesamte
Datenmenge, die für
dritte Stationen gesendet wurde (z. B. weitergeleitete Daten).
-
Diese
Informationen werden anschließend
durch den Netz-Betreiber
mit den von anderen Sende-Empfänger-IDs
empfangenen Abrechnungs-Informationen verknüpft und dazu verwendet zu bestimmen, was
für den
Benutzer eines jeden Sende-Em pfängers
abzurechnen ist.
-
Der
Netz-Betreiber kann einem Benutzer, der aktiv Daten für andere
Stationen weitergeleitet hat, eine Gutschrift zuteilen, um so Benutzer
zu ermutigen, ihre Stationen dauerhaft zu betreiben.
-
Die
Verbindungs-Ebene und/oder die Nachrichten-Ebene des vorstehend
beschriebenen Protokolls kann signiert und/oder verschlüsselt sein.
Die im Rahmen des Verfahrens verwendeten Schlüssel können zum Signieren und/oder
Verschlüsseln
der Nachrichten-Kopfdaten und/oder des gesamten Pakets benutzt werden.
-
Jedes
Datenpaket enthält
zwei CRC-Abschnitte, kurz: CRC (CRC: Cyclic Redundancy Check). Das erste
CRC ist in den Kopfdaten enthalten und stellt das CRC der Kopfdaten
dar. Das zweite CRC befindet sich am Ende des Pakets und ist ein
CRC des gesamten Pakets, einschließlich der Kopfdaten.
-
Der
Grund für
die Verwendung von zwei CRC besteht darin, es dem Protokoll zu erlauben,
den Ursprung eines Pakets zu bestimmen, wenn nur die Kopfdaten richtig übertragen
werden, das Paket selbst jedoch aufgrund eines Fehlers ungültig ist.
Typischerweise überprüft eine
Station zunächst
das Paket-CRC. Sollte dieses korrekt sein, so würde sie in der Folge annehmen,
dass das Kopfdaten-CRC auch korrekt ist (da die Kopfdaten in dem
Paket-CRC enthalten sind). Sollte das Paket-CRC fehlerhaft sein,
wird das Kopfdaten-CRC überprüft. Wenn
das Kopfdaten-CRC in Ordnung ist, kann die Station davon ausgehen,
dass die in den Kopfdaten enthaltenen Informationen richtig sind.
Diese Kopfdaten-Informationen können
dann für
adaptive Neu-Übermittlungen
benutzt werden, obwohl die Daten verloren gegangen sind.
-
Um
das Paket zu "signieren", kann das CRC der
Kopfdaten und/oder des Pakets unter Verwendung des privaten Schlüssels der
Sendestation verschlüsselt
werden. Die Empfangsstation entschlüsselt dann das CRC unter Verwendung
des öffentlichen
Schlüssels
der Sendestation.
-
Wenn
das Paket abgesichert werden muss, können die kompletten Kopfdaten
und/oder das Paket unter Verwendung des öffentlichen Schlüssels der
Empfangsstation verschlüsselt
werden. Die Empfängerstation entschlüsselt dann
die Kopfdaten und/oder das Paket unter Verwendung ihres privaten
Schlüssels.
-
Die
Kopfdaten und/oder das Paket können
jeweils signiert und abgesichert werden, indem zunächst das
CRC mit dem privaten Schlüssel
der Sendestation und anschließend
die gesamten Kopfdaten und/oder das Paket unter Verwendung des öffentlichen
Schlüssels
der Empfangsstation verschlüsselt
werden.
-
Der
einzige Teil der Kopfdaten und/oder des Pakets, der nicht verschlüsselt wird,
ist deren erster Teil bis zu der Stelle, an der der Pakettyp identifizierbar
ist, und möglicherweise
bis zu der Empfangts-ID (siehe die Paketstruktur weiter unten).
Somit versucht eine Station nicht, jedes Paket, das sie empfängt, zu
entschlüsseln,
sondern nur solche, die als verschlüsselt und/oder signiert gekennzeichnet
sind (Pakettyp). Darüber
hinaus wird eine Station, die nicht die Empfangsstation ist, nicht
versuchen, das Paket zu entschlüsseln.
-
Das
Protokoll beruht auf der Tatsache, dass eine Station Informationen
von Übertragungen
Dritter auf einem Rufkanal sammeln kann. Daher sind die Paket-Übertragungen
auf dem Rufkanal nicht verschlüsselt sondern
lediglich signiert. Sobald jedoch zwei Stationen auf einen Datenkanal
wechseln, können
beide die Pakete verschlüsseln
und signieren.
-
Selbst
wenn die Pakete auf der Verbindungsebene verschlüsselt sind, ist ein Dritter
bei einer Zwischenstation nicht davon abgehalten, das Paket zu analysieren,
nachdem die Hardware es entschlüsselt
hat. Daher ist es von Bedeutung, jegliche über das Netz gesendete Daten
auf der Nachrichtenebene zu verschlüsseln. Für den Fall, dass der Endbenutzer
bereits eine Art der Datenverschlüsselung auf seine Daten anwendet, ist
es möglicherweise
nicht erforderlich, die Nachrichten zu verschlüsseln.
-
Wenn
Daten in das Netz gelangen (beispielsweise wenn ein Benutzer eine
Nachricht an einen Terminal eintippt), wird die Nachricht unter
Verwendung des privaten Schlüssels
der Ursprungsstation signiert und unter Verwendung des öffentlichen
Schlüssels
der Zielstation verschlüsselt.
Wenn die Nachricht bei der Zielstation eintrifft, wird sie mit Hilfe
des privaten Schlüssels
der Zielstation entschlüsselt
und unter Verwendung des öffentlichen
Schlüssels
der Ursprungsstation überprüft.
-
Diese
signierte und/oder verschlüsselte
Nachricht bleibt unverändert,
während
sie sich über
Zwischenstationen durch das Netz bewegt. Auf diese Weise ist es
für eine
Person an einer Zwischenstation nicht möglich, auf den Inhalt der Nachricht
zuzugreifen und/oder diesen unerlaubterweise zu verändern.
-
Die
Zielstation besitzt typischerweise nur die öffentlichen Schlüssel von
Stationen in ihrer unmittelbaren Umgebung (aufgrund von Schlüsseltests).
Wenn die Zielstation den öffentlichen
Schlüssel
der Ursprungsstation nicht besitzt, kann sie eine Schlüssel-Anforderungsnachricht
zum Netz-Betreiber
senden, um den öffentlichen
Schlüssel
der Ursprungsstation zu verlangen.
-
Der
Netz-Betreiber sendet dann eine Nachricht, die die ID der Ursprungsstation
und deren öffentlichen Schlüssel enthält, die
unter Verwendung des privaten Schlüssels des Netz-Betreibers verschlüsselt ist.
Dies hat denselben Effekt, als ob die Zielstation einen Schlüsseltest
von der Ursprungsstation hören
würde (siehe unten).
-
Für lange
Pakete und/oder Nachrichten ist das RSA-Verschlüsselungsverfahren sehr langsam.
Unter diesen Umständen
kann ein alternatives, schnelleres Verschlüsselungsverfahren verwendet
werden, wie DES. Der für
den DES-Algorithmus verwendete Schlüssel kann dabei unter Verwendung
des öffentlichen RSA-Schlüssels der
Zielstation verschlüsselt
werden. Der verschlüsselte
Schlüssel
wird dann der Nachricht vor dem Signieren zugefügt. Die Zielstation extrahiert
anschließend
den DES-Schlüssel
unter Verwendung ihres privaten RSA-Schlüssels. Der extrahierte DES-Schlüssel wird
anschließend
dazu verwendet, das gesamte Paket zu extrahieren.
-
Obwohl
eine Schlüssellänge typischerweise
zwischen 16 und 128 Bits liegt, bleibt hervorzuheben, dass längere Schlüssel verwendet
werden können.
Allerdings benötigen
längere
Schlüssel
mehr Rechenleistung und bedeuten einen zusätzlichen Overhead betreffend
die Größe der Pakete
und Nachrichten. Daher muss ein Kompromiss zwischen der Schlüssellänge, der
Verarbeitungsleistung und der Paketgröße gefunden werden. Typischerweise
muss die Länge
der Schlüssel
mit der Leistungsfähigkeit
der Computer zunehmen.
-
Es
ist hervorzuheben, dass die privaten und öffentlichen Schlüssel sowohl
der Benutzerstationen als auch des Netz-Betreibers in regelmäßigen Abständen geändert werden, was bedeutet,
dass kürzere
Schlüssel verwendet
werden können
(die Schlüssel
wurden wahrscheinlich bereits geändert,
bevor es jemanden gelingt, den Code zu "knacken"). Daher können auf der Verbindungsebene
kürzere
Schlüssel
benutzt werden. Aus Gründen
der Datensicherheit werden jedoch unter Umständen auf der Nachrichtenebene
längere
Schlüssel benötigt, wobei
angenommen ist, dass die Daten jederzeit sicher bleiben müssen, selbst
nach einer Übertragung
durch das Netz.
-
In
dem oben beschriebenen System verfällt der Schlüssel des
Netz-Betreibers. Wenn eine Station den neuen Schlüssel des
Netz-Betreibers erhält,
bekommt auch die Station selbst einen neuen Schlüssel. Auf diese Weise gilt
die Schlüssel-Seriennummer des
Netz-Betreibers auch für
die Schlüssel
der Station. Es ist jedoch möglich,
den Benutzerstationen eine separate Schlüssel-Seriennummer zuzuweisen,
so dass die Schlüssel der
Benutzerstation für
längere
oder kürzere
Zeiten gültig
bleiben können,
soweit dies erforderlich ist. Die Benutzerstation verwendet weiterhin
dasselbe Verfahren zum Erlangen eines neuen Schlüssels, jedoch bliebe die Seriennummer
des Netz-Betreibers unverändert,
und die Benutzer-Seriennummer würde
sich ändern
(oder umgekehrt).
-
In
dem vorstehend beschriebenen System ist das CRC einer Nachricht
oder eines Paketes signiert. Allerdings würde ein sichereres Verfahren
darin bestehen, eine Hashfunktion zu verwenden, die eine Nachrichten-Kurzfassung
oder einen digitalen Fingerabdruck der zu signierenden Daten erzeugt.
Der Vorteil der Hashfunktion besteht darin, dass sie es schwieriger
macht, eine veränderte
Nachricht zu erzeugen, die denselben Hashwert generiert. Vorteilhafterweise
kann entweder eine CRC-Funktion oder eine Hashfunktion zum Signieren
von Paketen oder Nachrichten verwendet werden.
-
Nachfolgend
ist die Grundstruktur der Test- und Datenpakete angegeben, die in
dem erfindungsgemäßen Verfahren
verwendet werden:
-
-
Testpakete
(enthalten keine Daten) werden typischerweise auf einem Rufkanal
gesendet und erbitten eine Antwort von einer Zielstation mit einer
bestimmten ID (Empfangs-ID). Die Testpakete sind typischerweise nicht
verschlüsselt,
a ber signiert, und erlauben es so anderen Stationen, für das Routing
erforderliche Informationen zu sammeln.
-
Wenn
eine Station auf einen Text antwortet, geschieht das auf einem Datenkanal
unter Verwendung eines Datenpakets (das Daten enthält). Das
Datenpaket ist signiert und kann optional verschlüsselt sein,
da keine andere Station die hierin enthaltenen Informationen benötigt.
-
Die
Länge des
Paket-CRC ist auf ein Minimum von 32 Bits für eine verlässliche Fehlererkennung auf der
Verbindungsebene festgelegt.
-
-
Schlüsseltests
werden gesendet, um den öffentlichen
Schlüssel
einer Station anzuzeigen. Sie werden in regelmäßigen Zeitabständen auf
einem Testkanal anstelle von normalen Tests gesendet. Andere Stationen verwenden
die Schlüssel tests
zum Bestimmen des öffentlichen
Schlüssels
anderer Stationen. Die ID (32 Bits), Benutzerebene (8 Bits) und
der öffentliche
Schlüssel
(16 bis 128 Bits) der Sendestation werden unter Verwendung des privaten
Schlüssels
des Netz-Betreibers
verschlüsselt.
Somit können
andere Stationen den öffentlichen
Schlüssel
der Sendestation verifizieren, indem sie die Nachricht mit dem öffentlichen
Schlüssel
des Netz-Betreibers
entschlüsseln.
-
Format
der Schlüssel-Antwortnachricht
des Netz-Betreibers
-
Die
Schlüssel-Antwortnachricht
wird von dem Netz-Betreiber an diejenige Benutzerstation gesendet, die
eine Schlüssel-Aktualisierung verlangt.
Die mit Daten 1 markierten Daten einträge in der obigen Tabelle werden
unter Verwendung des privaten Schlüssels des Netz-Betreibers verschlüsselt. Dies
bedeutet, dass jede Station mit einem gültigen öffentlichen Schlüssel des
Netz-Betreibers in der Lage ist, die ID, den öffentlichen Schlüssel und
die Benutzerebene derjenigen Station zu extrahieren, die diese Informationen
in dem Schlüssel-Testpaket überträgt.
-
Die
Daten 2 und die verschlüsselten
Daten 1 werden kombiniert und mit dem öffentlichen Schlüssel der
RSA-Smart Card der anfordernden Station (oder mit Ergebnis A bei
Verwendung einer DES-Smart Card – siehe 4) verschlüsselt. Die
anfordernde Station ist dann in der Lage, die Inhalte unter Verwendung
ihres in der Smart Card enthaltenen privaten Schlüssels zu
extrahieren. Dies ist der einzige Moment, an dem die Smart Card-Schlüssel benutzt
werden. Die in der Schlüssel-Antwortnachricht
enthaltenden Schlüssel
werden für
alle weiteren Signaturen und Verschlüsselungen verwendet. Die Länge des
Smart Card-Schlüssels
ist typischerweise sehr groß (z.
B. 1024 Bits), da dieser Schlüssel
niemals geändert
wird (es sei denn, die Smart Card wird ausgetauscht).
-
Die
Erneuerungs-, Verfalls- und Löschungszeiten
werden jeweils in relativen Sekunden gemessen. Wenn eine Benutzerstation
eine Schlüssel-Aktualisierung
anfordert, berechnet der Netz-Betreiber die verbleibende relative
Zeit, bis der gegenwärtige
Schlüssel
erneuert werden muss usw. Sie platziert diese relativen Zeiten in
der Einheit Sekunden in der Nachricht. Wenn die Benutzerstation
die Nachricht empfängt,
subtrahiert sie die Zeit, die die Nachricht im Netz verbracht hat,
von den entsprechenden Zeiten. Sie bestimmt dann relativ zu ihrer
lokalen Uhr die absolute Zeit, zu der der Schlüssel erneuert werden muss,
verfällt
und gelöscht
wird.
-
Der
Grund für
die Verwendung relativer Zeit liegt darin, dass weniger Bits zur
Anzeige der Zeit erforderlich sind und dass weiterhin nicht alle
Benutzerstationen über
korrekt synchronisierte Uhren verfügen. Diejenige Zeit, die eine
Nachricht im Netz verbringt, kann durch das Netzprotokoll genau
bestimmt werden, typischerweise bis auf einige Millisekunden.
-
Die
Verwendung absoluter Zeiten ist ebenfalls möglich, sofern die Uhren der
Benutzerstationen einigermaßen
synchron gehalten werden können.
Allerdings berücksichtigt
das beschriebene Authentifizierungs-Verfahren Überlappungen von Uhren, die
nicht genau synchronisiert sind.