Информационная безопасность Модели управления доступом Разграничение доступа Глобальные сети Средства анализа и управления сетями Примеры скриптов на JavaScript Примеры программирования на Java

Информационная безопасность

Задача 2. Подключение защищаемого компьютера к сети Intranet

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

Пусть в системе обрабатывается следующая информация: * секретная; « конфиденциальная; « служебная; открытая.

Соответственно, введем 4 иерархические метки безопасности для данных- Ml, М2, МЗ, М4.

Пусть доступ к информации имеют четыре пользователя, которым, в соответствии с их допуском к информации также назначим метки безопасности — Ml, М2, МЗ, М4.

Подключим компьютер к сети Intranet. Т.к. при этом создается корпоративный виртуальный канал связи, то по нему следует разрешить передачу только служебной и открытой информации. При этом доступ к виртуальному каналу не должен иметь пользователь, допущенный к открытой информации, т.е. пользователь с меткой М4.

Примечание

Для создания служебного виртуального канала может применяться фильтрация доступа к сети (по IP адресам и TCP портам). Соответствующий процесс должен обеспечивать защиту передаваемой по каналу связи информации криптографическими методами.

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

Недостаток данного решения заключается в том, что пользователи с метками Ml, М2, М4 будут отключены от сети Intranet. К тому же по служебному каналу не может передаваться открытая информация.

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

Назначим метки безопасности пользователям и данным так же, как представлено выше. Присвоим процессу (сетевой службе) Intranet метку безопасности МЗ, соответствующую метке служебных данных. Далее назначим исполняемому файлу соответствующей сетевой службы межу МЗ. Тем самым мы обеспечим, чтобы пользователи М1...МЗ имели возможность запустить данный процесс, а пользователь М4 нет.

Получаем:

» запустить процесс доступа к сети Intranet может любой пользователь, имеющий доступ не ниже, чем к служебной информации — обладающие метками М1...МЗ; * запущенный процесс имеет права вне прав пользователей, т.е. этот процесс имеет полный доступ к служебным данным, доступ «на чтение» к открытым данным и не имеет доступа к иным данным на компьютере;

любой пользователь с уровнем доступа не ниже доступа к служебным данным имеет доступ к сети Intranet. При этом в сеть могут выдаваться как служебные, так и открытые данные (процесс с меткой МЗ может «читать» данные с метками МЗ и М4). Любые данные, получаемые из сети, могут записываться только в объекты, предназначенные для служебных данных (процесс с меткой МЗ может «записывать» данные только в объекты с меткой МЗ), что предотвращает доступ к этим данным пользователя с меткой М4; » механизм управления доступом обеспечивает следующие разграничения для пользователей с учетом их меток безопасности. Пользователь с меткой М4 (допущенный к открытым данным) не может выдавать в сеть и читать из сети информацию. Пользователь с меткой МЗ (допущенный к служебным данным) может выдавать в сеть и читать из сети информацию. Остальные пользователи (с меньшей меткой) могут только читать данные из сети, т.к. они имеют доступ к объекту, в который процесс с меткой МЗ может записать данные, только «на чтение». Для отправки данных пользователем с меньшей меткой должны быть реализованы организационные мероприятия.

Нелинейные ключевые пространства

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

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

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

Например, блочный алгоритм шифрования с длиной блока 64 бита и длиной ключа 128 бит может использовать “составной” ключ из 192 бит. Тогда вероятность случайно использовать стойкий ключ будет достаточно мала — всего 2-64.

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

Передача ключей

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

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

Упоминавшийся выше американский стандарт ANSI X9.17 определяет две разновидности ключей. Ключи шифрования данных используются для зашифрования сообщений, отправляемых по каналам связи. Ключи шифрования ключей применяются для зашифрования других ключей, которые предназначены для передачи получателям этих шифрованных сообщений. Ключи шифрования ключей передаются по каналам связи, исключающим подслушивание. Например, с помощью курьеров. Однако, поскольку делать это приходится значительно реже, чем посылать ключи шифрования данных, такой способ передачи ключей абонентам сети связи вполне пригоден для использования на практике.

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

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

С ростом количества абонентов сети связи применять подход, рекомендуемый стандартом ANSI X9.17, становится все трудней и трудней. Если п человек захотят обмениваться шифрованными сообщениями, общее число переданных ими ключей составит n(n-1)/2. При n = 1000 потребуется почти 500 тыс. пересылок ключей между абонентами, что может вылиться в серьезную проблему. В этом случае лучше производить рассылку ключей из единого центра (назовем его центром распределения ключей, сокращенно — ЦРК).

Общие принципы построения вычислительных сетей