Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Инфраструктуры открытых ключей - Ольга Юрьевна Полянская на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

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

Серверные компоненты PKI

Основными серверными компонентами PKI являются сервер сертификатов, сервер каталогов и сервер восстановления ключей, опциональными компонентами - сервер регистрации, OCSP-сервер, обслуживающий запросы пользователей по онлайновому протоколу статуса сертификата Online Certificate Status Protocol (более подробно об этом см. лекцию 12), и сервер проставления меток времени.

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

Сервер каталогов содержит информацию о сертификатах и атрибутах субъектов сертификатов открытых ключей. Через протокол LDAP приложения стандартным образом обращаются к записям каталогов, например, к адресам электронной почты, номерам телефонов, полномочиям и сертификатам пользователей.

Рис. 3.2.  Взаимодействие пользователей с серверами PKI

Сервер каталогов должен обеспечивать:

* сетевую аутентификацию через IP-адреса или DNS-имена и аутентификацию конечных субъектов по именам и паролям или по сертификатам открытых ключей ;

* управление доступом субъектов к информации в зависимости от их прав на выполнение операций чтения, записи, уничтожения, поиска или сравнения;

* конфиденциальность (посредством протокола SSL) и целостность сообщений для всех видов связи [56].

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

PKI управляет ключами и сертификатами, используемыми для реализации криптографических операций в web-браузерах, web-серверах, приложениях электронной почты, электронного обмена сообщениями и данными, в приложениях, поддерживающих защищенные сетевые транзакции и сеансы связи через World Wide Web или в виртуальных частных сетях на базе протоколов S/MIME, SSL и IPsec, а также для заверения цифровой подписью электронных документов или программного кода [82]. Наряду с перечисленными выше приложениями, PKI-совместимыми могут быть и корпоративные приложения, разработанные внутри организации.

Приложения электронной почты и обмена сообщениями используют пары ключей для шифрования сообщений и файлов и заверения их цифровыми подписями. Системы электронного обмена данными поддерживают транзакции, требующие аутентификации сторон, обеспечения конфиденциальности и целостности данных. Браузеры и web-серверы используют шифрование для аутентификации, обеспечения конфиденциальности, а также в приложениях электронной коммерции и онлайнового предоставления банковских услуг. Шифрование и аутентификация применяются также для создания виртуальных частных сетей (Virtual Private Networks - VPN) на основе сетей общего пользования, для защиты коммуникаций между сайтами или удаленного доступа (клиент-сервер). Заверение цифровой подписью программных кодов и файлов дает возможность пользователям подтвердить источник получаемых по Интернету программ и файлов и целостность их содержания, это важно и для контроля вирусного заражения.

Клиентское программное обеспечение

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

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

Компонент клиентской стороны PKI может быть:

* относительно большим ("толстый" клиент), выполняющим большую часть операционной работы PKI, в том числе обработку путей сертификации и валидацию;

* относительно небольшим ("тонкий" клиент), просто вызывающим внешние серверы для выполнения PKI-функций;

* Java-апплетом или аналогичным мобильным кодом, при необходимости загружаемым в режиме реального времени, а затем удаляемым после завершения работы вызывающего приложения (подобного web-браузеру);

* динамически подключаемой библиотекой (Dynamically Linked Library - DLL) или аналогичной, которая размещается резидентно на клиентской платформе.

Существует много возможностей реализации и вызова клиентского ПО, но главным требованием является независимость этого компонента от приложений, использующих PKI.

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

Сервисы PKI

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

Криптографические сервисы

Генерация пар ключей

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

Выработка цифровой подписи

Этот сервис заключается в генерации хэш-кода сообщения и подписи его цифровым образом.

Верификация (проверка) цифровой подписи

Посредством этого сервиса устанавливается подлинность сообщения и соответствующей ему цифровой подписи.

Сервисы управления сертификатами

Выпуск сертификатов

Сертификаты выпускаются УЦ для пользователей (физических и юридических лиц), для подчиненных ему удостоверяющих центров, а также для удостоверяющих центров сторонних PKI в случае кросс-сертификации.

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

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

Управление жизненным циклом сертификатов и ключей

Если секретный ключ пользователя потерян, похищен или скомпрометирован, либо существует вероятность наступления таких событий, действие сертификата должно быть прекращено. После получения подтверждения запроса пользователя об аннулировании сертификата УЦ уведомляет об аннулировании все заинтересованные стороны, используя список аннулированных сертификатов (САС).

УЦ заверяет цифровой подписью сертификат, связывающий открытый ключ с идентичностью пользователя. Однако события реального мира часто разрушают эту связь: идентификационные данные субъекта могут измениться, например, при заключении брака (девичья фамилия заменяется фамилией супруга) или при хищении его секретного ключа злоумышленником. Появляется необходимость в предупреждении остального сообщества пользователей о недопустимости использования данного ключа для данной идентичности. Этот механизм предупреждения в терминах PKI называется аннулированием сертификатов.

Пример 3.1. В качестве примера можно привести следующую аналогию аннулирования сертификатов. Водительские права - это один из видов сертификатов, который связывает идентичность (имя и фотографию) с номером водительских прав (то есть разрешением на вождение) и выдается доверенным центром (автоинспекцией). Когда инспектор останавливает машину, то он не просто проверяет, на какой срок выданы права, но также может связаться с доверенным центром, чтобы выяснить, не были ли права аннулированы. Проверка на предмет аннулирования необходима, потому что иногда связь "идентичность-разрешение" в непросроченных правах не является надежной [10].

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

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

Поддержка репозитория

Выпущенный сертификат или САС включается в репозиторий (в соответствии со спецификациями стандарта X.500 или иными требованиями), чтобы третьи стороны могли иметь к нему доступ. Обычно репозиторий контролируется УЦ, в некоторых случаях - третьей стороной. Доступ к репозиторию может быть ограничен. Если необходимо соблюдение конфиденциальности персональных данных пользователей, применяются меры защиты данных от лиц, не имеющих полномочий доступа.

Хранение сертификатов и САС в архиве

Выпускаемые сертификаты и списки аннулированных сертификатов хранятся в архиве длительное время, которое определяется правилами хранения документов, заверенных электронно-цифровой подписью (ЭЦП).

Вспомогательные сервисы

Регистрация

Регистрационные сервисы обеспечивают регистрацию и контроль информации о субъектах, а также аутентификацию субъектов, необходимую для выпуска или аннулирования сертификатов (от имени УЦ ). Фактический выпуск сертификатов осуществляется УЦ.

Хранение информации в архиве

Сервисы хранения информации в архиве предназначены для долговременного хранения и управления электронными документами и другой информацией.

Резервное хранение и восстановление ключей

УЦ должен иметь возможность восстановить зашифрованную информацию в случае потери пользователями их ключей шифрования. Это означает, что УЦ необходима система создания резервных копий и восстановления этих ключей. Этот процесс известен как коммерческое создание резервных копий и восстановление ключей, и он отличается от принудительного депонирования ключей третьей стороной (обычно правоохранительными органами), которая получает доступ к ключам для расшифровки необходимой информации. Коммерческие сервисы восстановления ключей обеспечивают заблаговременное засекречивание копии ключа на случай утери ключа пользователем, его ухода с работы, утраты пароля, необходимого для доступа к ключу, а также восстановление ключа в ответ на запрос пользователя или его работодателя.

При функционировании PKI иногда возникают ситуации, когда пользователи больше не могут использовать свои секретные ключи:

* недоступность зашифрованного секретного ключа (забытые пароли доступа);

* разрушение среды хранения секретного ключа (например, смарт-карты, жесткого диска);

* уничтожение секретного ключа при замене среды хранения (переформатирование жесткого диска, установка нового диска и др.).

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

Сервисы обеспечивают создание резервных копий и восстановление информации в случае уничтожения или устаревания среды хранения.

Автоматическое обновление ключей

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

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

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

Управление историями ключей

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

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

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

Процесс корректировки пар ключей должен быть "прозрачен" для пользователя. Это означает, что пользователи не должны заботиться об обновлении ключей или получать отказ в обслуживании из-за недействительности своих ключей. Для удовлетворения этого требования пары ключей пользователя должны автоматически обновляться до истечения срока их действия. При обновлении пары ключей подписи предыдущий ключ подписи безопасно уничтожается, тем самым предотвращается несанкционированный доступ к ключу и устраняется необходимость хранения предыдущих ключей.

