Чем отличаются открытый и закрытый ключи ЭЦП?

Чем отличаются открытый и закрытый ключи ЭЦП? Сертификаты

Что такое корневой сертификат

Корневой сертификат — это файл, в котором указаны данные удостоверяющего центра (УЦ). Например, название УЦ, его ИНН и адрес, срок действия сертификата, какой алгоритм шифрования использует УЦ. 

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

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

Удостоверяющий центр использует корневой сертификат, чтобы:

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

Получить электронную подпись

О сертификате: что это такое

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

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

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

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

Информация о сертификатах хранится в базах Единого реестра ЕСИА. Вносить данные имеют право удостоверяющие центры, прошедшие сертификацию. Все УЦ делятся на аккредитованные и неаккредитованные.

Глава первая: проверка эп

Все манипуляции с PDF документом приведены в чистой версии ОС Windows 10, русская домашняя редакция, как наиболее вероятной среде работы простого пользователя. Набор софта, используемый в статье, также является непрофессиональным и доступным для всех.

Для начала я открыл документ в просмотрщике Foxit Reader, который использую как основной:


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

Кроме имени организации, которой выдан сертификат, видно наименование выдавшей его организации, ООО “ИТК”. Поиск по запросу “ООО ИТК сертификат” вывел меня на страницу Установка корневого сертификата Удостоверяющего центра ООО «ИТК». Это официальный сайт ООО «Интернет Технологии и Коммуникации», который является одним из удостоверяющих центров, выдающих сертификаты ЭП.

Глава третья: немного про корневые и промежуточные сертификаты

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

Для чего нужен сертификат

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

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

Закрытый ключ эцп

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

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

Про сертификаты:  Твердомеры. Большой каталог твердомеров: портативные и стационарные твердомеры Роквелла, Бринелля, Виккерса, Шора.

В ключевой паре открытая и закрытая части привязаны друг к другу. 

Инструкция как экспортировать открытый ключ

Экспортировать открытый ключ электронной подписи можно через свойства обозревателя либо из криптопровайдера КриптоПро CSP. При этом носитель с ключом должен быть подключён к компьютеру.

Инструкция по установке корневого сертификата удостоверяющего центра

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

Автоматическая установка — наиболее простой и быстрый способ, который не требует специальных знаний и навыков от вас:

  1. Откройте любой удобный браузер, это может быть Google Chrome, Mozilla Firefox, Internet Explorer или другой.
  2. Зайдите в сервис автоматической настройки рабочего места Контур.Веб-диск.
  3. Действуйте по указаниям сервиса: он продиагностирует ваш компьютер, найдет каких плагинов и файлов не хватает, предложит их установить. Вместе с ними установит необходимые корневые и промежуточные сертификаты.

Как найти и выгрузить ключи на компьютер?

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

Через свойства браузера:

  • В ОС Windows необходимо открыть: «Пуск» — «Панель управления» — «Свойства браузера».

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

  • Появится список сертификатов, в котором следует выбрать нужный, а затем нажать кнопку «Экспорт». 

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

  • Выбрать формат файла «Файлы в DER-кодировке X.509 (.CER)».

  • Выбрать место хранения ключа и сохранить.

Через КриптоПро CSP:

  • В ОС Windows надо перейти в «Пуск» — «Панель управления» — «КриптоПро CSP».

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

  • Через кнопку «Обзор» нужно выбрать контейнер.

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

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

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

Выгрузка закрытого ключа через свойства браузера выполняется по тому же алгоритму, что и в случае с открытым. Только в окне «Мастер экспорта сертификатов» нужно выбрать «Экспортировать закрытый ключ». А порядок действий при выгрузке из КриптоПро CSP следующий:

  • В ОС Windows нажать «Пуск» перейти на «Панель управления» и выбрать «КриптоПро CSP».

  • Далее — вкладка «Сервис» и кнопка «Скопировать контейнер».

  • Через кнопку «Обзор» нужно выбрать контейнер и подтвердить (потребуется ввести PIN-код).

  • Затем нужно ввести название копии закрытого ключа и нажать «Готово».

  • Далее нужно выбрать, куда будет записан ключ, установить пароль для обеспечения дополнительной защиты и подтвердить действия. 

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

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

Какая информация содержится в корневом сертификате

Корневой сертификат представляет собой файл, который содержит свойства и данные: 

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

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

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

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

Получить электронную подпись

Какие бывают корневые сертификаты и для чего нужны

Корневой сертификат участвует в «цепочке доверия». «Цепочка доверия» — это взаимосвязь нескольких сертификатов, которая позволяет проверить, действительна ли электронная подпись и можно ли доверять сертификату ЭП. 

Рассмотрим «цепочку доверия», сформированную для квалифицированного сертификата электронной подписи:

Про сертификаты:  В чем отличие сертификата качества от сертификата соответствия | Росстандарт

1. Корневой сертификат Минцифры РФ (ранее — Минкомсвязь РФ). 

Это верхнее звено «цепочки доверия». Минцифры РФ осуществляет функции головного удостоверяющего центра в России. Оно наделяет другие удостоверяющие центры, прошедшие аккредитацию, правом выдавать квалифицированные сертификаты ЭП — выдает им собственные сертификаты, подписанные корневым сертификатом Минцифры РФ.

Например, в Windows корневой сертификат можно найти через «Управление сертификатами» — «Доверенные корневые центры сертификации» — «Сертификаты». 

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

Среднее звено «цепочки доверия». УЦ получает этот сертификат от Минцифры РФ, когда становится аккредитованным. С помощью своего промежуточного сертификата УЦ выдает квалифицированные сертификаты пользователям: организациям, их сотрудникам, простым физлицам (п.2.1 ст.15 63-ФЗ).

В Windows промежуточный сертификат хранится в «Управление сертификатами» — «Промежуточные центры сертификации» — «Сертификаты».

3. Личный сертификат пользователя — квалифицированный сертификат электронной подписи.

Конечное звено «цепочки». Пользователь обращается в УЦ и получает там квалифицированный сертификат ЭП (он же КЭП, ЭП или ЭЦП). В его сертификате указаны данные «вышестоящих» сертификатов — УЦ и Минцифры. 

В Windows личный сертификат можно найти через «Управление сертификатами» — «Личное».

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

Чем отличаются открытый и закрытый ключи ЭЦП?
«Путь сертификации» в составе сертификата показывает цепочку доверия: корневой сертификат, промежуточный и личный сертификат пользователя. Установить сертификаты можно с помощью сервиса от УЦ Контур или браузера-обозревателя.

Выше мы описали «цепочку доверия» для квалифицированных сертификатов. Поскольку такие сертификаты могут выдавать только аккредитованные УЦ, то в цепочке три звена: Минцифры — аккредитованный УЦ — пользователь. Именно такую связь можно увидеть, если открыть личный сертификат пользователя на вкладке «Путь сертификации» (см. скриншот выше).

Для неквалифицированных сертификатов ЭП «цепочка доверия» может состоять только из двух звеньев: УЦ — пользователь. Это возможно потому, что УЦ для выдачи неквалифицированных сертификатов не нужна аккредитация. Звенья такой «цепочки» будут называться: «корневой сертификат» и «пользовательский (личный) сертификат»

Можно ли установить электронную подпись без корневого сертификата

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

Это актуально как для ЭП, хранящейся на компьютере, так и для ЭП на токене, с небольшой разницей:

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

Открытый и закрытый ключ

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

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

Открытый ключ эцп

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

Состав: из чего состоит сертификат эп

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

Составляющие сертификата подписи:

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

На официальных порталах программ производителей выложен инструкции, как пользоваться ЭП в их программах (Microsoft Office, Acrobat Reader и других). Через установленное на ПК программное обеспечение наносится скрипт подписи. После нанесения ЭП документ не может быть изменен сторонними лицами.

Токены pkcs#11: сертификаты и закрытые ключи

imageТокены PKCS#11

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

Встает дилемма, как определить какой закрытый ключ (да и открытый тоже) соответствует тому или иному сертификату.

Такое соответствие, как правило, устанавливается путем задание идентичных параметров CKA_ID и/или CKA_LABEL для тройки объектов: сертификата (CKO_CERTIFICATE), публичного ключа (CKO_PUBLIC_KEY) и приватного ключа (CKO_PRIVATE_KEY).

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

Наиболее распространенный способ задания CKA_ID – это использование значения хэш-функции от значения открытого ключа. Именно такой способ для связывания тройки объектов используется в проекте NSS (Network Security Services). При этом в качестве хэш-функции используется алгоритм SHA1. С учетом того, что на токене реально будет храниться едва ли больше десятка личных сертификатов, то с точки зрения появления коллизии этот способ является хорошим. Вместе с тем CKA_ID для этой тройки могут устанавливаться в любой момент и любое значение. Именно в этом и состоит вся проблема. Если бы RFC или Рекомендации ТК-26 требовали установки параметра CKA_ID в момент появления объекта на токене (например, при генерации ключевой пары CKM_GOSTR3410_KEY_GEN_PAIR) и его нельзя было бы изменить, то на этом данное повествование можно было бы завершить. К сожалению, это не так. Как уже было сказано, CKA_ID можно установить в любой момент с любым значением. Таким образом, всегда существует вероятность, что сертификат окажется связанным с чужим приватным ключом. Не нужно объяснять, к каким это приведет последствиям.

Про сертификаты:  ГОСТ 31458-2015 (ISO 10474:2013) Трубы стальные, чугунные и соединительные детали к ним. Документы о приемочном контроле (с Изменением N 1) от 19 октября 2015 -

А вообще, существует ли строгий математический алгоритм, который позволяет связать тройку CKO_CERTIFICATE x CKO_PRIVATE_KEY x CKO_PUBLIC_KEY в единое целое?

Да, такой алгоритм на базе криптографических механизмов (CKM_) токена существует. Связка сертификата и публичного ключа проверяется легко и просто. Берутся значение открытого ключа и его параметров из сертификата и сравниваются и аналогичными значениями публичного ключа.

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

Все, мы теперь не зависим ни от CKA_ID, ни от CKA_LABEL.

Но вот появляется документ «МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ. Расширение PKCS#11 для использования российских стандартов ГОСТ Р 34.10-2021, ГОСТ Р 34.11-2021, ГОСТ Р 34.12-2021 и ГОСТ Р 34.13-2021», в котором появляется новый механизм CKM_GOSTR3410_PUBLIC_KEY_DERIVE — механизм создания открытого ключа из закрытого. Данный механизм используется в C_DeriveKey. Теперь поиск закрытого ключа для сертификата значительно упрощается. Достаточно получить список закрытых ключей на токене, затем для каждого закрытого ключа получить открытый ключ:

…
CK_OBJECT_HANDLE             priv_key   = CK_INVALID_HANDLE;
CK_OBJECT_HANDLE            pub_key    = CK_INVALID_HANDLE;
CK_MECHANISM                 mechanism_der_desc =
    { CKM_GOSTR3410_PUBLIC_KEY_DERIVE, NULL, 0 };
    CK_MECHANISM_PTR             mechanism_der          = &mechanism_der_desc;
…
   // Получаем открытый ключ по закрытому
    rc = funcs->C_DeriveKey(sess, mechanism_der, priv_key,
		NULL, 0, &pub_key);
…

А далее сравниваем значения полученного публичного ключа, со значениями публичного ключа в сертификате.

Применение любого из этих алгоритмов избавляет от необходимости следить за значениями CKA_ID/CKA_LABEL и делает использованием сертификатов и приватных ключей, хранящихся на токенах PKCS#11, и надежным и безопасным.

Использование механизма CKM_GOSTR3410_PUBLIC_KEY_DERIVE предполагает его реализацию на том или другом токене. Посмотреть список реализованных механизмов удобно с помощью утилиты p11conf:

$ /usr/local/bin64/p11conf  -h
usage:  /usr/local/bin64/p11conf [-hitsmIupPred] -A APIpath [-c slotID -U userPin -S SOPin -n newPin -L label]
        -h display usage
        -i display PKCS#11 library info
        -s display slot(s) info (-c slotID is optional)
        -t display token(s) info (-c slotID is optional)
Others must use -c slotID
        -m display mechanism list
        -I initialize token 
        -u initialize user PIN
        -p set the user PIN
        -P set the SO PIN
        -r remove all objects
        -e enumerate objects
        -d dump all object attributes
$

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

$ /usr/local/bin64/p11conf  -A /usr/local/lib64/libls11usb2021.so -m -c 0|grep GOSTR3410
        Mechanism: CKM_GOSTR3410_KEY_PAIR_GEN (0x1200)
        Mechanism: CKM_GOSTR3410_512_KEY_PAIR_GEN (0xD4321005)
        Mechanism: CKM_GOSTR3410 (0x1201)
        Mechanism: CKM_GOSTR3410_512 (0xD4321006)
        Mechanism: CKM_GOSTR3410_WITH_GOSTR3411 (0x1202)
        Mechanism: CKM_GOSTR3410_WITH_GOSTR3411_12_256 (0xD4321008)
        Mechanism: CKM_GOSTR3410_WITH_GOSTR3411_12_512 (0xD4321009)
        Mechanism: CKM_GOSTR3410_DERIVE (0x1204)
        Mechanism: CKM_GOSTR3410_12_DERIVE (0xD4321007)
        Mechanism: CKM_GOSTR3410_KEY_WRAP (0x1203)

        Mechanism: CKM_GOSTR3410_PUBLIC_KEY_DERIVE (0xD432100A)

        Mechanism: CKM_LISSI_GOSTR3410_PUBLIC_KEY_DERIVE (0xD4321037)
$

И последнее, есть ли сегодня токены, разработанные в соответствии с документом

«МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ. Расширение PKCS#11 для использования российских стандартов ГОСТ Р 34.10-2021, ГОСТ Р 34.11-2021, ГОСТ Р 34.12-2021 и ГОСТ Р 34.13-2021»

?

Да, есть.

Удостоверяющие центры: какие уц могут выдавать усиленные сертификаты

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

Экспорт открытого ключа через свойства обозревателя

1. В системе Windows перейдите в «Пуск» → «Панель управления» → «Свойства обозревателя (Свойства браузера)».

2. Перейдите на вкладку «Содержание» и нажмите на кнопку «Сертификаты».

3. В списке выберите нужный сертификат, щёлкнув по его названию, и нажмите кнопку «Экспорт».

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

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

6. Выберите место сохранения сертификата, нажав кнопку «Обзор», затем нажмите на кнопку «Сохранить» → «Далее» → «Готово».

Оцените статью
Мой сертификат
Добавить комментарий