Создание защищенного канала передачи данных между распределенными
информационными ресурсами предприятия
В настоящее время крупному предприятию, имеющему сеть филиалов по стране или миру, для успешного ведения бизнеса необходима четкая координация в действиях между всеми его филиалами. Информация является ценнейшим ресурсом бизнеса.
Для координации бизнес-процессов, протекающих в различных филиалах, требуется обмен информацией между ними. Кроме того, данные, поступающие из различных офисов, аккумулируются для дальнейшей обработки, анализа и хранения в головном офисе. Накопленную централизованную информацию затем используют для решения своих бизнес-задач все филиалы предприятия.
К данным, которыми обмениваются филиалы, выдвигаются строгие требования по их достоверности и целостности. Помимо этого для данных, представляющих коммерческую тайну, предъявляется требование по обеспечению конфиденциальности, также для полноценной параллельной работы всех офисов обмен информацией должен происходить в режиме он-лайн (в режиме реального времени). Другими словами, между филиалами предприятия и головным офисом должен быть установлен постоянный канал передачи данных. Для обеспечения бесперебойной работы такого канала выдвигается требование по сохранению доступности к каждому источнику информации.
Кроме распределенных корпоративных систем, функционирующих в режиме реального времени, существуют системы, работающие в режиме офф-лайн. Обмен данными в таких системах происходит не постоянно, а через заданные периоды: один раз в день, в час и т.д. Но даже для обмена информацией один раз в день необходимо устанавливать защищенный канал передачи данных.
Под требованием достоверности подразумевается обеспечение авторизованного доступа, аутентификации сторон взаимодействия и неаннулируемости факта передачи данных. Как обеспечить подобную защиту канала передачи данных?
Можно соединить физическим каналом передачи данных каждый филиал с каждым (или только все филиалы с центром) и обеспечить невозможность доступа к физической среде передачи информационных сигналов. Возможно, такое решение окажется приемлемым для реализации в пределах одного охраняемого объекта, но речь идет о распределенных корпоративных системах, где расстояние между объектами взаимодействия может измеряться в тысячах километрах. Стоимость реализации подобного плана настолько дорога, что никогда не будет экономически эффективна.
Можно также арендовать имеющиеся уже проложенные каналы связи или спутниковые каналы у операторов связи. Подобное решение также является из разряда дорогостоящих, кроме того, требования к защите данных каналов потребуют реализации или установки специального программного обеспечения на каждой из взаимодействующих сторон.
Весьма распространенным, недорогим и эффективным решением является организация защищенных каналов связи поверх Интернета.
Сейчас трудно себе представить организацию, не имеющую выхода в Интернет и не использующую Всемирную сеть для организации своих бизнес-процессов. Кроме того, рынок информационных технологий насыщен сетевым оборудованием и программным обеспечением от разных производителей, со встроенной поддержкой обеспечения информационной безопасности. Существуют стандарты защиты и защищенные сетевые протоколы, на которых базируются создаваемые аппаратные и программные продукты, использующиеся для организации защищенного взаимодействия в открытой информационной сети.
В данной статье подробно рассматриваются методы обеспечения информационной безопасности при передаче секретных данных по открытым каналам связи.
Для защиты информации, передаваемой по общедоступным каналам связи, необходимо обеспечить безопасность ее передачи путем создания защищенного канала. Для этого применяется множество средств защиты: данные шифруются; пакеты снабжаются дополнительной управляющей информацией; применяется специализированный протокол обмена данными.
При решении вопроса о защите передаваемых данных необходимо четко очертить круг возможных уязвимостей, перечислить способы перехвата, искажения, уничтожения, методы подключения к каналам передачи данных, ответить на вопросы: какие цели преследуют злоумышленники и каким образом они могут использовать существующие уязвимости для реализации своих планов.
К дополнительным требованиям, предъявляемым к реализуемому защитному каналу передачи данных, можно отнести:
идентификацию и аутентификацию взаимодействующих сторон;
процедуры защиты от подмены одной из сторон;
конфигурирование и проверку качества канала связи;
компрессию передаваемой информации;
обнаружение и исправление ошибок при передаче данных по каналам связи;
использование криптоалгоритмов с открытым ключом;
контроль за целостностью передаваемых данных, маршрутом передачи информации и уровнем защиты канала связи;
аудит и регистрацию событий;
автоматическое восстановление работоспособности.
Алгоритм установления соединения
Для реализации защищенного канала передачи данных используется клиент-серверная модель взаимодействия. Рассматриваются две стороны: сервер и клиент (рабочая станция), который хочет установить соединение с сервером для дальнейшей работы с ним.
Основная задача при инициализации соединения - установить канал обмена данными между двумя взаимодействующими сторонами, предотвратить возможность подлога и предупредить ситуацию подмены пользователя, когда соединение устанавливается с одним пользователем, а затем к той стороне канала подсоединяется другой участник системы и начинает присваивать себе сообщения, предназначенные легальному пользователю.
Клиент посылает серверу запрос на соединение, затем обе стороны генерируют одноразовые ключи для защиты текущей сессии. Передаваемая информация шифруется на данных ключах. Следует также предусмотреть возможность подсоединения злоумышленника в любой момент и повторять процедуру "рукопожатия" ("handshake") через определенные временные интервалы. Во время этой процедуры сеансовые одноразовые ключи обновляются.
Алгоритм подготовки сообщения к отправке в защищенный канал
Необходимо из исходного (открытого) текста путем криптографических преобразований получить закрытый и подписанный файлы. Главная задача, поставленная перед этим алгоритмом, состоит в обеспечении безопасной передачи текста, а также защиты в незащищенном канале.
Следует предусмотреть и возможность предотвращать раскрытие информации при перехвате сообщения злоумышленником. Сеть является открытой, любой пользователь в этой сети может перехватить любое сообщение, посланное по каналу передачи данных. Естественно, необходимо предусмотреть вариант вскрытия путем полного перебора, но тогда надо учитывать время, затрачиваемое на вскрытие, которое рассчитывается известным способом, и использовать соответствующие длины ключей, гарантирующих нераскрытие закрываемой ими информации в течение заданного времени.
Помимо решения предыдущей задачи надо предусмотреть вариант того, что на другом конце канала (на приемной стороне) оказался злоумышленник, подменивший собой легального представителя. Благодаря этому алгоритму сообщение, которое беспрепятственно попадет в руки такого злоумышленника, тоже окажется "нечитабельным", поскольку ему неизвестны открытый и закрытый ключи подмененной им стороны, а также ключ сессии.
Алгоритм может быть реализован следующим образом:
исходный текст сжимается;
параллельно этому процессу проставляется подпись исходного текста открытым ключом получателя;
сжатый текст шифруется симметричным ключом сессии, этот ключ тоже есть на приемной стороне;
к зашифрованному и сжатому тексту добавляется цифровая подпись, однозначно идентифицирующая отправителя;
сообщение готово к отправлению и может быть передано по каналу связи.
Алгоритм обработки сообщения при приеме из защищенного канала
Из зашифрованного, сжатого и подписанного текста, который принимается по каналу связи, можно получить исходный открытый текст и проверить подлинность сообщения и его автора. Главная задача системы - создать защищенный канал на незащищенных линиях связи, поэтому каждое сообщение претерпевает сильные изменения и несет с собой много сопутствующей информации. Процесс обратного восстановления исходного текста также требует довольно долгого времени преобразования и использует современные криптографические алгоритмы, в которых применяются операции с очень большими числами, что затягивает время исполнения алгоритма и делает весь процесс восстановления довольно трудоемким.
При желании обеспечить максимальную защиту прохождения сообщения по защищенному каналу приходится прибегать к столь долговременным и ресурсоемким операциям. Выигрывая в степени защищенности, можно проиграть в скорости обработки пересылающихся сообщений. Кроме того, необходимо учесть временные и машинные затраты на поддержание достоверности связи (проверка сторонами друг друга) и на обмен контрольной и управляющей информацией.
Приведем алгоритм обработки сообщения при приеме из защищенного канала:
из полученного зашифрованного, сжатого и подписанного сообщения выделяется цифровая подпись;
текст без цифровой подписи дешифруется ключом сессии;
декодированный текст проходит процедуру разархивации;
полученный в результате двух предыдущих операций текст используется для проверки цифровой подписи сообщения;
на выходе алгоритма получим исходное открытое сообщение и результат проверки подписи.
Алгоритм подписи сообщения
Рассмотрим более подробно алгоритм подписи сообщения. Исходный текст может иметь неограниченный и каждый раз непостоянный размер, а алгоритм цифровой подписи требует для своей работы блок данных определенной постоянной длины, поэтому для преобразования всего текста в его отображение заранее установленной длины будет использоваться значение хэш-функции от этого текста. В результате получаем отображение текста благодаря основному свойству хэш-функции: она является односторонней, из полученного отображения нельзя будет восстановить исходный текст. Алгоритмически невозможно подобрать такой текст, у которого бы значение хэш-функции совпадало бы с ранее найденным, что не позволяет злоумышленнику беспрепятственно подменить послание, так как сразу изменится значение его хэш-функции и проверяемая подпись не совпадет с эталоном.
Опишем алгоритм подписи сообщения по пунктам:
на вход общего алгоритма поступает исходный текст любой длины;
вычисляется значение хэш-функции от данного текста;
полученное отображение текста фиксированной длины поступает в следующий блок алгоритмической обработки;
на вход этого блока (вычисление цифровой подписи) также поступает секретный (закрытый) ключ, который используется для нахождения электронной цифровой подписи (ЭЦП);
используя поступившие данные, можно вычислить значение ЭЦП всего текста;
на выходе алгоритма получим цифровую подпись сообщения, которая поступает дальше для присоединения к отправляемому в канал обмена данными пакету информации.
Алгоритм проверки подписи
На вход поступают две составляющие: исходный текст сообщения и его цифровая подпись. Данный алгоритм предназначен для совершения также двух различных действий: нахождения значения хэш-функции текста, вычисление цифровой подписи и сравнение ее с информацией, поступившей к нему на вход. На выходе алгоритма получаем результат проверки цифровой подписи, который может иметь только два значения: "подпись соответствует оригиналу, текст подлинный" либо "подпись текста некорректна, подлинность или авторство сообщения вызывает подозрение". Значение на выходе данного алгоритма можно затем использовать дальше в системе поддержки защищенного канала.
Приведем алгоритм подписи сообщения по пунктам:
на вход общего алгоритма поступает исходный текст любой длины и цифровая подпись этого текста фиксированной длины;
вычисляется значение хэш-функции от данного текста;
полученное отображение текста фиксированной длины поступает в следующий блок алгоритмической обработки;
в этот блок направляется цифровая подпись, которая пришла на вход общего алгоритма;
на вход блока (вычисление цифровой подписи) также поступает секретный (закрытый) ключ, который используется для нахождения ЭЦП;
используя поступившие данные, можно определить значение ЭЦП всего текста;
получим цифровую подпись сообщения, сравнивая которую с ЭЦП, поступившей на вход общего алгоритма, можно сделать выводы о достоверности текста;
на выходе алгоритма мы имеем результат проверки цифровой подписи.
Заключение
Итак, в статье рассмотрены методы построения защищенного канала передачи данных для обеспечения взаимодействия между распределенными корпоративными вычислительными системами. Выработан протокол установления и поддержания защищенного соединения. Предложены алгоритмы обеспечения защиты передачи данных. Проанализированы возможные уязвимости разработанной схемы взаимодействия.
Подобную технологию организации защищенных соединений организует протокол сетевого взаимодействия SSL. Кроме того, на основе предложенных принципов, строятся виртуальные частные сети (Virtual Private Network - VPN).
А. Теренин,
к.т.н, руководитель группы тестирования ПО, GE Money Bank
"Финансовая газета. Региональный выпуск", N 15, апрель 2007 г.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Газета "Финансовая газета. Региональный выпуск"
Учредитель: Редакция Международного финансового еженедельника "Финансовая газета"
Газета зарегистрирована в Роскомпечати 3 октября 1994 г.
Регистрационное свидетельство N 012947
Адрес редакции: г. Москва, ул. Ткацкая, д. 5, стр. 3
Телефон +7 (499) 166 03 71