Банковский токен что это

Обновлено: 27.03.2024

В настоящее время киберпреступность стала проблемой мирового уровня. Например, Дмитрий Самарцев, директор 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 можно отнести размер - токены в этом языке кода крошечные и могут быть переданы между двумя пользователями довольно быстро; простоту - токены могут быть сгенерированы практически из любого места, и их не нужно проверять на сервере; контроль - можно указать, к чему пользователь может получить доступ, как долго будет длиться это разрешение и что он может делать во время входа в систему.

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

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

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

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

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

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

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


Расскажите (или скажите, где почитать можно), в чем заключается принцип работы этих токенов?


P.S.: Я знаю, в общем, как устроена, например, авторизация с одноразовыми паролями с синхронизацией по времени (напр. Google Authenticator). Но в моем токене можно спокойно вытащить батарейку, поставить ее обратно — и все будет дальше работать, т.е. никаких часов в нем точно нет. Как тогда узнают друг друга токен и банк?

  • Вопрос задан более трёх лет назад
  • 11922 просмотра

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

Грубо говоря, в токене зашита некоторая односторонняя функция f(x), и некоторое стартовое число k. Сервер также знает, какая функция и какое число используется в токене, привязанном к вашему аккаунту.

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

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

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

> можно спокойно вытащить батарейку, поставить ее обратно
А если вытащить, подождать пару недель и только потом вставить обратно?

Принципа два —
f(T,IV) — Код на основе времени и кода инициализации, сложность в наличии часов
f(n,IV) — Код на основе номера попытки и кода инициализации, сложность в возможности серверу не узнать о произведенной попытке.

И кто вам сказал, что никаких часов там нет? Часы внутри микрухи могут годами ходить от заряда в конденсаторе

* Часы внутри микрухи могут годами ходить от заряда в конденсаторе >
Так как им ничего не надо отображать, считать и т.д. Им надо тупо ходить.
Элементы питания исполтьзуемые в OTP, как правило, либо съемные (редко), либо жутко долговечные. ЖУТКО

Угу, именно. Сейчас всё чаще в качестве «часовой» или аварийной батарейки используют суперконденсаторы.

В токене Яндекс.Денег вообще похоже питание идет от пьезоэлемента. Т.к. там надо очень сильно и резко надавить на кнопку. А сам токен с дисплеем на eink и толщиной с обычную банковскую карту, ни намека на разборность и на сложную внутреннюю начинку.


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

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

Разновидности носителей электронной подписи

Сегодня в России сертифицировано для использования в качестве носителей ЭЦП несколько наименований токенов (ниже будут рассмотрены все виды отдельно и более подробно):

  • Рутокен;
  • E-токен;
  • JaCarta LT;
  • Esmart USB;
  • ключевой носитель R301 Форос;
  • JaCarta-2 SE.

Носители ЭЦП Рутокен

Носители ЭЦП Джакарта

Семейства носителей ЭЦП – Рутокен

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

К основным моделям «Рутокен» сегодня относятся

Универсальное решение для хранения ключей и сертификатов для ЭЦП без права их последующего экспорта на другие носители в системах клиент-банк. Устройство оказалось первым в России, которое получило сертификат ФСБ на соответствие обновленным стандартам в сфере криптографической безопасности. Особенность продукта — в отсутствии необходимости устанавливать дополнительно криптопровайдер и специальные драйверы при использовании современных операционных систем.

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

Особенность устройства — в возможности заверения ЭЦП документов на девайсах под управлением операционных систем на мобильных устройствах iOS, Android за счет подключения через Bluetooth, HID-устройства или разъем micro-USB.

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

Токен позволяет подписывать документы ЭЦП, дополнительной опцией устройства стало наличие Flash-памяти объемом до 64 ГБ, наличие сертификата ФСБ о соответствии всем требованиям класса КС2.

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

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

Дополнительно компания «Актив» предлагает токены для безопасного доступа и создания VPN-каналов для защищенной от посторонних действий работы с программами 1С, корпоративной почтой, удаленными файлами. Отдельную группу продуктов составляют решения для безопасной двухфакторной аутентификации на различных Web- и Saas-сервисах. Реализовано это на базе как токенов, так и специальных плагинов для совершения электронной подписи.

Носитель электронной подписи eToken

«Е-токен» — мировой бренд, принадлежащий компании Thales/Gemalto, специализирующейся в том числе на разработке и производстве решений для персональных средств аутентификации. Продукты компании сегодня имеют сертификаты ФСТЭК и ФСБ, что позволяет их использовать для хранения ЭЦП любого типа и применять для подписи отчетов, ведения переписки, участия в тендерах и для других целей.

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

Носитель электронной подписи JaCarta

