Смекни!
smekni.com

Построение локальной вычислительной сети подразделения организации под управлением операционной системы Windows NT (стр. 8 из 11)


Рис.5.1.Шифрование информации

Для построения средств защиты от НСД необходимо иметь представление о методах криптографии. Их классификация приведена на рис.5.2.


Рис.5.2.Классификация методов криптографии

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

Сформулирована следующая система требований к алгоритму шифрования:

· зашифрованный текст должен поддаваться чтению только при наличии ключа шифрования,

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

· знание алгоритма шифрования не должно влиять на надежность защиты,

· незначительные изменения ключа шифрования должны приводить к существенному изменению вида зашифрованного текста,

· незначительные изменения шифруемого текста должны приводить к существенному изменению вида зашифрованного текста даже при использовании одного и того же ключа,

· длина шифрованного текста должна быть равна длине исходного текста,

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

· алгоритм должен допускать как программную, так и аппаратную реализацию[2].

5.2.Системы шифрования с секретным и открытым ключом

Современные широко применяемые методы шифрования можно разделить на два наиболее общих типа: с секретным ключом и с открытым ключом.

Шифрование с секретным ключом симметрично – ключ, с помощью которого текст шифруется, применяется и для его дешифровки.

Шифрование с открытыми ключами осуществляется с помощью двух ключей, поэтому оно относится к асимметричным системам шифрования. Открытый ключ не является секретным; более того, его доступность для всех и каждого, например за счет публикации в каталоге или включения в незащищенное сообщение электронной почты, имеет принципиальное значение для функционирования всей системы. Другой ключ, личный, служит для шифрования текстов, дешифруемых с помощью открытого ключа[4].

Криптографические системы с открытым ключом используют необратимые или односторонние функции, для которых при заданном значении Х относительно просто вычислить значение f(x), однако если y=f(x), то нет простого пути для вычисления значения Х. Другими словами, чрезвычайно трудно рассчитать значение обратной функции[2].

На практике криптографические системы с секретными ключами, как правило, быстрее систем с открытыми ключами, обеспечивающими ту же степень защиты.

5.3.Алгоритм шифрования трафика сети

В системе шифрования трафика сети комплекса Secret Net используется метод шифрования с секретным ключом. В ее основу положен алгоритм, основанный на известном стандарте DES, и соответствующий ГОСТ 28147-89.

Суть алгоритма заключается в линейном преобразовании: S = L * t, где L – невырожденная матрица случайного линейного преобразования бит. И хотя расшифровывание в этом случае придется осуществлять решением систем линейных уравнений, но каждый бит шифровки начинает уже зависеть от каждого бита текста. Шифры на основе этого преобразования называют скремблерами (взбивателями). Для того, чтобы матрица L была невырожденной, случайной и при расшифровывании не нужно было производить много вычислений, американскими криптографами был предложен оригинальный алгоритм. Входной блок данных делится на левую L’ и правую R’ части. После этого формируется выходной массив так, что его левая часть L” представлена правой частью R’ входного, а правая часть R” формируется как сумма L’ и R’ операцией XOR. Далее, выходной массив шифруется перестановкой с заменой. После нескольких таких взбиваний каждый бит выходного блока может зависеть от каждого бита сообщения (рис.5.3.)[5].


Рис.5.3.Схема алгоритма шифрования трафика сети.


5.4.Сервер безопасности

5.4.1.Принципы работы сервера безопасности

В целях обеспечения защиты данных Secret Net следует следующим принципам:

1. Пользователь должен идентифицировать себя только раз в начале сессии. Это включает ввод имени и пароля клиента.

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

3. Каждый пользователь имеет пароль, и каждая служба имеет пароль.

4. Единственным устройством, которое знает все пароли, является сервер безопасности. Этот сервер работает под серьезной охраной.

Рассмотрим схему работы сервера безопасности (рис.5.4.):

1. Пользователь вводит имя.

2. Перед вводом пароля выдается через сеть сообщение на сервер аутентификации. Это сообщение содержит имя пользователя вместе с именем Ticket-Granting Server (TGS). Это сообщение не нуждается в шифровании, так как знание имен в сети необходимо всем для электронной почты.


Рис.5.4. Система распределения ключей Secret Net

3. Сервер аутентификации по имени пользователя и имени TGS сервера извлекает из базы данных ключи для каждого из них.

4. Сервер аутентификации формирует ответ, который содержит Ticket (билет), который гарантирует доступ к запрашиваемому серверу. Ticket всегда посылается в закрытом виде. Ticket содержит временную марку и дату создания. Сервер аутентификации шифрует этот ticket , используя ключ TGS сервера (полученного на шаге 3). Это дает sealed ticket (запечатанный билет), который передается на рабочую станцию в зашифрованном виде (на ключе пользователя).

5. Рабочая станция, получив зашифрованное сообщение, выдает запрос на ввод пароля. Пароль пользователя используется внутренним дешифратором для расшифровывания сообщения. Затем ключ пользователя удаляется из памяти. На этот момент на рабочей станции имеется sealed ticket.

Рассмотрим сценарий, когда пользователь хочет воспользоваться некоторой службой сети, например, запросить некий сервер (end server). Каждый запрос этой формы требует, прежде всего, получения ticket для данного сервера.

6. Рабочая станция создает сообщение, состоящее из sealed-ticket, sealed-authenticator и имени сервера, которое посылается TGS. Authenticator состоит из login-name, WS-net-address и текущего времени. Закрытый аутентификатор (sealed-authenticator) получается шифрованием.

7. TGS, получив сообщение, прежде всего, расшифровывает sealed-ticket и sealed-authenticator, используя ключ TGS. Таким образом, TGS получает все параметры для проверки достоверности:

· Login-name,

· TGS-name,

· Сетевой адрес рабочей станции.

Наконец, сравнивается текущее время в authenticator, чтобы определить, что сообщение сформировано недавно. Это требует, чтобы все рабочие станции и сервера держали время в пределах допустимого интервала. TGS по имени сервера из сообщения определяет ключ шифрования сервера.

8. TGS формирует новый ticket, который базируется на имени сервера. Этот ticket шифруется на ключе сервера и посылается на рабочую станцию.

9. Рабочая станция получает сообщение, содержащее sealed-ticket, который она расшифровать не может.

10. Рабочая станция посылает сообщение, содержащее sealed-ticket, sealed-authenticator и имя сервера (сообщение не шифруется).

11. Сервер принимает это сообщение и прежде всего дешифрует sealed-ticket, используя ключ, который только этот сервер и Secret Net знают.

Сервер далее расшифровывает authenticator и делает проверку также как в пункте 7.

Ticket и аутентификаторы являются ключевыми моментами для понимания применения сервера безопасности. Для того, чтобы рабочая станция использовала сервер, требуется билет (ticket). Все билеты, кроме первого, получаются из TGS. Первый билет является специальным: это билет для TGS и он получается из сервера аутентификации.

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

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

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

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