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,
- Układ przechodzi w tryb „nasłuchiwania” inteligentnej konfiguracji
- Aplikacja na smartfonie wysyła pakiet „UDP” z ustawieniami punktu dostępu
- 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.
wifi
texas-instruments
srinathhs
źródło
źródło
Odpowiedzi:
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ę.
źródło
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:
źródło
Spójrz na tę 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.
źródło
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 .
źródło