ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

У этого термина существуют и другие значения, см. Сертификат.

Цифровой сертификат — выпущенный удостоверяющим центром электронный или печатный документ, подтверждающий принадлежность владельцу открытого ключа или каких-либо атрибутов.

Содержание
  1. Что такое открытый ключ
  2. Экспорт файла открытого ключа с помощью Крипто Про.
  3. Создание и преобразование сертификата
  4. Создание сертификатов PKCS#12
  5. Создание сертификата сертифицирующей организации
  6. Создание пользовательского сертификата
  7. Преобразование сертификата в формат PKCS#12
  8. Создание списка недействительных сертификатов
  9. Как вытащить сертификат ключа проверки ЭЦП
  10. Режимы обмена информацией
  11. Как мы можем помочь?
  12. Виды сертификатов X. 509
  13. Зачем нужны открытый и закрытый ключ ЭЦП
  14. Копируем сертификат ЭЦП через «Инструменты КриптоПро»
  15. Схема работы агентства по выдаче персональных сертификатов
  16. Экспорт из хранилища Личные
  17. Экспорт с помощью КриптоПро CSP
  18. Компоненты открытого ключа
  19. Компоненты закрытого ключа
  20. Поддерживаемые алгоритмы шифрования
  21. Копируем сертификат ЭЦП через КриптоПро CSP
  22. Какую ЭЦП можно скопировать
  23. Сущность технологии ЭЦП
  24. Связь с форматом PFX
  25. Особенности реализации PKCS#12 в LirJSSE
  26. Проверка электронной подписи
  27. Открытая часть ключа ЭЦП
  28. Понятие закрытого ключа
  29. Обработка пароля пользователя
  30. Параметры обработки пароля
  31. Идентификатор алгоритма обработки пароля

Что такое открытый ключ

Открытый ключ ЭЦП доступен для всех пользователей информационной системы. По своей сути это цифровой код. Сертификат открытого ключа ЭЦП используется для идентификации владельца и в качестве исходных данных для шифрования. В состав сертификата входят данные:

уникальный номер, присваиваемый в ходе регистрации;

личные сведения о держателе, включая реквизиты эмитента — удостоверяющего центра и Ф. И. О. владельца

срок действия выданного сертификата


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Из нашей статьи вы узнаете:

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

В аккредитованном удостоверяющем центре пользователю выдают сертификат, закрытый и открытый ключ. Сертификат содержит в себе срок действия подписи и информацию о владельце ЭЦП. Открытый и закрытый ключ нужны для создания и расшифровки КЭП. Эти файлы могут записываться на физический носитель — USB-токен, который внешне напоминает флешку. Чтобы поставить подпись, токен вставляют в компьютер. Для подписи документов без подключения носителя к компьютеру нужно скопировать ключи ЭЦП с флешки на ПК.

В статье — подробная инструкция, как это сделать.

ЭЦП — это устаревшее понятие. Расшифровывается как «электронная цифровая подпись». В настоящее время законодательством закреплено название ЭП, которое расшифровывается как «электронная подпись»

Для того, чтобы скопировать открытый ключ следует выполнить несколько действий. В данной инструкции они приведены пошагово. Убедитесь в том, что на вашем компьютере установлено ПО «КриптоПро CSP».

Запустите программу КриптоПро CSP.

Запустить КриптоПро CSP можно следующими способами:

После того, как откроется программа КриптоПро CSP, перейдите на вкладку «Сервис»


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Нажмите кнопку «Просмотреть сертификаты в контейнере».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

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


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Выберите из списка предложенных контейнеров сертификатов ЭП нужный и нажмите «Ок».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

После того, как вы выберите контейнер с электронной подписью, он автоматически появится в поле «Имя ключевого контейнера». Нажмите кнопку «Далее».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

В следующем окне откроется сертификат для просмотра. Нажмите кнопку «Свойства».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

В следующем окне откроется открытый ключ (сертификат) электронной подписи. Выберите вкладку «Состав», а затем поле «Субъект» и нажмите кнопку «Копировать в файл».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Далее откроется окно мастера копирования сертификата. Нажмите кнопку «Далее».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

