Безопасность любого криптографического средства определяется не только надёжностью применяемых криптоалгоритмов, но и заложенными возможностями организационной и технической защиты ключевого материала. Основным недостатком любого исключительно программного средства криптозащиты является слабая защита секретных ключей, размещаемых, как правило, в файлах на сменных носителях. В подобных реализациях единственным способом защитить секретные ключи от несанкционированного доступа (НСД) является применение пароля, на основании которого выполняется шифрование ключевой информации. Однако, на практике, пароль к файлу может быть подобран за вполне приемлемое время, путём применения метода «грубой силы», в сочетании со «словарной атакой». Файл, защищённый паролем, уязвим в силу трёх причин:
- количество попыток подбора пароля не ограничено;
- сам пароль выбирается из существенно ограниченного набора «легко запоминаемых» конкретным пользователем вариантов;
- процесс подбора может быть неограниченно распараллелен.
Для надёжной защиты секретных ключей от НСД применяют аппаратные ключевые носители, защищённые паролем либо ПИН-кодом. Такие носители, как минимум, ограничивают количество попыток ввода пароля для доступа к ключу, а если ключевой носитель является «активным» (АКН)Активные ключевые носители (АКН) – представляют собой аппаратный модуль безопасности оснащённый, как правило, интегрированными на одном чипе, вычислительным устройством, оперативной и энергонезависимой памятью, а также контроллером внешнего интерфейса. Основным отличием АКН от «пассивных» ключевых носителей является способность выполнять все вычисления связанные с секретным ключом непосредственно внутри чипа АКН.
Процедуры формирования, хранения и применения ключей внутри активного ключевого носителя (АКН) могут считаться безопасными, а следовательно и сам АКН безопасным, только если удовлетворяются следующие требования:
• генерация секретного ключа осуществляется непосредственно внутри АКН на основе физического источника случайности;
• хранение и применение секретных ключей выполняется исключительно внутри защищённого чипа АКН, т.е. ключ никогда не входит за пределы чипа;
• применение секретного ключа возможно только после выполнения авторизации пользователя на соответствующем ПИН-коде (пароле);
• количество ошибочных попыток авторизации пользователя ограничено, а учёт попыток осуществляется в энергонезависимой памяти;
• криптографические протоколы, в которых может использоваться ключ, определяются целевым назначением носителя, а сами протоколы обеспечивают разделение «ролей» АКН, принимающих участие в обмене.
, то он также обеспечивает скрытие ключа на протяжении всего его срока использования (ключ применяется только внутри носителя и за его пределы не выходит).
Если ключевой носитель используется для защиты от НСД (например, шифрование файлов или дисковых хранилищ), то в случае его потери или выхода из строя, защищённые с помощью соответствующего ключа данные станут недоступными, что равносильно их уничтожению. Поэтому, в подобных приложениях, обязательно должны создаваться резервные копии секретных ключей доступа, либо должен быть предусмотрен многопользовательский режим доступа к данным с использованием различных носителей. Учитывая, что идеология АКН предполагает невозможность «извлечения» значения ключа из носителя, задача резервирования ключевых данных на АКН является нетривиальной.
Компания «Криптомаш» предлагает программно-аппаратный комплекс GOST Key Keeper на базе активных ключевых носителей, который позволяет эффективно решить обе указанные проблемы: безопасное хранение и применение ключей, а также возможность их резервирования. Используемые АКН поддерживают отечественные стандарты криптозащиты: ГОСТ 28147-89 и ДСТУ 4145-2002.
Программно-аппаратный комплекс GOST Key Keeper состоит из унифицированного программного обеспечения для ПК, нескольких АКН в виде смарт-карт и соответствующего считывателя смарт-карт. Кроме того, АКН данного комплекса интегрированы с ПО «Защищённый виртуальный диск».
Программное обеспечение комплекса включает:
- Программное обеспечение управления ключами на АКН.
- Программные библиотеки применения ключей, хранящихся на АКН.
Аппаратное обеспечение в комплектации «USB-брелок»:
- Две или более смарт-карт формата SIM.
- Считыватель SIM-карт в виде USB-брелка.
Аппаратное обеспечение в комплектации «смарт-карта»:
- Две или более полноформатные смарт-карты.
- USB-считыватель контактных смарт-карт.
Все АКН, используемые в составе одного комплекса, идентичны по своему типу. Количество АКН не ограничено и определяется количеством пользователей в защищаемой системе, а также требованиями резервирования. Каждый АКН комплекса, по умолчанию, содержит три приложения:
- Один экземпляр приложения “Storage Keys” – ключи доступа к хранилищам информации и другим информационным ресурсам.
- Два экземпляра приложения “Transport Keys” – ключи защиты коммуникаций и «бизнес» транзакций.
Приложение “Storage Keys” предназначено для формирования, хранения и применения секретных ключей симметричного алгоритма шифрования ГОСТ 28147-89. В стандартной поставке, приложение поддерживает до 5-ти «долговременных» ключей длиной по 512 бит (таблицы подстановок или S-блоков), с каждым из которых может быть ассоциировано до 4-х «сеансовых» ключей длиной по 256 бит. Таким образом, приложение поддерживает до 20 ключей ГОСТ 28147-89, которые могут диверсифицироваться для различных приложений.
Установка ключей данного приложения должна осуществляться на защищённой от НСД рабочей станции.
Функциональные характеристики приложения “Storage Keys”:
- Разбиение множества ключей ГОСТ 28147-89 на именованные группы по признаку общей ассоциированной таблицы подстановок (S-блоков).
- Конфигурируемая структура ключевой системы ГОСТ 28147-89 (на этапе инициализации смарт-карт).
- Сопоставление каждому ключу уникального 8-байтного идентификатора, а также текстового имени.
- Максимальная длина имени ключа или группы: 16 латинских символов (без учёта регистра).
- Хранение идентификаторов, а также имён ключей и групп выполняется непосредственно на АКН.
- Невозможность «извлечения» значений ключей из АКН.
- Применение аппаратных генераторов случайных чисел (ГСЧ) для формирования ключевого материала.
- Возможность «усложнения» выхода аппаратного ГСЧ путём применения интерактивного ГСЧ.
- Функция генерации таблиц подстановок, устойчивых к атакам линейного и дифференциального криптоанализа.
- Возможность создания резервных копий секретных ключей (только на этапе их инсталляции).
- Разграничение доступа к ключам АКН на основе двух ролей: «Администратор» (управление ключами) и «Пользователь» (только использование ключей), защищённых различными PIN-кодами.
- Поддержка PUK-кода восстановления заблокированного PIN-кода «Администратора».
- Блокирование PIN/PUK-кода после 15 последовательных неудачных попыток аутентификации (лимит может быть уменьшен).
Приложение “Transport Keys” предназначено для защиты коммуникаций от угроз конфиденциальности, аутентичности и причастности. Приложение обеспечивает формирования, хранения и применения личных ключей цифровой подписи и «направленного» шифрования, а также пары секретных ключей («Preshared Secret») для симметричного алгоритма шифрования ГОСТ 28147-89. Ключи из группы «Preshared Secret» могут быть установлены только в момент инициализации приложения. Они могут использоваться провайдерами услуг для аутентификации клиентов/абонентов, обеспечения дополнительного уровня конфиденциальности и защиты от клонирования носителей.
В стандартной комплектации, на АКН размещается два экземпляра данного приложения, что позволяет обеспечить защищённое взаимодействие с двумя абсолютно независимыми провайдерами услуг. Каждый экземпляр защищён самостоятельной системой PIN-/PUK-кодов, также независимой от приложения “Storage Keys”, что позволяет практиковать даже многопользовательский режим использования АКН.
Конфигурация приложения “Transport Keys”:
- Ключ цифровой подписи согласно ДСТУ 4145-2002 длиной 191 бит (поддержка двух версий ключа: действующего и следующего);
- Ключ выработки общего секрета по схеме DH на базе ДСТУ 4145-2002 длиной 191 бит (поддержка двух версий ключа: действующего и следующего);
- Один «долговременный» ключ (таблица подстановки) ГОСТ 28147-89 длиной 512 бит и два ассоциированные с ним «сеансовые» ключа длиной 256 бит (все три ключа устанавливаются только при инициализации приложения).
- Одна пара PIN-/PUK-кодов для разграничения доступа к ключам приложения, (по умолчанию, максимальное количество неудачных попыток аутентификации равно 15).
- Формирование всех личных асимметричных ключей средствами встроенного ГСЧ.
Конфигурация приложений АКН может быть изменена по требованию заказчика, кроме того, в комплексе одновременно могут использоваться разнотипные АКН: как карточки формата SIM, так и полноразмерные карточки с соответствующими контактными считывателями.