Токен втб что такое

Обновлено: 04.02.2023

В настоящее время киберпреступность стала проблемой мирового уровня. Например, Дмитрий Самарцев, директор BI.ZONE в сфере кибербезопасности привёл на Всемирном экономическом форуме следующие цифры. В 2018 году ущерб мировой экономики от киберпреступности составил по его словам 1.5 триллиона долларов. В 2022 году прогнозируются потери уже в 8 триллионов, а в 2030 ущерб от киберпреступлений может превысить 90 триллионов долларов. Чтобы уменьшить потери от киберпреступлений, необходимо совершенствовать методы обеспечения безопасности пользователей. В настоящее время существует множество методов аутентификации и авторизации, которые помогают реализовать надежную стратегию безопасности. Среди них многие эксперты выделяют в качестве лучшей авторизацию на основе токенов.

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

Рассмотрим эту систему. Как правило, идеология их применения базируется на следующих принципах:

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

Для осуществления возможности входа на сервер, пользователю требуется сохранять эту уникальную комбинацию и всегда иметь к ней доступ.

При необходимость заново подключиться к серверу и авторизироваться под своим аккаунтом, пользователю требуется заново вводить пароль и логин.

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

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

Авторизация токенов – это система, работающая совершенно иначе. С помощью авторизации токенов вторичная служба проверяет запрос сервера. Когда проверка завершена, сервер выдает токен и отвечает на запрос. У пользователя все еще может быть один пароль для запоминания, но токен предлагает другую форму доступа, которую гораздо труднее украсть или преодолеть. И запись сеанса не занимает места на сервере. По сути токен авторизации - это устройство, предназначенное для обеспечения информационной безопасности пользователя, также используется для идентификации его владельца. Как правило, это физическое устройство, используемое для упрощения аутентификации.

Типы токенов авторизации

Токены авторизации различаются по типам. Рассмотрим их:

Устройства, которые необходимо подключить физически. Например: ключи, диски и тому подобные. Тот, кто когда-либо использовал USB-устройство или смарт-карту для входа в систему, сталкивался с подключенным токеном.

Устройства, которые находятся достаточно близко к серверу, чтобы установить с ним соединение, но оно не подключаются физически. Примером такого типа токенов может служить "magic ring" от компании Microsoft.

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

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

Процесс токен авторизации

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

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

Что такое аутентификация на основе токенов?

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

аутентификация по паролю (обычное запоминание комбинации символов)

аутентификация по биометрии (отпечаток пальца, сканирование сетчатки глаза, FaceID)

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

Как токены работают?

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

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

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

Безопасно ли использование токенов?

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

Аутентификация на основе токенов, когда она используется в тандеме с другими методами аутентификации, создает барьер 2FA, предназначенный для того, чтобы остановить даже самого продвинутого хакера. Поскольку токены могут быть получены только с устройства, которое их производит - будь то брелок или смартфон, системы авторизации токенов считаются очень безопасными и эффективными.

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

Рекомендации по аутентификации на основе токенов

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

Правильный веб-токен. Хотя существует целый ряд веб-токенов, ни один из них не может обеспечить ту же надежность, которую предоставляет веб-токен JSON (JWT). JWT считается открытым стандартом (RFC 7519) для передачи конфиденциальной информации между несколькими сторонами. Обмен информацией осуществляется цифровой подписью с использованием алгоритма или сопряжения открытого и закрытого ключей для обеспечения оптимальной безопасности.

Что такое JSON веб-токены?

JSON Web Token (JWT) - это открытый стандарт (RFC 7519), который определяет компактный и автономный способ безопасной передачи информации между сторонами в виде объекта JSON. Эта информация может быть подтверждена благодаря цифровой подписи. JWT может быть подписан с помощью секрета (с помощью алгоритма HMAC) или иным образом, например, по схемам RSA или ECDSA.

В своей компактной форме веб-токены JSON состоят из трех частей, разделенных точками: заголовок, полезная нагрузка, подпись. Поэтому JWT выглядит обычно выглядит следующим образом: «xxxx.yyyy.zzzz».

Заголовок состоит из двух частей: типа токена, которым является JWT, и используемого алгоритма подписи, такого как HMAC SHA256 или RSA.

