Як працює смарт-конфігурація Wi-Fi TI CC3000?


25

Wifi мікросхема ti cc3000 має спеціальний режим інтелектуального конфігурування, щоб дозволити початкову конфігурацію даних доступу до wifi.

Сторінка вікі cc3000 містить деякі деталі про те, як працює процес,

  1. Чіп переходить в режим розумного налаштування "прослуховування"
  2. Додаток на смарт-телефоні надсилає пакет "UDP" з налаштуваннями точки доступу
  3. Чіп фіксує ці дані та налаштовує себе

Мені відомо про захоплення пакетів і нюхання по Wi-Fi, але як чіп "розшифровує" необроблений пакет, щоб отримати з нього будь-яку інформацію? Я використовую wpa2-personal з AES на своєму маршрутизаторі.


3
Дякуємо, що розпочали бесіду з цього приводу на форумах TI - e2e.ti.com/support/low_power_rf/f/851/p/253463/983616.aspx - я попросив подальші запитання. І не дуже задоволений відповідями. Це здається CC3000 покладається на безпеку через невідомість , якщо один не використовує його за допомогою ключа AES. Зверніть увагу , що вони стверджують , що processors.wiki.ti.com/index.php / ... сторінка , на яку вказує @GregSadetsky застарів , але не вдаватися в те , що замінює його.
Джордж Хокінс

Відповіді:


33

Як @Colin згадує схему, яку TI тепер використовує для передачі мережевого SSID та ключової фрази з програми налаштування на пристрій, що підтримує CC3000, називається Smart Config.

Smart Config має передавати інформацію (мережевий SSID та ключову фразу) із захищеної мережі Wi-Fi на пристрій із підтримкою CC3000, який ще не в змозі розшифрувати трафік у цій мережі.

Спочатку CC3000 не підключений до мережі (але може контролювати трафік), тому програма Smart Config не може надсилати свою інформацію безпосередньо на пристрій. Натомість він надсилає пакети UDP на іншу існуючу машину в мережі - точку доступу Wi-Fi (AP). Якщо AP не зацікавлений у їх отриманні, не має значення, важливо лише, щоб пакети були видимими в мережі.

Хоча CC3000 може контролювати трафік, він не може його розшифрувати, він навіть не може точно сказати, що даний зашифрований пакет містить дані UDP. Тож як можна вибрати пакети UDP або зробити щось корисне з ними?

В основному Smart Config кодує свою інформацію не за змістом пакетів, які він надсилає, а за їх довжиною. Шифрування Wi-Fi впливає на довжину пакетів, але послідовно, тобто воно додає L додаткових байтів до розміру кожного пакету, де L - константа.

Додаток Smart Config кодує SSID та ключову фразу в довжину пакетів послідовності пакетів UDP. CC3000 може бачити зашифровані пакети та їх розміри.

У багатьох середовищах CC3000 зможе побачити трафік з декількох довколишніх мереж, тож як він може помітити відповідний трафік? Навіть після шифрування все ще можна побачити MAC адреси джерела та призначення пакету, щоб можна було групувати трафік таким чином. На додаток до первинної інформації, яку Smart Config намагається надіслати, вона також регулярно надсилає повторювані шаблони довжини пакету, тому CC3000 групує трафік, як описано, а потім шукає такі шаблони, коли знаходить їх у трафіку заданої кількості Пара джерела та місця призначення потім зосереджується на відновленні первинної інформації.

Очевидно, що це теж більше, ніж це, наприклад, навіть коли CC3000 знайшов пару джерела та призначення, які відповідають AP та машині, що працює за допомогою програми Smart Config, як вона фільтрує пакети Smart Config з іншого непов'язаного трафіку, що йде між AP і машина? Я все це написав у серії публікацій блогу.

Найбільш технічно детальний з них охоплює серце Smart Config - як він кодує SSID та ключову фразу і передає їх таким чином, що CC3000 може забрати їх:

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

Тоді у мене є менш технічна публікація, більш детальна думка про те, чому завжди слід використовувати AES-ключ із Smart Config:

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

У середині є технічний біт, який коротко описує, як ви налаштували шифр на Java з необхідним перетворенням AES, необхідним для роботи, як очікує CC3000.

І, нарешті, доказ пудингу - я написав заявку на емуляцію поведінки CC3000, пов’язаної з Smart Config, тобто вона може відновити SSID та ключову фразу, передану будь-яким додатком Smart Config, не потребуючи розшифрування відповідного мережевого трафіку. Тут можна знайти, де завантажити джерело та всі деталі:

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

Це повинно дати можливість перевірити поведінку будь-якої програми Smart Config, яку пише, тобто можна побачити, що CC3000 міг би реконструювати з даних, переданих додатком.

У мене є ще кілька публікацій, пов’язаних з Smart Config / CC3000:

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

Для отримання довідкової інформації також може бути цікаво прочитати ці теми на форумі TI, що стосується CC3000.

Перший, що охоплює Smart Config:

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

І один на mDNS, механізм, за допомогою якого програма Smart Config виявляє, що пристрій з підтримкою CC3000 приєднався до мережі:

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

В обох потоках деякі початкові повідомлення можуть здатися не настільки актуальними, але тут також змішана цікава інформація. Але також є багато недостовірної інформації, тому не вважайте, що вона є коректною, навіть інформація від співробітників TI або від мене (я зрештою дізнався багато, але почав з деяких неправильних припущень / переконань).

