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

Особенности стандарта PKCS #11 v.2.30 в части российской криптографии и особенности его реализации для ПСКЗИ ШИПКА

2010 год ознаменовался принятием стандарта PKCS #11 версии 2.30, в которую вошли, наконец, и криптографические алгоритмы, принятые для использования в Российской Федерации. Таким образом определена единая спецификация использования криптографических стандартов шифрования ГОСТ 28147-89, хеширования ГОСТ Р 34.11-94 и подписи ГОСТ Р 34.10-2001 в рамках работы интерфейса Cryptoki, определяемого PKCS #11.

Спецификация, легшая в основу PKCS #11 для российской криптографии, явилась результатом работы ТК 26 (Технический комитет по стандартизации «Криптографическая защита информации»). Разработанная спецификация тесно связана с RFC 4357 и имеет ряд особенностей.

Для работы с параметрами криптографических алгоритмов вводится обязательное использование объекта PKCS #11 типа CKO_DOMAIN_PARAMETERS. Данный объект содержит объектный идентификатор (OID) параметров и соответствующий ему блок параметров в формате, определяемом RFC 4357. При инициализации криптографической операции шифрования или подписи значение объектного идентификатора, параметры которого нужно использовать, берется из шаблона ключа, а сам блок параметров должен считываться из объекта типа CKO_DOMAIN_PARAMETERS. Для операции вычисления хеш-функции значение объектного идентификатора передается в качестве параметра криптографического механизма.

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

Рассмотрим ряд особенностей работы с параметрами криптографических алгоритмов для криптографических операций: шифрования, вычисления хеш-функции и электронной цифровой подписи.

Вычисление подписи. Параметры эллиптической кривой для вычисления подписи должны считываться из блока параметров в объекте типа CKO_DOMAIN_PARAMETERS.

Вычисление хеш-функции. К параметрам хеш-функции в соответствии с RFC 4357 относятся:

- таблица замены;

- стартовый вектор.

По правилам принятого стандарта и таблица замены, и значение стартового вектора берутся из блока параметров, который хранится в объекте типа CKO_DOMAIN_PARAMETERS.

В RFC 4357 стартовый вектор определен как нулевой. Однако в стандарте ГОСТ Р 34.11-94 стартовый вектор определяется как произвольная последовательность длиной 256 бит. Нулевой стартовый вектор применяется только в примере стандарта (Приложение А стандарта ГОСТ Р 34.11-94) с оговоркой, что «заполнение узлов замены и значение стартового вектора хеширования H, указанные в данном приложении, рекомендуется использовать только в проверочных примерах данного стандарта».

Шифрование. К параметрам шифрования относятся:

- режим работы алгоритма ГОСТ 28147-89;

- таблица замены;

- алгоритм усложнения ключа;

- вектор инициализации.

В соответствии с теперь уже стандартной спецификацией PKCS #11 v.2.30 среди режимов шифрования отдельный идентификатор выделен только для режима простой замены. Во всех остальных случаях все перечисленные выше параметры, кроме вектора инициализации, берутся из блока параметров, который хранится в объекте типа CKO_DOMAIN_PARAMETERS.

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

В параметры шифрования, описываемые RFC 4357 вошли режимы CNT (режим гаммирования), причем только для тестового блока параметров (id-Gost28147-89-TestParamSet), и CFB (режим гаммирования с обратной связью). Режим CBC в параметрах шифрования отсутствует. Чтобы ввести его в использование, необходима регистрация дополнительных OID.

Таким образом, набор OID параметров шифрования, определенный в RFC 4357, является недостаточным для использования всех возможных вариаций параметров шифрования.

В зависимости от конкретной реализации интерфейса Cryptoki и особенностей самого криптографического устройства объект с параметрами криптографического алгоритма CKO_DOMAIN_PARAMETERS может быть ограничен в плане записи или считывания блока параметров со стороны вызывающего приложения.

Со стороны самого криптографического устройства также возможны некоторые особенности работы с объектами этого типа. На примере устройства ПСКЗИ ШИПКА это выглядит следующим образом.

В устройстве ПСКЗИ ШИПКА работа с криптографическими алгоритмами строилась на основе документа RFC 4357. Поскольку это был единственный официальный документ подобного рода, где указывались значения параметров, то в ПСКЗИ ШИПКА такие параметры, как узлы замены и параметры эллиптической кривой, были зашиты в код firmware устройства. OID параметров алгоритма шифрования и вычисления хеш-функции для ПСКЗИ ШИПКА указывает только на соответствующий узел замены. Все остальные параметры передаются в качестве параметров алгоритма и атрибутов ключа шифрования.

Новый подход к работе с параметрами криптографических алгоритмов через объекты типа CKO_DOMAIN_PARAMETERS потребует модификации ПСКЗИ ШИПКА. Один из вариантов изменений - это формальное создание объектов CKO_DOMAIN_PARAMETERS для уже существующих объектных идентификаторов, то есть уже определенные в RFC 4357 и зашитые в firmware устройства параметры будут выбираться устройством в firmware по значению OID. Однако будет учтена возможность считывания узла замены и параметров эллиптической кривой из общего блока параметров для новоявленных параметров.

Для перехода на версию 2.30 стандарта PKCS #11 достаточно будет обновить firmware старых устройств ПСКЗИ ШИПКА. При этом наравне со стандартной спецификацией PKCS #11 в части росиийской криптографии будет поддерживаться прежний режим работы PKCS #11, чтобы обеспечить совместимость работы с уже имеющимися на устройствах ключах.

Автор: Аршинова Н. А.

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

Библиографическая ссылка: Аршинова Н. А. Особенности стандарта PKCS #11 v.2.30 в части российской криптографии и особенности его реализации для ПСКЗИ ШИПКА // Комплексная защита информации. Материалы XV международной научно-практической конференции (Иркутск (Россия), 1–4 июня 2010 г.). М., 2010. С. 23–25.

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