Публичная информация может быть определена по желанию теми, кто использует JWT. Но они должны быть определены в реестре веб-токенов IANA JSON или определены как URI, который содержит устойчивое к коллизиям пространство имен. Частная - это пользовательская информация, созданная для обмена данными между сторонами, которые согласны их использовать. Получим вторую часть с помощью кодирования Base64Url.

Тоже не понял, что за прикол там происходит.

К плюсам использования JWT можно отнести размер - токены в этом языке кода крошечные и могут быть переданы между двумя пользователями довольно быстро; простоту - токены могут быть сгенерированы практически из любого места, и их не нужно проверять на сервере; контроль - можно указать, к чему пользователь может получить доступ, как долго будет длиться это разрешение и что он может делать во время входа в систему.

Почему стоит использовать токены авторизации?

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

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

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

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

Есть и другие преимущества использования этой технологии. Но даже уже перечисленных достаточно, чтобы внедрить её на сервера.

Контролируйте передвижение средств по вашим счетам, отслеживайте статус кредитов и переводов, а также проводите ряд других полезных бизнес операций с услугой «Мобильный Клиент» от ВТБ. Информация о ближайших банкоматах, управление вкладами, оплата платежей и связи, круглосуточно доступны в функциональном приложении для смартфонов.

Что такое бизнес онлайн банка ВТБ мобильная версия?

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

Мобильный банк ВТБ для бизнеса

Возможности и преимущества мобильного банка:

  • Круглосуточный доступ к информации по картам, счетам, бизнес вкладам.
  • Возможность моментального погашения задолженностей и ГИБДД штрафов.
  • Оплата сотовой связи и услуги подключения Интернета.
  • Погашение кредитов и анализ кредитной истории.
  • Моментальные переводы средств внутри ВТБ банка без оплаты комиссии.
  • Покупка и продажа валюты по выгодному бизнес курсу от ВТБ.
  • Удобный сервис создания шаблонов для бизнес клиентов, ценящих оперативность.
  • Экстренная заморозка счета в случае попытки взлома карты ВТБ.
  • Подробная схема маршрутов ближайших банкоматов или отделений банка.
  • Абсолютная безопасность, которую обеспечивает система подтверждения операции через SMS.
  • Удобный интерфейс.

«Мобильный Клиент» – отличная возможность для современного человека, дистанционно управлять денежными потоками.

Стоимость обслуживания

Благодаря лояльным тарифам на услугу «Мобильный клиент» ВТБ, данная опция является доступной и для физических, и для юридических лиц:

Договор комплексного обслуживания:249 руб. в квартал2 500 руб. в месяц
Подключение и обслуживание ДКОбесплатнобесплатно
Подключение к системе ДБОбесплатнобесплатно
Предоставление услуги получения sms и push кодовбесплатнобесплатно
Предоставление услуги Токен ВТБ-онлайнбесплатнобесплатно
Предоставление услуги выписки по счетубесплатно бесплатно
Предоставление документов по операциям, выполненным в онлайн-клиентебесплатнобесплатно

Как пользоваться мобильным приложением?

Чтобы начать работу в мобильном приложении, скачайте его на свое устройство и зайдите на главную страницу, где расположены разделы:

  1. Курс валют.
  2. Банкоматы.
  3. Операции.
  4. Финансы.
  5. Объявления.
  6. Дополнительно.

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

Мобильный банк для разных устройств

Как скачать приложение для Android, Iphone и Ipad?

Онлайн-банкинг от ВТБ поддерживается на Андроид и Apple устройствах.

Мобильное приложение оптимизировано для пользователей iPad и iPhone с операционным обновлением «8» и выше. Установка приложения займет буквально пару минут, а полный доступ ко всем разделам приложения станет доступным после регистрации в отделении ВТБ сотрудником банка.

Для установки приложения на устройства платформы ios необходимо зайти в Apple Store. После чего найти в поисковике онлайн-приложение ВТБ для пользовательских или бизнес операций по ключевому слову «ВТБ». И затем начать бесплатную загрузку. Для Android устройств доступ к удобному бизнес приложению возможен через сервис Play Market. В поисиковике онлайн-магазина ищем мобильный клиент по ключевому слову «ВТБ» и приступаем к загрузке.

Как подключить и зарегистрироваться?

