Электронная подпись. Копирование контейнера закрытого ключа (пример)

По-новому взглянем на наш тестовый стенд

Соберем тестовый стенд с конфигурацией, типовой для машин, участвующих в электронном документообороте (ЭДО):

  1. ОС MS Windows 7 SP1
  2. СКЗИ КриптоПРО CSP 3.9.8423
  3. Драйверы Рутокен для Windows (x86 и x64). Версия: v.4.1.0.0 от 20.06.2016, WHQL-certified
  4. Единый Клиент JaCarta и JaCarta SecurLogon. Версия 2.9.0 сборка 1531
  5. КриптоАРМ Стандарт Плюс 5. Версия 5.2.0.8847.

Для тестирования будут использоваться токены с неизвлекамым ключом:

  1. Рутокен ЭЦП. Версия 19.02.14.00 (02)
  2. JaCarta ГОСТ. Номер модели JC001-2.F09 v2.1

В последней строке указана фраза «Поддержка КриптоПРО ФКН: Нет», а это значит, что на токене нет апплета, с которым умеет работать СКЗИ КриптоПРО CSP. Таким образом, реализация технологии ФКН с использованием СКЗИ и токенов, описанных в конфигурации тестового стенда, невозможна.

Аналогичная ситуация и с JaCarta ГОСТ. Более того, СКЗИ КриптоПРО CSP, по крайней мере та версия, которая использовалась в тестовом стенде, использует данные ключевые носители как «обычные токены», которые, в свою очередь, являются просто носителями ключа.

Это утверждение очень просто подтвердить. Для этого надо поставить СКЗИ КриптоПРО CSP на чистую машину без драйверов от токенов и подключить токен JaCarta ГОСТ. ОС Windows 7 обнаружит токен JaCarta ГОСТ как «Устройство чтения смарт-карт Microsoft Usbccid (WUDF)». теперь можно попробовать создать ключ на токене и скопировать его в реестр компьютера. Весь функционал СКЗИ успешно отработает.

Проведение тестирования

Смоделируем типовой процесс подготовки Администратором информационной безопасности ключевых документов для организации ЭДО:

  1. генерируется контейнер закрытого ключа и запрос на сертификат открытого ключа;
  2. после прохождения в удостоверяющем центре процедуры сертификации из запроса получается сертификат;
  3. сертификат в совокупности с контейнером закрытого ключа образует готовую для использования ключевую информацию. Данную ключевую информацию, записанную на носителе, будем называть исходным ключевым документом;
  4. с исходного ключевого документа изготавливаются копии, которые записываются на отчуждаемые носители (далее будем называть их рабочими ключевыми документами) и передаются уполномоченным пользователям;
  5. после изготовления необходимого количества рабочих ключевых документовисходный ключевой документ уничтожается или депонируется на хранение в орган криптографической защиты информации.
Читайте также:  Как получить и установить ЭЦП для Сбербанк АСТ? — АСТ Сбербанк

В нашем случае мы не будем пользоваться услугами центров сертификации, а сгенерируем ключевой контейнер с самоподписанным сертификатом и разместим его в реестре компьютера (АРМа генерации ключевой информации), это и будет

. Затем скопируем ключевую информацию на Рутокен ЭЦП и JaCarta ГОСТ, изготовив

Электронная подпись. Копирование контейнера закрытого ключа (пример)

. После этого уничтожим

, удалив из реестра ключевой контейнер. И, наконец, попробуем скопировать ключевую информацию с рабочих ключевых документов обратно в реестр.

1. Создадим

Описание

Для этого с помощью КриптоАРМ создадим в реестре контейнер закрытого ключа test-key-reestr, содержащий самоподписанный сертификат (CN=test)

Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)

2.Сформируем

Описание

С помощью штатных средств СКЗИ КриптоПРО CSP (Пуск–{amp}gt;Панель управления–{amp}gt;КриптоПро CSP) скопируем ключевой контейнер test-key-reestr на ключевые носители Рутокен ЭЦП и JaCarta ГОСТ. Ключевым контейнерам на ключевых носителях присвоим имена test-key-rutoken и test-key-jacarta соответственно.

Описание приведено применительно к JaCarta ГОСТ (для Рутокен ЭЦП действия аналогичны):

Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)

Таким образом получили

рабочие ключевые документы

на JaCarta ГОСТ (контейнер test-key-jacarta) и Рутокен ЭЦП (контейнер test-key-rutoken).

3.Уничтожим исходный ключевой документ

Описание

Штатными средствами СКЗИ КриптоПРО CSP удалим из реестра ключевой контейнер test-key-reestr.

4. Скопируем ключевую информацию из

Описание

Попробуем скопировать ключевые контейнеры test-key-rutoken и test-key-jacarta обратно в реестр.

Описание приведено для JaCarta ГОСТ (для Рутокен ЭЦП действия аналогичны).

Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)
Электронная подпись. Копирование контейнера закрытого ключа (пример)

Как мы видим, ключевая информация успешно скопирована или, другим языком, извлечена из токенов с неизвлекаемым ключом. Получается, что производители токенов и СКЗИ врут? На самом деле нет, и ситуация сложнее, чем кажется на первый взгляд. Исследуем матчасть по токенам.

Матчасть

То, что на рынке принято называть токеном с неизвлекаемым ключом, правильно называется

Электронная подпись. Копирование контейнера закрытого ключа (пример)

Главным отличием ФКН от обычных токенов (Рутокен S, JaCarta PKI, …) в том, что при выполнении криптографических преобразований (например, формирование электронной подписи) закрытый ключ не покидает устройство. В то время как при использовании обычных токенов закрытый ключ копируется с токена в память комптьютера.

Читайте также:  Преимущества «облачной» КЭП теперь доступны для пользователей

Использование ФКН требует особой организации взаимодействия между прикладным криптографическим ПО и библиотекой СКЗИ (криптопровайдером или, по-другому, CSP).

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

Как сделать, чтобы все было хорошо?

1. Купить специальную версию библиотеки СКЗИ: — для Рутокен ЭЦП — СКЗИ КриптоПРО Рутокен CSP. — для JaCarta ГОСТ – СКЗИ КриптоПро ФКН CSP.

2. Одновременно с библиотекой СКЗИ необходимо приобрести специально подготовленные токены, содержащие в себе программные части (апплеты), с которыми умеет работать КриптоПРО Рутокен CSP или КриптоПро ФКН CSP соответственно.

Получается, что Рутокен ЭЦП и JaCarta ГОСТ не являются токенами с неизвлекаемым ключом?

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

. Он это

. При генерации ключевой пары в мастере КриптоАРМ можно выбрать криптопровайдер, который будет использоваться, например, Rutoken ECP или eToken GOST. Это и позволит использовать токен как ФКН.

Оцените статью
ЭЦП Эксперт
Добавить комментарий