TKIP
TKIP ist die Abkürzung von Temporal Key Integrity Protocol. Das Protokoll ist als Teil von Wifi-Protected Access (WPA) definiert und dient als Migrationslösung für alte Hardware, die zu Zeiten als Wired Equivalent Privacy (WEP) noch als sicher galt, hergestellt wurde (das heißt in etwa vor der Entdeckung der Fluhrer-Mantin-Shamir (FMS) Attacke in 2001). Da man jedoch nicht einfach einen neuen Verschlüsselungsalgorithmus definieren konnte, enthielt WPA zwei mögliche Verschlüsselungen: Zum einen das auf dem auch in WEP verwendeten Rivest Cipher 4 (RC4) Algorithmus, zum anderen aus dem Advanced Encryption Standard Counter Mode with Cipher-Block Chaining-Message Authentication Code Protocol (AES-CCMP). RC4 muss an sich nicht unsicher sein und ist auch nicht direkt knackbar, doch aufgrund der Einfachheit von RC4 gibt es ein Bedürfnis nach einer sicheren Verwendung des Algorithmus. Der Unterschied, warum WPA auch mit TKIP nicht gegenüber Attacken wie FMS anfällig ist, liegt an der unterschiedlichen Verwendung von RC4. Der Algorithmus an sich ist der selbe.
[Bearbeiten] Änderungen
TKIP führt drei Änderungen ein:
- RC4 wird nun anders mit Initialisierungs Vektoren (IV) verwendet.
- Es gibt nun den sogenannten „Michael“ Message Integrity Code, ein sehr einfacher Code, der dazu dient, Angriffe und Injections abzuhalten, da es alle 60 Sekunden nur einen fehlerhaften „Michael“ geben darf. Ansonsten wird der aktuelle Schlüssel geändert. Zwar gibt es heute Attacken, die die Eigenschaften von RC4 als Stream Cipher (d. h. es gibt keine Blöcke wie bei AES, die verschlüsselt werden, sondern man kann Daten beliebiger Länge verschlüsseln) ausnutzen, um Pakete zu injizieren. Allerdings sind diese aufgrund der Wartezeit zeitaufwendig.
- Pakete haben eine Sequenznummer, welche verhindert, dass ein Angreifer empfangene Pakete wieder einspielen kann (replay).
[Bearbeiten] Sicherheit
Die Fluhrer-Mantin-Shamir Attacke wie auch spätere setzen voraus, dass der Langzeitschlüssel mit dem IV einfach nur aneinandergehängt (konkateniert) wird. Daraus bildet sich dann z. B. bei WEP der Schlüssel, der für die nächsten Daten verwendet wird. Dieser IV wird meistens einfach um 1 erhöht. Nun ist das Problem, dass RC4 bei den ersten Bytes, die es ausgibt, stark biased, also schlüsselabhängig ist. Man kann aus der Ausgabe Informationen über den Key erlangen. Besondere IVs, sog. weak IVs, erlauben, dass man statistisch diese Abhängigkeit ausnutzt und somit Aussagen treffen kann, wie der Langzeitschlüssel aussehen müsste.
Die Lösung in WPA ist, dass man diese Konkatenation vermeidet und stattdessen einen dreiphasigen Algorithmus verwendet, der unter anderem auf der Substitutions-Box (S-Box) von AES basiert. Dadurch ist der Schlüssel, der aktuell verwendet wird, quasi selbst verschlüsselt. Dies verhindert Angriffe, die Aussagen über den Langzeitschlüssel treffen, da man selbst, wenn man den aktuellen Schlüssel herausfinden könnte, nichts damit anfangen könnte. Lediglich eine Entschlüsselung der Daten, die damit verschlüsselt wurden (maximal 10 MB), ist möglich.
[Bearbeiten] Zukunft
TKIP ist zurzeit von der WiFi Allianz als deprecated (veraltet) markiert und soll in einer zukünftigen Revision entfernt werden. An sich ist RC4 immer anfällig für Angriffe, da der Algorithmus so einfach ist, dass man ihn in etwa zehn Zeilen C-Quellcode implementieren kann. Dafür ist es natürlich erstaunlich, wie sicher dieser im Vergleich ist. Dennoch gibt es heutzutage fast keine Hardware mehr, die AES-CCMP und WPA2 nicht theoretisch unterstützt, und da AES, wie der Name schon sagt, Standard bei symmetrischen Verschlüsselungen geworden ist, sind diese auch weiträumig verfügbar.