Авторизация на web-сервере Arduino для управления через Интернет

Вантажиться...
Ескіз
Дата
2018
Автори
Мясищев, Александр Анатольевич
Myasischev, A.A.
Назва журналу
Номер ISSN
Назва тому
Видавець
Хмельницький національний університет
Анотація
Рассматривается возможность построения web-сервера для управления оборудованием и получением данных с различных датчиков через сеть Интернет. Указывается на то, что для удаленного управления необходимо проводить авторизацию. В противном случае оборудование будет не защищено от несанкционированного доступа пользователей сети Интернет. Отмечается, что управляющие web-сервера создаются на базе микроконтроллеров, которые имеют малые ресурсы и не в состоянии работать с протоколами HTTPS, SSL, TLS. Поэтому эти сервера являются уязвимыми со стороны сетевых атак. В работе рассмотрено создание web-сервера на Arduino, который использует авторизацию на основе GET и POST запросов, а также модернизированную HTTP basic authentication. Модернизация состоит в том, что для авторизации используется пароль из списка паролей, который выбирается пользователем на основании ключа, пересылаемого сервером. При каждом новом входе на сервер предыдущий пароль становиться недействительным. Представлен практический пример web-сервера на Arduino Mega, на котором установлены три светодиода, имитирующие включение-выключение 3-х силовых источников питания (например, электра - розеток), датчик температуры DS18B20, датчик влажности и температуры DHT 11 и барометрический датчик BMP280. Сервер тестировался с тремя контроллерами Ethernet: enc28j60, W5100 и w5500. Для этого использовались три библиотеки: UIPEthetnet, Ethernet и Ethernet2, которые показали одинаковые результаты работы. Установлено, что авторизация на сервере Arduino с использованием метода запроса GET является нецелесообразной, так как при использовании форм ввода с полями для пароля коды открыто высвечиваются в адресной строке. Авторизация с использованием метода POST скрывает передаваемые коды. Но коды передаются по сети в открытой форме, поэтому их можно перехватить с помощью программ снифферов. Использование протоколов HTTPS, SSL, TLS позволяет сделать такую авторизацию безопасной. Программа, реализующая web-сервер Arduino, составлена в среде разработки Arduino IDE ver. 1.8.6.
The possibility of building a web server for controlling equipment and obtaining data from various sensors via the Internet is considered. It is indicated that authorization is necessary for remote management. Otherwise, the equipment will not be protected from unauthorized access of Internet users. It is noted that the managing web servers are created on the basis of microcontrollers, which have small resources and are not able to work with the protocols HTTPS, SSL, TLS. Therefore, these servers are vulnerable to network attacks. The paper considers the creation of a web server on Arduino, which uses authorization based on GET and POST requests, as well as modernized HTTP basic authentication. The upgrade consists in the fact that the password is used for authorization from the password list, which is selected by the user based on the key sent by the server. With each new login to the server, the previous password becomes invalid. A practical example of a web server is presented on the Arduino Mega, on which are installed three LEDs simulating switching on / off of 3 power supply sources (for example, power outlets), DS18B20 temperature sensor, humidity and temperature sensor DHT 11 and barometric sensor BMP280. The server was tested with three Ethernet controllers: enc28j60, W5100 and w5500. For this purpose, three libraries were used: UIPEthetnet, Ethernet and Ethernet2, which showed the same results. It has been established that authorization on the Arduino server using the GET request method is inappropriate, because when using input forms with password fields, the codes are displayed in the address bar. Authorization using the POST method hides the transmitted codes. But the codes are transmitted over the network in an open form, so they can be intercepted using snuffers programs. Using HTTPS, SSL, TLS allows you to make such authorization secure. The program that implements the Arduino web server is made in the Arduino IDE 1.8.6.
Опис
Ключові слова
Ethernet Shield Arduino, basic authentication
Бібліографічний опис
Мясищев А. А. Авторизация на web-сервере Arduino для управления через Интернет / А. А. Мясищев // Вісник Хмельницького національного університету. Технічни науки. – 2018. – № 2. – С. 183-190.