Одноразовый пароль ( OTP ), также известный как одноразовый PIN-код , одноразовый код доступа , одноразовый код авторизации ( OTAC ) или динамический пароль , — это пароль, который действителен только для одного сеанса входа или транзакции в компьютерной системе или другом цифровом устройстве. OTP позволяют избежать нескольких недостатков, связанных с традиционной (статической) аутентификацией на основе пароля; ряд реализаций также включают двухфакторную аутентификацию , гарантируя, что одноразовый пароль требует доступа к чему-то, что есть у человека (например, к небольшому брелоку-устройству со встроенным в него калькулятором OTP, или к смарт-карте или определенному мобильному телефону), а также к чему-то, что человек знает (например, к PIN-коду).
Алгоритмы генерации OTP обычно используют псевдослучайность или случайность для генерации общего ключа или начального числа и криптографические хэш-функции , которые можно использовать для получения значения, но их трудно обратить вспять, и поэтому злоумышленнику сложно получить данные, которые использовались для хэша. Это необходимо, поскольку в противном случае было бы легко предсказать будущие OTP, наблюдая за предыдущими.
OTP обсуждались как возможная замена, а также как улучшение традиционных паролей. С другой стороны, OTP могут быть перехвачены или перенаправлены, а жесткие токены могут быть утеряны, повреждены или украдены. Многие системы, использующие OTP, не реализуют их безопасно, и злоумышленники все равно могут узнать пароль с помощью фишинговых атак , чтобы выдать себя за авторизованного пользователя. [1]
Самое важное преимущество, на которое направлены OTP, заключается в том, что, в отличие от статических паролей, они не уязвимы для атак с повторным воспроизведением . Это означает, что потенциальный злоумышленник, которому удастся записать OTP, который уже использовался для входа в службу или для проведения транзакции, не сможет его использовать, поскольку он больше не будет действительным. [1] Второе важное преимущество заключается в том, что пользователь, который использует один и тот же (или похожий) пароль для нескольких систем, не становится уязвимым во всех из них, если пароль для одной из них будет получен злоумышленником. Ряд систем OTP также направлены на то, чтобы гарантировать, что сеанс нельзя будет легко перехватить или подделать без знания непредсказуемых данных, созданных во время предыдущего сеанса, тем самым еще больше сокращая поверхность атаки .
Существуют также различные способы информирования пользователя о следующем одноразовом пароле для использования. Некоторые системы используют специальные электронные токены безопасности , которые пользователь носит с собой и которые генерируют одноразовые пароли и показывают их на небольшом дисплее. Другие системы состоят из программного обеспечения, работающего на мобильном телефоне пользователя . Еще одни системы генерируют одноразовые пароли на стороне сервера и отправляют их пользователю с помощью внеполосного канала, такого как SMS -сообщения. Наконец, в некоторых системах одноразовые пароли печатаются на бумаге, которую пользователь должен носить с собой.
В некоторых схемах математических алгоритмов пользователь может предоставить серверу статический ключ для использования в качестве ключа шифрования, отправив только одноразовый пароль. [2]
Конкретные алгоритмы OTP сильно различаются в деталях. Различные подходы к генерации OTP включают:
Синхронизированный по времени OTP обычно связан с частью оборудования, называемого токеном безопасности (например, каждому пользователю выдается персональный токен, который генерирует одноразовый пароль). Он может выглядеть как небольшой калькулятор или брелок для ключей с ЖК-дисплеем, на котором время от времени отображается число. Внутри токена находятся точные часы, синхронизированные с часами на сервере аутентификации . В этих системах OTP время является важной частью алгоритма паролей, поскольку генерация новых паролей основана на текущем времени, а не на предыдущем пароле или секретном ключе или в дополнение к ним . Этот токен может быть фирменным устройством или мобильным телефоном или аналогичным мобильным устройством , на котором работает фирменное, бесплатное или открытое программное обеспечение . Примером стандарта синхронизированного по времени OTP является основанный на времени одноразовый пароль (TOTP). Некоторые приложения могут использоваться для хранения синхронизированного по времени OTP, например Google Authenticator или менеджер паролей .
Каждый новый OTP может быть создан из ранее использованных OTP. Пример такого типа алгоритма, приписываемый Лесли Лэмпорту , использует одностороннюю функцию (назовем ее ). Эта система одноразовых паролей работает следующим образом:
Чтобы получить следующий пароль в серии из предыдущих паролей, нужно найти способ вычисления обратной функции . Поскольку была выбрана односторонней, это сделать крайне сложно. Если является криптографической хэш-функцией , что обычно и бывает, то предполагается, что это вычислительно неразрешимая задача. Злоумышленник, который случайно увидел одноразовый пароль, может получить доступ на один период времени или войти в систему, но он становится бесполезным по истечении этого периода. Система одноразовых паролей S/KEY и ее производный OTP основаны на схеме Лампорта.
Использование одноразовых паролей типа «вызов-ответ» требует от пользователя предоставить ответ на вызов. Например, это можно сделать, введя значение, которое сгенерировал токен, в сам токен. Чтобы избежать дубликатов, обычно используется дополнительный счетчик, поэтому если кто-то получает один и тот же вызов дважды, это все равно приводит к разным одноразовым паролям. Однако вычисление обычно [ необходима цитата ] не включает в себя предыдущий одноразовый пароль; то есть обычно используется этот или другой алгоритм, а не оба алгоритма.
Распространенной технологией, используемой для доставки одноразовых паролей, является текстовое сообщение . Поскольку текстовое сообщение является повсеместным каналом связи, доступным напрямую практически на всех мобильных телефонах и, посредством преобразования текста в речь, на любом мобильном или стационарном телефоне, текстовое сообщение имеет большой потенциал для охвата всех потребителей с низкой общей стоимостью внедрения. Одноразовые пароли в текстовых сообщениях могут быть зашифрованы с использованием стандарта A5/x , который, как сообщают несколько хакерских групп, может быть успешно расшифрован в течение нескольких минут или секунд. [4] [5] [6] [7] Кроме того, недостатки безопасности в протоколе маршрутизации SS7 могут и использовались для перенаправления связанных текстовых сообщений злоумышленникам; в 2017 году несколько клиентов O2 в Германии были взломаны таким образом, чтобы получить доступ к их счетам мобильного банкинга . В июле 2016 года NIST США выпустил проект специальной публикации с руководством по методам аутентификации, в котором не рекомендуется использовать SMS в качестве метода реализации внеполосной двухфакторной аутентификации из-за возможности перехвата SMS в больших масштабах. [8] [9] [10] Текстовые сообщения также уязвимы для мошенничества с подменой SIM-карты , когда злоумышленник обманным путем переносит номер телефона жертвы на свою собственную SIM-карту , которую затем можно использовать для получения доступа к отправляемым на нее сообщениям. [11] [12]
SecurID от RSA Security является одним из примеров типа токена синхронизации времени, наряду с решениями HID Global . Как и все токены, они могут быть утеряны, повреждены или украдены; кроме того, есть неудобство, поскольку батареи разряжаются, особенно для токенов без возможности подзарядки или с несменной батареей. Вариант фирменного токена был предложен RSA в 2006 году и был описан как «повсеместная аутентификация», в рамках которой RSA будет сотрудничать с производителями для добавления физических чипов SecurID в такие устройства, как мобильные телефоны.
Недавно [ когда? ] стало возможным брать электронные компоненты, связанные с обычными брелоками OTP-токенами, и встраивать их в форм-фактор кредитной карты. Однако тонкость карт, толщиной от 0,79 мм до 0,84 мм, не позволяет использовать стандартные компоненты или батареи. Необходимо использовать специальные батареи на основе полимеров , которые имеют гораздо меньший срок службы, чем монетные (кнопочные) элементы . Полупроводниковые компоненты должны быть не только очень плоскими, но и минимизировать мощность, используемую в режиме ожидания и при работе. [ нужна цитата ]
Yubico предлагает небольшой USB-токен со встроенным чипом, который создает одноразовый пароль при нажатии клавиши и имитирует клавиатуру, чтобы облегчить ввод длинного пароля. [13] Поскольку это USB-устройство, оно позволяет избежать неудобств, связанных с заменой батареи.
Разработана новая версия этой технологии, которая встраивает клавиатуру в платежную карту стандартного размера и толщины. Карта имеет встроенную клавиатуру, дисплей, микропроцессор и чип бесконтактного считывания.
На смартфонах одноразовые пароли также могут быть доставлены напрямую через мобильные приложения , включая специальные приложения аутентификации, такие как Authy и Google Authenticator , или в существующем приложении сервиса, например, в случае Steam . Эти системы не имеют тех же уязвимостей безопасности, что и SMS, и не обязательно требуют подключения к мобильной сети для использования. [14] [10] [15]
В некоторых странах в онлайн-банкинге банк отправляет пользователю пронумерованный список OTP, напечатанный на бумаге. Другие банки отправляют пластиковые карты с реальными OTP, скрытыми слоем, который пользователь должен стереть, чтобы увидеть пронумерованный OTP. Для каждой онлайн-транзакции пользователю необходимо ввести определенный OTP из этого списка. Некоторые системы последовательно запрашивают пронумерованные OTP, другие псевдослучайным образом выбирают OTP для ввода.
При правильной реализации одноразовые пароли перестают быть полезными для злоумышленника в течение короткого времени после их первоначального использования. Это отличается от паролей, которые могут оставаться полезными для злоумышленников годы спустя.
Как и пароли, OTP уязвимы для атак социальной инженерии , в которых фишеры крадут OTP, обманывая клиентов, чтобы те предоставили им свои OTP. Также, как и пароли, OTP могут быть уязвимы для атак типа «человек посередине» , поэтому важно передавать их по защищенному каналу, например, Transport Layer Security .
Тот факт, что и пароли, и одноразовые пароли уязвимы для схожих видов атак, стал ключевой мотивацией для создания Universal 2nd Factor , который призван быть более устойчивым к фишинговым атакам.
OTP, которые не включают в себя синхронизацию времени или компонент «вызов-ответ», обязательно будут иметь более длительное окно уязвимости, если они были скомпрометированы до их использования. В конце 2005 года клиенты шведского банка были обмануты, выдав свои заранее предоставленные одноразовые пароли. [16] В 2006 году этот тип атаки был использован против клиентов американского банка. [17]
Многие технологии OTP запатентованы. Это затрудняет стандартизацию в этой области, поскольку каждая компания пытается продвинуть свою собственную технологию. Однако стандарты существуют — например, RFC 1760 ( S/KEY ), RFC 2289 (OTP), RFC 4226 ( HOTP ) и RFC 6238 ( TOTP ).
Мобильный телефон сам по себе может быть ручным маркером аутентификации . [18] Мобильный текстовый обмен сообщениями является одним из способов получения OTAC через мобильный телефон. Таким образом, поставщик услуг отправляет текстовое сообщение, которое включает OTAC, зашифрованный цифровым сертификатом, пользователю для аутентификации. Согласно отчету, мобильный текстовый обмен сообщениями обеспечивает высокую безопасность, когда он использует инфраструктуру открытых ключей (PKI) для обеспечения двунаправленной аутентификации и неотказуемости в соответствии с теоретическим анализом. [19]
SMS как метод получения OTAC широко используется в нашей повседневной жизни для таких целей, как банковское дело, кредитные/дебетовые карты и безопасность. [20] [21] [22]
Существует два способа использования телефона для проверки подлинности пользователя.
При первом методе поставщик услуг показывает OTAC на экране компьютера или смартфона, а затем совершает автоматический телефонный звонок на номер, который уже был аутентифицирован. Затем пользователь вводит OTAC, который появляется на его экране, на клавиатуру телефона. [23]
При использовании второго метода, который используется для аутентификации и активации Microsoft Windows , пользователь звонит по номеру, предоставленному поставщиком услуг, и вводит OTAC, который телефонная система выдает пользователю. [24]
В области компьютерных технологий известно использование одноразового кода авторизации (OTAC) через электронную почту в широком смысле и использование одноразового кода авторизации (OTAC) через веб-приложение в профессиональном смысле.
Можно отправлять OTAC пользователю по почте или заказным письмом . Когда пользователь запрашивает OTAC, поставщик услуг отправляет его по почте или заказным письмом, а затем пользователь может использовать его для аутентификации. Например, в Великобритании некоторые банки отправляют свои OTAC для авторизации интернет-банкинга по почте или заказным письмом . [27]
Квантовая криптография , основанная на принципе неопределенности, является одним из идеальных методов создания OTAC. [28]
Более того, обсуждалось и использовалось не только использование зашифрованного кода для аутентификации, но и использование графической одноразовой аутентификации PIN-кода [29], такой как QR-код , который обеспечивает децентрализованную технику контроля доступа с анонимной аутентификацией. [30] [31]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )