Дополнительные параметры создания запроса на сертификат | КриптоПро DSS

Что такое аккредитованный удостоверяющий центр

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

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

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

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

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

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

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

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

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

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

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

приложение. требования к форме квалифицированного сертификата ключа проверки электронной подписи | гарант

Требования к форме квалифицированного сертификата ключа проверки электронной подписи

I. Общие положения

2. В настоящих Требованиях используются следующие основные понятия, определенные в статье 2 Федерального закона:

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

2) ключ ЭП – уникальная последовательность символов, предназначенная для создания ЭП;

3) ключ проверки ЭП – уникальная последовательность символов, однозначно связанная с ключом ЭП и предназначенная для проверки подлинности ЭП (далее – проверка ЭП);

5) сертификат ключа проверки ЭП – электронный документ или документ на бумажном носителе, выданные УЦ либо доверенным лицом УЦ и подтверждающие принадлежность ключа проверки ЭП владельцу сертификата ключа проверки ЭП;

7) владелец сертификата ключа проверки ЭП – лицо, которому в установленном Федеральным законом порядке выдан сертификат ключа проверки ЭП;

9) средства ЭП – шифровальные (криптографические) средства, используемые для реализации хотя бы одной из следующих функций – создание ЭП, проверка ЭП, создание ключа ЭП и ключа проверки ЭП;

10) средства УЦ – программные и (или) аппаратные средства, используемые для реализации функций УЦ;

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

3. Настоящие Требования устанавливают требования к совокупности и порядку расположения полей квалифицированного сертификата (далее – форма квалифицированного сертификата).

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

II. Требования к совокупности полей квалифицированного сертификата

5. Требования к совокупности полей квалифицированного сертификата устанавливаются на основании Федерального закона.

6. В соответствии со статьями 14 и 17 Федерального закона квалифицированный сертификат должен содержать следующую информацию:

– уникальный номер квалифицированного сертификата;

– даты начала и окончания действия квалифицированного сертификата;

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

– страховой номер индивидуального лицевого счета (далее – СНИЛС) владельца квалифицированного сертификата – для физического лица;

– основной государственный регистрационный номер (далее – ОГРН) владельца квалифицированного сертификата – для российского юридического лица;

– основной государственный регистрационный номер индивидуального предпринимателя (далее – ОГРНИП) – владельца квалифицированного сертификата – для физического лица, являющегося индивидуальным предпринимателем;

– идентификационный номер налогоплательщика (далее – ИНН) владельца квалифицированного сертификата – для физического лица, российского юридического лица и, при наличии, для иностранной организации (в том числе филиалов, представительств и иных обособленных подразделений иностранной организации);

– уникальный ключ проверки ЭП;

– наименование используемого средства ЭП и (или) стандарты, требованиям которых соответствует ключ ЭП и ключ проверки ЭП;

– наименования средств ЭП и средств аккредитованного УЦ, которые использованы для создания ключа ЭП, ключа проверки ЭП, квалифицированного сертификата, а также реквизиты документа, подтверждающего соответствие указанных средств требованиям, установленным в соответствии с Федеральным законом;

Про сертификаты:  Жилищный сертификат чернобыльца: оформление, основания получения | Правоведус

– наименование и место нахождения аккредитованного УЦ, который выдал квалифицированный сертификат;

– номер квалифицированного сертификата аккредитованного УЦ;

– идентификатор, однозначно указывающий на то, что идентификация заявителя при выдаче сертификата ключа проверки ЭП проводилась либо при его личном присутствии, либо без его личного присутствия с использованием квалифицированной ЭП при наличии действующего квалифицированного сертификата либо посредством идентификации заявителя – гражданина Российской Федерации с применением информационных технологий без его личного присутствия путем предоставления информации, указанной в документе, удостоверяющем личность гражданина Российской Федерации за пределами территории Российской Федерации, содержащем электронный носитель информации с записанными на нем персональными данными владельца паспорта, включая биометрические персональные данные, или путем предоставления сведений из федеральной государственной информационной системы “Единая система идентификации и аутентификации в инфраструктуре, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг в электронной форме” 1 (далее – единая система идентификации и аутентификации) и единой информационной системы персональных данных, обеспечивающей обработку, включая сбор и хранение биометрических персональных данных, их проверку и передачу информации о степени их соответствия предоставленным биометрическим персональным данным гражданина Российской Федерации (далее – единая биометрическая система), в порядке, установленном Федеральным законом от 27 июля 2006 г. N 149-ФЗ “Об информации, информационных технологиях и о защите информации” 2.

