<
  • Главная
Статьи

Wi-Fi-процесори CC3100 / CC3200: безпека для Інтернету речей

  1. Методи організації безпечного обміну в IoT
  2. Огляд Wi-Fi-рішень CC3100 / CC3200 від Texas Instruments
  3. Оцінка рівня споживання Wi-Fi-пристроїв на базі CC3100 / CC3200
  4. Особливості написання прикладного ПО для систем на базі CC3100 / CC3200
  5. Використання API при роботі з CC3100 / CC3200
  6. Висновок
  7. література
  8. Про компанію Texas Instruments

Інтернет речей (IoT) - перспективна технологія, яка притягує не лише сумлінних споживачів, але і зловмисників, що використовують лазівки в системах безпеки IoT-пристроїв для незаконних дій Інтернет речей (IoT) - перспективна технологія, яка притягує не лише сумлінних споживачів, але і зловмисників, що використовують лазівки в системах безпеки IoT-пристроїв для незаконних дій. До сих пір створення по-справжньому захищених бездротових IoT-додатків «з нуля» було доступно тільки для великих компаній, але на ринку стали з'являтися бюджетні спеціалізовані рішення, наприклад, Wi-Fi-процесори CC3100 / CC3200 виробництва компанії Texas Instruments.

В даний час Інтернет речей (IoT) об'єднує мільярди пристроїв і продовжує нарощувати популярність. Ця технологія надзвичайно перспективна і дуже приваблива з фінансової точки зору. Інтерес до неї підвищується як з боку пересічних споживачів, так і з боку бізнесу в особі великих і дрібних компаній - розробників електроніки. При такому величезному потенціалі і гігантські темпи зростання є всі підстави вважати, що скоро цей ринок стане цікавий і для зловмисників.

Для багатьох споживачів Інтернет речей представляється технологією, яка спрощує побут: це і своєчасний автоматичний запуск пральної машинки, і підігрів води в басейні, і інше. В такому аспекті загроза від хакерів здається надуманою - навряд чи якийсь злий геній зазіхне на те, щоб підпорядкувати собі всі сусідські пилососи. А ось отримати доступ до системи охоронної сигналізації будинку або безперешкодно проникнути на склад - загрози вже більш реальні. Однак навіть не це головне. Справа в тому, що IoT пов'язаний з грошовими транзакціями, наприклад, Інтернет-банкінгом, оплатою комунальних послуг, автоматичними замовленнями послуг і товарів через Інтернет і так далі. Ось тут і спостерігається основна потенційна загроза.

Якщо канали передачі даних не будуть належним чином захищені, то ризик залишитися без електронних грошей значно підвищується. При цьому варто з розумінням ставитися до психології споживача. Коли він купує «розумну» техніку - він має право розраховувати на те, що її виробник вже подбав про те, щоб забезпечити належний рівень безпеки. Чи завжди це так? На жаль не завжди.

Зараз на ринку IoT сусідять розробки самого різного рівня: «падлюка» від незалежних розробників IoT, недорогі рішення від азіатських маловідомих або зовсім невідомих виробників, пристрої, створені іменитими компаніями. На жаль, ймовірність того, що перші дві з перерахованих груп приділяють достатньо уваги вирішенню проблем безпеки, практично дорівнює нулю.

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

Маловідомі азіатські виробники рідко можуть похвалитися високим рівнем програмної безпеки. Для них ключовим фактором часто стає оригінальність ідей і рішень, а наднизька ціна кінцевого продукту. На жаль, вартість реалізації функцій і протоколів захисту може виявитися вище, ніж розробка і виробництво самого пристрою.

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

Таким чином, незважаючи на те, що стандарти для IoT поки знаходяться на стадії розробки, вже зараз можна позначити мінімальний набір вимог, яким повинні задовольняти «розумні» пристрої Інтернету речей, щоб бути затребуваними на ринку:

  • забезпечувати високий рівень безпеки при обміні даними;
  • мати мінімальну ціну і бути доступними;
  • відрізнятися простотою використання і мінімальним енергоспоживанням.

