|
|
- Общие положения.
Выбор способа представления тех или иных данных и
дополнительных ограничений на состав полей сертификата основан на
следующих принципах:
-
представление данных в сертификате должно быть
предельно простым и однозначным, чтобы исключить различные варианты
трактовки документа уже на этапе разработки приложений;
-
составленная таким образом спецификация должна
оставлять необходимую свободу для включения в сертификат
дополнительных данных произвольного вида, характерных для конкретной
области применения сертификатов ключей ЭЦП;
-
состав полей и форматы представления данных в
сертификате должны соответствовать международным рекомендациям
(см.п.2) там, где это не противоречит требованиям Закона об ЭЦ;
-
выпускаемые сертификаты используются в интернет PKI и
период действия открытого и закрытого ключей для такого рода систем
счтается одинаковым согласно RFC 3280 (4.2.1.4)
и атрибут Private Key Usage Period не должен входить в состав
сертификата.
- Международные рекомендации. Настоящий документ разработан с учетом
международных рекомендаций:
- RFC 3280 (в обновление к RFC 2459)
Internet X.509 Public Key Infrastructure. Certificate and Certificate Revocation List (CRL) Profile.
- RFC 3039
Internet X.509 Public Key Infrastructure. Qualified Certificate
Profile - в данном RFC предлагаются общие требования к синтаксису
(составу) сертификатов, использование которых юридически значимо.
- Состав и назначение полей сертификата.
В данном разделе приводится описание основных полей
сертификата открытого ключа, соответствующего Закону "Об электронной
цифровой подписи" от 10.01.2002.
Используемые в разделе понятия, обозначения и
терминология основаны на RFC 3280 и RFC 3039, которые, в свою очередь,
базируются на Рекомендации ITU-T X.509 версии 3. Содержание раздела не
копирует содержание указанных документов, а лишь обозначает отличия и
особенности использования полей сертификата, реализующие требования к
составу сертификата ЭЦП, изложенные в статье 6 Закона об ЭЦП.
Для всех полей сертификата, которые подразумевают
русскоязычные строковые значения, предпочтительнее использовать
универсальную кодировку UTF-8 (тип UTF8String).
Целью раздела является определение состава и назначения
полей сертификата без учета требований конкретного удостоверяющего
центра. Документы, регламентирующие работу удостоверяющего центра, могут
ограничивать состав полей сертификата и набор атрибутов, используемых
для идентификации УЦ и владельцев сертификатов ключей подписи.
-
Version Все выпускаемые сертификаты
должны иметь версию 3.
-
SerialNumber Поле serialNumber
должно содержать "... уникальный регистрационный номер
сертификата ключа подписи" (ст.6, п.1, абз.1). Уникальность номера
сертификата должна соблюдаться в рамках данного удостоверяющего центра
(УЦ).
-
Validity Поле validity должно
содержать "... даты начала и окончания срока действия сертификата
ключа подписи, находящегося в реестре удостоверяющего центра" (ст.6,
п.1, абз.1).
-
SubjectPublicKeyInfo Поле
subjectPublicKeyInfo должно содержать "... открытый ключ
электронной цифровой подписи" (ст.6, п.1, абз.3).
-
Issuer ФЗ "Об ЭЦП" предполагает выдачу
сертификатов только физическим лицам, это положение касается и
сертификатов самих УЦ и сертификатов ресурсов. Для соблюдения
формальных требований ФЗ предлагается в сертификатах УЦ и ресурсов в
атрибутах указывать реальную информацию организации считая, что такой
сертификат выдан уполномоченному физическому лицу УЦ или Ресурса и
указанная информация должна трактоваться и регистрироваться как
сертификат на псевдоним, что допускает ФЗ "Об ЭЦП". Поле issuer
должно однозначно идентифицировать организацию, выпустившую
сертификат, и содержать официально зарегистрированное наименование
организации. Для идентификации могут использоваться следующие
атрибуты:
- countryName
|
{id-at 6} |
- stateOrProvinceName
|
{id-at 8} |
- localityName
|
{id-at 7} |
- organizationName
|
{id-at 10} |
- organizationalUnitName
|
{id-at 11} |
- postalAddress
|
{id-at 16} |
- serialNumber
|
{id-at 5} |
Поле issuer должно обязательно включать
атрибуты, описывающие "наименование и место нахождения удостоверяющего
центра, выдавшего сертификат ключа подписи" (ст.6, п.1, абз.5).
Наименование должно указываться в атрибуте
organizationName. При использовании атрибута organizationName
может также использоваться атрибут organizationalUnitName.
Местонахождение удостоверяющего центра может
указываться с помощью набора атрибутов countryName,
stateOrProvinceName, localityName (каждый из которых является
необязательным) либо с помощью единственного атрибута postalAddress.
Любым из указанных способов местонахождение УЦ должно обязательно
присутствовать в сертификате.
Атрибут postalAddress, в случае его использования,
должен содержать юридический адрес удостоверяющего центра.
Пробел (символ '0x20') должен использоваться в качестве разделителя.
Атрибут поля subject serialNumber должен
использоваться при коллизии имен.
-
Subject Для представления DN
(Distinguished Name - отличительное имя) владельца сертификата
могут использоваться следующие атрибуты:
- countryName
|
{id-at 6} |
- stateOrProvinceName
|
{id-at 8} |
- localityName
|
{id-at 7} |
- organizationName
|
{id-at 10} |
- organizationalUnitName
|
{id-at 11} |
- title
|
{id-at 12} |
- commonName
|
{id-at 3} |
- pseudonym
|
{id-at 65} |
- serialNumber
|
{id-at 5} |
- postalAddress
|
{id-at 16} |
Для соблюдения формальных требований ФЗ предлагается
в сертификатах УЦ и ресурсов в атрибутах указывать реальную информацию
организации считая, что такой сертификат выдан уполномоченному
физическому лицу УЦ или Ресурса и указанная информация должна
трактоваться и регистрироваться как сертификат на псевдоним, что
допускает ФЗ "Об ЭЦП".
Поле subject должно обязательно содержать
следующие сведения: "фамилия, имя и отчество владельца сертификата
ключа подписи или псевдоним владельца" (ст.6, п.1, абз.2).
Фамилия, имя и отчество владельца должны
содержаться в атрибуте commonName и совпадать с указанными в паспорте.
Пробел (символ '0x20') должен использоваться в качестве разделителя.
Псевдоним владельца должен содержаться в
атрибуте pseudonym.
Использование одного из этих атрибутов исключает
использование другого.
Остальные атрибуты являются необязательными.
"В случае необходимости в сертификате ключа подписи
на основании подтверждающих документов указываются должность (с
указанием наименования и места нахождения организации, в которой
установлена эта должность)..." (ст.6, п.2).
Должность владельца сертификата должна
указываться в атрибуте title. Значение атрибута должно
соответствовать записи в документах, подтверждающих установленную для
владельца сертификата должность.
Атрибут title, согласно RFC 3039, должен
включаться в расширение subjectDirectoryAttributes. Однако настоящим
документом (и RFC 3280) допускается его включение в поле subject.
При использовании атрибута title обязательно
должны включаться атрибуты, описывающие наименование и место
нахождения организации, в которой установлена данная должность.
Наименование организации должно указываться в
атрибуте organizationName. Значение атрибута должно совпадать с
записью наименования организации в учредительных либо иных
равнозначных документах. При использовании атрибута organizationName
может также использоваться атрибут organizationalUnitName.
Местонахождение организации может указываться
с помощью набора атрибутов countryName, stateOrProvinceName,
localityName (каждый из которых является необязательным) либо с
помощью единственного атрибута postalAddress.
Атрибут postalAddress, в случае его использования,
должен содержать юридический адрес организации либо адрес
прописки владельца сертификата ключа подписи (для физического лица).
При наличии атрибута organizationName атрибуты
countryName, stateOrProvinceName, localityName и postalAddress
должны интерпретироваться как местонахождение организации.
Необязательные атрибуты поля subject (countryName,
stateOrProvinceName, localityName, organizationName,
organizationalUnitName, title, postalAddress) могут быть
включены, если это определено регламентом работы УЦ, вместо поля
subject в расширение subjectDirectoryAttributes (см. п 3.8.1). В этом
случае они не должны включаться в subject и не могут
быть использованы для различения владельцев сертификатов ключей
подписи.
Атрибут serialNumber должен включаться в поле
subject сертификата при коллизии имен. Он также может
включаться, если это определено регламентом работы удостоверяющего
центра.
Атрибут serialNumber может:
- быть произвольным (присваиваться самим удостоверяющим центром);
- содержать идентификатор (номер), присвоенный государственной
(или иной) организацией (например, ИНН, серия и номер паспорта,
номер удостоверения личности и т.д).
-
Обязательные расширения В состав
сертификата ключа подписи должны входить следующие расширения:
- KeyUsage {id-ce 15}
- CertificatePolicies {id-ce 32}
-
KeyUsage Для того чтобы сертификат мог
быть использован для проверки цифровой подписи, в расширении
keyUsage должны быть установлены биты digitalSignature(0) и
nonRepuduation(1).
-
CertificatePolicies Расширение
certificatePolicies предназначено для определения области юридически
значимого применения сертификата. "... наименование средств ЭЦП,
с которыми используется данный открытый ключ..." (ст.6, п.1, абз.4),
"... сведения об отношениях, при осуществлении которых электронный
документ с электронной цифровой подписью будет иметь юридическое
значение ..." (ст.6, п.1, абз.6) и другие данные, регламентирующие
порядок получения и использования сертификатов ключей подписи,
могут быть доступны по указанному в данном расширении CPSuri
(Certificate Practice Statement URI).
-
Необязательные расширения В состав
сертификата ключа подписи могут входить любые другие
расширения. При включении в сертификат ключа ЭЦП расширений необходимо
обеспечивать непротиворечивость и однозначность представленной в
сертификате информации. Настоящий документ не регламентирует
использование расширений, за исключением расширения
subjectDirectoryAttributes {id-ce 9}.
-
SubjectDirectoryAttributes Расширение
subjectDirectoryAttributes может содержать атрибуты,
дополняющие информацию, представленную в поле subject. В
дополнение к атрибутам, перечисленным в RFC 3039, рекомендуется
поддерживать в расширении subjectDirectoryAttributes следующие
атрибуты:
- qualification
|
{-} |
- countryName
|
{id-at 6} |
- stateOrProvinceName
|
{id-at 8} |
- localityName
|
{id-at 7} |
- organizationName
|
{id-at 10} |
- organizationalUnitName
|
{id-at 11} |
- title
|
{id-at 12} |
- postalAddress
|
{id-at 16} |
"В случае необходимости в сертификате ключа подписи
на основании подтверждающих документов указываются ... квалификация
владельца сертификата ключа подписи" (ст.6, п.2).
Данные о квалификации владельца сертификата ключа
ЭЦП должны указываться в атрибуте qualification. Данный
атрибут не определен в международных рекомендациях (см.п.2) и
подлежит регистрации.
Если атрибуты countryName, stateOrProvinceName,
localityName, organizationName, organizationalUnitName, title,
postalAddress включены в расширение subjectDirectoryAttributes, они
не должны включаться в поле subject.
Для хранения иных сведений о владельце сертификата
ключа подписи могут использоваться другие (уже
зарегистрированные или подлежащие регистрации) атрибуты, не
противоречащие ограничениям, накладываемым расширением
certificatePolicies и другими документами, регламентирующими работу
УЦ.
Приложение ASN1id-at: OID value: 2.5.4 OID
description: X.500 attribute types. id-ce: OID value:
2.5.29 OID description: Object Identifier for Version 3
certificate extensions.
2.5.4.5 id-at-serialNumber serialNumber ATTRIBUTE ::= {
WITH SYNTAX PrintableString(SIZE (1..64))
EQUALITY MATCHING RULE caseIgnoreMatch
SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
ID id-at-serialNumber
}
(RFC
3039) The serialNumber attribute type SHALL, when present, be used
to differentiate between names where the subject field would otherwise be
identical. This attribute has no defined semantics beyond ensuring
uniqueness of subject names. It MAY contain a number or code assigned by
the CA or an identifier assigned by a government or civil authority. It is
the CA's responsibility to ensure that the serialNumber is sufficient to
resolve any subject name collisions.
2.5.4.3 - id-at-commonName
OID value: 2.5.4.3
OID description: The common name attribute type
specifies an identifier of an object. A common name is not a directory
name; it is a (possibly ambiguous) name by which the object is commonly
know in some limited scope (such as an organization) and conforms to the
naming conventions of the country or culture with which it is associated.
commonName ATTRIBUTE ::= {
SUBTYPE OF name
WITH SYNTAX DirectoryString {ub-common-name}
ID {id-at-commonName}
}
(RFC 3039:
Qualified Certificate Profile) OID value: 2.5.4.65 pseudonym ATTRIBUTE ::= {
SUBTYPE OF name
WITH SYNTAX DirectoryString
ID {id-at-pseudonym}
}
OID value: 2.5.29.17
OID description: id-ce-subjectAltName This
extension contains one or more alternative names, using any of a variety
of name forms, for the entity that is bound by the CA to the certified
public key. subjectAltName EXTENSION ::= {
SYNTAX GeneralNames
IDENTIFIED BY id-ce-subjectAltName
}
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
GeneralName ::= CHOICE {
otherName [0] INSTANCE OF OTHER-NAME,
rfc822Name [1] IA5String,
dNSName [2] IA5String,
(*) x400Address [3] ORAddress,
directoryName [4] Name,
ediPartyName [5] EDIPartyName,
uniformResourceIdentifier [6] IA5String,
IPAddress [7] OCTET STRING,
registeredID [8] OBJECT IDENTIFIER
}
(*) – произвольная строка.
OTHER-NAME ::= SEQUENCE {
type-id OBJECT IDENTIFIER
value [0] EXPLICIT ANY DEFINED BY type-id
}
OID value: 2.5.4.16
OID description: The Postal Address attribute type
specifies the address information for the physical delivery of postal
messages by the postal authority to the named object. An attribute value
for Postal Address will be typically composed of selected attributes from
the MHS Unformatted Postal O/R Address version 1 according to CCITT Rec
F.401 and limited to 6 lines of 30 characters each, including a Postal
Country Name. Normally the information contained in such an address could
include an addressee's name, street address, city, state or province,
postal code and possibly a Post Office Box number depending on the
specific requirements of the named object. postalAddress ATTRIBUTE ::= {
WITH SYNTAX PostalAddress
EQUALITY MATCHING RULE caseIgnoreListMatch
SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
ID id-at-postalAddress
}
PostalAddress ::= SEQUENCE SIZE (1..ub-postal-address)
OF DirectoryString {ub-postal-string}
OID value: 2.5.4.12
OID description: The Title attribute type
specifies the designated position or function of the object within an
organzation. An attribute value for Title is string. title ATTRIBUTE ::= {
SUBTYPE OF name
WITH SYNTAX DirectoryString {ub-title}
ID id-at-title
}
id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 }
certificatePolicies ::= SEQUENCE SIZE (1..MAX) OF
PolicyInformation
PolicyInformation ::= SEQUENCE {
policyIdentifier CertPolicyId,
policyQualifiers SEQUENCE SIZE (1..MAX) OF
PolicyQualifierInfo OPTIONAL }
CertPolicyId ::= OBJECT IDENTIFIER
PolicyQualifierInfo ::= SEQUENCE {
policyQualifierId PolicyQualifierId,
qualifier ANY DEFINED BY
policyQualifierId }
-- policyQualifierIds for Internet policy qualifiers
id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
PolicyQualifierId ::=
OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
Qualifier ::= CHOICE {
cPSuri CPSuri,
userNotice UserNotice }
CPSuri ::= IA5String
UserNotice ::= SEQUENCE {
noticeRef NoticeReference OPTIONAL,
explicitText DisplayText OPTIONAL}
NoticeReference ::= SEQUENCE {
organization DisplayText,
noticeNumbers SEQUENCE OF INTEGER }
DisplayText ::= CHOICE {
visibleString VisibleString (SIZE (1..200)),
bmpString BMPString (SIZE (1..200)),
utf8String UTF8String (SIZE (1..200)) }
|
Состав сертификата ключа подписи
|
© 2005-2012 LLC Top Cross All Rights Reserved
|
 |
|
|
поиск
| | |
|
Цифровой Секретарь
| | |
клиентское программное обеспечение
на технологиях открытых ключей
|
|