ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

1
Publication date:
24 December 2024

The article was published in issue no. № 4, 2005
Abstract:
Аннотация:
Author: () -
Ключевое слово:
Page views: 12097
Print version
Full issue in PDF (1.18Mb)

Font size:       Font:

Для сетевой аутентификации обычно используется пара имя/пароль. Такой подход можно считать оправданным в случае низких требований к безопасности или при использовании защищенных каналов связи.

В рамках 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-й точки.

Само преобразование:

Подпись:  
Интерфейс системы аутентификации портала (Applet)
,

где к = 0, 1, 2, ... , M – 1; M – количество точек.

Получаем в результате комплексный вектор, по которому можно восстановить (с потерями) исходную подпись: .

Итак, подпись из пространственной области переходит в частотную.

Нулевой компонент (постоянная составляющая) является центром тяжести. Если его отбросить, то получим инвариантность относительно трансляции:

.

Остальные компоненты  образуют последовательность пар: первый с последним, второй с предпоследним и т.д. по возрастанию частоты. Отсчеты в паре – это компоненты разложения по одной и той же частоте, но разными по знаку фазами. Вычисление компонент АЧХ и ФЧХ в общем виде на практике не встречается. Для этой цели используют стандартное упрощение:

, ,

где k = 1, 2, …, .

Дальнейшее рассуждение опирается на предположение о том, что основная информация о подписи содержится в низкочастотных компонентах разложения. Следуя этому предположению, мы автоматически уменьшаем влияние шума (дрожь руки).

Нетрудно догадаться, что поворот подписи аналогичен сдвигу фазы, а изменение масштаба – скачку амплитуды. Следовательно, инвариантность поворота достигается нормированием спектра на фазу первой пары: .

Нормирование на амплитуду первой пары

обеспечивает инвариантность масштаба.

Суммируя сказанное, получаем итоговое преобразование: .

Окончательно вычисляем АЧХ и ФЧХ от , отбрасываем нулевые и первые составляющие (в ходе нормировок они приобрели заранее известные значения) и ВЧ-компоненты (на глаз):

где N

Вектор  характеризует подпись в целом. Его мы будем называть образом.

Для сопоставления обычно используется мера расстояния между образом ввода и зарегистрированным образом:

·     в метрике Хемминга – ,

·     в метрике Евклида – .

Порог должен подбираться экспериментально для различных значений N. Если расстояние превышает установленный порог, то пользователю должен быть предложен повторный ввод (ограниченное число раз).

Желательно проводить сопоставление при помощи RBF (радиальной нейронной сети). Так можно оценить корреляцию ввода со всеми зарегистрированными образами, что позволяет осуществлять, например, более глубокий аудит.

Описанный подход позволяет несколько повысить надежность системы без дополнительных материальных затрат, которые обычно возникают при переходе на защищенные каналы связи.


Permanent link:
http://swsys.ru/index.php?id=496&lang=en&page=article
Print version
Full issue in PDF (1.18Mb)
The article was published in issue no. № 4, 2005

Perhaps, you might be interested in the following articles of similar topics: