Филипп Циммерманн - Введение в криптографию
Предпочтительный алгоритм шифрования — указывает на то, зашифрованную каким алгоритмом информацию предпочитает получать владелец сертификата. Поддерживаются следующие: CAST, AES, IDEA, Triple-DES и Twofish.
Вы можете представить сертификат PGP в виде открытого ключа с одной или несколькими привязанными к нему "бирками" (рис. 9). На этих "бирках" указана информация, идентифицирующая владельца ключа, а также подпись этого ключа, подтверждающая, что ключ и идентификационные сведения взаимосвязаны. (Этот вид подписи называется автоподписью (self-signature); её содержит каждый сертификат OpenPGP.)
Уникальный аспект формата сертификатов PGP в том, что каждый сертификат может содержать множество подписей. Любой человек может подписать идентификационно-ключевую пару, чтобы заверить, полагаясь на своё личное убеждение, что открытый ключ принадлежит именно указанному в ID пользователю. Если поищете на общественных серверах-депозитариях, то можете обнаружить некоторые ключи, как, например, принадлежащий автору PGP Филу Циммерману, содержащие огромное количество подписей.
Некоторые PGP-сертификаты состоят из открытого ключа с несколькими "бирками", каждая из которых содержит собственные сведения, идентифицирующие владельца ключа (например, имя владельца и его рабочий e-mail, прозвище владельца и его домашний e-mail, фотография владельца — всё на одном сертификате). Список подписей на каждой из "бирок" может быть различным; подписи указывают на достоверность определённой "бирки" и её принадлежность открытому ключу, а не на то, что все "бирки" достоверны. (Учтите, что "достоверность" зависит от установившего её: подписи — это мнения, и разные люди уделяют разную степень внимания проверке подлинности перед подписанием ключа.)
Формат сертификата Х.509
Х.509 — это другой очень распространённый формат. Все сертификаты Х.509 соответствуют международному стандарту ITU-T X.509; таким образом (теоретически), сертификат Х.509, созданный для одного приложения, может быть использован в любом другом, поддерживающем этот стандарт. На практике, однако, сложилась ситуация, что разные компании создают собственные расширения для Х.509, не все из которых между собой совместимы.
Всякий сертификат требует, чтобы кто-то заверил взаимосвязность открытого ключа и идентифицирующей владельца ключа информации. Имея дело с PGP-сертификатом, каждый может выступать в качестве заверителя содержащихся в нём сведений (за исключением случаев, когда эта возможность намеренно ограничена политикой безопасности). Но в случае сертификатов Х.509 заверителем может быть только Центр сертификации или некто, специально уполномоченный им на эту роль. (Имейте в виду, что PGP-сертификаты также в полной мере поддерживают иерархическое структурирование системы доверия, использующее ЦС для удостоверения сертификатов.)
Сертификат Х.509 — это набор стандартных полей, содержащих сведения о пользователе или устройстве, и их соответствующий открытый ключ. Стардарт Х.509 определяет, какие сведения входят в сертификат и как они кодируются (формат данных).
Сертификат Х.509 содержит следующие сведения:
Версия Х.509 — указывает, на основе какой версии стандарта Х.509 построен данный сертификат, что определяет, какая информация может в нём содержаться.
Открытый ключ владельца сертификата — открытый ключ наряду с идентификатором используемого алгоритма (указывающим криптосистему, к которой принадлежит данный ключ) и прочая информация о параметрах ключа.
Серийный номер сертификата — организация-издатель сертификата обязана присвоить ему уникальный серийный (порядковый) номер для его опознавания среди прочих сертификатов, выданных данной организацией. Эта информация применяется в ряде случаев; например, при аннулировании сертификата, его серийный номер помещается в список аннулированных сертификатов (Certificate Revocation List, CRL).
Уникальный опознаватель владельца ключа (или DN, distinguished name — уникальное имя) — это имя должно быть уникальным и единственным во всём Интернете. DN состоит из нескольких подпунктов и может выглядеть примерно так:
CN=Bob Davis, [email protected], OU=PGP Engineering,
O=PGP Corporation, C=US
(Что обозначает Понятное имя субъекта, Электронную почту, Подразделение организации, Организацию и Страну соответственно.)
Период действия сертификата — дата начала действия сертификата и дата окончания его действия; указывает на то, когда сертификат станет недействителен.
Уникальное имя издателя — уникальное имя организации, подписавшей сертификат. Обычно, это наименование Центра сертификации. Использование сертификата подразумевает доверие организации, его подписавшей. (В случаях с корневыми сертификатами выдавшая организация — этот же ЦС — подписывает его сама.)
ЭЦП издателя — электронная подпись, созданная закрытым ключом организации, выдавшей сертификат. Идентификатор алгоритма подписи — указывает алгоритм, использованный ЦС для подписания сертификата.
Существует ряд фундаментальных различий между форматами сертификатов Х.509 и PGP:
вы можете лично создать собственный сертификат PGP;
вы должны запросить и получить сертификат Х.509 от Центра сертификации; сертификаты Х.509 содержат только одно имя владельца сертификата;
сертификаты Х.509 содержат только одну ЭЦП, подтверждающую подлинность сертификата.
Чтобы получить сертификат Х.509, вы должны попросить ЦС выдать его вам. Вы предоставляете системе свой открытый ключ, чем доказываете, что обладаете соответствующим закрытым, а также некоторые идентифицирующие вас сведения. Затем вы электронно подписываете эти сведения и отправляете весь пакет — запрос сертификата — в Центр сертификации. ЦС выполняет определённый процесс по проверке подлинности предоставленной информации и, если всё сходится, создаёт сертификат, подписывает и возвращает вам.
Вы можете представить сертификат Х.509, как обычный бумажный сертификат или аттестат с приклеенным к нему открытым ключом. На нём указано ваше имя, а также некоторые сведения о вас, плюс подпись издателя сертификата.
Вероятно, наибольшая польза от сертификатов Х.509, это их применение в Веб-браузерах.
Подлинность и доверие
Любой пользователь в среде криптосистем с открытым ключом рискует рано или поздно принять по неосторожности поддельный ключ (сертификат) за настоящий. Достоверность (подлинность) состоит в том, что конкретный открытый ключ принадлежит именно тому владельцу, чья идентификационная информация указана в сертификате ключа. Подлинность является одним из важнейших критериев в среде системы открытых ключей, где вы должны определять аутентичность каждого конкретного сертификата.
Убедившись, что чужой открытый ключ достоверен (то есть действительно принадлежит именно предполагаемому владельцу), вы можете подписать копию этого ключа на своей связке, чем засвидетельствуете факт, что вы его проверили и нашли достоверным. Если захотите, чтобы другие знали вашу степень доверия этому сертификату, вы можете экспортировать свою подтверждающую подпись на сервер-депозитарий с тем, чтобы другие могли её видеть и могли на неё положиться при определении подлинности этого ключа.
Как было описано в параграфе "Инфраструктуры открытых ключей (PKIs)", некоторые компании уполномочивают один или несколько Центров сертификации (ЦС) на проверку подлинности сертификатов. В организации, использующей PKI с сертификатами Х.509, задача Центров регистрации состоит в приёме запросов на сертификаты, а задача Центров сертификации — в выдаче сертификатов конечным пользователям: процесс ответа на запрос пользователя на получение сертификата. В организации, использующей сертификаты PGP без PKI, задача ЦС — в проверке достоверности всех PGP-сертификатов и подписании подлинных. Как правило, основная цель ЦС — собственной подписью "связать" открытый ключ с идентификационной информацией, содержащейся в сертификате, чем заверить третьих лиц, что были приняты определённые меры по установлению связи между ключом и идентификационными сведениями.
Центр сертификации в организации — это краеугольный камень системы подлинности и доверия; в некоторых организациях, как, например, в тех, которые используют PKI, ни один сертификат не считается подлинным, пока не будет подписан доверенным ЦС.
Проверка подлинности
Один из способов определения подлинности сертификата — некоторая механическая процедура. Существует несколько методик её проведения. Например, вы можете попросить своего корреспондента передать копию его открытого ключа "физически", то есть вручить на жёстком носителе — магнитном или оптическом диске и т. п. Но зачастую это бывает неудобно и неэффективно.