Обнаружение вредоносных закладокРефераты >> Программирование и компьютеры >> Обнаружение вредоносных закладок
Таблица 2.3
Объект доступа |
Дополнительный объект |
Y1 |
Y1=E(k1, Кj) |
Y2 |
Y2= E(k2, Кj) |
… |
… |
Yn |
Yn=Е(kn,Кn) |
Алгоритм доступа
1. Пользователь i идентифицируется и аутентифицируется в компьютерной системе. При положительном исходе ключ пользователя Кj доступен субъектам (программам) системы, регулирующим доступ к объектам.
2. Пользователь производит доступ к зашифрованному объекту Yj. Выполняется поиск дополнительного объекта уj. В объекте уj проверяется наличие E(kj, Ki), т.е. ключа доступа к объекту, зашифрованного на ключе пользователя. Если E(kj, Кi) не найден, то доступ пользователя отвергается. Иначе выполняются следующие действия.
3. Производится расшифрование ключа kj = D(yj, Ki), а затем - расшифрование объекта Oj= D(Yj, ki).
Под объектами доступа могут пониматься абоненты распределенной системы (сети связи). В этом случае ключ kj является ключом взаимодействия между пользователем i и абонентом j (это может быть также пользователь, терминал, принтер и т.д.). При рассмотрении сети связи обычно оперируют матрицей ключей, которая в явном виде отображает топологию связей в системе.
3. ПРОГРАММА
3.1.ОПИСАНИЕ ПРОГРАММЫ.
3.1.1 Используемая процедура опознавания.
В программе заложена процедура опознавания с использованием простого пароля. Системой предусмотрено ограниченное количество повторений для ввода пароля. При третьем подряд неправильном вводе идентификационных или аутентификационных данных программа прекращает работу.
В базе эталонных данных системы защиты пароли хранятся в зашифрованной форме. При этом используется шифрование методом гаммирования. В качестве ключа шифрования используется псевдослучайная последовательность битов, полученная с помощью линейного конгуэртного генератора[3].
Этот генератор вырабатывает последовательность псевдослучайных чисел Y1, Y2, …Yi-1, Yi,…, используя соотношение:
Yi=(a*Yi-1+b)mod m,
где Yi-iе (текущее) число последовательности; a-множитель (коэффициент); b-приращение; m-модуль; Y 0-порождающее число (исходное значение).
Данное уравнение генерирует псевдослучайные числа с периодом повторения, который зависит от выбираемых значений параметров a,b,m и может достигать значения m.
3.1.2 Распределение ключей.
Программа позволяет устанавливать до десяти различных идентификаторов пользователей и паролей к ним. Длины идентификатора и пароля совпадают и составляют по десять символов каждый. Что позволяет обеспечить достаточную степень защиты, так как при попытке проникнуть в программу, не зная пароля даже при известном идентификаторе используя метод простого перебора ключей, потребует около 18010 повторений ввода пароля. Это достигается тем, что при выборе ключей допускается использование любых символов обоих регистров клавиатуры за исключением клавиши ‘пробел’.
Пароль администратора является постоянным и не может быть изменен никакими способами кроме внесения изменений в код программы с последующей перекомпиляцией исходных модулей.
3.1.3 Возможности администратора.
Администратор может просматривать и изменять список пользователей программы, а также изменять их идентификаторы и пароли. Он также имеет возможность просматривать и периодически очищать автоматически ведущийся журнал аудита, в который заносится информация какие идентификаторы и пароли используются при попытках входа в программу и результат работы процедуры установления подлинности (разрешен / не разрешен вход).
3.2 АЛГОРИТМ ПРОГРАММЫ.
Укрупненный алгоритм основного модуля программы (‘UNITKURS1.PAS’) приведен на рисунке 3.1
3.2.1 Проверка паролей.
Проверка паролей осуществляется следующим способом: из файла ‘password.txt’ производится чтение таблицы идентификаторов и паролей, затем происходит сверка введенного идентификатора с идентификаторами определенными для различных пользователей. В случае положительного результата претенденту разрешается допуск к приложению.
Файл ‘password.txt’ имеет постоянный размер 350 байт, по 35 байт на каждого пользователя. Его отсутствие в одной директории с исполняемым модулем программы
или другой размер приведет к ошибке во время работы программы.
3.2.2 Запись в журнал аудита.
При каждой попытке входа в автоматически ведущийся журнал аудита делается запись, состоящая из 30 байт:
-первые десять байт это идентификатор, который ввел пользователь;
-следующие десять байт это пароль;
-в последние десять байт заносится информация о результате проверки подлинности.
3.2.3 Администрирование доступа (рис 3.2).
При вводе идентификатора и пароля администратора появляется окно (см. приложение А) в котором отображаются:
-информация о пользователе (например, фамилия);
-идентификатор пользователя;
-пароль пользователя.
Администратор может вносить изменения в таблицу меняя информацию в отдельных ячейках таблицы или стереть всю таблицу целиком.
Рис 3.1
да
нет
да