Статья опубликована в рамках: XV Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 28 марта 2018 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
АЛГОРИТМ АУТЕНТИФИКАЦИИ БЕЗ ПРИМЕНЕНИЯ HTTPS
AUTHENTICATION ALGORITHM WITHOUT USING HTTPS
LudmilaTyagulskaya
сandidate of Economic Sciences, Head of Informatics and Software Engineering department, assistant professor of branch Pridnestrovian State University named Taras Shevchenko,
Transnistria, Rybnitsa
AlexandrTroyanovsky
student of the master's program «Information technologies in modeling and organization of business processes» of branch Pridnestrovian State University named Taras Shevchenko,
Transnistria, Rybnitsa
АННОТАЦИЯ
В статье рассматривается метод аутентификации для веб-приложений без применения HTTPS, который позволяет уберечь пароль от кражи злоумышленником. Основной принцип данного алгоритма состоит в том, чтобы не отправлять пароль в открытом виде на сервер.
ABSTRACT
The article examines the method of authentication for web applications without the use of HTTPS, which allows you to protect the password from theft by an attacker. The main principle of this algorithm is to not send the password in clear form to the server
Ключевые слова: безопасная аутентификация, веб-приложение, алгоритм.
Keywords: secure authentication, web-application, algorithm.
За довольно короткий период времени информационная сфера совершила большой рывок. Возросшая производительность персональной техники, сохранение большого объема данных, а также повсеместное подключение к высокоскоростной сети привели к необходимости хранения важной информации в интернете.
Web-приложения уязвимы к краже ценной информации, так как злоумышленники используют ошибки в механизмах аутентификации пользователей для получения доступа к конфиденциальным данным [1].
Спектр данных, которые требуют защиты, довольно широк: сведения о сотрудниках и клиентах, номера банковских карт, информация о здоровье, финансовые документы, секреты производства [2].
Информационная безопасность пользователей во всемирной паутине – основная задача для IT-специалистов, решение которой осуществляется при помощи различных комплексных мер, одним из которых является аутентификация.
Когда идет речь о защите информации, одним из основных аспектов считается защита от несанкционированного доступа к данным пользователя. Любое уменьшение ограничений полномочий имеет смысл только в том случае, когда пользователь уверен в том, что тот, кто получает доступ к нашим ресурсам, является легальным пользователем. Задача безопасной аутентификации является весьма актуальным при попытке обеспечения безопасности любой организации в целом [5].
Процедура входа в web-приложение состоит из трёх последовательных шага: идентификация, аутентификация, авторизация.
Идентификация – присвоение объектам идентификатора или сравнение идентификатора с несколькими присвоенными идентификаторами.
Аутентификация – подтверждение истинности чего-либо или кого‑либо. Например, предъявление паспорта – это подтверждение подлинности заявленного имени отчества.
Авторизация - определение прав доступа к ресурсам и управления.
В данный момент большинство web-приложений дают возможность пользователям проходить регистрацию, после чего использовать расширенный функционал своего web-приложения. Во время регистрации или аутентификации злоумышленник способен перехватить пароль пользователя, если он отправляется на сервер в открытом виде (без применения протокола с шифрованием).
В 2014 году компания Google начала агитировать веб-мастеров применять защищённый HTTPS протокол для сайтов. HTTPS (англ. HyperTextTransferProtocolSecure) – расширенный протокол HTTP для шифрования в целях повышения безопасности [3].
Использование HTTPS защищает от перехвата пароля в открытом виде, но не каждый может использовать данный протокол по различным причинам (нет денег для покупки сертификата или нежелание использовать бесплатный сертификат либо использовать собственный сгенерированный сертификат).
Был реализован алгоритм аутентификации пользователя. Главная цель данного алгоритма заключается в том, чтобы злоумышленник не смог узнать исходный пароль пользователя и при перехвате, передаваемых данных, от пользователя к серверу, не смог подставить их к себе в браузер (cookie) без подмены дополнительных данных. Данный алгоритм использует хэширование и модификатор соль. Соль – строка данных, которая передаётся хеш-функции вместе с паролем. Главным образом используется для защиты от перебора по словарю и атак с использованием радужных таблиц, а также сокрытия одинаковых паролей. Однако, соль не может защитить от полного перебора каждого отдельного пароля [4]. Хеширование или хэширование – преобразование массива входных данных произвольной длины в (выходную) битовую строку установленной длины, выполняемое определённым алгоритмом.
Рассмотрим алгоритм безопасной аутентификации по пунктам (при условии корректного ввода логина и пароля):
1. Пользователь вводит свой логин и пароль в форму web-приложения.
2. Через специальный скрипт, на сервер передаётся (через AJAX) логин пользователя в открытом виде (процесс идентификации).
3. На сервере проверяется логин (на запрещённые символы) и начинается поиск учётной записи по данному логину в базе данных.
4. Создаются публичный и приватный ключи. В базу данных к найденной учётной записи добавляется время обращения к скрипту (UNIXTIME) и приватный ключ.
5. При обращении публичный ключ передаётся на сторону клиента, который получает скрипт JS посредством AJAX технологии (концепция использования нескольких смежных технологий).
6. Со стороны клиента, при помощи JS скрипта, хэшируется сам пароль и время обращения, а так же при помощи открытого ключа зашифровывается полученный хэш при помощи криптографического алгоритма RSA.
7. На форме web-приложения, где введён логин и пароль, пароль заменяется на зашифрованный хэш с солью и после этого осуществляется отправка на сервер [4].
8. Скрипт на сервере получает и обрабатывает полученные данные от пользователя.
9. Осуществляется поиск учётной записи в базе данных сервера по логину пользователя.
10. При помощи закрытого ключа, находящегося в базе данных пользователя, расшифровывается принятый хэш. После этого хэш пароля дополнительно хэшируется с солью и сравнивается с имеющимся хэшом от пользователя.
11. Завершение аутентификации.
В итоге получается безопасная аутентификация, при которой злоумышленник может получить только логин и зашифрованный хэш пароля, который не возможно расшифровать без приватного ключа. Если злоумышленнику удастся его каким-либо образом расшифровать, то в итоге у него окажется не пароль в открытом виде, а всего лишь хэш от пароля с солью.
Список литературы:
- Application Security, Inc. Доклад «Безопасность баз данных» [Электронный ресурс]. URL:http://www.slideshare.net/ngsec/application-security-14372318 (Дата обращения: 17.03.18).
- Software Application Solutions. Доклад «Protecting Sensitive Data Using Encryption and Key Management». [Электронный ресурс]. URL: https://www.owasp.org/images/c/c1/ Data base_Encryption.ppt (Дата обращения: 17.03.18).
- Wikipedia HTTPS [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/HTTPS (Дата обращения: 18.03.18).
- Wikipedia Соль (криптография) [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Соль_(криптография) (Дата обращения: 18.03.18).
- Шапиро Л. Двухфакторная аутентификация в Службе Каталога Active Directory Domain Services [Электронный ресурс]. URL: http://itband.ru/2010/09/authentication-part1/ (Дата обращения: 18.03.18).
дипломов
Оставить комментарий