Немає сумнівів, що всі ці завдання можна буде вирішувати швидко і просто, як тільки з'являться спеціалізовані інтегральні рішення. Яскравим доказом цього стають нові мікросхеми CC3100 / CC3200 для створення Wi-Fi-додатків, які виробляє компанія Texas Instruments. CC3100 - мережевий Wi-Fi-процесор, що дозволяє забезпечити безпечне підключення будь-якого мікроконтролера до мереж Wi-Fi. CC3200 - інтегральне рішення, що поєднує в одному корпусі функціонал мережевого Wi-Fi-процесора і міць мікроконтролера ARM Cortex-M4.

Головними особливостями CC3100 / CC3200 є:

  • готове рішення проблем безпеки передачі даних;
  • забезпечення максимально швидкого створення Wi-Fi-додатків;
  • мінімальне споживання;
  • мінімальна вартість мікросхем;
  • наявність готових засобів розробки: програмних бібліотек, прикладів, налагоджувальних наборів і так далі.

Методи організації безпечного обміну в IoT

Інтернет речей безпосередньо взаємодіє з сервісами електронного банкінгу, Інтернет-магазинами, сферою послуг, в тому числі - і державних. Все це перетворює проблему забезпечення безпеки в одну з ключових завдань галузі в цілому.

З точки зору зловмисників кожне IoT-пристрій - це потенційна лазівка ​​до незаконного збагачення. З цієї причини вкрай важливо, щоб з точки зору розробника це ж пристрій розглядалося як слабка ланка, яке необхідно захищати належним чином. На щастя, сфера безпеки досить розвинена і існують перевірені методи організації захисту при обміні даними [1]:

  • приватний обмін з шифруванням (Private communication), при якому дані перед передачею шифруються і можуть бути розкодовані тільки при наявності у приймаючої сторони ключа шифрування;
  • обмін з аутентифікацією користувача (End-point authentication), коли перед обміном інформацією боку проводять ідентифікацію один одного;
  • обмін з аутентифікацією інформації, коли вся критична і важлива інформація, наприклад, дані, оновлення та інше, повинні мати цифровий підпис, щоб підтвердити своє першоджерело.

Перераховані методи засновані на використанні наступних базових рішень [1]:

  • Шифрування. Говорячи про шифрування, варто підкреслити, що готові і надійні рішення вже створені. Популярні шифри AES (Advanced Encryption Standard), SHA2 (Secure Hash Algorithm), RSA і ECC можна вважати максимально надійними, так як відсутні дані про те, що вони були хоча б раз зламані.
  • Протоколи безпеки транспортного рівня. Сучасна група протоколів TLS (Transport Layer Security) і її попередник SSL (Secure Sockets Layer) - криптографічні протоколи, що забезпечують захист даних при обміні між вузлами різних мереж. При використанні TSL застосовується як шифрування даних, так і метод обміну з аутентифікацією кінцевого вузла.
  • Інфраструктура відкритих ключів PKI (Public key infrastructure) - основний механізм проведення аутентифікації з використанням засвідчувальних центрів, які виступають в якості довіреної третьої особи при обміні даними між кінцевими користувачами.

Використання перерахованих методів має кілька очевидних переваг:

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

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

Тут необхідно зробити невелике пояснення. Справа в тому, що величезна кількість IoT-пристроїв будується на базі малопотужних і недорогих мікроконтролерів. Вони, з одного боку, відрізняються низькою обчислювальною потужністю, а з іншого - вкрай рідко мають на борту навіть елементарні блоки шифрування. В результаті такі контролери просто фізично не можуть вмістити в собі важкі протоколи безпеки TSL / SSL. При цьому використання дорогих процесорів з вбудованим шифруванням виявляється економічно невигідним.

Протоколи безпеки TSL / SSL виявляються «не по зубах» не тільки малопотужним контролерам, а й самим розробникам. Необхідний досвід мають одиниці, а найняти стороннього програміста невеликому стартапу або скромною компанії не під силу.

