В соответствии с терминологией рекомендаций X.509 1997 года [77], с точки зрения УЦ1, кросс-сертификат, изданный для него (то есть такой, в котором УЦ1 является субъектом, а некоторый другой УЦ - издателем), получил название прямого кросс-сертификата ; сертификат, изданный им самим ( УЦ1 ), был назван обратным кросс-сертификатом. Эти термины были признаны не всеми специалистами и экспертами, поэтому в новой версии рекомендаций X.509 2000 года их назвали по-другому [78]. Термин "прямой" был изменен на "изданный для данного УЦ", а термин "обратный" - на "изданный данным УЦ".
Если в качестве хранилища сертификатов используется каталог X.500, соответствующие кросс-сертификаты ("изданный для данного УЦ" и "изданный данным УЦ") могут храниться в структуре пары сертификатов в точке входа в каталог каждого из релевантных удостоверяющих центров [44]. Эта структура может применяться при построении пути сертификации (см. рис. 5.5).
Механизм кросс-сертификации может быть использован для расширения доверия между сообществами разных доверяющих сторон. В частности, кросс-сертификация между двумя удостоверяющими центрами - один из старых способов определения данным УЦ прав другого УЦ издавать сертификаты в некотором пространстве имен. Это фундаментальный механизм расширения доверия в модели распределенного доверия, но он равно применим и к web-модели, а также к модели доверия, сконцентрированного вокруг пользователя (где каждый пользователь действует как свой собственный УЦ).
Рис. 5.5. Кросс-сертификация между УЦ1 и УЦ2
Пример 5.4. Предположим, что пользователь А был сертифицирован УЦ1 и владеет доверенной копией открытого ключа УЦ1, а пользователь В был сертифицирован УЦ2 и владеет доверенной копией открытого ключа УЦ2. Изначально пользователь А может доверять только тем субъектам, сертификаты которых были заверены УЦ1, потому что пользователь А способен верифицировать только эти сертификаты. Пользователь А не может верифицировать сертификат пользователя В, так как не владеет доверенной копией открытого ключа УЦ2 ; аналогично - пользователь В не имеет возможности верифицировать сертификат пользователя А. Однако после кросс-сертификации удостоверяющих центров УЦ1 и УЦ2 доверие пользователя А может быть распространено на сообщество субъектов УЦ2, включая пользователя В. Теперь пользователь А может верифицировать сертификат УЦ2, используя свою доверенную копию открытого ключа УЦ1, а затем проверить сертификат пользователя В при помощи своей копии открытого ключа УЦ2.
Кросс-сертификация вносит в концепцию расширения доверия особое преимущество - возможность контроля на базе стандартных дополнений, определенных для кросс-сертификатов: ограничений на имена, политику и длину пути. УЦ1 может кросс-сертифицировать УЦ2, но ограничить некоторым образом сообщество домена УЦ2 (субъекта), которому будет доверять сообщество домена УЦ1 (доверяющей стороны). В определенных целях доверие внутри домена УЦ1 может быть расширено на отдельных индивидуумов или на определенные группы субъектов домена УЦ2. Такое расширение доверия под управлением администратора УЦ1 практически невозможно реализовать в web-модели или модели доверия, сконцентрированного вокруг пользователя.
В частности, используя дополнение сертификата "ограничения на имена", УЦ1 может задать условие принятия сообществом домена УЦ1 в качестве валидных только тех сертификатов, которые выпущены УЦ2 для субъектов определенного сегмента пространства имен. Этот сегмент пространства имен может быть ограничен отдельным пользователем, группой, отделом, целой организацией и т.п. Например, одна компания может использовать этот механизм, чтобы гарантировать принятие в качестве валидных только сертификатов сотрудников отдела закупок другой компании. Дополнение сертификата Policy Constraints (ограничения политики) позволяет управлять назначением сертификатов, например, запрещать их использование для верификации подписи на юридическом контракте.
Ограничения на длину пути в дополнении сертификата Basic Constraints (базовые ограничения) могут использоваться для регулирования количества кросс-сертификатов в валидном пути сертификации. Например, УЦ1 может разрешить принятие сертификатов конечных субъектов, изданных УЦ2, но запретить использование сертификатов, изданных любым другим УЦ, который кросс-сертифицирован с УЦ2.
Итак, кросс-сертификация обеспечивает функциональную совместимость доменов PKI, которые невозможно связать другим образом. В качестве нежелательной альтернативы может выступать обмен ключами между головными удостоверяющими центрами и хранение каждым пользователем открытого ключа головного УЦ внешнего домена.
Лекция 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.