Доклады, выступления, видео и электронные публикации

Сертифицированные СКЗИ - что нужно знать, чтобы правильно их выбрать

Средства криптографической защиты информации (СКЗИ) можно разделить на средства шифрования и средства электронной подписи (СЭП).

Очень просто надежно зашифровать свой текст. Для этого нужно только изготовить длинную случайную последовательность и поделиться ею со своим абонентом. Эта последовательность будет ключом. Далее открытый текст и случайная последовательность (гамма) объединяются с применением операции «исключающее ИЛИ». Любая операция со случайным числом даст случайное число. Случайная последовательность, сложенная с открытым текстом, даст случайный криптотекст. Чем лучше качество гаммы, тем меньше шансов расшифровать криптотекст. Если гамма действительно случайная, то расшифровать криптотекст нельзя.

Для этого гамма должна обладать следующими свойствами:

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

Такой шифр называется шифром Вернама — и это единственный шифр, который обладает абсолютной криптографической стойкостью. Доказывать сейчас его стойкость нет необходимости, так как это сделал К. Шеннон еще в 1945 году.

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

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

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

С появлением современных носителей информации ситуация разительно изменилась, и теперь нет проблемы изготовить и передать гигабайты гаммы — лишь бы ДСЧ был хорошим. Программные генераторы псевдослучайной последовательности (ПСП) здесь применять можно только от отчаяния, что хорошего физического генератора нет.

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

Регулятор устанавливает правила, испытательные лаборатории проверяют, выполняются ли требования к операциям, ключам и отсутствию влияния на эти процессы других процессов — вот так и появляются сертифицированные СКЗИ.

Шифрование необходимо для того, чтобы доступ к информации имели те, кому можно, и не имели те, кому нельзя. Электронная подпись (ЭП) применяется для того, чтобы зафиксировать волеизъявление человека. И если СКЗИ должны правильно в проверенной среде выполнять криптографические преобразования, то для электронной подписи этого недостаточно — нужно предпринять все меры, обеспечивающие фиксацию именно свободного волеизъявления человека. На это направлен ФЗ-63, именно поэтому одним из важнейших его требований является требование правильности визуализации того документа, который подписывает человек. Таким образом, в отличие от СКЗИ, для квалифицированных СЭП добавляются проверки средств визуализации. Конечно, выполняются и все необходимые проверки криптографических алгоритмов.

Анализируя ту или иную схему ЭП, обычно ставят вопрос так: «Можно ли быстро подобрать два различных (осмысленных) сообщения, которые будут иметь одинаковые ЭП». Ответ здесь обычно отрицательный — трудно это сделать. Если используется хорошая хэш-функция, для которой не найден эффективный механизм поиска коллизий, такая атака практически всегда обречена на провал. Михаил Грунтович поставил вопрос по-другому: «Можно ли, имея два сообщения, подобрать ключи подписи так, чтобы ЭП совпадали?». И оказалось, что сделать это чрезвычайно просто!

Конкретные условия реализации указанной атаки рассмотрим (в весьма упрощенном варианте) на примере подписи по схеме Эль-Гамаля. Вера в стойкость схемы Эль-Гамаля основана на (гипотетической) сложности задачи дискретного логарифмирования, но здесь атаке подвергается вовсе не задача дискретной математики.

Введем следующие обозначения:

H — криптографическая хэш-функция;

Zn - множество чисел {0,1, ..., n — 1}, n - натуральное число;

a (mod p) — остаток от деления целого числа a на натуральное число p.

Для схемы формирования подписи Эль-Гамаля:

  • фиксируется простое число p достаточной разрядности и g-примитивный элемент mod p;
  • личным ключом подписи является любое число x из Zp;

Вычисление подписи сообщения m:

  • вычисляется хэш-код h = H(m);
  • выбирается случайное число k, взаимно простое с p — 1: 1 < k < p — 1;
  • вычисляется r = gk(mod p);
  • вычисляется s = k-1(h - xr)(mod p — 1);
  • подписью является пара c = (r, s).

Теперь рассмотрим, что нужно делать злоумышленнику для реализации атаки. Он должен сгенерировать хэш-коды

h1 = H(m1), h2 = H(m2)

и совпадающие подписи с одинаковым случайным числом k:

s = k-1(h1 — x1r)(mod p — 1) и

s = k-1(h2 — x2r)(mod p — 1).

А это значит, что

h1 — x1r (mod p — 1) = h2 — x2r(mod p — 1).

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

Тем не менее, не все так страшно. Дело в том, что полученные результаты никак не дискредитируют собственно криптостойкость ЭП. Они показывают возможную уязвимость при неправильном применении механизмов ЭП.

Этот пример наглядно демонстрирует уязвимости, возникающие при неправильной реализации СКЗИ. Описанная атака возможна в том случае, если пользователь знает свой ключ подписи и может узнать случайное число.

Существует радикальный способ борьбы с атаками такого рода — для этого всего лишь необходимо иметь устройство, в котором:

  1. Генерируется ключ подписи.
  2. Вычисляется ключ проверки подписи.
  3. Открытый ключ экспортируется, в том числе для сертификации в удостоверяющем центре.
  4. Ключ подписи применяется для выработки ЭП только внутри устройства, его экспорт невозможен! В последнее время такие устройства называют устройствами с неизвлекаемым ключом.
  5. Случайное число никогда не появляется в среде компьютера, оно генерируется и уничтожается после применения внутри устройства.

Вот отсюда понятно, что более надежным является вариант СЭП и СКЗИ, выполненных в виде аппаратуры. В этом случае может быть обеспечено достаточное качество ДСЧ и надежность хранения ключа подписи.

