-
HINTERGRUND DER ERFINDUNG
-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft verschlüsselte WLAN-(drahtloses Nahbereichsnetzwerk)
Kommunikationsverfahren und entsprechende Einrichtungen, integrierte
Schaltungschips, Computerprogrammprodukte und Computersysteme und
betrifft insbesondere deren Hard/Software-Implementierungen.
-
BESCHREIBUNG DES STANDS DER
TECHNIK
-
Ein
drahtloses Nahbereichsnetzwerk ist ein flexibles Datenkommunikationssystem,
das als eine Erweiterung oder als eine Alternative für ein verdrahtetes
LAN implementiert ist. Durch Anwendung von Radiofrequenz- oder Infrarottechnologie übertragen und
empfangen WLAN-Systeme Daten in drahtloser Weise, wobei die Notwendigkeit
für verkabelte
Verbindungen minimiert wird. Somit vereinigen WLAN-Systeme Datenverbund
mit Anwendermobilität.
-
Heutzutage
wird in den meisten WLAN-Systemen die aufgespreizte Spektrumstechnologie
angewendet, d. h. eine Breitbandradiofrequenztechnik, die zur Verwendung
in zuverlässigen
und sicheren Kommunikationssystemen entwickelt wurde. Die Technik
mit aufgespreiztem Spektrum ist so gestaltet, um einen Kompromiss
zwischen der Bandbreiteneffizienz und der Zuverlässigkeit, Integrität und Sicherheit
zu bieten. Es werden zwei Arten von Radiosystemen mit aufgespreiztem
Spektrum häufig
verwendet: Systeme mit einem Frequenzsprungverfahren und Systeme
mit direkter Sequenz.
-
Der
Standard, der drahtlose Nahbereichsnetzwerke definiert und regelt,
die im 2.4 GHz-Spektrum
arbeiten, ist der IEEE 802.11 Standard. Um höhere Datenübertragungsraten zuzulassen,
wurde der Standard zum 802.11b erweitert, der Datenraten von 5.5
und 11 Mbps im 2.4 GHz-Spektrum zulässt. Es gibt auch noch zusätzliche
Erweiterungen.
-
Um
bestehende Sicherheitslücken
in der inhärenten
Sicherheit des 802.11 Standards zu beheben, d. h. des WEP-(Sicherheit äquivalent
zur verdrahteten Kommunikation) Protokolls, wurde der 802.11i Sicherheitsstandard
entwickelt. Dieser verbesserte Sicherheitsstandard beruht auf dem
802.1x Standard für
eine portbasierte Zugriffssteuerung, auf dem TKIP-(temporäres Schlüsselintegritätsprotokoll) und
dem CCMP-(dem Zählermoduscodierungsprotokoll
für die
Verschlüsselung
und Blockaneinanderreihung von Nachrichtenauthentisierungen) Protokoll für die Datenrahmeneinbettung
und das Herauslösen der
Datenrahmen. Der 802.1x Standard liefert die Bedingungen für eine WLAN-Stationsauthentisierung und
eine Chiffrierschlüsselverteilung,
wobei diese beiden Merkmale ursprünglich in dem 802.11 Standard
fehlen. Die TKIP und CCMP-Protokolle sind Verschlüsselungsprotokolle,
die eine verbesserte Kommunikationssicherheit gegenüber dem
ursprünglichen
WEP-Protokoll bieten, wobei das TKIP-Protokoll sich an bestehende
Anlagen richtet, während
das CCMP-Protokoll für
künftige
WLAN-Einrichtungen bestimmt ist.
-
In
beiden Verschlüsselungsprotokollen
wird eine individuelle Zeichenkette für jeden Datenrahmen erzeugt,
die zum Verschlüsseln
des Datenrahmens verwendet wird. Diese Verschlüsselungszeichenkette basiert
auf einer Paketnummer oder Sequenznummer, die in den Datenrahmen
eingefügt
ist und die Reihenfolge der Datenrahmen kennzeichnet. Datenrahmen
außerhalb
der Reihenfolge werden verworfen. Ferner hängt die Verschlüsselungszeichenkette
von den MAC-(Mediumzugriffssteuerung)Adressen der miteinander kommunizierenden WLAN-Partner
ab, beispielsweise einer WLAN-Station und einem WLAN-Zugriffspunkt. In
dem sendenden WLAN-Partner wird ein Integritätswert aus dem ursprünglichen
reinen Datenrahmen berechnet und wird in den Datenrahmen während des
Einbettens eingefügt,
um es damit dem empfangenden WLAN-Partner zu ermöglichen, zu erkennen, ob die extrahierten
Daten identisch zu den ursprünglichen reinen
Daten sind. Entsprechend den TKIP- und CCMP-Protokollen ist dieser
Integritätswert
nicht nur eine einfache CRC (zyklische Redundanzprüf) Summe,
sondern dieser Wert wird unter Anwendung einer kryptographischen
MIC(Nachrichtenintegritätscodierungs-)Berechnung,
erzeugt.
-
Gemäß 1a,
die einen Einbettungsprozess entsprechend dem TKIP-Protokoll darstellt,
wird ein für
den Datenrahmen spezifischer Schlüssel 118 aus einem
temporären
Schlüssel 102,
der Senderadresse 104 und der Sequenzzahl 106 erzeugt.
Der für
den Datenrahmen spezifische Schlüssel 118 wird in
einen für
den Datenrahmen spezifischen Initialisierungsvektor (IV) 122 und
in einen allgemeinen, vom Datenrahmen unabhängigen RC4 (Ri vestverschlüsselung 4)
Schlüssel 120 aufgeteilt.
Sowohl der IV 122 als auch der RC4 Schlüssel 120 werden in
den RC4-Einbettungsprozess 132 eingeführt, um einen eingespeisten
Reindatenrahmen 130 einzubetten. Der eingespeiste Reindatenrahmen 130 kann
durch Fragmentierung 128 eines vorhergehenden nicht fragmentierten
Reindatenrahmens 126 erzeugt werden. Der Reindatenrahmen 126 enthält einen
Integritätswert,
der durch MIC-Berechnung 124 aus der Quellenadresse 110,
der Zieladresse 112 und dem ursprünglichen Reindatenrahmen 114 unter
Anwendung eines MIC-Schlüssels 108 und
der Sequenzzahl 106 berechnet wird.
-
1b zeigt
den RC4-Einbettungsprozess 132, der entsprechend dem WEP-Protokoll
des ursprünglichen
802.11-Standards ausgeführt
wird. Der Initialisierungsvektor 122 und der RC4-Schlüssel 120 werden
bei 136 verknüpft
und dann in die RC4-Pseudozufallsverschlüsselungserzeugung 138 eingespeist.
Der Reindatenrahmen 130 wird verwendet, um eine CRC-Prüfsumme in 140 zu
berechnen und wird dann mit der CRC-Prüfsumme
in 142 verknüpft.
Die verschlüsselten
Daten 146 werden durch eine bitweise XOR-(exklusive oder)
Verknüpfungsfunktion 144 mit
dem verknüpften
Reindatenrahmen und der CRC-Prüfsumme
erzeugt, die sich aus der Verknüpfung 142 mit
dem in 138 erzeugten RC4-Pseudozufallsschlüssel ergibt.
Das Ergebnis des RC-Verschlüsselungsprozesses 132 ist
ein verschlüsselter
Datenrahmen 134, der den Initialisierungsvektor 122 und
die verschlüsselten
Daten 146 enthält.
-
Gemäß 2a,
die den Einbettungsprozess entsprechend dem CCMP-Protokoll darstellt,
werden ”zusätzliche
Authentisierungsdaten” (AAD) 212 bei 210 erzeugt,
wobei die MAC-Adressen
verwendet werden, die in dem Datenrahmenvorspann 208 des Reindatenrahmens 202 enthalten
sind. Bei 214 wird ein Initialisierungsvektor 216 aus
der Paketzahl (PN) 218, die in dem Reindatenrahmen 202 enthalten
ist, und aus Daten von dem Datenrahmenvorspann 208 erzeugt.
Der Datenrahmenvorspann 208, die zusätzlichen Authentisierungsdaten 212,
der Initialisierungsvektor 216, die Paketzahl 218 und
die Reindaten 220, die in dem Reindatenrahmen 202 enthalten sind,
werden zusammen mit einem AES-(fortschrittlicher
Verschlüsselungsstandard)
Schlüssel 204 dem CCMP-Verschlüsselungsprozess 224 eingespeist. Der
aus der CCMP-Verschlüsselung 224 resultierende
verschlüsselte
Datenrahmen 226 wird bei 230 mit einem CCMP-Vorspann,
der bei 222 aus der Paketzahl 218 und einer AES-Schlüssel ID 206 erzeugt wurde,
verknüpft,
um den endgültigen
verschlüsselten
Datenrahmen 232 zu erzeugen.
-
Die
CCMP-Verschlüsselung 224 ist
in 2b dargestellt. Die Datenverschlüsselung 242 und
die MIC-Berechnung 254 werden parallel durchgeführt. Sowohl
die Datenverschlüsselung 252 als auch
die MIC-Berechnung 254 weisen die AES-Verschlüsselung 234 auf.
Für jede
AES-Verschlüsselung 234 wird
der AES-Schlüssel 204 eingegeben.
Der Einfachheit halber ist der AES-Schlüssel 204 in 2b nicht
gezeigt. Während
der Datenverschlüsselung 252 werden
die Reindaten 220, die in dem eingespeisten Reindatenrahmen 202 enthalten
sind, blockweise verschlüsselt
durch Anwenden einer bitweisen XOR-Funktion 236 auf Datenblöcke 256 mit einer
Größe von 128
Bits und dem Ergebnis einer AES-Verschlüsselung 234 eines
Zählervorwertes (PL) 240, 242, 244, 246.
Jeder Zählvorwert
hängt von den
zusätzlichen
Authentisierungsdaten 212, die der Einfachheit halber nicht
dargestellt sind, und einem nachfolgenden Zählerwert ab.
-
Die
MIC-Berechnung 254 wird mit dem Initialisierungsvektor 216 gestartet.
Der Initialisierungsvektor 216 wird in eine AES-Verschlüsselung 234 eingespeist
und deren Ausgabe wird bitweise durch eine XOR-Verknüpfung 236 mit
ausgewählten
Elementen aus dem Datenrahmenvorspann 208 verknüpft und
wird dann wiederum in eine AES-Verschlüsselung 234 eingespeist.
Dieser Prozess wird für
den Rest des Datenrahmenvorspanns 208 und weiter bis über die
gesamte Länge
der Reindaten 220 ausgeführt, um einen endgültigen CBC-MAC-(Verschlüsselungsblock-Verkettungsnachrichtenauthentisierungscodierungs-)-Wert von beispielsweise
einer Größe mit 128
Bit zu berechnen. Der obere Teil, beispielsweise 64 Bits, des CBC-MAC
werden extrahiert und in der endgültigen MIC benutzt. Der resultierende
verschlüsselte
Datenrahmen 236 enthält
den Reinrahmenvorspann 208, eine Paketzahl 218,
die verschlüsselten
Daten 258 und das verschlüsselte MIC 250.
-
2c zeigt
eine reguläre
Verschlüsselungssequenz
des AES-Verschlüsselungsprozesses 234,
der eine Sequenz aus vier Verschlüsselungsschritten ist. Ein
Block 252 aus eingegebenen Reindaten wird in eine Matrix
mit vier Zeilen und einer variablen Anzahl von Spalten – abhängig von
der Blockgröße – geschrieben.
Jedes Matrixelement ai,j entspricht einem
Byte des eingespeisten Reindatenblocks 252, wobei i = 0,
..., 3 die Zeile und j = 0, ..., n die Spalte bezeichnet. In dem
in 2c dargestellten Beispiel ist n = 3. In dem ersten
Verschlüsselungsschritt
wird mittels der Ersetzung 254 jedes Byte ai,j durch
ein anderes Byte si,j entsprechend den Substitutionsregeln,
die in einer kryptographischen Substitutionsbox implementiert sind,
ersetzt. In dem Spaltenverschiebeschritt 256 werden die
Elemente in jeder Matrixzeile zyklisch permutiert. Der Spaltenmischschritt 258 enthält das spaltenweise
Multiplizieren der Matrixelemente mit einer Konstanten und dann
das XOR-verknüpfen
der Matrixelemente miteinander. Schließlich werden im Schlüsseladditionsschritt 260 die
Ergebnisse des Spaltenmischschrittes 258 mit einem AES-Rundungsschlüssel 264 XOR-verknüpft, der
aus dem AES-Schlüssel 204 berechnet
wurde. Der reguläre
Ablauf der AES-Verschlüsselung 234 wird
einige Male wiederholt, indem die verschlüsselten Daten 262 erneut
in den Byte-Substituierungsschritt 254 eingegeben werden. Zusätzlich zu
den regulären
Durchläufen
enthält
die AES-Verschlüsselung 234 einen
Anfangsschlüsselerweiterungsdurchlauf
zum Erzeugen des AES-Durchlaufschlüssels 264 aus dem
AES-Schlüssel 204,
und enthält
einen letzten Durchlauf, wobei der Spaltenmischschritt 258 weggelassen
wird.
-
Um
die zuvor beschriebenen Kommunikationssicherheitstechniken oder ähnliche
Vorgehensweisen, die im Stand der Technik bekannt sind, zu implementieren,
werden bestehende verschlüsselte WLAN-Kommunikationsverfahren
durchgeführt,
indem sowohl Softwareimplementierte Anweisungen ausgeführt werden
als auch Hardware-Einrichtungen betrieben werden, die in der Lage
sind, spezielle Funktionen auszuführen, für die sie entworfen sind. Dies
kann zu einer Reihe von Nachteilen führen.
-
Es
sei nun auf 3 verwiesen; die Schritte für die Kommunikationssicherheit
werden durchgeführt,
in dem Software-implementierte Anweisungen einer Verbindungsinitialisierungsfunktion 330 und
einer Einbettungs/Extraktions-Funktion 340 einer Treibersoftware 310,
die beispielsweise auf einer Host- bzw. Haupt-CPU läuft, ausgeführt werden,
und indem eine Verbindungsinitialisierungsschaltung 350 und eine
Einkapselungs-/Extraktionsschaltung 360 auf
einem WLAN-Chip 320 betrieben werden. Daher weisen konventionelle
WLAN-Chips für
gewöhnlich
ein hohes Maß an
Hardwarekomplexität
und damit hohe Herstellungskosten auf.
-
Des
weiteren zeigen konventionelle WLAN-Kommunikationssysteme häufig den
Nachteil, dass diese einen Datentransfer zwischen einzelnen Komponenten
erzeugen. Die Schritte zum Ausführen Software-implementierter
Anweisungen und zum Betreiben der WLAN-Chip-Komponenten 350 und 360 werden
abwechselnd ausgeführt.
Somit führen
konventionelle Verfahren häufig
zu einem dichten Datenstrom zwischen der Treibersoftware 310 und dem WLAN-Chip 320,
wodurch große
Datenstromkapazitäten
und Bandbreiten erforderlich sind, die auch ein ernstes Problem
hinsichtlich von Datenfehlern darstellen können.
-
Des
weiteren besteht oft ein Sicherheitsproblem in konventionellen Systemen,
da der Datenverkehr einen Austausch von Zwischendaten 390 erfordert,
die für
dazwischenliegende Teilschritte der Verbindungsinitialisierung der
Datenrahmeneinkapselung oder Extraktion beabsichtigt sind oder aus
diesen resultieren. Zu den Zwischendaten 390 können beispielsweise
der für
den Datenrahmen spezifische Schlüssel 118,
die zusätzlichen
Authentisierungsdaten 212 oder der Initialisierungsvektor 216 gehören. Da
die Zwischendaten 390 Informationen hinsichtlich Sicherheitsgeheimnissen
enthalten können,
beispielsweise über
die angewendeten Verschlüsselungen,
kann deren Austausch zu einer beträchtlichen Sicherheitslücke führen.
-
Des
weiteren können
konventionelle Systeme nachteiligerweise Wartezeiten aufweisen,
die in der Schnittstelle auftreten können, die die auf der Haupt-CPU
laufenden Treibersoftware 310 mit dem WLAN-Chip 320 verbindet.
Derartige Wartezeiten führen
für gewöhnlich zu
einer unnötigen
Verlangsamung der Kommunikations und können daher zu weiteren Problemen
im Hinblick auf das Erreichen effizienter Datenübertragungsraten führen.
-
US 2001/00 55 283
A1 betrifft ein WLAN-Netzwerk, welches mit einem vereinfachten RF-Port ausgestattet
ist. Die RF-Ports sind ausgebildet, Funktionen des 802.11-Protokolls
auszuführen, die
zwar zeitkritisch sind, aber einen niedrigeren Grad an Prozessorressourcen
und Software-Komplexität
besitzen. Prozessorintensive, aber zeitunkritische Funktionen werden
von einer Zellensteuereinheit (cell controller) ausgeführt.
-
WP 2003/06 74 53 A1 beschreibt
eine MAC-Architektur für
WLAN-Stationen, die Funktionalität
zwischen einer Software-basierten MAC-Komponente und einer Hardware-basierten
MAC-Komponente aufteilt.
-
ÜBERBLICK ÜBER DIE ERFINDUNG
-
Es
werden ein verbessertes verschlüsseltes WLAN-Kommunikationsverfahren
und eine entsprechende Hardware-Einrichtung, ein integrierter Schaltungschip,
ein Computerprogrammprodukt und ein Computersystem bereitgestellt,
die die Nachteile der konventionellen Lösungen überwinden können.
-
Diese
Aufgabe wird erfindungsgemäß durch den
Gegenstand der unabhängigen
Patentansprüche
gelöst.
Bevorzugte Ausführungsformen
werden durch die abhängigen
Patentansprüche
definiert.
-
In
einer Ausführungsform
wird ein Verfahren zum Ausführen
einer verschlüsselten
WLAN-Kommunikation
bereitgestellt, das die Schritte umfasst: Ausführen einer Verbindungsinitialisierung
für die verschlüsselte WLAN-Kommunikation
und Ausführen
einer Datenrahmeneinbettung und/oder Extraktion während der
verschlüsselten
WLAN-Kommunikation. Die Verbindungsinitialisierung wird ausgeführt, indem
Software-implementierte Anweisungen ausgeführt werden, und die Datenrahmeneinbettung und/oder
Extraktion wird ausgeführt,
indem eine zweckgebundene Hardware betrieben wird.
-
In
einer weiteren Ausführungsform
wird eine zweckgebundene Hardwareeinrichtung zum Ausführen einer
Datenrahmeneinbettung und/oder Extraktion während einer verschlüsselten
WLAN-Kommunikation bereitgestellt, die interne Hardwarekomponenten
und eine Schnittstelle zum Kommunizieren mit einer externen Hardwarekomponente
aufweist, die ausgebildet ist, eine Verbindungsinitialisierung für die verschlüsselte WLAN-Kommunikation
auszuführen, indem
Software-implementierte Anweisungen ausgeführt werden. Die internen Hardwarekomponenten umfassen
interne zweckgebundene Hardwarekomponenten zum Ausführen der
Datenrahmeneinkapselung und/oder der Extraktion, sobald die Verbindungsinitialisierung
abgeschlossen ist.
-
In
einer weiteren Ausführungsform
wird ein integrierter Schaltungschip zum Ausführen einer Datenrahmeneinkapselung
und/oder Extraktion während
einer verschlüsselten
WLAN-Kommunikation bereitgestellt,
der interne integrierte Schaltungen und mindestens einen Datenbus
zur Kommunikation mit einer externen CPU (zentrale Recheneinheit)
aufweist, die ausgebildet ist, eine Verbindungsinitialisierung für die verschlüsselte WLAN-Kommunikation durch
Ausführen
Software-implementierter Anweisungen auszuführen. Die internen integrierten
Schaltungen umfassen interne zweckgebundene integrierte Schaltungen
zum Ausführen
der Datenrahmeneinkapselung und/oder Extraktion, sobald die Verbindungsinitialisierung
abgeschlossen ist.
-
In
einer noch weiteren Ausführungsform
wird ein Computerprogrammprodukt zum Ausführen einer verschlüsselten
WLAN-Kommunikation bereitgestellt, das Computerprogrammmittel zum
Ausführen einer
Verbindungsinitialisierung für
die verschlüsselte WLAN-Kommunikation und
Computerprogrammmittel zur Kommunikation über eine Schnittstelle mit
einer zweckgebundenen Hardwareeinrichtung aufweist, die in der Lage
ist, eine Datenrahmeneinkapselung und/oder Extraktion während der
verschlüsselten
WLAN-Kommunikation
auszuführen.
Die Verbindungsinitialisierung wird ausgeführt, indem Software-implementierte
Anweisungen ausgeführt
werden.
-
In
einer noch weiteren Ausführungsform
wird ein Computersystem zum Ausführen
einer verschlüsselten
WLAN-Kommunikation bereitgestellt, das eine erste Einrichtung zum
Ausführen
einer Verbindungsinitialisierung für die verschlüsselte WLAN-Kommunikation
und eine zweite Einrichtung zum Ausführen der Datenrahmeneinkapselung
und/oder Extraktion während
der verschlüsselten
WLAN-Kommunikation aufweist. Die erste Einrichtung dient zum Ausführen der
Verbindungsinitialisierung durch Ausführen Software-implementierter
Anweisungen, und die zweite Einrichtung umfasst eine zweckgebundene
Hardwareeinrichtung.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
begleitenden Zeichnungen sind in die Beschreibung mit eingebunden
und bilden einen Teil davon, um die Prinzipien der Erfindung zu
erläutern. Die
Zeichnungen sollen die Erfindung nicht auf die dargestellten und
beschriebenen Beispiele, wie die Erfindung zu realisieren und anzuwenden
ist, einschränken.
Weitere Merkmale und Vorteile gehen aus der folgenden und detaillierteren
Beschreibung der Erfindung hervor, wie sie auch in den begleitenden
Zeichnungen dargestellt ist, wobei:
-
1a eine
Datenrahmeneinkapselung gemäß dem TKIP-Protokoll
darstellt;
-
1b eine
RC4-Einkapselung zeigt, die ein Teil der TKIP-Datenrahmeneinkapselung
aus 1a ist;
-
2a eine
Datenrahmeneinkapselung gemäß dem CCMP-Protokoll
zeigt;
-
2b eine
CCMP-Verschlüsselung
zeigt, die ein Teil der CCMP-Datenrahmeneinkapselung aus 2a ist;
-
2c einen
regulären
Verschlüsselungsdurchlauf
einer AES-Verschlüsselung
zeigt, die ein Teil der CCMP-Verschlüsselung aus 2b ist;
-
3 ein
Blockdiagramm repräsentiert,
das den Datenaustausch zwischen einer Treibersoftware und einem
WLAN-Chip gemäß dem Stand
der Technik zeigt;
-
4 eine
Blockansicht ist, die den Datenaustausch zwischen einer Treibersoftware
und einem WLAN-Chip gemäß einer
Ausführungsform
darstellt;
-
5 eine
Blockansicht ist, die die Komponenten eines WLAN-kompatiblen Computersystems gemäß einer
Ausführungsform
zeigt;
-
6 ein
Flussdiagramm ist, das eine Verbindungsinitialisierung für eine verschlüsselte WLAN-Kommunikation
gemäß einer
Ausführungsform
darstellt;
-
7 ein
Flussdiagramm ist, das Übertragungsschritte
für die
verschlüsselte
WLAN-Kommunikation
gemäß einer
Ausführungsform
zeigt; und
-
8 ein
Flussdiagramm ist, das die Empfangsschritte einer verschlüsselten
WLAN-Kommunikation
gemäß einer
Ausführungsform
darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Es
werden nun die anschaulichen Ausführungsformen der vorliegenden
Erfindung mit Bezug zu den Zeichnungen beschrieben.
-
Es
sei nun auf die Zeichnungen verwiesen und insbesondere auf 4,
die den Datenaustausch zwischen einer Treibersoftware 410,
die auf einer Haupt-CPU läuft,
und einem WLAN-Chip 420 gemäß einer Ausführungsform
darstellt, wobei die Treibersoftware 410 eine Verbindungsinitialisierungsfunktion 430 enthält. Im Vergleich
zu 3, die den Datenaustausch zwischen einer Treibersoftware 310 und
einem WLAN-Chip 320 gemäß dem Stand der
Technik darstellt, enthält
der WLAN-Chip 420 nicht die Verbindungsinitialisierungsschaltung 350. Alle
Schritte der Verbindungsinitialisierung werden durch Ausführen Software-implementierter
Anweisungen der Verbindungsinitialisierungsfunktion 430 der
Treibersoftware 410 ausgeführt, ohne dass Zwischendaten 390 mit
dem WLAN-Chip 420 ausgetauscht werden.
-
Die
Einkapselungs-/Extraktionsschaltung 440 ist eine (einzel)
zweckgebundene (oder zugeordnete) Hardwareeinrichtung, d. h. eine
für den
Zweck aufgebaute Hardwareeinrichtung, die in der Lage ist die Funktion,
für die
sie entworfen ist, auszuführen, ohne
dass Softwareimplementierte Anweisungen ausgeführt werden. In der vorliegenden
Ausführungsform
ist der Datenaustausch zwischen der Treibersoftware 410 und
der Einkapselungs-/Extraktionsschaltung 440 auf
die Übertragung
von Reindaten 450, die zur Einkapselung in den Datenrahmen
vorgesehen sind, von der Treibersoftware 410 zu der Einkapselungs-/Extraktionsschaltung 440 und
die Übertragung
von extrahierten Daten 460 in der entge gengesetzten Richtung
beschränkt,
wenn die Datenrahmenextraktion abgeschlossen ist. Im Vergleich zu
der in 3 dargestellten konventionellen Technik, wird
die Datenrahmeneinkapselung/Extraktion ausgeführt, ohne dass Software-implementierte
Anweisungen einer entsprechenden Einkapselungs-/Extraktionsfunktion
der Treibersoftware 410 ausgeführt werden. Ferner tritt kein
Austausch von Zwischendaten 390 zwischen der Einkapselungs-/Extraktionsschaltung 440 und
der Treibersoftware 410 auf.
-
In 5 sind
ein WLAN-kompatibles Computersystem und Datenwege darin gemäß einer
Ausführungsform
gezeigt. Das Computersystem kann so ausgebildet sein, um eine verschlüsselte WLAN-Kommunikation
auf der Grundlage der 802.11i Sicherheitserweiterung durchzuführen.
-
Der
WLAN-Chip 520 kann eine zugeordnete 802.11 Hardware aufweisen.
Insbesondere kann er eine OCM (chipinterner Speicher) Schaltung 525, eine
Radiosender/Empfänger-Schaltung 530 und eine
Einkapselungs-/Extraktionsschaltung 535 zur Verwirklichung
von Verschlüsselungsalgorithmen aufweisen.
In der vorliegenden Ausführungsform sind
alle durch die Hardware abgebildeten Verschlüsselungsfunktionen Datenrahmeneinkapselungs- und Extraktionsaufgaben.
Die Einkapselung/Extraktionsschaltung 535 kann eine MAC-Hardwarepartition
mit 802.11i-Erweiterung, die eine Verschlüsselungsschaltung 540 und
eine MAC-Schaltung (MAC-Hardwarepartition) 545 aufweist,
enthalten, und kann periodisch bei 11 MHz zur Verschlüsselung
in einem 802.11b-WLAN betrieben werden. Die Verschlüsselungsschaltung 540 ist
mit der OCM-Schaltung 525 und der MAC-Schaltung 545 verbunden,
so dass diese Daten von der OCM-Schaltung 525 und der MAC-Schaltung 545 empfangen
und Daten über
die MUX-(Multiplexer)Gatter 550 zu der OCM-Schaltung 525 und
der MAC-Schaltung 545 senden kann. Die MAC-Schaltung 545 ist
ferner mit der Radiosender/Empfänger-Schaltung 530 und
der OCM-Schaltung 525 verbunden, so dass diese in der Lage
ist, Daten zu der OCM-Schaltung 525 zu senden und von dieser
Daten über
die MUX-Gatter 550 zu empfangen, und um Daten zu der Radiosender/Empfänger-Schaltung 530 zu
senden oder von dieser zu empfangen.
-
Der
WLAN-Chip 520 kann in einem Zentralcomputersystem installiert
sein mit einer CPU 505, die in Verbindung mit einer Treibersoftware (MAC-Softwarepartition) 510,
die auf der CPU 505 läuft,
dem Computersystem eine WLAN-Kompatibilität verleiht. Die OCM- Schaltung 525 der
vorliegenden Ausführungsform
ist mit der CPU 505 über
die Schnittstelle 515 verbunden, so dass diese in der Lage
ist, mit der CPU 505 zu kommunizieren.
-
Die
Einkapselungs-/Extraktionsschaltung 535 ist eine zweckgebundene
Hardwareeinrichtung, die so gestaltet ist, um eine Datenrahmeneinkapselung
und/oder Extraktion auszuführen,
ohne dass Software-implementierte Anweisungen auszuführen sind.
-
In
der vorliegenden Ausführungsform
kann die 802.11i Sicherheitserweiterung auf einer MAC-Softwarepartition
der Treibersoftware 510 und eine MAC-Hardwarepartition
in der Einkapselung/Extraktionsschaltung 535 aufgeteilt
werden.
-
Im
Allgemeinen kann die Kommunikationssicherheit für WLAN-Kommunikation so gesehen
werden, dass diese zwei wesentliche Phasen aufweist: eine Verbindungsinitialisierungsphase
zum Errichten einer sicheren Kommunikationsverbindung zwischen einer
WLAN-Station und
einer weiteren WLAN-Station und/oder einem WLAN-Zugriffspunkt, und
eine tatsächliche
verschlüsselte
WLAN-Kommunikationsphase. Sobald die Verbindungsinitialisierungsphase abgeschlossen
ist, kann die verschlüsselte WLAN-Kommunikation
stattfinden, während
welcher verschlüsselte
Datenrahmen zwischen einer WLAN-Station und einer weiteren WLAN-Station und/oder
einem WLAN-Zugriffspunkt ausgetauscht werden. Die verschlüsselte WLAN-Kommunikation kann
für eine
erneute Verbindungsinitialisierung unterbrochen werden, wann immer
dies angemessen ist, beispielsweise zum Übergeben der WLAN-Station von
einem WLAN-Zugriffspunkt zu einem anderen.
-
6 zeigt
das Ausführen
einer Verbindungsinitialisierung mittels einer WLAN-Station gemäß einer
Ausführungsform.
Die WLAN-Station kann die in 4 oder 5 gezeigten
Komponenten aufweisen. Die Verbindungsinitialisierung umfasst das Authentisieren
der WLAN-Station als einen authorisierten WLAN-Teilnehmer durch
eine weitere WLAN-Station und/oder einen WLAN-Authentisierungsserver
im Schritt 610. Wenn der Authentisierungsschritt 610 abgeschlossen
ist, ist die WLAN-Station mit einer weiteren WLAN-Station und/oder
einem WLAN-Zugriffspunkt als Kommunikationspartner im Schritt 620 verbunden.
Die verbundenen Kommunikationspartner können dann kryptographische
Schlüssel
im Schritt 630 austauschen, die für die spätere Datenrahmeneinkapselung und/oder
Extraktion vorgesehen sind. In der vorliegenden Ausführungsform
werden alle Authentisierungs-, Verbindungs- und Schlüsselverteilungsfunktionen
ausgeführt,
indem Software-implementierte Anweisungen einer Verbindungsinitialisierungsfunktion 430 einer
Treibersoftware 410, 510 ausgeführt werden,
ohne dass eine Verbindungsinitialisierungshardware auf dem WLAN-Chip beteiligt ist.
Dies kann durch die MAC-Software auf der Zentral-CPU 505 verwirklicht
werden.
-
7 zeigt
einen Prozess zum Übertragen von
Datenrahmen, der mittels einer WLAN-Station während einer verschlüsselten
WLAN-Kommunikation gemäß einer
Ausführungsform
ausgeführt
wird. Die WLAN-Station kann die in 4 oder 5 dargestellten
Komponenten aufweisen. Eine Treibersoftware 410, 510 schreibt
Datenrahmen, die für
eine Datenrahmeneinkapselung vorgesehen sind, in eine OCM-Schaltung 525 auf
einem WLAN-Chip 420, 520 im
Schritt 705 und startet den Übertragungsvorgang auf der
MAC-Hardwarepartition
des WLAN-Chips 420, 520. Jeder Datenrahmen kann
einen zusätzlichen
Vorspann mit Verschlüsselungsinformation
enthalten, die wesentliche Faktoren zum Durchführen der Datenrahmeneinkapselung
kennzeichnet, beispielsweise das Verschlüsselungsprotokoll und den anzuwendenden
kryptographischen Schlüssel
und Informationen hinsichtlich der Datenrahmenfragmentierung.
-
Im
Schritt 710 wählt
ein prioritätensetzender Algorithmus
innerhalb der MAC-Hardware auf dem WLAN-Chip 420, 520 einen
drahtlos zu übermittelnden
Datenrahmen aus und der ausgewählte
Datenrahmen wird im Schritt 715 aus der OCM-Schaltung 525 ausgelesen.
Die folgende Datenrahmeneinkapselung 760 umfasst das Einfügen einer
Paketzahl und/oder einer Sequenzzahl in den ausgewählten Datenrahmen
im Schritt 720. Die Paketzahl und/oder die Sequenzzahl
kann unmittelbar zu dem Zeitpunkt in den Datenrahmen eingefügt werden,
an dem der Datenrahmen durch den prioritätensetzenden Algorithmus ausgewählt wird.
Dies kann eine außer
der Reihe liegende Nummerierung der Datenrahmen verhindern, was
bei einer konventionellen verschlüsselten WLAN-Kommunikation
auf Grund der Permutation der Ordnung der Rahmen durch die Prioritätszuweisung
auftreten kann, die innerhalb der MAC-Hardware im Vergleich zu der
Ordnung ausgeführt
wird, in der die Software die Rahmen in die OCM-Schaltung 525 geschrieben
hat.
-
Im
Schritt 725 können
weitere Verschlüsselungsdaten,
die für
das Verschlüsseln
des Datenrahmens erforderlich sind, mittels einer Verschlüsselungsschaltung 540 erzeugt
werden. Die zusätzlichen
Verschlüsselungsdaten
können
beispielsweise einen datenrahmenspezifischen Schlüssel 118,
einen RC4-Pseudozufallsschlüssel 138,
zusätzliche Authentisie rungsdaten 212,
einen Initialisierungsvektor 216 oder einen Zählervorwert 240, 242, 244 oder 246 aufweisen.
Dies ermöglicht
ein Einfügen
aktualisierter Paketzahlen.
-
Ferner
kann das Merkmal des Erzeugens der zusätzlichen Verschlüsselungsdaten
mittels des WLAN-Chips 420, 520 eine Symmetrie
zwischen den Sende- und Empfangsprozessen erzeugen, die im Stand
der Technik häufig
asymmetrisch sind: während
des Sendevorganges werden die zusätzlichen Verschlüsselungsdaten
für gewöhnlich von
der Software erzeugt und den Datenrahmen vorgeschaltet, bevor diese
zu dem WLAN-Chip 320 gesendet werden, wohingegen während des
Empfangsvorganges, die zusätzlichen
Verschlüsselungsdaten
von dem WLAN-Chip 220 vor der Entschlüsselung erzeugt werden müssen.
-
Wenn
die erforderlichen zusätzlichen
Verschlüsselungsdaten
verfügbar
gemacht sind, wird zumindest ein Teil des Datenrahmens, beispielsweise der
Hauptbereich des Datenrahmens von der Verschlüsselungsschaltung 540 im
Schritt 730 verschlüsselt.
Im Schritt 735 wird ein Integritätswert berechnet, der einem
späteren
Empfänger
des verschlüsselten
Datenrahmens die Möglichkeit
gibt, zu verifizieren, ob das Ergebnis der Extraktion des verschlüsselten
Datenrahmens identisch zu dem ursprünglichen Datenrahmen ist, der
von dem Sender eingekapselt wurde. Der Integritätswert kann ein MIC auf Basis
eines CCMP aufweisen, wenn die Datenrahmeneinkapselung 760 gemäß dem CCMP-Protokoll
ausgeführt
wird, oder er kann ein MIC auf TKIP-Basis und/oder eine CRC 32 (32-bit
CRC) aufweisen, wenn die Datenrahmeneinkapselung 760 entsprechend
dem TKIP-Protokoll ausgeführt
wird. Zu beachten ist, dass andere Verschlüsselungsprotokolle und Integritätsmechanismen
ebenso angewendet werden können.
-
Die
Berechnung 735 des Integritätswertes der vorliegenden Ausführungsform
wird durch die zweckgebundene Einkapselungs-/Extraktionsschaltung 535 ausgeführt. Für den Empfang
partionierter Datenrahmen kann die Berechnung eines MIC (Michael
MIC) auf TKIP-Basis
auf die Software übertragen
werden.
-
Der
berechnete Integritätswert
wird im Schritt 740 von der Verschlüsselungsschaltung 540 verschlüsselt und
wird dann im Schritt 745 in den verschlüsselten Datenrahmen eingefügt. Der
Ausdruck ”verschlüsselter
Datenrahmen” bezeichnet
einen Datenrahmen, der verschlüsselte
Daten enthält,
wobei nicht notwendigerweise gemeint ist, dass alle in dem Datenrahmen
enthaltenen Daten verschlüsselt
sind. Wenn die Datenrahmeneinkapselung 760 abgeschlossen
ist, wird der verschlüsselte
Datenrahmen im Schritt 750 in die OCM-Schaltung 525 geschrieben.
-
Schließlich wird
im Schritt 755 der verschlüsselte Datenrahmen von der
Radiosender/Empfänger-Schaltung 530 übertragen.
Wie aus 7 deutlich wird, werden alle
Aufgaben, die strengen zeitlichen Rahmenbedingungen unterliegen,
d. h. alle Schritte der Datenrahmeneinkapselung 760, von
der zweckgebundenen Einkapselungs-/Extraktionsschaltung 535 auf
dem WLAN-Chip ausgeführt,
ohne dass eine Wechselwirkung mit der Treibersoftware 410, 510 stattfindet.
-
8 zeigt
einen Empfangsvorgang für
einen Datenrahmen, der von einer WLAN-Station während der verschlüsselten
WLAN-Kommunikation ausgeführt
wird, wobei die WLAN-Station
wiederum die in 4 oder 5 dargestellten
Komponenten aufweist. Im Schritt 805 wird ein empfangener
verschlüsselter
Datenrahmen aus der OCM-Schaltung 525 ausgelesen. Im Schritt 810 wird
die zum Entschlüsseln
des empfangenen Datenrahmens benötigte
Verschlüsselungsinformation
aus der OCM-Schaltung 525 ausgelesen. Die Verschlüsselungsinformation kann
der Verschlüsselungsinformation
entsprechen, die mit Bezug zu 7 erläutert ist
und kann in einem Hash-Speicher innerhalb der OCM-Schaltung 525 enthalten
sein. Der Hash-Speicher kann durch die MAC-Software für das Abrufen
von Verschlüsselungsinformation
beim Empfang eingerichtet und bewahrt werden. Dieser kann Verschlüsselungsinformation
für jedes
Empfänger/Sender-Paar
aufweisen. Seine Kapazität
kann dynamisch und nach Bedarf durch die MAC-Software eingestellt
werden.
-
Im
Schritt 815 werden zusätzliche
Verschlüsselungsdaten
erstellt, die wiederum den zusätzlichen Verschlüsselungsdaten
und deren Erzeugung entsprechen, wie dies mit Bezug zu 7 erläutert sind.
-
Sobald
die Verschlüsselungsinformation
und die zusätzlichen
Verschlüsselungsdaten
verfügbar sind,
werden die in dem verschlüsselten
Datenrahmen enthaltenen verschlüsselten
Daten mittels der Verschlüsselungsschaltung 540 im
Schritt 820 entschlüsselt.
Der Entschlüsselungsschritt 820 kann
das Entschlüsseln
eines verschlüsselten
Integritätswerts umfassen,
der in dem verschlüsselten
Datenrahmen enthalten ist. Im Schrift 825 wird der Integritätswert erneut
aus den in dem Datenrahmen enthaltenen Daten mit Ausnahme des verschlüsselten
Integritätswertes
berechnet. Der Integritätswert
und dessen Berechnung 825 kann der in Bezug auf 7 aufgeführten Erläuterung
entsprechen.
-
In
der vorliegenden Ausführungsform
bestimmt die zweckgebundene Einkapselungs-/Extraktionsschaltung 535 im
Schritt 830, ob es Unterschiede zwischen dem aus dem Schritt 820 resultierenden entschlüsselten
Integritätswert
und dem im Schritt 825 berechneten Integritätswert gibt
und berechnet einen Wert, der die festgestellten Unterschiede kennzeichnet.
Im Schritt 835 wird der Differenzwert in den entschlüsselten
Datenrahmen eingefügt.
-
Wenn
die Datenrahmenextraktion 860 mit den Schritten 810 bis 835 abgeschlossen
ist, wird der entschlüsselte
Datenrahmen im Schritt 840 in die OCM-Schaltung 525 geschrieben.
Zu einem beliebigen späteren
Zeitpunkt wird im Schritt 845 der entschlüsselte Datenrahmen
von der OCM-Schaltung 525 zu der Zentral-CPU/Speicher gesendet.
Dies kann die Entschlüsselung
unabhängig
von Wartezeiten bei Interruptreaktionen machen und kann einen vielfachen
Datentransfer zwischen dem Zentralrechner und einer zugeordneten
Entschlüsselungsbeschleunigungshardware über entsprechende
Busse vermeiden. Die festgestellten Unterschiede zwischen dem erneut
berechneten und entschlüsselten
Integritätswert
werden zu der MAC-Software auf der CPU 505 durch die Verschlüsselungsschaltung 540 gesendet.
-
Die
Treibersoftware 410, 510 bestimmt im Schritt 850,
ob es Unterschiede zwischen dem entschlüsselten Integritätswert und
dem berechneten Integritätswert
gibt. Wenn dies der Fall ist, kann die Treibersoftware 410, 510 eine
erforderliche Reaktion durchführen,
beispielsweise (Michael) Gegenmaßnahmen ergreifen zum Begrenzen
der Informationsmenge, die für
einen möglichen
nicht befugten WLAN-Eindringling verfügbar ist, indem Software-implementierte
Anweisungen im Schritt 855 auf der Grundlage der empfangenen
Unterschiede ausgeführt
werden.
-
Wie
aus 8 ersichtlich ist, können alle Aufgaben mit strengen
zeitlichen Randbedingungen, d. h. alle Schritte der Datenrahmenextraktion 860, durch
die einzelzweckgebundene bzw. zweckgebundene Einkapselungs-/Extraktionsschaltung 535 auf dem
WLAN-Chip 520, 520 ohne eine Wechselwirkung mit
der Treibersoftware 410, 510 ausgeführt werden.
-
Die
Datenrahmeneinkapselung und/oder Extraktion kann unter Anwendung
verschiedener Verschlüsselungsprotokolle
ausgeführt
werden. In einer Ausführungsform
kann das TKIP-Protokoll
angewendet werden. In dieser Ausführungsform können die Aufgaben
für die
Datenrahmeneinkapselung und/oder Extraktion RC4, CRC-32 und Michael
MIC umfassen. Die RC4-Verschlüsselung
kann in der zweckgebundenen Einkapselungs-/Extraktionsschaltung 535 implementiert
sein, wobei dieser Teil eine effiziente leistungsberücksichtigende
Baumarchitektur aufweist, ohne dass ein Bedarf für einen SRAM (statischer Speicher
mit wahlfreiem Zugriff) Verwendung besteht. Alle Datenzugriffe,
die zum Verschlüsseln
oder Entschlüsseln
eines Bytes eines Datenrahmens erforderlich sind, können über drei
Arbeitsperioden der zweckgebundenen Einkapselungs-/Extraktionsschaltung 535 aufgeteilt
werden. Es sind nur die notwendigen Baumsegmente aktiviert, beispielsweise
geladen und/oder eingeschaltet, die die Baumsegmente zwischen der
Wurzel und den beiden Blättern
zum Verschlüsseln
oder Entschlüsseln
eines Bytes eines Datenrahmens repräsentieren. Die verbleibenden
Leitungen und/oder Gatter bleiben auf niedrigrem Pegel.
-
In
einer weiteren Ausführungsform
kann die Datenrahmeneinkapselung und/oder Extraktion in Übereinstimmung
mit dem CCMP-Protokoll erreicht werden. In dieser Ausführungsform
können
die Datenrahmeneinkapselungs- und/oder Extraktionsaufgaben eine
CCMP-AES-Verschlüsselung
und/oder Entschlüsselung
und eine MIC-Berechnung auf CCMP-AES-Basis aufweisen. Ein Durchlauf der AES-Verschlüsselung 234 kann
in vier Arbeitsperioden der zweckgebundenen Einkapselungs-/Extraktionsschaltung 535 realisiert
werden. In der vorliegenden Ausführungsform
können
20 kryptographische Substitutionszuordnungen erforderlich sein,
die der Reihe nach mittels einer zweckgebundenen CCMP-AES-Schaltung
realisiert werden können,
die in der zweckgebundenen Einkapselungs-/Extraktionsschaltung 535 enthalten
ist. Dies kann zu einer geringeren Anzahl an Gattern im Vergleich
zum Stand der Technik führen.
Die zweckgebundene CCMP-AES-Schaltung kann mit nur lediglich 5 kryptographischen
Substitutionsbereichen arbeiten.
-
Wie
aus der vorhergehenden Beschreibung der Ausführungsformen ersichtlich wird,
kann die vorliegende Erfindung zum Implementieren der 802.11i Sicherheitserweiterung
in einer Hardware/Software geteilten bzw. partitionierten MAC-Architektur
angewendet werden. Es wird damit eine neue Funktionalität bereitgestellt.
Die zum Realisieren der 802.11i Sicherheitserweiterung erforderlichen
Funktionen können
in eine Teilmenge aufgeteilt werden, die innerhalb einer Treibersoftware 410, 510 realisiert
ist, die auf einer zentralen CPU 505 läuft, und ferner in eine komplementäre Teilmenge,
die durch eine zweckgebundene bzw. zugeordnete Hardware realisiert
wird. Lediglich Aufgaben mit strenger zeitlicher Vorgabe werden
der zweckgebundenen Hardware zugeordnet und die stets verfügbaren Zentral-CPU 505 kann
für alle
anderen Aufgaben verwendet werden, um somit Hardwareaufwand einzusparen.
In einer Ausführungsform
werden alle mit der Authentisierung verknüpften Aufgaben des 802.11i
der Software zugewiesen. Diese werden lediglich ein mal bei der
Authentisierung durchgeführt.
Alle Einkapselungs- und Extraktionsaufgaben von Datenrahmen können auf einer
zugeordneten Hardware, die bei 11 MHz Taktfrequenz betrieben wird,
verwirklicht werden.
-
Die
vorliegende Hardware/Software-partionierte Architektur für die 802.11i
Sicherheitserweiterung kann in Verbindung mit dem Am 1772 WLAN-Produkt
von AMD angewendet werden.
-
Wie
zuvor erläutert
ist, kann die Hardware/Software-Aufteilung so gewählt werden,
dass eine Einkapselung und eine Extraktion mit aktualisierten Paket-Sequenzzahlen
möglich
ist. Empfangene Datenrahmen mit kleinerer Paketzahl im Vergleich zu
bereits empfangenen Datenrahmen werden verworfen.
-
Ferner
kann die Hardware/Software-partionierte Verschlüsselungsarchitektur zu einer
Unabhängigkeit
von Wartezeiten, d. h. von Verzögerungen in
Verbindung mit Interrupt-Abarbeitungen,
an der Schnittstelle 515 zwischen der zugeordneten WLAN-Hardware 520 und
dem Softwaretreiber führen,
der in dem Zentralprozessor 505 des Systems installiert
ist. Bei Empfang kann das Entschlüsseln und die MIC-Berechnung
innerhalb der Hardwarepartition begonnen werden, ohne dass eine
Wechselwirkung mit der Softwarepartition stattfindet.
-
Obwohl
die Erfindung mit Bezug zu den physikalischen Ausführungsformen,
die in Übereinstimmung
damit aufgebaut sind, beschrieben ist, erkennt der Fachmann, dass
diverse Modifizierungen, Variationen und Verbesserungen der vorliegenden
Erfindung in Anbetracht der obigen Lehre und im Bereich der angefügten Patentansprüche durchgeführt werden
können,
ohne von dem Grundgedanken und dem beabsichtigten Schutzbereich
der Erfindung abzuweichen. Ferner sind jene Bereiche, von denen
angenommen wird, dass der Fachmann mit ihnen vertraut ist, hierin
nicht beschrieben, um die Erfindung nicht unnötig zu verdunkeln. Selbstverständlich ist
somit die Erfindung nicht als durch die speziellen anschaulichen
Ausführungsformen
eingeschränkt
zu sehen, sondern diese ist lediglich durch den Bereich der angefügten Patentansprüche definiert.