------------------------------

1Постановление Правительства Российской Федерации от 28 ноября 2021 г. N 977 “О федеральной государственной информационной системе “Единая система идентификации и аутентификации в инфраструктуре, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг в электронной форме” (Собрание законодательства Российской Федерации, 2021, N 49 (ч. V), ст. 7284; 2020, N 34, ст. 5484).

2 Собрание законодательства Российской Федерации, 2006, N 31 (ч. I), ст. 3448; 2020, N 24, ст. 3751.

------------------------------

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

III. Требования к порядку расположения полей квалифицированного сертификата

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

Certificate ::= SIGNED { SEQUENCE {
    version                 [0]     Version DEFAULT v l,
    serialNumber                    CertificateSerialNumber,
    signature                       AlgorithmIdentifier,
    issuer                          Name,
    validity                        Validity,
    subject                         Name,
    subjectPublicKeyInfo            SubjectPublicKeyInfo,
    issuerUniqueIdentifier  [1]     IMPLICIT UniqueIdentifier OPTIONAL,
    subjectUniqueIdentifier [2]     IMPLICIT UniqueIdentifier OPTIONAL,
    extensions              [3]     Extensions OPTIONAL } }
SIGNED { ToBeSigned } ::= SEQUENCE {
    toBeSigned                      ToBeSigned,
    COMPONENTS OF                   SIGNATURE { ToBeSigned } }
SIGNATURE { ToBeSigned } ::= SEQUENCE {
    algorithmIdentifier             AlgorithmIdentifier,
    encrypted                       ENCRYPTED-HASH { ToBeSigned } }
ENCRYPTED-HASH { ToBeSigned } ::= BIT STRING (CONSTRAINED BY
                                       { ToBeSigned }).
------------------------------

2 Справочно: Спецификация абстрактной синтаксической нотации версии один определена в ГОСТ Р ИСО/МЭК 8824-1-2001 “Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации”.

------------------------------

12. Поле encrypted содержит ЭП, сформированную аккредитованным УЦ, доверенным лицом аккредитованного УЦ либо уполномоченным федеральным органом под структурированной совокупностью полей квалифицированного сертификата (toBeSigned).

15. Поле signature (подпись) содержит идентификатор криптографического алгоритма, с использованием которого аккредитованный УЦ, доверенное лицо аккредитованного УЦ либо уполномоченный федеральный орган сформировали ЭП данного квалифицированного сертификата. Содержимое данного поля должно совпадать с содержимым поля algorithmIdentifier.

17. Стандартные атрибуты имени описаны в справочнике выбранных типов атрибутов 1. При описании формы квалифицированного сертификата используются следующие стандартные атрибуты имени:

------------------------------

1 Справочно: Выбранные типы атрибутов определены в ГОСТ Р ИСО/МЭК 9594-6-98 “Информационная технология. Взаимосвязь открытых систем. Справочник. Часть 6. Выбранные типы атрибутов” и в международном стандарте ISO/IEC 9594-6:2008 “Information technology – Open systems interconnection – The Directory: Selected attribute types”, опубликованном по адресу в информационно-телекоммуникационной сети Интернет: http://www.itu.int/rec/T-REC-X.520-200811-I/en.

------------------------------

18. К дополнительным атрибутам имени, необходимость использования которых устанавливается в соответствии с Федеральным законом, относятся:

20. Поле subject имеет тип Name и идентифицирует владельца квалифицированного сертификата.

22. Необязательные поля issuerUniqueIdentifier и subjectUniqueIdentifier имеют тип UniqueIdentifier. Настоящие Требования не устанавливают требований к использованию указанных полей.

25. Дополнение keyUsage определяет область использования ключа проверки ЭП, содержащегося в поле subjectPublicKeylnfo квалифицированного сертификата. Дополнение keyUsage имеет тип KeyUsage, структура которого определяется следующим образом:

KeyUsage ::= BIT STRING {
    digitalSignature      (0),
    contentCommitment     (1),
    keyEncipherment       (2),
    dataEncipherment      (3),
    keyAgreement          (4),
    keyCertSign           (5),
    cRLSign               (6),
    encipherOnly          (7),
    decipherOnly         (8)}.

