– Все абоненты сети имеют один и тот же ключ шифрования. Таким образом, любые зашифрованные этим ключом документы могут быть расшифрованы любым абонентом сети, т. е., невозможно отправить некий документ какому-либо абоненту лично.
– При компрометации ключа шифрования (утере, хищении и т. д.) под угрозой нарушения конфиденциальности окажется весь документооборот, ключи шифрования придется срочно менять. Если же, например, факт компрометации ключа шифрования обнаружен не сразу, останется только догадываться, сколько документов (и какой важности) успел прочитать злоумышленник.
– Такие ключи необходимо передавать «из рук в руки», т. е., невозможно, например, переслать по электронной почте, что неудобно.
Первые два недостатка устраняются, например, при использовании ключевой системы типа «полная матрица».
Такая «полная матрица» содержит матрицу ключей для связи «каждый с каждым» (ключи парной связи), т. е., матрица содержит ключи для связи абонентов попарно. Это означает, что каждый из ключей матрицы доступен только двум из абонентов сети. Каждый абонент снабжается «сетевым набором» – строкой ключей из данной матрицы, предназначенных для его связи с остальными абонентами сети. Таким образом, существует возможность посылать документы кому-либо, зашифровав их на ключе «для двоих», что делает документ недоступным для остальных. Проще и с компрометацией – при утере какого-либо ключа стоит бояться лишь за те документы, которые посылались владельцами конкретного ключа друг другу. Соответственно, новый ключ взамен скомпрометированного необходимо заменить только у двух абонентов, а не у всех.
И снова о недостатках:
– При необходимости послать один и тот же документ нескольким абонентам в зашифрованном виде, его следует зашифровывать несколько раз (по числу адресатов), а потом еще и не перепутать, кому какой из зашифрованных файлов отсылать.
– Остается необходимость передачи ключей «из рук в руки».
Схема шифрования документов, позволяющая создавать один зашифрованный файл для передачи нескольким абонентам с использованием ключей парной связи, рассмотрена ниже.
Проблема передачи ключей решается путем применения схемы открытого распределения ключей. Это означает, что с помощью определенного алгоритма ключ шифрования «делится» на секретную и открытую части. Секретная часть, называемая «секретным ключом», хранится у его владельца, а открытая часть («открытый ключ») передается всем остальным абонентам сети. Таким образом, каждый абонент сети имеет в своем распоряжении свой собственный секретный ключ и набор открытых ключей всех остальных абонентов. С помощью своего секретного ключа и открытого ключа абонента-адресата абонент-отправитель вычисляет ключ парной связи, с помощью которого зашифровывает документы, предназначенные данному получателю. Получатель же, с помощью своего секретного ключа и имеющегося у него открытого ключа отправителя, вычисляет тот же ключ парной связи, с помощью которого может эти документы расшифровать.
Таким образом, путем использования схемы с открытым распределением ключей достигаются те же положительные моменты, что и при использовании схемы «полная матрица», но также и нейтрализуется недостаток – проблема распределения ключей. Открытые ключи можно распределять свободно по открытым каналам связи, поскольку, даже имея полный набор открытых ключей всех абонентов сети, злоумышленник не сможет расшифровать конфиденциальный документ, поскольку он предназначен конкретному адресату. То же самое относится и к другим абонентам сети, поскольку документ зашифрован на ключе парной связи, который могут вычислить только отправитель и получатель – у остальных попросту не хватает исходных данных для вычисления ключа парной связи.
Ключ парной связи может вычисляться, например, с помощью алгоритма Диффи-Хеллмана. Данный алгоритм (а также множество других) подробно описан в вышедшей в 1999 году в издательстве «Радио и Связь» книге Ю.В.Романца, П.А.Тимофеева и В.Ф.Шаньгина «Защита информации в компьютерных системах и сетях». Тем, кому наиболее интересна тема предлагаемой статьи, особенно рекомендую прочитать данную книгу.
Еще одно существенное достоинство открытого распределения ключей состоит в том, что одни и те же ключи могут быть использованы и для шифрования документов, и для электронной подписи. При использовании других ключевых схем это недостижимо.
Электронная цифровая подпись (ЭЦП) – средство, позволяющее на основе криптографических методов установить авторство и целостность электронного документа.
Секретный ключ (СК) генерируется абонентом сети. ЭЦП формируется на основе СК и вычисленного с помощью хэш-функции значения хэша документа. Хэш представляет собой некоторое значение, однозначно соответствующее содержимому документа-файла. При изменении хотя бы одного символа в документе, хэш документа изменится. Подобрать же изменения в документе таким образом, чтобы хэш документа не изменился, при использовании современных алгоритмов ЭЦП (например, ГОСТ Р 34.10-94 и ГОСТ Р 34.11-94) попросту невозможно.
СК может быть зашифрован на пароле. Открытый ключ (ОК) вычисляется как значение некоторой функции из СК и используется для проверки ЭЦП. ОК может свободно распространяться по открытым каналам связи, таким образом, ОК должен быть передан всем абонентам сети, с которыми планируется обмен защищенной информацией. При проверке ЭЦП вычисляется значение хэша документа; таким образом, любые изменения документа приведут к другому значению хэша, и вычисленная ЭЦП измененного документа не совпадет с переданной, что явится сигналом нарушения его целостности.
Как уже было сказано, для шифрования и ЭЦП может быть использована одна и та же пара ключей абонента.
Комплексный метод защиты
Естественно, для защиты и конфиденциальности, и целостности информации следует использовать в комплексе шифрование и ЭЦП, что также можно совместить с каким-либо дополнительным сервисом, например, сжатием информации (архивацией). В качестве примера таких систем следует привести специализированный архиватор электронных документов Crypton ArcMail, предлагаемый фирмой «АНКАД». Алгоритм создания специализированного архива (архива для передачи по сети) приведен на рис. 5.
Создаваемый таким образом файл-архив можно передавать по сети без каких-либо опасений. При создании архива исходные файлы подписываются на секретном ключе абонента сети, после чего файлы сжимаются и получаемый в результате сжатия архив шифруется на случайном временном ключе. Абоненты, которым предназначается архив, могут расшифровать его с помощью записанного в архив зашифрованного временного ключа. Временный ключ зашифровывается на парно-связном ключе, вычисляемом по алгоритму Диффи-Хеллмана из СК отправителя и открытого ключа ЭЦП (ОК) абонента-адресата. Таким образом, достигаются следующие цели:
– Передаваемые электронные документы снабжаются кодом подтверждения достоверности – ЭЦП, который защищает их от нарушения целостности или подмены.
– Документы передаются в защищенном виде, что обеспечивает их конфиденциальность.
– Абоненты-адресаты могут расшифровать документы, используя свой СК и ОК отправителя.
– Абоненты сети, которым не предназначается данный архив, не могут прочитать его содержимое, поскольку не имеют временного ключа и не могут его вычислить.
– Дополнительный сервис – уменьшение объема информации, обусловленное архивацией.
Проблемы распределения и хранения ключей
При использовании ЭЦП и описанного выше метода комплексной защиты электронных документов, применяемые в алгоритме ключевые элементы должны распределяться следующим образом: СК должен находиться у его владельца, парный ему ОК должен быть передан владельцем всем абонентам сети, с которыми он хочет обмениваться защищенной информацией.
ОК не являются секретными, но существует возможность их подмены. Например, возможна ситуация, что у злоумышленника есть доступ на компьютер, на котором абонент №1 хранит открытые ключи. Злоумышленник считывает интересующие его сведения (ФИО, должность, …) из ОК, например, абонента №2, после чего генерирует где-либо СК и ОК с такими данными и заменяет на компьютере абонента №1 ОК абонента №2 на фиктивный. После чего злоумышленник может подписать любой документ своим СК с данными абонента №2 и переслать его абоненту №1. При проверке ЭЦП такого документа будет выдано сообщение типа «Подпись лица (ФИО, должность, …) верна», что, мягко говоря, введет в заблуждение абонента №1. Таким образом, очевидно, что необходима защита и открытых ключей. Такую защиту можно обеспечить несколькими способами.
Использование персональной дискеты.
Собственный СК и открытые ключи других абонентов могут быть записаны на персональную дискету, доступ к которой должен быть только у ее владельца. Однако, при большом количестве абонентов сети и большом потоке документов такой вариант нецелесообразен, так как замедляется обработка документов.
Смысл данного варианта состоит в использовании ключей-сертификатов. Предположительно, существует некий сертификационный центр (СЦ), в котором на специальном ключе (ключе-сертификате) подписывается открытый ключ абонента сети перед передачей его другим абонентам. Открытый ключ-сертификат должен храниться у всех абонентов сети для проверки целостности всех используемых в сети ОК. При таком варианте рекомендуется при проверке ЭЦП какого-либо документа автоматически проверять подпись соответствующего ОК (что обычно и делается автоматически программными средствами).