WPA – Verschlüsselung (TKIP)

Montag, 8 September 2008 21:02 - Geschrieben von René Lindhorst

WLAN-IconDas Temporal-Key-Integration-Protocol (TKIP) [Ins04a, 43ff] sollte die Schwachstellen von WEP in Bezug auf Verschlüsselung und Integritätssicherung beseitigen. Der bereits bei WEP eingesetzte RC4-Algorithmus wurde weiterhin verwendet, da er nicht für die Schwächen von WEP verantwortlich war und für eine Abwärtskompatibilität benötigt wurde ([Hof05, 98]). Die erhöhte Sicherheit von TKIP basiert auf den folgenden Änderungen bzw. Erweiterungen:

  • 48 Bit langer Initialisierungsvektor (IV) - Ein im Vergleich zu WEP doppelt so langer IV wird verwendet, um Schlüsselkollisionen zu vermeiden. Zusätzlich werden IVs, die zur Generierung von schwachen Schlüssel führen, ausgeschlossen, so dass FMS-Angriffe unwirksam sind.
  • IV als Sequenzzähler (TKIP Sequence Counter, TSC) – Der IV wird mit null initialisiert und mit jedem Paket um eins erhöht. Da die Gegenstelle nur noch TCS-Werte innerhalb eines 16 Pakete großen Fensters akzeptiert, werden Replay-Angriffe erschwert.
  • Message-Integrity-Code (MIC) als kryptografische Prüfsumme – Um zuverlässig eine Datenmanipulation auszuschließen wird eine 64 Bit lange Prüfsumme auf Nachrichten-Ebene sowohl über die Daten als auch über die Quell- und Zieladresse gebildet. Der MIC wird bei TKIP über eine als Michael bezeichnete kryptografische Hash-Funktion erzeugt, die einen eigenen geheimen Schlüssel benötigt. Die Prüfsumme wird zusammen mit den Daten durch TKIP verschlüsselt.
  • Gegenmaßnahmen gegen Angriffe – Da der MIC aufgrund der hardwaretechnischen Restriktionen keinen vollständigen Schutz bieten kann, wurden Gegenmaßnahmen gegen Angriffe definiert. So schreibt der Standard vor, dass wenn innerhalb von 60 s zwei MIC-Fehler aufgetreten sind, für weitere 60s keine Datenpakete angenommen werden dürfen. Durch diese Maßnahme werden Brute-Force-Angriffe o.Ä. stark verlangsamt, jedoch wird auch der normale Datenverkehr beeinträchtigt.
  • Mixing-Funktion erzeugt Per-Packet-Key - In zwei Phasen wird mittels Key-Mixing aus einem temporären Schlüssel, der MAC-Adresse des Senders und dem TSC der individuelle Schlüssel (WEP-Seed) zur Verschlüsselung generiert. Auf diese Weise wird für jedes Paket ein neuer individueller Schlüssel erzeugt.
  • Schlüsselhierarchie zur Schlüsselverwaltung – Es werden verschiedene geheime Schlüssel für unterschiedliche Aufgaben verwendet und diese werden von einer sog. Schlüsselhierarchie abgeleitet. So besitzt bspw. jeder Client zwei einzigartige Schlüssel zum Verschlüsseln der Daten und Erzeugen des MIC.

Verschlüsselung bei WPA (TKIP)

Wie in [Rec06, 444f] dargelegt und der obigen Grafik veranschaulicht wird, verwendet die TKIP-Verschlüsselung den alten WEP-Funktionsblock in Verbindung mit neuen Key-Mixing-Funktionen. Dabei läuft die Verschlüsselung der Daten, wie in [Ins04a, 43f] beschrieben, in den folgenden Schritten ab:

  • Über die im Klartext vorliegende Nachricht (MSDU) wird zur Integritätskontrolle der Message-Integrity-Code (MIC) gebildet. Die Eingabewerte für den Michael-Algorithmus sind:
    • die im Klartext vorliegenden Daten
    • der geheime MIC-Schlüssel
    • die MAC-Adressen des Senders (Source Address, SA)
    • die MAC-Adressen des Empfängers (Destination Address, DA)

  • Der MIC wird anschließend mit den Daten kombiniert und ggf. fragmentiert. Über die jeweils in ein MAC-Frame eingefügten Fragmente wird wie bei WEP ein Integrity-Check-Value (ICV) gebildet. Dies geschieht, da der WEP-Funktionsblock weiterverwendet wird.
  • In der ersten Phase des Key-Mixing wird der 128 Bit lange temporäre Schlüssel (Temporal Key, TK) mit der SA und den oberen 32 Bit des TKIP-Sequence-Counter (TSC), dem IV32, vermischt.
  • Der daraus entstandene Intermediate-Key (TKIP-Mixed Transmit Address and Key, TTAK) wird in der zweiten Phase erneut mit dem TK und den unteren 16 Bit des TSC (IV16) vermischt. Anschließend wird der TSC um eins erhöht.
  • Das Ergebnis des Key-Mixing ist ein 128 Bit langer WEP-Seed der auch als Per-Packet-Key (PPK) bezeichnet wird.
  • Aus dem WEP-Seed entsteht mittels des RC4-Zufallszahlengenerators (Pseudo Random Number Generator, PRNG) ein für die Übertragung einzigartiger Schlüsselstrom (Keystream).
  • Die eigentliche Erzeugung des Chiffretext (Ciphertext) erfolgt wie bei WEP, indem der Schlüsselstrom XOR mit den Daten inklusive MIC und dem ICV verknüpft wird.