Ваша личная и бизнес информация является секретной. Поэтому для получения доступа к финансовым разделам вы должны авторизироваться в системе. Разделы с защитой доступа для удобства отмечены специальным значком.

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

Как отключить?

В случае, если приложение ВТБ для бизнеса в режиме онлайн работает некорректно или вы по другим причинам решите прикратить пользоваться данным сервисом, рекомендуется отключить данную услугу. Для этого вы должны выполнить два действия:

  1. Написать заявление в ближайшем отделении ВТБ.
  2. Удалить с персонального устройства мобильное приложение.

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

Программа ВТБ-онлайн – это мобильное предложение, основная цель которого лежит в обеспечении безопасности проведения транзакций через банк ВТБ. Token был разработан для генерации одноразовых паролей.

Приложение для генерации кодов

«Токен ВТБ-онлайн» смогут использовать клиенты, которые:

  • хотели бы увеличить стандартные лимиты транзакций;
  • находятся в зоне без стабильной связи, что препятствует получению SMS-кодов.

Приложение Токен ВТБ-онлайн

Для тех, кто хочет присоединиться, инструкция ниже:

«Токен ВТБ» не будет работать из соображений достижения максимальной безопасности при наличии расширенных прав пользователя на мобильном устройстве (Root).

Преимущества программы

«Токен ВТБ» имеет следующие положительные качества:

  1. Удобство в пользовании – вам не нужно никакого дополнительного оборудования, достаточно смартфона.
  2. Доступность – присоединиться к программе можно не выходя из дома, приложение работает удаленно, предоставляя дистанционный доступ к необходимой информации без потребности идти в банк.
  3. Автономность – система работает без необходимости подключения или увеличения используемой интернет- или сотовой связи.
  4. Простота – программа имеет интуитивно понятный интерфейс.
  5. Безопасность – генерация одноразовых паролей осуществляется по правилам международных платёжных систем Visa ⁄ Mastercard (САР/DPA).

Преимущества Токен ВТБ

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

«Токен ВТБ»: подтверждение операции

ВТБ-онлайн использует для подтверждения два способа: режим «А» и режим«Б». Как проходят операции входа/подтверждения в каждом из этих режимов?

Режим «А»1. Введите необходимые параметры, нажмите «Далее».
2. Подтвердите правильность внесенных реквизитов.
3. Из выпадающего списка выберите «Токен (режим А)».
4. Сгенерируйте код подтверждения:
запустите приложение в режиме А;
введите запрос, который отображен на экране подтверждения ВТБ-онлайн, нажмите «Далее»;
введите персональный ПИН-код;
подтвердите операцию уникальным кодом.
Режим «Б»1. Введите параметры, нажмите «Далее».
2. Подтвердите корректность вписаных реквизитов.
3. Из выпадающего списка выберите «Токен (режим Б)».
4. Сгенерируйте пароль подтверждения:
запустите приложение в режиме Б;
введите в токен сумму операции (полностью, с копейками), нажмите «Далее»;
введите последние 6 цифр номера счета / телефона / договора получателя и нажмите «Далее»;
введите персональный ПИН;
подтвердите операцию уникальным паролем.

Пользуйтесь Токеном от ВТБ каждый раз при входе в систему и совершении транзакций. Комиссия за использование приложения не снимается.

Интернет-банкинг для приложений

Система ВТБ-онлайн для бизнеса

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

  1. Авторизация (ввод логина и пароля).
  2. На мониторе высветится форма подтверждения, где из выпадающего списка нужно выбрать «Токен (режим А)».
  3. Запуск Токена ВТБ-онлайн.
  4. Генерация кода подтверждения.
  5. Подтверждение операции уникальным кодом.

После входа вы модете приступать к работе.

SMS/Push уведомления

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

Смс коды для входа

Пин-код

В зависимости от функционала вашего устройства, вы можете использовать отпечаток пальца вместо ПИН. Чтобы подключить эту функцию, сделайте следующее:

  1. Зайдите в меню «Настройки» (выглядит как серая шестеренка).
  2. Выберите «Подключить отпечаток пальца».
  3. Активизируйте ее, следуя простым подсказкам.

В противном случае вам будет необходимо установить цифровой пароль. Он может быть изменен следующим образом:

  1. «Настройки».
  2. «Смена ПИН-кода».
  3. Двойное введение существующего ПИН.
  4. Двойное введение нового ПИН.
  5. Использование нового ПИН-кода при генерации паролей в Токене.

Будьте предельно внимательны, вводя ваш пароль. С целью повышения уровня безопасности Токен от ВТБ не хранит никакой информации, что касается и ПИН-кода. Корректность пароля может быть проведена только после операции подтверждения. А неправильный ПИН приведет к генерации некорректного кода подтверждения.

Безопасность по отпечатку

Правила безопасности

Важно также следить за обновлениями. ВТБ регулярно работает над тем, чтобы улучшить защиту токена от мошенников, поэтому убедитесь, что у вас стоит последнее обновление приложения. ПИН-код в токене от ВТБ не подлежит восстановлению. Если вам никак не удается вспомнить – переустановите программу и заново зарегистрируйтесь через онлайн-систему.

Сотрудники ВТБ никогда не звонят с целью выяснения персональных данных, одноразовых кодов или кодов аутентификации карты (CVC/CVV-код), даже в случае возникновения технических неполадок.

Помимо этого Токен не станет запрашивать:

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

Если вам поступил звонок и кто-то представился сотрудником ВТБ, ни в коем случае не сообщайте запрошенную информацию и не совершайте действий, о которых вас просят. Как можно скорее сообщите об этом в службу поддержки по телефонам: 8 (495) 777–24–24, 8 (800) 100–24–24.

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

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


Токены могут быть или программными компонентами (например, на основе стандарта JSON Web Tokens), или аппаратными устройствами. Они позволяют пользователям с лёгкостью выполнять вход и оставаться в системе без компрометации защиты. Токены даже могут повышать безопасность, стимулируя к использованию сильных паролей и действуя наряду с паролями для реализации многофакторной аутентификации (Multi-Factor Authentication, MFA).

Что такое аутентификация на основе токенов?

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

Как работает аутентификация на основе токенов?

Существует множество способов предоставления пользователям токенов аутентификации — аппаратные токены, одноразовые пароли (обычно передаваемые через мобильный телефон) и программные токены, обычно основанные на стандарте JWT.

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

Аутентификация на основе токенов обычно состоит из четырёх этапов:

  1. Первоначальный запрос — пользователь запрашивает доступ к защищённому ресурсу. Изначально пользователь должен идентифицировать себя способом, не требующим токена, например, при помощи имени пользователя или пароля.
  2. Верификация — аутентификация определяет, что идентификационные данные пользователя верны, и проверяет, какие полномочия он имеет в запрошенной системе.
  3. Токены — система выпускает токен и передаёт его пользователю. В случае аппаратного токена это подразумевает физическую передачу токенов пользователю. В случае программных токенов это происходит в фоновом режиме, пока фоновые процессы пользователя обмениваются данными с сервером.
  4. Сохранение — токен удерживается пользователем, или физически, или в браузере/мобильном телефоне. Это позволяет ему выполнять аутентификацию без указания идентификационных данных.


Основные типы токенов аутентификации

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

Аппаратные токены (USB)

Аппаратные токены — это физические устройства, обеспечивающие авторизацию пользователей для доступа к защищённым сетям. Также иногда их называют токенами аутентификации или безопасности. Задача аппаратного токена — обеспечение дополнительного слоя защиты благодаря двухфакторной или многофакторной аутентификации (2FA или MFA). Владелец токена привязывает токен к системе или сервису, доступ к которому ему необходим.

Аппаратные токены спроектированы с учётом удобства для пользователей и возможности настройки, поэтому они могут иметь различные форматы. Самыми распространёнными типами токенов являются брелки, USB и беспроводные токены. Аппаратные токены можно разделить на три категории.

  • Бесконтактные — такой токен не требует ввода кода или соединения с устройством. Этот тип токена использует для доступа к системе беспроводное подключение, которое может предоставлять или отклонять доступ на основании идентификационных данных, связанных с соединением.
  • Без подключения — токены без подключения не нужно физически вставлять в систему, к которой выполняется доступ. Устройство генерирует одноразовые коды доступа, которые используются как часть 2FA или MFA. Обычно токеном без подключения является мобильное устройство, например, смартфон.
  • С подключением — для обеспечения доступа токен с подключением должен физически подключаться к системе. Токен сканируется считывающим устройством, получающим идентификационные данные аутентификации. Это может быть USB-токен или брелок (например, Yubikey).

