Поскольку проблема идентификации пользователей для доступа к "чувствительным" информационным активам в большинстве случаев носит принципиальный характер, решениям на основе PKI гарантировано широкое применение в отрасли.

Технология PKI появилась как универсальное средство решения проблем идентификации разнообразных сущностей корпоративных систем — пользователей, сетевых устройств, программных компонентов и т. д. А поскольку проблема идентификации пользователей для доступа к «чувствительным» информационным активам в большинстве случаев носит принципиальный характер, решениям на основе PKI гарантировано широкое применение в отрасли.

Взгляд оптимиста

В настоящее время инфраструктура открытых ключей (Public Key Infrastructure, PKI) считается наиболее прогрессивной технологией для создания систем управления доступом пользователей к корпоративным информационным ресурсам (asset management), в том числе для реализации решений по созданию «единой точки входа» [1].

Популярности ей добавляет и тот факт, что заложенная в ее основу технология асимметричного шифрования позволяет достаточно просто решить проблему применения криптографии для защиты информационных ресурсов. Как известно, сами алгоритмы шифрования не обеспечивают защиты — они-то как раз у всех идентичны. Защиту обеспечивают ключи шифрования, и от их стойкости к взлому и приватности их хранения и транспортировки целиком и полностью зависит уровень защищенности информационных активов. И тут возникает очевидное противоречие: с одной стороны, для соблюдения целостности и конфиденциальности информации необходимо «прятать» от всех свои ключи шифрования, с другой — ими необходимо активно обмениваться для электронного взаимодействия с бизнес-партнерами. PKI как раз и позволяет разрешить это противоречие за счет возведения стройной системы управления ключами шифрования без ущемления интересов собственника информационных ресурсов.

Еще большее значение проблема управления ключами шифрования получает при реализации проектов в области электронного бизнеса, при осуществлении банковских операций через Internet, при построении систем электронного документооборота и т. п. — везде, где необходима электронная цифровая подпись или защита трафика (на базе протоколов SSL/TLS или IPSec). Все эти проекты увеличивают число сотрудников и приложений, включенных в процесс защищенного обмена информацией. Происходит взрывной рост количества обслуживаемых ключей шифрования и снижение их среднего времени жизни за счет быстрой изменчивости бизнес-процессов и текучести кадров. Как следствие, быстро возрастает стоимость сопровождения системы управления ключами вплоть до того момента, когда управление ключами «в ручном» режиме становится практически невозможным. В итоге возникает необходимость в автоматизации процесса управления ключами и сертификатами пользователей — то есть во внедрении PKI.

Видимо, поэтому PKI предсказывают грандиозное будущее. Так, например, по оценкам IDC [2], объем продаж PKI-решений должен составить 1,2 млрд. долл. в 2003 году (для сравнения: суммарные продажи в 1998 году составили 3,5 млн. долл.).

В терминах модной и актуальной сегодня модели расчета возврата инвестиций (Return On Investment, ROI) такая комбинация положительных качеств приводит к большим показателям ROI (по разным данным — до 20%) от внедрения PKI-проектов [3]. При этом многие аналитики особо отмечают, что в общей структуре затрат на владение (Total Cost of Ownership, TCO) прямые затраты на приобретение собственно PKI-продукта составляют не более 8% [4]. Остальные затраты связаны с приобретением дополнительного программного и аппаратного обеспечения (серверные платформы, СУБД, серверы каталогов и т. д.), доработкой прикладных интерфейсов, обучением пользователей и администраторов, сопровождением проекта и т. д.

Естественно, стоимость внедрения и сопровождения PKI в большой степени зависит от количества пользователей. Так, по оценкам [5], для предприятия с 5 тыс. абонентами (владельцами сертификатов) средняя величина ТСО за первые три года эксплуатации решения составляет 90-160 тыс. долл. в форме первоначальных инвестиций с последующим вложением 300-400 тыс. долл. в форме сопровождения. Для предприятия с 25 тыс. пользователей аналогичные характеристики составят 200-400 тыс. и 540-840 тыс. долл. соответственно. То есть ТСО в расчете на одного пользователя в первом случае составит 0,078 долл., а во втором — 0,029 долл. Таким образом, экономическая эффективность внедрения PKI зависит от количества обслуживаемых системой абонентов: чем их больше, тем решение эффективнее.

Следует особо подчеркнуть, что сама по себе PKI не является самодостаточным продуктом или средством защиты информации. Это именно инфраструктура, которая призвана предоставлять определенный сервис безопасности другим подсистемам ИС предприятия (в данном случае это автоматизация управления ключами и сертификатами пользователей). Другими словами, сама по себе PKI-система не имеет никакой ценности, и ее значение для бизнеса проявляется лишь при ее тесной интеграции с другими системами.

Взгляд пессимиста

Несмотря на достаточно сильное давление поставщиков PKI-продуктов, в последние пять лет усиливаются голоса специалистов, которых можно назвать не столько ярыми противниками этой технологии, сколько сдержанными оптимистами. Их доводы очень весомы.

Один из этих доводов касается безопасности информационной системы после внедрения PKI. Как известно, система безопасности — это совокупность множества связанных компонентов, и ее общая стойкость равна стойкости самого слабого ее звена. Увы, слабых звеньев в технологиях PKI достаточно много [6].

Безопасность системы аутентификации и ее секретного ключа. Поскольку вся инфраструктура открытых ключей практически целиком и полностью держится на доверии к системе аутентификации, то компрометация всего одного секретного ключа практически «сводит на нет» всю инфраструктуру, на создание которой в некоторых случаях затрачиваются миллионы долларов. Большинство поставщиков заверяют нас, что этому вопросу уделено значительное внимание, и вариант такой компрометации полностью исключен. Может быть, он действительно исключен техническими средствами, но ведь остаются еще люди. Если кому-то захочется нанести вам ущерб в миллионы долларов, он, скорее всего, найдет тысяч пятьдесят, чтобы подкупить вашего администратора PKI. С точки зрения системного анализа наличие одного звена, разрушение которого гарантированно разрушает всю систему, говорит о слабости всей системы.

Безопасность секретных ключей пользователей. Одним из широко рекламируемых преимуществ PKI является то, что эта технология не позволяет пользователю отказаться от совершенной им электронной сделки. Технически этот тезис обосновывается тем, что секретный ключ известен только его владельцу, и только владелец может совершать сделки с его помощью. Но что такое электронный ключ? Это определенный набор байт, который хранится в компьютере, электронном токене, смарт-карте и т.д. Есть десятки способов заполучить этот ключ, а затем совершить сделку от вашего имени. Вряд ли владелец ключа обнаружит факт его кражи по файлам системного журнала своего компьютера. Скорее всего, он заподозрит неладное, когда с его счета в банке начнут исчезать деньги.

Чем в таком случае может помочь PKI? Только тем, что после обнаружения самим пользователем прискорбного факта мошенничества PKI действительно предпримет эффективные меры по блокированию ваших учетных записей во всех системах до выдачи вам нового сертификата. Но разве банки не делают то же самое при утере кредитных карт? Заметим, хакеру гораздо труднее контролировать телефонную линию, которая связывает вас с банком, и по которой вы сообщите о пропаже своей кредитки. В ситуации с PKI все иначе: система аутентификации или какая-то автоматизированная финансовая система может долго не узнать о компрометации вашего ключа и сертификата, если хакер контролирует, например, поддерживающий список отозванных сертификатов сервер CRL или канал доступа к нему.

Проблема аутентификации пользователя. Одно из самых слабых мест PKI — аутентификация пользователя. Фактически PKI «по умолчанию» доверяет клиенту, если тот предоставит верный сертификат (точнее, сертификат, который данная система аутентификации может верифицировать) и знание секретного ключа. Но где гарантии, что «парень на том конце» — именно тот, кому был выдан сертификат и ключ? Чтобы устранить эту проблему, при внедрении PKI приходится применять средства дополнительной аутентификации пользователя по контрольной фразе (например, «Девичья фамилия вашей жены?»), данным биометрии, а то и просто вводить традиционный «физический контакт». Все это приводит к существенному удорожанию решения.