Виникає дивна ситуація, при якій реалізація програмних методів безпеки виявляється складніше і дорожче, ніж створення, виробництво і написання функціонального ПЗ разом узяті. Якщо до цього додати, що IoT - це, в першу чергу, технологія, орієнтована на бездротову передачу даних, і перед розробниками стоїть завдання впровадження Wi-Fi, Bluetooth або аналогічного протоколу, то перспективи невеликих компаній стають зовсім сумними. Однак не варто впадати у відчай завчасно: попит народжує пропозицію, і на ринку починають з'являтися недорогі спеціалізовані пристрої, які знімають з плечей програмістів та інженерів-схемотехніки вантаж більшості найскладніших завдань. Так, наприклад, нові Wi-Fi-співпроцесори CC3100 і CC3200 разом вирішують проблеми безпеки, інтеграції в Wi-Fi-мережі, рівня споживання і вартості кінцевих виробів.

Огляд Wi-Fi-рішень CC3100 / CC3200 від Texas Instruments

Мал. 1. Блок-схема мережевого Wi-Fi-співпроцесора CC3100

При проектуванні мережевих процесорів CC3100 / CC3200 компанія Texas Instruments прагнула до того, щоб максимально спростити життя творцям IoT-додатків. Малося на увазі, що CC3100 / CC3200 цілком і повністю візьмуть на себе питання організації Wi-Fi-з'єднань і рішення проблем безпеки при обміні даними, в той час як розробники зосередяться на самому виробі. Розглянемо особливості кожного з процесорів більш докладно.

CC3100 - мережевий Wi-Fi-співпроцесор, що дозволяє забезпечити безпечне підключення будь-якого мікроконтролера до Wi-Fi-мереж. До складу CC3100 входять всі необхідні для цього блоки (рисунок 1): процесор ARM, що виконує основні функції (Wi-Fi-драйвер, протоколи Internet), блок комунікаційних інтерфейсів для зв'язку з контроллером, система харчування і тактирования.

Wi-Fi-драйвер підтримує стеки протоколів TCP / IP і TLS / SSL. Він здатний виконувати передачу даних на швидкості до 13 Мбіт TCP і до 16 Мбіт UDP (таблиця 1) [4]. Допускається одночасна робота до восьми сокетов TCP / UDP і до двох гнізд TLS / SSL [4].

Таблиця 1. Можливості мережі CC3100 [4]

Область Категорія Функціонал Примітка TCP / IP Мережевий стек IPv4 Базовий варіант стека IPv4 TCP / IP Мережевий стек TCP / UDP Основні протоколи TCP / IP Протоколи DHCP Режими «Клієнт» і «Сервер» TCP / IP Протоколи ARP Підтримка протоколу ARP TCP / IP Протоколи DNS / mDNS Визначення адреси по імені (DNS Address resolution) і локальний сервер TCP / IP Протоколи IGMP До 3 IGMPv3 для управління мультикаст TCP / IP Додатки mDNS Поддержівка мультікастового mDNS для оголошення сервісів через IP (service publishing over IP) TCP / IP Додатки mDNS- SD Протокол виявлення сервісів через IP в локальній мережі TCP / IP Додатки WEB Server / HTTP Server Формування статичних і динамічних відповідей з використанням шаблонізатора TCP / IP Безпека TLS / SSL TLS v1.2 (client / server) / SSL v3.0 TCP / IP Безпека TLS / SSL Див. Simple Link Wi-Fi CC3100 SDK для підтримуваних Cipher Suite TCP / IP Сокети RAW Sockets Обумовлена ​​користувачем інкапсуляція на рівнях WLAN MAC / PHY або IP WLAN Підключення Policies Управління підключенням і перепідключеннями до тієї чи іншої доступної Wi-Fi-мережі WLAN MAC Promiscuous Mode Режим прийому всіх фреймів з фільтрацією, незалежно від того, кому вони адресовані WLAN Продуктивність Initialization time Менше 50 мс з моменту сигналу enable до першого з динения в режимі точки доступу WLAN Продуктивність Throughput UDP = 16 Мбіт / с WLAN Продуктивність Throughput TCP = 13 Мбіт / с WLAN Ініціалізація WPS2 Реєстрація натисканням кнопки або за допомогою PIN WLAN Ініціалізація AP Config Режим точки доступу для початкового конфігурування продукту (через WEB-інтерфейс і beacon info element) WLAN Ініціалізація SmartConfig Альтернативний метод для початкового конфігурування продукту WLAN Роль Station Одиночний клієнт (802.11.2bgn) з діючими режимами енергозбереження 802.11 WLAN Роль Soft AP Одиночна точка (802.11.2bgn) доступу до діючих режимам енергозбереження 802.11 WLAN Роль P2P Підтримка P2P як Group Owner WLAN Роль P2P Підтримка P2P як Client WLAN Безпека STA-Personal WPA2 personal security WLAN Безпека STA-Enterprise WPA2 enterprise security WLAN Безпека STA-Enterprise EAP-TLS WLAN Безпека STA-Enterprise EAP- PEAPv0 / TLS WLAN Безпека STA-Enterprise EAP-PEAPv1 / TLS WLAN Безпека STA-Enterprise EAP-PEAPv0 / MSCHAPv2 WLAN Безпека STA-Enterprise EAP-PEAPv1 / MSCHAPv2 WLAN Безпека STA-Enterprise EAP-TTLS / EAP-TLS WLAN Безпека STA-Enterprise EAP-TTLS / MSCHAPv2 WLAN Безпека AP-Personal WPA2 personal security

CC3100 може без будь-яких проблем забезпечити підключення практично будь-якого мікроконтролера до мережі Wi-Fi. При цьому зв'язок між CC3100 і провідним контролером організовується за допомогою UART або SPI. Говорячи «практично будь-який мікроконтролер», маємо на увазі, що для реалізації TCP-клієнта необхідно використовувати готовий програмний драйвер, який вимагає 7 кбайт коду в Flash і 700 байт ОЗУ. Втім, зараз це не проблема навіть для 8-бітних контролерів.

CC3100 випускається в компактному корпусі 9 × 9 мм QFN-64 і працює при температурах -40 ... 85 ° C. Такого діапазону вистачає як для споживчої електроніки, так і для промислового застосування.

Дуже важливою перевагою CC3100 є низький рівень споживання.

CC3200 - мережевий Wi-Fi-процесор, який об'єднує в одному корпусі Wi-Fi-модуль і потужний мікроконтролер з ядром ARM Cortex-M4, доступний для програмування користувачем (малюнок 2).

Мал. 2. Блок-схема мережевого Wi-Fi-процесора
CC3200

Можна помітити, що фактично CC3200 об'єднує в своєму складі співпроцесор CC3100 і контролер ARM Cortex-M4. При цьому CC3200 випускається все в тому ж корпусном виконанні 9 × 9 мм QFN-64. Таким чином, це рішення виявляється ідеальним з точки зору габаритів і простоти створення кінцевого пристрою.

Можливості Wi-Fi-модуля в CC3200 збігаються з можливостями аналогічного блоку CC3100, а ось на вбудованому процесорі варто зупинитися докладніше. ARM-процесор, інтегрований в CC3200, може похвалитися такими характеристиками:

  • ядро ARM Cortex-M4 з робочою частотою до 80 МГц;
  • пам'ять: 256 кбайт ОЗУ, SPI для підключення зовнішньої Flash;
  • 32 каналу прямого доступу до пам'яті (DMA);
  • модулі шифрування: AES, DES і 3DES;
  • чотири 16-бітних таймера з ШІМ;
  • 12-бітний двоканальний АЦП;
  • послідовний аудіопорти, 1xSD / MMC, 1xSPI, 1xI2C, 2xUART.

Хоча саме ядро ​​є досить потужним, але набір периферії за сьогоднішніми мірками здається скромним. Проте, з його допомогою можна організувати найрізноманітніші пристрої. Крім того, обмеженість в даному випадку виправдана з точки зору і вартості мікросхеми, і рівня її споживання. Так, наприклад, на сайті Texas Instruments заявлена ​​ціна CC3100 на рівні $ 6,7 при замовленні від 1000 штук, вартість CC3200 при покупці партій того ж обсягу складе $ 8,00. Це можна порівняти з вартістю набору з мікроконтролера і Wi-Fi-модуля, які не пропонують функціонал TLS / SSL.

