otp token что это такое
Перепрограммируеммые OTP токены – будущее двухфакторной аутентификации
После того, как у пользователей Google и других ресурсов, поддерживающих технологию U2F, появилась возможность использовать аппаратные токены для защиты своих аккаунтов, вышло много статей о том, что аппаратные токены гораздо надежней программных или SMS. С этим трудно не согласиться. Давайте вспомним почему.
Почему перепрошиваемые аппаратные токены надежней обычных
Но секретные ключи вшиваются в токены еще на заводе-производителе. И до того, как токен попадет к конечному потребителю, он пройдет через руки внушительного числа людей. Таким образом, нельзя исключать вероятность того, что на одном из этапов производства секретные ключи могут быть скомпрометированы недобросовестным работником компании. То есть небольшой риск того, что секретный ключ токена, которым пользуетесь вы, ваши подчиненные или ваши клиенты, все же остается.
Приобретая перепрошиваемые токены, заказчик получает возможность изменить вшитые еще на заводе секретные ключи на новые, известные только ему. Тем самым исключается любая возможность того, что секретные ключи этих токенов попадут в руки злоумышленников.
Такие OTP токены также подойдут для систем двухуровневой аутентификации реализованных на основе Google Authenticator. Секретные ключи в подобных решениях генерирует сама система, потому подключить к ней обычные аппаратные токены невозможно. Но вшить секретный ключ, сгенерированный системой в перепрошиваемый токен Protectimus серии SLIM с поддержкой NFC возможно.
Если система двухуровневой аутентификации реализована на основе Google Authenticator и секретные ключи генерируются самой системой, но есть желание использовать аппаратные токены, в этом случае также можно воспользоваться перепрошиваемыми токенами.
Перепрошиваемые токены для аутентификации в Google и других системах
Перепрошиваемые аппаратные токены отлично подходят для аутентификации на большинстве популярных ресурсов – Amazon, Bitbucket, Dropbox, Electronic Arts, Facebook, GitHub, Google Apps, KeePass, Kickstarter, Microsoft account, Salesforce.com, Teamviewer, VK, War Thunder и множестве других. Пользователь сможет легко вшить в OTP токен Protectimus с поддержкой NFC любой секретный ключ, который выдаст ему ресурс. С обычными аппаратными токенами проделать такое не получится.
Следует отметить также, что большинству пользователей Google, Facebook, Twitter, Dropbox и других подобных систем токены в виде смарт-карт покажутся более удобными. И причина довольно проста – такие токены не нужно подключать к USB. Многие привыкли заходить в сеть с планшета или смартфона, где попросту нет USB-разъема. Отличным выходом для таких пользователей станет аппаратный OTP токен карта.
Перепрошиваемые OTP токены открывают новые возможности, ранее недоступные в индустрии двухфакторной аутентификации. Такие токены более выгодны для компаний и более удобны для индивидуальных пользователей. Их можно подключить практически к любой системе строгой аутентификации, их можно использовать повторно без особого труда, они станут выгодным и удобным решением, как для компаний, так и для индивидуальных пользователей.
Что такое одноразовый пароль?
Одноразовый пароль (англ. one time password, OTP) это пароль, действительный только для одного сеанса аутентификации.
Преимущество одноразового пароля по сравнению со статическим состоит в том, что пароль невозможно использовать повторно. Таким образом, злоумышленник, перехвативший данные из успешной сессии аутентификации, не может использовать скопированный пароль для получения доступа к защищаемой информационной системе.
Какие алгоритмы мы используем?
Мы используем стандартные алгоритмы, которые хорошо себя зарекомендовали в индустрии обеспечения многофакторной аутентификации (HOTP, TOTP, OCRA), широко распространены и имеют надежную защиту – Initiative for Open Authentication (OATH). Их открытость и многолетнее использование на практике доказали, что применение технологии ОТР, на сегодняшний день один из наиболее эффективных методов обеспечения безопасности при аутентификации.
Как подключить это к моему ресурсу?
Предварительные действия:
Процесс аутентификации:
Сегодня, когда интернет-пользователи ищут новые способы обеспечить безопасность своим данным и предотвратить хакерские атаки на конфиденциальную информацию, аутентификация на основе одноразовых паролей – первое средство защиты, которое приходит на ум. Но что же такое OTP пароль? Аббревиатура «OTP» расшифровывается как «one time password» и переводится, как «одноразовый пароль». Этот инструмент используется для внедрения более сильных алгоритмов аутентификации. Двухфакторная аутентификация от Protectimus со специально разработанными токенами значительно усилит защиту ваших данных.
При регистрации на любом сайте, где храниться информация о пользователе, его просят создать пароль аутентификации. Многие полагают, что уникальный пароль надежно защищает информацию. Но уникальность пользовательских паролей слишком переоценена. При создании большинства из них мы используем логику: паролями становятся даты, телефонные номера, фамилии. Такой код аутентификации легко подсмотреть, украсть или вычислить. Но существует и альтернативная система защиты данных – одноразовые пароли, с ними информация будет под надежной защитой, ведь временный пароль действителен только один раз.
Наконец вы решили обеспечить максимальную безопасность своему проекту, внедрив аутентификацию на основе одноразовых паролей. Естественно возникает вопрос – как получить одноразовый код? Для этого понадобится специально разработанный генератор одноразовых паролей «токен». В качестве токена может выступать, как специально спроектированный аппарат, так и гаджет, которым вы постоянно пользуетесь. Итак, чтобы начать использовать OTP пароли, нужно: зарегистрироваться на сайте Protectimus, выбрать подходящий токен, и получать одноразовые пароли при каждой аутентификации.
Токен или генератор одноразовых паролей — это устройство или приложение, которое использует определенный алгоритм генерации OTP для создания одноразового пароля при поступлении запроса от пользователя. Токены – это очень удобное решение для генерации одноразовых паролей, так как приставляют собой автономные устройства, работающие без доступа к сети. Аппаратные токены для аутентификации на основе одноразовых паролей могут использовать разные алгоритмы, например, основанный на времени алгоритм аутентификации TOTP, и т.д.
Получить одноразовый пароль для прохождения аутентификации можно разными способами. Но задача, для осуществления которой они были изобретены, одна — защита данных пользователя. Инструменты, с помощью которых можно получить одноразовый код, могут кардинально отличаться друг от друга: они бывают аппаратными и программными, для простых или сложных задач, требуют подключения к интернету, или работают офлайн. Как правило, если у вас есть токен, то доступ к сети не нужен. Все аппаратные и программные токены Protectimus, а именно ONE, SLIM, ULTRA и SMART, можно использовать офлайн.
Токен Авторизации
В настоящее время киберпреступность стала проблемой мирового уровня. Например, Дмитрий Самарцев, директор BI.ZONE в сфере кибербезопасности привёл на Всемирном экономическом форуме следующие цифры. В 2018 году ущерб мировой экономики от киберпреступности составил по его словам 1.5 триллиона долларов. В 2022 году прогнозируются потери уже в 8 триллионов, а в 2030 ущерб от киберпреступлений может превысить 90 триллионов долларов. Чтобы уменьшить потери от киберпреступлений, необходимо совершенствовать методы обеспечения безопасности пользователей. В настоящее время существует множество методов аутентификации и авторизации, которые помогают реализовать надежную стратегию безопасности. Среди них многие эксперты выделяют в качестве лучшей авторизацию на основе токенов.
До появления токена авторизации повсеместно использовалась система паролей и серверов. Сейчас эта система всё ещё остаётся актуальной из-за своей простоты и доступности. Используемые традиционные методы гарантируют пользователям возможность получить доступ к их данным в любое время. Это не всегда эффективно.
Рассмотрим эту систему. Как правило, идеология их применения базируется на следующих принципах:
Осуществляется генерация аккаунтов, т.е. люди придумывают сочетание букв, цифр или любых известных символов, которые станут логином и паролем.
Для осуществления возможности входа на сервер, пользователю требуется сохранять эту уникальную комбинацию и всегда иметь к ней доступ.
При необходимость заново подключиться к серверу и авторизироваться под своим аккаунтом, пользователю требуется заново вводить пароль и логин.
Кража паролей – это далеко не уникальное событие. Один из первых задокументированных подобных случаев произошел еще в 1962 году. Людям не просто запоминать разные комбинации символов, поэтому они часто записывают все свои пароли на бумаге, используют один и тот же вариант в нескольких местах, лишь слегка модифицируют с помощью добавления символов или изменением регистра некий старый пароль, чтобы использовать его в новом месте, из-за чего два пароля становятся крайне схожи. Логины по той же причине часто делаются одинаковые, идентичные.
Помимо опасности кражи данных и сложности с хранением информации, пароли также требуют проверки подлинности сервера, что увеличивает нагрузку на память. Каждый раз, когда пользователь входит в систему, компьютер создает запись транзакции.
Типы токенов авторизации
Токены авторизации различаются по типам. Рассмотрим их:
Устройства, которые необходимо подключить физически. Например: ключи, диски и тому подобные. Тот, кто когда-либо использовал USB-устройство или смарт-карту для входа в систему, сталкивался с подключенным токеном.
Устройства, которые находятся достаточно близко к серверу, чтобы установить с ним соединение, но оно не подключаются физически. Примером такого типа токенов может служить «magic ring» от компании Microsoft.
устройства, которые могут взаимодействовать с сервером на больших расстояниях.
Во всех трех случаях пользователь должен что-то сделать, чтобы запустить процесс. Например, ввести пароль или ответить на вопрос. Но даже когда эти шаги совершаются без ошибок, доступ без токена получить невозможно.
Процесс токен авторизации
Авторизация с помощью токена происходит следующим образом. Сначала человек запрашивает доступ к серверу или защищенному ресурсу. Запрос обычно включает в себя ввод логина и пароля. Затем сервер определяет, может ли пользователь получить доступ. После этого сервер взаимодействует с устройством: ключ, телефон, USB или что-то ещё. После проверки сервер выдает токен и отправляет пользователю. Токен находится в браузере, пока работа продолжается. Если пользователь попытается посетить другую часть сервера, токен опять связывается с ним. Доступ предоставляется или, наоборот, запрещается на основе выданного токена.
Администраторы устанавливают ограничения на токены. Можно разрешить одноразовый токен, который немедленно уничтожается, когда человек выходит из системы. Иногда устанавливается маркер на самоуничтожение в конце определенного периода времени.
Что такое аутентификация на основе токенов?
аутентификация по паролю (обычное запоминание комбинации символов)
аутентификация по биометрии (отпечаток пальца, сканирование сетчатки глаза, FaceID)
Аутентификация токенов требует, чтобы пользователи получили сгенерированный компьютером код (или токен), прежде чем им будет предоставлен доступ в сеть. Аутентификация токенов обычно используется в сочетании с аутентификацией паролей для дополнительного уровня безопасности (двухфакторная аутентификация (2FA)). Если злоумышленник успешно реализует атаку грубой силы, чтобы получить пароль, ему придется обойти также уровень аутентификации токенов. Без доступа к токену получить доступ к сети становится труднее. Этот дополнительный уровень отпугивает злоумышленников и может спасти сети от потенциально катастрофических нарушений.
Как токены работают?
Во многих случаях токены создаются с помощью донглов или брелоков, которые генерируют новый токен аутентификации каждые 60 секунд в соответствии с заданным алгоритмом. Из-за мощности этих аппаратных устройств пользователи должны постоянно держать их в безопасности, чтобы они не попали в чужие руки. Таким образом, члены команды должны отказаться от своего ключа или брелока, если команда распадается.
Наиболее распространенные системы токенов содержат заголовок, полезную нагрузку и подпись. Заголовок состоит из типа полезной нагрузки, а также используемого алгоритма подписи. Полезная нагрузка содержит любые утверждения, относящиеся к пользователю. Подпись используется для доказательства того, что сообщение не подвергалось опасности при передаче. Эти три элемента работают вместе, чтобы создать высокоэффективную и безопасную систему аутентификации.
Хотя эти традиционные системы аутентификации токенов все еще действуют сегодня, увеличение количества смартфонов сделал аутентификацию на основе токенов проще, чем когда-либо. Смартфоны теперь могут быть дополнены, чтобы служить генераторами кодов, предоставляя конечным пользователям коды безопасности, необходимые для получения доступа к их сети в любой момент времени. В процессе входа в систему пользователи получают криптографически безопасный одноразовый код доступа, который ограничен по времени 30 или 60 секундами, в зависимости от настроек на стороне сервера. Эти мягкие токены генерируются либо приложением-аутентификатором на устройстве, либо отправляются по запросу через SMS.
Появление аутентификации на основе токенов смартфонов означает, что у большинства сотрудников уже есть оборудование для генерации кодов. В результате затраты на внедрение и обучение персонала сведены к минимуму, что делает эту форму аутентификации на основе токенов удобным и экономически выгодным вариантом для многих компаний.
Безопасно ли использование токенов?
По мере роста киберпреступности и усложнение методов атак должны совершенствоваться методы и политика защиты. Из-за растущего использования атак “грубой силой”, перебора по словарю и фишинга для захвата учетных данных пользователей становится совершенно очевидно, что аутентификации по паролю уже недостаточно, чтобы противостоять злоумышленникам.
Но, несмотря на множество преимуществ, связанных с платформой токенов, всегда остается небольшой риск. Конечно, токены на базе смартфонов невероятно удобны в использовании, но смартфоны также представляют собой потенциальные уязвимости. Токены, отправленные в виде текстов, более рискованны, потому что их можно перехватить во время передачи. Как и в случае с другими аппаратными устройствами, смартфоны также могут быть потеряны или украдены и оказаться в руках злоумышленников.
Рекомендации по аутентификации на основе токенов
Реализация надежной стратегии аутентификации имеет решающее значение, когда речь идет о том, чтобы помочь клиентам защитить свои сети от нарушения безопасности. Но для того, чтобы стратегия действительно была эффективной, требуется выполнение нескольких важных основных условий:
Правильный веб-токен. Хотя существует целый ряд веб-токенов, ни один из них не может обеспечить ту же надежность, которую предоставляет веб-токен JSON (JWT). JWT считается открытым стандартом (RFC 7519) для передачи конфиденциальной информации между несколькими сторонами. Обмен информацией осуществляется цифровой подписью с использованием алгоритма или сопряжения открытого и закрытого ключей для обеспечения оптимальной безопасности.
Использование HTTPS-соединений. HTTPS-соединения были построены с использованием протоколов безопасности, включающих шифрование и сертификаты безопасности, предназначенные для защиты конфиденциальных данных. Важно использовать HTTPS-соединение, а не HTTP или любой другой протокол соединения при отправке токенов, так как эти в ином случае возрастает риск перехвата со стороны злоумышленника.
Что такое JSON веб-токены?
В своей компактной форме веб-токены JSON состоят из трех частей, разделенных точками: заголовок, полезная нагрузка, подпись. Поэтому JWT выглядит обычно выглядит следующим образом: «xxxx.yyyy.zzzz».
Заголовок состоит из двух частей: типа токена, которым является JWT, и используемого алгоритма подписи, такого как HMAC SHA256 или RSA.
Тоже не понял, что за прикол там происходит.
Подпись же используется для проверки того, что сообщение не было изменено по пути, а в случае токенов, подписанных закрытым ключом, она также может подтвердить, что отправитель JWT тот, за себя выдает.
Выходные данные представляют собой три строки Base64-URL, разделенные точками, которые могут быть легко переданы в средах HTML и HTTP, будучи при этом более компактными по сравнению со стандартами на основе XML, такими как SAML.
Почему стоит использовать токены авторизации?
Многие люди считают, что если текущая стратегия работает хорошо (пусть и с некоторыми ошибками), то нет смысла что-то менять. Но токены авторизации могут принести множество выгод.
Они хороши для администраторов систем, которые часто предоставляют временный доступ, т.е. база пользователей колеблется в зависимости от даты, времени или особого события. Многократное предоставление и отмена доступа создаёт серьёзную нагрузку на людей.
Токены авторизации позволяют обеспечить детальный доступ, т.е. сервер предоставляет доступ на основе определенных свойств документа, а не свойств пользователя. Традиционная система логинов и паролей не допускает такой тонкой настройки деталей.
Токены авторизации могут обеспечить повышенную безопасность. Сервер содержит конфиденциальные документы, которые могут нанести компании или стране серьезный ущерб при выпуске. Простой пароль не может обеспечить достаточную защиту.
Есть и другие преимущества использования этой технологии. Но даже уже перечисленных достаточно, чтобы внедрить её на сервера.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
OTP (One Time Password)
Содержание
Генерация и распространение OTP
Алгоритмы создания OTP используют псевдослучайные или случайные наборы чисел, а также хэш-функции, которые можно использовать для повторного получения значения, однако очень сложно получить данные хэша для их повторного использования. Такие механизмы необходимы, поскольку в ином случае, было бы легко предсказать по какому принципу генерируются OTP, наблюдая его предыдущие вариации. Конкретные алгоритмы OTP сильно различаются в деталях. Выделяют следующие механизмы реализации одноразовых паролей [Источник 2] :
Кроме того, существуют различные способы информирования пользователя о следующем используемом OTP. Многие системы используют специальные электронные токены, которые пользователь носит с собой. Данные токены создают пароль и выводят его на маленький экран. Прочие системы состоят из программ, которые пользователь может самостоятельно запустить на мобильном телефоне. Все остальные системы генерируют пароль на стороне сервера и отправляют его пользователю по внеполосному каналу, например, при помощи SMS. В некоторых системах OTP печатается на бумаге, либо скетч-карте, которую пользователю необходимо иметь при себе.
Методы генерации OTP
Синхронизированные по времени
Синхронизированные по времени OTP обычно привязаны с так называемыми токенами безопасности (например, каждому пользователю предоставляется токен, который генерирует одноразовый пароль). Обычно такие токены (см. рис. 2) выглядят как маленькие калькуляторы или брелок с ЖК-дисплеем, который показывает число, которое время от времени изменяется. Внутри такого токена находятся встроенные часы, которые синхронизированы с часами на проприетарном сервере аутентификации. В подобных системах OTP, время является ключевой частью алгоритма паролей, так как генерация новых паролей основана на текущем времени, а не на предыдущем пароле или секретном ключе, или в дополнение к нему.
В настоящее время появилась возможность встраивать электронные компоненты, связанные с постоянными токен-часами, такие, как от ActivIdentity, InCard, RSA, SafeNet, Vasco, VeriSign и Protectimus, в форм-фактор кредитной карты. Однако, учитывая то, что толщина пластиковых карт не расчитана на вживление традиционных элементов батареек, необходимо использование специальных батареек, основанных на использовании полимеров, время жизни которых значительно превосходит время жизни мини-батареек. Кроме этого, для стабильной работы такого устройства, в нем должны быть использованы маломощные полупроводниковые компоненты для экономии питания во время ожидания или использования. Производством подобных тонких устройств занимаются компании Identita и NagraID.
Математический алгоритм
Каждый новый OTP создается на основе всех предыдущих. Данный подход разработан Лесли Лэмпортом и использует одностороннюю функцию, условно, назовем ее f. Данная система паролей работает следующим образом:
Информирование пользователя об OTP
Телефоны
Распространенной технологией, используемой для информирования пользователя об OTP, является обмен текстовыми сообщениями. Поскольку обмен текстовыми сообщениями является повсеместным каналом связи, он доступен напрямую практически на всех мобильных телефонах и, благодаря преобразованию текста в речь, на любой мобильный или стационарный телефон, обмен текстовыми сообщениями имеет большой потенциал для охвата всех потребителей с низкой общей стоимостью реализации решения. Однако, стоимость обмена текстовыми сообщениями для каждого отдельно взятого OTP может быть неприемлема для конечного пользователя. Сообщение, содержащее OTP обычно шифруется с использованием стандарта A5/x, однако, злоумышленники уже умеют легко расшифровывать подобные сообщения.
Кроме того, из за недостатков в безопасности протокола маршрутизации SS7, сообщения могут быть перенаправлены и попасть в руки злоумышленников. Так, в 2017 году, в Германии, злоумышленники смогли получить доступ к банковским счетам нескольких клиентов компании O2. Компания NIST не рекомендует использовать данный метод для реализации двухфакторной аутентификации, так как вполне реальна угроза перехвата SMS сообщений и получения несанкционированного доступа к личной информации.
На смартфонах, зачастую, одноразовые пароли доставляются напрямую через мобильные приложения. В том числе, через специальные приложения для аутентификации, такие как Authy, Duo и Google Authenticator, или в рамках существующего приложения службы, например, Steam (см. рис. 3). Эти системы не подвержены уязвимостям SMS, а также не всегда требуют подключения к сети интернет.
Веб-методы
Поставщики услуг проверки подлинности предлагают различные веб-методы доставки одноразовых паролей, без использования токенов. Один из таких методов основан на способности пользователя распознавать предварительно выбранные категории из случайно сгенерированной сетки изображений. При первой регистрации на сайте пользователь выбирает несколько секретных категорий вещей; такие как собаки, автомобили, лодки и цветы. Каждый раз, когда пользователь заходит на веб-сайт, ему выдают случайно сгенерированную сетку из буквенно-цифровых символов, наложенных на него. Пользователь ищет изображения, которые соответствуют их предварительно выбранным категориям, и вводит соответствующие буквенно-цифровые символы, чтобы сформировать одноразовый код доступа.
Распечатка
В некоторых странах в режиме онлайн-банкинга банк отправляет пользователю нумерованный список OTP, которые напечатаны на бумаге. Другие банки отправляют пластиковые карты с фактическими OTP, скрытыми слоем, который пользователь должен стереть, чтобы выявить пронумерованный OTP (скретч-карты (см. рис. 1)). Для каждой онлайн-транзакции пользователь должен ввести определенный OTP из этого списка. Некоторые системы запрашивают пронумерованные OTP последовательно, другие псевдослучайно выбирают OTP для ввода. В Германии и многих других странах, таких как Австрия и Бразилия, эти OTP обычно называются TAN («номера аутентификации транзакций»). Некоторые банки даже отправляют такие TAN на мобильный телефон пользователя посредством SMS, и в этом случае они называются mTAN («мобильные TAN»).
Сравнение технологий
С точки зрения затрат на производство, самым дешевым методом реализации OTP является распечатка их на бумаге, либо специальных скретч-картах. Приближена по стоимости генерация одноразовых паролей на мобильном устройстве. Это связано с тем, что приведенные методы исключают траты на производство специальных токенов безопасности, или с тратами на мобильное SMS информирование.
Системы же, которые основаны на синхронизации часов на токенах и сервере, должны решить проблему с рассинхроном, что влечет за собой дополнительные затраты на разработку. Однако, они позволяют избегать расходов на установку электронных часов в эти токены, а также их коррекцию с учетом временного дрейфа.
OTP уязвимы для фишинга. В конце 2005 года у пользователей Банка Швеции обманом выманили их одноразовые пароли. Даже синхронизированные по времени пароли уязвимы для фишинга, в случаях, когда взломщик успевает быстро воспользоваться паролем. Это было замечено в 2006 году по атаке на пользователей Citibank в США. [1]
Несмотря на то, что одноразовые пароли являются одними из наиболее безопасных, они все еще являются уязвимыми, например, для атак типа «человек посередине». В связи с этим одноразовые пароли ни в коем случае не должны передаваться третьей стороне. Синхронизация OTP по времени, в основном, никак не влияет на степень его уязвимости. Основанные на запросе одноразовые пароли тоже являются уязвимыми, хотя успешная атака требует от злоумышленника чуть более активных действий, чем для других типов OTP. [2]
Стандартизация
Связанные технологии
Некоторые решения единой регистрации используют одноразовые пароли.