Записки IT специалиста
- Автор: Уваров А.С.
- 21.09.2020
КриптоПро один из наиболее широко используемых криптопровайдеров на территории Российской Федерации, он широко используется в системах электронного документооборота, сдачи отчетности и взаимодействия с государственными органами, поэтому встретить его можно практически в любой организации. По этой причине у системных администраторов часто встает вопрос его переноса на другой ПК. А так как криптография является для многих сложной и непонятной областью, то эта простая задача может вызвать некоторые затруднения.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Если вы ранее не сталкивались с криптографией вообще, то рекомендуем прочитать нашу статью: Введение в криптографию. Общие вопросы, проблемы и решения. Здесь мы не будем углубляться в теорию, но приведем некоторый необходимый ликбез.
В повседневной деятельности широко распространено понятие «сертификат», им оперируют все, от сотрудников удостоверяющих центров, то бухгалтеров, работающих с ЭЦП. Часто можно услышать что-то подобное: «нам купили в бухгалтерию новый компьютер, нужно перенести сертификаты». Но если подходить с точки зрения криптографии, то слово «сертификат» в данном случае употребляется неправильно. Вся современная криптография строится вокруг инфраструктуры открытых ключей (PKI), которая подразумевает наличие у каждого участника ключевой пары: открытого и закрытого ключа.
Закрытый ключ является секретным, с его помощью мы можем подписывать документы, шифровать информацию и т.д. и т.п. Закрытый ключ Усиленной квалифицированной электронной подписи (УКЭП) равнозначен нотариально заверенной подписи и его попадание в чужие руки может привести к самым тяжелым последствиям.
Открытый ключ, дополненный некоторыми дополнительными данными, выпускается в форме сертификата и является публично доступным, с его помощью можно проверить действительность цифровой подписи, выполненной закрытым ключом или убедиться в подлинности участника обмена электронными документами.
Поэтому, когда мы говорим о переносе «сертификатов», то подразумеваем необходимость перенести ключевую пару: закрытый ключ и сертификат, перенос одних только сертификатов не принесет успеха, криптография на новом узле работать не будет.
Выяснив этот момент, перейдем к хранилищам закрытых ключей. КриптоПро предполагает в таком качестве токены, флеш-накопители и системный реестр. Токены являются наиболее защищенными устройствами, извлечь закрытый ключ из них невозможно, и вы можете не опасаться несанкционированного копирования (для этого закрытый ключ должен быть помечен как неэкспортируемый). Флеш-накопители представляют некий компромисс между безопасностью и мобильностью, а реестр удобен в тех случаях, когда на одном ПК нужно одновременно работать с большим количеством ключей. И именно с ним связаны определенные сложности при переносе на другой узел.
Копирование с помощью КриптоПро CSP
1. Выбрать Пуск / Панель Управления / КриптоПро CSP.
2. Перейти на вкладку Сервис и кликнуть по кнопке Скопировать контейнер.
3. В окне «Копирование контейнера закрытого ключа» нажмите на кнопку «Обзор».
4. Выберите контейнер, который необходимо скопировать, и кликните по кнопке «Ок», затем «Далее».
5. Если вы копируете с защищённого ключевого носителя, то появится окно ввода, в котором следует указать pin-код.
6. Если вы не меняли pin-код на носителе, стандартный pin-код необходимо вводить соответственно его типу:
Rutoken — стандартный pin-код 12345678
eToken /JaCarta – 1234567890
7. В следующем окне необходимо ввести имя Вашей копии. Придумайте и укажите вручную имя для нового контейнера. В названии контейнера допускается русская раскладка и пробелы. Затем кликните «Готово».
8. В окне «Выбор ключевого носителя» выберите носитель, на который будет помещен новый контейнер.
9. На новый контейнер будет предложено установить пароль. Рекомендуем установить такой пароль, чтобы вам было легко его запомнить, но посторонние не могли его угадать или подобрать. Если вы не хотите устанавливать пароль, можно оставить поле пустым и нажать «ОК».
В случае утери пароля/pin-кода использование контейнера станет невозможным.
10. Если вы копируете контейнер на смарт-карту ruToken/eToken /JaCarta, окно запроса будет выглядеть так:
11. В окне ввода укажите pin-код. Если вы не меняли pin-код на носителе, стандартный pin-код
Rutoken — 12345678
eToken /JaCarta – 1234567890
12. После копирования система вернется на вкладку «Сервис» КриптоПро CSP. Копирование завершено.
13. Для работы с копией ключевого контейнера необходимо установить личный сертификат.
14. В меню Пуск выберите пункт «КРИПТО-ПРО», запустите приложение «КриптоПро CSP»
15. Перейдите на вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере»:
16. В следующем окне нажмите кнопку Обзор, чтобы выбрать контейнер для просмотра (в нашем примере контейнер находится в Реестре):
17. После выбора контейнера нажмите кнопку Ок, затем Далее
18. Если после нажатия на кнопку Далее Вы видите такое сообщение:
19. «В контейнере закрытого ключа отсутствует открытый ключ шифрования», следует установить сертификат по рекомендациям, описанным в разделе «Установка через меню «Установить личный сертификат».
20. В окне Сертификат для просмотра нажмите кнопку Установить:
21. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:
22. Дождитесь сообщения об успешной установке:
23. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Массовое копирование
- Скачайте и запустите утилиту. Дождитесь загрузки всего списка контейнеров/сертификатов и отметьте нужные галочками.
- Выберите меню «Массовые действия» и нажмите на кнопку «Копирование контейнеров».
3. Выберите носитель для хранения копии контейнера и нажмите «ОК». При копировании в реестр можно поставить галочку на пункте «Копировать к ключевой контейнер компьютера», тогда после копирования контейнер будет доступен всем пользователям данного компьютера.
4. После копирования нажмите внизу слева кнопку «Обновить».
Если хотите работать со скопированными контейнерами — необходимо установить сертификаты.
Копирование с помощью «КриптоПро CSP»
Утилиты «КриптоПро» позволяют извлечь закрытый контейнер и перенести его и с флешки на флешку, и с компьютера на другой компьютер при помощи съемного носителя.
Пошаговая инструкция, как скопировать ЭПЦ с компьютера на флешку при помощи программы криптографической защиты.
Шаг 1. Заходим в «Пуск», затем в панель управления и переходим в «КриптоПро». Нам понадобится раздел «Сервис».
Шаг 2. Выбираем действие «Скопировать контейнер».
Шаг 3. В открывшемся окне заполняем имя ключевого контейнера (находим в списке реестра) и криптопровайдер (CSP) для поиска контейнера.
Шаг 4. Система потребует ввести пароль к закрытому ключу — вводим. Переходим в блок копирования контейнера.
Вводим имя нового ключевого контейнера. Определяем положение хранилища — «Пользователь» или «Компьютер».
Шаг 5. Выбираем носитель.
Вводим новый пароль (или ПИН-код для токена), подтверждаем и запоминаем его. Готово!
Копировать ключевой контейнер получится, только если при создании разработчик присвоил ему параметр «Экспортируемый». Если же нет, то система выдаст ошибку о том, что ЭЦП нельзя использовать в указанном состоянии.
Перенос КриптоПро, ключей ЭЦП, сертификатов с одного компьютера на другой
Инструкция по переносу лицензии КриптоПро, закрытых ключей ЭЦП и сертификатов с одного компьютера на другой.
1. Перенос лицензии криптопро.
Серийный номер КриптоПро CSP 3.6 находится в ветке реестра
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInstallerUserDataS-1-5-18Products 5480A45343B0B0429E4860F13549069InstallProperties
в значении параметра ProductID (имя раздела 05480A45343B0B0429E4860F13549069 может оказаться другим).
2. Перенос закрытых ключей ЭЦП. (Имеются ввиду ЭЦП хранящиеся в реестре, для ключей хранящихся на флешках, и токенах действие не требуется.)
2.1 Узнать SID текущего пользователя (нужен пользователь у которого ключи).
Способ 1: командой
Способ 2:Найти ветку реестраHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList.Выбрать SID (имеет вид, например, S-1-5-21-1993962763-492894223-1202660629-6195), и посмотреть ProfileImagePath, в конце строки найдете имя пользователя, которому принадлежит этот SID.
2.2. Для 32 битных систем нужно экспортировать ветку HKEY_LOCAL_MACHINESOFTWARECrypto ProSettingsUSERSSID_текущего_пользователяKeys в reg-файл.
Для 64-битных систем нужно экспортировать ветку HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCrypto ProSettingsUSERSSID_текущего_пользователяKeys.
Эти ветки доступны только для текущего пользователя и при попытке открыть их от имени другого получим: «Не удается открыть . Не удается открыть этот раздел из-за ошибки. Сведения: Отказано в доступе.» Если у вас нет возможности залогиниться под нужным пользователем, то вам поможет утилита Марка Руссиновича psexec (скачать можно с течнета или отсюда) , которая позволяет запускать процессы от имени системной учетки. С помощью psexec запускаем regedit от имени системы:
psexec -i -d -s c:windowsregedit.exe
и нам становятся доступны все разделы. Этот же трюк спасет если система вообще не загружается, нужно скопировать файл C:WindowsSystem32configSOFTWARE и загрузить его как куст реестра, главное, чтобы файл не был поврежден.
2.3. В reg-файле меняем через автозамену SID_текущего_пользователя, на SID пользователя в новой сисмеме.
2.4. Запускаем reg-файл, после этого все готово, но необходимо будет заново установить личные сертификаты для того что бы привязать сертификаты к контейнерам. Если не видно контейнеров, то неправильно указали SID_пользователя, т.к. контейнеры видны только под тем пользователем, под SID’ом которого они находятся.
Если перенести ключи данным способом не получается можно скопировать ЭЦП на флешку (КриптоПро: Перенос ключей ЭЦП с дискет на флешку или в реестр).
3. Перенос сертификатов.
Способ 1. Экспорт-импорт сертификатов. Выполнить certmgr.msc. В открывшемся окне переходим Личное->Сертификаты. Далее правой кнопкой по сертификату -> Все задачи -> Экспорт. В мастере экспорта нажимаем далее, выбираем экспортировать закрытый ключ или нет, выбираем нужный формат и нажимаем далее. Импорт личных сертификатов, которые используются в КриптоПро, нужно делать через
Панель управления -> КриптоПро -> вкладка «Сервис» -> «Установить личный сертификат».
При установке личных сертификатов средствами Windows не выполняется привязка закрытого ключа ЭЦП, и, очевидно, работать ничего не будет.
Способ 2. Установка сертификатов из контейнеров ЭЦП. При установке личного сертификата в КриптоПро версии 3.6 и выше существует возможность скопировать сертификат в контейнер закрытого ключа. Данная процедура позволяет значительно облегчить процесс переноса. Если сертификат установлен в контейнер закрытого ключа, не нужно ни чего экспортировать, достаточно просто перенести контейнеры, а потом зайти в
Панель управления -> КриптоПро -> вкладка «Сервис» ->»Просмотреть сертификаты в контейнере»
выбрать нужный контейнер и нажать кнопки «Далее» и «Установить».
В том случае, если нужно перенести 100500 ключей сразу, поможет одна из составляющих пакета PKI Tools, которая автоматизирует процесс установки сертификатов из контейнеров. Скачать пакет можно отсюда или отсюда.
Восстановление закрытого ключа КриптоПро CSP из резервной копии
Чтобы восстановить закрытый ключ из копии на новом рабочем месте (компьютере) необходимо сначала установить программу КриптоПро CSP.
Затем можно скопировать файл контейнера на диск или оставить на флеш-накопителе.
Если вы решили хранить закрытый ключ на диске, то его нужно установить его в специальный реестр.
Чтобы это сделать:
- Вставьте флеш-накопитель с копией ключа.
- Откройте программу КриптоПро CSP (кнопка «Пуск» — Все программы» — «КРИПТО-ПРО» — «КриптоПро CSP») (см. рис. 3).
- Перейдите к закладке «Сервис» и нажмите кнопку «Скопировать» (рис. 11).
- В окне копирования контейнера закрытого ключа нажмите кнопку «Обзор». При этом откроется окно выбора ключевого контейнера, в котором будут указаны все найденные контейнеры ключей, в т.ч. и находящиеся на флеш-накопителе.
- Выделите имя контейнера, находящегося на флеш-накопителе и нажмите «ОК».
Имя ключевого контейнера появится в строке выбора (рис. 12). Нажмите «Далее».
В случае, если для контейнера был задан пароль, введите его в окне ввода пароля и нажмите «ОК».
Введите имя для создаваемого ключевого контейнера (можно оставить прежнее имя) и нажмите «Готово» (рис. 13).
Выберите «Реестр» в разделе «Устройства» и нажмите «ОК».
Задайте пароль для создаваемого контейнера и нажмите «ОК» (рис. 14).
Далее требуется установить сертификат закрытого ключа в хранилище.
Откройте программу КриптоПро CSP (кнопка «Пуск» — Все программы» — «КРИПТО-ПРО» — «КриптоПро CSP») (см. рис. 3).
Перейдите на закладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере» (рис. 15).
Нажмите кнопку «Обзор» в окне «Сертификаты в контейнере закрытого ключа» и выберите имя контейнера из списка (рис. 16).
Если вы скопировали контейнер закрытого ключа в реестр, как описано выше, то выберите имя контейнера из реестра (указано в колонке «Считыватель»). Если не выполняли копирование и работаете с флеш-накопителя — выберите имя контейнера, который находится на флеш-накопителе.
Имя выбранного ключевого контейнера будет вставлено в окно «Сертификаты в контейнере закрытого ключа» (рис. 17). Нажмите «Далее».
При этом появится окно сертификата для просмотра (рис. 18). Нажмите кнопку «Установить».
При этом появится сообщение об успешной установке сертификата в хранилище (рис. 19).