Для того, чтобы пользователь доверял процедуре аутентификации, он должен получить ключ общего пользования других пользователей от источника, которому он доверяет. Такой источник, называемый уполномоченным по сертификации (УС), для сертификации ключа общего пользования использует алгоритм ключа общего пользования. Сертификат, форма которого будет определена ниже в этом разделе, обладает следующими свойствами:
- любой пользователь, имеющий доступ к ключу общего пользования уполномоченного по сертификации, может восстановить ключ общего пользования, который был подтвержден;
- никто другой, кроме уполномоченного по сертификации, не может изменить сертификат без того, чтобы это не было обнаружено (сертификаты неподдельны).
Поскольку сертификаты неподдельны, их можно сделать общедоступными, поместив в справочнике без необходимости принятия специальных мер по их защите.
Примечание - Хотя уполномоченные по сертификации недвусмысленно определены по их различительным именам в ДИС, это еще не означает наличие какого-либо взаимоотношения между организацией СУ и ДИС.
Уполномоченный по сертификации создает сертификат пользователя, подписывая (см. раздел 9) собранную информацию, которая включает различительное имя пользователя и его ключ общего пользования, а также факультативный уникальный идентификатор, содержащий дополнительную информацию о пользователе. Точная форма содержимого уникального идентификатора здесь не определяется и оставлена на усмотрение уполномоченного по сертификации; она может иметь вид, например, идентификатора объекта, сертификата, даты или некоторый другой вид сертификата достоверности различительного имени. В частности, сертификат пользователя с различительным именем А и уникальным идентификатором УА, созданный уполномоченным по сертификации с именем УС и уникальным идентификатором УУС, имеет вид:
УС<<А>>= УС {В, ПН, ИА, УС, УУС, УА, А, А, Т},
где В - версия сертификата, ПН - порядковый номер сертификата, ИА - идентификатор алгоритма, используемый для подписания сертификата, УУС - факультативный уникальный идентификатор УС, УА - факультативный уникальный идентификатор пользователя А, Т указывает время действия сертификата и состоит из двух дат: начала и конца действия сертификата. Поскольку Т может изменяться не чаще, чем через 24 ч, предполагается, что системы должны использовать в качестве базового эталонного времени Всемирное координированное время. Действительность подписи на сертификате может быть проверена любым пользователем, знающим СУ. Для представления сертификатов может быть использован следующий тип данных АСН.1:
Certificate : : = | SIGNED{SEQUENCE { | ||||
version | [0] Version DEFAULT v1, | ||||
serialNumber | CertificateSerialNumber, | ||||
signature | AlgorithmIdentifier, | ||||
issuer | Name, | ||||
validity | Validity, | ||||
subject | Name, | ||||
subjectPublicKeyInfo | SubjectPublicKeyInfo, | ||||
issuerUniqueIdentifier [1] IMPLICIT Uniqueldentifier OPTIONAL, - - при его наличии, должна быть версия v2 | |||||
subjectUniqueIdentifier [2] IMPLICIT Uniqueldentifier OPTIONAL - - при его наличии, должна быть версия v2 - - }} | |||||
Version | : : = INTEGER {v1(0), v2(l)} | ||||
CertificateSerialNumber | : : = INTEGER | ||||
Algorithmldentifier | : : = SEQUENCE { | ||||
algorithm | ALGORITHM. &id ({SupportedAlgorithms}), | ||||
parameters | ALGORITHM. &Type ({SupportedAlgorithms} |
- Определение следующего набора информационных объектов отложено, возможно, до раз-
- работки стандартизованных профилей или заявок о соответствии реализации протоколу.
- Такой набор необходим для определения таблицы ограничений на компоненту "параметр"
- атрибута Algorithmldentifier.
- SuрроrtedAlgorithms ALGORITHM : : = {…I...}
Validity | :: = SEQUENCE { | |||
notBefore | UTCTime, | |||
notAfter | UTCTime } | |||
SubjectPublicKeyInfo | : : = SEQUENCE { | |||
algorithm | Algorithmldentifier, | |||
subjectPublicKey | BIT STRING } |
Примечание - В случаях, когда различительное имя может быть повторно назначено другому пользователю уполномоченным по присвоению имен, УС могут использовать уникальный идентификатор различения имен при многократном использовании. Однако, если одного и того же пользователя сертификатами обеспечивают несколько УС, рекомендуется, чтобы УС координировали присвоение уникальных идентификаторов в процессе выполнения процедур по регистрации пользователей.
Запись справочника каждого пользователя А, участвующего в строгой аутентификации, содержит сертификат(ы) А. Такой сертификат создается уполномоченным по сертификации пользователя А, являющимся логическим объектом в ДИС. Уполномоченный по сертификации пользователя А, который может быть не уникальным, обозначается УС(А), или просто УС, если А подразумевается. Поэтому ключ общего пользования пользователя А может быть открыт любым пользователем, который знает ключ общего пользования УС. Таким образом, процесс раскрытия ключей общего пользования является рекурсивным.
Если пользователь А, пытаясь получить ключ общего пользования пользователя В, уже получил ключ общего пользования УС(В), то процесс заканчивается. Для того, чтобы А мог получить ключ общего пользования УС(В), запись справочника каждого уполномоченного по сертификации Х содержит несколько сертификатов. Существует два типа таких сертификатов. К первому типу относятся срочные сертификаты X, созданные другими уполномоченными по сертификации. Ко второму - реверсивные сертификаты, созданные самим X, которые являются заверенными общими ключами других уполномоченных по сертификации. Наличие таких сертификатов позволяет пользователям строить путь сертификации от одной точки к другой.
Список сертификатов, необходимый для того, чтобы конкретный пользователь мог получить общий ключ другого пользователя, называется "путь сертификации". Каждый элемент такого списка является сертификатом уполномоченного по сертификации следующего элемента в списке. Путь сертификации от А к В (обозначаемый АВ)
- начинается от сертификата, созданного УС(А), а именно, УС(А)<<Х>> для некоторого логического объекта X;
- продолжается последующими сертификатами Х<<Х>>;
- заканчивается сертификатом В.