При запросе на экспортирование закрытого ключа поставьте точку в поле «Нет, не экспортировать» и нажмите кнопку «Далее».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

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

Экспорт файла открытого ключа с помощью Крипто Про.

Для этого необходимо проделать следующие действия:

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

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

В открывшемся файле сертификата следует перейти на вкладку «Состав» и нажать кнопку «Копировать в файл».

В открывшемся окне «Мастер экспорта сертификатов» нажать на кнопку «Далее». Затем отметить пункт «Нет, не экспортировать закрытый ключ» и выбрать «Далее».

В окне «Формат экспортируемого файла» выбрать «Файлы X.509 (. CER) в кодировке DER» и нажать на кнопку «Далее».

В следующем окне необходимо кликнуть по кнопке «Обзор», указать имя и каталог для сохранения файла. Затем нажать на кнопку «Сохранить».

В следующем окне нажать на кнопку «Далее», затем «Готово». Дождаться сообщения об успешном экспорте. Закрыть все окна программы Крипто Про.

Если вы планируете отправлять файл открытого ключа в службу технической поддержки на электронную почту, то заархивируйте его. Для этого, нажмите правой кнопкой мыши по файлу открытого ключа и выберете в меню пункт «Добавить в архив» (Add to archive) или пункт «7 Zip» — добавить файл в архив.

Остались вопросы? Как мы можем помочь?

В криптографии PKCS#12 — один из стандартов семейства Public-Key Cryptography Standards (PKCS), опубликованных RSA Laboratories. Он определяет формат файла, используемый для хранения и/или транспортировки закрытого ключа (en:Private key), цепочки доверия от сертификата пользователя до корневого сертификата удостоверяющего центра и списка отзыва сертификатов (CRL). Защита файла осуществляется одним из двух способов: безопасным, с использованием доверенной ключевой пары (открытый/закрытый ключи, подходящие для цифровой подписи и шифрования) или менее безопасным, с использованием симметричного ключа, основанного на пароле. Второй подходит для случаев, когда использование доверенных пар открытый/закрытый ключей недоступны. Формат PKCS#12 — это формат, предназначенный для хранения ключевой пары (закрытый ключ и сертификат), который распознаётся и используется многими браузерами и почтовыми агентами. В файлах PKCS#12 хранятся одновременно и сертификат, и закрытый ключ (разумеется в зашифрованном виде). Примерная организация PKCS#12 файла показана на рисунке справа.

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

Стандарт реализован как аппаратно, так и программно. Пример аппаратной реализации — защищённые опознавательные знаки, такие как Смарт-карта и PC Card.

Этот стандарт может быть рассмотрен как надстройка над стандартом PKCS8. Включена дополнительная идентификационная информация, включающая закрытые ключи. Введён режим высокой безопасности с помощью сокрытия открытого ключа.

Создание и преобразование сертификата

Расширение файла: «.p12» или «.pem». Эти файлы могут быть созданы с помощью OpenSSL.

Создание сертификатов PKCS#12

Основано на статье: Creating PKCS12 Certificates

Создайте каталог (например, cert) и перейдите в него. Создайте в нём пустой файл certindex.txt Выполните команды:

В этом каталоге создаём файл конфигурации openssl.conf следующего содержимого:

#
# OpenSSL configuration file.
#

# Establish working directory.
dir = .

Создание сертификата сертифицирующей организации

openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 365 -config ./openssl.conf

При запросе пароля указывайте пароль не менее 4 символов. На все остальные запросы можно нажать Enter.

Создание пользовательского сертификата

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

Теперь для каждого пользователя создаём сертификат PKCS12. Выполняйте по одной команде:

openssl req -new -nodes -out $name-req.pem -keyout private/$name-key.pem -days 365 -config ./openssl.conf

openssl ca -out $name-cert.pem -days 365 -config ./openssl.conf -infiles $name-req.pem

openssl pkcs12 -export -in $name-cert.pem -inkey private/$name-key.pem -certfile cacert.pem -name «description» -out $name-cert.p12

При запросе пароля указывайте пароль, заданный при создании сертификата CA. На все остальные запросы можно нажать Enter.

Этот файл можно импортировать в Firefox или Thunderbird, а потом использовать в OpenOffice.org.

Преобразование сертификата в формат PKCS#12

Предположим, что нам необходимо создать файл cert.p12. Допустим, что у нас имеются файлы с закрытым ключом prkey.pem и файл с сертификатом cert.pem. Выполнить это можно с помощью команды openssl pkcs12:

openssl pkcs12 -export -in cert.pem -inkey prkey.pem -name «My Certificate» -out cert.p12

здесь -name это ключ, которым задается идентификатор вашего сертификата. Таким образом в нашем примере строка «My Certificate» будет отображаться в пользовательской программе. При попытке обратиться к сертификату вас вначале попросят ввести пароль к текущему закрытому ключу, а потом пароль от PKCS#12-файла (*.p12). Причем пароль от PKCS#12-файла запросят два раза.

Создание списка недействительных сертификатов

По истечении определённого срока сертификат становится недействительным. Если это сертификат сотрудника, то, например, после его увольнения сертификат необходимо считать недействительным. Если секретный ключ сертификата стал достоянием общественности по каким-либо причинам, то его тоже необходимо внести в список недействительных сертификатов (CRL). Для управления CRL можно воспользоваться командой openssl ca.

openssl ca -gencrl -out crl.pem

Добавление ненужных сертификатов осуществляется с помощью команды:

openssl ca -revoke bad_cert.pem

После каждого применения revoke необходимо обновлять CRL командой

Больше информации можно узнать в мануале, использовав в терминале Linux команду man pkcs12 или по ссылке pkcs12

.

Однако, это не верно и в отношении объектов сертификата. Причина этого в том, что обеспечение целостности PKCS#12-файлов не является обязательной, как показано здесь:

Так как этот контроль опционален, то он может быть отключён и тогда содержимое файла может быть изменено без обнаружения или предупреждения. Таким образом контроль доступа не требуется для добавления объектов сертификата. В этом случае сертификаты используются в SSL PKI как Trust Anchor и это даёт возможность злоумышленнику вставить Trust Anchor своего центра сертификации в эти файлы без необходимости какой-либо авторизации.

С того момента, как Trust Anchor злоумышленника вставлен в атакуемую систему она будет доверять и признавать любой сертификат, выпущенный центром сертификации атакующего.

Атака может быть произведена по схеме человек посередине, который перехватывает файлы во время транспортировки, вставляет вражеский Trust Anchor. В этом случае атака может так же работать против систем, не использующих PKCS#12-файлы, как хранилище ключей, но эта атака имеет недостаток, что фальшивый сертификат может быть обнаружен после выявления факта атаки.

Как вытащить сертификат ключа проверки ЭЦП

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

Для удобства подготовили для вас материалы о ЭЦП, из которых вы узнаете:

Режимы обмена информацией

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

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

Как мы можем помочь?

Как проверить срок действия электронной подписиКак скопировать электронную подпись

Виды сертификатов X. 509

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

Сертификат открытого ключа используется для идентификации субъекта и уточнения операций, которые субъекту разрешается совершать с использованием закрытого ключа, соответствующего открытому ключу, удостоверяемому данным сертификатом.

VeriSign предложила следующую концепцию классификации цифровых сертификатов :

Зачем нужны открытый и закрытый ключ ЭЦП

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

Копируем сертификат ЭЦП через «Инструменты КриптоПро»

Этот способ можно использовать на операционных системах Windows и MacOS.

Шаг 1. Откройте приложение «Инструменты КриптоПро» и выберите вкладку «Контейнеры».

Шаг 2. Выберите носитель, на который записан сертификат ЭЦП — то есть, USB-флешку. Нажмите на кнопку «Скопировать контейнер».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 3. В открывшемся окне выбора нового носителя для сертификата выберите опцию «Реестр» и нажмите «ОК».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 4. Вернитесь к списку контейнеров. Выберите тот, что скопировали, по считывателю Registry и нажмите на кнопку «Установить сертификат».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 5. Когда появится уведомление о том, что сертификат успешно установлен, вытащите флешку из разъёма компьютера и проверьте, как работает ваша ЭЦП без токена

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

