Как восстановить закрытый ключ сертификата с флешки

Обновлено: 14.05.2024

Дата публикации 19.01.2018

Чтобы перенести ключ криптопровайдера КриптоПро CSP с одного компьютера на другой, необходимо:

  1. Создать копию закрытого ключа на прежнем рабочем месте (компьютере), где первоначально подключен и настроен сервис "1С-Отчетность".
  2. Установить программу-криптопровайдер КриптоПро CSP на новом рабочем месте, с которого планируется использовать сервис "1С-Отчетность".
  3. Перенести копию ключа и восстановить закрытый ключ на новом рабочем месте, с которого планируется использовать сервис "1С-Отчетность".

В этой статье рассматривается создание копии закрытого ключа, ее перенос и восстановление закрытого ключа на новом рабочем месте, на котором планируется использование прежней учетной записи 1С-Отчетности.

Создание резервной копии закрытого ключа КриптоПро CSP

Если копия закрытого ключа создается на компьютере, где в информационной базе есть заявление на подключение к 1С-Отчетности, то чтобы узнать место хранения контейнера закрытого ключа выполните следующее (рис. 1):

  1. Перейдите в раздел "Настройки" в окне 1С-Отчетности.
  2. Перейдите по гиперссылке "Список заявлений".

Если в информационной базе нет заявления на подключение к 1С-Отчетности, то следуйте инструкции, начиная с рис. 3.


При этом откроется форма списка заявлений. Щелкните дважды по строке с заявлением, чтобы открыть его и перейдите к закладке "Служебная информация" (рис. 2).

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

В нашем примере: REGISTRY\\1cmastersystem_2017

Запомните имя файла контейнера, чтобы можно было выбрать его из списка, если на компьютере установлено несколько ключей.