Значение “1” в нулевом бите означает, что область использования ключа включает проверку ЭП под электронными документами, отличными от квалифицированных сертификатов и списков уникальных номеров квалифицированных сертификатов ключей проверки ЭП, действие которых на определенный момент было прекращено УЦ до истечения их действия (далее – список аннулированных сертификатов), предназначенными для выполнения процедур аутентификации или контроля целостности.

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

Значение “1” во втором бите означает, что область использования ключа включает зашифрование закрытых или секретных ключей, например в целях их защищенной доставки.

Значение “1” в третьем бите означает, что область использования ключа включает непосредственно зашифрование пользовательских данных без дополнительного использования методов симметричной криптографии.

Значение “1” в четвертом бите означает, что область использования ключа включает согласование ключей.

Значение “1” в пятом бите означает, что область использования ключа включает проверку подписей под квалифицированными сертификатами.

Значение “1” в шестом бите означает, что область использования ключа включает проверку подписей под списками аннулированных сертификатов.

Значение “1” в седьмом бите означает, что область использования ключа включает зашифрование данных в процессе согласования ключей (при этом в четвертом бите должно быть значение “1”).

Значение “1” в восьмом бите означает, что область использования ключа включает расшифрование данных в процессе согласования ключей (при этом в четвертом бите должно быть значение “1”).

Объектный идентификатор дополнения keyUsage имеет вид 2.5.29.15.

28. Сведения о классе средств ЭП владельца квалифицированного сертификата должны быть указаны в дополнении certificatePolicies путем включения следующих идентификаторов:

– для класса средств ЭП КС 1: 1.2.643.100.113.1,

– для класса средств ЭП КС2: 1.2.643.100.113.1, 1.2.643.100.113.2,

– для класса средств ЭП КС3: 1.2.643.100.113.1, 1.2.643.100.113.2, 1.2.643.100.113.3,

– для класса средств ЭП КВ1: 1.2.643.100.113.1, 1.2.643.100.113.2, 1.2.643.100.113.3, 1.2.643.100.113.4,

– для класса средств ЭП КВ2: 1.2.643.100.113.1, 1.2.643.100.113.2, 1.2.643.100.113.3, 1.2.643.100.113.4, 1.2.643.100.113.5,

– для класса средств ЭП КА1: 1.2.643.100.113.1, 1.2.643.100.113.2, 1.2.643.100.113.3, 1.2.643.100.113.4, 1.2.643.100.113.5, 1.2.643.100.113.6.

Для средств ЭП, класс которых отличается от класса средств УЦ, в которых используются указанные средства ЭП, следует указывать идентификаторы для класса средств ЭП, соответствующего классу средств УЦ.

28.1. Для указания в квалифицированном сертификате идентификатора, однозначно указывающего на то, что идентификация заявителя при выдаче сертификата ключа проверки ЭП проводилась при его личном присутствии или без его личного присутствия с использованием квалифицированной ЭП при наличии действующего квалифицированного сертификата либо без личного присутствия заявителя – гражданина Российской Федерации с применением информационных технологий путем предоставления информации, указанной в документе, удостоверяющем личность гражданина Российской Федерации за пределами территории Российской Федерации, содержащем электронный носитель информации с записанными на нем персональными данными владельца паспорта, включая биометрические персональные данные, или путем предоставления сведений из единой системы идентификации и аутентификации и единой биометрической системы в порядке, установленном Федеральным законом от 27 июля 2006 г. N 149-ФЗ “Об информации, информационных технологиях и о защите информации”, должно использоваться некритичное дополнение identificationKind типа IdentificationKind, имеющего следующее представление:

Про сертификаты:  Постановление Правительства РФ от 21.03.2006 N 153 — Редакция от 18.12.2020 — Контур.Норматив

IdentificationKind ::= INTEGER { personal(O), remote_cert(l), remote_passport(2), remote_system(3) }.

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

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

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

В случае, если идентификация заявителя – гражданина Российской Федерации при выдаче сертификата ключа проверки ЭП проводилась без его личного присутствия с применением информационных технологий путем предоставления сведений из единой системы идентификации и аутентификации и единой биометрической системы в порядке, установленном Федеральным законом от 27 июля 2006 г. N 149-ФЗ “Об информации, информационных технологиях и о защите информации”, дополнение identificationKind должно иметь значение 3.