Другие сервисы

В ряде случаев необходимы и другие сервисы, например, сервисы генерации пар ключей и записи их на смарт-карты, если ключи хранятся на смарт-картах.

Сервисы, базирующиеся на PKI

Предотвращение отказа от участия в обмене информацией

Сервис предотвращения отказа от участия в обмене информацией генерирует электронные доказательства времени подписания или передачи данных и аутентификации источника данных, которые могут использоваться для того, чтобы стороны, отправляющие и принимающие электронные сообщения или документы, не могли отрицать свое участие в информационном обмене в целом или на отдельных его этапах [2]. Считается, что если зафиксированы время участия в информационном обмене и источник информации, то сторона, отправляющая информацию, не сможет отрицать того, что сообщение отправлено ею (доказательство происхождения данных), а сторона, принимающая информацию, не сможет отрицать того, что получила сообщение (доказательство доставки данных). Для краткости этот сервис часто называют сервисом "неотказуемости". Термин " неотказуемость " интуитивно понятен многим, привычен и широко распространен в среде специалистов, поэтому в дальнейшем изложении сервис предотвращения отказа от участия в обмене информацией будем называть сервисом неотказуемости.

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

Авторизация

Сертификаты могут использоваться для подтверждения личности пользователя и задания полномочий, которыми он наделен. В числе полномочий субъекта сертификата может быть, например, право просматривать информацию или разрешение вносить изменения в материал, размещенный на web-сервере.

Нотариальная аутентификация

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

К сервисам, базирующимся на PKI, также относятся защищенное датирование, поддержка защищенного архива данных и некоторые другие сервисы, все они более подробно описываются в лекции 16.

Лекция 4. Сервисы безопасности PKI и базовые криптографические механизмы

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

Сервисы безопасности PKI

Сервис безопасности представляет собой совокупность механизмов, процедур и других средств управления для снижения рисков, связанных с угрозой утраты или раскрытия данных [2]. В основном считается, что PKI должна предоставлять три основных сервиса безопасности: аутентификацию, целостность и конфиденциальность.

Сервис идентификация и аутентификация обеспечивает аутентификацию участников коммуникации и аутентификацию источника данных.

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

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

* конфиденциальность данных при взаимодействии с установлением соединения;

* конфиденциальность данных при взаимодействии без установления соединения;

* конфиденциальность отдельных полей данных (избирательная конфиденциальность );

* конфиденциальность трафика (защита информации, которую можно получить, анализируя трафик).

К основным сервисам безопасности, помимо перечисленных выше, международный стандарт X.800 (Recommendation X.800) относит также и сервис неотказуемости [56]. Строго говоря, сервис неотказуемости является сервисом, базирующимся на PKI, он предоставляет лишь электронные доказательства времени подписания или передачи данных и аутентификации источника данных, которые в случае возникновения спора между сторонами могут быть учтены или оспорены во время судебного разбирательства. При принятии решения о неправомерных действиях одной из сторон более важен человеческий фактор, нежели результат процедуры, выполняемой PKI автоматически. Поэтому сервис неотказуемости рассматривается в главе, которая посвящена сервисам, базирующимся на PKI.

Идентификация и аутентификация

Идентификацией субъекта называется процесс сопоставления введенной им своей характеристики с некоторым идентификатором, хранимым системой. В дальнейшем идентификатор субъекта используется для предоставления субъекту определенного уровня прав и полномочий. Аутентификацией субъекта называется процедура проверки принадлежности идентификатора субъекту. Аутентификация осуществляется на основании того или иного секретного элемента (аутентификатора), которым располагают как субъект, так и информационная система [37].

Обычный способ идентификации - ввод имени пользователя при входе в систему. Для аутентификации пользователей, то есть проверки подлинности их личности, чаще всего используются пароли. При аутентификации источника данных подтверждается подлинность источника отдельной порции данных. Функция не обеспечивает защиты против повторной передачи данных [5].

Аутентификация обычно находит применение в двух основных контекстах: идентификации субъекта и идентификации источника данных.

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

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

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

По степени приближенности субъекта к среде различают следующие процедуры идентификации:



Поделиться книгой:

На главную
Назад