Легковесная криптография интернета вещей
Стоит начать с базового понятия — интернета вещей (IoT — Internet of Things). Можно было бы использовать термины из Википедии или еще более непроверенных источников, но можно обойтись переделкой известного анекдота:
Жена горюет — не получается нормально пельмени приготовить самой. Зашла на сайт, купила умную мультиварку.
В инструкции написано:
— Просто залейте воду, посолите её и закиньте пельмени, когда придет уведомление на телефон.
Жена думает: да зачем ждать, она же умная, сама все сварит, сразу пельмени кину, круче будет!
Пришла домой, поставила варить пельмени в мультиварку. И ушла переодеваться. Переоделась, зашла на кухню, а там мультиварка мужа…
Продолжение сами додумаете (или пролистаете в конец).
Многие уже знакомы с концептом умного дома — множеством устройств, упрощающих повседневные задачи. Каждое устройство умного дома является частью IoT. Голосовые помощники, умные замки, смарт часы — все это примеры IoT.
Очень умная мультиварка
Казалось бы, все хорошо и прекрасно, жизнь становится проще. Однако, начинает закрадываться опасение: что же будет, если доступ к технике получит злоумышенник и попытается навредить пользователю?
Приведу пример из жизни. Я, своего рода, киборг — ко мне подсоединены два устройства, которые позволяют мне не умереть от сахарного диабета:
Инсулиновая помпа Accu-Check Combo. Это устройство для автоматического введения инсулина. Через катетер он поступает в тело из внутреннего картриджа. В комплекте есть Bluetooth пульт для дистанционного управления помпой (порой он необходим — например, когда сама помпа находится под слоями одежды). Это открывает потенциальный вектор атаки — злоумышленник может подключиться к помпе и ввести опасную для здоровья и жизни дозу инсулина.
Устройство беспрерывного мониторинга уровня глюкозы — FreeStyle Libre. Это небольшое устройство, которое прикрепляется к телу. По NFC можно считывать показания либо специальным ридером, либо телефоном. Для удобства я использую дополнительное устройство — Bubble mini, которое по Bluetooth непрерывно транслирует показания сенсора на телефон. Может ли кто-то перехватить канал и показывать ложные показания?
Рисунок 2. Бабл мини.
Тут мы и подходим к началу главного вопроса данной статьи: как же можно защитить Интернет вещей и как это сделать наиболее быстро и выгодно для всех сторон?
Проблемы защиты Интернета вещей и Легковесная Криптография
Интернет вещей порождает большой поток информации, который необходимо шифровать на конечных устройствах. Такие устройства часто имеют сильные ограничения по энергопотреблению и цене, и должны при этом обеспечивать разумный уровень безопасности. Главными проблемами последнего аспекта являются устойчивость, конфиденциальность, интегрируемость обмениваемой информации, конфиденциальность пользователя и подлинность. Именно поэтому для IoT требуется легковесная криптография (LWC — Lightweight Cryptography), объединяющая надежные и эффективные алгоритмы с минимальными затратами на оборудование. Далее мы рассмотрим и обсудим имплементацию, трудности и применение LWC для IoT.
В январе 2021 года вышел отчёт Ericsson Mobility Report, в котором описывается рост используемых IoT устройств. В то время как в 2020 году всего было порядка 12.4 миллиарда устройств, прогрозируется рост до 26.4 миллиардов к 2026 году. Причем большую часть девайсов будет занимать индустриальный IoT (IIoT- Industrial Internet of Things). Как упоминалось выше, от подобных средств требуется низкая цена производства и обслуживания, что ведет к низкому объему батареи, ограничению оперативной памяти, и т.д. Именно поэтому, у IoT оборудования нет возможности выделить достаточный объем памяти/энергии для защиты устройства. На данном моменте возникает LWC, которая находится все еще в процессе развития. Тем не менее индустрия сильно нуждаются в ней.
Теоретический подход и классификация Легковесной криптографии
В целом существует 4 уровня защиты IoT оборудования:
DATA. Данные, получаемые с сенсоров.
EDGE. Место входа в основную сеть.
FOG. Отвечает за передачу данных
CLOUD. Облако, где все данные хранятся, передаются и распределяются
Рисунок 3. Уровни защиты архитектуры IoT, взято из [1]
На рисунке 3 продемонстрировано распределение степени защиты всех четырех уровней. Самая низкая защита у облачных хранилищ, из-за чего передаваемые данные имею наименьшую степень защиты.
На данный момент самые главные камни преткновения:
IoT устройства работают на низком уровне заряда, тем не менее от них ожидаются минимальные задержки передачи данных.
Огромное число интернет-соединений подключаются и отключаются одновременно, поэтому необходимо удостовериться, что информация не утекает не из какого соединения во время передач.
Чем умнее устройство, тем замысловатее у него уязвимости, которые порой сложно обнаружить исследователям и тестировщикам.
Рисунок 4. Классификация криптографии, взято из [1]
Классическая криптография становится практически невозможной в использовании, например, RSA требует большой размер ключа и высокие вычислительные способности. Классификация Легковесной криптографии продемонстрирована на рисунке 4. В основном выделают два главных вида, зависящие от предназначения: для software и hardware:
Блочный шифр. Например, AES (Advanced Encryption Standard), — одна из разновидностей симметричного шифра. Использует блоки бит определенной длины, не слишком большие и не слишком маленькие.
Легковесные хэш-функции.
Легковесный стримовый шифр. Разновидность симметричного шифра, но в отличие от блочного, использует другой подход. Используется для шифрования большого объема данных. Всем этим алгоритмам требуется время на инициализацию, во время которого не происходит шифрования.
Системы высокой производительности.
Приборы с низкой ресурсоемкостью. Всеми известные ПЛИСы и интегральные схемы специального назначения
Что же на самом деле эффективно?
Шифр
Шифр | Размер блока (бит) | Размер ключа (бит) | Уровень безопасности | Назначение (HW — hardware, SW — software) |
AES | 128 | 128 | 0.70 | SW, HW |
LBlock | 64 | 80 | 0.72 | SW, HW |
PRESENT | 64 | 80 | 0.84 | HW |
PRINCE | 64 | 128 | 0.83 | HW |
RC5 | 64 | 128 | 0.90 | SW |
Согласно приведенной выше таблице, можно понять, что самый эффективный из всех алгоритмов — это RC5. Однако если приглядеться к самому последнему столбцу, можно заметить, что он доступен только для ПО. PRINCE и PRESENT довольно распространенные шифры для аппаратного обеспечения. AES и LBlock подходят как для software, так и для hardware.
Кроме того, наибольшая эффективность легковесной криптографии может быть достигнута за счет написания программ на легковесных скриптовых языках, таких как wren или squirrel. Тем не менее, это не настолько распространенные языки программирования, из-за чего есть ряд трудностей, а именно отсутствие важных библиотек в языках, что сильно усложняет их использование.
Заключение и размышления
Подводя итог, можно сказать, что главные трудности и цели легковесной криптографии для интернета вещей заключаются в следующем:
Нехватка библиотек в специальных языках (wren\squirrel).
Необходимость обеспечить безопасность на всех 4 уровнях связи, как на рисунке 3.
Потребность в контролирующих механизмах, которые будут отслеживать нарушения конфиденциальности через опен-сурсные IoT устройства.
Потребность в Легковесной криптографии растёт, из-за чего все больше исследований проходят с целью разработки долговечные методы по сохранению безопасности. Общие тенденции показывают, что есть положительный рост в сторону эффективных алгоритмов шифрования, но еще очень много работы предстоит впереди.
Если вы пролистали в конец, чтобы увиделить заверешение анекдота, то вот оно:
мужа… на час заказала, она же умная, говорит ему:
«Слушай, мужик, дело такое — хозяйка по инструкции не сделала, пельмени нужно позже закинуть. Ты вытаскивай их, закинешь, как приедет оповещение на телефон».
Ну мужик согласился, дело то простое, только насчёт оплаты своей решил поинтересоваться. После небольшой паузы мультиварка ему говорит:
«Я позаботились о твоей награде, выходи на улицу, когда придет второе оповещение».
Делать нечего, мужик согласился. С первым оповещением закинул пельмени, дождался второго и вышел на улицу. Там жена в слезах стоит рядом с курьером. Мужик спросил, в чем дело. Жена говорит:
«Посмотри, что в коробке».
Мужик заглядывает в коробку, а там шляпа. Надевает её, а она ему как раз… Уходит довольный домой.
[1] — Next Generation Lightweight Cryptography for Smart IoT Devices: Implementation, Challenges and Applications, ilupulee A. Gunathilake, William J. Buchanan and Rameez Asif