Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Аутентификация в распределенных системах, основанная на подписи
Аннотация:
Abstract:
Автор: Александров А.В. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
Количество просмотров: 13915 |
Версия для печати Выпуск в формате PDF (1.18Мб) |
Аутентификация в распределенных системах, основанная на подписи
Статья опубликована в выпуске журнала № 4 за 2005 год.
Для сетевой аутентификации обычно используется пара имя/пароль. Такой подход можно считать оправданным в случае низких требований к безопасности или при использовании защищенных каналов связи. В рамках HTTP передача пары имя/пароль происходит одним из двух способов: с предварительным симметричным шифрованием BASE64 и последующей передачей в стандартном заголовке (базовая аутентификация) или без предварительного шифрования и передачей в POST-запросе. Первый вариант открывает всем желающим необходимую информацию, так как положение этой информации в запросе фиксировано протоколом, а шифрование является условным (в силу «открытости ключа»). Второй вариант немногим сложнее первого. Единственная трудность для злоумышленника – это поиск и разделение пары в теле пользовательского POST-запроса. Возможная последовательность действий злоумышленника: 1) создать свой туннель или прокси для прослеживания запросов; 2) в каждом запросе выделять заголовок «Referrer» и вместе с IP клиента использовать как уникальный идентификатор; 3) при наличии в запросе заголовка «Authenticate» декодировать пару и окончательно вносить запись в БД, иначе анализировать тело запроса по какому-либо словарю. Получить имя/пароль можно и непосредственно на стороне клиента. Любая программа в среде Windows может методом Hookа выбирать из системной очереди событий сообщения от клавиатуры. Эта информация может автоматически фильтроваться и передаваться злоумышленнику. В данной статье предлагается альтернативный способ, основанный на вводе подписи (см. рисунок). Вход в систему строится на одной из стандартных методик с дополнительным вводом подписи: 1. <клиент> Ввод пары имя/пароль, отправка запроса; 2. <сервер> Составление хеш-образа пароля и поиск пары в БД (в БД хранятся только образы); 3. <сервер> При обнаружении – открытие сессии и перенаправление на ввод подписи, иначе перенаправление на регистрацию (идентификатор сессии желательно периодически изменять); 4. <клиент> Ввод подписи, отправка запроса; 5. <сервер> Анализ подписи и сопоставление с информацией о клиенте из БД; 6. <сервер> При совпадении – предоставление определенных прав. Как следствие – целый ряд препятствий: - фильтрация ввода на стороне клиента становится невозможной; - анализ тела запроса серьезно затрудняется, так как запросы с одним и тем же идентификатором (см. выше) имеют различную длину и содержание (количество и расположение точек); - немалым препятствием в этой схеме является еще и то, что проверка подписи идет после открытия сессии в неопределенный момент времени (включение дополнительных прав происходит по воле пользователя). Рассмотрим теоретические вопросы, возникающие на шаге 5 при входе в систему. Чтобы провести сопоставление ввода пользователя, необходимо предварительно применить преобразование, инвариантное относительно трансляции, поворота, масштаба и устойчивое к шуму. Для этой цели хорошо подходит обычное дискретное преобразование Фурье. Представим каждую точку подписи в виде комплексного числа: Само преобразование:
где к = 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 год. |
Статья опубликована в выпуске журнала № 4 за 2005 год.
Возможно, Вас заинтересуют следующие статьи схожих тематик:Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Программное обеспечение интеллектуально-механических мобильных роботов
- Подсистема ПАСПОРТ ВЫЕМОЧНОГО УЧАСТКА в интеллектуальной системе компьютеризации угольных шахт
- Оптимальное размещение модулей при проектировании распределенных тренажерных комплексов
- Паспорт стандартного процесса
- Построение корпоративных хранилищ данных с использованием технологии Informix DataStageXE
Назад, к списку статей