
4. Логическая структура и компоненты pki
Для подтверждения подлинности открытых ключей создается инфраструктура открытых ключей (англ. Public Key Infrastructure, сокр. PKI).
PKI представляет собой набор средств, мер и правил, предназначенных для управления ключами, политикой безопасности и обменом защищенными сообщениями.
Инфраструктура управления открытыми ключами PKI позволяет обеспечить эффективную защиту от атаки «человек в середине».
Инфраструктура открытых ключей основывается на цифровых сертификатах, которые действуют подобно электронным паспортам, связывающим индивидуальный секретный ключ пользователя с его открытым ключом.
Основными задачами PKI являются:
1) поддержка жизненного цикла цифровых ключей и сертификатов (то есть генерация ключей, создание и подпись сертификатов, их распределение и пр.);
2) регистрация фактов компрометации и публикация «черных» списков отозванных сертификатов;
3) поддержка процессов идентификации и аутентификации пользователей таким образом, чтобы сократить по возможности время допуска каждого пользователя в систему;
4) реализация механизма интеграции (основанного на PKI) существующих приложений и всех компонентов подсистемы безопасности;
5) предоставление возможности использования единственного токена безопасности, единообразного для всех пользователей и приложений, содержащего все необходимые ключевые компоненты и сертификаты.
Токен безопасности — это индивидуальное средство безопасности, определяющее все права и окружение пользователя в системе, например смарт-карта.
Для предоставления удаленного доступа мобильным пользователям центр управления должен допускать подключение компьютеров, IP-адрес которых ему заранее неизвестен. Участники информационного обмена опознаются по их криптографическим сертификатам. Так как криптографический сертификат пользователя является электронным паспортом, он, как и любой паспорт, должен соответствовать определенным стандартам. В криптографии это стандарт Х.509.
На рис.4 приведена логическая структура и основные компоненты инфраструктуры управления открытыми ключами PKI.
Рис. 4. Структура PKI
Компоненты этой структуры имеют следующее назначение.
Каталог сертификатов - общедоступное хранилище сертификатов пользователей. Доступ к сертификатам производится обычно по стандартизованному протоколу доступа к каталогам LDAP (Lightweight Directory Access Protocol).
Центр регистрации RA (Registration Authority) - организационная единица, назначение которой - регистрация пользователей системы.
Пользователь — владелец какого-либо сертификата (такой пользователь подлежит регистрации) или любой пользователь, запрашивающий сертификат, хранящийся в каталоге сертификатов.
Центр сертификации СA (Certification Authority) - организационная единица, назначение которой - сертификация открытых ключей пользователей (здесь из открытого ключа получается сертификат формата Х.509) и их опубликование в каталоге сертификатов.
СА - это абонент, которому доверено право удостоверять своей подписью сертификаты, связывающие открытые ключи абонентов с их идентификационной информацией. Сами центры сертификации тоже получают сертификаты своих ключей у центров более высокого уровня.
Общая схема работы центра сертификации СА выглядит следующим образом:
1) СА генерирует собственные ключи и формирует сертификаты СА, предназначенные для проверки сертификатов пользователей;
2) пользователи формируют запросы на сертификацию и доставляют их СА тем или иным способом;
3) СА на основе запросов пользователей формирует сертификаты пользователей;
4) СА формирует и периодически обновляет списки отмененных сертификатов CRL (Certificate Revocation List);
5) сертификаты пользователей, сертификаты СА и списки отмены CRL публикуются СА (рассылаются пользователям либо помещаются в общедоступный справочник).
Существует три базовых модели сертификации:
1) иерархическая модель сертификации, основанная на иерархической цепи сертификатов;
2) модель кросс-сертификации (подразумевает взаимную сертификацию);
3) сетевая (гибридная) модель сертификации, включающая элементы иерархической и взаимной сертификации.
Обобщенные схемы иерархической и сетевой архитектуры систем управления сертификатами приведены на рис. 4.
В иерархической модели СА расположены в иерархическом подчинении доверенному (корневому) СА, предоставляющему сертификаты другим СА.
В приведенном примере, CA_1 заверяет электронной подписью сертификаты подчиненных центров сертификации CA_2 и CA_3, а те, в свою очередь, подписывают сертификаты пользователей и центров более низкого уровня.
Рис.5
В модели кросс-сертификации независимые СА, не находящиеся на одной ветви иерархии, взаимно сертифицируют друг друга в сети центров сертификации.
Кросс-сертификация является предметом двустороннего соглашения между СА. Следует отметить, что модель кросс-сертификации является частным случаем сетевой архитектуры системы управления сертификатами.
Иерархическая архитектура системы управления сертификатами имеет следующие достоинства:
1) иерархическая архитектура аналогична существующим административным ведомственным организационно-управляющим структурам и может строиться с учетом этого;
2) иерархическая архитектура определяет простой алгоритм поиска, построения и верификации цепочек сертификатов для всех взаимодействующих сторон;
3) для обеспечения взаимодействия двух пользователей одному из них достаточно предоставить другому свою цепочку сертификатов, что уменьшает проблемы, связанные с их взаимодействием.
Для иерархической архитектуры характерен следующий недостаток - для обеспечения взаимодействия всех конечных пользователей должен быть только один корневой доверенный СА.
Сетевая архитектура системы управления сертификатами обладает следующими достоинствами:
1) она более гибкая и способствует установлению непосредственных доверенных взаимоотношений, существующих в современном бизнесе;
2) конечный пользователь должен доверять по крайней мере только центру, издавшему его сертификат, и на этом основаны отношения доверия в системе;
3) возможна непосредственная кросс-сертификация различных удостоверяющих СА, пользователи которых часто взаимодействуют между собой, что сокращает процесс верификации цепочек;
4) процесс восстановления после компрометации ключа удостоверяющего СА намного упрощается по сравнению с иерархической структурой.
Однако сетевая архитектура управления сертификатами имеет следующие недостатки:
1) алгоритм поиска и построения цепочек сертификатов для всех взаимодействующих сторон может быть очень сложным;
2) пользователь не может предоставить цепочку, которая обеспечивает проверку его сертификата всеми остальными пользователями.
Вероятно, в недалеком будущем на самом высоком уровне иерархии сертификации должен оказаться государственный нотариус, который обеспечит связь цепочек доверия разных организаций.
В PKI различают четыре типа сертификатов:
1. Сертификат конечного пользователя (описанный выше).
2. Сертификат СА. Должен быть доступен для проверки ЭЦП сертификата конечного пользователя и подписан секретным ключом СА верхнего уровня, причем эта ЭЦП также должна проверяться, для чего должен быть доступен сертификат СА верхнего уровня, и т.д.
3. Самоподписанный сертификат. Является корневым для всей PKI и доверенным по определению - в результате проверки цепочки сертификатов СА выяснится, что один из них подписан корневым секретным ключом, после чего процесспроверки ЭЦП сертификатов заканчивается.
4. Кросс-сертификат. Кросс-сертификаты позволяют расширить действие конкретной PKI путем взаимоподписания корневых сертификатов двух разных
PKI.
Функции, выполняемые PKI в целом, можно условно разделить на несколько групп:
1) функции управления сертификатами;
2) функции управления ключами;
3) дополнительные функции (службы).
Кратко рассмотрим эти основные группы функций.
В состав функций управления сертификатами входят:
1) регистрация пользователей. «Пользователем» может быть физический пользователь, прикладная программа, сетевое устройство и пр.;
2) сертификация открытых ключей. По существу, процесс сертификации состоит в «связывании» имени пользователя и открытого ключа. СА подписывает сертификаты пользователей и СА более низкого уровня;
3) сохранение закрытого ключа СА. Это - главная болевая точка системы. Компрометация закрытого ключа СА разрушает всю систему;
4) содержание базы сертификатов и их распределение. Все сертификаты пользователей и промежуточных СА (кроме СА самого верхнего уровня) обычно выкладываются на общедоступный сервер - сервер сертификатов;
5) обновление сертификата. Процесс активизируется в случае истечения срока действия сертификата и состоит в передаче нового сертификата для открытого ключа пользователя;
6) обновление ключей. При генерации новой пары ключей пользователем либо третьей стороной необходима генерация нового сертификата;
7) отзыв сертификата. Этот процесс возможен, например, при компрометации ключей, изменении имени, прекращении доступа и пр.;
8) определение статуса отзыва сертификата. Пользователь проверяет, наличие сертификата в каталоге открытых ключей PKD (Public Key Directory) и в списке отзыва сертификатов CRL (Certificate Revocation List).
Функции управления ключами делятся на следующие основные подгруппы:
1) генерация ключей;
2) распределение ключей.
В состав группы дополнительных функций (служб) входят:
1) взаимная сертификация (кросс-сертификация в различных СА);
2) проверка открытого ключа с целью убедиться в его соответствии арифметическим требованиям для таких ключей;
3) проверка сертификата по просьбе пользователя;
4) служба архивирования и др.
Инфраструктуру открытых ключей PKI поддерживает ряд приложений и стандартов, к ним можно отнести следующие:
1) операционные системы Linux, FreeBSD, HP-UX, Microsoft Windows, Novell Netware, Sun Solaris, в которые встроены средства, поддерживающие сертификаты открытых ключей;
2) системы управления базами данных, в частности, Oracle, DB2, Informix, Sybase, которые поддерживают механизмы аутентификации пользователей на основе сертификатов открытых ключей;
3) средства организации виртуальных защищенных сетей VPN, реализуемые на основе протокола IPSec, в частности телекоммуникационное оборудование компаний Cisco Systems, Nortel Network, а также специализированное программное обеспечение;
4) системы электронного документооборота, например Lotus Notes, Microsoft Exchange, а также почтовые системы, поддерживающие стандарт защищенного почтового обмена S/MIME;
5) службы каталогов Microsoft Active Directory, Novell NDS, Netscape iPlanet;
6) системы доступа к Web-ресурсам, реализуемые на основе стандарта SSL;
7) системы аутентификации пользователей, в частности система Securld компании RSA и др.
В свою очередь, инфраструктура открытых ключей PKI может интегрировать перечисленные функциональные области. В результате можно создавать комплексную систему информационной безопасности путем интеграции инфраструктуры открытых ключей в информационную систему компании и использования единых стандартов и сертификатов открытых ключей.