Реферат: Обнаружение вредоносных закладок

--PAGE_BREAK--
2 ТИПОВЫЕ РЕШЕНИЯ В ОРГАНИЗАЦИИ КЛЮЧЕВЫХ СИСТЕМ

Рассмотрим структуры данных и алгоритмы идентификации и аутен­тификации на основе ключевой информации, а также иерархию хранения ключей.

Поскольку предполагается выполнение процедур как идентификации, так и аутентификации, допустим, что i-й аутентифицирующий объект (i-й ключевой носитель) содержит два информационных поля: IDi— неизме­няемый идентификатор i-го пользователя который является аналогом имени и используется для идентификации пользователя, и К, — аутентифицирующая информация пользователя, которая может изменяться и служит для аутентификации[1].

На самом деле IDiможет соответствовать разным пользователям, например носитель сенсорной памяти TouchMemoryсодержит 8 байт не­изменяемого идентификатора носителя, но при этом ТМ может быть пе­редан разным пользователям.

Совокупную информацию в ключевом носителе будем называть пер­вичной аутентифицирующей информацией i-roпользователя. Описанная структура соответствует практически любому ключевому носителю, слу­жащему для опознания пользователя. Например, ТМ имеет 8 байт, не пе­резаписываемого неповторяющегося серийного номера, который одно­значно характеризует конкретное ТМ, и некоторый объем перезаписывае­мой памяти, соответствующий аутентифицирующей информации Kj. Аналогично для носителей типа пластиковых карт выделяется неизме­няемая информация IDiпервичной персонализации пользователя и объ­ект в файловой структуре карты, содержащий Ki.

Очевидно, что внутренний аутентифицирующий объект не должен
существовать в компьютерной системе длительное время (больше време­ни работы конкретного пользователя). Далее, для постоянного хранения
необходимо использовать некую информацию, преобразованную из пер­вичной. Рассмотрим типовые схемы аутентификации[1].

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

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

Информация для

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

Информация для

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

1

ID1

E1

2

ID2

E2







n

IDn

En



В табл. 2.1. Ei= F(IDi, Кi), где F— функция, для которой можно качест­венно описать свойство «невосстановимости» Kiпо Еiи IDi.

«Невосстановимость» Kiописывается некоторой пороговой трудоем­костью Тoрешения задачи восстановления аутентифицирующей инфор­мации по Eiи IDi, ниже которой не должна опускаться ни одна оценка тру­доемкости нахождения Kiдля всех известных алгоритмов решения данной задачи.

Кроме того, для пары Kiи Kjвозможно совпадение соответствующих значений Е. В связи с этим вводится вероятность ложной аутентификации пользователя Рла, которая вычисляется как условная вероятность события «совпадение Еiи Ejпри условии нетождественности К: и Kj». Эта вероят­ность не должна быть больше некоторого предельного значения Р0. На практике задают То = 1020...1030, Р0= 10-7…10-9

Алгоритм идентификации и аутентификации (схема 1)

1. Пользователь предъявляет свой идентификатор (имя) ID.

2. Если IDне совпадает ни с одним IDi, зарегистрированным в ком­пьютерной системе, то идентификация отвергается — пользователь не допущен к работе, иначе (существует IDi=ID) устанавливается факт «пользователь, назвавшийся пользователем i, прошел идентификацию».

3. Субъект аутентификации запрашивает у пользователя аутентификатор К.

4. Субъект аутентификации вычисляет Y=F(IDi, К).

5. Субъект аутентификации производит сравнение Eiи Y. При совпа­дении фиксируется событие «пользователь успешно аутентифицирован в системе», информация о пользователе передается в программные моду­ли, использующие ключи пользователей (система шифрования, разграни­чения доступа и т.д.), в противном случае аутентификация отвергается — пользователь не допущен к работе.

Данная схема может быть модифицирована.

Схема 2. В компьютерной системе выделяется объект-эталон, струк­тура которого показана в табл. 2.2 (положим, как и в схеме 1, что в систе­ме зарегистрировано nпользователей). В таблице Е, = F(Si, Ki), где Si-случайный вектор, заданный при создании пользователя (т.е. при созда­нии строки, необходимой для идентификации и аутентификации пользова­теля); F— функция, для которой можно качественно описать свойство «не­восстановимость» К по Eiи Si. «Невосстановимость» Кi, понимается в том же смысле, как и для схемы 1.



Таблица 2.2

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

Информация для

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

Информация для

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

1

ID1,S1

E1

2

ID2,S2

E2







n

IDn,Sn

En



Алгоритм идентификации и аутентификации (схема 2)


 1. Пользователь предъявляет свой идентификатор (имя) ID.

2. Если IDне совпадает ни с одним IDi, зарегистрированным в ком­пьютерной системе, то идентификация отвергается — пользователь не допущен к работе, иначе (существует    IDi= ID) устанавливается факт «пользователь, назвавшийся пользователем i, прошел идентификацию».

3. По IDiвыделяется Si.

4. Субъект аутентификации запрашивает у пользователя аутентификатор К.

5. Субъект аутентификации вычисляет Y= F(Si, К).

6. Субъект аутентификации производит сравнение Eiи Y. При совпа­дении фиксируется событие «пользователь успешно аутентифицирован в КС», в противном случае аутентификация отвергается — пользователь не допущен к работе.

Вторая схема аутентификации применяется в ОС Unix. В качестве идентификатора IDиспользуется имя пользователя (запрошенное по Login), в качестве Ki— пароль пользователя (запрошен по Password), функция Fпредставляет собой алгоритм шифрования DES. Эталоны для идентификации и аутентификации содержатся в файле Etc/passwd.

Утверждение (о подмене эталона). Если пользователь имеет воз­можность записи объекта хранения эталона, то пользователь может быть идентифицирован и аутентифицирован (в рамках рассмотренных схем), как любой пользователь[1].

Доказательство.Пусть имеется пользователь i. Покажем, что он может выдать себя за любого пользователя j. Возможность записи в объект, содержащий эталоны, означает возможность замены любой запи­си на произвольную. Пользователь iменяет j-ю запись на свои параметры IDiи Ei(или дополнительно и Si). При следующей процедуре идентифика­ции он будет опознан как пользователь j(по построению и описанию схем). Утверждение доказано.

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

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

Рассмотрим теперь иерархию хранения и использования ключей при условии наличия в компьютерной системе криптографической подсисте­мы, включающей алгоритм шифрования Е, алгоритм расшифрования Dи исходные объекты O1, ..., Оn, зашифрованные на ключах ki, ..., kn. Резуль­татом зашифрования исходных объектов являются объекты доступа в системе: Y1, … Yn. При этом Yj= E(0j, kj), Oj= D(Yj, kj). Пусть владельцу ключа Kjнеобходимо обеспечить доступ к объекту Yj(доступ подразуме­вает возможность расшифрования Yj). Для этого он должен знать ключ kj. Очевидно, что требуются дополнительные объекты хранения зашифро­ванных ключей (табл. 2.3). С учетом того, что к объекту Yjмогут иметь доступ несколько пользователей, объект уjможет содержать несколько подобъектов вида E(kj, Km), где Km— ключ m-roпользователя.

                 Таблица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-модуль; Y0-порождающее число (исходное значение).

            Данное уравнение генерирует псевдослучайные числа с периодом повторения, который зависит от выбираемых значений параметров 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

<img width=«102» height=«42» src=«ref-1_1974400120-335.coolpic» alt=«Овал: начало» v:shapes="_x0000_s1036">
<img width=«219» height=«211» src=«ref-1_1974400455-1454.coolpic» v:shapes="_x0000_s1038 _x0000_s1039 _x0000_s1041 _x0000_s1042">



                                                                                                       да

<img width=«98» height=«99» src=«ref-1_1974401909-313.coolpic» v:shapes="_x0000_s1048 _x0000_s1049"> <img width=«12» height=«63» src=«ref-1_1974402222-131.coolpic» v:shapes="_x0000_s1054">



<img width=«12» height=«27» src=«ref-1_1974402353-101.coolpic» v:shapes="_x0000_s1050">                                                                          нет                                

<img width=«222» height=«359» src=«ref-1_1974402454-2455.coolpic» v:shapes="_x0000_s1055 _x0000_s1057 _x0000_s1058 _x0000_s1068 _x0000_s1069 _x0000_s1071 _x0000_s1072"> <img width=«162» height=«510» src=«ref-1_1974404909-1503.coolpic» v:shapes="_x0000_s1051 _x0000_s1081">



                                                                                                        да  

<img width=«12» height=«63» src=«ref-1_1974402222-131.coolpic» v:shapes="_x0000_s1077"><img width=«86» height=«2» src=«ref-1_1974406543-79.coolpic» v:shapes="_x0000_s1076">                                                                                                     
  <img width=«12» height=«195» src=«ref-1_1974406622-197.coolpic» v:shapes="_x0000_s1080">


                                                                          нет

<img width=«2» height=«98» src=«ref-1_1974406819-79.coolpic» v:shapes="_x0000_s1082">                                                                           
<img width=«183» height=«12» src=«ref-1_1974406898-128.coolpic» v:shapes="_x0000_s1083 _x0000_s1085"> <img width=«255» height=«12» src=«ref-1_1974407026-138.coolpic» v:shapes="_x0000_s1084 _x0000_s1086"> <img width=«150» height=«54» src=«ref-1_1974407164-423.coolpic» alt=«Овал: конец» v:shapes="_x0000_s1087">



<img width=«162» height=«42» src=«ref-1_1974407587-381.coolpic» alt=«Овал: начало» v:shapes="_x0000_s1089">                        Рис 3.2
<img width=«415» height=«748» src=«ref-1_1974407968-4440.coolpic» v:shapes="_x0000_s1091 _x0000_s1092 _x0000_s1094 _x0000_s1095 _x0000_s1097 _x0000_s1098 _x0000_s1100 _x0000_s1101 _x0000_s1102 _x0000_s1103 _x0000_s1105 _x0000_s1107 _x0000_s1108">


    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике