Der ti cc3000 WLAN-Chip verfügt über einen speziellen Smart-Konfigurationsmodus, der die Erstkonfiguration der WLAN-Zugangsdaten ermöglicht.
Die cc3000-Wiki-Seite enthält einige Details zur Funktionsweise.
- Der Chip wechselt in einen Smart Config "Listen" -Modus
- Die Anwendung auf dem Smartphone sendet ein "UDP" -Paket mit Zugangspunkteinstellungen
- Der Chip erfasst diese Daten und konfiguriert sich selbst
Ich bin mir der Paketerfassung und des WLAN-Schnüffelns bewusst, aber wie "entschlüsselt" der Chip das Rohpaket, um Informationen daraus zu erhalten? Ich verwende wpa2-personal mit AES auf meinem Router.
wifi
texas-instruments
Srinathhs
quelle
quelle
Antworten:
Wie @Colin erwähnt, wird das Schema, das TI jetzt verwendet, um eine Netzwerk-SSID und eine Schlüsselphrase von einer Setup-Anwendung an ein CC3000-fähiges Gerät zu übertragen, als Smart Config bezeichnet.
Smart Config muss Informationen (die Netzwerk-SSID und die Schlüsselphrase) von einem sicheren WLAN-Netzwerk an ein CC3000-fähiges Gerät übertragen, das den Datenverkehr in diesem Netzwerk noch nicht entschlüsseln kann.
Anfänglich ist der CC3000 nicht mit dem Netzwerk verbunden (kann jedoch den Datenverkehr überwachen ), sodass die Smart Config-Anwendung ihre Informationen nicht direkt an das Gerät senden kann. Stattdessen werden UDP-Pakete an einen anderen vorhandenen Computer im Netzwerk gesendet - den Wifi Access Point (AP). Dass der AP nicht daran interessiert ist, sie zu empfangen, ist irrelevant. Es ist nur wichtig, dass die Pakete im Netzwerk sichtbar sind.
Während der CC3000 den Datenverkehr überwachen kann, kann er ihn nicht entschlüsseln, er kann jedoch nicht sicher sagen, dass ein bestimmtes verschlüsseltes Paket UDP-Daten enthält. Wie kann es also die UDP-Pakete heraussuchen oder irgendetwas Nützliches damit anfangen?
Grundsätzlich codiert Smart Config seine Informationen nicht im Inhalt der gesendeten Pakete, sondern in ihrer Länge. Die WLAN-Verschlüsselung wirkt sich auf die Länge der Pakete aus, jedoch auf konsistente Weise, dh, sie fügt der Größe jedes Pakets L zusätzliche Bytes hinzu, wobei L eine Konstante ist.
Die Smart Config-Anwendung codiert die SSID und die Schlüsselphrase in die Paketlängen einer Sequenz von UDP-Paketen. Der CC3000 kann die verschlüsselten Pakete und ihre Größen sehen.
In vielen Umgebungen kann der CC3000 Datenverkehr von mehreren in der Nähe befindlichen Netzwerken sehen. Wie kann er den relevanten Datenverkehr erkennen? Selbst nach der Verschlüsselung kann man die MAC-Adressen der Quelle und des Ziels eines Pakets sehen, so dass man den Verkehr auf diese Weise gruppieren kann. Zusätzlich zu den primären Informationen, die Smart Config zu senden versucht, werden auch regelmäßig wiederkehrende Muster mit Paketlängen gesendet. Daher gruppiert der CC3000 den Datenverkehr wie beschrieben und sucht dann nach solchen Mustern, wenn er sie im Datenverkehr eines bestimmten Typs findet Das Quell- und Zielpaar wird dann fokussiert, um die primären Informationen wiederherzustellen.
Natürlich gibt es auch mehr als das: Wie filtert der CC3000 die Smart Config-Pakete aus anderem, nicht miteinander in Beziehung stehendem Datenverkehr zwischen dem AP und die Maschine? Ich habe das alles in einer Reihe von Blog-Posts geschrieben.
Das technisch ausführlichste behandelt das Herz von Smart Config - wie es die SSID und die Schlüsselphrase codiert und so überträgt, dass ein CC3000 sie abholen kann:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-transmitting-ssid.html
Dann habe ich einen Beitrag, der weniger technisch ist, als vielmehr eine Meinung dazu, warum Sie in Smart Config immer einen AES-Schlüssel verwenden sollten:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-aes.html
In der Mitte befindet sich ein technisches Teil, in dem kurz beschrieben wird, wie Sie eine Verschlüsselung in Java mit der erforderlichen AES-Umwandlung konfigurieren, die für den erwarteten Betrieb des CC3000 erforderlich ist.
Und schließlich der Beweis für den Pudding: Ich habe eine Anwendung geschrieben, mit der das Smart Config-bezogene Verhalten des CC3000 nachgebildet werden kann, dh die SSID und die Schlüsselphrase, die von jeder Smart Config-Anwendung übertragen werden, können wiederhergestellt werden, ohne dass der relevante Netzwerkverkehr entschlüsselt werden muss. Hier können Sie den Quellcode und alle Details herunterladen:
http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-keyphrase.html
Dies sollte es einem ermöglichen, das Verhalten jeder Smart Config-Anwendung zu testen, die man schreibt, dh man kann sehen, was ein CC3000 aus den von der Anwendung übertragenen Daten rekonstruieren kann.
Ich habe auch ein paar weitere Beiträge zu Smart Config / CC3000:
http://depletionregion.blogspot.ch/search/label/CC3000
Für einige Hintergrundinformationen kann es auch interessant sein, diese Threads im für den CC3000 relevanten TI-Forum durchzulesen.
Erste, die Smart Config selbst behandelt:
http://e2e.ti.com/support/low_power_rf/f/851/t/253463.aspx
Und einer in mDNS, dem Mechanismus, mit dem eine Smart Config-Anwendung erkennt, dass ein CC3000-fähiges Gerät dem Netzwerk beigetreten ist:
http://e2e.ti.com/support/low_power_rf/f/851/p/290584/1020839.aspx
In beiden Threads scheinen einige anfängliche Nachrichten nicht so relevant zu sein, aber es gibt auch einige interessante Informationen. Es gibt aber auch eine Menge ungenauer Informationen. Gehen Sie also nicht davon aus, dass alle Informationen korrekt sind, auch nicht von TI-Mitarbeitern oder von mir.
Patente wurden einige Male erwähnt, ich kann jedoch keine Beweise dafür finden, dass für diese Technologie Patente angemeldet oder erteilt wurden.
quelle
NB Wie in den Kommentaren zu dieser Antwort und in den anderen Antworten angegeben, spiegelt die Antwort unten nicht das aktuelle Verfahren wider. Lassen Sie dies für die historische Aufzeichnung.
Es scheint, als würde der CC3000 tatsächlich (im "Promiscuous-Modus") auf allen WLAN-Kanälen nach einer AP-Prüfanforderung suchen, wobei die SSID des geprüften (und gefälschten) AP die Informationen enthält, die der CC3000 benötigt, um sich selbst zu konfigurieren, um eine Verbindung zum "True" herzustellen. AP, über den eine Verbindung zum Internet hergestellt wird.
Nachdem ich ein bisschen gesucht hatte, fand ich diese Beschreibung der erstmaligen Konfiguration des Geräts, die es klar machen sollte:
http://processors.wiki.ti.com/index.php/CC3000_First_Time_Configuration
Das interessanteste Stück:
quelle
Schauen Sie sich diese Seite für Informationen an.
Der AP ist an diesem Prozess nicht beteiligt. Der CC3000 hört die UDP-Pakete vom Mobiltelefon oder einem anderen Gerät ab. Diese Kommunikation wird mit AES verschlüsselt, beide Geräte haben es. Das Mobiltelefon sendet in diesen Paketen Informationen über den WPA2-Schlüssel des Routers. Der CC3000 kennt den vom Mobiltelefon verwendeten AES-Schlüssel, decodiert die Daten und verbindet sich mit dem Router.
quelle
Die Antwort von @Greg Sadetsky (die "Erstkonfiguration" beschreibt) fasst den grundlegenden Prozess gut zusammen. In der Diskussion im TI-Forum wurde jedoch deutlich, dass der CC3000 den Prozess geändert hat, mit dem diese automatische Konfiguration durchgeführt wird. Der neue Prozess heißt "smartconfig" anstelle von "First Time Configuration" und TI bereitet offenbar eine Patentanmeldung für die Technologie vor. Es scheint ein ähnliches Schema zu verwenden, bei dem spezielle Wi-Fi-Prüfanforderungen gesendet werden, die die Netzwerkanmeldeinformationen für den CC3000 geschickt codieren.
Wenn Sie für die automatische Konfiguration keinen AES-Verschlüsselungsschlüssel verwenden, verwendet der smartconfig-Algorithmus eine undokumentierte Methode, um die SSID und den Sicherheitsschlüssel des Zugriffspunkts zu verschleiern. Dies ist von Natur aus nicht sicher, da die Sicherheit des drahtlosen Netzwerks gefährdet ist, wenn jemand den Verschleierungsalgorithmus durch Reverse Engineering oder andere Maßnahmen lernt. Sobald die Patentanmeldung eingereicht wurde, ist sie gemeinfrei und Sie müssen einen AES-Verschlüsselungsschlüssel mit dem automatischen Konfigurationsmodus CC3000 verwenden, um sicher zu sein.
Bis September 2013 wurde die Patentanmeldung nicht eingereicht, basierend auf der Überprüfung der Patentanmeldungen 2012-2013 durch Texas Instruments ( Link zur Google-Patentsuche: Texas Instruments, sortiert nach dem jüngsten Anmeldetag ).
TI hat die Unsicherheit des Nicht-AES-Konfigurationsmodus anerkannt und erklärt, dass die Verwendung von AES empfohlen und in Zukunft als Standard festgelegt wird .
quelle