Объектный идентификатор типа IdentificationKind имеет вид 1.2.643.100.114.

29. Для указания в квалифицированном сертификате наименования используемого владельцем квалифицированного сертификата средства ЭП должно использоваться некритичное дополнение subjectSignTool типа UTF8String SIZE(1..200), объектный идентификатор которого имеет вид 1.2.643.100.111.

30. Для указания в квалифицированном сертификате наименования средств ЭП и средств аккредитованного УЦ, которые использованы для создания ключа ЭП, ключа проверки ЭП, квалифицированного сертификата, а также реквизитов документа, подтверждающего соответствие указанных средств требованиям, установленным законодательством Российской Федерации, должно использоваться некритичное дополнение issuerSignTool типа IssuerSignTool, имеющего следующее представление:

IssuerSignTool ::= SEQUENCE {
    signTool            UTF8String SIZE(1.200),
    cATool              UTF8String SIZE(1..200),
    signToolCert        UTF8String SIZE(1.. 100),
    cAToolCert          UTF8String SIZE(1.100) }.

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

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

В строковом поле signToolCert должны содержаться реквизиты заключения ФСБ России о подтверждении соответствия средства ЭП, которое было использовано для создания ключа ЭП, ключа проверки ЭП, требованиям, установленным в соответствии с Федеральным законом (далее – заключение о подтверждении соответствия средства электронной подписи).

В строковом поле cAToolCert должны содержаться реквизиты заключения ФСБ России о подтверждении соответствия средства УЦ, которое было использовано для создания квалифицированного сертификата, требованиям, установленным в соответствии с Федеральным законом (далее – заключение о подтверждении соответствия средства удостоверяющего центра).

Объектный идентификатор типа IssuerSignTool имеет вид 1.2.643.100.112.

IV. Требования к форме квалифицированного сертификата
на бумажном носителе

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

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

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

Значение “без личного присутствия с использованием квалифицированной эп”

Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:

{
    "OID":"1.2.643.100.114",
    "Critical":false,
    "Value":"AgEB"
}

Значение “без личного присутствия с использованием персональных данных, записанных на электронный носитель из заграничного паспорта”

Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:

{
    "OID":"1.2.643.100.114",
    "Critical":false,
    "Value":"AgEC"
}

Значение “без личного присутствия с использованием сведений из есиа и ебс”

Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:

{
    "OID":"1.2.643.100.114",
    "Critical":false,
    "Value":"AgED"
}

Значение “при личном присутствии”

Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:

{
    "OID":"1.2.643.100.114",
    "Critical":false,
    "Value":"AgEA"
}

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

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

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

Примечание

Параметры IsClient, UnsignedRequestId добавлены в КриптоПро DSS версии 2.0.3600 и старше.

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

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

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

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

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

Статья – проверка электронной цифровой подписи authenticode. часть 1. теория

1.4. Терминология, алгоритм подписания и проверки.

1.4.1. Что такое Authenticode (Code signing).
Authenticode” (или «Code signing») означает, что сертификат предназначен для подписания кода, иначе говоря, программ и скриптов, а не документов, электронных писем, http интернет пакетов и тому подобного.

К файлам, содержащим код, относят такие форматы, как PE (.exe, .dll, .ocx, .sys, …), VBScript (.vbs), JScript (.js), Cabinet-архивы (.cab), элементы панели управления (.cpl) и некоторые другие.

Рассмотрим поближе такие понятия как: хеш, алгоритм хеша, подпись, сертификат, отпечаток, выборка и т.п. (часть информации взята из ответов участников конференции StackExchange CBHacking и Tom Leek (в переводе, с авторской переработкой и дополнениями)).

1.4.2. Что такое хеш.

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

Про сертификаты:  Сталь 45Г17Ю3 : Стали для судостроения и военной техники

Вот примеры наиболее распространённых хешей:

Подробную таблицу сравнительных характеристик SHA вы можете посмотреть на wiki

здесь

и

здесь

.

Программно рассчитывать хеш можно, например, через CryptoAPI (пример) или Cryptography API: Next Generation (CNG) (пример).