З усього вищесказаного можна зробити висновок про переваги CC3100 / CC3200. При використанні цих Wi-Fi-процесорів розробники отримують наступні переваги:

  • рішення проблем безпеки передачі даних на базі протоколів TLS / SSL;
  • максимальне спрощення при розробці Wi-Fi-додатків;
  • досягнення мінімального споживання;
  • забезпечення низької вартості закінчених пристроїв;
  • доступ до готових засобів розробки, таким як програмні бібліотеки, приклади, налагоджувальні набори і так далі.

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

Оцінка рівня споживання Wi-Fi-пристроїв на базі CC3100 / CC3200

Значна частина IoT-додатків працює в автономному режимі від акумуляторів або батарейок. Для них рівень споживання - вкрай важливий параметр. Існує багато способів збільшити тривалість роботи автономних пристроїв, наприклад, знижувати значення живлять струмів, використовувати різні види сплячих режимів, застосовувати додаткові альтернативні джерела енергії - віброхарвестери, сонячні батареї і так далі.

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

Мережеві Wi-Fi-процесори CC3100 / CC3200 використовують досить широкий діапазон напруг живлення, що робить їх дуже цікавими для спільного використання з традиційними типами батарейок і акумуляторів.

Рівень живлять струмів також виглядає досить привабливо. У режимі прийому даних по Wi-Fi максимальне споживання CC3100 досягає 53 мА, а в режимі передачі - 223 мА. При цьому в режимі очікування струм падає до 690 мкА, а в стані глибокого сну - і зовсім 4 мкА. При цьому не варто забувати про споживання зовнішнього керуючого контролера.

CC3200 при прийомі даних по Wi-Fi характеризується значенням струму споживання до 59 мА, а при передачі - до 229 мА. У режимі очікування струм опускається до рівня 825 мкА. Споживання в стані глибокого сну аналогічно CC3100 і становить 4 мА.

Такі показники, очевидно, мають у своєму розпорядженні до використання цих процесорів в імпульсному режимі. В цьому випадку велику частину часу вони перебувають або в режимі очікування, або в режимі сну, прокидаючись тільки на час обміну даними по мережі Wi-Fi.

При постійному підключенні до мережі пристрій може перебувати в режимі очікування до 2 с, лише ненадовго переходячи в режим прослуховування мережі [2]. При такому алгоритмі простий пристрій на базі CC3100 зможе працювати до року від пари алкалінових батарейок AA.

Ще менше буде споживання, якщо обмін даними відбувається не постійно, а лише в міру необхідності. У такому випадку час неспання мікроконтролера може становити від 105 мс, так як саме стільки потрібно CC3100 для встановлення безпечного Wi-Fi-підключення.

Особливості написання прикладного ПО для систем на базі CC3100 / CC3200

Мал. 3. Організація ПО при роботі
з Wi-Fi-процесором CC3100

Структура ПО при використанні CC3100 має на увазі використання двох сегментів - призначеного для користувача ПО і програмного забезпечення, вбудованого в чіп CC3100 (рисунок 3).

Неважко помітити, що до складу вбудованого ПО входять всі найскладніші частини коду: Інтернет протоколи (TSP / IP і інші), протоколи безпечного з'єднання (TLS / SSL), протоколи та драйвери для Wi-Fi. Користувачеві залишається тільки реалізувати функції для роботи самого пристрою і написати драйвер для роботи з CC3100. Втім, «написати» - занадто голосно сказано, тому що в більшості випадків можна використовувати готові драйвери і приклади і просто інтегрувати їх в свій код.

Таким чином, при використанні CC3100 програмісту потрібно провести ініціалізацію каналу зв'язку (UART і SPI) і правильно застосувати прикладний інтерфейс API, запропонований компанією Texas Instruments. При цьому TI прагнула максимально спростити роботу з API. В результаті виявляється, що для встановлення захищеного з'єднання потрібно всього десяток рядків коду.

Мал. 4. Організація ПО при роботі
з Wi-Fi-процесором CC3200

Ситуація при використанні CC3200 також виявляється досить простий. Структура ПО не змінюється (рисунок 4). Єдиним, але надзвичайно важливою зміною стає підключення вбудованого Wi-Fi-модуля безпосередньо до матриці Multi-Layer AHB Bus Matrix. Це дає можливість розглядати даний блок як стандартний периферійний модуль, який здатний безпосередньо взаємодіяти з пам'яттю і ядром, що дозволяє досягати максимальних швидкостей обміну даних і навіть скорочувати навантаження на ядро ​​за рахунок контролера прямого доступу до пам'яті.

У підсумку взаємодія з Wi-Fi-мережею для користувача максимально спрощується. За «красивою обгорткою» прикладного інтерфейсу API виявляються прихованими все найскладніші частини коду: організація з'єднань по Wi-Fi і використання протоколів захисту TLS / SSL.

CC3100 / CC3200 в своєму арсеналі має широкий набір популярних алгоритмів шифрування, які використовуються для механізмів аутентифікації і кодування даних (таблиця 2).

Таблиця 2. Алгоритми шифрування, підтримувані CC3100 / CC3200

криптографічний
алгоритм Протокол Призначення Розрядність ключа шифрування, біт RC4 WEP, TKIP Кодування даних 128 AES WPA2 Кодування даних, аутентифікація 256 DES - Кодування даних 56 3DES - Кодування даних 56 SHA1 EAP-SSL / TLS Аутентификация 160 SHA256 EAP-SSL / TLS Аутентификация 256 MD5 EAP -SSL / TLS Аутентификация 128 RSA EAP-SSL / TLS Аутентификация 2048 DHE EAP-SSL / TLS Аутентификация 2048 ECDHE EAP-SSL / TLS Аутентификация 160

Використання API при роботі з CC3100 / CC3200

Розглянемо, як виглядає використання API для CC3100 / CC3200.

По-перше, треба налаштувати захищене підключення по Wi-Fi. Для цього необхідна наявність трьох файлів:

  • /cert/ca.pem - файл центру сертифікації (CA);
  • /cert/client.pem - файл сертифіката відкритого ключа;
  • /cert/private.key - файл секретного ключа.

Ці файли використовуються в інфраструктурі відкритих ключів PKI. Для їх отримання необхідно завантажити та встановити останню версію OpenSSL. Далі в настановної директорії path \ bin запустити openssl.exe.

Для отримання закритого ключа використовується командний рядок: openssl genrsa -out privkey.pem 2048, де 2048 - установка розрядності ключа шифрування за умовчанням. Можливе використання розрядності 1024, 2048, 4096 і так далі.

Для отримання CA:

openssl req -new -x509 -days 3650 -key privkey.pem -out root-ca.pem.

Для отримання файлу сертифіката:

openssl req -new -key privkey.pem -out cert.pem.

Для підпису сертифіката необхідно використовувати:

openssl x509 -req -days 730 -in cert.pem -CA ca.pem -CAkey CAPrivate.pem

set_serial 01 -out cert.pem

Більш докладний опис процесу створення сертифікатів і параметрів команд можна знайти в керівництві по експлуатації [3].

Безпосередньо для організації з'єднання існує дві функції: sl_WlanConnect і sl_WlanProfileAdd [3]:

sl_WlanConnect (char * pName, int NameLen, unsigned char * pMacAddr, SlSecParams_t * pSecParams, SlSecParamsExt_t * pSecExtParams)

sl_WlanProfileAdd (char * pName, int NameLen, unsigned char * pMacAddr, SlSecParams_t * pSecParams, SlSecParamsExt_t * pSecExtParams, unsigned long Priority, unsigned long Options)

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

По-друге, необхідно ініціалізувати сокет для захищеного протоколу. Це також просто зробити за допомогою API. Наприклад, для SSL використовується всього одна функція: sl_Socket (SL_AF_INET, SL_SOCK_STREAM, SL_SEC_SOCKET).

По-третє, для роботи з захищеним протоколом використовується простий і зрозумілий набір функцій: sl_Close, sl_Listen, sl_Accept, sl_Bind, sl_SetSockOpt і так далі.

В результаті призначений для користувача код виявиться максимально простим і коротким:

int CreateConnection (unsigned long DestinationIP)

{

int Status;

SlSockAddrIn_t Addr;

int AddrSize;

int SockID = 0;

SlTimeval_t timeval;

Addr.sin_family = SL_AF_INET;

Addr.sin_port = sl_Htons (443); // secured connection

Addr.sin_addr.s_addr = sl_Htonl (DestinationIP);

AddrSize = sizeof (SlSockAddrIn_t);

SockID = sl_Socket (SL_AF_INET,

SL_SOCK_STREAM,

SL_SEC_SOCKET);

if (SockID <0)

{

// error

while (1);

}

Sl_SetSockOpt (sockID,

SL_SOL_SOCKET,

SL_SO_SECURE_FILES_CA_FILE_NAME,

"RootCA.der",

strlen ( "rootCA.der"));

Status = sl_Connect (SockID,

(SlSockAddr_t *) & Addr,

AddrSize);

if (Status <0 && Status! = SL_ESECSNOVERIFY)

{

// error

while (1);

}

return SockID;

}

Висновок

Технологія IoT (Інтернет речей) знаходиться в стадії бурхливого розвитку. Зараз в цій сфері присутні найрізноманітніші виробники і розробники. Не всі з них можуть забезпечити належний рівень безпеки при передачі даних. Головною причиною цього є складність і дорожнеча реалізації протоколів захисту і методів шифрування.

Компанія Texas Instruments пропонує своє вирішення цих проблем у вигляді мережевих процесорів CC3100 / CC3200. CC3100 - мережевий Wi-Fi-процесор, що дозволяє забезпечити безпечне підключення будь-якого мікроконтролера до мереж Wi-Fi. CC3200 - інтегральне рішення, що поєднує в одному корпусі мережевий Wi-Fi-процесор і потужний мікроконтролер з ядром ARM Cortex-M4.

Завдяки CC3100 і CC3200 навіть ті розробники, які раніше не мали достатнього досвіду роботи з Wi-Fi і методами захисту даних, зможуть створювати надійні IoT-додатки.

література

  1. Gil Reiter. IoT security made simple with SimpleLink ™ Wi-Fi® CC3100 and CC3200 devices. 2016, TI E2E Community.
  2. Chris A. Ciufo. TI emphasizes "KISS" in new Wi-Fi ICs. 2014 року, http://eecatalog.com/.
  3. CC3100 / CC3200 SimpleLink ™ Wi-Fi® Interneton-a-Chip User's Guide. 2016, Texas Instruments.
  4. Олег Пушкарьов. CC3100 - мережевий процесор для «Інтернету речей». Частина I. Новини Електроніки, №10, 2014.
  5. Олег Пушкарьов. CC3100 - мережевий процесор для «Інтернету речей». Частина II. Новини Електроніки, №2, 2015.
  6. http://www.ti.com/.

Отримання технічної информации , замовлення зразків , замовлення и доставка .

Про компанію Texas Instruments

У середіні 2001 р компании Texas Instruments и КОМПЕЛ постелили офіційну ДИСТРИБ'ЮТОРСЬКА догоду, Пожалуйста стало результатом трівалої и успішної роботи КОМПЕЛ в якості офіційного дистриб'ютор фірми Burr-Brown У середіні 2001 р компании Texas Instruments и КОМПЕЛ постелили офіційну ДИСТРИБ'ЮТОРСЬКА догоду, Пожалуйста стало результатом трівалої и успішної роботи КОМПЕЛ в якості офіційного дистриб'ютор фірми Burr-Brown. (Як відомо, Burr-Brown увійшла до складу TI так само, як и компании Unitrode, Power Trend и Klixon). З цього часу компанія КОМПЕЛ получила доступ до постачання всієї номенклатури Вироблення компанією TI компонентів, технологій та НАЛАГОДЖУВАЛЬНА ЗАСОБІВ, а також ... читати далі

Чи завжди це так?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью