Интернет беззащитных «вещей». Алгоритмы шифрования в IoT

Искал похожие статьи про безопасность в Хабре и других источниках, но ничего похожего не нашел, поэтому написал этот обзор для вас. Начинаем!

С каждым днем количество «вещей» увеличивается. Это могут быть как камеры,  которые стоят на улицах Москвы,  различные сенсоры и датчики,  которые используются при производстве, медицинские приборы,  которые следят за вашим здоровьем,  а также различные бытовые предметы (умные холодильники,  умные двери и тд.),  которые окружают нас повседневно.

Некоторые устройства хранят очень важную и приватную информацию. Например,  система дверных замков в квартире хранит номер кода блокировки. Кроме того,  в медицинских системах используются такие устройства как ЭКГ,  смарт мониторы,  компьютерная томография и многое другие,  которые могут непосредственно влиять на важные сферы жизни людей.

Из этого возникает явная задача обеспечения безопасности и приватности данных,  передаваемых «вещами». К сожалению,  спроектировать совершенно безопасную систему в IoT очень непростая задача. Во-первых,  потому что IoT системы очень разнородные,  они состоят из различных устройств,  которые имеют разные операционные системы,  аппаратные средства, используют различные протоколы. Во-вторых,  системы очень масштабны,  они могут быть,  как в пределах одной квартиры,  так и распространятся на города и даже страны. В-третьих,  что очень важно в контексте этого эссе,  многие «вещи» имеют ограниченные ресурсы:  память,  вычислительную мощность и емкость аккумулятора и др.

В этом эссе,  мы остановимся на одном из важнейших способов безопасности — алгоритмах шифрование данных. Проанализируем текущие способы шифрования в IoT и то,  как они учитывают факт ограниченных ресурсов «вещей».

Чтобы лучше понять проблему,  давайте рассмотрим архитектуру IoT,  разделяя ее на логические уровни,  которые могут взаимодействовать как вертикально,  так и горизонтально.

71cff0f78ca674a59b2d36252da7b799.png

1. Уровень «вещей»

Характерные особенности — Сбор датчиками и сенсорами необходимой информации (Little data). Возможность удаленного управления, маломощные, ресурсно-ограниченные устройства, низкое  энергопотребление. 

2. Уровень коммуникаций. 

Характерные особенности — Проводная и беспроводная передача данных. Различные коммуникационные протоколы. Различные сети и их архитектуры.  Взаимодействие как устройств между друг другом, так и устройства с облаком

3. Уровень вычислительного ядра

Характерные особенности — обработка Big Data, применение ML алгоритмов и аналитика. Хранение информации. Симуляция IoT в реальном времени. Удаленное управление «Вещами»

 4. Уровень приложений 

Характерные особенности — Применимость в совершенно различных областях. Место, где IoT встречается с пользователем.

И каждый из этих пунктов (слоев) неразрывно связан с Безопасностью в IoT, которую рассмотрим подробнее далее.

Вернемся в алгоритмам шифрования. Они затрагивают, в первую очередь, уровень «вещей» и большей частью связаны с ним. Ведь датчики, получают данные, которые нужно передать. Без шифрования, данные можно было бы перехватить просто прослушивая канал.

Какие проблемы решают алгоритмы шифрования:

  1. Конфиденциальность

  2. Целостность

  3. Авторства сообщения

Почему не использовать достаточно надежные существующие способы?  

Обычные алгоритмы криптографии не подходят для IoT из-за многочисленных ограничений ресурсов и причин, таких как питание, ограниченная емкость батареи, выполнение в реальном времени и т. д. Следовательно, используют так называемую  легкую криптографию (Lightweight Cryptography), которая более совместима со средой IoT.

Согласно NIST, легкая криптография — это подкатегория криптографии, целью которой является предоставление решений для быстрорастущих приложений, которые широко используют интеллектуальные устройства с низким энергопотреблением [4].

Существующие способы, на что делятся легкие алгоритмы шифрования. Их можно разделить на два вида — симметричные и асимметричные.

Симметричные шифры. В этом процессе отправитель и получатель совместно используют общий ключ, передающийся по зашифрованному каналу как для шифрования, так и для дешифрования. Симметричная криптография больше подходит для приложений IoT из-за ее быстрых операций, которые в основном представляют собой XOR и перестановки. Скорость обработки выше, и они не используют много ресурсов 

Путем работы над такими параметрами, как выбор блочного или потокового шифра, размера ключа, размера блока, выбор структуры построения блочного шифра и количества раундов получаются легкие симметричные алгоритмы. При этом важно учитывать ограниченность ресурсов устройств (пример изменения классического AES, учитывая устройство IoT девайсов [8])

