№10 / 2016 / статья 4

Wi-Fi-процессоры CC3100/CC3200: безопасность для Интернета вещей

Вячеслав Гавриков (г. Смоленск)

Интернет вещей (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

Рис. 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

Рис. 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

Рис. 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

Рис. 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/.

Получение технической информации, заказ образцов, заказ и доставка.

ti_cc3200_launchxl_ne_10_16

Наши информационные каналы

Теги:
Рубрики:

О компании Texas Instruments

В середине 2001 г. компании Texas Instruments и КОМПЭЛ заключили официальное дистрибьюторское соглашение, которое явилось результатом длительной и успешной работы КОМПЭЛ в качестве официального дистрибьютора фирмы Burr-Brown. (Как известно, Burr-Brown вошла в состав TI так же, как и компании Unitrode, Power Trend и Klixon). С этого времени компания КОМПЭЛ получила доступ к поставке всей номенклатуры производимых компанией TI компонентов, технологий и отладочных средств, а также ...читать далее