Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции 2022 / Lecture7.doc
Скачиваний:
9
Добавлен:
21.08.2022
Размер:
75.26 Кб
Скачать

7.2. Статическая, устойчивая и постоянная аутентификация

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

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

Варианты:

  • пользователю выдается список из N паролей, которые хранятся в памяти компьютера в зашифрованном виде; после использования пароль стирается из памяти и вычеркивается из списка, так что перехват пароля теряет смысл;

  • пароль на основе выборки символов; например, общая длина пароля – 100 символов, при этом пользователь вводит из пароля отдельные символы, позиции которых задаются с помощью генератора псевдослучайных чисел; пароль при этом следует менять достаточно часто, поскольку постороннее лицо может, в конце концов, составить пароль из отдельных символов;

  • использование метода «запрос – ответ»; пользователь должен дать правильные ответы на набор вопросов, хранящийся в памяти компьютера;

  • пароль на основе персонального физического ключа;

  • в памяти компьютера хранится таблица паролей, где они записаны как в зашифрованном, так и в открытом видах;

  • лицам, допущенным к работе в системе, выдается карточка, на которую занесена информация, управляющая процессом шифрования;

  • пользователь должен вставить карточку в считывающее устройство и ввести свой пароль в открытом виде;

  • введенный пароль кодируется с использованием информации, записанной на карточке, и ищется соответствующая точка входа в таблицу паролей;

  • если закодированный пароль соответствует хранящемуся эталону, подлинность пользователя считается установленной.

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

7.3. Протоколы (схемы) идентификации и аутентификации пользователя

Рассмотрим типовые протоколы и структуры данных идентификации и аутентификации пользователя.

Допустим, что в компьютерной системе зарегистрировано n пользователей. Пусть i-й объект, идентифицирующий i-го пользователя, содержит два информационных поля:

IDi – неизменный идентификатор i-го пользователя, который является аналогом имени и используется для идентификации;

Ki – аутентифицирующая информация, которая может изменятся (например, пароль Pi=Ki). Очевидно, описанная структура должна быть защищена (зашифрована).

Схема1

В компьютерной системе выделяется объект, называемый эталоном, структура которого может быть такой, как показано в таблице.

Номер пользователя

Идентификация

Аутентификация

1

ID1

E1

2

ID2

E2

n

IDn

En

Ei=F(IDi, Ki), где F – функция, которая обеспечивает шифрование значения Ei исходя из значений IDi и Ki. Причем вычислить значение Ki, зная значения Ei и IDi очень сложно. Сложность определения Ki, по значениям Ei и IDi оценивается пороговой трудоемкостью T0, вероятность совпадения Ei и Ej (зашифрованных значений) полученных на разных ключах Ki и Kj также оценивается пороговым значением P0. Для типичных криптосистем задают T0 = 1020…1030, P0 = 10-7…10-9.

  1. Пользователь предъявляет ID.

  2. Если ID  IDi, то идентификация отвергается. Иначе i-й пользователь прошел идентификацию.

  3. При выполнении п.2 система запрашивает аутентификатор K (пароль).

  4. После предъявления K вычисляется значение Y=F(IDi, Ki).

  5. При Y=Ei аутентификация прошла успешно. В противном случае пользователь не допускается к работе.

Схема2

Данная схема обладает лучшими характеристиками.

Номер пользователя

Идентификация

Аутентификация

1

ID1, S1

E1

2

ID2, S2

E2

n

IDn, Sn

En

Ei=F(Si, Ki), Si – случайный вектор, который временно создается (вычисляется) на основе IDi. F – Функция, аналогичная рассмотренной выше.

  1. Пользователь предъявляет ID.

  2. Если ID  IDi, то идентификация отвергается. Иначе i-й пользователь прошел идентификацию.

  3. При выполнении п.2 система вычисляет Si.

  4. Запрашивается аутентификатор K (пароль).

  5. После предъявления K вычисляется значение Y=F(Si, Ki).

  6. При Y=Ei аутентификация прошла успешно. В противном случае пользователь не допускается к работе.

Описанный алгоритм используется в системе UNIX. В качестве ID используется имя пользователя, в качестве K – пароль, F – алгоритм шифрования DES.

7.4. Хэш-функция

Большинство функций современных КС реализованы в виде программ, поддержание целостности которых при запуске системы и, особенно, в процессе функционирования, является трудной задачей. Значительное число пользователей в той или иной степени обладают познаниями в программировании, осведомлены об ошибках в построении операционных систем. Поэтому существует достаточно высокая вероятность применения ими имеющихся знаний для атак на программное обеспечение.

Проверка целостности одних программ при помощи других не является надежной. Необходимо четко представлять, каким образом обеспечивается целостность собственно программы проверки целостности. Если обе программы находятся на одних и тех же носителях, доверять результатом такой проверки нельзя. В связи с этим к программным системам защиты от несанкционированного доступа следует относиться с особой осторожностью.

На практике для проверки целостности программного алгоритма проверки целостности применяют устройство сравнения хэш-функций. Работа такого устройства напоминает работу программы проверки подлинности цифровой подписи, т. е. такое устройство представляет собой цифровой компаратор и специализированный сумматор, реализованные в виде микросхем. Рассмотрим в качестве примера реализацию хэш-функции, следуя отечественному стандарту.

Российский стандарт ГОСТР 34.11-94 определяет алгоритм и процедуру вычисления хэш-функции для любых последовательностей двоичных символов, применяемых в криптографических методах обработки и защиты информации. Этот стандарт базируется на блочном алгоритме шифрования ГОСТ 28147-89, хотя в принципе можно было бы использовать и другой блочный алгоритм шифрования с 64-битовым блоком и 256-битовым ключом.

Данная хэш-функция формирует 256-битовое хэш – значение.

Определим функцию сжатия Hi=f(Mi,Hi-1). Здесь: Mi – 256-битовое число, очередной блок шифруемых данных, Hi-1 – значение функции сжатия на предыдущем шаге.

Функция сжатия должна быть определена так, чтобы любое изменение в последовательности входных данных Mi вызывало однозначное изменение значения функции с очень большой вероятностью. Аппаратный аналог функции сжатия – сигнатурный анализатор цифровых сигналов.

Итак, функция сжатия определяется следующим образом:

1. Генерируются 4 ключа шифрования Kj, J=1...4, путем линейного смешивания (умножения) Mj, Hi-1 и некоторых констант Cj.

2. Каждый ключ Kj используют для шифрования 64-битовых подслов hi слова Hi-1 в режиме простой замены: Sj=Ekj(hj). Результирующая последовательность S4,S3,S2,S1 длиной 256 бит запоминается во временной переменной S.

3. Вычисляется сложная линейная функция смешивания от S, Mi и Hi-1, которая и является значением функции сжатия Hi.

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

При вычислении окончательного хэш – значения данных M={M1..Mn} учитываются значения трех связанных между собой переменных:

Hn – хэш – значение последнего блока данных;

Z – значение контрольной суммы, получаемой при сложении по модулю 2 всех блоков данных;

L – длина данных.

Эти три переменные и дополненный до 256 бит последний блок данных M' объединяются в окончательное хэш – значение следующим образом:

H=f(ZM',f(L,f(M',Hn))) .

Все указанные функции реализованы в отечественной ИМС серии «Блюминг».

Аппаратная защита целостности программного обеспечения обеспечивает безопасность использования наиболее важных программ (ведущих программ загрузки ОС) с заданной криптостойкостью, определяемой алгоритмом хеширования.

Соседние файлы в папке лекции 2022