Эта статья является кандидатом в добротные статьи

Эллиптическая криптография интернета вещей: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 128: Строка 128:
== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}
[[Категория:Криптографические протоколы]]
{{нет категорий}}
[[Категория:Компьютерные сети]]
{{изолированная статья}}
{{изолированная статья}}
{{Кандидат в добротные статьи|10 декабря 2018}}
{{Кандидат в добротные статьи|10 декабря 2018}}

Версия от 19:39, 13 декабря 2018

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

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

Введение

Интернет Вещей становится всё более популярным из-за его способности подключаться и общаться с несколькими устройствами через Интернет. С помощью IoT существует возможность управления несколькими устройствами удаленно. К 2017 году термин "Интернет вещей" распространился не только на киберфизические системы для «домашнего» применения, но и на промышленные объекты. Данная технология может быть применена почти в всех областях, например, таких как здравоохранение, образование, общественная инфраструктура. Переход от локальной сети к общественному интернету через Wi-Fi сильно ускоряется, в то же время это поднимает вопрос безопасности. Общество всё больше зависит от IoT во всех аспектах своего существования, создаются умные города, умные дома и прочие интеллектуальные устройства. Поэтому возникает вопрос о том, как защитить все эти IoT-устройства от вторжений и помех, которые могут угрожать личной конфиденциальности или могут представлять угрозу для общественной безопасности. Рассмотрим подробнее как архитектура IoT способствует раскрытию угроз безопасности в следующих разделах.[1]

Архитектура IoT

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

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

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

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

Схема ECIOT

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

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

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

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

Алгоритм

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

Пример

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

  • 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-битных IoT-устройств, что позволяет IoT-устройству продлить срок службы.[1]

Примечания

  1. 1 2 3 4 5 6 Darshana Pritam Shah ; Pritam Gajkumar Shah. "Revisting of elliptical curve cryptography for securing Internet of Things (IOT)" (11 июня 2018). Дата обращения: 6 декабря 2018.
  2. Wind River Systems. "Security in the Internet of Things" (январь 2015). Дата обращения: 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.
  4. W. Diffie, M. Hellman. "New directions in cryptography" (ноябрь 1976). Дата обращения: 6 декабря 2018.
  5. MIRACL Ltd. "MIRACL Library" (2018). Дата обращения: 6 декабря 2018.
  6. W. Diffie, M. Hellman. "New directions in cryptography" (ноябрь 1976). Дата обращения: 6 декабря 2018.
  7. Joppe W. Bos , J. Alex Halderman , Nadia Heninger , Jonathan Moore, Michael Naehrig and Eric Wustrow. "Elliptic Curve Cryptography in Practice". Дата обращения: 6 декабря 2018.
  8. Neal Koblit. "Elliptic Curve Cryptosystems" (январь 1987). Дата обращения: 6 декабря 2018.
  9. Darshana Pritam Shah ; Pritam Gajkumar Shah. "Revisting of elliptical curve cryptography for securing Internet of Things (IOT)" (11 июня 2018). Дата обращения: 6 декабря 2018.