Серверы-депозитарии
Сервер-депозитарий, также называемый сервером сертификатов, или сервером ключей, — это сетевая база данных, позволяющая пользователям оставлять и извлекать из неё цифровые сертификаты. Сервер ключей также может иметь некоторые функции администрирования, помогающие организации поддерживать свою политику безопасности. Например, на хранение могут оставляться только ключи, удовлетворяющие определённым критериям.
Инфраструктуры открытых ключей (PKI)
PKI, как и простой сервер-депозитарий, имеет базу данных для хранения сертификатов, но, в то же время, предоставляет сервисы и протоколы по управлению открытыми ключами. В них входят возможности выпуска (издания), отзыва (аннулирования) и системы доверия сертификатов. Главной же особенностью PKI является наличие компонентов, известных как Центр сертификации(Certification Authority, CA) и Центр регистрации (Registration Authority, RA).
Центр сертификации (ЦС) издаёт цифровые сертификаты и подписывает их своим закрытым ключом. Из-за важности своей роли, ЦС является главным компонентом инфраструктуры PKI. Используя открытый ключ ЦС, любой пользователь, желающий проверить подлинность конкретного сертификата, сверяет подпись Центра сертификации и, следовательно, удостоверяется в целостности содержащейся в сертификате информации и, что более важно, во взаимосвязности сведений сертификата и открытого ключа.
Как правило, Центром регистрации (ЦР) называется система людей, механизмов и процессов, служащая целям зачисления новых пользователей в структуру PKI и дальнейшего администрирования постоянных пользователей системы. Также ЦР может производить "веттинг" — процедуру проверки того, принадлежит ли конкретный открытый ключ предполагаемому владельцу.
ЦР — это человеческое сообщество: лицо, группа, департамент, компания или иная ассоциация. С другой стороны, ЦС — обычно, программа, выдающая сертификаты своим зарегистрированным пользователям. Существуют и защищённые от взлома аппаратные реализации ЦС, сооружённые из пуленепробиваемых материалов и снабжённые "красной кнопкой", аннулирующей в критической ситуации все выданные ключи.
Роль ЦР-ЦС аналогична той, что выполняет государственный паспортный отдел: одни его сотрудники проверяют, требуется ли выдача паспорта (работа ЦР), а другие изготовляют сам документ и передают его владельцу (работа ЦС). Наличие ЦР для ЦС не обязательно, но оно обеспечивает разделение функций, которое иногда необходимо.
Формат сертификатов
Цифровой сертификат — это набор идентифицирующих сведений, связанных с открытым ключом и подписанных доверенным третьим лицом, дабы доказать их подлинность и взаимосвязность. Сертификат может быть представлен множеством различных форматов.
PGP поддерживает два формата сертификатов:
Сертификаты OpenPGP (чаще называемые просто ключами PGP)
Сертификаты X.509
Формат сертификата PGP
Сертификат PGP содержит, в частности, следующие сведения:
Открытый ключ владельца сертификата — открытая часть ключевой пары и её алгоритм: RSA v4, RSA Legacy v3, DH или DSA.
Сведения о владельце сертификата — информация, идентифицирующая личность пользователя: его имя, адрес электронной почты, номер ICQ, фотография и т. д.
ЭЦП владельца сертификата — подпись ключевой пары, связанной с сертификатом (т. н. автоподпись).
Период действия сертификата — дата начала действия сертификата и дата окончания его действия; указывает на то, когда сертификат станет недействительным (аналогично сроку действия водительских прав). Если ключевая пара содержит дополнительные подключи шифрования, то здесь будет указан период действия каждого из них.
Предпочтительный алгоритм шифрования — указывает на то, зашифрованную каким алгоритмом информацию предпочитает получать владелец сертификата. Поддерживаются следующие: 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).