- •Понятие информационной безопасности
- •Основные определения и классификация угроз
- •Классификация сетевых атак
- •Пассивная атака
- •Активная атака
- •Определение проблематики иб
- •Законодательный, административный и процедурный уровни
- •Оранжевая книга
- •Обзор российского законодательства в области иб
- •Стандарты информационной безопасности
- •Административные меры информационной безопасности
- •Процедурный уровень информационной безопасности
- •Программно-технические меры
- •Криптография Основные понятия
- •Структура алгоритма симметричного шифрования
- •Сеть Фейштеля
- •Раунд сети Фейштеля
- •Алгоритм des
- •Описание раунда des
- •Алгоритм тройной des
- •Алгоритм гост 28147
- •Описание раунда гост 28147
- •Основные требования к алгоритмам асимметричного шифрования
- •Шифрование с открытым ключом
- •Создание и проверка подписи
- •Алгоритм rsa
- •Алгоритм обмена ключа Диффи-Хеллмана
- •Хэш-функции
- •Хэш-функция md5
- •Хэш-функция sha-1
- •Хэш-функции sha-2
- •Хэш-функция гост 3411
- •Требования к цифровой подписи
- •Прямая и арбитражная цифровые подписи
- •Стандарт цифровой подписи dss
- •Отечественный стандарт цифровой подписи гост 3410
- •Идентификация и аутентификация
- •Эволюция механизмов аутентификации
- •Аутентификация на основе паролей
- •Механизмы одноразовой аутентификации
- •Аутентификация "запрос-ответ"
- •Неявный запрос на базе времени
- •Аутентификация с использованием хэш-функции
- •Аутентификация Kerberos
- •Получение пользователем билета tgt на билеты
- •Получение пользователем билета на доступ к серверу
- •Аутентификация пользователя сервером
- •Аутентификация сервера пользователем
- •Аутентификация при помощи сертификатов
- •Взаимная аутентификация на базе сертификатов
- •Удостоверяющий центр
- •Экранирование
- •Межсетевые экраны прикладного уровня
- •Межсетевые экраны с пакетной фильтрацией
- •Системы за пределами межсетевого экрана
- •Построение набора правил межсетевого экрана
- •Виртуальные частные сети
- •Операционная система FreeBsd
- •Интернет шлюз на FreeBsd
- •Прокси-сервер squid
- •Пример реализации настроек squid
- •Понятие компьютерного вируса
- •Классификация компьютерных вирусов
- •Операционная система
- •Загрузочные вирусы
- •Файловые вирусы
- •Полиморфные вирусы
- •Классификация антивирусных программ
- •Антивирусные программы
- •Принципы работы антивирусных программ
- •Сканирование
- •Эвристический анализ
- •Обнаружение изменений
- •Резидентные мониторы
- •Основные меры по защите от вирусов
- •Библиография
Аутентификация "запрос-ответ"
Сервер генерирует случайный запрос и отправляет его пользователю А. Пользователь А шифрует запрос при помощи ключа, известного только ему самому и серверу. Сервер выполняет такое же шифрование и сравнивает результат с шифртекстом, полученным от пользователя А. Если они совпадают, то аутентификация прошла успешно, в противном случае - неудачно.
Поскольку запрос генерируется случайным образом, пользователь С не может повторно использовать шифртекст, сгенерированный пользователем А, чтобы выдавать себя за него. Значение, которое отправляет пользователь А, аутентифицирует его идентичность только один раз. Перехват информации больше не является угрозой, и пользователь А может выполнять аутентификацию на удаленном сервере в открытой сети.
Рис.11. Аутентификация "запрос-ответ"
Неявный запрос на базе времени
Пользователь А шифрует значение текущего времени на часах своего компьютера и отправляет свое имя и шифртекст на сервер. Сервер расшифровывает значение, присланное пользователем А. Если оно достаточно близко к значению текущего времени на компьютерных часах сервера, то аутентификация проходит успешно, в противном случае - неудачно. Поскольку компьютерные часы пользователя А и сервера не синхронизированы и передача информации занимает некоторое время, сервер должен допускать несколько возможных значений времени.
Если сервер признает допустимым слишком большой разброс значений времени, то пользователь С может перехватить значение, сгенерированное пользователем А, и отправить его на сервер, с успехом выдавая себя за А. Эта атака называется атакой воспроизведения. Пользователь С не знает секретного ключа шифрования пользователя А, но, быстро передавая воспроизведенный шифртекст, может имитировать повторное обращение пользователя А к серверу.
Рис.12. Аутентификация на базе времени
Аутентификация с использованием хэш-функции
Для решения проблем аутентификации, связанных с неявными запросами, было предложено использовать одноразовые пароли, генерируемые при помощи односторонней хэш-функции. Эта идея нашла воплощение в системе одноразовых паролей S/Key One-Time Password System. Система S/Key, применяя одностороннюю хэш-функцию, генерирует последовательность одноразовых паролей. Начальное значение хэш-кода вычисляется путем хэширования секретного пароля пользователя, который сцеплен с несекретным случайным числом, выработанным генератором случайных чисел. Секретный пароль должен иметь длину не менее 8 символов. Последовательность одноразовых паролей формируется в результате многократного применения секретной хэш-функции (от 500 до 1000). То есть первый одноразовый пароль генерируется путем применения хэш-функции к секретному паролю пользователя определенное количество раз (N), следующий одноразовый пароль - путем применения хэш-функции к секретному паролю пользователя только (N - 1) раз и т.д.
Субъект, получивший одноразовый пароль путем прослушивания сети, не в состоянии сгенерировать следующий пароль, так как для этого требуется просчитать хэш-функцию в обратном направлении. Это не может быть сделано без знания секретного пароля, с которого начинались итерации. Поскольку в системе S/Key секретный пароль пользователя никогда не передается по сети и не хранится ни сервером, ни клиентом, риск хищения отсутствует.
Сервер генерирует отклик после получения от клиента login-запроса. Отклик сервера содержит номер итерации и случайное число. В ответ пользователь генерирует соответствующий одноразовый пароль, используя комбинацию своего секретного пароля, номера итерации и случайного числа, и отправляет его серверу. Первый одноразовый пароль из списка итераций сохраняется на шаге инициализации.
После успешной аутентификации пользователь получает доступ к серверу, но при следующей попытке аутентификации он должен генерировать новый одноразовый пароль. Использование случайных чисел, создаваемых генератором случайных чисел, позволяет клиенту выполнять аутентификацию на многих серверах при помощи одного секретного пароля, при этом каждому серверу соответствует свое случайное число. Кроме того, выбирая каждый раз новое случайное число, пользователь имеет возможность безопасно использовать секретный пароль много раз.
Обратная процедура, то есть получение из предыдущего пароля следующего пароля невозможна без знания начального одноразового пароля пользователя. Таким образом, ни серверу, ни клиенту нет необходимости хранить секретный пароль пользователя. На сервере в файле паролей сохраняется только копия последнего одноразового пароля, которого достаточно для аутентификации пользователя при следующей попытке. Секретный пароль известен только самому пользователю.
Так как количество итераций вычисления хэш-функции, выполняемого пользователем, уменьшается каждый раз на единицу, при обнулении счетчика итераций пользователь для доступа к серверу должен повторно инициализировать систему. Повторная инициализация сопровождается изменением номера итерации и случайного числа. Это операция идентична нормальной аутентификации, за исключением того, что одноразовый пароль, полученный по сети, не сверяется с существующей записью в файле паролей, а просто заменяет ее. Это позволяет безопасно выбирать новый пароль даже при прослушивании сети.