Настройка электронной подписи на ПК требует определённых знаний и трудозатрат. Для экономии времени рекомендуем услугу «Удалённая настройка рабочего». Наши специалисты установят криптопровайдер, плагин и проведут настройки браузера.

Ещё несколько лет назад криптографические системы применялись лишь в исключительных случаях: в правительственных организациях, спецслужбах и иных критических к безопасности данных системах. Однако в настоящее время бурное развитие компьютерных сетей и Интернета заставляет задумываться об обеспечении безопасности всё большее количество людей. В настоящее время все озабочены безопасностью передаваемых по сети данных. В результате чего появилось множество различных сертификатов, методов шифрования. В данной статье будет рассмотрен формат хранения ключей PKCS#12 и некоторые проблемы, связанные с безопасным хранением закрытых ключей сертификатов.

В течение многих лет большое количество форматов хранения создавалось в дополнение оригинальным форматам PKCS5 и PKCS8, которые были ограничены в использовании DES и MD5. Это привело к распространению несовместимых и зачастую небезопасных форматов хранения закрытого ключа. Вершиной этого стал чрезвычайно сложный формат PKCS12 с его смешением несовместимых идентификаторов объектов, алгоритмов, содержания данных и требований к обработке. В результате этого смешения реализация была и небезопасна и несовместима со старыми версиями. Так как требования не обеспечивали достаточно информации, для реализации совместимых версий. Другая проблема этого формата — раздутие данных, что делало его бесполезным для использования в устройствах с ограниченным количеством памяти, таких как смарт карты.

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

Схема работы агентства по выдаче персональных сертификатов

Экспортировать файла открытого ключа можно одним из способов:

Экспорт из хранилища Личные

Для экспорта файла открытого ключа из хранилища Личные выполните следующее:

Экспорт с помощью КриптоПро CSP

Пара закрытого/открытого ключа состоит из двух наборов параметров. Открытые параметры с дополнительной идентификационной информацией, такой как имена пользователей и e-mail адреса, хранятся не зашифрованными. Закрытые параметры в основном хранятся с использованием некоторого механизма защиты, такого как шифрование.

Формат контейнера был определён на основе формата, реализованного в PKCS#7 и S/MIME. Следующий идентификатор объекта идентифицирует безопасный тип хранения содержимого закрытого ключа.

Безопасный тип хранения содержимого закрытого ключа должен иметь ASN.1 SecuredPrivateKey тип:

Поля типа SecuredPrivateKey имеют следующие значения:

version — номер версии синтаксиса, должен быть равен 0.

publicKey — открытая компонента ключа и дополнительная идентификационная информация о владельце ключа.

privateKey — защищённый закрытый ключ, состоящий из идентификатора типа содержимого и самого содержимого.

Компоненты открытого ключа

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

В этой простейшей форме открытый ключ хранится как SubjectPublicKeyInfo. Однажды, когда был сгенерирован запрос сертификации, ‘сырая’ информация о открытом ключе может быть заменена в соответствии с требованием и, когда ключ сертифицирован, или сертификат или, полный шифр сертификата может быть сохранён.

Компоненты закрытого ключа

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

Например, для RSA:

Для DSA и схемы Эль-Гамаля:

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

Поддерживаемые алгоритмы шифрования

PKCS#12 поддерживает следующие алгоритмы шифрования:

Кроме того также поддерживается режим PKCS#5 v1.5. Это позволяет пользоваться следующими алгоритмами:

Использование PKCS#5 v2.0 позволит использовать произвольный алгоритм шифрования.

OpenSSL может обрабатывать PKCS#5 v1.5 и v2.0 в файлах PKCS#12, однако другие реализации не поддерживаются.

В следующей таблице собраны данные о поддержки различного шифрования:

По умолчанию сильнейшее шифрование поддерживается всеми реализациями приложений, использующих PKCS#12: 3DES для закрытых ключей и RC2-40 для сертификатов. Также дополнительный опции позволяют шифровать сертификат с помощью 3DES.

Следует отметить, что в то время как множественные версии Netscape будут импортировать файлы с помощью разных алгоритмов, тогда как MSIE, кажется, поддерживает только RC2 и 3DES.

Копируем сертификат ЭЦП через КриптоПро CSP