Итак, проблемы с безопасностью в PKI, носящие принципиальный характер, действительно существуют.

Теперь попробуем оценить затраты на внедрение PKI-системы. Напомним: доля прямых затрат на покупку программного обеспечения при внедрении PKI составляет в среднем 8% от общей стоимости владения на трехлетний период. С учетом «стартовой» стоимости коммерческого PKI-решения для 2-3 тыс. пользователей — минимум 50 тыс. долл. — получается, что совокупная стоимость PKI-проекта такого масштаба составляет существенно больше полумиллиона долларов!

Откуда берутся такие затраты на внедрение PKI? Вот лишь некоторые предположения.

Хотя большинство PKI-вендоров заявляют о том, что их продукт гарантированно взаимодействует с нужным вам коммерческим приложением (например, с SAP R/3), и даже приводят результаты программы испытаний, на практике это случается не всегда. Многое зависит от версий продуктов, на которых проверялась совместимость, типа конкретных сертификатов и используемых криптосервисов, версий и реализации протоколов и т. д. Кроме того, заложенная в сервере приложений система работы с сертификатами наверняка будет действовать не оптимальным именно для вас образом и потребует доработки. Недаром на Западе возникло даже самостоятельное направление бизнеса, связанное с разработкой интерфейсов для интеграции PKI с популярными приложениями.

Далее, эффективность внедрения PKI во многом зависит от развитости в ИТ-инфраструктуре предприятия службы единого каталога, а точнее, от наведения порядка с идентификационной информацией пользователей. Если один и тот же человек в разных подсистемах называется по-разному, то о каком едином комплексе аутентификации может идти речь? Грамотно реализовать в большой информационной системе службу единого каталога и систему управления идентификацией — задача далеко не простая, а главное — дорогая и трудоемкая. Фактически, если такая служба не внедрена или не используется, PKI останется автономным, не интегрированным с другими системами решением с низкой отдачей инвестиций.

Но, пожалуй, самые большие трудности при внедрении PKI возникают из-за отсутствия жестких стандартов в отрасли. Вернее, стандарты есть, но они интерпретируются разными поставщиками по-разному и в итоге делают PKI-ориентированные решения мало совместимыми между собой и с теми приложениями, которые они должны обслуживать. Хороший пример — стандарт Х.509. Из практики известно, что два одинаковых сертификата, в которых всего лишь одно слово в одном сертификате написано с заглавной буквы, а в другом — со строчной, с точки зрения большинства PKI-систем и так называемых «готовых к интеграции с PKI» приложений являются разными сертификатами! То же самое можно сказать и о схеме отзыва сертификатов: приложения по-разному работают с сервером CRL, требуя доработки «под себя».

И наконец, следует упомянуть специфичную для нашей страны проблему поддержки отечественных криптоалгоритмов. К сожалению, сегодня в России нет полномасштабных коммерческих версий PKI-продуктов, которые бы обеспечивали полную поддержку отечественных криптоалгоритмов.

Взгляд реалиста

Рассмотрев доводы ярых приверженцев и критиков PKI, попытаемся сформулировать условия, которые необходимы для успешного внедрения на предприятии инфраструктуры открытых ключей.

Прежде всего, ИТ-инфраструктура предприятия должна быть большой и распределенной, рассчитанной не менее чем на 2-3 тыс. пользователей. При этом желательно, чтобы, все они были потребителями PKI-сервиса.

Во-вторых, большая часть из используемых на предприятии сетевых устройств, средств защиты информации и прикладных систем должна быть «готова к интеграции с PKI», то есть поддерживать хотя бы аутентификацию пользователей на базе сертификатов. Подобную функциональность можно обеспечить и за счет наличия у поставщика PKI специализированных программных агентов для имеющихся на предприятии корпоративных приложений. Если же часть прикладных систем создана собственными силами, необходим штат квалифицированных программистов, которые могли бы адаптировать эти приложения для работы с PKI.

Далее, очень желательно наличие службы единого корпоративного каталога, на базе которого интегрирована и структурирована идентификационная информация о пользователях и сетевых объектах ИТ-инфраструктуры предприятия (например, может быть реализовано решение по управлению идентификацией на базе IBM Tivoli Identity Manager, SunONE Identity Server, Microsoft Identity Integration Server и др.).

Весьма актуальна задача создания централизованной системы управления доступом пользователей к информационным ресурсам предприятия, включая наличие «единой точки входа», в том числе, на базе принципов ролевого доступа (Role-Based Access Control, RBAC).

Наконец, необходимо наличие штата (или источника) квалифицированных специалистов для реализации проекта и последующего сопровождения системы PKI на всех этапах ее жизненного цикла.

Принимая стратегическое решение о внедрении PKI, необходимо рассмотреть два комплексных вопроса. Во-первых, нужно оценить, насколько бизнес-среда предприятия готова к этому, и насколько востребован PKI-сервис со стороны бизнес-подразделений. Можно подсчитать, например, во что обходится процедура смены ключей шифрования, или оценить, достаточно ли бизнес-процессы автоматизированы, чтобы предприятие получило реальный экономический выигрыш от внедрения, например, электронной цифровой подписи или «единой точки входа». Во-вторых, нужно определить, насколько используемые на предприятии компоненты информационной системы готовы к интеграции с PKI.

Вопросы эти, безусловно, сложны и требуют очень серьезного предварительного анализа. Как это сделать? По каким методикам? Какие применять метрики? Сколько это может стоить? Попробуйте задать эти вопросы вашим консультантам.

С чего начинать

Прежде всего, следует проанализировать предложение рынка в данном сегменте.

Сегодня на мировом рынке представлено достаточно много программных продуктов для реализации PKI. В нашей стране наиболее известны: UniCERT (продукт компании Baltimore Technologies); RSA Keon (RSA Security); Entrust Authority (Entrust); Microsoft CA. Продукты компании VeriSign, хотя и входят в число лидеров рынка PKI (рис. 1), не рассматриваются по той причине, что данная компания в основном использует модель аутсорсинга своего удостоверяющего центра, что неприемлемо для большинства отечественных предприятий.

Продукты Entrust, RSA и Baltimore являются лидерами рынка. Microsoft CA, не являющийся специализированным промышленным PKI-продуктом, интересен, прежде всего, низкой стоимостью создания инфраструктуры и «бесшовной» интеграцией со многими службами безопасности Windows 2000 и, в первую очередь, с Active Directory. Так, на базе этого продукта российская компания «КриптоПро» реализовала продукт «Удостоверяющий центр КриптоПро», поддерживающий отечественные криптографические алгоритмы для генерации ключевых пар и для подписи сертификатов открытых ключей. Кроме того, «КриптоПро» совместно с компанией «Демос» реализовала поддержку отечественных криптоалгоритмов в RSA Keon, что сделало этот полнофункциональный промышленный PKI-продукт весьма привлекательным для российского рынка.

Можно выделить два критерия, на основе которых следует осуществлять выбор PKI-продукта. Первый: нужна ли поддержка отечественной криптографии? Второй: нужна ли богатая функциональность промышленного PKI-продукта или можно обойтись «условно бесплатным» Microsoft CA?

К функциональным возможностям типового PKI-продукта можно отнести, в частности, следующие:

  • поддержка процедур усиленной аутентификации пользователей (двухфакторная аутентификация, биометрия, одноразовые пароли и т. д.);
  • отсутствие ограничений по поддержке различных полей сертификата Х.509 для гибкой реализации принципов ролевого доступа;
  • поддержка запросов пользователей на выпуск и замену сертификата;
  • поддержка процедур замены ключей в сертификате и изменения статуса сертификата;
  • верификация текущего статуса сертификата;
  • хранение секретных ключей и их восстановление по запросу пользователей или администратора;
  • поддержка долговременного архива ключей и сертификатов;
  • поддержка аппаратных токенов;
  • поддержка интерфейсов для внешних поставщиков криптосервисов;
  • проверка уникальности открытых ключей в реестре сертификатов;
  • обеспечение кросс-сертификации сертификатов, выданных сторонними PKI-системами;
  • перевыпуск сертификатов по истечении срока их действия.