Literaturverzeichnis:

[Hof05]
Matthias Hofherr: WLAN-Sicherheit. Professionelle Absicherung von 802.11-Netzen*. 2005
[Ins04a]
Institute of Electrical and Electronical Engineers: IEEE Std 802.11i. 2004
[Rec06]
Jörg Rech: Wireless LANs. 802.11-WLAN-Technologie und praktische Umsetzung im Detail*. 2006

(Quelle: Lindhorst, René: Sicherheit von drahtlosen Netzwerken, Diplomarbeit, November 2007)

* Affiliate-Link: Wer über diesen Link bei Amazon bestellt, der unterstützt lindhorst.cc mit einem kleinen Prozentsatz des weiterhin unveränderten Kaufpreises.

Ähnliche Beiträge:


Cappuccino – Web Application Framework unter LGPL veröffentlicht

Freitag, 5 September 2008 21:02 - Geschrieben von René Lindhorst

Cappuccino, dass Webframework welches u.a. hinter 280 Slides steckt und als Portierung von Cocoa in JavaScript bezeichnet wird, wurde nun unter LGPL veröffentlicht.

[...] Cappuccino is about building applications, not web pages. When you think about applications, think 280 Slides, or GMail, or Meebo. jQuery, Prototype, and others do a great job of making static web pages a little more interactive, but they weren’t designed for building full fledged applications. Similarly, Cappuccino is not for building web pages; it’s optimized for a completely different set of tasks.

280 Slides is the first app built on Cappuccino, and it’s a great showcase of what’s possible. Cappuccino builds in many of the features you see, like the Document architecture, object copy/paste, global undo and redo, drag and drop, and great graphics support.

[Cappuccino Blog » Blog Archive » Announcing Cappuccino]

cappuccino-icon.png

Bei Theocacao gibt es einen “First Look at Cappuccino and Objective-J”:

[...] The executive summary is that Cappuccino is re-implementation of many of the basic parts of Cocoa, and Objective-J is a language which looks nearly identical to Objective-C and “compiles down” into JavaScript. You can also use JavaScript right inline with Objective-J, similar to how you can use C in Objective-C. [...]

[...] Xcode and Interface Builder are now reasonable prototyping tools for web apps based on Cappuccino, and Mac programmers can now quickly become very effective client-side web developers. [...]

[Theocacao: First Look at Cappuccino and Objective-J]

Links:
Cappuccino Web Framework
280 Slides – Create & Share Presentations Online
Theocacao – First Look at Cappuccino and Objective-J

Ähnliche Beiträge:


Ruby on Rails Bücher von O’Reilly kostenlos

Donnerstag, 4 September 2008 19:33 - Geschrieben von René Lindhorst

Für alle die sich näher mit dem Webframework Rails auseinandersetzen möchten gibt es nun von O’Reilly zwei kostenlose Bücher:

Zwei Bücher zum Thema Ruby on Rails hat der Verlag O’Reilly in sein OpenBook-Programm aufgenommen. “Praxiswissen Ruby on Rails” und das “Rails Kochbuch” stehen zum kostenlosen Download zur Verfügung.

[Kostenlose Ruby-on-Rails-Bücher von O'Reilly - Golem.de]

Auch zu Adobe Flex 2 gibt es ein neues OpenBook von O’Reilly, Schnelleinstieg in Flex 2 von Roger Braunstein.

Links:
OpenBook: Praxiswissen Ruby On Rails
OpenBook: Rails Kochbuch
OpenBook: Schnelleinstieg in Flex 2

Ähnliche Beiträge:


MobileMe – Work in Progress

Mittwoch, 3 September 2008 20:19 - Geschrieben von René Lindhorst

Chuq Von Rospach, ein ehemaliger Mitarbeiter von Apple, über die Probleme von MobileMe:

The ultimate failure seemed to be more capacity planning mistakes than anything else, if I’m guessing right. but the ultimate failure was not being willing to tell Steve “we aren’t ready” and taking that heat.

[...]

Apple has the expertise; this isn’t a case of MobileMe problems crawling out into itunes, but Apple bringing the iTunes expertise into MobileMe. And having thrown Eddy Cue at the problem, that’s exactly what’s going to happen here.

[Chuqui 3.0: MobileMe Problems Show Apple Needs an Infrastructure Lesson]

Ähnliche Beiträge: