-
Technisches
Gebiet
-
Diese
Erfindung betrifft im Allgemeinen die Modemkommunikation und betrifft
insbesondere ein Softwaremodem mit einem privilegierten bzw. vorrangigen
Entschlüsselungsmodus
für Steuerungscodierungen
bzw. Steuerparameter.
-
Hintergrund
der Erfindung
-
In
jüngerer
Zeit werden Mobiltelefone zunehmend populär. Ein Mobiltelefon ist ein
Beispiel, das als eine „mobile
Station" oder „ein mobiles
Endgerät" bezeichnet wird.
Eine Mobilstation kann diverse andere Formen als ein Mobiltelefon
annehmen, wozu ein Computer (beispielsweise ein Notebook-Computer)
mit mobilen Kommunikationsfähigkeiten
gehört.
-
Telekommunikationsdienste
werden zwischen einem Funktelekommunikationsnetzwerk und einer Mobilstation über eine
drahtlose Schnittstelle, beispielsweise über Funkfrequenzen, vermittelt.
Typischerweise wird jedem Teilnehmer mit einer mobilen Station eine
einzigartige internationale mobile Teilnehmeridentität (IMSI)
zugeordnet. Zu jeder Zeit kann eine aktive Mobilstation über die
drahtlose Schnittstelle mit einer oder mehreren Basisstationen in
Kommunikation sein. 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
Steuerungsknoten mit einem Kerntelekommunikationsnetzwerk verbunden,
etwa dem öffentlich
vermittelnden Telefonnetzwerk (PSTN). Eine Art eines standardisierten
Funktelekommunikationsschemas ist das globale System für Funktelekommunikation
(GSM). GSM enthält
Standards, die Funktionen und Schnittstellen für diverse Arten von Diensten
spezifizieren. GSM-Systeme können
zum Übermitteln
sowohl von Sprach- als auch Datensignalen verwendet werden.
-
Eine
spezielle Basisstation kann von vielen mobilen Stationen gemeinsam
benutzt werden. Da das Funkspektrum eine begrenzte Ressource ist, wird
die Bandbreite durch Kombination von Zeitaufteilungs- und Frequenzaufteilungsmehrfachzugriffen (TDMA/FDMA)
aufgeteilt. FDMA beinhaltet das Aufteilen der maximalen Frequenzbandbreite
(beispielsweise 35 MHz) in 124 Trägerfrequenzen, die 200 kHz auseinanderliegen.
Eine spezielle Basisstation kann eine oder mehrere Trägerfrequenzen
zugeordnet besitzen. Jede Trägerfrequenz
wird wiederum in Zeitfenster aufgeteilt. Während einer aktiven Sitzung
zwischen der Basisstation und der Mobilstation ordnet die Basisstation
der mobilen Einheit eine Frequenz, einen Leistungspegel und ein
Zeitfenster für
nachfolgende Übertragungen
von der mobilen Station zu der Basisstation zu. Die Basisstation übermittelt
ferner eine spezielle Frequenz und ein Zeitfenster für „stromabwertige" Übertragungen von der Basisstation
zu der mobilen Station gedacht sind.
-
Die
fundamentale Zeiteinheit, die in GSM definiert ist, wird als eine
Sequenzperiode bezeichnet, die 15/26 ms (oder ungefähr 0,577
ms) dauert. Acht Sequenzperioden werden in einen TDMA-Rahmen bzw.
einen Block (120/26 ms oder ungefähr 4,615 ms) eingeteilt, was
die Basiseinheit für
die Definition logischer Kanäle
ist. Ein physikalischer Kanal ist als eine Sequenzperiode pro Rahmen
bzw. Block definiert. Individuelle Kanäle sind durch die Anzahl und Position
ihrer entsprechenden Sequenzperioden definiert.
-
GSM-Blöcke bzw.
Rahmen, wobei jeder Rahmen 8 Sequenzperioden aufweist, werden in
Superrahmen bzw. übergeordneten
Rahmen oder Blöcke
eingeteilt (beispielsweise Gruppe aus 51 Rahmen bzw. Blöcken), die
sowohl Nutzdaten (d. h. Sprach- oder Datensignale) und Steuerungsinformationen
enthalten. Die Steuerungsinformationen werden über gemeinsame Kanäle, die
in der Superrahmen- bzw. Blockstruktur definiert sind. Auf gemeinsame
Kanäle
kann sowohl von mobilen Stationen mit einem speziellen Modus als
auch von solchen in einem Wartemodus zugegriffen werden. Die gemeinsamen Kanäle werden
von mobilen Stationen in einem Wartemodus benutzt, um Signalinformationen
auszutauschen, um damit in Reaktion auf einen eintreffenden oder
herausgehenden Anruf in einen speziellen Modus überzugehen. Mobile Stationen,
die bereits in dem speziellen Modus sind, überwachen die umgebenden Basisstationen
für Übergabeinformationen und
andere Informationen.
-
Die
Gemeinsamen Kanäle
enthalten:
einen Rundfunksteuerungskanal (BCCH), der zum kontinuierlichen
Rundumsenden von Informationen einschließlich der Basisstationsidentität, den Frequenzzuordnungen
und den Frequenzsprungsequenzen verwendet wird;
einen Frequenzkorrekturkanal
(FCCH) und Synchronisationskanal (SCH), die zum Synchronisieren
der mobilen Station mit der Zeitfensterstruktur einer Zelle verwendet
werden, indem die Grenzen von Sequenzperioden definiert werden,
und um die Zeitfensternummerierug (d. h. jede Zelle in einem GSM-Netzwerk
sendet exakt einen FCCH und einen SCH, die definitionsgemäß im Zeitfenster
mit der Nummer 0 innerhalb eines TDMA-Blocks oder Rahmens gesendet
werden) zu synchronisieren;
einen Kanal für wahlfreien Zugriff (RACH),
der von der Mobilstation zur Anforderung eines Zugriffs auf das
Netzwerk verwendet wird;
einen Rufbenachrichtigungskanal (PCH),
der verwendet wird, um die mobile Station über einen eintreffenden Anruf
zu benachrichtigen; und
einen Zugriffsberechtigungskanal (AGCH),
der verwendet wird, um einen einzelstehenden zugeordneten Steuerungskanal
(SDCCH) einer Mobilstation zuzuordnen, um (d. h. um einen zugeordneten
Kanal zu erhalten) als Folge auf eine Anforderung auf dem RACH zu
signalisieren.
-
Aus
Sicherheitsgründen
werden GSM-Daten in einer verschlüsselten Form übertragen.
Da auf ein drahtloses Medium von jedem zugegriffen werden kann,
ist die Authentizierug ein wesentliches Element eines drahtlosen
Netzwerkes. Die Authentizierung betrifft sowohl die mobile Station
als auch die Basisstation. Eine Teilnehmeridentifikationsmodul-(SIM)Karte
ist in jeder mobilen Station installiert. Jeder Teilnehmer erhält einen
zugeordneten Sicherheitsschlüssel.
Eine Kopie des Sicherheitsschlüssels ist
in der SIM-Karte gespeichert, und eine weitere Kopie ist in einer
geschützten
Datenbank in dem Kommunikationsnetzwerk abgespeichert, auf die von
der Basisstation zugegriffen werden kann. Während eines Authentizierungsereignisses
erzeugt die Basisstation eine Zufallszahl, die sie an die mobile
Station sendet. Die mobile Station verwendet eine Zufallszahl in
Verbindung mit dem geheimen Schlüssel
und einem Verschlüsselungsalgorithmus
(beispielsweise A3), um eine signierte Antwort zu erzeugen, die
zu der Basisstation zurückgesendet
wird. Wenn die von der Mobilstation gesendete signierte Antwort
mit der in dem Netzwerk berechneten Antwort übereinstimmt, ist der Teilnehmer
authentiziert. Die Basisstation entschlüsselt Daten, die von der Mobilstation
gesendet werden, unter Anwendung des geheimen Schlüssels. In ähnlicher
Weise verschlüsselt
die Mobilstation Daten, die sie zu der Basisstation sendet, unter Anwendung
des geheimen Schlüssels.
Nachdem eine Sendung, die von der Mobilstation empfangen wird, entschlüsselt ist,
können
diverse Steuerungsinformationen einschließlich des zugeordneten Leistungspegels,
der Frequenz und des Zeitfensters für eine spezielle mobile Station
von der Mobilstation bestimmt werden.
-
Im
Allgemeinen werden Kommunikationssysteme in Form von Ebenen bzw.
Schichten beschrieben. Die erste Schicht, die für die eigentliche Sendung eines
Datenträgersignals über das
Sendemedium verantwortlich ist, wird als die physikalische Schicht
(PHY) bezeichnet. Die physikalische Schicht teilt digitale Daten
in Gruppen ein und erzeugt auf der Grundlage der Daten eine modulierte
Signalform gemäß dem speziellen Übertragungsschema.
Im GSM erzeugt die physikalische Schicht die Sendesignalform und
sendet während
des zugeordneten Sendezeitfensters der Mobilstation. In ähnlicher
Weise erkennt der Empfangsbereich der physikalischen Schicht die
für die
Mobilstation gedachten Daten während
des zugeordneten Empfangszeitfensters.
-
Die
zweite Schicht, die auch als eine Protokollschicht bezeichnet wird,
verarbeitet die durch die physikalische Schicht empfangenen Digitaldaten,
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 lediglich nach dem
Entschlüsseln
und Verarbeiten in der Protokollschicht erkannt werden. Obwohl diese
spezielle Abhängigkeit
kein allgemeines Problem in einer reinen Hardware-Einrichtung hervorruft,
kann dies zu Problemen führen,
wenn die gesamte Protokollschicht oder Teile davon in Software eingerichtet
sind.
-
Gewisse
Computersysteme, insbesondere tragbare Notebook-Computer, können mit
drahtlosen Modemeinheiten ausgestattet sein. Eine Tendenz in der
Modemtechnologie geht in Richtung der Verwendung von Softwaremodems,
die einige der Echtzeitfunktionen traditioneller Hardwaremodems
unter Anwendung von Softwareroutinen bereitstellen. Da die Hardwarekomplexität eines
Softwaremodems kleiner ist als die eines Hardwaremodells, ist es
im Allgemeinen kostengünstiger
und flexibler. Beispielsweise können
die Protokollschichtentschlüsselung
und die Verarbeitung teilweise oder vollständig durch Software eingerichtet
sein.
-
WO-A-0016534
offenbart eine Mehrfunktionen-Einschub- bzw. „plug-in"-Architektur für ein Softwaremodem. Das Softwaremodem
wird unter Anwendung einer Steuerung und mehrerer Objekte, etwa
Treiber, Datenverbindungsbibliotheken und Ablaufpfade bzw. "Threads" eingerichtet, die
individuell modifizierbar und individuell ersetzbar im Hinblick
auf andere Objekte.
-
Softwaresysteme,
etwa PC-Systeme, betreiben eine Schnittstellensteuerungssoftware
in den Betriebssystemumgebungen als Softwaretreiber. Diese Treiber
sind für
die Kommunikation mit den Hardwareeinrichtungen verantwortlich und
operieren auf einer privilegierten bzw. bevorrechtigten Ebene in dem
Betriebssystem. Andere Softwareanwendungen dürfen die Treiber nicht beeinflussen.
Da jedoch Treiber vor anderen Treibern nicht geschützt sind,
können
eine Reihe von Problemen auftreten, die den Betrieb eines Treibers,
etwa durch Beeinträchtigen
seiner Funktion, beeinflussen können.
Diese Effekte können
zufällig
hervorgerufen werden oder können absichtlich
durch nicht erlaubte Eingriffe hervorgerufen werden. Ein beeinflusster
(oder hinzu gewählter) Treiber
kann weitere Probleme außerhalb
des Computers verursachen, etwa dass eine Telefonleitung oder ein
drahtloser Kanal verwendet wird, ein externes Peripheriegerät betrieben
wird, oder wichtige Daten gelöscht
werden.
-
Da
die Betriebsparameter der physikalischen Schicht, die den Betrieb
des Senders der Mobilstation steuert, durch die Protokollschicht
unter Anwendung von Software gesteuert werden, kann es ein Computerprogramm
oder ein Virus möglich
machen, die Steuerung der Mobilstation zu übernehmen und zufällig oder
absichtlich außerhalb
seines zugeordneten Zeitfensters zu senden. Ein drahtloses Kommunikationsnetzwerk,
etwa ein Mobilfunknetzwerk, basiert auf einer gemeinsam genutzten
Infrastruktur. Eine Mobilstation muss sich an die „Verkehrsregeln" halten oder es kann
eine Störung
in dem Netzwerk hervorrufen.
-
Wenn
gewisse Funktionen der Mobilstation durch Software gesteuert werden,
kann ein Programmierer bestimmen, wie die GSM-Steuerblöcke bzw. Rahmen
decodiert werden und wie das Sendermodul getriggert wird. Ein Virus
kann dann geschrieben und über
das Netzwerk verteilt werden, um sich in den softwarebasierten Mobilstationen
einzunisten. Dann kann zu einer speziellen Zeit und zu einem speziellen Datum
der Virus die direkte Steuerung der Mobilstation übernehmen
und kontinuierlich oder zwischenzeitlich Senden und die Basisstationen
und andere Mobileinheiten mit zufälligen Sequenzen und der vollen
Leistung beaufschlagen. Eine derartige Virusgestaltung könnten zu
beliebigen Zeiten aktiviert und deaktiviert werden, um eine Erkennung
zu vermeiden, wodurch dem Funkzeitanbieter ein Teil oder die gesamte
verfügbare
Bandbreite genommen wird und es kann sogar ein vollständiger Zusammenbruch
des Netzwerkes hervorgerufen werden. Ein derartiger Angriff erfordert
lediglich einige wenige betroffene Geräte (d. h. nur ein einziges)
pro Zelle, um die Zelle vollständig
zu deaktivieren.
-
Die
Sicherheitsprobleme, die im Zusammenhang mit Mobilstationen auftreten,
die in einer gemeinsam genutzten Infrastruktur arbeiten, können in drei
Ebenen der Schwere aufgeteilt werden: manipulationssicher, nicht
manipulationssicher und Klassenbruch. Zunächst ist eine Hardware/Firmware-Einrichtung
(etwa ein Zellentelefon) die schwierigste Sache, die zu manipulieren
ist, da jedes Gerät
individuell im Besitz genommen und modifiziert werden muss (d. h. manipulationssicher).
Andererseits ist eine softwarebasierte Lösung einfacher zu manipulieren,
da sich ein Hacker auf lediglich eine Softwarefehlererkennungsumgebung
konzentrieren muss (d. h. nicht manipulationssicher). Schließlich unterliegt
ein System mit der Fähigkeit,
dass es manipuliert werden kann, die ähnlich ist in allen Systemen
die eine Verbreitung der Manipulation auf eine große Anzahl
von Systemen der gleichen Art ermöglicht, einem „Klassenbruch".
-
Ein
drahtloses Modem in Software unterliegt nicht nur einem Klassenbruch,
sondern es gehört auch
zu jenen Einrichtungen, auf dessen Codierung bzw. Steuerparameter
von der gleichen Schicht wie IP (Internetprotokoll) oder einem andern
mobilen Codierungszugriffsmechanismus zugegriffen werden kann. Viele
drahtlose Modems in Software können
im Computer integriert werden, die mit Netzwerken oder dem Internet
verbunden sind. Eine derartige Anordnung erhöht die Anfälligkeit der Software für Manipulation
und ungewollte Steuerung.
-
Kommunikationseinrichtungen,
die andere Kommunikationsprotokolle unter Anwendung von Software
einrichten, können
auch einigen der zuvor erkannten Probleme unterliegen, wobei sich
jedoch der Grad des Ausmaßes
der Konsequenzen unterscheiden kann. Beispielsweise können Softwaretreiber
für Kommunikationseinrichtungen
unter Anwendung von verdrahteten Teilnehmerleitungen, etwa Sprachbandmodems
(V.90), asymmetrische digitale Teilnehmerleistungs-(DSL)Modems,
Heimtelefonleitungsnetzwerke (HomePNa), etc., angegriffen werden,
was dazu führt,
dass die Teilnehmerleitung deaktiviert oder unkor rekt verwendet
wird. Beispielsweise kann eine Gruppe aus infizierten Softwaremodems
für einen
Angriff durch Verweigerung von Diensten verwendet werden, um ständig Anrufe
an eine vorbestimmte Nummer zu tätigen
und damit das Ziel der Anrufe zu überschütten. Das Softwaremodem könnte verwendet
werden, um abgehende oder eintreffende Anrufe auf der Teilnehmerleitung
zu verhindern oder den HomePNa-Datenverkehr zu unterbrechen. Andere
drahtlose Kommunikationseinrichtungen, die in Software eingerichtet
sind, etwa drahtlose Netzwerkeinrichtungen, könnten ebenso veranlasst werden,
den Datenverkehr auf dem drahtlosen Netzwerk zu unterbrechen.
-
Die
vorliegende Erfindung stellt darauf ab, ein oder mehrere der zuvor
genannten Probleme zu überwinden
oder zumindest deren Auswirkungen zu reduzieren.
-
Überblick über die
Erfindung
-
Ein
Aspekt der vorliegenden Erfindung betrifft ein Kommunikationssystem
mit einer Hardwareeinheit der physikalischen Schicht und einer Verarbeitungseinheit.
Die Hardwareeinheit der physikalischen Schicht ist ausgebildet,
Daten über
einen Kommunikationskanal gemäß zugeordneten Übertragungsparametern
zu übermitteln.
Die Hardwareeinheit der physikalischen Schicht ist ausgebildet,
ein eintreffendes Signal über
den Kommunikationskanal zu empfangen und das eintreffende Signal
abzutasten, um ein digitales empfangenes Signal zu erzeugen. Die
Verarbeitungseinheit ist ausgebildet, einen Standardmodustreiber
mit einem Standardbetriebsmodus und einem Treiber für einen
privilegierten bzw. bevorrechtigten Modus in einem privilegierten bzw.
bevorrechtigten Betriebsmodus auszuführen. Der Standardmodustreiber
umfasst Programmbefehle, die ausgebildet sind, verschlüsselte Daten
aus dem digitalen empfangenen Signal herauszulösen und die verschlüsselten
Daten an den Treiber mit dem privilegierten Modus bzw. an den Privilegmodustreiber
weiterzugeben. Der Privilegmodustreiber beinhaltet Programmbefehle,
die ausgebildet sind, die verschlüsselten Daten zu entschlüsseln, um
entschlüsselte
Daten mit Steuerungscodierungen bzw. Steuerungsparametern zu erzeugen
und die Steuerungscodierungen an die Hardwareeinheit der physikalischen
Schicht zu übertragen.
Die Hardwareeinheit der physikalischen Schicht ist ausgebildet,
ihre zugeordneten Übertragungsparameter
auf der Grundlage der Steuerungscodierungen zu konfigurieren.
-
Ein
weiterer Aspekt der vorliegenden Erfindung betrifft ein Verfahren
zum Konfigurieren eines Senders/Empfängers. Das Verfahren umfasst
das Empfangen verschlüsselter
Daten über
einen Kommunikationskanal in einem standardmäßigen Verarbeitungsmodus einer
Verarbeitungseinheit; Überführen der
Verarbeitungseinheit in einen privilegierten Verarbeitungsmodus;
Entschlüsseln
der verschlüsselten
Daten in dem privilegierten Verarbeitungsmodus; Extrahieren von
Steuerungscodierungen aus den entschlüsselten Daten in dem privilegierten
Verarbeitungsmodus; und Übertragen
eines „aufwärts laufenden" Signals über den
Kommunikationskanal auf der Grundlage von Übertragungszuordnungen, die
durch die Steuerungscodierungen definiert sind.
-
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;
-
3 ein
vereinfachtes Funktionsblockdiagramm ist, das die Wechselwirkungen
zwischen dem Standardmodustreiber und dem Privilegmodustreiber in
dem Computer aus 2 in einer speziellen Ausführungsform
der vorliegenden Erfindung darstellt; und
-
4 ein
vereinfachtes Funktionsblockdiagramm ist, das die Wechselwirkungen
zwischen dem Standardmodustreiber und dem Privilegmodustreiber in
dem Computer aus 2 in einer weiteren speziellen
Ausführungsform
der vorliegenden Erfindung darstellt.
-
Obwohl
die Erfindung diversen Modifizierungen und alternativen Formen unterliegen
kann, sind dennoch spezielle Ausführungsformen beispielhaft in den
Zeichnungen gezeigt und hierin detailliert beschrieben. Es sollte
jedoch selbstverständlich
sein, dass durch die Beschreibung spezieller Ausführungsformen
nicht beabsichtigt ist, die Erfindung auf die spe ziellen offenbarten
Formen einzuschränken, sondern
die Erfindung soll vielmehr alle Modifizierungen, Äquivalente
und Alternativen abdecken, die innerhalb des Grundgedankens und
Schutzbereichs der Erfindung liegen, wie sie durch die angefügten Patentansprüchen definiert
ist.
-
Art bzw. Arten zum Ausführen der
Erfindung
-
Es
werden nun anschauliche Ausführungsformen
der Erfindung beschrieben. Im Sinne der Einfachheit sind nicht alle
Merkmale einer tatsächlichen Implementierung
in dieser Beschreibung dargelegt. Selbstverständlich ist zu beachten, dass
in 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 Implementierung zu Implementierung unterscheiden können. Des
weiteren ist zu beachten, dass ein derartiger Entwicklungsaufwand
komplex und zeitaufwendig sein kann, aber dennoch eine Routinemaßnahme für den Fachmann
im Besitze der vorliegenden Offenbarung darstellt.
-
1 ist
eine Blockansicht eines Kommunikationssystems 10. Das Kommunikationssystem 10 umfasst
eine Anwenderstation 20, die mit einer zentralen Station 30 über einem
Kommunikationskanal 40 in Verbindung steht. In der dargestellten
Ausführungsform
ist die Anwenderstation 20 eine mobile Computereinrichtung
unter Anwendung eines Softwaremodems 50, um gemäß einem
drahtlosen Kommunikationsprotokoll, etwa GSM, zu kommunizieren. Die
zentrale Station 30 kann eine gemeinsam genutzte Basisstation
sein, die in der Lage ist, mehrere Teilnehmer zu verwalten. Obwohl
die Erfindung so beschrieben ist, dass sie in einer drahtlosen Umgebung
eingerichtet wird, ist die Anwendung nicht darauf eingeschränkt. Die
Lehre hierin kann auf andere Kommunikationsumgebungen unter Anwendung
von softwareimplementierten Kommunikationsprotokollen eingesetzt
werden (beispielsweise V.90, ADSL, HomePNa, drahtloses LAN, etc.).
-
Die
Anwenderstation 20 kann eine Vielzahl von Computereinrichtungen,
etwa einen Tischrechner, einen Notebook-Computer, einen persönlichen Datenassistenten
(PDA), etc. umfassen. Zum Zwecke der Darstellung wird die Anwenderstation 20 so beschrieben,
dass diese unter Anwendung eines Notebook-Computers eingerichtet
ist. Das Softwaremodem 50 kann als eine interne Ressource
installiert sein. Wie der Fachmann erkennt, umfasst das Softwaremodem 50 eine
physikalische Schicht (PHY) 70, die in Hardware ausgeführt ist,
und eine Protokollschicht 80, die in Software implementiert
ist. Zum Zwecke der Darstellung werden die Funktionen des Softwaremodems 50 so
beschrieben, wie sie auch für ein
GSM-Kommunikationsprotokoll
eingerichtet werden können,
obwohl andere Protokolle verwendet werden können.
-
Die
PHY-Schicht 70 wandelt digitale Sendesignale in analoge
Sendesignalformen um und wandelt eine eintreffende analoge empfangene
Signalform in digitale empfangene Signale um. Für Sendesignale ist der Ausgang
der Protokollschicht 80 die Sende-„Funk"-Information,
die auf einen ungefähr Null-Hz-Träger moduliert
ist (d. h. ein trägerloses
Signal). Die PHY-Schicht 70 mischt (d. h. mischen wird auch
als Aufwärtskonvertieren
bezeichnet) das trägerlose
Sendesignal, das von der Protokollschicht 80 erzeugt wird,
gemäß einem
zugeordneten Zeitfenster, einer Frequenz und einem Leistungspegel
mit entsprechenden Zuordnungen, die der Anwenderstation 20 von
der zentralen Station 30 übermittelt werden, um die eigentliche
analoge Signalform zu erzeugen, die von der PHY-Schicht 70 gesendet
wird.
-
Die
zentrale Station 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
konvertiert, um eine trägerlose
(d. h. bei ungefähr
0 Hz modulierte) empfangene Signalform wieder herzustellen. Die
Protokollschicht 80 empfängt die trägerlose empfangene Signalform
von der PHY-Schicht 70 und führt eine Basisbandverarbeitung,
Entschlüsselung
und Decodierung aus, um die empfangenen Daten wieder herzustellen.
-
Gemeinsam
werden die Zeitfenster-Frequenz- und Leistungspegel-(d. h. für lediglich
die Sendedaten)Zuordnungen als Steuerparameter bzw. Steuercodierungen
bezeichnet. Die speziellen Algorithmen, die zum Einrichten des Softwaremodems 50 verwendet
werden, werden durch die speziellen Industriestandards (beispielsweise
GSM-Standards) beschrieben und sind dem Fachmann vertraut, so dass
diese der Einfachheit und Klarheit halber hierin nicht detailliert
beschrieben sind, außer
in einem Umfange, wie sie gemäß der vorliegenden
Erfindung modifiziert sind.
-
In
dem Kommunikationssystem 10 der vorliegenden Erfindung
sendet die zentrale Station 30 Daten gemäß herkömmlicher
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 mit Standardmodus unterteilt. Die Funktionen
mit privilegiertem Modus beinhalten das Entschlüsseln der empfangenen Daten,
das Herauslösen
der Steuercodierungen, das Senden der Steuercodierungen zu der PHY-Schicht 70 und
das Senden der Anwenderdaten in dem Standardmodus. Die Funktionen
im Standardmodus enthalten das Decodieren der von dem privilegierten
Modus empfangenen Anwenderdaten, das Codieren und Verschlüsseln abgehender
Anwenderdaten für
das Senden und das Erzeugen der trägerlosen Sendesignalform zum
Senden zu der PHY-Schicht 70 für die Übertragung gemäß den Steuercodierungen.
Eine derartige Anordnung verhindert, dass die Standardmodussoftware
absichtlich oder zufällig
manipuliert wird und das Softwaremodem 50 außerhalb
seiner zugeordneten Zeitfenster- und Frequenzbereiche sendet.
-
2 repräsentiert
eine Blockansicht der Anwenderstation 20, die als ein Computer 100 verkörpert ist.
Der Computer 100 umfasst einen Prozessorkomplex 110.
Zum einfacheren Verständnis
sind nicht alle Elemente, die den Prozessorkomplex 110 bilden,
detailliert beschrieben. Derartige Details sind dem Fachmann bekannt
und können
sich in Abhängigkeit
des speziellen Computeranbieters und des Mikroprozessortyps unterscheiden.
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 Implementierung.
-
Der
Prozessorkomplex 110 besitzt zwei Betriebsarten, einen
Standardmodus und einen privilegierten Modus. Ein beispielhafter
privilegierter Betriebsmodus, der dem Fachmann vertraut ist, ist
der Systemanagementmodus (SMM). Das Übergehen in den SMM wird durch
einen Systemmanagementinterrupt (SMI) bewirkt. In Reaktion auf einen
SMI führt der
Prozessorkomplex 110 SMM-Codierungen aus, die zuvor (d.
h. während
des Initialisierens des Computers 100 und des Einladens
des BIOS-Codierungen) in einen geschützten Bereich des Systemspeichers
geladen wurden, der für
andere Prozesse nicht sichtbar ist (beispielsweise Anwendungen oder
Treiber). Der Speicher, der zum Ausführen der Funktionen des Prozessorkomplexes 110 während des SMM-Ereignisses
verwendet wird, ist ebenso nicht für andere Prozesse sichtbar.
Obwohl die anschauliche Ausführungsform
beschrieben ist, wie sie unter Anwendung eines SMM als einen privilegierten
Modus eingerichtet werden kann, ist die Erfindung nicht darauf beschränkt und
es kann eine andere Art an privilegiertem Modus eingesetzt werden.
Im Allgemeinen ist ein privilegierter Modus als ein Betriebsmodus
definiert, der für
andere Prozesse, etwa Anwendungen oder Treiber, die auf dem Computer 100 ausgeführt werden,
nicht sichtbar ist. SMM ist lediglich ein anschaulicher privilegierter
Modus, der aktuell verfügbar
ist.
-
Andere
privilegierte Umgebungen beinhalten die Anwendung einer separaten
Verarbeitungseinheit, etwa eines Verschlüsselungsprozessors, unabhängig von
dem Mikroprozessor des Hauptsystems. Die Funktionen von Software
im privilegierten Modus werden von dem Verschlüsselungsprozessor ausgeführt und
sind daher vor einer Manipulation durch andere Softwareanwendungen,
die auf dem Mikroprozessor des Hauptsystems ausgeführt werden,
sicher. Ein noch weiterer privilegierter Kontext ist möglich, indem
ein Mikroprozessor eines Hauptsystems mit einer sicheren Architekturerweiterung
verwendet wird. In einer derartigen Implementierung ist der Verschlüsselungsprozessor
in dem Mikroprozessor des Hauptsystems integriert und wird mit sicheren
Befehlen gesteuert.
-
Der
Prozessorkomplex 110 ist mit einem peripheren Bus 120,
etwa einem peripheren Komponentenschnittstellen-(PCI)Bus verbunden.
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 dient
als Schnittstelle für
einen Bus mit geringer Anschlussstiftzahl (LPC) 160, der
einen Basiseingabe/Ausgabe-System (BIOS) Systemspeicher 170 beinhaltet,
mit einem universellen seriellen Bus (USB) 180, der zur
Verbindung mit diversen Periphergeräten (beispielsweise, Tastatur,
Maus, Drucker, Abtaster) (nicht gezeigt) ausgebildet ist, einem verbesserten
integrierten Treiberelektronik-(EIDE)Bus 190 zur Verbindung
mit einer Festplatte 200 und einem CD-ROM-Laufwerk (nicht
gezeigt), und einem integrierten Paketbus (IPB) 210.
-
Der
IPB-Bus 210 beinhaltet den Hardwarebereich des Softwaremodems 50.
In der dargestellten Ausführungsform
ist das Softwaremodem 50 in einer fortschrittlichen Kommunikationsplattform-(ACR)Karte 215 untergebracht.
Spezifikationen für
die ACR-Karte 215 und den IPB-Bus 210 sind von der
ACR-Spezialinteressengruppe (ACRSIG.ORG) verfügbar. Das Softwaremodem 50 umfasst
eine PHY-Hardwareeinheit 220 und eine Funkeinrichtung 230.
In der dargestellten Ausführungsform
ist die Funkeinheit 230 ausgebildet, GSM-Signale zu senden
und zu empfangen. Zusammen bilden die PHY-Hardwareeinheit 220 und
die Funkeinheit 230 die PHY-Schicht 70 (siehe 1).
-
Der
Prozessorkomplex 110 führt
Programmanweisungen aus, die in einem Standardmodustreiber 240 und
einem privilegierten Modustreiber 250 codiert sind. Der
Privilegmodustreiber 250 wird in den SMM-Raum des Prozessorkomplex 110 während der
Initialisierung des Computers 100 eingeladen. Der Privilegmodustreiber 250 kann
in einem sicheren Bereich gespeichert sein, etwa dem System-BIOS 170,
einer sicheren Speichereinrichtung auf der ACR-Karte 215,
einem sicheren Speicher in dem Computer 100, etc. Eine
beispielhafte Technik zum Speichern eines sicheren Treibers ist
in der US-Patentanmeldung 09/901,176 (Aktenzeichen 2000.053400/DIR,
Anmelder-Aktenzeichen TT4040), Terry L. Cole, David W. Smith, Rodney
Schmidt, Geoffrey S. Strongin, Brian C. Bames und Michael Barclay
mit dem Titel „Periphergeräte mit sicherem
Treiber" beschrieben.
Kollektiv bilden der Prozessorkomplex 110 und die Treiber 240, 250 die
Funktionen der Protokollschicht 80 (siehe 1).
-
3 zeigt
eine vereinfachte Funktionsblockansicht, die die Wechselwirkungen
zwischen dem Standardmodustreiber 240 und dem Privilegmodustreiber 250 in
einer speziellen Ausführungsform
der vorliegenden Erfindung zeigt. In der Ausführungsform aus 3 ist
der Privilegmodustreiber 250 ausgebildet, die Konfiguration
der PHY-Hardware 220 und der Funkeinheit 230 direkt
zu steuern.
-
Für eintreffende
Daten, die von dem Softwaremodem 50 empfangen werden, demoduliert
der Standardmodustreiber 240 die trägerfreie Signalform, um verschlüsselte Daten 260 wieder
herzustellen, die von der PHY-Hardware 220 empfangen werden.
Der Prozess des Wiederherstellens der verschlüsselten Daten 260 ist
dem Fachmann bekannt und ist durch Industrie-GSM-Standards definiert.
Der Einfachheit halber sind Details des Wiederherstellungsprozesses
nicht hierin beschrieben.
-
Nach
dem Wiederherstellen der verschlüsselten
Daten 260 ruft der Standardmodustreiber 240 den
Privilegmodustreiber 250 unter Anwendung eines SMI's auf. Der Prozessorkomplex 110 geht
in den privilegierten Modus (d. h. SMM) in Reaktion auf den SMI über und
führt den
Privilegmodustreiber 250 aus. Es gibt diverse Techniken,
um die verschlüsselten Daten 260 an
den Privilegtreibermodus 250 zu übergeben. In einer Ausführungsform übergibt
der Standardmodustreiber 240 einen Zeiger, der auf die Speicherstelle
der verschlüsselten
Daten 260 zeigt. in einer weiteren Ausführungsform wird ein Bereich des
Systemspeichers als gemeinsam benutztes Postfach für Aktivitäten im privilegierten
Modus zugewiesen. Anwendungen, die in dem Standardmodus ablaufen,
etwa der Standardmodustreiber 240, können Daten in einem zugeordneten
Eingangsbereich des gemeinsam benutzten Speicherraumes ablegen, und
Anwendungen, die in dem privilegierten Modus laufen, etwa der Privilegmodustreiber 250,
können Daten
in einem zugeordneten Ausgabebereich des gemeinsam benutzten Speicherraumes
ablegen. Der Ausgangsbereich kann für Anwendungen im Standardmodus
als Nur-Lesebereich gekennzeichnet sein. Ein beispielhaftes Computersystem
mit einem gemeinsam genutzten Postfach zum Weiterleiten von Daten
zwischen Anwendungen im Standardmodus und einem privilegierten Modus
ist beschrieben in der US-Patentanmeldung 09/853,447 (Aktenzeichen
des Anwalts 2000.038700/LHI, Mandanten-Aktenzeichen TT3760), Dale
E. Gulick und Geoffrey S. Strongin, mit dem Titel „Integrierte
Schaltung für
Sicherheit und Verwaltungsfähigkeit".
-
Der
Privilegmodustreiber 250 entschlüsselt die verschlüsselten
Daten 260 unter Anwendung industrieller Standardentschlüsselungstechniken,
die durch die GSM-Standards definiert sind, um entschlüsselte Daten 270 zu
erzeugen. Aus den entschlüsselten
Daten 270 extrahiert der Privilegmodustreiber 250 Steuerungscodierungen
bzw. Steuerungsparameter 280 und/oder Anwenderdaten 290. Die
Anwenderdaten 290 werden zurück zu dem Standardmodustreiber 240 geleitet
(d. h. durch einen Zeiger oder gemeinsam genutztes Postfach), wenn
der Privilegmodustreiber 250 seine Operationen beendet und
der Prozessorkomplex 110 den privilegierten Modus verlässt.
-
Der
Privilegmodustreiber 250 extrahiert die Steuercodierungen 280 aus
den verschlüsselten
Daten 270 und sendet die Steuercodierungen 280 direkt zu
der PHY-Hardware 220. Die PHY-Hardware 220 konfiguriert
die Funkeinheit 230 auf der Grundlage der zugewiesenen
Zeitfenster-, Frequenz- und Leitungspegelinformationen, die in den
Steuercodierungen 280 enthalten sind. Der Privilegmodustreiber 250 beendet
dann seine Arbeit und der Prozessorkomplex 110 geht zurück in den
standardmäßigen Betriebsmodus.
Da der Privilegmodustreiber 250 für andere Prozesse, die auf
dem Computer 100 laufen, nicht sichtbar ist, unterliegt
er keinen unbeabsichtigten oder bösartigen Manipulationen. Nur
der Privilegmodustreiber 250 steuert die Konfiguration
der PHY-Hardware 220 und der Funkeinheit 230.
Eine Manipulation des Standardmodustreibers 240 dahingehend,
dass die Funkeinheit 230 veranlasst wird, das Softwaremodem
zu beauftragen, außerhalb
seiner zugeordneten Zeitfenster- und Frequenzbereiche zu senden,
sind nicht erfolgreich. Ein Virus könnte nachteilig den Betrieb
der infizierten Einheit beeinflussen, er könnte jedoch nicht die infizierte
Einheit veranlassen, andere Anwender des Kommunikationssystems 10 zu
stören.
In einer derartigen Weise wird ein Klassenbruch-Fehler, der das
Potential zum Unterbrechen oder Deaktivieren des Kommunikationssystems 10 hat,
vermieden.
-
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 für die Aufwärtskonvertierung
gemäß dem zugeordneten Zeitfenster,
der Frequenz und dem Leistungspegel, die zuvor von dem Privilegmodustreiber 250 aus
den empfangenen Daten extrahiert wurden, weiter.
-
4 ist
ein vereinfachtes Funktionsblockschaltbild, in der die Wechselwirkungen
zwischen dem Standardmodustreiber 240 und dem Privilegmodustreiber 250 in
einer weiteren speziellen Ausführungsform
der vorliegenden Erfindung gezeigt sind. In der Ausführungsform
aus 4 steuert der Privilegmodustreiber 250 nicht
direkt die Konfiguration der PHY-Hardware 220 und
der Funkeinheit 230, sondern schützt vielmehr die Steuercodierungen
vor einer Manipulation, wenn sie von dem Standardmodustreiber 240 an
die PHY-Hardware 220 übergeben werden.
-
Der
anfängliche
Prozess des Entschlüsselns der
verschlüsselten
Daten 260, des Extrahierens der Steuercodierung 280 und
der Anwenderdaten 290 aus den entschlüsselten Daten 270 und
das Weiterleiten der Anwenderdaten 290 zurück zu dem
Standardmodustreiber 240 ist identisch zu den zuvor mit 3 beschriebenen
Ausführungsformen.
Die Funktionen des Standardmodustreiber 240 zum Erzeugen der
Sendesignale sind ggf. ähnlich
wie zuvor. Anstatt die Steuercodierungen 280 direkt zu
der PHY-Hardware 220 zu senden, verschlüsselt der Privilegmodustreiber 250 die
Steuercodierungen 280, um verschlüsselte Steuercodierungen 300 zu
erzeugen, und sendet die verschlüsselten
Steuercodierungen 300 zu dem Standardmodustreiber 240 (d.
h. durch Weiterleiten eines Speicherzeigers für die Stelle, an der die verschlüsselten
Steuercodierungen 300 gespeichert sind, oder durch das
Ablegen der verschlüsselten
Steuercodierungen 300 in einem gemeinsam genutzten Postfach).
Der Standardmodustreiber 240 sendet die verschlüsselten
Steuercodierungen 300 zu der PHY-Hardware 220,
die eine Logik enthält,
die zum Entschlüsseln
der verschlüsselten Steuercodierungen 300 und
zum Wiederherstellen der Steuercodierungen 280 ausgebildet
ist. Die wieder hergestellten Steuercodierungen 280 werden dann
verwendet, um die Funkeinheit 230 auf der Grundlage der
zugeordneten Zeitfenster-, Frequenz- und Leistungspegelinformationen
zu konfigurieren, die in den Steuercodierungen 280 enthalten
sind.
-
Das
spezielle Verschlüsselungsschema,
das von dem Privilegmodustreiber 250 verwendet wird, ist
implementationsspezifisch. Eine beispielhafte Technik kann das Erzeugen
der verschlüsselten Steuercodierungen 300 unter
Anwendung eines Schlüssels
beinhalten, der durch den Hersteller des Softwaremodems 50 definiert
ist und der in dem System-BIOS 170 mit der Codierung für den Privilegmodustreiber 250 gespeichert
ist. Der Schlüssel
kann auch in einem geschützten
Speicherplatz auf der ACR-Karte 215 gespeichert sein, auf
die nur von dem Privilegmodustreiber 250 zugegriffen werden
kann. Da der Inhalt der verschlüsselten
Steuercodierungen 300 für
den Standardmodustreiber 240 nicht sichtbar ist, kann ein
Virus, der den Standardmodustreiber 240 befallen hat, die
Betriebsweise der Funkeinheit 230 durch Manipulation der
Steuercodierungen 280 nicht beeinflussen.
-
In
jeder der in den 3 und 4 beschriebenen
Ausführungsformen
kann der Standardmodustreiber 240 nicht in schädlicher
Weise veranlasst werden, die Steuercodierungen 280 zu unterbrechen oder
zu ändern
und die Funkeinheit 232 zu beeinflussen. Das Extrahieren
der Steuercodierungen 280 bei Einstellung eines privilegierten
Modus erhöht
die Sicherheit des Softwaremodems 50, ohne die Flexibilität und Anpassbarkeit
zu beeinträchtigen,
die mit der Softwareimplementierung einhergehen. In beiden Fällen überträgt der Privilegmodustreiber 250 die Steuercodierungen 280 zu
der PHY-Hardware 220. In der Ausführungsform aus 3 überträgt der Privilegmodustreiber 250 die
Steuercodierungen 280 direkt, und in der Ausführungsform
aus 4 überträgt der Privilegmodustreiber 250 die
Steuercodierungen 280 indirekt durch Verschlüsseln der
Steuercodierungen 280 und durch Übertragen der verschlüsselten Steuercodierungen 300 über den
Standardmodustreiber 240.
-
Die
speziellen offenbarten Ausführungsformen
sind lediglich anschaulicher Natur, da die Erfindung auf unterschiedliche
aber äquivalente
Weisen, die für
den Fachmann im Besitze der offenbarten Lehren hierin offenkundig
sind, modifiziert und praktiziert werden kann. Des weiteren sind
keine Einschränkungen
hinsichtlich des Details des Aufbaus oder der Gestaltung, wie sie
hierin gezeigt sind, beabsichtigt, außer diese sind in den folgenden
Patenansprüchen
beschrieben. Es ist daher klar, dass die speziellen offenbarten
Ausführungsformen
geändert oder
modifiziert werden können
und dass alle derartigen Variationen als innerhalb des Schutzbereichs der
Erfindung liegend erachtet werden. Daher ist der angestrebte Schutzbereich
durch die nachfolgenden Patentansprüche definiert.