JSON Web Tokens (JWT)

JSON Web Token (JWT) — это открытый стандарт (RFC 7519). Он определяет простой автономный способ защищённой передачи информации между сторонами. Стандарт JWT использует объекты JavaScript Object Notation (JSON) для передачи токенов между сторонами. Эти токены могут использоваться для аутентификации, а также для передачи дополнительной информации о пользователе или аккаунте.


JWT состоит из трёх частей:

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

Одноразовые токены One-Time Password (OTP)

Токены One-time password (OTP) — это защищённые аппаратные устройства или программы, способные генерировать одноразовые пароли. Чаще всего это personal identification numbers (PIN) — числовые коды длиной 4-12 цифр.

Для генерации или получения одноразовых паролей часто применяются смартфоны. После того, как пользователь доказал, что владеет конкретным телефоном, он может использовать приложение аутентификатора, генерирующее пароли OTP — в этом случае телефон служит генератором кодов. Или же OTP могут отправляться в устройство через SMS.

Одноразовые пароли усиливают существующие системы идентификации и паролей, добавляя в них динамически генерируемые идентификационные данные. Токены OTP генерируют PIN синхронно или асинхронно, это зависит от их поставщика:

  • Синхронные токены для создания одноразового пароля используют приватный ключ пользователя и текущее время.
  • Асинхронные токены используют Challenge Response Authentication Mechanism (CRAM) — серию протоколов, в которых сервер отправляет запрос, а токен должен сгенерировать правильный ответ.

API-токены

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

Безопасна ли аутентификация на основе токенов?

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

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

Однако всегда нужно помнить о том, что никогда не стоит полагаться на один способ аутентификации. Аутентификация токенами должна считаться только одним из компонентов стратегии двухфакторной или многофакторной аутентификации.

Плюсы и минусы программных токенов

Как и в случае с любой методологией или техникой, при выборе программных токенов нужно учитывать их достоинства и недостатки.

Привет! Меня зовут Артем Ивлев, и я занимаюсь архитектурой идентификации клиентов банка ВТБ. Наша задача — ответить на вопрос, кто использует наш банковский сервис: мобильный или интернет-банк, голосового помощника или просто один из многочисленных офисов. Для этого есть множество инструментов — и я хочу рассказать про становление одного из них.

Пролог

На дворе 2019 год, экосистема банка растет как на дрожжах, и все острее нам нужны единая точка входа для клиентов и провайдер идентификации. А есть только каталог учетных записей и отдельные решения разных команд для аутентификации.

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


Примерно так будет выглядеть вход через ВТБ

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

Выбираем, по какому пути пойдем

Прошерстив интернет, покурив магические квадраты Гартнера, начали смотреть на опенсорс-решения с поддержкой в России:

• WSO2 Identity Server

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


Архитектура WSO2 Identity Server

Первый прототип мы показали еще в 2019 году на общем выездном демо розничного бизнеса.

Серебряная пуля есть (извини, Брукс) — это токен

В первую очередь мы поняли, что в OAuth 2 нам лучше всего использовать ID-токен JWT, который не требует обращения к серверу аутентификации для проверки при каждом запросе. Если вкратце, JWT — это пирамидка из трех частей:

1. Заголовок (HEADER) рассказывает, что это за токен, как подписан и кем выдан.

2. Тело (PAYLOAD) — набор параметров — позволяет узнать, какому сервису и для какого пользователя выдан этот токен, как долго этот токен будет жить.

3. Криптографическая подпись (SIGNATURE) дает возможность проверить, что данные в теле токена не были изменены и что токен выдан именно тем сервером идентификации, которому мы доверяем.


Структура JSON Web Token (JWT)

Все эти части — это одна большая строка, разделенная точками на блоки. Первые два блока кодированы с помощью алгоритма Base64.

Использование ID-токена JWT сильно упростило жизнь: больше не нужно было при каждом запросе от мобильного устройства или браузера ходить в базу и проверять, кому и когда выдан токен. Вся информация — в самом токене. Достаточно просто поставить перед потребителями API Gateway, который проверит подпись токена с помощью открытого ключа.

