Криптографические системы с открытым ключом используют необратимые или односторонние функции, для которых при заданном значении Х относительно просто вычислить значение 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 для данного сервера.