Этот способ подходит для ОС Windows.

Шаг 1. Вставьте носитель в USB-разъём.

Шаг 2. Откройте приложение КриптоПро CSP и выберите вкладку «Сервис».

Шаг 3. Найдите раздел «Контейнер закрытого ключа» и нажмите на кнопку «Скопировать».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 4. Откроется окно «Копирование контейнера закрытого ключа». В нём нажмите на кнопку «Обзор».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 5. Из списка контейнеров выберите тот, что установлен на флешку-токен, и нажмите «ОК».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 6. Придумайте название для нового контейнера закрытого ключа и нажмите «Готово».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 7. Откроется окно «Выбор ключевого носителя КриптоПро CSP». Чтобы использовать реестр Windows, выберите опцию «Реестр» и нажмите «Готово».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

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


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

После этого появится сообщение о том, что сертификат успешно скопирован в локальный реестр. Нажмите «ОК».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 9. Снова откройте КриптоПро CPS, найдите раздел «Сертификаты в контейнере закрытого ключа». Выберите «Просмотреть сертификаты в контейнере».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 10. В открывшемся окне нажмите на кнопку «Обзор». В списке найдите новый контейнер по считывателю «Реестр» и по заданному вами названию.


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 11. Выделите нужный контейнер и нажмите «ОК».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 12. Появится окно с информацией о сертификате, где указаны владелец ЭЦП, поставщик и срок действия. Проверьте информацию и нажмите «Установить».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Шаг 13. Если установка прошла успешно, появится уведомление о том, что сертификат установлен в хранилище «Личное». Нажмите «ОК».


ФАЙЛ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА ГДЕ ЕГО ВЗЯТЬ

Какую ЭЦП можно скопировать

Квалифицированные ЭЦП выпускают нескольких видов: для юридического лица, индивидуального предпринимателя или физического лица. Отличаются они тем, что выдают их в разных удостоверяющих центрах (УЦ). И П и юридические лица могут получить сертификат и ключи КЭП в удостоверяющем центре ФНС или её доверенных лиц. Сотрудники организаций и физические лица — только в коммерческих УЦ. Также сертификат КЭП физлица не содержит в себе данных о принадлежности к какой-либо организации или ИП.

Файлы, которые записывает налоговая, не подлежат экспорту. Это значит, что ключи полученные в ФНС нельзя скопировать с токена в память компьютера. Экспортировать их на другие носители запрещено. Установить на ПК можно только сертификат. Хранение осуществляется только на токенах, сертифицированных ФСТЭК или ФСБ России.

Для ускоренного выпуска рекомендуем воспользоваться услугой Получение КЭП в ФНС под ключ. Специалисты УЦ «Калуга Астрал» помогут сэкономить время на получение электронной подписи и настройку рабочего места, а пройти идентификацию и получить подпись вы сможете через филиалы нашего партнёра — УЦ «Основание».

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

УЦ «Калуга Астрал» входит в перечень аккредитованных удостоверяющих центров и имеет все необходимые лицензии для выпуска электронных подписей для физлиц и работников ЮЛ — «Астрал Подпись» и «1С-ЭТП». Данные продукты придают цифровым документам юридическую значимость.

Важно! Закон запрещает передавать ключи и КЭП третьим лицам. Злоумышленники могут воспользоваться подписью в своих целях: похитить важные документы, оформить кредит или перевести деньги на свой счёт. Необходимо обеспечить безопасность рабочего места. Следует установить пароль на ПК и контейнер ключей.

Сущность технологии ЭЦП

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

Связь с форматом PFX

PKCS # 12 является преемником «PFX» от Microsoft. Термины «PKCS # 12 файл» и «PFX файл» иногда используются как синонимы.

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

Netscape использовал формат PFX, а не PKCS#12 в версиях 4.03 и ниже, потому что формат PKCS#12 просто не существовал. Из-за необходимости обратной совместимости Netscape 4.04 и более новые версии, а также все версии MSIE поддерживали только импорт в формат PFX. Приведённая ниже таблица объединяет вышесказанное.