Далеко не все перечисленные функции одинаково необходимы для реализации PKI-проекта в большинстве реальных случаев. Это позволяет предложить две стратегии внедрения PKI.

Первая стратегия предусматривает запуск пилотного проекта по внедрению промышленного PKI-продукта с ограниченным (100-200) числом пользователей. В его рамках на практике будет отработана интеграция выбранного продукта в ИТ-инфраструктуру конкретного предприятия, причем не только на прикладном, но и на сетевым уровне (межсетевые экраны, серверы доступа, VPN-шлюзы и т.д.). По результатам данного проекта можно будет оценить реальные затраты полномасштабного внедрения PKI во всей информационной системе предприятия, спрогнозировать потребности в ресурсах, разработать уточненный перечень требований к продукту, детальный план внедрения, оценить динамику возврата инвестиций и т.д.

Вторая стратегия основывается на построении PKI на базе «условно бесплатного» PKI-продукта от Microsoft, сначала в рамках пилотного проекта для одного из доменов Windows 2000, а далее и для всей информационной системы предприятия. Такой подход позволит выявить потребность в функциональности PKI уже в масштабах всей корпоративной сети и выработать более взвешенную систему требований для последующего принятия решения о внедрении промышленного PKI-продукта (или, что также вероятно, оценить достаточность функциональных возможностей уже внедренной системы).

Первая стратегия позволяет построить более гибкое решение, при этом оно наверняка будет нормально функционировать в гетерогенных средах. Но за это придется заплатить. Вторая стратегия больше подходит тем предприятиям, которые уже широко используют платформу Windows. Однако этот путь с большой вероятностью вызовет технические проблемы, если основная часть корпоративных приложений функционирует не в среде Windows.

В любом случае в рамках обеих стратегий руководство предприятия получит возможность детально проанализировать реальную потребность в PKI-продукте «не вообще», а применительно к конкретной информационной системе. На это уйдет какое-то время, и компания приобретет какой-то (положительный или отрицательный) опыт по внедрению и интеграции PKI, стоимость самих PKI-продуктов несколько снизится (из-за конкуренции между поставщиками), а их качество возрастет (в связи с доработкой стандартов по отрасли в целом).

Как бы там ни было, PKI, как и любая другая инфраструктурная технология, — это прежде всего технология интеграции, в данном случае — интеграции различных механизмов управления доступом (идентификации и аутентификации) и средств криптографической защиты. Заниматься интеграцией компонентов безопасности без решения проблемы интеграции других базовых компонентов информационной системы предприятия (прежде всего, прикладных систем) едва ли разумно. Рано или поздно это приведет к проблемам, которые потребуют дополнительных ресурсов для своего устранения, но, что хуже всего, может вызвать на уровне руководства предприятия очередное разочарование в замечательной, в общем-то, технологии — инфраструктуре открытых ключей.

Литература
  1. Identity Management. A white paper Global Risk Management Solutions. PricewaterhouseCoopers and Gartner Consulting, 2001.
  2. IDC Internet Security Software Market Forecast and Analysis 2000-2004.
  3. PKI and Return on Investment. RSA Security, 2002.
  4. Brink D., PKI Return on Investment. RSA Security Newsletter, April 2001, Vol. 2, No. 2.
  5. Breed C., PKI: The Myth, the Magic and the Reality. Internet.com, 1999.
  6. Ellison C., B. Schneier, Ten Risks of PKI: What You're not being told about PKI. Computer Security Journal, Nov. 2000.

Андрей Березин — заместитель директора департамента ИТ по развитию бизнеса компании КРОК, ABerezin@croc.ru


Инфраструктура открытых ключей

В структуре PKI традиционно выделяют ряд функциональных элементов.

Удостоверяющий центр (Certificate Authority), осуществляющий основные функции PKI по генерации ключей, выпуску и проверке подлинности сертификатов, отзыву сертификатов, восстановлению ключей и т. д.

Центр регистрации (Registration Authority) — необязательный компонент PKI, предназначенный (как правило) для автономной регистрации пользователей, генерации ключей и сертификатов, отправки их на подпись в удостоверяющий центр, выдачи сертификатов и ключей пользователям на аппаратных токенах и т. д.

Служба каталога (Directory Service), использующаяся в качестве архива выпущенных сертификатов, хранилища списка отозванных сертификатов, элементов политики безопасности в виде параметров доступа к ресурсам сети и т. д.

Центр управления (Certificate Management System) — компонент (как, правило, интегрированный с удостоверяющим центром), который осуществляет политику управления подсистемой PKI, а также связь с внешними PKI-системами.

Кроме того, для выполнения всех функций, возлагаемых на PKI, в состав решения должны входить дополнительные компоненты.

Модули интеграции PKI — специализированные функциональные модули подсистемы PKI, предназначенные для ее интеграции в информационную среду предприятия: программные агенты для прикладных и клиентских систем, интерфейсы к сетевым и Web-службам, инструментарий для разработчиков интерфейсов и т.д. Необходимость таких модулей обусловлена тем, что большинство корпоративных приложений и сетевых служб в коммерческой поставке не поддерживают режимы аутентификации и авторизации пользователей по их сертификатам.

Средства хранения информации о ключах и сертификатов пользователя. Как правило, в качестве таких средств выступают аппаратные токены, смарт-карты, USB-ключи и т.д.; в некоторых случаях возможна их программная эмуляция на жестких дисках. Наиболее приемлемым с точки зрения безопасности является использование интеллектуальных аппаратных носителей, которые бы выполняли необходимые функции по аутентификации пользователей и по генерации и верификации ключей шифрования. В этом случае секретный ключ никогда не покидает носителя, и его практически невозможно скомпрометировать.

Хотя все коммерческие PKI-продукты обладают собственным программным модулем, на базе которого можно построить службу каталога, для корпоративных решений часто удобнее и целесообразнее использовать внешний каталог. Как правило, специализированные продукты для создания службы каталога обладают большей базовой функциональностью и более гибкими возможностями для последующей интеграции PKI в ИТ-инфраструктуру предприятия.

Видимо, идеальным решением можно считать использование в качестве службы каталога для PKI единого корпоративного каталога (если, конечно, такой элемент ИТ-инфраструктуры уже развернут на предприятии). Интеграция PKI и единого корпоративного каталога предоставляет технологическую возможность наследования иерархии данных о пользователях формата Х.509 непосредственно в поля данных сертификатов того же формата. Это автоматически обеспечит полную идентичность данных о пользователях во всей ИТ-инфраструктуре предприятия и централизованное управление любыми изменениями этих данных. Такой подход позволит построить целостные и централизованно управляемые схемы идентификации и аутентификации пользователей во всех элементах информационной системы предприятия и, как следствие, обеспечить максимально возможный уровень защищенности информационных ресурсов.

По мнению аналитиков Aberdeen Group, интегрированная со службой каталога и PKI служба идентификации пользователей особенно актуальна для информационных систем с большим количеством абонентов (например, для систем электронной коммерции типа B2C). В таких системах необходимо уметь не только отличать абонентов (скажем, по их бизнес-ролям), но и строить персональный профиль поведения каждого абонента, например, отслеживать его кредитную историю, географические и кадровые перемещения и т. д.


Пульс акций

То, что в индустрии PKI в целом далеко не все гладко, можно судить по совершенно объективным фактам - по динамике изменения курса акций ведущих поставщиков PKI-продуктов. В этой связи наиболее показателен пример компании Baltimore Technologies, поскольку в отличие от RSA Security и Entrust (которые либо имеют другие успешные продукты безопасности, либо аффилированы с другими крупными фирмами) капитализация данной компании целиком зависит от ее успехов на рынке PKI. Картина изменения цен на акции компании за последние три года не слишком оптимистичная. Причины можно связывать как с общим кризисом в ИТ-отрасли на Западе, так и с изначально завышенными ожиданиями клиентов от PKI, которые на практике не оправдались.