русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Аутентификация пользователя. Веб

Аутентификация ( англ. Authentication ) - это проверка достоверности предъявленного пользователем идентификатора.

Содержание

Аутентификация в вебе

Аутентификация требуется при доступе к таким интернет сервисов, как:

  • электронная почта;
  • веб-форумы;
  • социальные сети;
  • интернет-банкинг;
  • платежные системы;
  • корпоративные сайты;
  • интернeт-магазины.

Положительным результатом аутентификации является авторизация пользователя, то есть предоставление ему прав доступа к ресурсам, определенных для выполнения его задач. В зависимости от важности ресурса, для доступа к нему могут применяться различные методы аутентификации.

Классификация методов аутентификации

В зависимости от степени доверительных отношений, структуры, особенностей сети и удаленности объекта проверка может быть односторонней или взаимной. Также различают однофакторные и строгую (двухфакторную) аутентификации. В однофакторных системах, самыми распространенными на данный момент являются парольные системы аутентификации.

У пользователя есть идентификатор и пароль, то есть секретная информация, известная только пользователю (и возможно - системе), которая используется для прохождения аутентификации. В зависимости от реализации системы, пароль может быть однократным или многократным. Далее рассмотрены основные методы аутентификации по принципу нарастающей сложности.

Базовая аутентификация

Базовая аутентификация - простейший способ ограничения доступа к веб-документов. Основное преимущество - простота реализации и использования. Однако, вместе с преимуществом, это средство аутентификации получил и целый ряд недостатков. Механизм аутентификации включается в тот момент, когда браузер запрашивает у сервера защищенный документ, не предоставляя при этом данных для идентификации. В ответ на такой запрос сервер посылает заголовок: 401 Unauthorized и предлагает способ для идентификации.

Видя подобный ответ, браузер формирует окно, в котором предлагается ввести имя пользователя и пароль. После ввода своих данных, браузер отправляет новый запрос на сервер, в который он добавляет строку для аутентификации.

Персональные данные не передаются в явном виде. Они кодируются по технологии Base64. С одной стороны это выглядит довольно безопасным, но с другой, для раскодирования такой строки, необходимо воспользоваться одной функцией. Эта функция включена, в различные языки программирования.

В механизма базовой аутентификации существует целый ряд особенностей. Прежде всего это кэширования браузером. Делается это для «облегчения» работы пользователя, нет необходимости повторно вводить свои данные, с другой стороны это может привести к перехвату персональных данных. Работа IIS с базовой aвтентификациею, тоже не простая. По стандарту нужно, чтобы в системе был зарегистрирован пользователь, с таким же имя пользователя и паролем, и с правами на вход в систему. Так же стоит отметить простоту работы базовой аутентификации с прокси-серверами. Благодаря простоте, она легко проходит через прокси-сервер.

Дайджест аутентификация

Дайджест аутентификация является продвинутым и сложным видом аутентификации, чем базовая аутентификация. Главным отличием здесь является то, что логин-пароль пользователя пересылаются через сеть не в открытом виде, а шифруются по алгоритму MD5 (хешуються). Настройка дайджест аутентификации похоже на настройку базовой аутентификации. Основные шаги остаются прежними:

  • создать файл с паролями;
  • прописать ресурс, защищаемой в конфигурацию Apache (в файле httpd.conf или в файле. htaccess);
  • создать файл для работы с группами и настроить групповой доступ (этот пункт не является обязательным).

Дайджест-аутентификация поддерживается всеми популярными серверами и браузерами.

HTTPS

Протокол HTTPS позволяет шифровать все данные, передаваемые между браузером и сервером, а не только имена пользователей и пароли. Собственно говоря, HTTPS не является отдельным протоколом, но это комбинация нормального взаимодействия HTTP через SSL или TLS. Это гарантирует умеренный защита от подслушивания и от нападения «человек-посередине».

Типичным TCP портом HTTPS является 443 (для HTTP типичное значение 80).

Чтобы подготовить веб-сервер для принятия https транзакций администратор должен создать сертификат с открытым ключом для веб-сервера. Этот сертификат должен быть подписан уполномоченным на выдачу сертификатов удостоверяющий, что владелец сертификата - то же, что утверждается в сертификате.

Браузеры распространяются с сертификатами уполномоченных на выдачу сертификатов верхнего уровня, таким образом браузеры могут проверить сертификаты подписанные ими. Организации могут также иметь их собственные уполномоченные на выдачу сертификатов, особенно если они ответственны за конфигурацию браузеров, имеющих доступ к их собственным сайтов, поскольку они могут тривиально добавить своего собственного сертификата до браузера. Некоторые сайты используют самостоятельно подписанные сертификаты. Их использование обеспечивает защиту против подслушивания, но есть риск нападения «человек-посередине».

Система может также использоваться для клиентской аутентификации, для того, чтобы разрешить доступ к веб-серверу только зарегистрированным пользователям. Для этого администратор сайта создает сертификаты для каждого пользователя, которые загружаются в их браузер. Эти сертификаты обычно содержат имя и электронную почтузарегистрированного пользователя и автоматически проверяются сервером при каждом повторном подключении. Ввод пароля не требуется. Уровень защиты зависит от корректности введения браузерного и серверного программного обеспечения и поддерживаемых криптографических алгоритмов.

Аутентификация по предъявлению цифрового сертификата

Механизмы аутентификации с применением цифровых сертификатов, как правило, используют протокол с запросом и ответом. Сервер аутентификации отправляет пользователю последовательность символов, так называемый запрос. Ответом выступает запрос серверу аутентификации, подписанный с помощью закрытого ключа пользователя.

Аутентификация с открытым ключом используется как защищенный механизм аутентификации в таких протоколах как SSL. Она также может использоваться как один из методов аутентификации в рамках протоколов Kerberos и RADIUS.

Использование смарт-карт и USB-ключей

Несмотря на то, что криптография с открытым ключом согласно спецификации Х.509 может обеспечивать строгую аутентификацию пользователя, сам по себе незащищенный закрытый ключ подобен паспорту без фотографии. Закрытый ключ, хранящийся на жестком диске компьютера владельца, уязвим в отношении прямых и сетевых атак.Достаточно подготовленный злоумышленник может похитить персональный ключ пользователя и с помощью этого ключа представляться этим пользователем. Защита ключа с помощью пароля помогает, но недостаточно эффективно - пароли уязвимы в отношении многих атак. Несомненно, требуется более безопасное хранилище. Смарт-карты -пластиковые карты стандартного размера банковской карты имеют встроенную микросхему. Они находят все более широкое применение в различных областях, от систем накопительных скидок до кредитных и дебетовых карт, студенческих билетов и телефонов стандарта GSM.

Для использования смарт-карт в компьютерных системах требуется устройство чтения смарт-карт. Несмотря на название - устройство, большинство подобных оконечных устройств, или устройств сопряжения (IFD), способны как считывать, так и записывать информацию, если позволяют возможности смарт-карты и права доступа. Устройства чтения смарт-карт могут подключаться к компьютеру с помощью последовательного порта, слота PCMCIA или USB. Устройство чтения смарт-карт также может быть встроен в клавиатуру. Как правило, для доступа к защищенной информации, хранящейся в памяти смарт-карты, требуется пароль, называемый PIN-кодом.

USB -ключи достаточно привлекательны, поскольку USB стал стандартным портом для подключения периферийных устройств и организации не нужно покупать для пользователей специальные считыватели. Аутентификацию на основе смарт-карт и USB -ключей сложнее обойти, так как используется уникальный физический объект, которым должен обладать человек, чтобы войти в систему. В отличие от паролей, владелец быстро узнает о краже и может сразу принять необходимые меры для предотвращения ее негативных последствий. Кроме того, реализуется двухфакторной аутентификации.

Микропроцессорные смарт-карты и USB -ключи могут повысить надежность служб: смарт-карта может использоваться для безопасного хранения закрытых ключей пользователя, а также для безопасного выполнения криптографических преобразований. Безусловно, эти устройства аутентификации не обеспечивают абсолютную безопасность, но надежность их защиты намного превосходит возможности обычного настольного компьютера.

Для хранения и использования закрытого ключа разработчики используют различные подходы. Самый простой из них - использование устройства аутентификации как защищенного носителя автентификацийнои информации: при необходимости карта экспортирует закрытый ключ, и криптографические операции осуществляются на рабочей станции. Этот подход является не самым совершенным с точки зрения безопасности, зато относительно легко реализуется и предъявляет невысокие требования к устройству аутентификации. Два других подхода более безопасны, поскольку предполагают выполнение устройством аутентификации криптографических операции. При первом пользователь генерирует ключи на рабочей станции и сохраняет их в памяти устройства. При втором пользователь генерирует ключи при помощи устройства. В обоих случаях, после того как закрытый ключ сохранен, его нельзя извлечь из устройства и получить любым другим способом.

Аутентификация с помощью Cookies

Множество различных сайтов используют как средство аутентификации cookies, к ним относятся чаты, форумы, игры. Если cookie удастся похитить, то, подделав его, можно автентификуватись вместо другого пользователя.

В случае, когда вводимые данные, плохо фильтруются или не фильтруются совсем, похитить cookies становится не очень сложно. Чтобы улучшить ситуацию используется защита по IP-адресу, т.е. cookies сессии связываются с IP-адресом, с которого сначала пользователь авторизовался в системе. Однако IP-адрес можно подделать используя IP-спуфинг, поэтому надеяться на абсолютную защиту по IP-адресу тоже нельзя.

Механизм использования cookies следующий:

  1. пользователь вводит имя пользователя и пароль в текстовых полях страницы входа и отправляет их на сервер;
  2. сервер получает имя пользователя и пароль, проверяет их и, при их правильности, отправляет страницу успешного входа, прикрепив cookies с некоторым идентификатором сессии. Эти cookies могут быть действительны только для текущей сессии барузера, но могут быть настроены и на длительное хранение;
  3. каждый раз, когда пользователь приглашает страницу с сервера, барузер автоматически отправляет cookies с идентификатором сессии сервера. Сервер проверяет идентификатор в своей базе идентификаторов и, при наличии в базе такого идентификатора, «узнает» пользователя.