Патенти згадувались декілька разів, однак я не можу знайти жодних доказів того, що існують патенти, які розглядаються чи видаються на цю технологію.


1
Дивіться цю відповідь із відповідними коментарями до питання, яке я задав на обміні стека Cryto - це, здається, показує чіткий рівень попереднього рівня техніки для ідеї кодування довжини пакету в основі Smart Config. Це має стосуватися того, чи може бути запатентована будь-яка частина процесу.
Джордж Хокінс

3

Примітка. Як зазначено в коментарях до цієї відповіді та в інших відповідях, відповідь нижче не відображає поточну процедуру. Залишивши це для історичного запису.


Схоже, що CC3000 насправді прослуховує (у «розбещеному режимі») на всіх каналах wifi для запиту зондування AP, зондований (і підроблений) SSID AP, що містить інформацію, необхідну CC3000 для налаштування для підключення до «істинного» AP, через який він підключиться до Інтернету.

Трохи пошукавши, я знайшов цей опис першої конфігурації пристрою, яка повинна дати зрозуміти:

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

Найцікавіший біт:

Пристрій, такий як мобільний телефон або планшет, який використовується для першого ввімкнення Конфігурації, потрібно налаштувати для підключення до AP із спеціально створеним SSID. Цей SSID включає ім'я SSID, до якого ми хочемо підключити CC3000, а також інформацію про параметри безпеки, такі як тип безпеки та ключ.


2
Незначна точка - CC3000 завжди використовував режим монітора, а не розбещений режим. Підхід «Перша конфігурація», описаний у цій відповіді, та на сторінці, пов’язаній з TI, був замінений під назвою Smart Config, який описаний у моїй відповіді .
Джордж Хокінс

2
Ця відповідь не стосується підходу SmartConfig, а старої процедури, яка вже не використовується поточними пристроями.
Йоганнес Оверманн

2

Подивіться на це сторінку для отримання інформації.

АП не бере участь у цьому процесі. CC3000 прослуховує пакети UDP з мобільного телефону або іншого пристрою. Ця комунікація шифрується за допомогою AES, обидва пристрої мають. Мобільний телефон надсилає інформацію про ключ WPA2 маршрутизатора в цих пакетах. CC3000 знає ключ AES, який використовується мобільним телефоном, декодує дані та підключається до маршрутизатора.


1
Привіт, зі сторінки "пристрій, який використовується для налаштування (смартфон, планшет чи ПК), залишається підключеним до домашньої мережі користувача під час процесу налаштування (на відміну від інших методів, які потребують відключення)". Оскільки я не відключаю існуюче з'єднання, будь-який надісланий пакет буде зашифрований до wpa2, чи можете ви пояснити це далі?
srinathhs

@srinathhs: Я не можу пояснити невідповідність. Опублікуйте на форумі E2E, вони відповідуть.
Густаво Литовський

2

Відповідь @Greg Садецького (описуючи "Першу конфігурацію") добре підсумовує основний процес. Але в ході дискусії на форумі TI було виявлено, що CC3000 змінив процес, завдяки якому виконується ця автоматична конфігурація. Новий процес називається "smartconfig" замість конфігурації First Time, і TI, очевидно, готує заявку на патент на технологію. Схоже, використовується аналогічна схема, коли надсилаються спеціальні запити Wi-Fi "зонд", які вміло кодують мережеві облікові дані для CC3000.

Якщо ви не вирішите використовувати ключ шифрування AES для автоматичної конфігурації, алгоритм smartconfig використовує недокументований метод для придушення SSID точки доступу та ключа безпеки. Це по суті не є безпечним, оскільки якщо хтось вивчить алгоритм обфускування, за допомогою зворотної інженерії або інших засобів, безпека бездротової мережі піддається небезпеці. Після подання заявки на патент це стає загальнодоступним знанням, і ви повинні використовувати ключ шифрування AES з автоматичним режимом конфігурації CC3000, щоб забезпечити безпеку.

Станом на вересень 2013 року заявка на патент не була подана на основі огляду заявок на патент 2012–2013 рр. Фірмою Texas Instruments ( Google Patent Search Link: Texas Instruments, відсортованої за останньою датою подання заявки) ).

TI визнав незахищеність режиму конфігурації, що не належить до AES, і сказав, що вони рекомендуватимуть використовувати AES і зробити це за замовчуванням у майбутньому .


Привіт Колін, ви згадуєте, що станом на вересень 2013 року патент не був поданий. Чи можете ви дати джерело для цього? Спасибі.
Олександрос Марінос

@Alexandros Marinos - я здійснив онлайн-пошук патентів на заявки на патент, подані компанією Texas Instruments, і не знайшов жодних патентів, які, схоже, пов'язані з підключенням до бездротової локальної мережі. Я переглянув минулий рік і не побачив нічого пов'язаного.
Колін Д Беннетт

1
Дякуємо за відповідь. На жаль, у США та Великобританії подані патенти залишаються конфіденційними протягом 18 місяців. Це можна побачити, здійснивши пошук в Google на патент на заявки на патент, подані за останні 18 місяців. Тож TI, ймовірно, подав патент на це, але заявка недостатньо стара, щоб бути опублікованою. Неможливо побачити цей патент дуже дратує, оскільки моя компанія також знайшла спосіб досягти того ж, але ми не впевнені, чи не порушує він заявку на патент TI.
Олександрос Марінос
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.