Эллиптическая криптография интернета вещей (англ. Elliptical Curve Internet of Things, ECIOT)[1] — криптографический протокол, основанный на эллиптической криптографии, целью которого является защита связи между устройствами, работающими в соответствии с технологией «интернета вещей», то есть защита связи между устройствами «интернета вещей» и сервером.

«Интернет вещей» (англ. Internet of Things, IoT) представляет собой сеть, где устройства, подключённые к интернету, взаимодействуют с облаком для того, чтобы обмениваться информацией через интернет. С помощью этой технологии существует возможность управлять несколькими устройствами удалённо. Поскольку устройства подключены к сети интернет, возникает проблема безопасности «интернета вещей» при использовании этой технологии. Устройства «интернета вещей» могут подвергаться различным видам атак. Для того чтобы устранить уязвимость устройств, существует защищенный протокол ECIOT. В соответствии с данным протоколом устройство устанавливает секретный ключ сеанса с сервером используя протокол Диффи-Хеллмана на основе кривой NIST p-192. Последующая связь выполняется с помощью симметричного шифра ключа Ex-OR, что подразумевает под собой шифр с использованием проективной системы координат с методом вычитания сложения с использованием ключа ECIOT[1].

Введение править

Выбор основных составляющих криптографического протокола ECIOT напрямую зависит от архитектуры сети, использующей технологию «Интернет вещей». Специфика устройств «интернета вещей» накладывает ограничения на использование криптографических примитивов с точки зрения памяти и вычислительной мощности. Архитектура «интернета вещей» позволяет проследить как и где проявляются уязвимости[1].

Архитектура «Интернета вещей» править

В общем случае «Интернет вещей» состоит из беспроводных сенсорных узлов, которые собирают информацию и отправляют её на ближайшую базовую станцию, называемую «шлюзом», которая, в свою очередь, связывается с общим или частным облаком. Особенности топологии могут варьироваться, например, в некоторых случаях шлюз может находиться на устройстве. Устройства, используемые в таких топологиях, могут быть построены специально для «Интернета вещей» (greenfield) или могут быть устаревшими устройствами, которые имеют возможности поддержки технологии, добавленные после их установки (brownfield)[2].

Задачи безопасности править

Цели безопасности для «Интернета вещей» остаются такими же как и в других компьютерных сетях, однако появляются и некоторые уникальные проблемы, связанные с использованием криптографии с открытым ключом, которая необходима для защиты связи между узлами датчиков. Криптографические алгоритмы с открытым ключом обычно реализуются сложным образом, что приводит к значительным накладным расходам по отношению к времени выполнения и энергопотреблению. Основными проблемами в топологии «Интернета вещей» являются датчики. Эти миниатюрные устройства предназначены для малого потребления энергии, они имеют небольшой кремниевый форм-фактор, имеют ограниченную пропускную способность и вычислительную мощность из-за 8/16 битного микропроцессора с очень низкой тактовой частотой (≤10 МГц). Хранение информации на этих устройствах также ограничено, так как большая часть хранилища занята прикладным программным обеспечением, оставляя очень ограниченное пространство для протоколов безопасности: ОЗУ занимает всего несколько килобайт, а флэш-память имеет до 256 КБ для хранения программного кода[3]. Обычно датчики работают без какой-либо формальной сетевой инфраструктуры, такой как сетевой администратор. Данные устройства должны принимать собственные решения о том, стоит ли принимать команду или выполнять задачу, над ними не работает человек, который может вводить учетные данные для аутентификации и решать, следует ли доверять приложению.[источник не указан 1928 дней]

Защита и проверка безопасности «Интернета вещей» должна осуществляться на протяжении всего жизненного цикла устройства, начиная от первоначальной конфигурации и заканчивая оперативной средой, которая включает в себя безопасную загрузку путем проверки цифровых подписей, контроля доступа, аутентификации устройства, межсетевых экранов и IPS и т. д.[1]

Схема ECIOT править

Протокол ECIOT используется для шифрования и дешифрования сообщений на основе эллиптической кривой для связи между шлюзом и устройством «интернета вещей». Устройства IoT будут использовать симметричные ключи протокола Ex-OR для шифрования и дешифрования сообщения. В протоколе Ex-OR ключ отправителя и получателя должны быть одинаковыми, так как это протокол симметричного ключа. Но обмен этим ключом по небезопасному каналу является рискованным из-за возможности их перехвата хакером. Поэтому, устройство, использующее технологию «Интернет вещей», в схеме ECIOT должно использовать Протокол Диффи — Хеллмана на эллиптических кривых[4] для установления пары ключей с сервером. Использование этого протокола на беспроводных сенсорных узлах наиболее выгодно, так как из-за меньшего размера ключевых устройств пропускная способность и требования к хранению значительно сократятся по сравнению с протоколом RSA. Также реализация протокола ECIOT в криптографической библиотеке MIRACL[5] показывает, что протокол Диффи Хеллмана на эллиптической кривой потребляет меньше ресурсов по сравнению с протоколом Диффи Хеллмана по факториальной проблеме.