Как доработать пулю напильником

Токен, выпущенный на X минут, будет действителен, даже если пользователь нажмет «Выход» или от систем службы безопасности банка поступит сигнал срочно разлогинить этого пользователя из приложения.

Решение давно придумали — хранить списки отозванных токенов и сверяться с ними на уровне API Gateway. Да, это тоже сверка с базой, но здесь множество существенно меньше и легко реализуется на кеше Redis с TimeToLive.

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


Кадр из заставки мультсериала «Симпсоны»

Адаптивная аутентификация, или Почему нам пришлось идти своим путем

В процессе входа пользователя много дополнительной магии. Это и проверки пользователя, его устройства, статистики по входам, географии, и аудит действий, и открытие сессий в бэк-системах, и уточнение необходимости второго фактора, и выбор этого самого второго фактора (СМС, push, что-то еще).

Это и есть задача адаптивной аутентификации. И, с одной стороны, использование модуля позволило все эти задачи вписывать с помощью скриптового интерфейса WSO2 IS, но, с другой стороны, невозможно было реализовать красивый API для мобильных устройств или SPA.

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

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

Для мобильного приложения и интернет-банка мы решили реализовать всю логику с помощью всего лишь одной ручки API/oauth2/token — в зависимости от входящих параметров она выдавала токен или ошибку с просьбой перейти на нужный шаг запроса второго фактора.

Реализацию бизнес-логики решили внести прямиком в grant_type, параметр /oauth2/token, отвечающий на вопрос о нужном типе аутентификации.

В итоге у нас получилась стройная логика. Есть сервис-провайдер — потребитель аутентификации. У него есть настройки, среди которых — набор grant type. Тем самым мы отлично понимаем, кто и с помощью каких логик входа к нам может прийти.

Все, что не роняет прод, делает нас сильнее

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

Пришлось нам снова переписывать часть логики генерации токена. Убрали сессии из PostgreSQL в Redis. Это на порядок снизило нагрузку на базу.


Но, как оказалось, этого тоже мало. Сама зависимость от базы для столь критичного сервиса — далеко не лучшее решение. В случае падения или недоступности базы (где хранятся в основном настройки и выданные токены, сессии-то мы уже оттуда убрали) мы не могли пустить пользователя в банк.

Добавили проверку в случае недоступности базы — выдавать токены в аварийном порядке, если их не удается продлить через пять минут. То есть пользователи все равно смогут работать в приложении банка — но только пока жив первый выданный токен.

Следующим шагом был переход от двух ЦОДов в режиме active-active к режиму active-passive, что снизило риски рассинхрона PostgreSQL и Redis. В худшем случае при падении ЦОД какой-то части пользователей придется перезайти в приложение.

Ну и как финальный гвоздь в код выдачи токенов — решение полностью переписать остатки WSO2 IS. Последняя версия уже вообще не общается с базой при аутентификации пользователя. Остался только Redis, который хранит сессии аутентификации и выданные в них JWT и refresh-токены.

Что дальше? Новые гориSSOнты

При выдаче токена осталось так мало от вендорного WSO2 IS, что в скором времени мы сможем перейти от монолита, который умеет слишком много, к микросервисам, которые умеют только то, что нам нужно и с нужной нам производительностью.

Сейчас у нас есть вход в банковское приложение в мобильной и веб-версиях. Но этого мало. Ведь у ВТБ есть множество других продуктов. Это «Мультибонус», «ВТБ Мобайл» и десятки, если не сотни, других наших проектов. Для всех требуются аутентификация и единая точка входа.


Кадр из мультсериала «Рик и Морти»

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

Эпилог

Скоро год, как наши первые релизы ушли в прод. Решение развивается и обрастает новыми возможностями. Не стоило ли нам сразу начать писать свое? Нужен ли вообще был WSO2 IS?

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

ЗЫ: Буду рад обсудить вопросы по SSO, токенам и вообще аутентификации.

ЗЗЫ: Про что хотите почитать в следующий раз? Аутентификацию, биометрию или цифровой профиль и использование Tarantool Data Grid?

Автор статьи

Куприянов Денис Юрьевич

Куприянов Денис Юрьевич

Юрист частного права

Страница автора

Читайте также: