Первые программируемые TOTP токены Protectimus Slim NFC были выпущены всего пару лет назад. За это время мы получили сотни заказов, а вместе с тем и сотни вопросов о том, как работают перепрошиваемые токены, чем они отличаются от классических, как запрограммировать токен, безопасно ли использовать такие OTP токены.
В этой статье я расскажу о принципе работы классических аппаратных токенов и перепрошиваемых токенов, пошагово объясню как запрограммировать OTP токен Protectimus Slim NFC и отвечу на все популярные вопросы.
Для вашего удобства, краткое содержание статьи:
- Как работают TOTP токены?
- Как сервер аутентификации проверяет одноразовые пароли?
- Чем классические TOTP токены отличаются от программируемых?
- Почему перепрошиваемые TOTP токены лучше всех остальных?
- Как понять к какому сервису подойдет токен Protectimus Slim NFC?
- Как прошить токен Protectimus Slim NFC?
- Часто задаваемые вопросы
Как работают TOTP токены?
TOTP расшифровывается как Time-Based One-time Password — одноразовый пароль, основанный на времени. Соответственно, при генерации одноразовых паролей по алгоритму TOTP используется два параметра:
- Секретный ключ (shared secret). Уникальный код длиной, как правило, около 16-32 символов в Base32.
- Текущий интервал времени (обычно 30 или 60 секунд). Моментом начала отсчета интервалов времени считается Unix-время (полночь с 31.12.1969 на 01.01.1970 года по UTC). То есть, если токен поддерживает интервал времени 30 секунд, то количество секунд, прошедших с полуночи 1 января 1970, делится на 30, и полученное число используется для генерации одноразового пароля.
OTP токен обрабатывает эти два значения по алгоритму TOTP (RFC 6238), результат хешируется, хеш обрезается до последних 6-ти (иногда 8-ми) цифр и выводится на дисплей токена. Так мы получаем одноразовый пароль, основанный на времени.
Как сервер аутентификации проверяет одноразовые пароли?
Чтобы сервер двухфакторной аутентификации мог проверить одноразовый пароль и разрешить или запретить доступ к учетной записи, ему должны быть известны те же вводные — тот же интервал времени и секретный ключ.
- Интервал времени. На любом сервере есть часы, а значит и возможность вычислить текущий интервал времени.
- Секретный ключ. Здесь есть два варианта:
- Или администратор загружает на сервер файл в формате csv с заранее заданными секретными ключами (так подключаются классические токены с предустановленными секретными ключами)
- Или секретные ключи генерируются самим сервером (так подключаются приложения для генерации одноразовых паролей такие как Protectimus Smart или Google Authenticator, а также прошиваемые аппаратные TOTP токены).
Это и подводят нас к объяснению разницы между классическими и программируемыми аппаратными токенами.
Классические TOTP токены | Программируемые TOTP токены |
---|---|
В классических OTP токенах секретный ключ уже вшит при производстве и его нельзя изменить. | В программируемых токенах секретный ключ изначально не задан, пользователь может добавить в токен секретный ключ, сгенерированный сервером аутентификации, как в мобильный аутентификатор. |
Чем классические TOTP токены отличаются от программируемых?
Классические TOTP токены
Классические аппаратные TOTP токены (Protectimus Two) — это OTP токены с предустановленными секретными ключами. Чтобы использовать такие токены, у клиента должна быть возможность загрузить секретные ключи на сервер.
Если клиент планирует использовать классические OTP токены со сторонним сервисом двухфакторной аутентификации (например защитить Azure MFA или Sophos XG), мы передаем ему секретные ключи в зашифрованном виде.
Если классические OTP токены будут использоваться с облачным сервисом Protectimus, мы добавляем секретные ключи сразу на сервер двухфакторной аутентификации Protectimus, поскольку это более безопасно и удобно.
Программируемые TOTP токены
Прошиваемые аппаратные TOTP токены (Protectimus Slim NFC) — отличное решение, если у вас нет доступа к серверу аутентификации и возможности загрузить csv файл с секретными ключами.
Для прошивки секретного ключа используется Android смартфон с поддержкой технологии NFC и приложение Protectimus TOTP Burner. Сервер генерирует QR-код с секретным ключом и предлагает пользователю просканировать его с помощью 2FA приложения (Protectimus Smart, Google Authenticator, т.п.). Но вместо стандартного аутентификатора обладатель токена Protectimus Slim NFC сканирует секрет с помощью приложения Protectimus TOTP Burner и прошивает его в токен через NFC.
Программируемые токены актуальны и для корпоративного (Office 365, Keycloak, Mailchimp), и для частного использования (PayPal, Dropbox, Facebook, Coinbase и т.д.).
Почему перепрошиваемые TOTP токены лучше всех остальных?
Основной плюс программируемых аппаратных токенов — универсальность.
Прошиваемые токены можно использовать и как классические, и вместо приложений для генерации одноразовых паролей. Следует отметить, что когда вы получаете перепрошиваемый TOTP токен Protectimus Slim NFC, в нем, как и в классическом, есть предустановленный секретный ключ. Мы предоставляем эти секретные ключи по запросу.
Еще одно весомое преимущество программируемых TOTP токенов Protectimus Slim NFC — синхронизация времени при каждой прошивке секретного ключа.
Перепрошивать токен можно неограниченное число раз. При этом учтите, что в одном токене есть слот только для одного секретного ключа (это НЕ мульти-токен). Каждая следующая прошивка стирает предыдущий секретный ключ и записывает на его место новый.
SMS | 2FA приложение | Классический токен | Прошиваемый токен | |
Не нужна сотовая связь | нет | да | да | да |
Нельзя перехватить OTP во время доставки | нет | да | да | да |
Нельзя скомпрометировать токен, подделав SIM-карту | нет | да | да | да |
Не нужен интернет | да | да | да | да |
Не подвержен заражению вирусами | нет | нет | да | да |
Доступность токена не зависит от заряда батареи телефона | нет | нет | да | да |
Доступна синхронизация времени | да | да | нет | да |
Токен доступен бесплатно, как конечному пользователю, так и для компании | нет | да | нет | нет |
Не требует от конечного пользователя каких-либо действий при выпуске | да | нет1 | нет2 | нет2 |
- ↑Пользователь должен установить приложение и выпустить токен, привязанный к конкретному ресурсу.
- ↑Аппаратный токен нужно каким-то образом передать пользователю (выслать по почте или передать в руки лично). Также пользователь должен будет привязать токен к своему аккаунту.
Ниже больше.
Безопасность
Программируемые аппаратные токены появились для замены 2FA приложений там, где классические токены подключить невозможно. Возникает вопрос: зачем вообще менять программные токены на аппаратные.
Дело в том, что аппаратные токены намного надежней программных. Аппаратный TOTP токен невозможно заразить вирусом, в отличие от смартфона, на котором установлено приложение-аутентификатор. Плюс ко всему, телефоны часто теряют, крадут, а иногда пользователи сами выполняют сброс данных до заводских настроек или по ошибке удаляют 2FA приложения, не подозревая, что это приведет к невозвратимой потере всех используемых токенов.
Возникают и случаи, когда использование смартфона просто невозможно. Например, у пользователя обыкновенный кнопочный телефон и он не сможет установить приложение. Или предприятие внедряет обязательную двухфакторную аутентификацию для доступа к корпоративным ресурсам, но некоторые сотрудники отказываются использовать свои личные телефоны.
| Читайте также: Аппаратный или программный токен – какой выбрать
Синхронизация времени
Одна из неизбежных проблем всех аппаратных токенов — рассинхронизация с сервером по времени. Поскольку токен — это автономное устройство, которое не подключается ни к одной сети, со временем его встроенные часы начинают немного спешить или отставать.
По стандарту RFC 6238 (TOTP) возможность рассинхронизации по времени необходимо учитывать на стороне сервера. Но не все сервисы 2FA следуют данной рекомендации. Поэтому в токенах Protectimus Slim NFC реализована автоматическая синхронизация времени при каждой прошивке токена. То есть каждый раз, когда прошивается новый секретный ключ, на часах, встроенных в токен, устанавливается точное текущее время. Это первые аппаратные TOTP токены с такой функцией.
| Читайте также: Time Drift in TOTP Hardware Tokens Explained and Solved
Брендирование
Программируемые токены Protectimus Slim NFC могут быть выполнены в цветах вашей компании и с вашим лого от 1 штуки. Стоимость брендирования — 299 USD независимо от объема заказа.
Мы предлагаем брендирование для всех типов токенов, но обычно оно доступно только для крупных заказов (от 1000 штук).
Как понять к какому сервису подойдет токен Protectimus Slim NFC?
Токен Protectimus Slim NFC поддерживает секретные ключи длиной от 16 до 32 символов в Base32. Соответственно, чтобы понять сможете ли вы подключить этот токен к тому или иному сайту / системе необходимо проверить:
- Можно ли на этом ресурсе настроить двухфакторную аутентификацию с помощью приложения?
- Какая длина секретного ключа, который необходимо использовать для выпуска токена. Если длина ключа не превышает 32 символов, тогда TOTP токен Protectimus Slim NFC подойдет.
Периодически мы дополняем список инструкций по настройке двухфакторной аутентификации с помощью токена Protectimus Slim NFC на разных сайтах.
Малая часть сервисов, к которым можно подключить аппаратный токен Protectimus Slim NFC включает PayPal, Google, Azure MFA, Office 365, Sophos, Keycloak, Github, WordPress, Dropbox, Mailchimp, Evernote, Facebook, Twitter, Instagram, Reddit, Kickstarter, Slack, Nintendo, LiteBit, ICE3X, AdvCash, Interkassa, Exmo, Bitfinex, Bitstamp, BitKonan, Coinbase, LocalBitcoins, CEX.io, Bitlio, Luno, Livecoin, Poloniex и т.д.
| Читайте также: Одноразовые пароли: алгоритмы генерации и обзор основных видов токенов
Как прошить TOTP токен Protectimus Slim NFC?
- Возьмите Android смартфон.
Для прошивки токена необходим Android смартфон с поддержкой NFC.
- Установите приложение Protectimus TOTP Burner.
Приложение для прошивки токена Protectimus Slim NFC доступно только на Android.
- Активируйте NFC.
Секретный ключ можно прошить в токен только через NFC.
- Войдите в свой аккаунт на сайте, который хотите защитить.
Войдите в учетную запись на сайте, к которому хотите привязать аппаратный токен Protectimus Slim NFC.
- Начните активацию двухфакторной аутентификации.
Войдите в настройки безопасности и начните активацию двухфакторной аутентификации с помощью мобильного аутентификатора (приложения Google Authenticator и т.п.)
- Просканируйте QR-код с секретным ключом с помощью приложения Protectimus TOTP Burner.
Когда увидите QR-код с секретным ключом, откройте приложение Protectimus TOTP Burner, нажмите на кнопку “Прошивка токена”, дальше выберите “Сканировать” и просканируйте QR-код. Если сканирование секретного ключа прошло успешно, вы увидите сообщение об этом и кнопку “Продолжить”.
- Включите токен, поднесите его максимально близко к NFC антенне телефона и прошейте секретный ключ в токен с помощью приложения Protectimus TOTP Burner.
Возьмите токен, включите его и поднесите к NFC антенне (на разных телефонах антенны находятся в разных местах). Токен следует держать как можно ближе к телефону. Когда приложение распознает токен, вы услышите звуковой сигнал. Нажмите кнопку “Продолжить”, чтобы прошить секретный ключ в токен.
Смотрите как прошивается токен в видео ниже. - Введите одноразовый пароль с токена в сообтветсвующее поле на сайте, чтобы завершить процесс выпуска токена.
Чтобы завершить выпуск токена, ввести одноразовый пароль с токена на сервисе, к которому вы привязываете Protectimus Slim NFC.
Часто задаваемые вопросы
В токен Protectimus Slim NFC можно прошить только один секретный ключ. Но количество перепрошивок не ограничено. То есть вы сможете использовать токен только с одним аккаунтом одновременно, но при необходимости его можно отключить от одного аккаунта и привязать к другому. Каждая следующая прошивка стирает предыдущий секретный ключ и записывает на его место новый.
29.99 USD за штуку. При заказе от 50 штук — 28.99 USD и ниже.
Токен можно подключить практически к любому сервису, который поддерживает двухфакторную аутентификацию с помощью Google Authenticator, если длина секретного ключа не выходит за рамки допустимой — от 16 до 32 символов в Base32. Например, токен подходит для двухфакторной аутентификации в Google, PayPal, Office365, Azure MFA, Sophos, Keycloak, Dropbox, GitHub, Facebook, Twitter, Instagram, множестве платежных систем, бирж криптовалют и других сервисов.
Для прошивки токена необходим Android смартфон с поддержкой NFC и приложение Protectimus TOTP Burner. Более детальная инструкция доступна выше.
Нет. Приложение для прошивки токена Protectimus Slim NFC доступно только на Android.
Срок работы батареи — от 3 до 5 лет. На устройство действует гарантия 12 месяцев. Замена или зарядка батареи невозможна.
Извлечь секретный ключ из токена невозможно. Приложение также не хранит секретные ключи. Вы можете использовать один телефон для прошивки нескольких токенов и это абсолютно безопасно.
Мы не рекомендуем этого делать, так как можно случайно задеть микросхему.
Токены с вашим корпоративным дизайном можно заказывать от 1 штуки. Стоимость брендирования — 300 USD независимо от объема заказа.
Android смартфон нужен только для прошивки токена. Дальше токен работает автономно и телефон больше не нужен.
Читайте также
- 2FA боты в мессенджерах vs SMS аутентификация
- Duo Security vs Protectimus: Доставка одноразовых паролей
- Как работает двухфакторная аутентификация
- Эволюция средств двухфакторной аутентификации
- Информационная безопасность в FinTech: 10 инструментов для защиты платежной системы
- Социальная инженерия: как это работает
- Фишинг, вишинг, смишинг, фарминг – в чем разница
- Reddit взломали: как это было и кто пострадал
- Как защититься от взлома электронной почты
Subscribe To Our Newsletter
Join our mailing list to receive the latest news and updates from our team.
04-02-2020
Спасибо, очень полезная статья.
Все очень понятно, как работает TOTP токен Protectimus Slim NFC
04-02-2020
Спасибо
Полезный материал.
Как я понял, только на android ? Не увидел упоминаний за IOS
19-02-2020
Виталий, спасибо за комментарий. Верно, приложение для прошивки токена доступно только на Android. Но хочу отметить, что приложение необходимо только единожды — чтобы прошить токен, дальше токен работает автономно без подключения к смартфону.
19-12-2020
Здравствуйте! Подскажите пожалуйста, что делать если перестал работать токен, по всей видимости села батарейка, возможно поменять ее?
21-12-2020
Илья, к сожалению, батарейку заменить невозможно. Вам придется заказать новый токен. Рекомендую Protectimus Flex (https://www.protectimus.com/flex/ru/) — прошиваемый токен с индикатором времени жизни батарей, так вы заранее будете знать когда придет время заказывать новый токен.