Описание алгоритма ECIOT править

Протокол Диффи — Хеллмана на эллиптических кривых[4] позволяет двум сторонам, имеющим пары открытый/закрытый ключ на эллиптических кривых, получить общий секретный ключ, используя незащищённый от прослушивания канал связи. Этот общий секретный ключ используется устройствами IoT для шифрования и расшифровки последующих сообщений с использованием шифра Ex-OR. Рассмотрим Протокол Диффи — Хеллмана на эллиптических кривых подробнее.

В этом протоколе   и   являются открытыми ключами устройства «интернета вещей» и сервера соответственно, тогда   и   являются закрытыми ключами. Базовая точка G является точкой на эллиптической кривой. Устройство «интернета вещей» и сервер умножают базовую точку G на свои закрытые ключи, чтобы получить ещё одну точку на эллиптической кривой, которую называют открытым ключом и пересылают друг с другу. Общий секретный ключ — это координата X результирующей точки, которую они получают после умножения их соответствующих секретных ключей на открытый ключ друг друга[1].

Алгоритм

  • Базовая точка на кривой G
  • Пара открытый/закрытый ключ на устройстве  , где  
  • Пара открытый/закрытый ключ на сервере  , где  
  • IoT-устройство вычисляет  
  • Сервер вычисляет  
  • Общий секретный ключ  

Реализация

В протоколе используется эллиптическая кривая NIST p-192[6], уравнение кривой  , где A, B и p предопределены в форме Вейерштрасса над конечным полем  , где   и является простым, A и B ∈  [7]. Для ускорения вычислений на IoT в протоколе ECIOT использовались такие значения A, B и p эллиптической кривой[1]:

  • p ="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF"
  • A ="-3"
  • B ="64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1"
  • Координаты G(X, Y):
   X =“188DA80EB03090F67CBF20EB43A18800F4FFOAFD82FF1012”
   Y =“07192B95FFC8DA78631011ED6B24CDD573F977A11E794811”

Устройство IoT и сервер выбирают любое положительное целое число случайным образом в качестве своего закрытого ключа и умножают базовую точку G (X, Y) на эллиптическую кривую для генерации своего открытого ключа.

  • Закрытый ключ устройства IoT = 2455155546008943817740293915197451784769108058161191238065
  • Закрытый ключ сервера = 156204924171171345230889264615265264018234269657

Устройство и сервер вычисляют ключ сеанса путем умножения открытых ключей друг друга на их закрытые ключи.

  • Устройство IoT вычисляет ключ сеанса = 2013290534764576415020157484388000712366938431147014905701
  • Сервер вычисляет ключ сеанса = 2013290534764576415020157484388000712366938431147014905701

Ключи сеанса совпадают, они находится в сжатом формате. Использование метода сжатия позволяет экономить пропускную способность, поскольку для того, чтобы воссоздать точку необходимо передавать только одну координату ключа эллиптической кривой вместе с младшим значащим битом Y-координаты. Для оптимизации протокола ECIOT была использована проективная система координат с методом вычитания сложения для целочисленной перекодировки. Использование проективных координат помогает протоколу избежать модульной операции инверсии, которая является энергозатратной с вычислительной точки зрения для 8/16-битных устройств «интернета вещей», что позволяет продлить ему срок службы[1].

Примечания править

  1. 1 2 3 4 5 6 7 Darshana Pritam Shah ; Pritam Gajkumar Shah. "Revisting of elliptical curve cryptography for securing Internet of Things (IOT)" (11 июня 2018). Дата обращения: 6 декабря 2018. Архивировано 10 декабря 2018 года.
  2. Wind River Systems. "Security in the Internet of Things" (январь 2015). Дата обращения: 6 декабря 2018. Архивировано 6 декабря 2018 года.
  3. Zhe Liu ; Xinyi Huang ; Zhi Hu ; Muhammad Khurram Khan ; Hwajeong Seo ; Lu Zhou. On Emerging Family of Elliptic Curves to Secure Internet of Things: ECC Comes of Age // IEEE. — 2016. Архивировано 20 декабря 2018 года.
  4. 1 2 W. Diffie, M. Hellman. "New directions in cryptography" (ноябрь 1976). Дата обращения: 6 декабря 2018. Архивировано 10 декабря 2018 года.
  5. MIRACL Ltd. "MIRACL Library" (2018). Дата обращения: 6 декабря 2018. Архивировано 14 февраля 2019 года.
  6. Joppe W. Bos , J. Alex Halderman , Nadia Heninger , Jonathan Moore, Michael Naehrig and Eric Wustrow. "Elliptic Curve Cryptography in Practice". Дата обращения: 6 декабря 2018. Архивировано 20 ноября 2018 года.
  7. Neal Koblit. "Elliptic Curve Cryptosystems" (январь 1987). Дата обращения: 6 декабря 2018. Архивировано 7 апреля 2019 года.