1.4.3. Что такое выборка (дайджест).
Выборка (digest) – обычно подразумевает, что мы берём данные не целиком, а избирательно, только какую-то часть, которая и называется выборкой. Расположение этой части зависит от структуры данных и вида алгоритма, для которого эта выборка используется.

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

1.4.4. Что такое приватный и публичный ключи, симметричное и асимметричное шифрование.

Представьте себе шифрование по алгоритму Цезаря, где код каждого символа строки сдвигается на некоторое одинаковое количество пунктов (например, вперёд по алфавиту). Здесь ключом является – количество пунктов сдвига.

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

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

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

Приватный ключ ещё называют закрытым (или секретным).

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

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

В контексте подписания и проверки цифровых подписей шифрование всего сообщение не нужно и не требуется. Вместо этого, RSA накладывается на хеш сообщения.

Итоговая схема:
ФАЙЛ => выборка => хеш приватный ключ => шифрованный хеш.

1.4.5. Что такое сертификат, центр сертификации и цепочка доверия.

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

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

Сертификат может быть подписан не напрямую центром сертификации, а промежуточным звеном, которому Центр предоставил права выдавать сертификаты. Это называется цепочкой доверия. Её можно проследить, изучив цифровую подпись сертификата:

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

1.4.6. Форматы файлов сертификатов и ключей для Authenticode подписи и их преобразование.

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

PKCS # 12 и PKCS # 7

– это международные спецификации криптографии с открытым ключом.

Формат X.509 (его ещё называют сертификатом открытого ключа). Он состоит из таких частей:

Внутри каждого сертификата формата X.509 хранится пара Distinguished Names (DN) в формате X.500. Один DN принадлежит владельцу сертификата, а второй DN указывает идентификатор CA, подписавшей сертификат. В случае с self-signed сертификатом, оба эти DN указывают на владельца сертификата.

Distinguished Name задается в виде разделенных через запятую атрибутов, например:

«CN=Andrey Chesnokov, OU=dev64, O=dev64-wordpress, L=Unknown, ST=Unknown, C=RU»
«C=RU, PostalCode=115093, S=Moscow, L=Moscow, STREET=”Street Serpukhovsko B, 44″, O=RIVER SOLUTIONS, CN=RIVER SOLUTIONS»

Здесь отдельные атрибуты расшифровываются так:

CN — common name (уникальное имя владельца)

L — localityName (местоположение: город)

ST — stateOrProvinceName (название штата или провинции)

O — organizationName (имя организации)

OU — organizationUnit, department or division (департамент или отдел)

C — country, two-letter country code (двухбуквенный код страны)

STREET = streetAddress (адрес: улица)

DC = domainComponent (метка доменного имени)

UID = userid (идентификатор пользователя)

Часть из атрибутов может быть пропущено, например, присвоено значение Unknown.
Формат строки описан в RFC2253 и RFC1779.

Подробнее о внутренней структуре формата сертификата X.509 можно почитать в статьях:
X.509 — Википедия
Разбираем x.509 сертификат
Структура PKCS7-файла
RFC5280

Microsoft PVK – является недокументированным форматом, однако кое-что о его структуре можно почитать в этой заметке:
PVK file format

Примечательно, что на этапе генерации пары ключей, вам необходимо будет ввести пароль. Это дополнительная мера защиты. Приватный ключ шифруется одним из алгоритмов – 3DES, RC4 или RC2. Без знания пароля потенциальный злоумышленник, выкравший файл сертификата, не сможет воспользоваться приватным ключом.

б) Преобразование форматов.

Иногда возникает необходимость сконвертировать форматы сертификатов из одного в другой. Для этих целей вам могут пригодиться такие инструменты из состава Windows SDK, как pvk2pfx.exe, cert2spc.exe, а также openssl.

Примеры конвертации:

Некоторые другие примеры командной строки преобразования форматов можно посмотреть в

этой базе знаний Symantec

.

Выше рассмотрены только сертификаты для подписания кода. Так, следует заметить, что например, для SSL-сертификатов существуют и другие форматы, например, .jks – Java Key Stroke – это хранилище открытых и закрытых ключей и сертификатов. Работать с ним можно с помощью инструмента keytool из состава Java Runtime Environment.

Пример для JKS -> DER см. в моей заметке: Как получить ЭЦП для подписания документов (для жителей Украины).

Вот ещё часть примеров для демонстрации возможностей openssl (взято отсюда):

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

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

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