Jak działa inteligentna konfiguracja Wi-Fi TI CC3000?

25

Układ Wi-Fi Ti cc3000 ma specjalny tryb inteligentnej konfiguracji, który umożliwia wstępną konfigurację szczegółów dostępu do Wi-Fi.

Strona wiki cc3000 zawiera szczegółowe informacje na temat tego procesu,

  1. Układ przechodzi w tryb „nasłuchiwania” inteligentnej konfiguracji
  2. Aplikacja na smartfonie wysyła pakiet „UDP” z ustawieniami punktu dostępu
  3. Układ przechwytuje te dane i konfiguruje się

Zdaję sobie sprawę z przechwytywania pakietów i wąchania Wi-Fi, ale w jaki sposób układ „odszyfrowuje” surowy pakiet, aby uzyskać z niego jakieś informacje? Używam wpa2-personal z AES na moim routerze.

srinathhs
źródło
3
Dziękujemy za rozpoczęcie rozmowy na ten temat na forach TI - e2e.ti.com/support/low_power_rf/f/851/p/253463/983616.aspx - zadałem tam pytania uzupełniające. I nie byłem bardzo zadowolony z odpowiedzi. To wydaje CC3000 podnosi bezpieczeństwo poprzez zapomnienie , jeśli nie używa go za pomocą klucza AES. Zauważ, że twierdzą, że strona processors.wiki.ti.com/index.php/… wskazana przez @GregSadetsky jest przestarzała, ale nie wchodź w to, co ją zastępuje.
George Hawkins

Odpowiedzi:

33

Jak @Colin wspomina schemat, że TI teraz używać do komunikowania się z SSID sieci i keyphrase z aplikacji konfiguracyjnej Do CC3000 włączone urządzenie nazywa Inteligentne Config.

Smart Config musi przesyłać informacje (SSID sieci i hasło) z bezpiecznej sieci Wi-Fi do urządzenia obsługującego CC3000, które nie jest jeszcze w stanie odszyfrować ruchu w tej sieci.

Początkowo CC3000 nie jest podłączony do sieci (ale może monitorować ruch), więc aplikacja Smart Config nie może wysłać swoich informacji bezpośrednio do urządzenia. Zamiast tego wysyła pakiety UDP do innego istniejącego komputera w sieci - punktu dostępu Wi-Fi (AP). Nie ma znaczenia, że ​​AP nie jest zainteresowany ich otrzymaniem, ważne jest, aby pakiety były widoczne w sieci.

Chociaż CC3000 może monitorować ruch, którego nie może odszyfrować, nie może nawet z całą pewnością stwierdzić, że dany zaszyfrowany pakiet zawiera dane UDP. Jak więc wybrać pakiety UDP lub zrobić z nimi coś pożytecznego?

Zasadniczo Smart Config koduje informacje nie w treści wysyłanych pakietów, ale w ich długości. Szyfrowanie Wi-Fi wpływa na długość pakietów, ale w spójny sposób, tzn. Dodaje L dodatkowych bajtów do wielkości każdego pakietu, gdzie L jest stałą.

Aplikacja Smart Config koduje identyfikator SSID i hasło w długościach sekwencji pakietów UDP. CC3000 może zobaczyć zaszyfrowane pakiety i ich rozmiary.

W wielu środowiskach CC3000 będzie w stanie zobaczyć ruch z wielu pobliskich sieci, więc w jaki sposób może wykryć odpowiedni ruch? Nawet po szyfrowaniu nadal widać adresy MAC źródła i przeznaczenia pakietu, dzięki czemu można grupować ruch w ten sposób. Oprócz podstawowych informacji, które Smart Config próbuje wysłać, wysyła również regularnie powtarzające się wzorce długości pakietów, więc CC3000 grupuje ruch zgodnie z opisem, a następnie wyszukuje takie wzorce, gdy znajdzie je w ruchu danego następnie para źródłowa i docelowa koncentruje się w celu odzyskania podstawowych informacji.

Jest oczywiście coś więcej, np. Nawet gdy CC3000 znajduje parę źródłową i docelową, które odpowiadają punktowi dostępowemu i maszynie z aplikacją Smart Config, w jaki sposób filtruje pakiety Smart Config od innego niezwiązanego ruchu przechodzącego między AP i maszyna? Wszystko to napisałem w szeregu postów na blogu.

Najbardziej szczegółowy pod względem technicznym obejmuje serce Smart Config - sposób, w jaki koduje SSID i hasło oraz przesyła je w taki sposób, aby CC3000 mógł je odebrać:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-transmitting-ssid.html

Potem mam post mniej techniczny, bardziej opiniujący, dlaczego zawsze powinieneś używać klucza AES w Smart Config:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-aes.html

Pośrodku jest fragment techniczny, który krótko opisuje, jak skonfigurować szyfr w Javie z niezbędną transformacją AES potrzebną do działania zgodnie z oczekiwaniami CC3000.

I na koniec dowód puddingu - napisałem aplikację do emulacji zachowania CC3000 związanego ze Smart Config, tzn. Może odzyskać SSID i słowo kluczowe przesyłane przez dowolną aplikację Smart Config bez potrzeby odszyfrowywania odpowiedniego ruchu sieciowego. Tutaj możesz znaleźć, gdzie pobrać źródło i wszystkie szczegóły:

http://depletionregion.blogspot.ch/2013/10/cc3000-smart-config-and-keyphrase.html

Powinno to umożliwić przetestowanie zachowania dowolnej zapisanej aplikacji Smart Config, tzn. Zobaczyć, co CC3000 byłby w stanie zrekonstruować na podstawie danych przesyłanych przez aplikację.

Mam też kilka innych postów związanych ze Smart Config / CC3000:

http://depletionregion.blogspot.ch/search/label/CC3000

Aby uzyskać pewne informacje ogólne, interesujące może być również przeczytanie tych wątków na forum TI dotyczącym CC3000.

Pierwszy dotyczy samego Smart Config:

http://e2e.ti.com/support/low_power_rf/f/851/t/253463.aspx

I jeden w mDNS, mechanizm, za pomocą którego aplikacja Smart Config wykrywa, że ​​urządzenie obsługujące CC3000 dołączyło do sieci:

http://e2e.ti.com/support/low_power_rf/f/851/p/290584/1020839.aspx

W obu wątkach niektóre początkowe komunikaty mogą nie wydawać się tak trafne, ale zawiera też kilka interesujących informacji. Ale jest też wiele niedokładnych informacji, więc nie zakładaj, że wszystkie są poprawne, nawet informacje od pracowników TI lub ode mnie (w końcu wiele się nauczyłem, ale zacząłem od niepoprawnych założeń / przekonań).

Patenty zostały wspomniane kilka razy, jednak nie mogę znaleźć żadnych dowodów na to, że istnieją lub nie udzielono patentów na tę technologię.

George Hawkins
źródło
1
Zobacz tę odpowiedź , wraz z powiązanymi komentarzami, na pytanie, które zadałem na wymianie stosu Cryto - wydaje się, że pokazuje ona jasny stan wiedzy na temat idei kodowania długości pakietów w sercu Smart Config. Powinno to mieć znaczenie dla tego, czy jakakolwiek część procesu może zostać opatentowana.
George Hawkins
3

Uwaga: Jak zauważono w komentarzach do tej odpowiedzi oraz w innych odpowiedziach, odpowiedź poniżej nie odzwierciedla bieżącej procedury. Pozostawiając to dla rekordu historycznego.


Wygląda na to, że CC3000 faktycznie nasłuchuje (w „trybie promiscuous”) na wszystkich kanałach Wi-Fi w poszukiwaniu żądania sondy AP, sondowany (i fałszywy) identyfikator SS AP zawierający informacje, które CC3000 wymaga skonfigurowania, aby połączyć się z „prawdziwym” AP, przez który będzie łączyć się z Internetem.

Po krótkich poszukiwaniach znalazłem ten opis pierwszej konfiguracji urządzenia, który powinien wyjaśnić:

http://processors.wiki.ti.com/index.php/CC3000_First_Time_Configuration

Najciekawszy kawałek:

Urządzenie, takie jak telefon komórkowy lub tablet używane do pierwszego uruchomienia Konfiguracja musi zostać skonfigurowana do połączenia z punktem dostępowym za pomocą specjalnie spreparowanego identyfikatora SSID. Ten identyfikator SSID zawiera nazwę identyfikatora SSID, z którym chcemy się połączyć z CC3000, a także informacje o opcjach zabezpieczeń, takich jak typ zabezpieczeń i klucz.

Greg Sadetsky
źródło
2
Drobny punkt - CC3000 zawsze używał trybu monitorowania, a nie trybu rozwiązłego. Podejście do konfiguracji po raz pierwszy opisane w tej odpowiedzi oraz na stronie z linkami do TI zostało zastąpione przez Smart Config, który jest objęty moją odpowiedzią .
George Hawkins
2
Ta odpowiedź nie dotyczy podejścia SmartConfig, ale starej procedury, która nie jest już używana przez obecne urządzenia.
Johannes Overmann
2

Spójrz na stronę, aby uzyskać informacje.

AP nie bierze udziału w tym procesie. CC3000 nasłuchuje pakietów UDP z telefonu komórkowego lub innego urządzenia. Ta komunikacja jest szyfrowana za pomocą AES, oba urządzenia ją obsługują. Telefon komórkowy wysyła informacje o kluczu WPA2 routera w tych pakietach. CC3000 zna klucz AES używany przez telefon komórkowy, dekoduje dane i łączy się z routerem.

Gustavo Litovsky
źródło
1
cześć, Ze strony „urządzenie użyte do konfiguracji (smartfon, tablet lub komputer) pozostaje podłączone do sieci domowej użytkownika podczas procesu konfiguracji (w przeciwieństwie do innych metod wymagających odłączenia)”. Ponieważ nie rozłączam istniejącego połączenia, każdy wysłany pakiet zostanie zaszyfrowany na wpa2, czy możesz to wyjaśnić?
srinathhs
@srinathhs: Nie potrafię wyjaśnić rozbieżności. Post na forum E2E, odpowiedzą.
Gustavo Litovsky
2

Odpowiedź @Greg Sadetsky (opisująca „konfigurację za pierwszym razem”) dobrze podsumowuje podstawowy proces. Jednak podczas dyskusji na forum TI ujawniono, że CC3000 zmienił proces wykonywania tej automatycznej konfiguracji. Nowy proces nazywa się „smartconfig” zamiast pierwszej konfiguracji, a TI najwyraźniej przygotowuje wniosek patentowy dla tej technologii. Wydaje się, że wykorzystuje podobny schemat, w którym wysyłane są specjalne żądania „sondy” Wi-Fi, które sprytnie kodują poświadczenia sieciowe dla CC3000.

Jeśli zdecydujesz się nie używać klucza szyfrowania AES do automatycznej konfiguracji, algorytm smartconfig użyje nieudokumentowanej metody w celu zaciemnienia identyfikatora SSID punktu dostępu i klucza bezpieczeństwa. Nie jest to z natury bezpieczne, ponieważ jeśli ktoś pozna algorytm zaciemniania, za pomocą inżynierii wstecznej lub innych środków, bezpieczeństwo sieci bezprzewodowej jest zagrożone. Po złożeniu wniosku patentowego jest on własnością publiczną i aby go zabezpieczyć, należy użyć klucza szyfrowania AES w trybie automatycznej konfiguracji CC3000.

We wrześniu 2013 r. Zgłoszenie patentowe nie zostało złożone na podstawie przeglądu zgłoszeń patentowych z lat 2012–2013 przez Texas Instruments ( link Google Search Search: Texas Instruments, posortowany według daty ostatniego zgłoszenia )

Firma TI potwierdziła niepewność związaną z trybem konfiguracji innym niż AES i powiedziała, że ​​zaleci użycie AES i sprawi, że będzie ona domyślna w przyszłości .

Colin D. Bennett
źródło
Cześć Colin, wspominasz, że od września 2013 r. Patent nie został złożony. Czy możesz podać źródło? Dzięki.
Alexandros Marinos
@Alexandros Marinos - przeprowadziłem wyszukiwanie patentów online dla wniosków patentowych złożonych przez Texas Instruments i nie znalazłem żadnych patentów, które mogłyby być związane z podłączeniem do bezprzewodowej sieci LAN. Obejrzałem się w zeszłym roku i nie zauważyłem nic związanego.
Colin D Bennett,
1
Dzięki za odpowiedzi. W Stanach Zjednoczonych i Wielkiej Brytanii zgłoszone patenty pozostają niestety poufne przez 18 miesięcy. Możesz to sprawdzić, przeprowadzając w Google wyszukiwanie patentów dla wniosków patentowych złożonych w ciągu ostatnich 18 miesięcy. Prawdopodobnie TI złożyło wniosek o patent, ale wniosek nie jest wystarczająco stary, aby go opublikować. Brak możliwości zobaczenia tego patentu jest irytujący, ponieważ moja firma również znalazła sposób na osiągnięcie tego samego, ale nie jesteśmy pewni, czy narusza on wniosek patentowy TI.
Alexandros Marinos