Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Аутентификация в распределенных системах, основанная на подписи
Аннотация:
Abstract:
Автор: Александров А.В. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
Количество просмотров: 10937 |
Версия для печати Выпуск в формате PDF (1.18Мб) |
Для сетевой аутентификации обычно используется пара имя/пароль. Такой подход можно считать оправданным в случае низких требований к безопасности или при использовании защищенных каналов связи. В рамках HTTP передача пары имя/пароль происходит одним из двух способов: с предварительным симметричным шифрованием BASE64 и последующей передачей в стандартном заголовке (базовая аутентификация) или без предварительного шифрования и передачей в POST-запросе. Первый вариант открывает всем желающим необходимую информацию, так как положение этой информации в запросе фиксировано протоколом, а шифрование является условным (в силу «открытости ключа»). Второй вариант немногим сложнее первого. Единственная трудность для злоумышленника – это поиск и разделение пары в теле пользовательского POST-запроса. Возможная последовательность действий злоумышленника: 1) создать свой туннель или прокси для прослеживания запросов; 2) в каждом запросе выделять заголовок «Referrer» и вместе с IP клиента использовать как уникальный идентификатор; 3) при наличии в запросе заголовка «Authenticate» декодировать пару и окончательно вносить запись в БД, иначе анализировать тело запроса по какому-либо словарю. Получить имя/пароль можно и непосредственно на стороне клиента. Любая программа в среде Windows может методом Hookа выбирать из системной очереди событий сообщения от клавиатуры. Эта информация может автоматически фильтроваться и передаваться злоумышленнику. В данной статье предлагается альтернативный способ, основанный на вводе подписи (см. рисунок). Вход в систему строится на одной из стандартных методик с дополнительным вводом подписи: 1. <клиент> Ввод пары имя/пароль, отправка запроса; 2. <сервер> Составление хеш-образа пароля и поиск пары в БД (в БД хранятся только образы); 3. <сервер> При обнаружении – открытие сессии и перенаправление на ввод подписи, иначе перенаправление на регистрацию (идентификатор сессии желательно периодически изменять); 4. <клиент> Ввод подписи, отправка запроса; 5. <сервер> Анализ подписи и сопоставление с информацией о клиенте из БД; 6. <сервер> При совпадении – предоставление определенных прав. Как следствие – целый ряд препятствий: - фильтрация ввода на стороне клиента становится невозможной; - анализ тела запроса серьезно затрудняется, так как запросы с одним и тем же идентификатором (см. выше) имеют различную длину и содержание (количество и расположение точек); - немалым препятствием в этой схеме является еще и то, что проверка подписи идет после открытия сессии в неопределенный момент времени (включение дополнительных прав происходит по воле пользователя). Рассмотрим теоретические вопросы, возникающие на шаге 5 при входе в систему. Чтобы провести сопоставление ввода пользователя, необходимо предварительно применить преобразование, инвариантное относительно трансляции, поворота, масштаба и устойчивое к шуму. Для этой цели хорошо подходит обычное дискретное преобразование Фурье. Представим каждую точку подписи в виде комплексного числа: , где j – мнимая единица; n – номер точки; x(n) и y(n) – координаты n-й точки. Само преобразование: , где к = 0, 1, 2, ... , M – 1; M – количество точек. Получаем в результате комплексный вектор, по которому можно восстановить (с потерями) исходную подпись: . Итак, подпись из пространственной области переходит в частотную. Нулевой компонент (постоянная составляющая) является центром тяжести. Если его отбросить, то получим инвариантность относительно трансляции: . Остальные компоненты образуют последовательность пар: первый с последним, второй с предпоследним и т.д. по возрастанию частоты. Отсчеты в паре – это компоненты разложения по одной и той же частоте, но разными по знаку фазами. Вычисление компонент АЧХ и ФЧХ в общем виде на практике не встречается. Для этой цели используют стандартное упрощение: , , где k = 1, 2, …, . Дальнейшее рассуждение опирается на предположение о том, что основная информация о подписи содержится в низкочастотных компонентах разложения. Следуя этому предположению, мы автоматически уменьшаем влияние шума (дрожь руки). Нетрудно догадаться, что поворот подписи аналогичен сдвигу фазы, а изменение масштаба – скачку амплитуды. Следовательно, инвариантность поворота достигается нормированием спектра на фазу первой пары: . Нормирование на амплитуду первой пары обеспечивает инвариантность масштаба. Суммируя сказанное, получаем итоговое преобразование: . Окончательно вычисляем АЧХ и ФЧХ от , отбрасываем нулевые и первые составляющие (в ходе нормировок они приобрели заранее известные значения) и ВЧ-компоненты (на глаз): где N Вектор характеризует подпись в целом. Его мы будем называть образом. Для сопоставления обычно используется мера расстояния между образом ввода и зарегистрированным образом: · в метрике Хемминга – , · в метрике Евклида – . Порог должен подбираться экспериментально для различных значений N. Если расстояние превышает установленный порог, то пользователю должен быть предложен повторный ввод (ограниченное число раз). Желательно проводить сопоставление при помощи RBF (радиальной нейронной сети). Так можно оценить корреляцию ввода со всеми зарегистрированными образами, что позволяет осуществлять, например, более глубокий аудит. Описанный подход позволяет несколько повысить надежность системы без дополнительных материальных затрат, которые обычно возникают при переходе на защищенные каналы связи. |
Постоянный адрес статьи: http://swsys.ru/index.php?page=article&id=496 |
Версия для печати Выпуск в формате PDF (1.18Мб) |
Статья опубликована в выпуске журнала № 4 за 2005 год. |
Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Сравнение сложных программных систем по критерию функциональной полноты
- О выборе числа процессоров в многопроцессорной вычислительной системе
- Компьютер - хранитель домашнего очага
- Зарубежные базы данных по программным средствам вычислительной техники
- Компьютерная технология проектирования перестраиваемых нерекурсивных фильтров
Назад, к списку статей