Для повышения безопасности имеются ключи с генераторами одноразовых паролей.

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

Это сертифицированная ФСБ и ФСТЭК USB флешка для ключа эцп, предназначенная для работы в ЕГАИС. Преимущества носителя: прочный корпус, защита от статического электричества, комфортное использование за счет небольшого выступания корпуса из компьютера.

JaCarta-2 SE было представлено компанией «Алладин» на профильной выставке в 2017 году. Визуально токен имеет, в зависимости от исполнения, вид смарт-карты, USB-накопителя, которые выполнены в классическом для компании черном цвете с оранжевой каймой. Сегодня решение сертифицировано по последним требованиям ФСБ, что подтверждает высокую степень криптографической безопасности и наличие полного набора функций. Среди особенностей и дополнений, внедренных при разработке JaCarta-2 SE, отметим:

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

Ключевой носитель Esmart USB

Сертифицированные носители ЭЦП, которые могут быть использованы для хранения электронной подписи любого типа. Токен можно использовать для сдачи отчетности и отправки документов в государственные органы, участия в торгах, хранения сертификатов для работы в специальных электронных системах, работы в сетях удаленного защищенного доступа VPN, с корпоративной почтой. Решение полностью совместимо с ключевыми партнерскими продуктами: «КриптоПРО», «КриптоАРМ», «Сигнал-КОМ», «ИнфоТеКС», «Ред ОС» и некоторыми иными. Токен полностью совместим со всеми основными операционными системами: Windows (начиная с версии XP), Linux, Mac OS.

Носитель ЭЦП R301 Форос

Ключевой носитель R301 Форос выпускает компания «СмартПарк». Решение имеет сертификат совместимости с «КриптоПРО», обеспечивает надежную защиту ключей электронной подписи, сертификатов криптографического параметра. Особенность токена — в наличии прочного алюминиевого корпуса, что повышает защиту от механических повреждений. Главные характеристики носителя R301 Форос:

  • объем защищенной памяти — 80 килобайт;
  • количество контейнеров для хранения ЭЦП — 6 штук;
  • число попыток для некорректного ввода пароля пользователя/администратора — 5/15;
  • возможность разблокировки/восстановления пароля — есть;
  • функция для свободного удаления контейнера с ЭЦП — нет.

Какой носитель ЭЦП выбрать и где приобрести

Конкретный выбор между токенами при покупке и оформлении ЭЦП зависит от следующих факторов:

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

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

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

Подобрать подходящий носитель ЭЦП и оформить ЭЦП любого типа на выгодных условиях можно в удостоверяющем центре АО «Калуга Астрал». Все работы по формированию сертификатов будут выполнены не позднее двух дней с момента подачи заявки (также доступна возможность ускоренного выпуска — в течение 1-2 часов). Специалисты нашего удостоверяющего центра помогут подобрать подходящий сертификат с учетом специфики вашей работы.

Продукты по направлению

Электронная подпись для участия в торгах, работы на государственных порталах и электронного документооборота

Защищенный носитель для генерации и хранения ключей шифрования и электронной подписи

Защищенный носитель закрытых ключей электронной подписи для электронного документооборота


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

Справочник анонима

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

Другие статьи цикла:

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

Подписываемся под данными

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


Другие статьи в выпуске:

Придумываем коды доступа

Создание безопасных одноразовых паролей состоит из двух этапов:

  1. Первичная настройка — включение двухфакторной аутентификации.
  2. Использование пароля — непосредственный ввод кода и отправка для проверки.

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

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

На самом деле весь секрет — последовательность из случайных символов, которые закодированы в формате Base32. Суммарно они занимают не меньше 128 бит, а чаще и все 190 бит. Эту последовательность и видит пользователь как текст или QR-код.

Так выглядит код QR для обмена секретом
Тот же самый секрет, только текстом

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

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

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

Возьмем время празднования Нового года в формате UNIX ( 1577811600000 ) и посчитаем порядковый номер нашего пароля: поделим на 30 секунд — 52593720 . Воспользуемся нашим секретом и вычислим хеш — по стандарту RFC 6238 это функция SHA-1:

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

Теперь дело за малым: нужно получить шесть цифр, которые мы и будем отправлять на сервер при авторизации. Возьмем последние четыре бита хеша — сдвиг, — это будет число a , или 10. Именно по этому сдвигу расположен наш код, который пока в виде байтов, — 03b08b12 = 61901586 . Отбросим все цифры этого числа, кроме шести последних, и получим наш новенький, готовый к использованию одноразовый код — 901586 .

Ни одно современное приложение не спрашивает пароль у пользователя постоянно, поскольку пользователей это раздражает. Именно поэтому разработчики и ученые-криптографы придумали токены, которые могут заменить собой пару логин — пароль. Перед учеными стояла задача не столько скрыть какую-то информацию, сколько создать общий стандарт для ее хранения и подтверждения ее надежности. Для всего этого была придумана технология JSON Web Token (JWT).

