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

Аутентификация — проверка подлинности предъявленного пользователем идентификатора. Аутентификация требуется при доступе к таким интернет-сервисам как:

Форма входа в русскую википедию.

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

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

Методы аутентификации

править

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

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

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

править

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

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

править

При использовании данного вида аутентификации имя пользователя и пароль включаются в состав веб-запроса (HTTP POST или HTTP GET). Любой перехвативший пакет легко узнает секретную информацию. Даже если контент с ограниченным доступом не слишком важен, этот метод лучше не использовать, так как пользователь может применять один и тот же пароль на нескольких веб-сайтах. Опросы Sophos показывают, что 41 % в 2006 году и в 2009 году пользователей применяют для всей своей деятельности в Интернете всего один пароль, будь то сайт банка или районный форум[1][2]. Также из недостатков парольной аутентификации следует отметить невысокий уровень безопасности — пароль можно подсмотреть, угадать, подобрать, сообщить посторонним лицам и т. д.

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

править

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

Протокол HTTPS позволяет шифровать все данные, передаваемые между браузером и сервером, а не только имена пользователей и пароли. Протокол HTTPS (основанный на системе безопасности TLS) следует использовать в случае, если пользователи должны вводить важные личные данные — адрес, номер кредитной карты или банковские сведения. Однако использование данного протокола значительно [насколько?][источник не указан 2922 дня] замедляет скорость доступа.

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

править

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

Аутентификация по Cookies

править

Множество различных сайтов используют в качестве средства аутентификации cookies, к ним относятся чаты, форумы, игры. Если cookie удастся похитить, то, подделав его, можно аутентифицироваться в качестве другого пользователя. В случае, когда вводимые данные плохо фильтруются или не фильтруются вовсе, похитить cookies становится не очень сложным предприятием[3]. Чтобы как-то улучшить ситуацию используется защита по IP-адресу, то есть cookies сессии связываются с IP-адресом, с которого пользователь изначально авторизовался в системе. Однако IP-адрес можно подделать используя IP-спуфинг, поэтому надеяться на защиту по IP-адресу тоже нельзя. На данный момент большинство браузеров[4] используют куки с флагом HTTPonly[5], который запрещает доступ к cookies различным скриптам.

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

править

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

Это открытая децентрализованная система аутентификации пользователей. OpenID позволяет пользователю иметь один логин-пароль для различных веб-сайтов. Безопасность обеспечивается подписыванием сообщений. Передача ключа для цифровой подписи основана на использовании алгоритма Диффи — Хеллмана, также возможна передача данных по HTTPS. Возможные уязвимости OpenID:

  • подвержен фишинговым атакам. Например, мошеннический сайт может перенаправить пользователя на поддельный сайт OpenID провайдера, который попросит пользователя ввести его секретные логин и пароль.
  • уязвим перед атакой человек посередине

Аутентификация по OpenID сейчас активно используется и предоставляется такими гигантами, как BBC[6], Google[7], IBM, Microsoft[8] MySpace, PayPal, VeriSign, Yandex и Yahoo![9][10][11]

Используется для аутентификации AOL пользователей на веб-сайтах[12]. Позволяет им пользоваться сервисами AOL, а также любыми другими надстроенными над ними. Позволяет проходить аутентификацию на сайтах, не относящихся к AOL, при этом не создавая нового пользователя на каждом сайте. Протокол функционирует похожим на OpenID образом[13]. Также приняты дополнительные меры безопасности:

  • данные сессии (в том числе информация о пользователе) хранятся не в cookies.
  • cookies аутентификации шифруются алгоритмом 'PBEWithSHAAnd3-KeyTripleDES-CBC'
  • доступ к cookies аутентификации ограничен определенным доменом, так что другие сайты не имеют к ним доступа (в том числе сайты AOL)

OAuth позволяет пользователю разрешить одному интернет-сервису получить доступ к данным пользователя на другом интернет-сервисе[14]. Протокол используется в таких системах, как Twitter[15], Google[16] (Google также поддерживает гибридный протокол, объединяющий в себе OpenID и OAuth)

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

править

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

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

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

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

править

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

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

В основе одного из самых надёжных на сегодняшний день методов многофакторной аутентификации лежит применение персональных аппаратных устройств — токенов. По сути, токен — это смарт-карта или USB-ключ. Токены позволяют генерировать и хранить ключи шифрования, обеспечивая тем самым строгую аутентификацию.

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

Примечания

править
  1. Employee password choices put business data at risk, Sophos poll reveals (англ.). www.sophos.com. Дата обращения: 3 декабря 2021. Архивировано 7 сентября 2009 года.
  2. Security at risk as one third of surfers admit they use the same password for all websites, Sophos reports (англ.). www.sophos.com. Дата обращения: 3 декабря 2021. Архивировано 8 августа 2021 года.
  3. Архивированная копия. Дата обращения: 9 ноября 2009. Архивировано 23 ноября 2009 года. How to Steal Cookies Using XSS.
  4. Browsers Supporting HTTPOnly. OWASP. Дата обращения: 4 января 2009. Архивировано 26 декабря 2008 года.
  5. Microsoft, Mitigating Cross-site Scripting With HTTP-only Cookies Архивная копия от 12 августа 2011 на Wayback Machine
  6. BBC Joins OpenID Foundation 2008-04-22. Дата обращения: 9 ноября 2009. Архивировано 16 октября 2008 года.
  7. Google Offers OpenID Logins Via Blogger 2008-01-18. Дата обращения: 9 ноября 2009. Архивировано 16 ноября 2009 года.
  8. Microsoft to Support OpenID 2007-02-06. Дата обращения: 9 ноября 2009. Архивировано 24 июля 2008 года.
  9. How do I get an OpenID? Дата обращения: 9 ноября 2009. Архивировано 1 августа 2009 года.
  10. Technology Leaders Join OpenID Foundation to Promote Open Identity Management on the Web. Дата обращения: 9 ноября 2009. Архивировано 10 февраля 2008 года.
  11. OpenID Foundation — Google, IBM, Microsoft, VeriSign and Yahoo Архивировано 24 марта 2008 года.
  12. The AOL Open Authentication Архивировано 24 ноября 2009 года.
  13. http://www.gregsmind.com/preso/presentations/OpenAuthMashup5.ppt (недоступная ссылка)
  14. OAuth-OpenID: You’re Barking Up the Wrong Tree if you Think They’re the Same Thing. Дата обращения: 9 ноября 2009. Архивировано 2 декабря 2009 года.
  15. Twitter API Wiki / OAuth FAQ. Дата обращения: 9 ноября 2009. Архивировано из оригинала 13 августа 2009 года.
  16. OAuth for Web Applications — Authentication and Authorization for Google APIs — Google Code. Дата обращения: 9 ноября 2009. Архивировано 8 ноября 2009 года.
  17. Detecting suspicious activity on your account. Дата обращения: 9 ноября 2009. Архивировано 9 февраля 2010 года.