Для копирования файла контейнера закрытого ключа необходимо открыть программу КриптоПро CSP (кнопка "Пуск" - Все программы" - "КРИПТО-ПРО" - "КриптоПро CSP") (рис. 3, 4).



Перейдите на закладку "Сервис" и нажмите кнопку "Скопировать" (рис. 5).


Появится окно копирования контейнера закрытого ключа (рис. 6).


Имя ключевого контейнера появится в строке выбора (рис. 7). Нажмите "Далее".


Введите имя для создаваемого ключевого контейнера и нажмите "Готово" (рис. 8).


Вставьте флеш-накопитель, на которую будет скопирован контейнер ключа, выберите ее в разделе "Устройства" и нажмите "ОК" (рис. 9).


Задайте пароль для создаваемого контейнера и нажмите "ОК" (рис. 10).


Контейнер ключа будет скопирован на флеш-накопитель.

Восстановление закрытого ключа КриптоПро CSP из резервной копии

Чтобы восстановить закрытый ключ из копии на новом рабочем месте (компьютере) необходимо сначала установить программу КриптоПро CSP.

Затем можно скопировать файл контейнера на диск или оставить на флеш-накопителе.

Если вы решили хранить закрытый ключ на диске, то его нужно установить его в специальный реестр.

Чтобы это сделать:

  1. Вставьте флеш-накопитель с копией ключа.
  2. Откройте программу КриптоПро CSP (кнопка "Пуск" - Все программы" - "КРИПТО-ПРО" - "КриптоПро CSP") (см. рис. 3).
  3. Перейдите к закладке "Сервис" и нажмите кнопку "Скопировать" (рис. 11).
  4. В окне копирования контейнера закрытого ключа нажмите кнопку "Обзор". При этом откроется окно выбора ключевого контейнера, в котором будут указаны все найденные контейнеры ключей, в т.ч. и находящиеся на флеш-накопителе.
  5. Выделите имя контейнера, находящегося на флеш-накопителе и нажмите "ОК".


Имя ключевого контейнера появится в строке выбора (рис. 12). Нажмите "Далее".

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


Введите имя для создаваемого ключевого контейнера (можно оставить прежнее имя) и нажмите "Готово" (рис. 13).

Выберите "Реестр" в разделе "Устройства" и нажмите "ОК".


Задайте пароль для создаваемого контейнера и нажмите "ОК" (рис. 14).


Далее требуется установить сертификат закрытого ключа в хранилище.

Откройте программу КриптоПро CSP (кнопка "Пуск" - Все программы" - "КРИПТО-ПРО" - "КриптоПро CSP") (см. рис. 3).

Перейдите на закладку "Сервис" и нажмите кнопку "Просмотреть сертификаты в контейнере" (рис. 15).


Если вы скопировали контейнер закрытого ключа в реестр, как описано выше, то выберите имя контейнера из реестра (указано в колонке "Считыватель"). Если не выполняли копирование и работаете с флеш-накопителя - выберите имя контейнера, который находится на флеш-накопителе.


Имя выбранного ключевого контейнера будет вставлено в окно "Сертификаты в контейнере закрытого ключа" (рис. 17). Нажмите "Далее".



Поскольку ЭЦП является ключевым моментом при подписании документов в рамках ЭДО и имеет большое правовое и финансовое значение, для нее необходима надежная защита. При внедрении ЭЦП в делопроизводство было решено применять защиту паролем и пин-кодом, аналогичным тому, которые используются для защиты банковских кредитных и дебетовых карт. Проверенный годами способ помогает с желаемой степенью надежности обеспечить защиту ЭЦП от посягательств мошенников. Но есть и обратная сторона медали. Пользователь может забыть свой пин-код. И если он не найдет у себя соответствующую запись, то не сможет воспользоваться ЭЦП в нужный момент. Как можно восстановить забытый пароль?

Стандартная ситуация

На самом деле забыть пин-код от ЭЦП гораздо проще, чем пароль от кредитной карты. Дело в том, что карточкой мы пользуемся ежедневно, а пин-код ЭЦП применяем гораздо реже. К примеру, мы вводим пин-код при установке ЭЦП на ПЭВМ, а в следующий раз он может нам понадобиться через несколько месяцев, если мы будем работать на другом компьютере. Мало кто может запомнить код, который использовал один раз полгода назад. Далеко не все надежно хранят записанные пароли. Поэтому потеря пин-кода является стандартной проблемой, и путь ее решения также для всех одинаковый.

Подробнее о пароле

Сразу отметим, что у ЭЦП могут быть два вида защиты: пин-код (как у банковской карты) и пароль (как у учетной записи на сайте того же банка, который выдал кредитную или дебетовую карту).

Продолжая аналогию с банковскими продуктами, рассмотрим особенности пароля. Пароль используется владельцем ЭЦП для внесения сертификата подписи на свой персональный компьютер или на любой обычный переносной диск памяти (флешку, например). Пароль пользователь придумывает сам, стараясь задать достаточно сложный набор из цифр, знаков и букв (как латинского, так и русского алфавита). Тот же пароль пользователь будет вводить при каждом сеансе работы с ЭЦП. Кажется, забыть его будет сложно. Но у браузеров компьютера имеется удобная опция – запоминание паролей. Если ею воспользоваться однажды, то во все последующие сеансы работы с ЭЦП ее владельцу можно будет не вводить пароль, что может спровоцировать его забывание.

Пин-код

Пин-код защищает не только ЦП, но и ее основной физический носитель – токен, выполненный в виде ЮСБ-флешки. Посторонние лица, даже завладев токеном, не смогут воспользоваться ЭЦП, также как не смогли бы снять деньги с чужой банковской карты, не зная ее пин-кода.

Пин-код применяется владельцем ЭЦП сразу после ее выпуска в процессе записи на токен. Токен – стандартное электронной устройство, которое изначально имеет заводской восьмизначный пин-код в виде ряда чисел от 1 до 8 по порядку. Понятно, что такой пин-код использовать небезопасно, поэтому после получения нового токена код нужно сменить.

Далее, как и при использовании пароля, пин-код будет необходим при каждой операции с ЭЦП. И так же, как и в случае с паролем, браузер предложить запомнить код. Чтобы не забыть его, нужно хранить резервную запись на электронном или бумажном носителе (но не держать ее вместе с токеном!).

 Пароль от ЭЦП или контейнера должен быть сложным, содержать символы и цифры

Если пароль забыт и потерян

Если держатель ЭЦП воспользовался опцией запоминания пароля (пин-кода) и благополучно забыл его, а запись на бумажном носителе потерял или не делал вовсе, то при смене компьютера или при его ремонте после неисправности он уже не сможет использовать ЭЦП. При этом проще восстановить доступ к банковской карте, чем сменить или восстановить забытый код сертификата электронной подписи. Дело в том, что пин-код или пароль не сможет восстановить даже выпустивший ЭЦП удостоверяющий центр. Хорошей новостью будет старинной изречение о том, что безвыходных ситуаций не бывает. Ведь пароль можно вспомнить или подобрать.

Восстанавливаем пароль подписи

Начнем с того, что ограничений на количество неправильных попыток ввода пароля нет, поэтому пароль можно будет подобрать. Проще подбирать пароли, в которых содержится какая-либо значимая для владельца информация (памятные даты, пароли от других сервисов, номера автомобилей, телефонов, кабинетов и т. п.). Можно также поднять СМС переписку с УЦ, который изначально присылает код активации, который также мог быть использован в качестве пароля.

Если пользователь задал пароль по всем правилам безопасности, использовав сложную и бессмысленную комбинацию букв, цифр и знаков, то подобрать забытый пароль, как правило, практически невозможно. В этом случае можно попытаться перенести со старого компьютера на новый всю папку контейнера, которая помимо сертификата ЭЦП может содержать и запомненный пароль. Иногда такой трюк срабатывает и ЭЦП продолжает применяться на новом компьютере без ввода забытого пароля.

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

Что делать с забытым пин-кодом токена

Невозможность восстановления пин-кода токена является гарантией его надежности. Очень важно, чтобы, даже завладев устройством, злоумышленники не могли бы использовать ЭЦП. Так что при потере заветной комбинации УЦ не сможет оказать помощь забывчивому владельцу ЭЦП. Остается полагаться только на свои силы и знания и попытаться решить вопрос одним из двух предлагаемых ниже способом.

1. Используем заводские настройки

Можно использовать то обстоятельство, что изначально на новые токены устанавливают стандартные заводские коды, которые, в зависимости от производителя, могут быть следующими:

  • 1234567890.
  • 12345678.
  • 0987654321.
  • 1111111.

Следует отметить, что использовать заводские настройки получается далеко не всегда. Поэтому целесообразно заранее вооружиться еще одним способом.

2. Метод подбора

В отличие от пароля, пин-код нельзя подбирать больше чем за 10 попыток. На десятой неверной попытке доступ к токену будет заблокирован. Но при этом есть способ получить возможность дополнительных попыток. Для этого пользователю понадобятся права администратора компьютера. Алгоритм действий будет следующим:

Шаг 1

Открыть панель управления устройством (токеном). Для большинства моделей это можно сделать через меню «Пуск», в котором выбираем кнопку панели управления токеном и открываем раздел администрирования. Важно учесть, что если при создании подписи не применялся пароль администратора, тогда его восстановить невозможно.

Панель eToken

 При работе с носителем eToken потребуется войти в административную панель.

Панель Рутокен

Шаг 2

В открывшейся ячейке вводим код администратора. В зависимости от производителя устройства эти коды будут следующими:

    «00000000»(РКI) + «1234567890» (ГОСТ) - Jacarta SE;

 Код администратора позволяет управлять токеном и его настройками.

Для входа в панель управления Рутокена, введи его административный пароль.

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

Шаг 3

Если код администратора подошел, то остается только нажать на клавишу разблокировки пин-кода токена и продолжить подбор пин-кода.

КриптоПро в помощь!

Если пользователю известен код администратора, то «обнулить» количество ввода пробных попыток пин-кода токена можно другим способом, использовав КриптоПроCSP, после входа в который в опции «Оборудование» выбираем команду «Настройка типов носителей». Из предложенных вариантов выбираем тип своего токена и открываем его свойства. После этого входим в раздел информации, где успешно снимаем блокировку пин-кода. Далее продолжаем подбор пин-кода токена.

В обоих случаях мы получаем лишь возможность продолжить подбор пин-кода. И если подобрать его не удается, то, как и в случае с навечно забытым паролем, придется обращаться в УЦ за новым сертификатом ЭЦП. Старый сертификат также потребуется отозвать, но при том можно повторно использовать токен, предварительно отформатировав его.

Если ЭЦП записывается на новое устройство, то не стоит забывать о том, что по умолчанию на нем будут стоять заводские настройки. Несмотря на возможность повторной потери пин-кода, заводской код все же лучше сменить на собственный, более надежный. При этом настоятельно рекомендуется сохранить пин-код, чтобы вновь не сталкиваться проблемой его восстановления.

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Введение

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

  1. Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
  2. Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.

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

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

Копирование закрытого ключа через оснастку КриптоПро

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

Копирование закрытого ключа сертификата через оснастку КриптоПро

Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.

Выбор контейнер для экспорта

Ошибка копирования контейнера

Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:

Ошибка копирования контейнера

Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии. Либо вы просто не сможете его выбрать для копирования, если у вас последняя версия CryptoPro. Он будет неактивен:

Неэкспортируемый контейнер

Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему. Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Делаем это там же на вкладке Сервис в оснастке CryptoPro. Нажимаем Посмотреть сертификаты в контейнере.

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

Выбираем необходимый сертификат и нажимаем Посмотреть свойства сертификата.

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

Далее переходим на вкладку Состав в информации о сертификате и нажимаем Копировать в файл.

Сохранение сертификата КриптоПро в файл

Если у вас после слов "Экспортировать закрытый ключ вместе с сертификатом" нет возможности выбрать ответ "Да, экспортировать закрытый ключ", значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.

Невозможно экспортировать закрытый ключ

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

Формат экспортируемого ключа

Укажите какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В завершении укажите имя файла, куда вы хотите сохранить закрытый ключ. Теперь вам нужно скопировать сам сертификат. Только что мы копировали закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять выбираете этот же сертификат в списке из оснастки Crypto Pro, жмёте Копировать в файл, экспортировать БЕЗ закрытого ключа. И выбираете файл формата .CER.

Перенос сертификата

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

Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.

Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер

В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже. Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:

Как узнать SID пользователя

В данном случай user - имя учетной записи, для которой узнаем SID. Далее скопируем контейнеры закрытых ключей в файл. Для этого на компьютере открываем редактор реестра (regedit.exe) и переходим в ветку:

где S-1-5-21-4126888996-1677807805-1843639151-1000 - SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее. Этот путь актуален для 64-х битных систем - Windows 7, 8, 10. В 32-х битных путь может быть немного другой. Я специально не проверял, но поиском по реестру вы при желании найдете его.

Массовый перенос закрытых ключей сертификатов с компьютера на компьютер

Сохраняем ветку реестра в файл. В ней хранятся закрытые ключи. Теперь нам нужно скопировать сразу все сертификаты. В Windows 7, 8 и 10 они живут в директории - C:\Users\user\AppData\Roaming\Microsoft\SystemCertificates\My. Сохраняйте эту директорию. Для переноса ключей и сертификатов нам надо скопировать на другой компьютер сохраненную ветку реестра и директорию с сертификатами My.

После того, как перенесли файлы со старого компьютера на новый, открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.

Замена SID пользователя

После этого запускаем .reg файл и вносим данные из файла в реестр. Теперь скопируйте папку My с сертификатами в то же место в профиле нового пользователя. На этом перенос сертификатов и контейнеров закрытых ключей КриптоПро завершен. Можно проверять работу. Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью, чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.

КриптоПро CSP ошибка 0x80090010 Отказано в доступе

Иногда после переноса контейнеров закрытых ключей через экспорт - импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:

КриптоПро CSP ошибка 0x80090010 Отказано в доступе

Права доступа в реестре на ключи

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

Часто задаваемые вопросы по теме статьи (FAQ)

Можно ли перенести сертификат, который находится на токене и защищен от копирования?

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

Безопасно ли хранить сертификаты в реестре?

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

Подойдет ли предложенный способ копирования сертификатов CryptoPro для VipNet?

Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.

Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.

Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.


Довольно часто при оформлении сертификатов ключей электронной подписи можно наблюдать навязчивый пиар токенов с неизвлекаемым ключом. Продавцы из удостоверяющих центров уверяют, что, купив у них СКЗИ КриптоПРО 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. после изготовления необходимого количества рабочих ключевых документовисходный ключевой документ уничтожается или депонируется на хранение в орган криптографической защиты информации.

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

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









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





Таким образом получили рабочие ключевые документы на JaCarta ГОСТ (контейнер test-key-jacarta) и Рутокен ЭЦП (контейнер test-key-rutoken). Штатными средствами СКЗИ КриптоПРО 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. Это и позволит использовать токен как ФКН.

Читайте также: