-
Technisches
Gebiet
-
Diese
Erfindung betrifft im Allgemeinen die Modemkommunikation und betrifft
insbesondere ein Softwaremodem mit Überwachung von Steuerparametern
in einem privilegierten bzw. bevorrechtigten Modus.
-
Hintergrund
der Erfindung
-
WO-A-00/22865
betrifft ein Funkkommunikationssystem mit Zeitaufteilung mit mehrfachem
Zugriff/doppelter Zeitaufteilung (TDMA/TDD) und betrifft insbesondere
die Anpassung eines derartigen System an bestehende Funkbedingungen.
Das System umfasst eine physikalische Schicht zur Herstellung einer
Funkverbindung und zur Rundfunkübertragung eines
Parameterindikators einer einzelnen physikalischen Schicht von einer
Basisstation auf einem Rundfunksteuerkanal auf der Grundlage der
Qualität der
Funkverbindung, die an der Basisstation festgestellt wird.
-
In
der jüngeren
Vergangenheit erfreuen sich Funktelefone zunehmender Beliebtheit.
Ein Funktelefon ist ein Beispiel einer Einrichtung, die als „Mobilstation" oder „mobiles
Endgerät" bezeichnet wird. Eine
Mobilstation kann diverse andere Formen als ein Funktelefon annehmen,
wozu beispielsweise ein Computer (z. B. ein Notebook-Computer) mit
mobilen Kommunikationsfähigkeiten
gehört.
-
Telekommunikationsdienste
werden zwischen einem Funktelekommunikationsnetzwerk und einer Mobilstation über eine
kabellose Schnittstelle, beispielsweise auf der Grundlage von Funkfrequenzen,
ausgetauscht. Typischerweise wird jedem Teilnehmer, der eine Mobilstation
besitzt, eine einzigartige internationale mobile Teilnehmeridentität (IMSI) zugeordnet.
Zu jeder Zeit kann eine aktive Mobilstation über die kabellose Schnittstelle
mit einer oder mehreren Basisstationen in Verbindung treten. Die Basisstationen
werden wiederum von Basisstationssteuerungen verwaltet, die auch
als Funknetzwerksteuerungen bekannt sind. Eine Basisstationssteuerung
bildet zusammen mit ihren Basisstationen ein Basisstationssystem.
Die Basisstationssteuerungen eines Basisstationssystems sind über Steuerknoten mit
einem Kerntelekommunikationsnetzwerk, etwa dem öffentlichen Telefonnetzwerk
(PSTN) verbunden. Eine Art eines standardmäßigen Mobilkommunikationsschemas
ist das globale System für
mobile Kommunikation (GSM). Das GSM enthält Standards, die Funkti onen
und Schnittstellen für
diverse Arten von Diensten spezifizieren. GSM-Systeme können zum Übermitteln
von Sprachsignalen und Datensignalen eingesetzt werden. Eine jeweilige
Basisstation kann gemeinsam von mehreren Mobilstationen verwendet
werden. Da das Funkspektrum eine begrenzte Ressource ist, wird die
Bandbreite unter Anwendung einer Kombination aus Zeitunterteilungs-
und Frequenzunterteilungsverfahren mit mehrfachem Zugriff (TDMA/FDMA)
aufgeteilt. Die FDMA-Technik beinhaltet das Aufteilen der maximalen
Frequenzbandbreite (beispielsweise 25 MHz) in 124 Trägerfrequenzen,
die 200 kHz auseinanderliegen. Es können eine oder mehrere Trägerfrequenzen
einer jeweiligen Basisstation zugeordnet werden. Jede Trägerfrequenz ist
wiederum in Zeitfenster unterteilt. Während einer aktiven Phase bzw.
Sitzung zwischen der Basisstation und der Mobilstation ordnet die
Basisstation der mobilen Einheit eine Frequenz, einen Leistungspegel und
ein Zeitfenster für „aufwärtsgerichtete" Übertragungen von der Mobilstation
zu der Basisstation zu. Die Basisstation übermittelt ferner eine spezielle
Frequenz und ein Zeitfenster für
abwärtsgerichtete Übertragungen
von der Basisstation, die für
die Mobilstation gedacht sind.
-
Die
fundamentale Zeiteinheit, die in dem GSM definiert ist, wird als
eine Sequenzperiode bezeichnet, die 15/26 ms (ungefähr 0,577
ms) dauert. Es werden 8 Sequenzperioden in einen TDMA-Rahmen bzw.
Block eingeteilt (120/26 ms oder ungefähr 4,615 ms), was die grundlegende
oder Basiseinheit für
die Definition logischer Kanäle
ist. Ein physikalischer Kanal ist als eine Sequenzperiode pro Rahmen bzw.
pro Block definiert. Individuelle Kanäle werden durch die Anzahl
und die Position ihrer entsprechenden Sequenzperioden definiert.
-
GSM-Blöcke werden,
wobei jeder Block 8 Sequenzperioden umfasst, in sogenannte Superblöcke bzw.
Superrahmen gruppiert (beispielsweise eine Gruppe aus 51 Blöcken), die
sowohl Information (beispielsweise Sprach- oder Datensignale) als
auch Steuerungsinformationen enthalten. Die Steuerungsinformation
wird über
gemeinsame Kanäle,
die in der Superblockstruktur definiert sind, übertragen. Auf gemeinsame Kanäle wird
sowohl von Mobilstationen im Wartemodus als auch in einem speziellen
Modus zugegriffen. Die gemeinsamen Kanäle werden von den Mobilstationen
im Wartemodus verwendet, um Informationen zum Anzeigen des Übergangs
in einen entsprechenden Modus in Reaktion auf eintreffende oder
abgehende Anrufe auszutauschen.
-
Mobilstationen,
die bereits in dem speziellen Modus sind, überwachen die umgebenden Basisstationen
im Hinblick auf Übergangsinformationen
und andere Informationen.
-
Die
gemeinsamen Kanäle
enthalten:
einen Rundfunksteuerungskanal (BCCH), der zum kontinuierlichen
Rundumsenden von Informationen dient, die die Basisstationsidentität, die Frequenzzuordnungen
und die Frequenzumtastungs- bzw. Sprungsequenzen enthalten;
einen
Frequenzkorrekturkanal (FCCH) und Synchronisierkanal (SCH), die
zum Synchronisieren der Mobilstation mit der Zeiffensterstruktur
einer Zelle verwendet werden, indem die Grenzen von Sequenzperioden
und die Zeitfensternummerierung definiert werden (d. h. jede Zelle
in einem GSM-Netz sendet genau einen FCCH und einen SCH, die definitionsgemäß im Zeitfenster
mit der Nummer 0 innerhalb eines TDMA-Blocks gesendet werden);
einen
Kanal mit wahlfreiem Zugriff (RACH), der von der Mobilstation verwendet
wird, um Zugriff auf ein Netz anzufordern;
einen Rufkanal (PCH),
der dazu dient, die Mobilstation über einen eintreffenden Anruf
zu informieren; und
einen Zugriffgewährungskanal (AGCH), der verwendet
wird, um einen einzelnen entsprechenden Steuerungskanal (SDCCH)
einer Mobilstation für
die Signalgebung zuzuordnen (d. h. um einen entsprechenden Kanal
zu erhalten), der auf eine Anforderung auf den RACH folgt.
-
Aus
Sicherheitsgründen
werden GSM-Daten in einer verschlüsselten Form übertragen.
Auf Grund des kabellosen Mediums kann auf diesen von jedermann zugegriffen
werden, und eine Authentisierung ist ein wesentliches Element eines
mobilen Netzwerks. Die Authentisierung betrifft sowohl die Mobilstation
als auch die Basisstation. Es wird eine Teilnehmeridentifikationsmodul-
(SIM) Karte in jeder Mobilstation installiert. Jeder Teilnehmer
erhält
einen zugeordneten geheimen Schlüssel.
Eine Kopie des geheimen Schlüssels
ist in der SIM-Karte gespeichert und eine weitere Kopie ist in einer
geschützten
Datenbank in dem Kommunikationsnetzwerk gespeichert, auf die von
der Basisstation zugegriffen werden kann. Während eines Authentisierungsereignisses
erzeugt die Basisstation eine Zufallszahl, die diese an die Mobilstation
sendet. Die Mobilstation verwendet die Zufallszahl in Verbin dung
mit dem geheimen Schlüssel
und einem Entschlüsselungsalgorithmus
(beispielsweise A3), um eine signierte Antwort zu erzeugen, die
zur Basisstation zurückgeschickt wird.
Wenn die signierte Antwort, die von der Mobilstation gesendet wird,
jener entspricht, die von dem Netzwerk berechnet wird, ist die Authentizität des Teilnehmers
festgestellt. Die Basisstation verschlüsselt Daten, die von der Mobilstation
gesendet werden, unter Anwendung des geheimen Schlüssels. In ähnlicher
Weise verschlüsselt
die Mobilstation unter Anwendung des geheimen Schlüssels die
Daten, die diese an die Basisstation sendet. Nachdem eine von der
Mobilstation erhaltene Sendung entschlüsselt ist, werden diverse Schlüsselinformationen
einschließlich
des zugeordneten Leistungspegels, der Frequenz und des Zeitfensters
für eine
spezielle Mobilstation von dieser bestimmt.
-
Im
Allgemeinen werden Kommunikationssysteme in Form von Schichten bzw.
Ebenen beschrieben. Die erste Schicht, die für die eigentliche Sendung eines
datentragenden Signals über
das Übertragungsmedium
verantwortlich ist, wird als die physikalische (PHY) bezeichnet.
Die physikalische Schicht gruppiert digitale Daten und erzeugt eine
modulierte Signalform auf der Grundlage der Daten gemäß dem speziellen Übertragungsschema.
Im GSM erzeugt die physikalische Schicht die Übertragungssignalform und sendet
während
des zugeordneten Sendezeitfensters der Mobilstation. In ähnlicher
Weise erkennt der empfangende Bereich der physikalischen Schicht
Daten, die für
die Mobilstation gedacht sind, während
des zugeordneten Empfangszeitfensters.
-
Die
zweite Schicht, die als eine Protokollschicht bezeichnet wird, verarbeitet
Digitaldaten, die von der physikalischen Schicht empfangen werden, um
darin enthaltene Informationen zu erkennen. Beispielsweise ist in
einem GSM-System die Entschlüsselung
der Daten eine Funktion der Protokollschicht. Zu beachten ist, dass Änderungen
in den Betriebsparametern der physikalischen Schicht nur nach dem Entschlüsseln und
Verarbeiten durch die Protokollschicht erkannt werden. Obwohl diese
spezielle gegenseitige Abhängigkeit
im Allgemeinen in rein Hardware technisch ausgeführten Anordnungen keine Probleme
hervorruft, kann dies problematisch sein, wenn alle oder Teile der
Protokollschicht in Software eingerichtet sind.
-
Gewisse
Computersysteme, insbesondere tragbare Notebook-Computer, können mit
drahtlosen Modems ausgestattet sein. Eine Tendenz in der modernen
Technologie betrifft die Anwendung von Softwaremodems, die einige
der Echtzeitfunktionen traditioneller Hard waremodems unter Anwendung
von Software-Routinen ausführen.
Da die Komplexität des
Aufbau eines Softwaremodems geringer ist als die eines Hardwaremodems
ist dieses im Allgemeinen weniger teuer und in der Anwendung flexibler. Beispielsweise
können
die Protokollentschlüsselung und
die Verarbeitung teilweise oder vollständig in Software durchgeführt werden.
-
Softwaresysteme,
etwa PC-Systeme, arbeiten Schnittstellensteuerungssoftware in Betriebssystemen
in Form von Software-Treibern ab. Diese Treiber sind für die Kommunikation
mit den Hardwareeinrichtungen verantwortlich und arbeiten in einer
privilegierten bzw. bevorrichtigten Ebene in dem Betriebssystem.
Andere Softwareanwendungen sind von einer Beeinflussung der Treiber
ausgenommen. Da jedoch Treiber nicht von anderen Treibern geschützt sind,
können
eine Reihe von Problemen auftreten, die den Betrieb eines Treibers
beeinflussen können,
etwa in Form einer Beeinträchtigung
seiner Funktionsweise. Diese Wirkungen können zufällig hervorgerufen werden oder
können
durch absichtliches Manipulieren verursacht werden. Ein beeinträchtigter
(oder Treiber mit hinzugefügten
Eigenschaften) kann zusätzliche
Probleme außerhalb
des Computers hervorrufen, beispielsweise dass eine Telefonleitung
oder ein kabelloser Kanal verwendet wird, oder dass ein externes
Peripheriegerät
betrieben wird, oder dass wichtige Daten gelöscht werden.
-
Da
die Betriebsparameter der physikalischen Schicht, die die Arbeitsweise
des Senders der Mobilstation von der Protokollschicht unter Anwendung von
Software gesteuert werden, kann ein Computerprogramm oder ein Virus
möglicherweise
die Steuerung über
die Mobilstation übernehmen
und ein zufälliges
oder absichtliches Senden außerhalb
des zugewiesenen Zeitfensters verursachen. Ein kabelloses Kommunikationsnetzwerk,
etwa ein Funknetzwerk, beruht auf einer gemeinsam benutzten Infrastruktur. Eine
Mobilstation muss sich daher an die „Verkehrsregeln" halten, oder es
kann eine Störung
in dem Netzwerk auftreten.
-
Wenn
gewisse Funktionen der Mobilstation durch Software gesteuert werden,
kann ein Programmierer bestimmen, wie die GSM-Steuerungsblöcke decodiert
werden, und wie das Sendemodul aktiviert wird. Ein Virus kann dann
erzeugt werden und über das
Netzwerk verteilt werden, um die softwaregestützten Mobilstationen zu befallen.
Sodann könnte zu
einem speziellen Zeitpunkt und einem speziellen Datum der Virus
die direkte Steuerung der Mobilstation übernehmen und ständig oder
unterbrochen senden und die Basisstationen und andere Mobileinheiten
mit zufälligen
Frequenzen und voller Leistung beaufschlagen. Eine derartige Gestaltung
eines Virus könnte
zu beliebigen Zeiten aktiviert und deaktiviert werden, um eine Erkennung
zu vermeiden, wodurch dem Anbieter des kabellosen Netzwerkes ein
Teil oder die gesamte verfügbare
Bandbreite genommen wird und wobei sogar ein vollständiges Herunterfahren
des Netzwerkes hervorgerufen wird. Ein derartiger Angriff benötigt lediglich
einige wenige betroffene Geräte
(d. h. ein einzelnes) pro Zelle, um die Zelle vollständig zu
deaktivieren. Die Sicherheitsprobleme, die mit Mobilstationen verknüpft sind,
die in einer gemeinsam genutzten Infrastruktur betrieben werden, können in
drei Stufen an Wichtigkeit eingeteilt werden: manipulationssicher,
nicht manipulationssicher und gerätegattungsgefährdend.
Zunächst
ist eine Hardware/Firmware-Implementierung (etwa ein Mobiltelefon)
am schwierigsten zu beeinflussen, da jedes Gerät einzeln genommen und modifiziert
werden muss (d. h. manipulationssicher). Andererseits ist eine softwarebasierte
Lösung
einfacher zu manipulieren, da ein Hacker sich auf eine softwarebasierte Fehlererkennungs-
und Entwicklungsumgebung (Debugging) konzentrieren kann (d. h. nicht
manipulationssicher). Schließlich
ist ein System, das in ähnlicher
Weise für
alle Systeme manipuliert werden kann und das Manipulieren über eine
große
Anzahl an Systemen der gleichen Art ermöglicht, unterliegt einem „Klassenbruch" bzw. ist gattungsgefährdend.
-
Ein
Softwaremodem für
kabellose Kommunikation unterliegt nicht nur den Kriterien des „Klassenbruches", sondern befindet
sich auch unter jenen Geräten,
auf dessen Codierung von der gleichen Schicht wie das IP (Intemetprotokoll)
oder einem anderen tragbaren Codierungszugriffsmechanismus zugegriffen
werden kann. Es werden viele Softwaremodems mit kabelloser Verbindung
in Computer integriert, die mit Netzwerken oder dem Internet verbunden
sind. Eine derartige Anordnung erhöht die Anfälligkeit der Software für Manipulation
und Fremdsteuerung.
-
Kommunikationseinrichtungen,
die andere Kommunikationsprotokolle unter Anwendung von Softwareeinrichtungen
benutzen, können
ebenso wegen der zuvor erkannten Probleme unterliegen, jedoch mit
einem anderen Grad und mit anderen Konsequenzen. Beispielsweise
können
Softwaretreiber für
Kommunikationseinrichtungen, die kupferbasierte Teilnehmerleitungen
verwenden, etwa Sprachbandmodems (V.90), asymmetrische digitale
Teilnehmerleitungs- (DSL) Modems, Heimtelefonleitungsnetzwerke (HomePNA)
etc. angegriffen werden, was zu einer Deaktivierung oder zu einer
nicht korrekten Verwendung der Teilnehmerleitung führt. Beispielsweise kann
eine Gruppe aus infizierten Softwaremodems in einem Angriff für die Verwigerung
von Dienstleistungen verwendet werden, um kontinuierlich Anrufe
für eine
vorbestimmte Nummer zu tätigen
und damit das Ziel zu überschwemmen.
Das Softwaremodem könnte
auch verwendet werden, um hinausgehende oder eintreffende Anrufe
auf der Teilnehmerleitung zu verhindern oder um den Datenverkehr
auf der HomePNA zu unterbrechen. Andere kabellose Kommunikationseinrichtungen,
die in Software eingerichtet sind, etwa kabellose Netzwerkgeräte, können auch
angewiesen werden, den Datenverkehr auf dem kabellosen Netzwerk
zu unterbrechen.
-
Die
vorliegende Erfindung hat zum Ziel, eines oder mehrere der zuvor
genannten Probleme zu lösen
oder zumindest die Auswirkungen davon zu reduzieren.
-
Überblick über die
Erfindung
-
Ein
Aspekt der vorliegenden Erfindung betrifft Kommunikationssysteme
mit einer Hardwareeinheit für
die physikalische Schicht und einer Verarbeitungseinheit. Die Hardwareeinheit
für die
physikalische Schicht ist ausgebildet, Daten über einen Kommunikationskanal
gemäß zugewiesenen Übertragungsparametern
zu übermitteln.
Die Hardwareeinheit der physikalischen Schicht ist ausgebildet,
ein eintreffende Signal über
den Kommunikationssignal zu empfangen und das eintreffende Signal
abzutasten, um ein digitales Empfangssignal zu erzeugen. Die Verarbeitungseinheit
ist ausgebildet, einen Standardmodustreiber in einem standardmäßigen Betriebsmodus
auszuführen
und einen Treiber im privilegierten Modus bzw. einen Privilegmodustreiber
in einem privilegierten bzw. bevorrechtigten Betriebsmodus zu betreiben.
Der Standardmodustreiber umfasst Programmbefehle, die ausgebildet
sind, Steuercodierungen aus dem digitalen Empfangssignal herauszulösen und
die der Hardware der physikalischen Schicht zugewiesenen Übertragungsparameter
auf der Grundlage der Steuercodierungen zu konfigurieren. Der Privilegmodustreiber
umfasst Programmbefehle, die ausgebildet sind, unabhängig sichere
Steuerungscodierungen aus dem digitalen Empfangssignal herauszulösen, eine
Funktionseigenschaft der Hardwareeinheit der physikalischen Schicht
zu bestimmen und eine Sicherheitsverletzung in Reaktion darauf anzuzeigen,
dass die Betriebseigenschaft nicht mit den Sicherheitssteuerungscodierungen konsistent
ist.
-
Ein
weiterer Aspekt der vorliegenden Erfindung betrifft ein Verfahren
zum Erkennen von Sicherheitsverletzungen in einem Sender/Empfänger. Das Verfahren
umfasst das Empfan gen digitaler Daten über einen Kommunikationskanal
in einem standardmäßigen Verarbeitungsmodus
einer Verarbeitungseinheit; das Herauslösen von Steuerungscodierungen
aus dem digitalen Empfangssignal in dem Standardbetriebsmodus; das
Konfigurieren zugewiesener Übertragungsparameter
einer Hardwareeinheit der physikalischen Schicht in dem Sender/Empfänger in dem
standardmäßigen Verarbeitungsmodus
auf der Grundlage der Steuerungscodierungen; das Umschalten der
Verarbeitungseinheit in einen privilegierten Verarbeitungsmodus;
das Extrahieren von sicheren Steuerungscodierungen aus dem digitalen
Empfangssignal in dem privilegierten Verarbeitungsmodus; das Bestimmen
einer Betriebseigenschaft der Hardwareeinheit der physikalischen
Schicht in dem Sender/Empfänger
in dem privilegierten Verarbeitungsmodus; das Vergleichen der Betriebseigenschaft
mit dem sicheren Steuerungscodierungen in dem privilegierten Verarbeitungsmodus;
und das Anzeigen einer Sicherheitsverletzung in Reaktion darauf,
dass die Betriebseigenschaft mit den sicheren Steuerungscodierungen
nicht konsistent ist.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung kann durch Bezugnahme auf die folgende Beschreibung in
Verbindung mit den begleitenden Zeichnungen verstanden werden, in
denen gleiche Bezugszeichen gleiche Elemente bezeichnen, und in
denen:
-
1 ein
vereinfachtes Blockdiagramm eines Kommunikationssystems gemäß einer
anschaulichen Ausführungsform
der vorliegenden Erfindung ist;
-
2 eine
vereinfachte Blockansicht eines beispielhaften Computers ist, der
eine Anwenderstation in dem Kommunikationssystem aus 1 verkörpert; und
-
3 eine
vereinfachte Funktionsblockansicht ist, die die Abhängigkeit
zwischen dem Standardmodustreiber und dem Privilegmodustreiber in dem
Computer aus 2 in einer speziellen Ausführungsform
der vorliegenden Erfindung darstellt.
-
Art bzw. Arten zum Ausführen der
Erfindung
-
Es
werden nun anschauliche Ausführungsformen
der vorliegenden Erfindung beschrieben. Der Einfachheit halber sind
nicht alle Merkmale einer tatsächlichen
Implementierung in die ser Beschreibung dargelegt. Es ist selbstverständlich zu
beachten, dass bei der Entwicklung einer derartigen tatsächlichen
Ausführungsform
zahlreiche implementationsspezifische Entscheidungen getroffen werden
müssen,
um die speziellen Ziele der Entwickler zu erreichen, etwa die Verträglichkeit
mit systembezogenen und geschäftsabhängigen Rahmenbedingungen,
die sich von einer Implementierung zur anderen unterscheiden können. Ferner
ist zu beachten, dass ein derartiger Entwicklungsaufwand komplex
und zeitaufwendig sein kann, aber dennoch eine Routinemaßnahme für den Fachmann
darstellt, der im Besitz der vorliegenden Offenbarung ist.
-
In 1 ist
eine Blockansicht eines Kommunikationssystems 10 gezeigt.
Das Kommunikationssystem umfasst eine Anwenderstation 20,
die mit einer Zentralstation 30 über einen Kommunikationskanal 40 kommuniziert.
In der dargestellten Ausführungsform
ist die Anwenderstation 20 eine mobile Rechnereinrichtung
unter Anwendung eines Softwaremodems 50, um gemäß einem
drahtlosen Kommunikationsprotokoll, etwa dem GSM, zu kommunizieren.
Die Zentralstation 30 kann eine gemeinsam benutzte Basisstation
sein, die in der Lage ist, mehrere Teilnehmer zu bedienen. Obwohl
die Erfindung so beschrieben, wie sie in einer kabellosen Umgebung
eingerichtet werden kann, ist die Anwendung nicht darauf eingeschränkt. Die
Lehre hierin kann auch auf andere Kommunikationsumgebungen unter Anwendung
von durch Software eingerichteten Kommunikationsprotokollen (beispielsweise
V.90, ADSL, HomePNA, kabelloses LAN, etc.) angewendet werden.
-
Die
Anwenderstation 20 kann mehrere Rechnereinrichtungen, etwa
einen Tischrechner, einen Notebook-Computer, einen persönlichen
Datenassistenten (PDA), etc. umfassen. Zum Zwecke der Darstellung
wird die Anwenderstation 20 als ein Notebook-Computer beschrieben.
Das Softwaremodem 50 kann als eine interne Ressource installiert sein.
Wie der Fachmann erkennt, enthält
das Softwaremodem 50 eine physikalische Schicht (PHY) 70, die
in Hardware eingerichtet ist, und eine Protokollschicht 80,
die in Software eingerichtet ist. Zum Zwecke der Darstellung werden
die Funktionen des Softwaremodems 50 so beschrieben, als
ob sie für
ein GSM-Kommunikationsprotokoll eingerichtet sind, obwohl andere
Protokolle verwendet werden können.
-
Die
PHY-Schicht 70 wandelt digitale Sendesignale in eine analoge
Sendesignalform um und wandelt eintreffende analoge empfangene Signalformen
in digitale empfangene Signale um. Für die Sendesignale ist das
Ausgangssignal der Protokollschicht 80 die Sende- „Funk"-Information, die auf einen Träger von
ungefähr
0 Hz aufmoduliert ist (d. h. ein trägerloses Signal). Die PHY-Schicht 70 mischt (d.
h. das Mischen wird auch als Aufwärtskonvertieren bezeichnet)
das trägerlose
Sendesignal, das von der Protokollschicht 80 erzeugt wird,
gemäß dem zugeordneten
Zeitfenster, der Frequenz und Leistungspegelzuweisungen, die der
Anwenderstation 20 von der Zentralstation 30 übermittelt
werden, um die eigentliche analoge Signalform zu erzeugen, die von der
PHY-Schicht 70 übermittelt
wird.
-
Die
Zentralstation 30 übermittelt
ferner Zeitfenster- und Frequenzzuordnungen an die Anwenderstation 20 für eintreffende
Daten. Die eintreffende analoge Empfangssignalform wird abgetastet
und auf der Grundlage der zugeordneten Zeitfenster- und Frequenzparameter
abwärts
gewandelt, um ein trägerloses
(d. h. ein bei ungefähr
0 Hz moduliertes) Empfangssignal wieder herzustellen. Die Protokollschicht 80 empfängt die
trägerlose
Empfangssignalform von der PHY-Schicht 70 und führt eine
Basisbandverarbeitung, eine Entschlüsselung und eine Decodierung
aus, um die empfangenen Daten wieder herzustellen.
-
Die
Zuweisungen für
das Zeitfenster, die Frequenz und den Leistungspegel (d. h. nur
für die
Sendedaten) werden gemeinsam als Steuerungscodierungen bezeichnet.
Die speziellen Algorithmen, die zum Einrichten des Softwaremodems 50 verwendet werden,
sind durch die speziellen Industriestandards (beispielsweise die
GSM-Standards) beschrieben und sind dem Fachmann gut bekannt, so
dass diese der einfacheren Darstellung und der Klarheit halber hierin
nicht detailliert beschrieben sind, mit Ausnahme, wenn sie gemäß der vorliegenden
Erfindung modifiziert werden.
-
In
dem Kommunikationssystem 10 der vorliegenden Erfindung
sendet die Zentralstation 30 Daten gemäß üblichen GSM-Verfahren. Die
von der Protokollschicht 80 empfangenen Daten werden verschlüsselt. Wie
nachfolgend detaillierter beschrieben ist, werden die Funktionen
der Protokollschicht 80 in Funktionen mit privilegiertem
Modus und Funktionen im Standardmodus unterteilt. Die Standardmodusfunktionen
beinhalten das Decodieren und Entschlüsseln der empfangenen Daten,
das Herauslösen
der Steuercodierungen und der Anwenderdaten und das Senden der Steuercodierungen
zu der PHY-Schicht 70. Die Privilegmodusfunktionen enthalten
das Vergleichen der eigentlichen Funktionseigenschaften der PHY-Schicht 70 mit
den Zuordnungen, die in den Steuercodierungen enthalten sind, um
eine nicht korrekte Funktion des Softwaremodems 50 zu erkennen
(d. h. auf Grund der hinzugefügten
Steuerungseigenschaften des Modems 50 durch einen Softwarevirus).
Wenn der Privilegmodustreiber 250 bestimmt, dass die PHY-Schicht 70 in
nicht konsistenter Weise in Bezug auf die Steuerungscodierungszuordnungen
funktioniert, wird eine weitere Arbeit des Softwaremodus 50 oder
der Anwenderstation 20 verhindert.
-
2 ist
eine Blockansicht der Anwenderstation 20, die als ein Computer 100 verkörpert ist. Der
Computer 100 umfasst einen Prozessorkomplex 110.
Der Einfachheit halber und für
ein einfaches Verständnis
sind nicht alle Elemente, die den Prozessorkomplex 110 bilden,
hierin detailliert beschrieben. Derartige Details kennt der Fachmann
und diese können
entsprechend dem speziellen Computerhersteller und dem Mikroprozessortyp
variieren. Typischerweise umfasst der Prozessorkomplex 110 einen
Mikroprozessor, Cache- bzw. schnelle Pufferspeicher, einen Systemspeicher,
einen Systembus, eine Graphiksteuerung und andere Einrichtungen,
abhängig von
der speziellen Ausführungsform.
-
Der
Prozessorkomplex 110 besitzt zwei Betriebsmodi, einen Standardmodus
und einen privilegierten bzw. bevorrechtigten Modus. Ein beispielhafter
privilegierter Modus für
den Betrieb, der dem Fachmann gut bekannt ist, ist der Systemmanagementmodus
(SMM). Ein Umschalten in den SMM wird durch ein Systemmanagementinterruptereignis (SMI)
bewirkt. In Reaktion auf ein SMI führt der Prozessorkomplex 110 eine
SMM-Codierung aus, die zuvor (d. h. während des Initialisierens des
Computers 100 und des Einladens der BIOS-Codierung) in einen
geschützten
Bereich des Systemspeichers eingeladen wurde, der für andere
Prozesse (beispielsweise Anwendungen oder Treiber) nicht sichtbar
ist. Die Speicherplätze,
die zum Ausführen
der Funktionen des Prozessorkomplex 110 während des SMM-Ereignisses
verwendet werden, sind ebenso nicht für einen anderen Prozess einsehbar.
Obwohl die anschauliche Ausführungsform
so beschrieben ist, dass diese unter Anwendung des SMM als privilegierten
Modus eingerichtet wird, ist die Erfindung nicht darauf eingeschränkt und
es kann eine andere Art eines privilegierten Modus verwendet werden.
Im Allgemeinen ist ein privilegierter Modus als ein Betriebsmodus
definiert, der für
andere Prozesse nicht sichtbar ist, etwa Anwendungen oder Treiber,
die auf dem Computer 100 ausgeführt werden. SMM ist lediglich
ein anschaulicher privilegierter Modus, der gegenwärtig verfügbar ist.
-
Andere
privilegierte Umgebungen beinhalten die Verwendung einer separaten
Verarbeitungseinheit, etwa eines Verschlüsselungsprozessors, der unabhängig von
dem Hauptsystemmikroprozessor arbeitet. Die Funktionen einer Software
für den
privilegierten Modus werden von dem Verschlüsselungsprozessor ausgeführt und
sind daher vor einer Manipulation durch andere Softwareanwendungen,
die von dem Hauptsystemmikroprozessor ausgeführt werden, sicher. Ein noch
weiterer privilegierter Kontext ist möglich, wenn ein Hauptsystemmikroprozessor
mit einer sicheren Architekturerweiterung verwendet wird. In einer
derartigen Einrichtung ist der Verschlüsselungsprozessor in den Hauptsystemmikroprozessor
integriert und wird durch sichere Befehle gesteuert.
-
Der
Prozessorkomplex 110 ist mit einem peripheren Bus 120 verbunden,
etwa einem peripheren Komponentenschnittstellen- (PCI) Bus. Typischerweise
verbindet eine Brückeneinheit
(d. h. eine Nordbrücke)
in dem Prozessorkomplex 110 den Systembus mit dem peripheren
Bus 120. Eine Südbrücke 150 ist
mit dem peripheren Bus 120 verbunden. Die Südbrücke 150 bildet
eine Schnittstelle mit einem Bus mit geringer Anschlusszahl (LPC) 160,
der einen Speicher für
das Basis- Eingabe/Ausgabe-System (BIOS) 170, einen universellen
seriellen Bus (USB) 180, der zur Verbindung mit einer Reihe
von Periphergeräten
(beispielsweise Tastatur, Maus, Druck, Abtaster) (nicht gezeigt)
ausgebildet ist, einen erweiterten integrierten Treiberelektronik-
(EIDE) 190 zur Bildung einer Schnittstelle mit einer Festplatte 200 und
einem CD-ROM-Laufwerk (nicht gezeigt), und einen integrierten Paketbus
(IPB) 210 enthält.
-
Der
IPB-Bus 210 beinhaltet den Hardwarebereich des Softwaremodems 50.
In der dargestellten Ausführungsform
ist das Softwaremodem 50 auf einer fortschrittlichen Kommunikations-
(ACR) Karte 215 untergebracht. Spezifikationen für die ACR-Karte 215 und
den IPP-Bus 210 sind
von der ACR-Spezialistengruppe (ACRSIG.ORG) erhältlich. Das Softwaremodem 50 umfasst
eine PHY-Hardware 220 und eine Funkeinrichtung 230.
In der dargestellten Ausführungsform
ist die Funkeinrichtung 230 ausgebildet, die GSM-Signale
zu senden und zu empfangen. Gemeinsam bilden die PHY-Hardwareeinheit 220 und
die Funkeinheit 230 die PHY-Schicht 70 (siehe 1).
-
Der
Prozessorkomplex 110 führt
Programmbefehle aus, die in einem Standardmodustreiber 240 und
einem Privilegmodustreiber 250 codiert sind. Der Privilegmodustreiber 250 wird
in den SMM-Raum des Prozessorkomplex 110 während der
Initialisierung des Computers 1100 eingeladen. Der Privilegmodustreiber 250 kann
in einem sicheren Speicherplatz, etwa dem System-BIOS 170 einer
sicheren Speichereinrichtung auf der ARC-Karte 215, einer
sicheren Sichereinrichtung in dem Computer 100, etc. gespeichert
werden. Ein beispielhaf tes Verfahren zum Speichern eines sicheren
Treibers ist in der US-Patentanmeldung Nr. 09(901,176 (Aktenzeichen 2000.053400/DIR,
Referenz TT4040), Terry L. Cole, David W. Smith, Rodney Schmidt,
Geoffrey S. Strongin, Brian C. Barnes und Michael Barclay mit dem
Titel „Peripheres
Gerät mit
sicherem Treiber" beschrieben.
Gemeinsam bilden der Prozessorkomplex 110 und die Treiber 240, 250 die
Funktionen der Protokollschicht 80 (siehe 1).
-
In 3 ist
ein vereinfachtes Blockdiagramm gezeigt, das die Wechselwirkungen
zwischen dem Standardmodustreiber 240 und dem Privilegmodustreiber 250 in
einer speziellen Ausführungsform der
vorliegenden Erfindung zeigt. Für
eintreffende Daten, die durch das Softwaremodem 50 empfangen werden,
demoduliert der Standardmodustreiber 240 die trägerlose
Signalform, um verschlüsselte
Daten 260 zu rekonstruieren, die von der PHY-Hardware 220 empfangen
werden. Der Prozess des Rekonstruierens der verschlüsselten
Daten 260 ist dem Fachmann gut bekannt und ist in den Industrie-GSM-Standards
definiert. Der Einfachheit halber sind die Details des Rekonstruktionsprozesses
hierin nicht beschrieben.
-
Nach
dem Wiedererzeugen der verschlüsselten
Daten 260 entschlüsselt
der Standardmodustreiber 240 die verschlüsselten
Daten 260 unter Anwendung der industriellen Standardentschlüsselungsverfahren,
die durch die GSM-Standards definiert sind, um entschlüsselte Daten 270 zu
erzeugen. Der Standardmodustreiber 240 decodiert die entschlüsselten
Daten 270 und extrahiert Steuerungscodierungen 280 und/oder
Anwenderdaten 290. Der Standardmodustreiber 240 gibt
die Steuerungscodierungen an die PHY-Hardware 220 weiter.
Daraufhin konfiguriert die PHY-Hardware 220 die Funkeinheit 230 auf
der Grundlage der zugewiesenen Zeitfenster-, Frequenz- und Leistungspegelinformationen,
die in den Steuercodierungen 280 enthalten sind.
-
Der
Privilegmodustreiber 250 wird periodisch aufgerufen (beispielsweise
unter Anwendung eines SMI). Der Prozessorkomplex 110 geht
in den privilegierten Modus (SMM) in Reaktion auf das SMI über und
führt den
Privilegmodustreiber 250 aus. Der Privilegmodustreiber 250 operiert
auf den verschlüsselten
Daten 260, um unabhängig
sichere entschlüsselte
Daten 300 und sichere Steuerungscodierungen 310 zu
erzeugen. Es gibt diverse Verfahren zum Weiterleiten der entschlüsselten
Daten 260 zum Privilegmodustreiber 250. In einer
Ausführungsform
gibt der Standardmodustreiber 240 einen Zeiger weiter,
der die Speicherstelle der entschlüsselten Daten 260 kennzeichnet.
In einer weiteren Ausführungsform wird
ein Teil des Systemspeichers als ein gemeinsam benutztes „Postfach" für Aktivitäten im privilegierten Modus
zugewiesen. Anwendungen, die in dem Standardmodus arbeiten, etwa
der Standardmodustreiber 240, können Daten in einer zugeordneten
Eingangsstelle des gemeinsam benutzten Speicherbereichs ablegen,
und Anwendungen, die in dem Privilegmodus betrieben werden, etwa
der Privilegmodustreiber 250, können Daten in einer zugewiesenen
Ausgangsstelle des gemeinsam benutzten Speicherbereichs ablegen.
Die Ausgabestelle kann als ein Nur-Lese-Bereich für Standardmodusanwendungen ausgewiesen
werden. Ein beispielhaftes Computersystem mit einem gemeinsam genutzten
Postfach zur Datenweiterleitung zwischen Anwendungen im Standardmodus
und in dem privilegierten Modus ist in der US-Patentanmeldung mit
der Nr. 09/853,447 (Anwaltsaktenzeichen 2000.038700/LHI, Klientenaktenzeichen
TT3760), Dale E. Gulick und Geoffrey S. Strogin mit dem Titel „Integrierte
Schaltung für
Sicherheit und Verwaltung" beschrieben.
-
Der
Privilegmodustreiber 250 greift auf die PHY-Hardware 220 zu,
um Funktionseigenschaften der Funkeinheit 230 zu bestimmen.
Wenn die Steuerungscodierungen 280, die von dem Standardmodustreiber 240 weitergeleitet
wurden sind, nicht verändert
wurden, sind die Funktionseigenschaften der Funkeinheit 230 mit
den sicheren Steuerungscodierungen 310 konsistent. Wenn
die Funktionseigenschaften der Funkeinheit 230 nicht mit
den sicheren Steuerungscodierungen 310 konsistent sind,
kann der Privilegmodustreiber 250 eine Reihe von Schutzaktionen
ausführen.
Beispielsweise kann der Privilegmodustreiber 250 den Betrieb
des Softwaremodems 50 verhindern, indem der Standardmodustreiber 240 deaktiviert
wird oder indem der Computer 100 durch Initiieren einer
nicht behebbaren Fehlerbedingung vollständig deaktiviert wird.
-
Die
spezielle Technik zum Aufrufen des Privilegmodustreibers 250 und
der Häufigkeit,
mit der dieser aufgerufen wird, kann unterschiedlich sein. Beispielsweise
kann der Standardmodustreiber 240 den Privilegmodustreiber 250 mit
einer vorgegebenen Häufigkeit
aufrufen (beispielsweise für
jeden n-ten Block bis hin zu jedem Block). In einer alternativen Ausfühnungsform
kann der Privilegmodustreiber 250 periodisch durch einen
weiteren Prozess aufgerufen werden, der unabhängig von dem Standardmodustreiber 240 abläuft. Beispielsweise
kann das Betriebssystem, unter dem der Computer 100 arbeitet, einen
Zeitgeber besitzen, der verwendet wird, um periodisch ein SMI auszugeben,
um damit den Privilegmodustreiber 250 aufzurufen. In einer
weiteren Ausführungsform
kann eine Sicherheitshardware enthalten sein, die einen sicheren
Zeitgeber in dem Computer 100 aufweist, um periodisch den
Privilegmodustreiber 250 aufzurufen. Beispielsweise kann
ein Neustartzeitgeber 155, der in der Südbrücke 150 eingerichtet
ist, verwendet werden, um periodisch den Privilegmodustreiber 250 aufzurufen,
nachdem eine vorgegebene Zeitspanne verstrichen ist. Die spezielle
Funktionsweise des Neustartzeitgebers 155 ist detaillierter
in der US-Patentanmeldung
09 (853,447 beschrieben, die zuvor zitiert wurde.
-
Wenn
der Privilegmodustreiber 250 aufgerufen ist, verwendet
dieser die sicheren Steuerungscodierungen 310, die aus
den entschlüsselten
Daten 300 gewonnen wurden, um das erwartete Funktionsverhalten
der PHY-Hardware 220 und der Funkeinheit 230 zu
bestimmen.
-
Es
gibt diverse Verfahren, mit denen der Privilegmodustreiber 250 eine
Sicherheitsverletzung erkennen kann. Wenn beispielsweise der Standardmodustreiber 240 nicht
in der Lage war, aktualisierte verschlüsselte Daten 260 für den Privilegmodustreiber 250 bereitzustellen,
kann eine Verletzung erkannt werden. Es können Synchronisiersignale,
die von der Zentralstation 30 beim Erzeugen der verschlüsselten Daten 260 für die Übertragung
eingebunden wurden, aus dem sicheren entschlüsselten Daten 300 herausgelöst werden,
um einen derartigen Fehler zu bestimmen.
-
Ein
Verfahren zum Prüfen
der Funktionseigenschaften des Softwaremodems 50 umfasst
das Vergleichen der sicheren Steuerungscodierungen 310 mit
den tatsächlichen
Steuerungscodierungen 280, die der PHY-Hardware 220 zugeleitet
werden. Der Standardmodustreiber 240 kann beispielsweise gezwungen
werden, seine Steuerungscodierungen 280 in das gemeinsame
Postfach zu schreiben. Der Privilegmodustreiber 250 kann
die PHY-Hardware 220 abfragen,
um die Steuerungscodierungen 280 zu bestimmen, die von
dem Standardmodustreiber 240 gesendet wurden. Ein weiteres
Verfahren beinhaltet das Abfragen der PHY-Hardware 220,
um den tatsächlichen
Betriebszustand der Funkeinheit 230 zu bestimmen (beispielsweise Übertragung,
Wartephase, Frequenz, Leistungspegel, etc.). Wenn dieser Betriebszustand
nicht mit den sicheren Steuerungscodierungen 310 konsistent
ist, kann eine Verletzung signalisiert werden.
-
Die
spezielle Technik, die zum Vergleichen des tatsächlichen Betriebszustands mit
dem erwarteten Betriebszustand eingesetzt wird, kann in Abhängigkeit
der speziellen Ausfüh rungsform
variieren. Es kann auch eine Kombination an Verfahren eingesetzt werden.
Beispielsweise kann durch einige Iterationen die Steuerungscodierung 280,
die von dem Standardmodustreiber 240 erzeugt wurde, bewertet
werden. In andem Schritten kann die PHY-Schicht 220 abgefragt werden,
und in noch weiteren Schritten kann der tatsächliche Betriebszustand der
Funkeinheit 230 bestimmt werden. Gewisse Verfahren können weniger
Anforderungen an den Rechner stellen und eine Kombination aus Verfahren
kann eine erhöhte
Effizienz mit sich bringen. Eine Kombination von Verfahren kann
auch verwendet werden, um unterschiedliche Arten möglicher
Angriffe zu erkennen. Beispielsweise können Angriffe enthalten: das
Zugreifen auf den Standardmodustreiber 240 zum Ändern der
Steuerungscodierungen 280; das Blockieren der Steuerungscodierungen 280,
die von dem Standardmodustreiber 240 gesendet werden, und das
Verwenden anderer Steuerungscodierungen; das Verhindern, dass der
Standardmodustreiber 240 aktualisierte verschlüsselte Daten 260 an
den Privilegmodustreiber 250 weitergibt, etc. Eine Kombination
aus Verfahren anstelle einer einzelnen speziellen Technik kann ggf.
effizienter sein bei der Erkennung von Verletzungen.
-
Für Daten,
die von dem Softwaremodem 50 übertragen werden, handhabt
der Standardmodustreiber 240 die gesamten Datenverarbeitungsfunktionen
einschließlich
des Codierens, des Verschachtelns, der Sequenzanordnung, der Verschlüsselung und
der Basisbandverarbeitung, um die trägerlose Sendesignalform zu
erzeugen. Der Standardmodustreiber 240 gibt die Sendesignalform
an die PHY-Hardware 220 und die Funkeinheit 230 zur
Aufwärtskonvertierung
gemäß dem zugeordneten
Zeitfenster, der Frequenz und dem Leistungspegel weiter, die zuvor
durch die Steuercodierungen 280 definiert sind.
-
Durch Überwachen
der Funktionseigenschaften des Softwaremodems 50 können Versuche einer
nicht zulässigen
Steuerung des Modems 50 erkannt und relativ rasch beendet
werden. Somit wird die Möglichkeit
für eine
weitreichende Deaktivierung der Kommunikationsnetzwerke reduziert.
Die Sicherheit des Softwaremodems 50 wird erhöht, ohne
dass die Flexibilität
und die Anpassbarkeit, die der Softwareimplementierung innewohnt,
beeinträchtigt
werden.