Строительная биржа Uspehdelo.ru Строительная биржа Uspehdelo.ru

Открытая часть ключа эцп. Извлечение ключа из токена с неизвлекаемым ключом

ремонт и настройка ремонт и настройка

Довольно часто при оформлении сертификатов ключей электронной подписи можно наблюдать навязчивый пиар токенов с неизвлекаемым ключом. Продавцы из удостоверяющих центров уверяют, что, купив у них СКЗИ КриптоПРО CSP и токен с неизвлекаемым ключом (Рутокен ЭЦП или JaCarta ГОСТ), мы получим сертифицированные СКЗИ, обеспечивающие 100%-ную защиту от кражи ключей с токена. Но так ли это на самом деле? Для ответа на этот вопрос проведем простой эксперимент…

Конфигурация тестового стенда

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

Методика тестирования

Смоделируем типовой процесс подготовки Администратором информационной безопасности ключевых документов для организации ЭДО:
  1. генерируется контейнер закрытого ключа и запрос на сертификат открытого ключа;
  2. после прохождения в удостоверяющем центре процедуры сертификации из запроса получается сертификат;
  3. сертификат в совокупности с контейнером закрытого ключа образует готовую для использования ключевую информацию. Данную ключевую информацию, записанную на носителе, будем называть исходным ключевым документом ;
  4. с исходного ключевого документа изготавливаются копии, которые записываются на отчуждаемые носители (далее будем называть их рабочими ключевыми документами ) и передаются уполномоченным пользователям;
  5. после изготовления необходимого количества рабочих ключевых документов исходный ключевой документ уничтожается или депонируется на хранение в орган криптографической защиты информации.
В нашем случае мы не будем пользоваться услугами центров сертификации, а сгенерируем ключевой контейнер с самоподписанным сертификатом и разместим его в реестре компьютера (АРМа генерации ключевой информации), это и будет исходный ключевой документ . Затем скопируем ключевую информацию на Рутокен ЭЦП и JaCarta ГОСТ, изготовив рабочие ключевые документы . После этого уничтожим исходный ключевой документ , удалив из реестра ключевой контейнер. И, наконец, попробуем скопировать ключевую информацию с рабочих ключевых документов обратно в реестр.

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

1. Создадим исходный ключевой документ .

Описание

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


























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

Описание

С помощью штатных средств СКЗИ КриптоПРО CSP (Пуск-->Панель управления-->КриптоПро 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).


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

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

В качестве одного из ключевых носителей использовался Рутокен ЭЦП. Через «Панель управления Рутокен» о нем можно получить следующую информацию:

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

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

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

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

Чтобы с помощью продуктов ООО “КРИПТО-ПРО” реализовать технологию ФКН, необходимо:

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

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

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

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


Выводы

  • Не верьте продавцам, чушь вам городящим. Использование обычных версий криптопровайдера КриптоПРО CSP и обычных Рутокен ЭЦП или JaCarta ГОСт не позволяют реализовать технологию ФКН.
  • Для использования технологии ФКН совместно с продуктами ООО «КРИПТО-ПРО» необходимы как специально подготовленные токены, содержащие апплет, с которым умеет работать СКЗИ, так и специальные версии криптопровайдера КриптоПРО CSP , которые умеют работать с апплетом на токенах.
  • Рутокен ЭЦП и JaCarta ГОСТ умеет самостоятельно реализовывать технологию ФКН, но для этого необходим специальный софт.

1. Начало работы

После одобрения оператором УЦ запроса на сертификат выпущенный сертификат можно скачать и установить через сайт УЦ.

Для этого необходимо зайти в личный кабинет на сайте удостоверяющего центра (УЦ):

1.1. запустить браузер Internet Explorer (для Windows XP/7/8/8.1/10);

1.2. перейти на главную страницу сайта УЦ по адресу: , после чего пройти по ссылке "Вход в личный кабинет" .


Главная страница сайта УЦ

2. Вход в личный кабинет

В открывшемся окне необходимо ввести логин и пароль , которые были высланы в письме от Отдела продаж, и нажать кнопку " Выполнить вход" .



Вход в личный кабинет

3. Скачивание сертификата

При нажатии кнопки " Выполнить вход" открывается Личный кабинет , где можно скачать выпущенный сертификат. Для этого в левой части окна необходимо нажать "Сертификаты – Действительные" , найти необходимый выпущенный сертификат и напротив него в столбце "Файл" нажать на ссылку " Скачать" .




Скачивание сертификата

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


Выбор действий со скачиваемым файлом

4. Работа с сертификатом

4.1. Запуск программы Крипто Про CSP

Чтобы установить сертификат для работы из реестра компьютера или съемного носителя, запустите программу Крипто Про CSP. Для этого зайдите в меню Пуск → Все программы → КРИПТО-ПРО → КриптоПро CSP .



Запуск КриптоПро CSP

4.2. Установка сертификата

В программе перейдите на вкладку " Сервис" и нажмите кнопку " Установить личный сертификат " .


Вкладка "Сервис"

В открывшемся окне нажмите на кнопку " Обзор" , выберите сертификат, который необходимо установить, и нажмите на кнопки " Открыть" и "Далее" .


Выбор файла сертификата

В окне "Сертификат для установки" отобразятся основные сведения, содержащиеся в устанавливаемом сертификате. Необходимо нажать "Далее" .


Просмотр сведений сертификата

В окне " Контейнер закрытого ключа" необходимо указать контейнер закрытого ключа, который соответствует устанавливаемому сертификату. Для автоматического поиска контейнера, соответствующего устанавливаемому сертификату, можно установить галочку в поле "Найти контейнер автоматически" .


Выбор контейнера закрытого ключа

* Важно:

  • если Вы хотите работать без съемного носителя (дискеты, флеш-накопителя, Рутокен, eToken и подобных носителей), то контейнер закрытого ключа, соответствующий устанавливаемому сертификату, должен находиться в реестре компьютера.
  • если Вы хотите работать со съемным носителем (дискетой, флеш-накопителем, Рутокен, eToken и подобным носителем), то контейнер закрытого ключа, соответствующий устанавливаемому сертификату, должен находится на съемном носителе.

В окне "Хранилище сертификатов" необходимо удостовериться, что в поле "Имя хранилища сертификатов" указано "Личное" , а в поле " Установить сертификат в контейнер" стоит галочка, после чего нажать "Далее" .


Хранилище сертификатов

В окне " Завершение работы мастера установки личного сертификата" убедитесь, что выбраны правильные параметры и нажмите кнопку "Готово" для выполнения установки сертификата.


Завершение установки

Также для успешного построения пути сертификации необходимо установить корневые сертификаты . Для этого:

  • скачайте файл Program Center CA.p7b по ;
  • нажмите по скачанному файлу правой кнопкой мыши и выберите "Установить сертификат" :




Установка корневых сертификатов

  • в открывшемся окне нажмите " Далее" :




Мастер импорта сертификатов

  • нажмите " Далее" :


Мастер импорта сертификатов