Этот метод широко используется на многих сайтах, например на Yahoo, в Википедии, в Facebook.

Многие барузерив (в частности Opera, FireFox ), путем редактирования свойств cookies, могут управлять поведением сайтов. Изменив срок использования непостоянных (сессионных) cookies можно, например, получить формально-неограниченное сессию после авторизации на каком-либо сайте. Воспользовавшись такими механизмами, например как JavaScript, пользователь может изменить файл cookies. Более того, существует возможность заменить сессионных cookies - постоянными (с указанием срока годности). В настоящий момент большинство барузерив используют cookies с флагом HTTPonly, запрещающий доступ к cookies различным скриптам.

Децентрализованная аутентификация

Выделяют следующие виды децентрализованной аутентификации:

  • OpenID. Открытая децентрализованная система аутентификации пользователей. OpenID позволяет пользователю иметь один логин-пароль для разных сайтов. Безопасность обеспечивается подпиской сообщений. Передача ключа для цифровой подписи основана на использовании алгоритма Диффи - Хеллмана, также возможна передача данных по HTTPS. Возможные уязвимости OpenID:
  1. подвержен фишингових атак. Например, мошеннический сайт может перенаправить пользователя на поддельный сайт OpenID провайдера, который попросить пользователя ввести его секретный логин и пароль;
  2. уязвима перед атакой «человек посередине».

Aвтентификация по OpenID сейчас активно используется и предоставляется такими гигантами, как BBC, Google, IBM, Microsoft MySpace, PayPal, VeriSign, Yandex и Yahoo.

  • OpenAuth. Используется для аутентификации AOL пользователей на веб-сайтах. Позволяет пользоваться сервисами AOL, а также любым другим надстроенными над ними. Позволяет проходить проверку подлинности на сайтах, не относящиеся к AOL, при этом не создавая нового пользователя на каждом сайте. Протокол функционирует похожим на OpenID образом. Также приняты дополнительные меры безопасности:
  1. сессии (в том числе информация о пользователе) хранятся не в cookies;
  2. cookies аутентификации шифруются алгоритмом PBEWithSHAAnd3-KeyTripleDES-CBC;
  3. доступ к cookies аутентификации ограничен определенным доменом, так что другие сайты не имеют к ним доступа (в том числе сайты AOL ).
  • Oauth. OAuth позволяет пользователю разрешить одному интернет-сервиса доступа к данным пользователя на другом интернет-сервисе. Протокол используется в таких системах, как Twitter, Google ( Google также поддерживает гибридный протокол, объединяющий в себе OpenID и OAuth).

Одним из главных минусов таких систем является то, что взлом дает доступ сразу ко многим сервисам.

Отслеживание аутентификации самим пользователем

Во многом безопасность пользователей в Интернете зависит от поведения самих пользователей. Так например, Google показывает с какой IP-адреса включены пользовательские сесcии, логируе авторизацию, также позволяет осуществить такие настройки:

  • передача данных только по HTTPS;
  • Google может детектировать пользователя, если злоумышленник использует ваш аккаунт (друзья считают ваши письма спамом, последняя активность происходила в нехарактерный для вас время, некоторые сообщения пропали...);
  • отслеживание списка третьих сторон, имеющих доступ к используемым пользователем продуктов Google.

Зачастую пользователю сообщается с которой IP-адреса он последний раз проходил аутентификацию.

Многофакторная аутентификация

Для повышения безопасности на практике используют несколько факторов аутентификации сразу. Однако, при этом важно понимать, что не всякая комбинация нескольких методов является многофакторной аутентификацией. Используются факторы различной природы:

  • Свойство, которое имеет предприятие. Например, биометрия, природные уникальные отличия: лицо, отпечатки пальцев, радужная оболочка глаз, капиллярные узоры, последовательность ДНК;
  • Знание-информация, которую знает субъект. Например, пин-код;
  • Знание - вещь, которую имеет предприятие. Например, электронная или магнитная карта, флэш-память.

В основе одного из самых надежных на сегодня методов многофакторной аутентификации лежит применение персональных аппаратных устройств - токенов. Токены позволяют генерировать и хранить ключи шифрования, обеспечивая тем самым строгую аутентификацию. Использование классических «многоразовых» паролей является серьезной уязвимостью при работе с чужих компьютеров, например в интернет-кафе. Это подтолкнуло ведущих производителей рынка аутентификации к созданию аппаратных генераторов одноразовых паролей. Такие устройства генерируют очередной пароль или по расписанию (например, каждые 30 секунд), либо по запросу (при нажатии на кнопку). Каждый такой пароль можно использовать только один раз. Проверку правильности введенного значения на стороне сервера проверяет специальный сервер аутентификации, которая вычисляет текущее значение одноразового пароля программно. Для сохранения принципа двохфакторности аутентификации кроме сгенерированного устройством значения пользователь вводит постоянный пароль.

Просмотров: 18356


Вернуться воглавление




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.