Лекция 6. Сертификаты открытых ключей
Лекция 6. Сертификаты открытых ключей
Описывается формат сертификата открытого ключа, дается краткая характеристика обязательных и опциональных полей сертификата, подробно рассматриваются ограничивающие и информационные дополнения сертификата, обсуждаются альтернативные форматы сертификатов, объясняются принципы функционирования простой инфраструктуры открытых ключей, систем PGP и SET, дается представление об атрибутных сертификатах.
Формат сертификатов открытых ключей X.509
Формат сертификата открытого ключа определен в рекомендациях Международного Союза по телекоммуникациям ITU (X.509) [78] и документе RFC 3280 Certificate & CRL Profile [167] организации инженерной поддержки Интернета Internet Engineering Task Force (IETF). IETF является открытым интернациональным сообществом исследователей, разработчиков сетевых протоколов, операторов и производителей, занимающихся проблемами развития сетей Интернет и обеспечением непрерывного функционирования существующей инфраструктуры. В настоящее время основным принятым форматом является формат версии 3, позволяющий задавать дополнения, с помощью которых реализуется определенная политика безопасности в системе. Несмотря на то, что документ RFC 3820 адресован Интернет-сообществу, формат сертификата открытого ключа предоставляет гибкий механизм передачи разнообразной информации и применяется в корпоративных PKI.
Сертификат открытого ключа подписи или шифрования представляет собой структурированную двоичную запись в формате абстрактной синтаксической нотации ASN.1. Сертификат содержит элементы данных, сопровождаемые цифровой подписью издателя сертификата (см. рис. 6.1 и табл. 6.1). В сертификате имеется десять основных полей: шесть обязательных и четыре опциональных. Большая часть информации, указываемой в сертификате, не является обязательной, а содержание обязательных полей сертификата может варьироваться. К обязательным полям относятся:
* серийный номер сертификата Certificate Serial Number ;
* идентификатор алгоритма подписи Signature Algorithm Identifier ;
* имя издателя Issuer Name ;
* период действия Validity (Not Before/After) ;
* открытый ключ субъекта Subject Public Key Information ;
* имя субъекта сертификата Subject Name.
Под субъектом сертификата понимается сторона, которая контролирует секретный ключ, соответствующий данному открытому ключу. Наличие необязательных полей характерно для сертификатов версий 2 и 3, к необязательным полям сертификата относятся номер версии, два уникальных идентификатора и дополнения. Структура сертификата представлена на рис. 6.1.
Поле Version (см. табл. 6.1) задает синтаксис сертификата, по умолчанию предполагается первая версия сертификата. Если в поле версии указывается 2, то сертификат содержит только уникальные идентификаторы, а если 3, то в сертификат включаются и уникальные идентификаторы, и дополнения, что характерно для всех современных сертификатов. Сертификаты первой версии не содержат уникальные идентификаторы или дополнения.
Рис. 6.1. Структура сертификата
Издатель сертификатов присваивает каждому выпускаемому сертификату серийный номер Certificate Serial Number, который должен быть уникален. Комбинация имени издателя и серийного номера однозначно идентифицирует каждый сертификат.
В поле Signature Аlgorithm Identifier указывается идентификатор алгоритма ЭЦП, который использовался издателем сертификата для подписи сертификата, например ГОСТ Р 34.10-94 (см. рис. 6.2).
Рис. 6.2. Пример сертификата формата X.509
Поле Issuer Name содержит отличительное имя (формата X.500) третьей доверенной стороны, то есть издателя, который выпустил этот сертификат. В поле Validity (Not Before/After) указываются даты начала и окончания периода действия сертификата.
Поле Subject Name содержит отличительное имя субъекта, то есть владельца секретного ключа, соответствующего открытому ключу данного сертификата. Субъектом сертификата может выступать УЦ, РЦ или конечный субъект.
|Версия v1 | Элемент | Название | Описание |
|version | Версия | Версия (0 означает v1, 2 означает v3) |
|serialNumber | Серийный номер сертификата | Серийный номер сертификата |
|signature.algorithm
Identifier
algorithm
parameters
| Идентификатор алгоритма подписи | Тип алгоритма подписи
.
Алгоритм
Параметры
|
|issuer | Издатель | Уникальное название УЦ, выпустившего сертификат |
|Validity
NotBefore
notAfter
| Период действия | Период действия
Дата и время начала действия
Дата и время окончания действия
|
|subject | Субъект | Уникальное имя субъекта |
|SubjectPublicKeyInfo
Algorithm
subjectPublicKey
| Информация об открытом ключе субъекта | Информация об открытом ключе субъекта
Криптографический алгоритм
Ключ (строка битов)
|
|Версия v2 | issuerUniqueID | Уникальный идентификатор издателя | Уникальный идентификатор УЦ, выпустившего сертификат |
|subjectUniqueID | Уникальный идентификатор субъекта | Уникальный идентификатор субъекта сертификата |
|AuthorityKeyIdentifier
keyIdentifier
authorityCertIssuer
authorityCertSerialNumber
| Идентификатор ключа УЦ | Идентификатор ключа УЦ
Идентификатор ключа
Общее название УЦ
Серийный номер сертификата УЦ
|
|subjectKeyIdentifier | Идентификатор ключа субъекта | Идентификатор, используемый тогда, когда субъект имеет более одного ключа (например, во время возобновления сертификата) |
|Версия v3 | keyUsage
digitalSignature
.
nonRepudiation
keyEncipherment
dataEncipherment
.
.
.
keyAgreement
.
.
KeyCertSign
.
.
CRLSign
| Назначение ключа | Назначение ключа (строки битов)
1. Формирование и проверка
цифровой подписи
2. Неотказуемость
3. Шифрование других ключей
4. Шифрование и расшифрова-
ние данных и контроль цело-
стности с использованием
имитозащиты
5. Формирование других ключей
(например, по алгоритму
Диффи-Хелмана)
6. Формирование ЭЦП серти-
фикатов. Может использо-
ваться УЦ
7. Формирование ЭЦП САС.
Может использоваться УЦ
|
|keyUsage
EncipherOnly
DecipherOnly
| Назначение ключа | Назначение ключа (строки битов)
8. Только для шифрования
9. Только для расшифрования
|
|extendedKeyUsage | Расширенное назначение ключа | Задает одно или несколько назначений ключа помимо или вместо дополнения keyUsage |
|cRLDistributionPoint | Пункт распространения списков аннулированных сертификатов | Задает унифицированный идентификатор ресурса (URL) для указания местонахождения списков САС |
|privateKeyUsagePeriod | Период действия секретного ключа | Период действия секретного ключа, соответствующего открытому ключу в данном сертификате. При отсутствии этого дополнения периоды действия секретного и открытого ключей совпадают |
|certificatePolicies | Политики применения сертификат | Содержит уникальный идентификатор объекта OID, характеризующий политику применения сертификата и назначение сертификата |
|PolicyMappings
IssuerDomainPolicy
SubjectDomainPolicy
| Соответствие политик | Используется только в сертификатах УЦ. Задает один или несколько идентификаторов объекта в составе домена УЦ издателя, которые должны совпадать с политикой в составе домена УЦ субъекта |
|BasicConstraints | Основные ограничения | Указывает, действует ли субъект как УЦ, задает длину пути сертификации |
|PolicyConstraints | Ограничение политик | Используется только в сертификатах УЦ, задает проверку пути к политике, запрашивая идентификаторы политик и (или) запрещая задание соответствий политик |
|NameConstraints | Ограничения на имена | Используется только в сертификатах УЦ, задает пространство имен, которому должны принадлежать имена субъектов любого следующего сертификата в пути сертификации |
|SubjectAltName
.
OtherName
rfc822Name
dNSName
x400Address
directoryName
ediPartyName
uniformResource-
Identifier
iPAddress
registeredID
| Альтернативное имя субъекта | Альтернативное имя субъекта.
Свободный выбор имени.
Произвольное имя
Адрес электронной почты
Имя домена
Адрес отправителя/получателя
Имя каталога
EDI-имя
Унифицированный указатель
ресурсов WWW URL
IP-адрес
Зарегистрированный ID объекта
|
|issuerAltName | Альтернативное имя издателя | Альтернативное имя издателя |
|SubjectDirectory Attributes | Атрибуты каталога субъекта | Необязательные атрибуты субъекта, например, почтовый адрес, номер телефона и т.п. |
Таблица 6.1.Формат сертификата X.509
Поле Subject Public Key Information содержит информацию об открытом ключе субъекта: сам открытый ключ, необязательные параметры и идентификатор алгоритма генерации ключа. Это поле всегда должно содержать значение. Открытый ключ и необязательные параметры алгоритма используются для верификации цифровой подписи (если субъектом сертификата является УЦ) или управления ключами.
Необязательные поля Issuer Unique Identifier и Subject Unique Identifier информируют об уникальных идентификаторах субъекта и издателя сертификата и предназначены для управления многократным использованием имен субъектов и издателей. Вследствие неэффективности подобного механизма управления Интернет-стандарты профилей сертификата и списка аннулированных сертификатов не рекомендуют использовать в сертификатах эти поля.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
4.4.2.2. Закрытие всех открытых файлов
4.4.2.2. Закрытие всех открытых файлов Открытые файлы наследуются порожденными процессами от своих родительских процессов. Фактически они являются общими. В частности, общим является положение в файле. Подробности мы оставим для дальнейшего обсуждения в разделе 9.1.1.2
5.1.5.1. Удаление открытых файлов
5.1.5.1. Удаление открытых файлов С самых первых дней Unix было возможно удалять открытые файлы. Просто вызовите unlink() с именем файла после успешного вызова open() или creat().На первый взгляд, это кажется странным. Поскольку система освобождает блоки данных, когда счетчик ссылок на
10.2.2. Сертификаты
10.2.2. Сертификаты В Linux используются традиционные механизмы обеспечения безопасности Unix для пользователей и групп. Идентификаторы пользователя (uid) и группы (gid) — это целые числа[16], которые отображаются на символические имена пользователей и групп в файлах /etc/passwd и /etc/group,
Закрытие открытых файлов
Закрытие открытых файлов Будьте аккуратными - после того как работа с файлами завершена, их следует закрыть.Закрытие файла гарантирует, что все хранимые в памяти изменения действительно будут записаны на диск, а ресурсы, занимаемые файлами, освободятся и станут
Почтовые серверы открытых ключей PGP.
Почтовые серверы открытых ключей PGP. Почтовые серверы открытых ключей PGP созданы, чтобы пользователи PGP могли обмениваться открытыми ключами через почтовые системы Интернет и UUCP. Пользователи, обладающие доступом к WWW, возможно, предпочтут использовать WWW-интерфейс,
Онлайн серверы открытых ключей.
Онлайн серверы открытых ключей. Для любой криптосистемы основной проблемой является обмен открытыми ключами. PGP предусматривает гибкую систему сертификации открытых ключей ("сеть доверия"), исключающую массовую их компрометацию.Сообщество любой популярной
Почтовые серверы открытых ключей и PGP.net.
Почтовые серверы открытых ключей и PGP.net. До разворачивания инфраструктуры онлайновых серверов ключей уже существовала сеть серверов, собирающих и распространяющих открытые ключи PGP по электронной почте. Эта сеть базируется в домене pgp.net. Сообщество пользователей PGP
Инфраструктуры открытых ключей (PKI)
Инфраструктуры открытых ключей (PKI) PKI, как и простой сервер-депозитарий, имеет базу данных для хранения сертификатов, но, в то же время, предоставляет сервисы и протоколы по управлению открытыми ключами. В них входят возможности выпуска (издания), отзыва (аннулирования) и
11. Деловая экология открытых исходных текстов
11. Деловая экология открытых исходных текстов Сообщество разработчиков открытых программ организовало себя таким способом, который имеет тенденцию усиливать производительность при разработке. В мире Linux, в частности — экономически существенным является тот факт, что
День открытых дверей
День открытых дверей За неделю выставки Computex найти свободное время оказалось непросто. Тем не менее, я пожертвовал целым днем - сотрудники компании MSI предложили познакомиться со своим подразделением R amp;D (Research amp;Development) - центром разработки. Разговоры с инженерами и
Инфраструктуры открытых ключей
Инфраструктуры открытых ключей Полянская Ольга ЮрьевнаИнтернет-университет информационных технологий -
Инициализация открытых ключей Kerberos
Инициализация открытых ключей Kerberos Инициализация открытых ключей Kerberos (Kerberos Public Key Initialization - PKIINIT) вносит изменения в процедуру начального обмена с ЦРК, а все остальное оставляет без изменений [70]. В своем запросе пользователь А отправляет сертификат ключа подписи и
Формат сертификатов открытых ключей X.509
Формат сертификатов открытых ключей X.509 Формат сертификата открытого ключа определен в рекомендациях Международного Союза по телекоммуникациям ITU (X.509) [78] и документе RFC 3280 Certificate & CRL Profile [167] организации инженерной поддержки Интернета Internet Engineering Task Force (IETF). IETF является
Сертификаты PGP
Сертификаты PGP Система PGP (Pretty Good Privacy) [40] разработана американским программистом Филиппом Циммерманном для защиты секретности файлов и сообщений электронной почты в глобальных вычислительных и коммуникационных средах. Ф. Циммерманн предложил первую версию PGP в начале
Сертификаты SET
Сертификаты SET Протокол SET, который базируется на техническом стандарте, разработанном компаниями VISA и Master Card, обеспечивает безопасность электронных расчетов по пластиковым картам через Интернет: гарантирует конфиденциальность и целостность информации о платежах,