Как работает JWT?

Если есть данные, достоверность которых следует подтвердить, нам надо подписать их секретным ключом, используя HMAC. Для этого применяется такой же способ хеширования, что и для одноразовых паролей, только вместо шести цифр берется весь хеш целиком. Единственная разница — это сам алгоритм хеширования: в таких токенах SHA-1 считают слишком коротким и небезопасным, поэтому обычно используют SHA-256.

Главная задача JWT — подтверждение личности создателя токена и сопутствующих данных. Обычно содержимое токена — логин или другой идентификатор пользователя.

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

Любой токен состоит из трех частей: заголовка со служебной информацией, данных и подписи. Так как стандартом безопасности считается SHA-256, то мы запишем его в наш заголовок.

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

Этот хеш нам тоже надо перевести в кодировку Base64 и затем присоединить к уже имеющейся строке из заголовка и данных: eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjogMTIzNDU2fQ.4Ka0ipYe4/x-s4r82xqO8i77BXLh1TM7hdsqpmkZ6Y4 — это и есть наш токен. Можно пользоваться!

Так выглядит наш токен

Так выглядит наш токен

Подробнее про стандарт JWT можно почитать на сайте организации RFC, а про реализацию для своего любимого языка — на сайте jwt.io.

Заключение

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


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

Что такое токенизация?

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

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

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

Умные банковские активы (Smart bankable assets — акции, облигации и т.д.) также призваны оптимизировать процессы и облегчить возможность получения инвестиционного вознаграждения. Реализуя логику финансового контракта, можно автоматизировать процессы управления денежными потоками и голосования. В результате это может привести к повышению ликвидности и реальных активов.

Доступность неликвидных активов (Opening of illiquid assets — произведения искусства, недвижимость, автомобили и т.д.), чья основная функция в посредничестве между стоимостью актива и самими активом. Так, токенизированные активы, в отличие от реальных, могут быть разделены (что сложно с реальными автомобилями или картинами, например).

Токенизированный краудфандинг (Crowd Funding — капитал стартапов, P2P-заимствования и т.д.) обрел популярность в форме ICO за счет снижения стоимости входа из-за устранения посредников. Там, где раньше многие связанные бизнес-модели не были экономически жизнеспособными, токены позволяют осуществлять эффективные крауд-инвестиции в реальном времени, начиная от частных проектов и заканчивая участием в венчурном капитале. Основное внимание уделяется быстрой и гибкой торгуемости как основе повышения ликвидности.

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

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

Цифровой суверенитет (Digital Sovereignty — CryptoKitties и т.д.) используется для приложений, которые требуют уникальной авторизации и децентрализованного управления доступом к данным для владельцев токенов. Будучи реализованными как невзаимозаменяемый токен (NFT-токен), активы обеспечивают доказательство подлинности и не могут быть воспроизведены. При этом пользователи могут управлять игровыми активами, например, независимо от одного владельца платформы (например, CryptoKitties).

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

Какие яркие примеры токенизации есть сейчас?

Наиболее яркий пример токенизации — это NFT-токены (невзаимозаменяемые токены). По данным Coinmarketcap, объем рынка NFT превысил $750 млрд. Основу рынка NFT составляют те или иные произведения искусства, которые зачастую далеки от понятия искусства. Тем не менее, благодаря свойствам самих токенов даже простая пиксельная картинка приобретает свою значимую стоимость.

Кроме того, токенизировать произведения искусства стало трендом. Например, некоторые работы одного из самых популярных и культовых современных художников Бэнкси были проданы именно в виде NFT-токенов.

Еще одной перспективной отраслью для токенизации является недвижимость. По прогнозам британской компании Moore Global, ожидаемый объем токенизированного рынка недвижимости может составить $1,4 трлн к 2026 году.

Летом 2020 года регулируемая биржа Overstock tZERO начала торговлю security-токенами, которые являются подтверждением долевого владения роскошным курортом в Колорадо. На запуске был показан рекордный объем торгов, но интерес был ослаблен замедлением рынка, вызванным пандемией коронавируса. Впоследствии tZERO также стала партнером краудфандинговой компании NYCED Group, чтобы токенизировать недвижимость на сумму $18 млн.

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

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

Финансовые рынки — один из сегментов, которые наиболее быстро адаптировались к тенденции токенизации. Это как раз пример умных банковских активов, согласно архетипам. И востребованность использования токенов там крайне высока.

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

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

Больше новостей о криптовалютах вы найдете в нашем телеграм-канале РБК-Крипто.

Автор статьи

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

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

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

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

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