Итак:

  1. Аппаратные средства лучше программных
  2. Они должны содержать физический ДСЧ нужного качества
  3. Они должны обеспечивать неизвлекаемость не только ключа подписи, но и других криптографических элементов, влияющих на стойкость алгоритмов.

Вернемся теперь к шифрованию, и поговорим о том, когда и зачем его нужно применять — как физическим лицам, так и юридическим.

Выделим для начала основные типы шифрования — а это абонентское и канальное. Как следует из названий, в случае абонентского шифрования абонент сначала шифрует информацию (файл, документ), а потом уже в закрытом виде передает ее в канал. При канальном шифровании криптографическими методами защищается собственно канал, и абонент не должен заботиться о том, что бы зашифровать информацию перед ее передачей по каналу. Если канал — это связь «точка-точка» — то применяются канальные шифраторы. Если канал — это не провода, а активная структура типа Интернет — то шифровать нужно не все, а только данные, адреса нельзя искажать, иначе пакеты просто не попадут к адресату — здесь применяются механизмы виртуальных частных сетей, VPN. Наиболее известные протоколы — это ipsec и ssl. Практически все имеющиеся на рынке средства VPN - реализуют один из этих протоколов.

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

  • криптографическую защиту каналов следует использовать в том случае, если есть угроза того, что передаваемые Вами данные настолько интересны для нарушителя, что он присоединится к каналу и станет «слушать» весь ваш обмен. Конечно, начинать защищать каналы нужно после того, как будет надежно защищена внутренняя сеть — так как инсайдер обычно обходится дешевле, чем атака на канал;
  • оба протокола — это протоколы, предназначенные для взаимодействия не клиентов, а сетей; поэтому они настраиваются с трудом. Таким образом, важнейшее значение имеют средства управления безопасностью сети, их и нужно выбирать в первую очередь;
  • в стеке протоколов TCP/IP ipsec работает на уровне IP, а ssl - на уровне TCP. То есть если ipsec обеспечивает защиту скорее на системном уровне, то ssl — скорее, на прикладном. Так как ipsec функционирует значительно «ниже», то он тем самым «инкапсулирует» в область защиты значительно большее число протоколов, чем ssl, что, конечно, лучше;
  • при эксплуатации VPN ваша основная задача — это управление ключами. Ключи нужно своевременно выдавать, менять — управлять, одним словом. Каждая СКЗИ имеет свою систему генерации ключей, управления ключами. Если у вас уже используется какая-нибудь ключевая система — продолжайте ее использовать. Не заводите «зоопарка» - сложным является сопровождение даже одной системы, а уж нескольких - практически неподъемная задача;
  • если Ваша задача — это задача, связанная с обеспечением деятельности многих распределенных в пространстве объектов информатизации, между которыми осуществляется интенсивное информационное взаимодействие защищаемыми данными, которые, в свою очередь, могут быть интересны нарушителю настолько, что он готов «слушать» каналы — то применяйте VPN. Если все не так «запущено» - попробуйте ограничиться абонентскими СКЗИ.

Абонентские СКЗИ, как теперь уже понятно, характеризуются не алгоритмами (они определены стандартами), а утилитами, позволяющими эти СКЗИ применять, и условиями, которые необходимо выполнить, что бы СКЗИ вообще можно было применять. Желательно, конечно, что бы применять эти средства было удобно.

Вот некоторые особенности, на которые следует обращать внимание.

  1. Если в документации на СКЗИ указано, в какой операционной системе оно может использоваться, то использовать его в этой системе и нужно. Например, если указана возможность использования в Windows/XP, а в Вы хотите применить в Vista, то следует помнить, что СКЗИ в XP используется, а в VISTA — встраивается. То есть даже если СКЗИ работает, то вам придется еще провести исследования на правильность встраивания известной СКЗИ в новую среду. Это несложно (относительно) для аппаратных СКЗИ, но довольно сложно для программных.
  2. Если в аппаратном СКЗИ отсутствует проверенный ДСЧ и отсутствуют проверенные средства самотестирования (а иначе и не может быть в СКЗИ, выполненных на универсальных смарт-карточных микросхемах), то обратите внимание на документы по встраиванию и эксплуатации. Так как энтропия откуда-то должна добавляться, а тестирование должно производиться, может оказаться, что это СКЗИ можно использовать автономно совсем немного, например, 2 или 3 дня. Удобно ли это будет для Вас?
  3. Если Вам предлагают токен (любой, не только тот, который так называется) и говорят, что он сертифицирован по классу КС2 и выше — не верьте. Скорее всего, в документации есть требование использовать этот токен в среде, защищенной электронным замком. Без этого класс не будет выше КС1.

И главное — помните о достаточности средств защиты. Нет необходимости применять дорогостоящие СКЗИ там, где можно обойтись без них.

И еще — СКЗИ и СЭП, которые удовлетворяют всем требованиям, которые мы обсуждали — есть. Вплоть до класса КВ2. Не называю их только для того, чтобы статья не стала рекламной.

Литература

1. Ященко В. В. Введение в криптографию. Новые математические дисциплины. М., 2001.

2. Конявский
В. А. Компьютерная преступность. М., 2008. Т. II.

Автор: Конявский В. А.

Дата публикации: 01.01.2013

Библиографическая ссылка: Конявский В. А. Сертифицированные СКЗИ – что нужно знать, чтобы правильно их выбрать // Information Security/Информационная безопасность. М., 2013. № 4. С. 56–57.


Scientia potestas est
Кнопка связи