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

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

Пароли, даже самые сложные, уже давно не препятствие для злоумышленников. В ответ на это владельцы сайтов всё чаще вводят второй фактор аутентификации. В этом материале, совместно с нашими партнёрами из 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. 

⌘⌘⌘

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



Как узнать дату создания сайта: 3 способа

Для качественного SEO-аудита важно узнать, как давно существует сайт и сколько лет домену. Поэтому в этой статье мы расскажем, как...
Read More

Выбираем хостинг или сервер для «1С-Битрикс», чтобы сайт летал

Пару месяцев назад мы рассказывали вам о «1С-Битрикс» — очень популярной системе управления контентом сайта. Обычно Битрикс используется для коммерческих...
Read More

Как создать сайт-блог, не написав ни одной строчки кода

Блог — один из способов заявить о себе в интернете, а 14 июня как раз отмечается международный день блогера. Если...
Read More

Парсинг данных: лучшие сервисы для веб-скрапинга

Часто у вебмастера, маркетолога или SEO-специалиста возникает необходимость извлечь данные со страниц сайтов и отобразить их в удобном виде для...
Read More

6 фишек, которые увеличат вовлечённость в Instagram

Вовлеченность в Инстаграме напрямую влияет на привлечение и удержание аудитории, повышение её доверия и лояльности к бренду, а также на...
Read More

Современное искусство в REG.RU: граффити в новом дата-центре

Вы наверняка уже знаете, что не так давно у нас появился свой собственный первый дата-центр. Мы продолжаем его обустраивать, и...
Read More

Пошагово объясняем как самостоятельно создать сайт в REG.Site

Для многих пользователей процесс создания сайта кажется чем-то невероятно сложным, особенно когда речь идёт о самостоятельном проектировании и разработке веб-страницы....
Read More

220 000 бизнес-клиентов, домен за 5 млн рублей, 3,3 млн доменов на обслуживании: факты и статистика к 15-летию REG.RU

Ура-ура! 22 мая нам исполнилось 15 лет, и мы по-прежнему двигаемся только вперёд и становимся лучше. За годы работы наша...
Read More

Революционная ОС: лучшие дистрибутивы Linux

Linux — одна из наиболее распространённых в мире ОС, которая, к тому же, является открытой и бесплатной. Сегодня мы расскажем...
Read More

Искусство спасёт мир: с днём рождения, .ART!

В мае 2021 года доменной зоне .ART исполнилось 4 года. В этом материале поделимся актуальной статистикой и крутыми проектами, которые...
Read More