Данный раздел основан на LirJSSE — расширение безопасных сокетов с поддержкой алгоритмов ГОСТ для Java. Для получения большей информации о том, как PKCS#12 реализован в библиотеке JSSE рекомендуем обратиться к источнику.

Провайдер SunJSSE предоставляет полную реализацию java.security. KeyStore формата PKCS#12 для чтения и записи файлов pkcs12. Этот формат также поддерживается другими инструментами и приложениями для импорта и экспорта ключей и сертификатов, такими как Netscape/Mozilla, Microsoft Internet Explorer и OpenSSL. Например, эти реализации могут экспортировать сертификаты и ключи клиента в файл с расширением «.p12».

С провайдером LirJSSE, вы можете получить ключи PKCS#12 через KeyStore API с типом хранилища «pkcs12». Кроме того, вы можете просмотреть список установленных ключей и соответствующих сертификатов с помощью команды keytool с опцией -storetype установленной в pkcs12.

На всякий случай, нужно иметь в виду, что в Java 6 JDK одни и те же классы поддержки хранилища PKCS#12 содержатся не только внутри JSSE, но и отдельно в пакете sun.security.pkcs12.

Реализация хранилища PKCS#12 в LirJSSE дополнительно поддерживает алгоритмы ГОСТ. Далее описываются особенности этой реализации.

Особенности реализации PKCS#12 в LirJSSE

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

Цепочки сертификатов связываются с секретными ключами внутри хранилища по локальным идентификаторам. Локальный идентификатор — это массив байтов в формате UTF-8, образованный при добавлении нового ключа из строки «Time «, за которой следует текстовое представление даты и времени добавления элемента. При добавлении нового ключа всегда задаются также соответствующая цепочка сертификатов и пароль.

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

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

Алиас ключевого элемента, вообще говоря, не обязателен. Если в хранилище оказался элемент без алиаса, то алиас ему назначается принудительно в виде внутреннего порядкового номера. Дело в том, что LirJSSE, как и Sun JSSE, работает с элементами хранилищ только по алиасам.

При создании элементов хранилища различными программами может несколько отличаться внутренняя структура хранения зашифрованных элементов. Из-за этого, например, одна и та же цепочка сертификатов может упаковаться в файле хранилища средствами LirSSL и LirJSSE в структуры разного размера. Стандарт это допускает, и на функциональность хранилища это не влияет.

При работе с JSSE не нужно забывать, что пароли ключевых элементов должны совпадать с паролем хранилища. Стандарт PKCS#12, вообще говоря, допускает использование различных паролей в одном хранилище, но SunJSSE и LirJSSE не поддерживают данную возможность.

По договорённости с фирмой Топ Кросс, пароль всего хранилища перед применением преобразуется в программе LirJSSE в формат UTF-16 (последние два байта — нулевые). А отдельные элементы хранилища защищаются тем же паролем, но в формате UTF-8.

В LirJSSE — расширение безопасных сокетов с поддержкой алгоритмов ГОСТ для Java приводится сравнительное описание внутренней структуры файлов хранилища PKCS#12 в формате ASN.1 для вариантов RSA и ГОСТ.

Проверка электронной подписи

Проверить открытую часть электронной подписи можно с помощью СКЗИ — средств криптографической защиты информации. Это может быть, например, программа КриптоПро CSP. Но это же можно проделать и в сторонних программах, и на веб-сайтах.

Доступ к открытому элементу цифровой подписи публичный — воспользоваться им может кто угодно.

Открытая часть ключа ЭЦП

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

Понятие закрытого ключа

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

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

Похищение либо потеря устройства хранения данных могут быть сразу обнаружены пользователем — можно успеть своевременно отозвать сертификат. Использование токена или смарт-карты предполагает двухфакторную аутентификацию — введение PIN-кода. Скопировать информацию с носителя, не зная PIN-кода, представляется довольно сложной задачей. Однако токены более универсальны в связи с возможностью их использования на любом устройстве, оснащённом USB-портом.

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

Закрытый ключ является конфиденциальным. Ответственность за его сохранность в полной мере возлагается на владельца ЭЦП, что прописано на законодательном уровне.

Обработка пароля пользователя

