АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ И УПРАВЛЕНИЕ ДАННЫМИ С ПОМОЩЬЮ БЛОКЧЕЙН-СИСТЕМЫ 
Введение 
С быстрым ростом количества умных гаджетов и высокоскоростных сетей, которые используются для связи с этими умными устройствами, интернет вещей (Internet of things, IoT) за последние несколько лет привлек много внимания исследователей [1]. Эти встроенные устройства или устройства интернета вещей подключаются через общедоступные или частные сети, получают удаленный доступ и предоставляют желаемую функциональность. Публичные и частные сети используют сетевые протоколы для обмена информацией и взаимодействия между устройствами IoT [2]. 
Интернет вещей – это ресурсоемкие устройства, которые не способны защищать себя от вредоносных атак, таких как атака «человек посередине», DOSатаки и т.д., и могут быть легко взломаны злоумышленниками. Для обеспечения безопасности важно внедрить надлежащие методы для пользователя, а также аутентификацию устройства и вычислительную транзакцию, чтобы убедиться, что устройства интернета вещей безопасны во всех отношениях [3]. Существует также потребность в системе для обеспечения взаимодействия между конечными пользователями и устройствами интернета вещей [4].  
Многочисленные методы аутентификации [5] разработаны и развернуты для обеспечения безопасности устройств интернета вещей, но все они основаны на централизованной архитектуре и зависят от централизованного органа управления, такого как база данных или серверы системы. Центр управления проверяет конечных пользователей, системные устройства интернета вещей и записи связи между конечными пользователями и устройствами интернета вещей с использованием различных протоколов. Взаимная аутентификация, аутентификация на основе сертификатов и аутентификация на основе токенов – все это централизованные методы аутентификации. Эти методы имеют много недостатков, таких как высокие транзакционные вычислительные затраты, централизованные доверенные третьи стороны, единая точка отказа, отсутствие конфиденциальности и высокая вероятность взлома. Поскольку эти методы таким образом полагаются на доверенную третью сторону, возникают проблемы с двойной зависимостью [6]. На рис. 1 представлена проблема двойной зависимости. Владельцы системы могут отправлять одну и ту же транзакцию нескольким участникам системы. 
Недостатком прямой аутентификации пользователей является то, что они аутентифицируют пользователей только с помощью имени пользователя или пароля. Таким образом, защищенность данного метода аутентификации довольно низкая. 
Рисунок 1 
Метод открытой аутентификации для аутентификации пользователя – это централизованный метод, при котором все вычисления выполняются с использованием центрального идентификатора. 
Метод групповой аутентификации разделяет метод аутентификации на нескольких узлах, но метод групповой аутентификации не использует значения хэш-ключа, поэтому каждый объект в системе может выполнять некоторые вредоносные действия. 
Все вышеупомянутые методы имеют много недостатков. Они аутентифицируют только пользователей и не аутентифицируют устройства интернета вещей. Они также используют централизованные методы аутентификации. При централизованном методе все вычислительные данные хранятся на сервере. Объекты в системе слишком сильно полагаются на сервер или центральный орган для выполнения желаемых транзакций доступа. Если централизованный орган не имеет достаточную надежность с точки зрения безопасности, то это может нарушить безопасность всей системы. 
Чтобы уменьшить недостатки централизованной (доверенной третьей стороной) аутентификации устройств интернета вещей, предлагается децентрализованная схема аутентификации конечного пользователя, устройств интернета вещей и транзакций с использованием алгоритмов, обеспечивающих технологию блокчейн. Предлагаемая система обеспечивает возможность аутентификации конечного пользователя и устройств интернета вещей. Предлагаемая система также облегчает конечным пользователям сопоставление защищенной связи с устройствами интернета вещей, обеспечивая при этом безопасность без каких-либо требований к централизованной идентификации. 
Основная цель архитектуры системы, предложенной в данной статье – обеспечить безопасность устройств интернета вещей на аппаратном уровне. Для достижения этой цели необходимо использовать технологию блокчейна.  
Архитектура системы 
В предлагаемой системной архитектуре есть пять основных объектов с доступом к веб-алгоритмам через интернет: администратор, конечные пользователи, которые обеспечивают прямое подключение к системе, алгоритм блокчейна, база данных (сервер MySQL), содержащая данные конечных пользователей и устройства IoT. Более подробное описание объектов приведено ниже. Во время регистрации присваиваются уникальные хэш-адреса (открытый и закрытый ключи) устройствам интернета вещей и конечным пользователям. Как устройства интернета вещей, так и конечные пользователи зарегистрированы в сети интернет. Администратор и базы данных также являются частью системы. Подробная архитектура системы представлена на рис. 2. 
Рисунок 2 
Администратор 
Администратор является наиболее ценным подразделением системы и отвечает за контроль доступа пользователей, список пользователей, службы устройств интернета вещей и разрешение конечным пользователям на доступ к устройствам интернета вещей. Только владелец конкретной организации или архитектурной системы имеет возможности управления и контроля доступа. Основным клиентом в рамках фреймворка является владелец или создатель алгоритма блокчейна. Владелец алгоритма блокчейна может добавлять устройства интернета вещей по запросу пользователя как часть системы. Администратор также предоставляет конечным пользователям разрешение на доступ к устройствам интернета вещей с помощью алгоритма. Администратор имеет возможность блокировать новые транзакции в системе и добавлять блок в цепочку. Самым первым объектом в системе является администратор, поэтому его блок не имеет предыдущего хэш-значения. 
Конечные пользователи 
Утилизаторы в рамках системы – это клиенты, которые запрашивают согласие у алгоритма блокчейна на доступ к определенным устройствам интернета вещей. Как только конечным пользователям разрешается получать авторизацию после аутентификации с помощью алгоритма аутентификации, они связываются с назначенным серверным узлом, способным управлять желаемым устройством интернета вещей для аутентификации и доступа. 
Алгоритм блокчейна 
Алгоритм блокчейна предоставляет аутентифицированному утилизатору доступ к аутентифицированному смарт-устройству. Регистрация конечных пользователей, интеллектуальные устройства, контроль доступа, аутентификация и функциональные возможности развертываются, чтобы стать централизованной архитектурой с помощью алгоритма блокчейна. 
База данных 
В предложенном прототипе решения база данных используется для контроля доступа к устройствам интернета вещей. База данных хранит устройства интернета вещей, информацию, данные конечного пользователя и вычислительные транзакции в виде общедоступных реестров. База данных распределена между всеми конечными пользователями в форме распределенной бухгалтерской книги, но они не могут изменять, удалять или обновлять какие-либо записи, они могут только создать свою собственную запись транзакции. 
Устройства интернета вещей 
Ожидается, что интеллектуальные устройства в системе будут ресурсоемкими устройствами с ограниченными возможностями хранения, обработки и памяти. 
Взаимодействие между объектами 
Взаимодействие между объектами системы происходит в два основных этапа, а именно, онлайн- и оффлайн-взаимодействия. На рис. 3 показана последовательность взаимодействий между конечным пользователем и устройствами интернета вещей для успешной аутентификации пользователя, а также доступа пользователя к устройствам интернета вещей. Безопасный сеанс устанавливается для безопасного соединения между конечными пользователями и интеллектуальными устройствами. При онлайн-взаимодействии администратор изначально генерирует алгоритм смарт-контракта, регистрирует пользователя в системе и сопоставляет его с сервером MySQL с помощью выбранных функций. Уникальные частные и публичные адреса присваиваются пользователям с помощью алгоритмов. Администратор добавляет устройства в систему, а также присваивает уникальные адреса с помощью алгоритмов и сохраняет их на сервере MySQL. Вот почему аутентифицированные пользователи могут получить доступ к аутентифицированным устройствам, которые являются частью системы. На рис. 3 представлена схема взаимодействия конечного пользователя и устройств интернета вещей. 
Рисунок 3 
Когда пользователь успешно проходит аутентификацию (получает свои уникальные открытый и закрытый ключи) и ему необходимо получить доступ к конкретному устройству интернета вещей, пользователь первоначально передает запрос на аутентификацию алгоритму блокчейна, используя запрос на регистрацию. Алгоритм распознает SQL-сервер аутентифицированного смартустройства для этого конечного пользователя. Если устройство не аутентифицировано или клиент не имеет права использовать это устройство, то система отклоняет запрос пользователя. В противном случае, если и устройство интернета вещей, и пользователь являются действительными и являются частью системных объектов, алгоритм блокчейна выделит конечному пользователю разрешение на доступ к авторизованному устройству и сохранит информацию о доступе в виде шифрования на сервере SQL, а затем передаст ее всем пользователям публично. 
Когда пользователь успешно регистрируется в системе с помощью смартконтракта, алгоритм сохраняет идентификатор пользователя, публичный адрес, личный адрес и предыдущие общедоступные хэш-значения. Генерируется блок, содержащий открытый и закрытый ключи пользователя, транзакционные данные и предыдущие хэш-значения. Публичные и частные адреса пользователей хранятся в виде значений хэш-ключа. Алгоритм хэширования ключей SHA-256 используется для генерации значений хэш-ключей. 64-битные значения ключей, генерируемые SHA-256, находятся в зашифрованном виде. 
Сначала пользователи регистрируются в системе и получают значения открытого и закрытого хэш-ключей, которые хранятся на сервере SQL, затем пользователь входит в систему, используя открытый ключ. Смарт-контракт определяет, является ли он действительным пользователем или нет. Если пользователь не авторизован, его запрос отклоняется с ошибкой, в противном случае – пользователь успешно входит в систему со значениями открытого и закрытого хэш-ключей. 
Заключение 
В данной статье предложен архитектурный дизайн логических алгоритмов на основе блокчейна с использованием алгоритма значений хэш-ключа для конечных пользователей, устройств интернета вещей и аутентификации транзакций в распределенном виде без вмешательства третьих лиц. Аутентификация большого количества конечных пользователей, устройств интернета вещей и транзакций приводит к развертыванию данных с помощью сервера MySQL, что освобождает конечных пользователей и устройства интернета вещей от вычислительной сложности аутентификации в сети блокчейн. Если распределенный реестр не обновляется после каждой транзакции, происходит потеря данных, что создает вредоносность между блоками распределенного реестра, поскольку каждый блок связан с предыдущим блоком через предыдущее значение открытого хэш-ключа для создания цепочки. В будущем может быть реализована децентрализованная архитектура для обеспечения безопасности устройств интернета вещей на стороне сервера.