72
Измерение. Мониторинг. Управление. Контроль
УДК 616.71
М. А. Петровский, А. Г. Иванчуков, О. Н. Бодин
ОРГАНИЗАЦИЯ БЕСПРОВОДНОГО ПРОТОКОЛА СВЯЗИ С ДАТЧИКОМ ЭКС В КДС «КАРДИОВИД»
M. A. Petrovskiy, A. G. Ivanchukov, O. N. Bodin
THE ORGANIZATION OF WIRELESS COMMUNICATION PROTOCOL WITH ECS SENSOR OF «KARDIOVID» CDS
Аннотация. Рассмотрены принципы организации связи устройств на основе протокола BluetoothLowEnergy. Описана процедура обмена информацией между беспроводными устройствами. Рассмотрены структуры различных уровней взаимодействия устройств на основе модулей BluetoothLowEnergy. Подробно описаны процедура сопряжения двух модулей, а также распределение ролей ведущего и ведомого. Рассмотрены структура передаваемого пакета и работа канального уровня. Отдельный вопрос посвящен безопасности передаваемых данных. Отмечена необходимость организации защищенного канала связи и рассмотрена процедура шифрования. Описаны выбранные Bluetooth-модули, использующиеся в датчике ЭКС и вычислительном устройстве. Сделан вывод о применимости выбранного протокола для защищенной и удобной мобильной связи в рамках взаимодействия компьютерной диагностической системы с датчиком ЭКС.
Abstract. The article discusses the principles of communication devices based on the Protocol Bluetooth Low Energy. Describes the procedure for exchange of information between wireless devices. The structures of various levels of interaction devices based on modules Bluetooth Low Energy has been considered. Described in detail how to pair two modules, as well as the roles of master and slave.The structure of the transmitted packet and the work of the link layerhas been considered.A separate issue is devoted to security of transmitted data.The necessity of organizing a secure communication channel and encryption procedure is reviewed.The authors described the selected Bluetooth modules that are used in the sensor ECS and a computing device. In conclusion, the conclusion about the applicability of the selected protocol for secure and convenient mobile communication in the framework of interaction with the computer diagnostic system with sensor ECS.
Ключевые слова: датчик ЭКС, ключ связи, Bluetooth-модуль.
Key words: ECS sensor, link key, Bluetooth module.
В современных измерительных и диагностических системах важны как сами измерительные инструменты, так и надежная связь между сенсорами и блоками обработки информации. В компьютерной диагностической системе «Кардиовид» используется беспроводной способ передачи данных между нательным сенсором электрокардиосигнала (ЭКС) и вычислительным устройством, что обеспечивает полную мобильность системы [1]. Так как современные требования подразумевают миниатюрные размеры и высокое время автономной работы, в качестве стандарта радиосвязи был выбран протокол с низким энергопотреблением Bluetooth 4.0.
Последняя версия беспроводной технологии Bluetooth 4.0 официально представлена группой разработчиков SIG (Bluetooth Special Interest Group) [2]. Пропускная способность осталась на уровне Bluetooth 3.0 со значением 24 Мбит/с, но дальность действия повысилась до 100 м. Одновременно с этим произошло снижение энергопотребления, что позволяет использовать технологию в устройствах на батарейках.
Разработка также поддерживает шифрование AES-128 и предоставляет еще более низкое время отклика, повышая безопасность и становясь более удобной для пользователей.
73
2015,№2(12J
Можно сказать, что Bluetooth 4.0 объединяет в себе классическую технологию Bluetooth, энергосберегающую технологию и высокопроизводительный Bluetooth. Все три технологии могут использоваться как вместе, так и раздельно в различных устройствах, исходя из необходимого функционала, а новый дизайн позволяет устройствам питаться от источников питания сверхмалых размеров и даже работать более года без подзарядки.
В спецификации Bluetooth 4.0 предусмотрены два типа устройств: Single-mode и Dualmode. Базовые чипсеты Single-mode поддерживают работу только в соответствии со спецификацией 4.0. Чипсеты Dual-mode могут работать с поддержкой как Bluetooth 3.0, так и Bluetooth 4.0.
Модули серии BLE112 [3], используемые в рассматриваемом устройстве, имеют встроенный стек протоколов BluetoothBLE, обеспечивающий режимы микропотребления [4]. Структурная схема стека BLE приведена на рис. 1.
Application
GAP Role/Security Profiles
GATT Profiles
Host
Generic Access Profile (GAP) Generic Attribute Profile (GATT)
Security Manager (SM) Attribute Protocol (ATT)
Logical Link Control and Adaptation Protocol (L2CAP)
Controler
Host-Controller Interface (HCI)
Link Layer (LL) Physical Layer (PHY)
Рис 1. Структурная схема стека BLE
Стек протокола BLE, состоящий из двух блоков (контроллер и хост), содержит следующие профили:
• GAP (Generic Access Profile);
• GATT (Generic Attribute Profile);
• L2CAP (Logical Link Control and Adaptation Protocol) ;
• SM (Security Manager);
• ATT (Attribute Protocol).
В стандарте Bluetooth 3 для устройств BR/EDR (BasicRate/EnhancedDataRate) контроллер и хост также рассматривались отдельно, поэтому есть основания говорить, что при разработке нового стандарта был осуществлен возврат к старому стандарту. На самом верху, выше уровня хоста, расположены уровни GAP и GATT.
Физический уровень (PHY) соответствует передаче на центральной частоте 2,4 ГГц с использованием гауссовской частотной манипуляции GFSK (Guassian Frequency-Shift Keying). Канальный уровень (Link Layer) контролирует процесс работы радиоканала и управляет его состоянием. При этом устройство может находиться в одном из пяти состояний: ожидание, сканирование, идентификация, инициализация передачи, процесс передачи. После того как устройство инициализировалось, оно может выступать в роли ведущего или ведомого (master/slave), о чем было сказано выше. Устройство, инициализировавшее соединение, будет
74
Измерение. Мониторинг. Управление. Контроль
выступать как «мастер». Устройство, разрешившее соединиться с ним, будет выступать в роли «ведомого». В стандарте Bluetoothv.4.0, Singlemode устройство «мастер» может одновременно поддерживать от четырех до восьми соединений с «ведомыми» устройствами.
Уровень HCI (Hostcontrollerinterface) обеспечивает связь между хостом и контроллером, используя стандартные интерфейсы. Он может быть реализован с помощью программного обеспечения интерфейса прикладного программирования (API) или с помощью аппаратной части через интерфейсы UART, SPI или USB. При этом через эти интерфейсы управление модулем реализуется с помощью бинарных команд.
Уровень L2CAP обеспечивает инкапсуляцию данных для верхних уровней, в том числе и при логическом соединении «точка - точка». Этот протокол, реализующий логическое соединение поверх соединения по радиоканалу, позволяет протоколам более высокого уровня обмениваться пакетами данных длиной до 64 кбайт. Несколько логических каналов могут одновременно использовать одно и то же радиосоединение. При этом пакет протокола L2CAP, получаемый каналом, перенаправляется к соответствующему протоколу более высокого уровня. Узел L2CAP, как правило, всегда подключается к уровню HCI.
Уровень SM, или уровень менеджера безопасности, определяет методы, с помощью которых реализуется соединение между устройствами. Кроме того, на этом уровне вырабатываются инструкции о мерах безопасности при соединении различных устройств и степени конфиденциальности передаваемых данных. Здесь следует отметить тот факт, что соединение между Bluetooth-устройствами может носить защищенный характер, поскольку данный уровень предоставляет средства для шифрования канала соединения. Этот факт имеет большое значение, поскольку информация, которая будет передаваться с сенсора ЭКС на устройствоприемник, имеет конфиденциальный характер. Поэтому защита передаваемых данных - процедура обязательная. При шифровании данных в Bluetooth 4.0 используется симметричный алгоритм блочного шифрования AES. Размер ключа шифрования равен 128 бит, что позволяет говорить о высокой степени безопасности по сравнению с предыдущими спецификациями Bluetooth (в которых ключ был намного короче), так как размер ключа напрямую влияет на степень защищенности данных.
Уровень GAP организует связь с приложениями и внешними устройствами и контролирует их безопасное взаимодействие.
Протокол ATT ограничивает передачу данных и позволяет модулю пересылать другим устройствам только ту часть данных, которые помечены как «атрибуты». В контексте этого протокола устройство, передающее «атрибуты», обозначается как «сервер». Устройство, принимающее «атрибуты», обозначается как «клиент». При этом определенные на уровне LL роли устройств в качестве «мастера» и «ведомого» не зависят от того, как эти устройства определены на уровне ATT. Поэтому и «сервер», и «клиент» могут выступать как в качестве «мастера», так и в качестве «ведомого».
Уровень GATT реализует сервисную службу, которая вырабатывает дополнительные детальные инструкции, как именно должно быть реализовано взаимодействие между устройствами на уровне ATT. Уровень GATT определяет структуру профилей. В стандарте BLE все данные, которые используются профилем или сервисными службами, обозначают как «характеристики». Весь процесс передачи данных между двумя устройствами в стандарте BLE реализуется только через уровень GATT. Поэтому абсолютно все приложения и профили в стандарте BLE, так или иначе, взаимодействуют с профилем GATT.
Как уже было сказано выше, безопасность при передаче данных между сенсором и приемником информации имеет большое значение. Этот факт связан с федеральным законом №152-ФЗ «О персональных данных» [5]. Поэтому стоит рассмотреть более подробно работу менеджера безопасности (SM) в протоколе Bluetooth 4.0.
В протоколе передачи кардиосигнала используется следующая модель криптографической защиты передаваемых данных. Ее можно разделить на три этапа:
- генерация ключа инициализации соединения;
- генерация ключа связи;
- аутентификация устройства.
Первые два пункта входят в так называемую процедуру паринга. Паринг (PARING), или сопряжение, - процесс связи двух или более устройств с целью создания единого секретного ключа инициализации соединения, который они в дальнейшем будут использовать при обще-
75
2015,№2(12J
нии. При первом использовании сенсора с выбранным вычислительным устройством пользователю предлагается ввести пароль, который уникален для каждого сенсора и указан на его корпусе. Сразу после ввода на устройствах осуществляется создание ключа инициализации соединения. Он формируется по алгоритму Е22, который использует уникальный MAC-адрес устройства, введенный пользователем пароль и случайную 128-битную величину [6]. После генерации ключа соединения следует создание ключа связи. Для этого устройства обмениваются 128-битными словами, генерируемыми случайным образом. Далее следует побитовый XOR с ключом инициализации соединения. Устройства снова обмениваются полученными значениями, и по алгоритму Е21 (использует MAC-адрес устройства и полученные случайные числа) осуществляется вычисление ключа связи на каждом устройстве [6]. Стоит отметить, что явной передачи ключа по открытому каналу связи не происходит.
Когда у каждого устройства имеется ключ связи, выполняется взаимная аутентификация. Основана она на схеме «запрос - ответ». После этого этапа разрешена передача информации по защищенному каналу связи. Используемые в данной схеме криптографические алгоритмы являются достаточно стойкими, чтобы передавать данные любого размера, а поскольку в протоколе Bluetooth 4.0 размер ключа связи был увеличен до 128 бит, то вероятность утечки конфиденциальной информации практически равна нулю.
Следует отметить, что конкретная реализация логики работы Bluetooth-модуля осуществляется программированием его микроконтроллера. Сам модуль предоставляет для этого достаточно широкий набор средств [7].
Данные хранятся на сервере в виде таблицы атрибутов, которая, по сути, представляет собой простую базу данных. При появлении новых данных сервер уведомляет клиента и тот запрашивает необходимый атрибут. Сервер обрабатывает запрос и выдает ответ, в котором содержится атрибут с непосредственно его значением и уникальным идентификатором.
Так как нательный сенсор ЭКС представляет собой индивидуальное устройство, отпадает необходимость организовывать сеть устройств, хотя такая возможность подразумевается протоколом Bluetooth 4.0. В этом случае сенсор будет выступать в роли Slave, а вычислительное устройство - в роли Master. При этом роль сервера, который хранит атрибуты, отводится модулю, расположенному на сенсоре, а роль клиента - вычислительному устройству [8].
Взаимодействие осуществляется следующим образом. Модуль Bluetooth, расположенный на сенсоре, переходит в режим объявления (Advertisement), после чего он становится доступным для обнаружения. Модуль, расположенный на устройстве приема (в данном случае роль приемники играет смартфон), обнаруживает сенсор и предлагает подключиться к нему. После ввода ключа происходит сопряжение устройств. Программа на смартфоне периодически опрашивает сервер, и если обнаруживает, что доступна новая информация, отправляет соответствующий запрос и считывает новые данные из таблицы атрибутов сервера. Эти операции осуществляются посредством набора специальных служб, или сервисов, на которых основана реализация протокола Bluetooth 4.0 [9].
На канальном уровне (Link Layer) информация передается пакетами определенных размеров. Каждый пакет состоит из преамбулы (Preamble), которая используется для синхронизации автоматической регулировки усиления (AGC), адреса доступа (Access Address) для идентификации устройств, собственно данных и контрольной суммы. Структурная схема пакета изображена на рис. 2 [10].
Not Whitened ______I______
Protected by CRC
Рис. 2. Структурная схема пакета данных
76
Измерение. Мониторинг. Управление. Контроль
Рассмотренные уровни стека протокола Bluetooth 4.0 имеют сложную, но прозрачную структуру. Благодаря этому факту взаимодействие между уровнями выполняется максимально эффективно, предоставляя в итоге интерфейс для передачи данных между несколькими устройствами.
В статье описаны основные моменты организации передачи данных между датчиком ЭКС и приемным устройством. Выбранный метод позволяет осуществлять эффективную и защищенную связь, при этом сохраняя мобильность и удобство пользования системой.
Список литературы
1. Беспроводная система электрокардиомониторинга как альтернатива холтеровским мониторам / М. А. Петровский, Л. Ю. Кривоногов, А. Г. Иванчуков, Е. А. Бальзан-
никова // Материалы 14-го конгресса Российского общества холтеровского монитори-рования и неинвазивной электрофизиологии (РОХМиНЭ), 6-го Всероссийского конгресса «Клиническая электрокардиология» (11-12 сентября 2013 г.). - Иркутск ; М. : Печатный дом «КАСКОН», 2013. - 104 с.
2. Bluetooth Low Energy Regulatory Aspects / Bluetooth SIG Regulatory Committee. - URL: https://www.bluetooth.org (дата обращения: 03.03.2015).
3. Bluetooth модуль BLE112, техническое описание. - URL:
http://www.mtsystem.ru/sites/default/files/docs/documents/ble112_datasheet.pdf (дата обращения: 10.04.2015).
4. Программное обеспечение. Руководство разработчика. Версия 1.0. Texas Instruments. CC2540, Bluetooth Low Energy. - URL: http://www.bluetooth.com/Pages/Low-Energy.aspx (дата обращения: 06.02.2015).
5. Федеральный закон РФ от 27 июля 2006 г. № 152-ФЗ «О персональных данных». -URL: www.rg.ru/2006/07/29/personaljnye-dannye-dok.html
6. Yaniv Shaked, Avishai Wool (2005-05-02). «Cracking the Bluetooth PIN». - URL: http://www.eng.tau.ac.il/~yash/shaked-wool-mobisys05 (дата обращения: 03.02.2015).
7. Debugger and Programmer for RF System-on-Chips. - URL: http://www.ti.com/tool/CC-DEBUGGER (дата обращения: 04.03.2015).
8. Беспроводной кардиоусилитель компьютерной диагностической системы «Кардиовид» / М. А. Петровский, О. Н. Бодин, Л. Ю. Кривоногов, А. Г. Иванчуков // Кардио-стим-2014 : сб. тез. XI Междунар. конгр. - СПб. : Человек, 2014. - 270 с.
9. Руководство для разработчиков Android - Bluetooth Low Energy. - URL: http://developer.android.com/guide/topics/connectivity/bluetooth-le.html (дата обращения: 04.04.2015).
10. Gomez, C. Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology / Carles Gomez, Joaquim Oller and Josep Paradells. - URL: http://www.mdpi.com/1424-8220/12/9/11734 (дата обращения: 01.04.2015).
Петровский Михаил Александрович
аспирант,
Пензенский государственный университет E-mail: [email protected]
Иванчуков Антон Геннадьевич
аспирант,
Пензенский государственный университет E-mail: [email protected]
Бодин Олег Николаевич
доктор технических наук, профессор, кафедра информационно-измерительной т< и метрологии,
Пензенский государственный университет E-mail: [email protected]
Petrovskiy Mikhail Aleksandrovich
postgraduate student,
Penza State University
Ivanchukov Anton Gennad'evich
postgraduate student,
Penza State University
Bodin Oleg Nikolaevich
doctor oftechnical sciences, professor, sub-department of information and measuring equipment and metrology, Penza State University
2015,№ 2 (12)
77
УДК 616.71 Петровский, М. А.
Организация беспроводного протокола связи с датчиком ЭКС в КДС «Кардиовид» /
М. А. Петровский, А. Г. Иванчуков, О. Н. Бодин // Измерение. Мониторинг. Управление. Контроль. -2015. - № 2 (12). - С. 72-77.