115083c5fbd5f6cce73b7425f240f146.png

Ассиметричные шифры. Они меньше подходят для описания легких алгоритмов, тем не менее их нужно принимать во внимание. Криптография с асимметричным ключом известна как криптография с открытым ключом, поскольку в этом методе требуется пара открытого и закрытого ключей. Легкие асимметричные алгоритмы сложны с точки зрения работы и неэффективны по времени. Но при этом совсем недавно упор в легкой криптографии сместился в сторону криптографии с асимметричным ключом, но результаты еще не столь стабильны и плодотворны, как криптография с симметричным ключом[7].

В таблицах ниже показаны основные легкие симметричные и асимметричные алгоритмы шифрования и их характеристики, а также атаки, которым они могут быть подвергнуты.

Давайте сравним оба этих типа:

f81882de382e53a82dc72a3454dd8007.png

Возникает вопрос, как определиться в каком случае, какой алгоритм использовать. Один из способов предложен в этой статье[6]. Он называется HLA (Hybrid Lightweight Algorythm). Он позволяет учесть различные ресурсы устройств.

e38392abcd62f65583f577e2379ab00f.png

На рисунке представлена блок-схема, в которой входом является устройство IoT, а в выходных данных предлагается подходящая схема шифрования для этого устройства. Этот подход использует следующие четыре параметра конкретного устройства в качестве входных данных: размер данных (РД), объем памяти (ОП), вычислительную мощность (ВМ) и мощность батареи (МБ). Пороговое значение каждого параметра можно рассчитать по определенному алгоритму[6] или зная характеристики устройства.

Размер данных (РД) Это первая фаза предлагаемой схемы. Во-первых, HLA анализирует размер данных, передаваемых по сети. Сначала учитывается размер данных, а затем подбираем криптографический алгоритм.

Если размер данных превышает пороговое значение, они считаются большими данными и на основании существующих исследований ([9],[10],[11]) рекомендуется для легкого симметричного шифрования, в противном случае — для последующей фазы анализа.

Так далее согласно схеме, мы анализируем остальные параметры конкретного устройства, и в конце принимает решение использовать симметричный или асимметричный алгоритм. 

Выводы

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

Мы обсудили ряд легких решений безопасности для Интернета вещей и провели обзорное сравнение по асимметричным криптографическим алгоритмам и симметричным криптографическим алгоритмам для Интернета вещей. Также посмотрели на способ выбора между этими типами алгоритмов, учитывая ресурсы устройства. Тем не менее, найти оптимальный способ шифрования не удается , но при этом область остается крайне важной для жизни проблем приватности и безопасности людей, которые все больше и больше вовлекаются в современное IoT.

Источники и ссылки:

  1. Lightweight encryption algorithms — https://link.springer.com/article/10.1007/s12652–017–0494–4. 

  2. Security in the Internet of Things: A Review. International Conference on Computer Science and Electronics Engineering 

  3. IoT Security: Ongoing Challenges and Research Opportunities

  4. McKay KA, Bassham L, Turan M S, Mouha N (2016) Report on lightweight cryptography. NIST DRAFT NISTIR, pp 1–29

  5. S. Chandra, S. Paira, S.S. Alam, and G. Sanyal, «A comparative survey of symmetric and asymmetric key cryptography,» 2014 Int. Conf. Electron. Commun. Comput. Eng. ICECCE 2014, pp. 83–93, 2014. 

  6. Saurabh Singh1 · Pradip Kumar Sharma1 · Seo Yeon Moon1 · Jong Hyuk Park. Advanced lightweight encryption algorithms for IoT devices: survey, challenges and solutions. 

  7. C.A. Lara-Nino, A. Diaz-Perez, and M. Morales-Sandoval, «Elliptic Curve Lightweight Cryptography: a Survey,» IEEE Access, vol. PP, no. c, pp. 1–1, 2018.

  8. James M, Kumar DS. (2016) An implementation of modified light- weight advanced encryption standard in FPGA. Proc Technol 25:582–589 

  9. Masram R, Shahare V, Abraham J, Moona R, Sinha P, Sunder G, Pophalkar S (2014a) Dynamic selection of symmetric key cryp- tographic algorithms for securing data based on various param- eters. ArXiv preprint arXiv:1406.6221, pp 1–8 

  10. Masram R, Shahare V, Abraham J, Moona R (2014b) Analysis and comparison of symmetric key cryptographic algorithms based on various file features. Int J Netw Sec Appl 6(4):43–52 

  11. McKay KA, Bassham L, Turan M S, Mouha N (2016) Report on lightweight cryptography. NIST DRAFT NISTIR, pp 1–29 

© Habrahabr.ru