Одноразовые пароли
Одноразовые пароли.
Содержание
1 Общая информация
- Наличие только обычных паролей зачастую недостаточно.
- Рекомендуется использование двуфакторной аутентификации (2FA).
- Более высокий уровень защиты может обеспечить применение одноразового пароля.
2 Создание одноразовые пароли
- Алгоритмы генерации одноразовых паролей
- HOTP — по событию.
- HMAC-based
- RFC4226 https://www.ietf.org/rfc/rfc4226.txt
- Сервер и ОТР токен ведут учет количества процедур аутентификации, проходимых пользователем, а потом, используя в расчетах это число, генерируют пароль.
- Проблему может вызвать несовпадение в подсчетах между сервером и токеном.
- Такая ситуация возможна, например, если пользователь неоднократно нажимает кнопку устройства для генерации паролей и не использует этот пароль в дальнейшем.
- TOTP — по времени.
- Time-based
- RFC6238 https://www.ietf.org/rfc/rfc6238.txt
- При использовании этого алгоритма пароль создаётся, учитывая показания внутренних часов токена.
- ТОТР удобен тем, что время действия пароля ограничено, он не может быть создан заранее или использован после истечения срока.
- OCRA — запрос/ответ.
- Происходит взаимная аутентификация пользователя и сервера.
- В отличие от других алгоритмов, он использует в качестве входных данных случайное значение, выданное сервером.
- HOTP — по событию.
- При использовании TOTP и OCRA алгоритмов формируются временные пароли, которые значительно усложняют процесс взлома.
3 TOTP
- Является улучшением HOTP (HMAC-Based One-Time Password Algorithm).
- В качестве значения счетчика подставляется величина, зависящая от времени.
- Является алгоритмом односторонней аутентификации — сервер удостоверяется в подлинности клиента. Главное отличие TOTP от HOTP — это генерация пароля на основе времени (время является параметром).
- При этом обычно используется не точное указание времени, а текущий интервал с установленными заранее границами (обычно — 30 секунд).
4 Угрозы и риски при использовании one time password
- Пароль перехвачен.
- Человек посередине.
- Хакер, перехватив пароль от его имени авторизуется в системе.
- Чтобы этого избежать, можно включить в 2FA метод подписи данных (CWYS), позволяющий учитывать при аутентификации не только пароль, но и некоторые другие параметры конкретной транзакции.
- Утрата токена.
- Стоит заранее предусмотреть обязательное применение PIN-кода при работе с устройством.
- Попытка подбора PIN-кода.
- Настройка, при которой генератор токенов будет заблокирован при неоднократном вводе неверного PIN.
- Взлом программного токена.
- Хакер может скопировать программу-токен и попытаться найти хранящийся там секретный ключ, используемый для генерирования ОТР.
- Методом защиты является использование PIN-кода как одного из значений при расчёте одноразового пароля.
- Злодей среди своих.
- Злоумышленник и персона, которая занимается выпуском средств two factor autentication — одно и то же лицо.
- Такой человек может создать дубликаты программных средств аутентификации и с их помощью войти в систему под видом легального пользователя.
- Чтобы предотвратить подобное, в процессе активации программного токена должен принимать участие сам пользователь.