Одноразовый пароль

редактировать

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

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

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

Содержание
  • 1 Генерация и распределение
  • 2 Методы генерации
    • 2.1 Синхронизация по времени
    • 2.2 Математические алгоритмы
  • 3 Методы доставки
    • 3.1 Телефоны
    • 3.2 Собственные токены
    • 3.3 Веб-методы
    • 3.4 Hardcopy otp
  • 4 Сравнение технологий
    • 4.1 Сравнение реализаций
    • 4.2 По сравнению с другими методами защиты данных
    • 4.3 Связанные технологии
  • 5 Стандартизация
  • 6 См. Также
  • 7 Ссылки
Генерация и распределение

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

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

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

Методы создания

Синхронизированный по времени

OTP с синхронизацией по времени обычно связан с частью оборудования, называемым токеном безопасности (например, каждому пользователю выдается персональный токен, который генерирует одноразовый пароль). Он может выглядеть как маленький калькулятор или брелок для ключей с ЖК-дисплеем, на котором время от времени меняется число. Внутри токена находятся точные часы, которые были синхронизированы с часами на проприетарном сервере аутентификации . В этих системах OTP время является важной частью алгоритма пароля, поскольку создание новых паролей основывается на текущем времени, а не на предыдущем пароле или секретном ключе или в дополнение к нему. Этот токен может быть проприетарным устройством или мобильным телефоном или аналогичным мобильным устройством, на котором запущено проприетарное программное обеспечение, бесплатное или с открытым исходным кодом. Примером стандарта OTP с синхронизацией по времени является Основанный на времени алгоритм одноразового пароля (TOTP). Некоторые приложения могут использоваться для сохранения OTP с синхронизацией по времени, например Google Authenticator или менеджер паролей.

. Все методы доставки OTP ниже могут использовать time- синхронизация вместо алгоритмов.

Математические алгоритмы

Каждый новый OTP может быть создан из использованных ранее OTP. Пример алгоритма этого типа, присвоенный Leslie Lamport, использует одностороннюю функцию (назовите ее f). Эта система одноразового пароля работает следующим образом: выбирается

  1. A seed (начальное значение) s.
  2. A хеш-функция f (s) применяется многократно (например, 1000 раз) к начальному значению., что дает значение: f (f (f (.... f (s)....))). Это значение, которое мы назовем f (s), сохраняется в целевой системе.
  3. При первом входе пользователя в систему используется пароль p, полученный путем применения f к начальному значению 999 раз, то есть f (s). Целевая система может подтвердить, что это правильный пароль, поскольку f (p) - это f (s), то есть сохраненное значение. Сохраненное значение затем заменяется на p, и пользователю разрешается войти в систему.
  4. Следующий вход должен сопровождаться f (s). Опять же, это можно проверить, потому что хеширование дает f (s), которое равно p, значение, сохраненное после предыдущего входа в систему. Снова, новое значение заменяет p, и пользователь аутентифицируется.
  5. Это можно повторить еще 997 раз, каждый раз, когда пароль будет применяться на один раз меньше, и подтверждается проверкой того, что при хешировании он дает значение, сохраненное при предыдущем входе в систему. Хеш-функции разработаны таким образом, чтобы их было чрезвычайно сложно отменить, поэтому злоумышленнику необходимо знать начальное начальное число s для вычисления возможных паролей, в то время как компьютерная система может подтвердить, что пароль в любом случае действителен, проверяя, что при хешировании он дает значение, ранее использовавшееся для входа в систему. Если требуется неопределенная серия паролей, новое начальное значение может быть выбрано после того, как набор для s исчерпан.

Чтобы получить следующий пароль в серии из предыдущих паролей, нужно найти способ вычисления обратная функция f. Поскольку f был выбран односторонним, это сделать крайне сложно. Если f является криптографической хеш-функцией, что обычно имеет место, предполагается, что это трудноразрешимая с вычислительной точки зрения задача. Злоумышленник, который случайно увидит одноразовый пароль, может иметь доступ на один период времени или войти в систему, но по истечении этого периода он становится бесполезным. Система одноразовых паролей S / KEY и производная от нее OTP основаны на схеме Лампорта.

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

Использование of запрос-ответ одноразовых паролей требует, чтобы пользователь предоставил ответ на запрос. Например, это можно сделать, введя значение, созданное токеном, в сам токен. Чтобы избежать дублирования, обычно используется дополнительный счетчик, поэтому, если один и тот же вызов повторяется дважды, это все равно приводит к разным одноразовым паролям. Однако при вычислении обычно не используется предыдущий одноразовый пароль; то есть обычно используется тот или иной алгоритм, а не оба алгоритма.

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

Способы доставки

Телефоны

Распространенной технологией, используемой для доставки одноразовых паролей, является обмен текстовыми сообщениями. Поскольку обмен текстовыми сообщениями является повсеместным каналом связи, который напрямую доступен почти во всех мобильных телефонах и, благодаря преобразованию текста в речь, на любой мобильный или стационарный телефон, обмен текстовыми сообщениями имеет большой потенциал для охвата всех потребителей с низкой общей стоимостью осуществлять. OTP по обмену текстовыми сообщениями может быть зашифрован с использованием стандарта A5 / x, который, по сообщениям нескольких хакерских групп, может быть успешно расшифрован в течение минут или секунд. Кроме того, недостатки безопасности в протоколе маршрутизации SS7 могут и использовались для перенаправления связанных текстовых сообщений злоумышленникам; в 2017 году несколько клиентов O2 в Германии были взломаны таким образом, чтобы получить доступ к своим счетам мобильного банкинга. В июле 2016 года американский NIST выпустил проект специальной публикации с инструкциями по методам аутентификации, в которых не рекомендуется использовать SMS как метод реализации внеполосной двухфакторной аутентификации из-за возможность перехвата SMS в масштабе. Текстовые сообщения также уязвимы для мошенничества со сменой SIM-карты, когда злоумышленник обманным путем переносит номер телефона жертвы на свою собственную SIM-карту, которую затем можно использовать для получения доступа к отправляемым сообщениям. к нему.

На смартфонах одноразовые пароли также могут быть доставлены напрямую через мобильные приложения, включая специальные приложения для аутентификации, такие как Authy и Google Authenticator. или в существующем приложении службы, например, в случае Steam. Эти системы не имеют тех же уязвимостей безопасности, что и SMS, и не обязательно требуют подключения к мобильной сети для использования.

Собственные токены

RSA SecurID токены безопасности.

RSA Security SecurID является одним из примеров типа токена с синхронизацией времени, наряду с решениями HID Global. Как и все токены, они могут быть потеряны, повреждены или украдены; кроме того, возникает неудобство, поскольку батареи умирают, особенно для жетонов без возможности подзарядки или с незаменяемой батареей. Вариант проприетарного токена был предложен RSA в 2006 году и был описан как «повсеместная аутентификация», при которой RSA будет сотрудничать с производителями для добавления физических чипов SecurID в такие устройства, как мобильные телефоны.

В последнее время стало возможным использовать электронные компоненты, связанные с обычными токенами OTP для брелоков, и встраивать их в форм-фактор кредитной карты. Однако толщина карт от 0,79 мм до 0,84 мм не позволяет использовать стандартные компоненты или батареи. Необходимо использовать специальные батареи на полимерной основе, срок службы которых намного меньше, чем у монетных (кнопочных) элементов. Полупроводниковые компоненты должны быть не только очень плоскими, но и минимизировать энергопотребление в режиме ожидания и при работе.

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

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

Веб-методы

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

Hardcopy otp

Бумажный вход на веб-сайт OTP

В онлайн-банке некоторых стран банк отправляет пользователю нумерованный список одноразовых паролей, который распечатывается на бумаге. Другие банки отправляют пластиковые карты с настоящими одноразовыми паролями, скрытыми слоем, который пользователь должен стереть, чтобы открыть пронумерованный одноразовый пароль. Для каждой онлайн-транзакции пользователь должен ввести определенный OTP из этого списка. Некоторые системы запрашивают пронумерованные OTP последовательно, другие псевдослучайно выбирают OTP для ввода. В Германии и многих других странах, таких как Австрия и Бразилия, эти OTP обычно называются TAN (для «номеров аутентификации транзакций »). Некоторые банки даже отправляют такие TAN на мобильный телефон пользователя через SMS, и в этом случае они называются mTAN (от «мобильных TAN»).

Сравнение технологий

Сравнение реализаций

Самые дешевые решения OTP - это те, которые доставляют OTP на бумаге, и те, которые генерируют OTP на существующем устройстве, без связанных с этим затрат с (повторным) выпуском проприетарных электронных токенов безопасности и SMS сообщений.

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

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

По сравнению с другими методами защиты данных

Одноразовые пароли уязвимы для атак социальной инженерии, в которых фишеры крадут одноразовые пароли, обманывая клиентов, чтобы один или несколько одноразовых паролей, которые они использовали в прошлом. В конце 2005 года клиентов шведского банка обманом заставили отказаться от одноразовых паролей. В 2006 году этот вид атаки был использован против клиентов американского банка. Даже синхронизированные по времени OTP уязвимы для фишинга двумя способами: пароль может быть использован злоумышленником так же быстро, как и законный пользователь, если злоумышленник может достаточно быстро получить OTP в открытом тексте. Другой тип атаки, который может быть отражен системами OTP, реализующими хэш-цепочку как , описанную выше, заключается в том, что фишер использует полученную информацию (прошлые коды OTP, которые больше не являются действительный) с помощью этого метода социальной инженерии, чтобы предсказать, какие коды OTP будут использоваться в будущем. Например, генератор паролей OTP, который является псевдослучайным, а не действительно случайным, может быть или не может быть скомпрометирован, потому что псевдослучайные числа часто предсказуемы, если у кого-то есть прошлые коды OTP. Система OTP может использовать действительно случайные OTP только в том случае, если OTP генерируется аутентификатором и передается (предположительно внеполосно) пользователю; в противном случае OTP должен быть независимо сгенерирован каждой стороной, что требует повторяемого и, следовательно, просто псевдослучайного, алгоритма.

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

Родственные технологии

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

В некоторых решениях единой регистрации используются одноразовые пароли.

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

Стандартизация

Многие технологии OTP запатентованы. Это затрудняет стандартизацию в этой области, поскольку каждая компания пытается продвигать свои собственные технологии. Однако стандарты существуют - например, RFC 1760 (S / KEY ), RFC 2289 (OTP), RFC 4226 (HOTP ) и RFC 6238 (TOTP ).

См. Также
Ссылки
Последняя правка сделана 2021-06-01 11:44:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте