Криптография для Интернета вещей
Исторические справки
Говоря об любой индустрии природа которой основана на обмене данных, к коим относится и IoT, мы не можем не учитывать их безопасность, которая в современном мире основана, в том числе, на криптографии. Индустрия движется, развивается и мы должны наглядно видеть, в каком направлении. Поэтому разговор о будущем не может обойтись без взгляда в прошлое и настоящее.
Машинная криптография с момента ее возникновения в двадцатом веке опиралась на использование специализированных шифровальных устройств – сначала механических, а затем электромеханических шифровальных машин. Вычислительные компьютеры общего назначения появились гораздо позже. В качестве примера таких машин можно привести широко известную немецкую шифровальную машину Энигма, взлом которой криптоаналитиками из Великобритании сильно повлиял на исход Второй мировой войны.
С развитием теории информации, начатой Клодом Шенноном в 1948 году, и появлением вычислительных машин общего назначения, развитие криптографии вышло на новый уровень. В то время и до конца XX века перед прикладным шифрованием ставились две основные цели:
- Шифр должен иметь достаточную стойкость, чтобы злоумышленник, обладая значительными вычислительными ресурсами, не мог расшифровать сообщение без знания секретного ключа за разумное время;
- Чтобы на одном ключе можно было зашифровать как можно больше данных (так называемая нагрузка на ключ).
Надо сказать, что задачи, поставленные к концу ХХ века, в целом были решены. Однако появились новые вызовы, связанные с появлением Интернета вещей и угрозы квантового компьютера.
Вызовы и требования
Интернет вещей (IoT) представляет собой индустрию, основанную на обмене данных, и защита этих данных является неотъемлемой частью. Особенно важна безопасность устройств класса LPWAN, которые имеют ограниченные вычислительные возможности и работают с небольшими пакетами данных. Требования к криптографии для таких устройств выглядят следующим образом:
- Работа с малыми пакетами данных. Устройства отправляют небольшие пакеты данных через радиоканал с редкими сеансами связи. Криптографический алгоритм должен быть способен шифровать и расшифровывать эти маленькие пакеты данных эффективно. Желательно использовать алгоритмы с переменной длиной блока, чтобы адаптироваться к различным размерам пакетов данных.
- Минимальный оверхэд на трафик. Пропускная способность и стоимость передачи данных ограничены. Криптографический алгоритм должен минимизировать накладные расходы на трафик, не увеличивая значительно размер пакетов данных. Это поможет снизить затраты на передачу данных и продлить срок службы устройства.
- Вычислительная эффективность. Устройства обладают ограниченными вычислительными ресурсами. Поэтому криптографический алгоритм должен быть вычислительно простым, чтобы работать на маломощных чипах. Такой алгоритм позволит устройствам эффективно выполнять операции шифрования и расшифровки без значительного увеличения нагрузки на их процессоры.
- Работа без постоянно активного канала связи. Устройства осуществляют связь через редкие сеансы связи, обычно раз в час или раз в день.
- Криптографический алгоритм должен быть разработан таким образом, чтобы работать без необходимости поддерживать постоянно активное соединение. Это позволит устройствам сохранять энергию и продлит срок службы батареи.
По мере развития IoT и увеличения количества устройств, подключенных к сети, возникают новые вызовы для криптографии. Одним из таких вызовов является угроза квантовых вычислений, которая может нарушить стойкость существующих криптографических алгоритмов. В связи с этим, криптография для IoT должна учитывать потенциальное появление квантовых вычислений и обеспечивать защиту данных, устойчивую к таким угрозам.
Разработка криптографии для Интернета вещей, особенно для устройств класса LPWAN, представляет собой сложную задачу. Это требует учета специфических требований, таких как работа с малыми пакетами данных, минимизация накладных расходов на трафик, вычислительная эффективность и работа без постоянно активного канала связи. Кроме того, криптографические решения должны быть готовы к новым вызовам, таким как угрозы квантовых вычислений, и обеспечивать безопасность данных в условиях быстрого развития и распространения IoT.
Атака, основанная на квантовых вычислениях
Квантовые компьютеры представляют угрозу для существующих криптографических систем. В настоящее время шифры можно разделить на две категории: симметричные и асимметричные. Для понимания угрозы, которую представляют квантовые компьютеры, необходимо рассмотреть их влияние на каждую из этих категорий.
Симметричные | Асимметричные |
---|---|
Малый оверхэд Меньше требований к ресурсам Квантовая стойкость |
Гарантируют авторство, время отправки и неизменность сообщения Простота выработки и обмена ключами |
Не гарантируют авторство (только неизменность сообщения) Требуют безопасного распределения ключей |
Огромный оверхэд Большая вычислительная сложность (у пост-квантовых – еще больше) Требуют постоянной синхронизации отозванных сертификатов (ключей) |
В симметричных шифрах все стороны используют один и тот же ключ для шифрования и расшифрования сообщений. Однако появляется проблема безопасного распределения этого ключа между участниками. Это может быть решено физическим способом, например, с помощью специальных курьеров, или автоматизированным способом с использованием алгоритмов распределенной генерации ключей, включая квантовое распределение ключей.
В случае асимметричных шифров у каждой стороны есть два ключа: секретный и публичный. Секретный ключ известен только пользователю, а публичный ключ доступен всем. Для шифрования используется публичный ключ адресата, а расшифрование происходит с использованием его секретного ключа. Отправитель также может применить свой секретный ключ для создания электронной подписи, которая гарантирует авторство и целостность сообщения.
Теперь мы освежили в памяти, чем отличаются симметричные и асимметричные шифры. Оказалось, что практически все современные асимметричные шифры и криптоалгоритмы, лежащие в их основе, беззащитны перед квантовым компьютером, обычно при этом говорят об алгоритме Шора. Однако, здесь тоже необходимо уточнить, какой квантовый компьютер необходим – ведь квантовые компьютеры существуют, при этом ассиметричные шифры успешно применяются (например, RSA). При этом симметричные шифры оказались в основном квантово-устойчивыми (т.е. компьютер не получает такого значительного преимущества): например, известный квантовый алгоритм Гровера дает квадратичное ускорение при подборе ключа в шифре AES, что может быть компенсировано удвоением длины ключа.
Однако, как уже было упомянуто, симметричные криптографические схемы требуют распределения ключей между участниками: это может быть как распределённая генерация таких ключей (QKD, Диффи-Хеллман), так и их физическая доставка (курьеры). Очевидно, что доставка курьерами – «технология» прошлого века. QKD – дорого и имеет физические ограничения на расстояние. Диффи-Хеллман – не квантово-стойкий и требует замены. Для решения проблемы квантового взлома NIST в 2016 г. запустил программу разработки квантово-стойких (или пост-квантовых) алгоритмов, и в 2022 отобрал из них кандидатов на федеральный стандарт[1].
Из описанного видно, что симметричные алгоритмы являются лучшими кандидатами для Интернета вещей в пост-квантовую эпоху, а главным барьером - распределение ключей. Современные асимметричные шифры и криптоалгоритмы, использующиеся в них, подвержены угрозе квантовых компьютеров, особенно алгоритм Шора. Однако стоит отметить, что необходимость квантового компьютера для взлома асимметричных шифров зависит от их конкретной реализации. Например, асимметрические шифры, такие как RSA, все еще безопасны, несмотря на существование квантовых компьютеров. С другой стороны, симметричные шифры оказываются более устойчивыми к квантовым атакам. Например, известный квантовый алгоритм Гровера дает квадратичное ускорение при подборе ключа в шифре AES, но это может быть компенсировано увеличением длины ключа.
Квантово-стойкие алгоритмы и протоколы предлагают новые методы шифрования и распределения ключей, которые устойчивы к атакам квантовых компьютеров. Они основаны на математических принципах, которые не могут быть легко разрешены квантовыми вычислениями. Однако переход к квантово-стойким алгоритмам не является простым процессом. Это требует обновления и замены существующих систем и инфраструктуры, что может потребовать значительных усилий и ресурсов. Кроме того, внедрение квантово-стойких алгоритмов должно быть согласовано и скоординировано на международном уровне, чтобы обеспечить совместимость и безопасность коммуникаций.
Варианты развития
Если зафиксировать криптостойкость, которая, как правило, определяется из бизнес-требований, то между частотой смены ключей и сложностью шифра существует связь: чем чаще меняется ключ, чем более простым может быть шифр. Более простой шифр значит менее требовательный к вычислительным ресурсам. Крайней точкой на этой шкале выступает шифр Вернама[2], где в качестве функции преобразования данных на ключе используется XOR простое побитовое сложение сообщения и ключа. Такой шифр расходует объем ключей, равный объему сообщения, объем сообщения при этом не меняется. Доказано, что шифр Вернама обладает абсолютной криптостойкостью, то есть не может быть взломан никакими средствами при выполнении двух условий: каждый ключ истинно случаен и используется только один раз. Кстати, у этого шифра есть богатая история - ведь именно он применялся в докомпьютерную эпоху шпионами. Тогда для этого шпион получал набор ключей в виде шифроблокнота.
Может показаться, что шифр Вернама идеален, но главный его недостаток - гигантский расход ключа - делает его неприемлемым в бытовом применении: например, 1 час видеоконференции потребляет от 0,5 до 7,2 ГБ трафика в зависимости от разрешения. Это означало бы, что предварительно все стороны должны иметь такой же объем ключей, доставленных безопасным образом. Однако такой способ применяется в некоторых дипломатических каналах связи, когда вопросы удобства и стоимости уступают требованиям конфиденциальности.
Примеры и оценки
Давайте оценим, насколько реально применение шифра Вернама в реальных сценариях.
Сценарий 1. Датчик температуры и влажности. Предположим, нам нужно передавать показания сенсора температуры и влажности с аграрного поля. Пусть он измеряет температуру от 0 до +50оС с шагом 0.5оС и влажность от 0 до 99% с шагом 1%. Итого по 100 значений или по 7 битом. Зарезервируем по 1 байту на избыточность (например, проверку четности), получим 2 байта полезных данных за одно измерение. Предположим, измерения происходят каждый час в течение 10 лет 2Б х 24ч х 365д х 10лет = 175 200 Б, т.е. <200 кБ на весь срок службы устройства. Мы помним, что для применения этого шифра нам понадобятся такого же объема ключи.
Сценарий 2. Счетчик воды. Измерение расхода воды от 0 до 10 000 м3 с точностью 1% - 1 000 000 значений, 20 бит + избыточность = 3Б. Ежедневные измерения в течение 16 лет:
3Б х 365д х 16лет = 17 520 Б, на порядок меньше предыдущего случая.
Мы здесь сознательно не рассматриваем сценарии таких подключенных устройств, как смартфоны, счетчики электричества, камеры видеонаблюдения или автомобили. Это устройства со значительным энергоресурсом и производительным процессором, что относит их к другому классу. Единственное ограничение, с которым человечество может столкнуться при росте парка таких устройств, это дефицит спектра, но это другая история.
Это всего лишь оценки, которые, однако, дают понять о величинах какого порядка в передаче данных идет речь. Оказывается, что при применении самого расточительного на ключи шифра Вернама это сотни килобайт. Даже если эти объемы возрастут на несколько порядков, это не будет проблемой при нынешней стоимости на флэш-память. При этом существует множество промежуточных вариантов на шкале «расход ключа – сложность» при фиксированной криптостойкости.
Так ли нужно придумывать сложные квантово-устойчивые схемы распределения ключей, когда можно наделить устройство ключами на весь срок его службы? Возможно, мы находимся в плену стереотипов прошлого, когда нужно было зашифровать как можно больше данных на одном ключе.
Детали реализации
Для реализации такого подхода необходимы безопасные хранилища ключей как на платформе в облаке, так и на устройстве.
В качестве элемента инфраструктуры для работы с криптографией (ключи, операции шифрования) давно применяются HSM (hardware security module). Они достигли зрелости и вряд ли тут можно что-то серьезно улучшить. На конечных устройствах хорошей практикой является применение модуля безопасности (secure element), в качестве которого в сотовых устройствах выступает SIM карта (включая разновидности eSIM, iSIM и т.п.). В свою очередь SIM карта является программной реализацией на чипе UICC, который также применяется в банковских платежных картах с другим составом микрокода. UICC может быть представлен не только как сменяемая карта, но и как впаянный чип (eUICC) или как IP-блок для размещения на другом чипе[3] (iUICC).
Распространенность, доказанная безопасность и дешевизна чипа UICC делает его кандидатом №1 на роль модуля безопасности в устройствах Интернета вещей. Это поддерживается также концепцией GSMA IoT SAFE[4] (IoT SIM Applet For Secure End-2-End Communication), которая ставит SIM карту на роль корня доверия в устройствах. При этом ключевой материал может храниться не только на самом UICC, но и на внешнем к нему накопителе в крипто-контейнере, доступ к которому будет иметь только модуль безопасности. При необходимости обновления ключевого материала можно использовать зрелую технологию Key Wrap, давно применяющуюся для синхронизации ключей в HSM.
Таким образом, все компоненты данного подхода уже есть на рынке, апробированы в индустрии, выпускаются большими тиражами, поэтому имеют крайне невысокую цену. Также важным является и то, что применяемые технологии знакомы современным инженерам, и они сразу могут начать разработку решений на их основе.
Итак, данный подход с применением одноразовых симметричных ключей открывает путь к простой легковесной криптографии для Интернета вещей – с малым оверхэдом, готовой к исполнению даже на SIM карте и совершенно равнодушной к появлению мощного квантового компьютера.
[1]NIST, Selected Algorithms 2022: https://csrc.nist.gov/Projects/post-quantum-cryptography/selected-algorithms-2022
[2]Wikipedia, The Vernam cipher: https://en.wikipedia.org/wiki/Gilbert_Vernam#The_Vernam_cipher
[3]Kigen iSIM https://kigen.com/products/isim/
[4]GSMA IoT SAFE https://www.gsma.com/iot/iot-safe/