Поиск по сайту Поиск

Данные на замке: как двухфакторная аутентификация поможет обезопасить сайт

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

Кому и зачем нужна двухфакторная аутентификация

Мы уже давно привыкли получать SMS c числовым паролем от банков при транзакциях и входе в личный кабинет. Банки – яркий пример сферы, где уже давно практикуется двухфакторная аутентификация. Однако не только они нуждаются в безопасном доступе к закрытым зонам своих сайтов. Любой сервис, пользователям которого необходимо постоянно авторизовываться, заинтересован в сохранении собственной репутации и персональных данных клиентов. Это могут быть совершенно разные сайты — от провайдеров сотовой связи до ресурсов с онлайн-играми и обычных интернет-магазинов. Как правило, на таких площадках хранятся персональные данные клиентов.

Особенно привлекательными для хакеров становятся аккаунты, владельцы которых привязали свои банковские карты или уже перевели часть средств на внутренний баланс в личном кабинете. В США некоторые онлайн-магазины начали смотреть в сторону двухфакторной аутентификации, когда выяснилось, что в 2017 году уровень мошенничества в сфере e-commerce вырос на 30% по сравнению с предыдущим годом. Речь идёт как о подмене адреса доставки уже купленных товаров, так и о покупках с помощью украденных банковских карт и других платёжных инструментов. Чтобы сохранить клиента и мотивировать его к повторным покупкам, продавцы начинают задумываться не только об удобстве использования сайта, но и о безопасности и надёжности.

Стоит отметить, что для пользователя двухфакторная аутентификация — это дополнительное действие, отнимающее время. Но резонансные истории о кражах персональных данных постепенно способствуют тому, что второй фактор начинает восприниматься не как препятствия, а как дополнительный уровень защиты.

Какие виды двухфакторной аутентификации есть

Двухфакторная аутентификация постоянно эволюционирует, но само по себе это явление не новое. В свое время были распространены скретч-карты и одноразовые пароли на бумажных носителях.

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

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

Нетрудно догадаться, что самым популярным (но не самым надёжным) вторым фактором стали SMS-подтверждения. Однако для владельцев сервисов отправка SMS связана с финансовыми издержками. Неудобство конечных пользователей в том, что сообщение не всегда приходит мгновенно. Кроме того, злоумышленники могут перехватить его или даже восстановить сим-карту по поддельным документам.

Учитывая доступность Интернета и популярность смартфонов, среди владельцев сайтов сейчас востребованы мобильные приложения для аутентификации.

Одним из первых альтернативных продуктов в сфере двухфакторной защиты стал сервис E-NUM. Его разработка началась в 2007 году. Тогда стояла задача создать решение для двухфакторной аутентификации, которое сочетало бы криптографию, требовало для работы только телефон и не зависело от провайдера связи. 

Первая версия E-NUM работала на платформе Java. Сегодня приложение работает на большинстве популярных ОС и генерирует одноразовые ключи по схеме «Вопрос-ответ». «Число-вопрос» не нужно вводить вручную, приложение присылает Push-уведомление после запроса на авторизацию. E-NUM отображает единственно верное «число-ответ» на экране телефона, которое пользователь отправляет, нажав соответствующую кнопку в приложении или введя вручную. 

В отличие от некоторых других способов двухфакторной аутентификации, где в качестве подтверждения на телефон клиента приходит готовый «ответ», E-NUM по сигналу из push-уведомления «достаёт ответ» из зашитой в приложении и уникальной для каждого кодовой книги. Она создаётся случайным образом на основе «физических шумов» центрального процессора. 

Если пользователю не хочется доставать смартфон и у него есть «умные» часы, то в E-NUM можно подтвердить действие с помощью часов под управлением Apple Watch или Android Wear.

Когда база активных пользователей клиента E-NUM достигла 2,5 млн человек, было принято решение об открытии API. Первоначально сервис E-NUM применялся только в системе WebMoney Transfer. Сейчас владельцам электронных кошельков не обязательно скачивать отдельное приложение, так как E-NUM уже интегрирован в WebMoney Keeper.

На сегодняшний день E-NUM используют более 6 млн человек.

Как настроить двухфакторную аутентификацию на своем сайте

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

Выделим два способа интеграции: OAuth2 и Soap.

Метод интеграции OAuth2

Стандарт OAuth 2.0 позволяет предоставить третьей стороне доступ к защищённым ресурсам без необходимости сообщать третьей стороне данные аутентификации пользователя («число-вопрос», «число-ответ»).

Последовательность действий при авторизации с использованием системы E-NUM методом OAuth2 выглядит так:

