Концепция одноразовых паролей в системе аутентификации
Август, 2006
Технология One-Time Password — одно из самых перспективных решений аутентификации при передаче информации по открытым каналам. Одна из серьёзнейших ИБ-угроз — несанкционированный доступ к компьютерным системам: по CSI/FBI Computer Crime and Security Survey 2005, в прошлом году 55% компаний зарегистрировали инциденты НСД к данным, а потери от неавторизованного доступа составили в среднем 303 тыс. долларов — в 6 раз больше, чем в 2004-м. Для России цифры иные, но проблема от этого не исчезает. Надёжность защиты зависит прежде всего от качества аутентификации; в корпоративной локальной сети трудностей нет — рынок предлагает смарт-карты, электронные ключи, биометрию и даже экзотические графические пароли. Иначе обстоит дело при удалённом подключении, например через Интернет.
Подводные камни удалённого доступа
Заголовок раздела «Подводные камни удалённого доступа»В недоверенной среде (вне офиса) пользователь вводит пароль с чужого компьютера (Интернет-кафе) — пароли кэшируются, как и любая вводимая информация, и ими может воспользоваться кто угодно. Распространён сниффинг — перехват сетевых пакетов для выявления интересующей информации: хакер “вынюхивает” пароль и использует его для НСД. Простую парольную защиту испытывает и новое поколение вирусов-шпионов, незаметно попадающих на компьютер при “перелистывании” web-страниц: вирус фильтрует информационные потоки, выявляет похожие на пароли комбинации и пересылает создателю. Аппаратный способ надёжнее в разы, но как воспользоваться смарт-картой или USB-ключом вне офиса? Для первого нужен считыватель, для второго — USB-порт (заблокирован в Интернет-кафе или отсутствует в КПК, телефоне, смартфоне), не говоря уж о необходимости ПО, которое в том же кафе не установить. При этом ситуации удалённого доступа возникают постоянно: электронный банкинг (часть банков уже осознала необходимость аппаратной авторизации с USB-ключом, но воспользоваться им можно далеко не всегда), предоставление доступа партнёрам, клиентам и поставщикам, набирающий обороты аутсорсинг (субподрядчику нужен доступ к защищённым ресурсам заказчика), деловые мероприятия, где под рукой лишь КПК или смартфон. Для мобильных приложений и мест, где невозможно установить специальное ПО, и была разработана концепция одноразовых паролей OTP (One-Time Password).
Одноразовый пароль: ввёл и забыл
Заголовок раздела «Одноразовый пароль: ввёл и забыл»Одноразовый пароль — ключевое слово, действительное только для одного процесса аутентификации в течение ограниченного времени: полностью решается проблема перехвата или подглядывания — даже заполучив пароль “жертвы”, злоумышленник не сможет им воспользоваться. Первые реализации основывались на статичном наборе ключевых слов: клиент банка получал конверт со списком паролей и использовал по одному за доступ, а дойдя до конца — ехал за новым. Решение ненадёжно: список легко потерять, его могут украсть, и он не бесконечен. Сегодня всё изменилось: на Западе OTP-аутентификация — привычное явление, а в России, где руководство начало осознавать многократно растущий при удалённом доступе риск НСД, спрос родил предложение. В современных технологиях применяется динамическая генерация ключевых слов сильными криптографическими алгоритмами: аутентификационные данные — результат шифрования начального значения секретным ключом пользователя; информация есть и у клиента, и у сервера, по сети не передаётся и перехвату недоступна; начальное значение общеизвестно обеим сторонам, ключ создаётся при инициализации пользователя. Существуют системы на симметричной (секретный ключ у обеих сторон) и асимметричной (ключ только у пользователя, у сервера открытый) криптографии.
Реализация
Заголовок раздела «Реализация»Технологии OTP разработаны в рамках отраслевой инициативы Open Authentication (OATH), выдвинутой VeriSign в 2004 году — стандартная спецификация надёжной аутентификации для интернет-сервисов, причём речь о двухфакторном определении прав (предъявить смарт-карту или USB-токен плюс пароль). Методы: “запрос-ответ” (пользователь шлёт логин, сервер — случайную строку, пользователь шифрует её своим ключом и возвращает, сервер шифрует исходную строку найденным ключом и сравнивает; метод асинхронный — не зависит от истории работы с сервером); “только ответ” (ПО или устройство пользователя само генерирует исходные данные с использованием значения предыдущего запроса — сервер делает то же по хранящимся у него данным); “синхронизация по времени” (исходная строка — показания таймера, обычно не точное время, а интервал с границами, например 30 секунд; сервер выполняет те же действия и сравнивает); “синхронизация по событию” (вместо времени — количество успешных аутентификаций, подсчитываемое обеими сторонами). Есть и смешанные методы (счётчики плюс таймеры), позволяющие избежать недостатков отдельных подходов.
Уязвимости. Общие для всех методов: возможность подмены сервера аутентификации — пользователь отправляет данные прямо злоумышленнику, который тут же использует их на настоящем сервере (для “запрос-ответ” атака сложнее — компьютер хакера играет роль “посредника”, и на практике это непросто). Присущие синхронным методам: риск рассинхронизации информации на сервере и у пользователя (разошедшиеся таймеры — все попытки аутентификации неудачны, ошибка первого рода; ложный допуск “чужого” невозможен, вероятность ситуации крайне мала). Отдельные атаки: в синхронизации по времени хакер “прослушивает” трафик, перехватывает логин и одноразовый пароль, тут же блокирует компьютер жертвы и отправляет данные от себя — если успеет до смены интервала, сервер признаёт его пользователем; нужны прослушивание трафика и быстрое блокирование — проще всего при заранее задуманной атаке, когда жертва подключается из чужой локальной сети с заранее “обработанным” ПК; защита — доверенные рабочие машины (свой ноутбук, КПК) и независимые защищённые (SSL) каналы выхода в Интернет.
Качество реализации. Надёжность системы зависит от качества исполнения: некачественная реализация алгоритма или генератора случайных чисел ставит безопасность под угрозу. Программные генераторы менее надёжны — клиентская утилита хранит секретный ключ (безопасно — только шифрованием на персональном пароле) и должна быть установлена на текущем компьютере: аутентификация снова зависит от одного пароля, а способов узнать или подобрать его множество. Аппаратные генераторы надёжнее: “калькуляторы” (ввод присланного сервером набора цифр — на основе вшитого ключа генерируется пароль, метод “запрос-ответ”) уязвимы к утере или краже — если устройство попадёт злоумышленнику, он получит доступ; защита — надёжная защита памяти устройства. Именно это реализовано в смарт-картах и USB-токенах: доступ к памяти по PIN-коду с защитой от подбора (блокировка при трёхкратном неверном вводе), надёжное хранение ключевой информации, аппаратная генерация ключевых пар и выполнение криптооперций в доверенной среде чипа — извлечь секретный ключ и изготовить дубликат невозможно.
Пример реализации OTP
Заголовок раздела «Пример реализации OTP»Самые надёжные генераторы — смарт-карты и USB-токены, причём последние удобнее: применимы на любом ПК или ноутбуке без считывателя. Парадоксально, но существует USB-ключ с OTP, работающий и без USB-порта — eToken NG-OTP от компании Aladdin. Aladdin активно участвует в инициативе OATH, а этот ключ выбран основным компонентом решения VeriSign Unified Authentication (где называется eToken VeriSign) — строгая двухфакторная аутентификация на аппаратном ключе для повышения доверия к интернет-сделкам; такие OEM-поставки подтверждают качество и соответствие спецификациям OATH. Устройства eToken широко распространены в России, их поддерживают Microsoft, Cisco, Oracle, Novell и др. — в “послужном списке” более 200 реализаций с приложениями ИБ.
В основе eToken NG-OTP — популярнейшая модель линейки eToken PRO: полноценный токен на чипе смарт-карты с защищённой памятью для безопасного хранения ключевой информации, профилей и конфиденциальных данных, аппаратного выполнения криптовычислений и работы с асимметричными ключами и сертификатами Х.509. Помимо этих модулей в NG-OTP есть аппаратный генератор одноразовых паролей, работающий по методу “синхронизация по событию” — самой надёжной из синхронных реализаций (минимальный риск рассинхронизации); алгоритм разработан в рамках OATH на технологии HMAC: вычисляется HMAC-SHA-1, из 160-битового значения усечением выделяются 6 цифр — одноразовый пароль. Особенность комбинированного ключа — генерация OTP без подключения к компьютеру: кнопкой на корпусе, результат выводится на встроенный ЖК-дисплей; технология работает на устройствах без USB-портов (смартфоны, КПК, телефоны) и там, где порты заблокированы. Самый надёжный — смешанный режим с подключением к ПК: полноценная двухфакторная аутентификация — либо собственный пароль пользователя плюс значение OTP, либо одноразовый пароль плюс OTP PIN с экрана ключа. Разумеется, eToken NG-OTP работает и как стандартный USB-токен — аутентификация по цифровым сертификатам и PKI, хранение персональных ключей. Продукт целесообразен для широкого спектра проектов безопасного удалённого доступа и 2ФА: ключи-гибриды используются и в офисе, и вне его — подход уменьшает затраты на построение системы ИБ, не снижая надёжности.
Концепция одноразовых паролей с современными криптографическими методами — надёжные системы удалённой аутентификации. Достоинства: надёжность (действительно “сильных” способов аутентификации по открытым каналам разработано немного, а задача возникает всё чаще); “стандартные” криптоалгоритмы — подходят существующие разработки, что доказывает и eToken NG-OTP, совместимый с отечественными криптопровайдерами, — токены применяются в существующих системах корпоративной безопасности без перестройки, с относительно небольшими затратами; низкая зависимость от человеческого фактора (в аппаратных генераторах на USB-токенах — полноценная двухфакторная аутентификация, хотя надёжность программных реализаций зависит от качества PIN); и удобство — доступ с одноразовыми паролями не сложнее статичных ключевых слов, а некоторые аппаратные реализации работают на любых устройствах независимо от портов и установленного ПО.
Это краткая аннотация статьи, полную версию читайте в первоисточнике.
Первоисточник: Byte, август 2006
Эксперт: Редакционный эксперт
