«Аутентификация – первый шаг в защите Web-ресурсов» Максим Чирков, Aladdin Software Security R.D. 17 ноября 2009 г. w w w. a l a d d i n. r u 1 Содержание • • • • Аутентификация. Основные понятия и определения. Классы атак на Web-ресурсы Методы аутентификации и применимость их в Web-приложениях Совместное решение eToken PASS - 1C-Битрикс w w w. a l a d d i n. r u 2 Aladdin сегодня • 14 лет работы на российском рынке • Основные направления деятельности: • • • • • • HASP, eSafe, eToken & Solution Собственный отдел R&D Сертифицированные специалисты Лицензии Гостехкомиссии РФ (ФСТЭК), ФСБ, Минэкономразвития РФ Сертифицированные продукты Партнерская сеть на территории России, представительства в Украине и Казахстане Партнеры w w w. a l a d d i n. r u 3 Аутентификация. Основные понятия и определения Процесс регистрации пользователя в системе состоит из трёх взаимосвязанных, последовательно выполняемых процедур: идентификации, аутентификации и авторизации. • Идентификатор пользователя – число или строка • • • символов. Идентификация – это процедура распознавания пользователя по его идентификатору. Аутентификация – процедура доказательства того, что пользователь на самом деле является тем, за кого он себя выдает. Авторизация – процедура предоставления пользователю определенных прав доступа к ресурсам системы. w w w. a l a d d i n. r u 4 Процессы управления и контроль • Администрирование – процесс управления доступом субъектов к ресурсам системы: – создание идентификатора субъекта в системе; – управление данными субъекта, используемыми для его аутентификации; – управление правами доступа субъекта к ресурсам системы; • Аудит – контролирование доступа субъектов к ресурсам системы w w w. a l a d d i n. r u 5 Важность аутентификации • Необходимо убедиться в том, что пользователь • • является тем, за кого он себя выдает. Необходимо убедиться в том, что устройство на другой стороне канала является «своим». Бессмысленно организовывать защищенный канал связи, если неизвестно кто находится с другой стороны канала. w w w. a l a d d i n. r u 6 Факторы для аутентификации Четыре фактора: • Иметь нечто (дискету, токен,...) • Знать нечто (пароль, логин,...) • Обладать некой биологической особенностью • (отпечаток пальца, структура ДНК,...) Находиться в определённом месте (IP-адрес, данные от радио-метки) #e3Gr3!$FR знает нечто имеет нечто обладает набором индивидуальных черт находится в определённом месте w w w. a l a d d i n. r u IP-адрес, данные от радио-метки 7 Классы атак на Web-приложения 1) Аутентификация (Authentication) – 1.1 Подбор (Brute Force) – 1.2 Недостаточная аутентификация (Insufficient Authentication) – 1.3 Небезопасное восстановление паролей (Weak Password Recovery Validation) – 1.4 Перехват аутентификационных данных – и т.д. 2) Авторизация (Authorization) 3) Атаки на клиентов (Client-side Attacks) 4) Выполнение кода (Command Execution) 5) Разглашение информации (Information Disclosure) 6) Логические атаки (Logical Attacks) w w w. a l a d d i n. r u Основные методы аутентификации • Пароль • Биометрия • Инфраструктура открытых ключей • Одноразовый пароль w w w. a l a d d i n. r u Парольная аутентификация Проверка учетных данных User1 P@ssw0rd – Открытый пароль User1, P@ssw0rd ` БД аутентификации User1 P@ssw0rd Аутентификационный сервер Проверка значения хешированного пароля пользователя – Хэш User1, P@ssw0rd ` БД аутентификации Аутентификационный сервер Хэш функция User1 P@ssw0rd N4a$@2Fk w w w. a l a d d i n. r u 10 Преимущества и недостатки парольной аутентификации + Низкая стоимость полнофункциональной конфигурации. + Низкая стоимость «одного рабочего места». + Нет необходимости в развертывании дополнительных структур (PKI). – – – – – – – – – – – – Кража парольного файла Атака со словарем Угадывание пароля Социотехника Принуждение Подглядывание Троянский конь Трассировка памяти Отслеживание нажатия клавиш Регистрация излучения Анализ сетевого трафика Атака на «Золотой пароль» w w w. a l a d d i n. r u 11 Аутентификация с использованием биометрических характеристик • Физиологические биометрические характеристики: – радужная оболочка глаза; – отпечаток пальца; – лицо; – кисть; – сетчатка. • Поведенческие биометрические характеристики: – голос; – подпись. w w w. a l a d d i n. r u 12 Аутентификация с использованием открытого ключа • Открытый ключ и закрытый ключ. • Закрытый ключ защищен. Общий ключ распространяется свободно. • Если закрытый ключ используется для зашифрования данных, то открытый для расшифрование и наоборот. w w w. a l a d d i n. r u 13 Где хранить закрытый ключ? • • • w w w. a l a d d i n. r u Реестр Незащищенные носители Смарт-карта, USB-ключ 14 Генерирование ключевой пары вне устройства w w w. a l a d d i n. r u 15 Генерирование ключевой с использованием устройства w w w. a l a d d i n. r u 16 Определение и назначение eToken • eToken – персональное средство аутентификации и хранения данных, аппаратно поддерживающее работу с цифровыми сертификатами и электронной цифровой подписью (ЭЦП). • Двухфакторная аутентификация пользователей при доступе к защищенным ресурсам - компьютерам, сетям, приложениям (знать – PIN-код, иметь – смарт-карту) • Аппаратное выполнение криптографических операций в доверенной среде (в чипе смарт-карты: аппаратный датчик случайных чисел, генерация ключей шифрования, симметричное и асимметричное шифрование, вычисление хэш-функций, формирование ЭЦП) • Смарт-карты – важный компонент инфраструктуры PKI • Безопасное хранение криптографических ключей, данных пользователей, настроек приложений и др. • Аутентификация в унаследованных (не PKI) приложениях • Решение проблемы «слабых» паролей • Мобильное хранение данных w w w. a l a d d i n. r u 17 Недостатки процедур аутентификации с использованием открытых ключей. Возможные атаки • • • • • • • • • • Факторизация RSA-ключа Атака по известным сообщениям Подделка открытого ключа Атака «Человек посередине» Фиктивное имя в сертификате Фиктивный центр выдачи сертификатов Использование личного ключа Взлом паролевой фразы личного ключа Активная разведка личного ключа Кража резервной копии личного ключа w w w. a l a d d i n. r u 18 Аутентификация при Web-доступе • • Парольная аутентификация, использующая запоминаемые (многоразовые) пароли – НЕДОСТАТОЧНА! – Недоверенная среда передачи данных – возможен перехват всего сетевого обмена • Извлечение данных для их повторного использования • Off-line анализ трафика аутентификации с целью восстановления пароля – Недоверенные устройства доступа • Чужие компьютеры – Проблема аутентификации удаленного сервера • Фишинг – Человеческий фактор – Spyware, keyloggers и др. Основные пути решения проблемы – PKI-технологии (закрытые ключи + сертификаты) – Одноразовые пароли w w w. a l a d d i n. r u Что такое одноразовые пароли? • • w w w. a l a d d i n. r u Идея – Использование различных паролей при каждом новом запросе на предоставление доступа Одноразовый пароль (OTP) – Имеет ограниченное время действия – Может быть использован только один раз – Может передаваться по сети в открытом виде 20 Когда нужны одноразовые пароли? 1. Аутентификация с устройств без возможности подключения смарт-карт / USB-ключей – КПК, смартфоны и др. 2. Аутентификация со временных рабочих мест – Нет возможности устанавливать ПО – Неконтролируемая среда 3. Аутентификация при удаленном доступе через незащищенные каналы связи – Перехват аутентификационной информации 4. Аутентификация по голосовому каналу – Удаленное управление банковским счетом w w w. a l a d d i n. r u 21 Как реализовать? 1. Использовать общий список предварительно сгенерированных паролей – Пример: S/Key – Распределение: «закрытый конверт» или скретч-карта – Недостатки: предопределенное число OTP, трудность обеспечения конфиденциальности данных, невозможна проверка подлинности сервера 2. Вычислять значение OTP на стороне клиента и проверять его на стороне сервера w w w. a l a d d i n. r u Режимы аутентификации с использованием OTP • Клиент и сервер имеют разделяемый «секрет» • В процессе аутентификации клиент «доказывает» обладание «секретом», не разглашая его • Криптографические алгоритмы – Функции хэширования – Симметричные алгоритмы – Асимметричные алгоритмы Асинхронный режим • Запрос-ответ w w w. a l a d d i n. r u Синхронный режим • Только отзыв • Синхронизация по времени • Синхронизация по событию Как и где вычислить ОТР? • Два основных вопроса 1. Где храненить «секрет» на стороне клиента 2. Как вычислить OTP на стороне клиента • Вычисление OTP на PC, КПК, смартфоне … – «Секрет» хранится в памяти устройства – А ваш компьютер является доверенной средой? – Что будет, если его потерять? • • Аппаратные токены 1. Доверенная среда для хранения «секрета» 2. Доверенная среда для вычисления OTP Варианты реализации аппаратных токенов – Автономные токены – Комбинированные ключи – Калькуляторы w w w. a l a d d i n. r u eToken PASS • Только генератор одноразовых паролей – Инициатива OATH, RFC 4226 – Счётчик генераций (синхронизация по событию) • Оптимальное решение для пользователей, которым нужен доступ только с мобильных устройств (не требуется функционал смарткарты и возможности USB-ключа) w w w. a l a d d i n. r u 1. Генерация OTP • Генерация OTP выполняется при каждом нажатии на кнопку – Увеличивается значение счётчика генераций – Вычисляется OTP • OTP отображается на ЖК-дисплее в течение 20 секунд w w w. a l a d d i n. r u 2. Ввод регистрационного имени и OTP • • Второй фактор – OTP PIN Одноразовый пароль = OTP PIN + OTP Имя: Ivan_Petrov Пароль: P@ssw0rd 513618 w w w. a l a d d i n. r u Синхронизация OTP Пользователь Секретный ключ Счётчик генераций Случайные нажатия, рассинхронизация Попытка аутентификации Сервер аутентификации Секретный ключ Счётчик генераций Регистрация ключа 1. 1. 2. 2. 3. 3. 4. 4. 5. 5. 6. 6. Окно синхронизации w w w. a l a d d i n. r u OTP = OATH (shared OTP secret, = OATH2)(shared secret, 3) OTP = OATH (shared secret, 4) X OTP = OATH (shared secret, 6) Компоненты совместного решения • Модуль «Проактивная защита» – «1С-Битрикс: Корпоративный портал» 8.0 – «1С-Битрикс: Управление сайтом» 8.0 – Обновление для пользователей предыдущих версий продуктов – Установка через стандартный механизм установки модулей 1С-Битрикс • Токен eToken PASS – По каналам дистрибуции 1С-Битрикс – По каналам дистрибуции Aladdin w w w. a l a d d i n. r u Конфигурация и настройка OTP-аутентификации • • • w w w. a l a d d i n. r u Включение использования одноразовых паролей Параметры настройки Выдача устройства пользователю Включение OTP-аутентификации w w w. a l a d d i n. r u Параметры настройки w w w. a l a d d i n. r u Выдача устройства пользователю w w w. a l a d d i n. r u Типовые сценарии использования одноразовых паролей • • • w w w. a l a d d i n. r u Регистрация пользователя Регистрация администратора Отработка сценария «рассинхронизация OTP» Синхронизация OTP w w w. a l a d d i n. r u Сертификат совместимости w w w. a l a d d i n. r u 36 Перспективы развития • Реализация аутентификации с использованием USBключей и смарт-карт. w w w. a l a d d i n. r u Комбинированные ключи – универсальное решение Функционал смарт-карты • PKI • ЭЦП, шифрование Ноутбук PDA • SSL Смартфон Корпоративный ПК Одноразовый пароль для КПК и компьютеров без USB-портов Терминал w w w. a l a d d i n. r u Карманный ПК 38 Конкурирующие решения На сегодняшний день на рынке не представлено коробочных решений для разработки и управления webресурсами с реализованной функцией защиты передаваемых аутентификационных данных пользователей с использованием автономных устройств! w w w. a l a d d i n. r u Спасибо за внимание! m.chirkov@aladdin.ru www.aladdin.ru w w w. a l a d d i n. r u 40