Эллиптическая криптография интернета вещей
Эллиптическая криптография интернета вещей (англ. 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]. Обычно датчики работают без какой-либо формальной сетевой инфраструктуры, такой как сетевой администратор. Данные устройства должны принимать собственные решения о том, стоит ли принимать команду или выполнять задачу, над ними не работает человек, который может вводить учетные данные для аутентификации и решать, следует ли доверять приложению.[источник не указан 1787 дней]
Защита и проверка безопасности «Интернета вещей» должна осуществляться на протяжении всего жизненного цикла устройства, начиная от первоначальной конфигурации и заканчивая оперативной средой, которая включает в себя безопасную загрузку путем проверки цифровых подписей, контроля доступа, аутентификации устройства, межсетевых экранов и 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 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.
- ↑ Wind River Systems. "Security in the Internet of Things" (неопр.) (январь 2015). Дата обращения: 6 декабря 2018.
- ↑ 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.
- ↑ 1 2 W. Diffie, M. Hellman. "New directions in cryptography" (неопр.) (ноябрь 1976). Дата обращения: 6 декабря 2018.
- ↑ MIRACL Ltd. "MIRACL Library" (неопр.) (2018). Дата обращения: 6 декабря 2018.
- ↑ Joppe W. Bos , J. Alex Halderman , Nadia Heninger , Jonathan Moore, Michael Naehrig and Eric Wustrow. "Elliptic Curve Cryptography in Practice" (неопр.). Дата обращения: 6 декабря 2018.
- ↑ Neal Koblit. "Elliptic Curve Cryptosystems" (неопр.) (январь 1987). Дата обращения: 6 декабря 2018.
На эту статью не ссылаются другие статьи Википедии. |