Существует несколько механизмов, позволяющий трансформировать пароль пользователя в ключ шифрования. Спецификация PKCS#5 ограничивается итерациями MD2 и MD5 для использования с ключами DES.

Для того, чтобы создать или преобразовать сертификат, вам необходимо программное обеспечение OpenSSL. S SL v3 функция, определена следующим образом:

страдает от того, что вход используемый для шага SHA-1 варьируется только несколькими битами входа, используемого на предыдущем шаге и от того, что это требует использования двух различных и фиксированных функций для преобразования пароля в ключ. В дополнение, определённая таким образом функция не позволяет итерируемую обработку необходимую для предотвращения перебора по словарю.

TLS функция расширяет SSL v3 функцию и определяется следующим образом:

(как факт: ключ — это XOR, применённый через HMAC-MD5 и HMAC-SHA1, опять требуются два различных фиксированных алгоритма). Другой недостаток использования HMAC заключается в ограничении размера пароля — 64 ASCII символа или 32, или даже 16 для более широкого набора символов, из-за требования сокращения длины ключей, путём хеширования их. Так же, как и в функции SSL v3 нет обеспечения итерируемости функции, для предотвращения перебора по словарю.

Функция получения ключа X.9-42 определена специально в терминах SHA-1:

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

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

Другая полезная цель разработки заключается в том, чтобы сделать выход зависимым от алгоритма шифрования; ключ генерируется так, для того чтобы сделать key-recovery attack невозможными. Если тот же самый ключ используется для нескольких алгоритмов, то атакующий, который может получить ключ для одного алгоритма, может воспользоваться этой атакой во время использования других алгоритмов (например, получение ключа DES позволяет получить примерно половину ключа IDEA). Сделав результат шага обработки ключа, зависимым от алгоритма шифрования, режима и конфигурации, значит, что ключ, получаемый из того же самого пароля при помощи использования другого алгоритма режима или конфигурации не просто будет получить.

Эти требования предлагают следующий основной дизайн:

Внутреннее состояние зависит от всех входных параметров (алгоритма шифрования, режима, параметров, случайного числа salt и, разумеется, пароля). Затем на каждом шаге обработки переменные состояния действуют как генератор псевдослучайных чисел, который гарантирует, что входные параметры хеш-функции, используемой при генерации ключа, изменяются на количество бит, равное выходу хеш-функции на каждом шаге, и гарантирует, что процесс получения пользователем ключа линеен, то есть любая форма параллелизации или предварительных вычислений невозможна. В конечно счёте, при помощи применения XOR для выхода успешного шага обработки и ключа на каждой итерации даёт свой вклад в получаемый ключ.

Параметры обработки пароля

Входные параметры для хеш-функции, используемые для генерации переменных состояния:

Поля типа StateHashData имеют следующие значения:encryptionAlgorithm — алгоритм шифрования, режим и дополнительные параметры, которые нужны для генерации ключа. Реализация должна поддерживать 3DES-CBC.salt — 64-битное случайное число. Этим значением можно пренебречь, если необходимо получить ключ, который постоянен для данного пароля.password — пароль пользователя, представленной строкой UTF8.

Входные параметры хеш-функции, используемой для получения ключа:

state — выход хеш-функции, основанной на генераторе случайных чисел.password — пароль пользователя, представленной строкой UTF8.

Идентификатор алгоритма обработки пароля

Когда используется тип EncryptedData, тогда содержимое contentEncryptionAlgorithm идентифицируется следующим образом:

Поля типа PBEParameters имеют следующие значения:

hashAlgorithm — хеш-алгоритм, использующийся для обработки пароля. Реализация должна поддерживать SHA-1 и желательно поддерживать MD5 и RIPEMD-160.encryptionAlgorithm — алгоритм, использующийся для генерации ключа и для шифрования данных. Имеет то же значение, что и в StateHashData.slat — имеет то же значение, что и в StateHashData.iterationCount — количество производимых хеш итераций. Для разумной безопасности рекомендуется использовать порядка 500 операций, которые занимают менее секунды на обычной рабочей станции.

ЭЦП:  КриптоПро не видит ключ: как исправить эту и другие ошибки в работе с ЭЦП
Оцените статью
ЭЦП64