1. Клиент сайта запрашивает вход в защищённую зону.
2. Для предоставления доступа сайт требует пройти авторизацию, для чего перенаправляет его на E-NUM.
3. После успешной авторизации система E-NUM возвращает клиенту одноразовый код.
4. Браузер клиента, в свою очередь, передаёт код авторизации сайту.
5. Сайт, используя код авторизации, запрашивает у E-NUM временный токен доступа.
6. Этот токен используется в дальнейшем для обращения к методам API E-NUM, которые обеспечивают идентификацию клиента.

Детальное описание методов OAuth2 API на сайте ENUM.RU

Пример рабочей интеграции

Исходный код примера на GitHub
Вы можете реализовать свой OAuth2-клиент E-NUM (согласно описанию методов API) или воспользоваться готовыми клиентскими библиотеками под вашу платформу.

Метод интеграции Soap API

Метод интеграции Soap требует разового перенаправления пользователя на AUTH.ENUM.RU. Последующие запросы уже не требуют перенаправления.

Последовательность действий при авторизации с использованием системы E-NUM методом Soap следующая:

1. Пользователь стороннего сайта вводит свой email. Бекэнд сайта вызывает метод GetChallenge сервиса E-NUM (soap-интерфейс) для получения «числа-вопроса».
2. Сайт отображает «число-вопрос» и просит пользователя ввести «число-ответ». Для проверки ответа пользователя используется метод CheckUserAnswer.
3. При первой авторизации пользователь перенаправляется на https://auth.enum.ru для получения разрешения на работу сайта с Е-NUM в связке с аккаунтом пользователя.

Пример авторизации Soap-методом на GitHub

Детальное описание методов Soap API 

Для использования этого метода владелец сайта должен зарегистрироваться на сайте ENUM.RU. 

⌘⌘⌘

Напишите в комментариях хотели бы вы видеть больше материалов на тему безопасности. Мы хотим создавать только полезный контент, поэтому нам интересно ваше мнение.



6 трендовых доменных зон для онлайн-бизнеса

6 трендовых доменных зон для онлайн-бизнеса

Первое знакомство клиента с организацией сегодня чаще всего происходит через всемирную паутину. Чем ярче проект — тем больше шансы выделиться...
Read More
Обучаем виртуального дракона фигурам высшего пилотажа

Обучаем виртуального дракона фигурам высшего пилотажа

В наши дни компьютерная графика присутствует во всех популярных видах визуального контента: от видеороликов YouTube-блогеров до полнометражных фильмов. Но проработка...
Read More
Стэнфордский курс: лекция 9. Архитектуры CNN

Стэнфордский курс: лекция 9. Архитектуры CNN

На прошлом уроке мы узнали о наиболее популярных библиотеках и фреймворках для глубокого обучения, рассмотрели их особенности и области применения....
Read More
GPT-2: нейросеть, которая закончит за вас предложение

GPT-2: нейросеть, которая закончит за вас предложение

Встречали ли вы когда-нибудь собеседника, который после нескольких сказанных вами слов заканчивал за вас предложение? GPT-2 умеет и не такое:...
Read More
Жуткие сайты, которые вызовут у вас мурашки

Жуткие сайты, которые вызовут у вас мурашки

Интернет может не только развлекать вас новыми мемами и видеороликами, но и быть по-настоящему пугающим. В честь Хэллоуина представляем несколько...
Read More
10 ингредиентов надёжной инфраструктуры хостинга REG.RU

10 ингредиентов надёжной инфраструктуры хостинга REG.RU

Привет! На связи редакция блога. И сегодня мы расскажем в деталях об одной из сторон инфраструктуры REG.RU, объясним как работает...
Read More
Голосовой помощник Apple, которому можно доверять

Голосовой помощник Apple, которому можно доверять

Мы гораздо больше доверяем тем людям, общаться с которыми нам легко и приятно. Обычно так происходит, когда их стиль и...
Read More
Как организовать техническую поддержку пользователей

Как организовать техническую поддержку пользователей

Быстрая техподдержка очень важна для клиентов, особенно в критических ситуациях. От скорости и качества решения проблемы зависит лояльность пользователя и...
Read More
Роботы в облаках: совмещение ROS и Jupyter

Роботы в облаках: совмещение ROS и Jupyter

Робототехника — одна из самых популярных и прогрессивно развивающихся отраслей. Ролики Boston Dynamics на YouTube собирают миллионы просмотров. Если вы...
Read More
Стэнфордский курс: лекция 8. ПО для глубокого обучения

Стэнфордский курс: лекция 8. ПО для глубокого обучения

В предыдущих главах мы познакомились с основами обучения нейросетей и выяснили, чему при этом стоит уделять больше внимания. Сегодня вы...
Read More