Ольга Полянская - Инфраструктуры открытых ключей
|Содержание сертификата | Старый сертификат, подписанный новым ключом | Новый сертификат, подписанный старым ключом |
|Срок действия ключа | Начинается с выпуска сертификата и заканчивается после того, как истечет срок действия сертификатов, подписанных ранее старым секретным ключом | Начинается с выпуска сертификата и заканчивается после того, как истечет срок действия сертификатов, подписанных ранее старым секретным ключом |
|Открытый ключ субъекта | Старый ключ подписи | Новый ключ подписи |
|Дополнение Basi Constraints | Задается как некритичное; параметр cA принимает значение TRUE, но значение длины пути не указывается | Задается как некритичное; параметр cA принимает значение TRUE, но значение длины пути не указывается |
|Дополнение Authority Key Identifier | Задается как некритичное и относится к новому открытому ключу | Задается как некритичное и относится к старому открытому ключу |
|Дополнение Subject Key Identifier | Задается как некритичное и соответствует дополнению Authority Key Identifier в сертификатах, подписанных старым секретным ключом | Задается как некритичное и соответствует дополнению Authority Key Identifier в сертификатах, подписанных новым секретным ключом |
|Цифровая подпись | Генерируется при помощи нового секретного ключа | Генерируется при помощи старого секретного ключа |
Таблица 7.1.Особенности профилей старого и нового сертификатов обновления ключа
Обновление политик часто происходит вместе с обновлением ключа. Профиль сертификата обновления политики в целом совпадает с профилем сертификата, но имеет некоторые особенности [70].
Старый сертификат, подписанный новым ключом, позволяет пользователям сертификатов, изданных в соответствии с новой политикой, строить валидный путь сертификации к сертификатам, изданным в соответствии со старой политикой. Поскольку обновление политики является очень важным изменением, то, вероятно, одновременно будет выполняться обновление ключа. Дополнительные рекомендации относительно содержания сертификата следующие:
* дополнение Certificate Policies (политики применения сертификатов) задается как некритичное; в нем указываются все новые политики, которые УЦ устанавливает в сертификатах, подписываемых новым секретным ключом; эти политики не имеют спецификаторов;
* дополнение Policy Mappings (соответствие политик) задается как некритичное; оно определяет новые политики как политики домена издателя и устанавливает их соответствие старым политикам, заданным как политики домена субъекта.
Новый сертификат, подписанный старым ключом, позволяет пользователям сертификатов, изданных в соответствии со старой политикой, строить валидный путь сертификации к сертификатам, изданным в соответствии с новой политикой. Поскольку обновление политики является очень важным изменением, то, вероятно, одновременно будет выполняться обновление ключа. Дополнительные рекомендации относительно содержания сертификата следующие:
* дополнение Certificate Policies (политики применения сертификатов) задается как некритичное; в нем указываются все старые политики, которые были установлены в сертификатах, подписанных старым секретным ключом; эти политики не имеют спецификаторов;
* дополнение Policy Mappings (соответствие политик) задается как некритичное; оно определяет старые политики как политики домена издателя и устанавливает их соответствие новым политикам, заданным как политики домена субъекта.
Использование субъектом нескольких сертификатов
Пары ключей одного субъекта
Более широкое распространение инфраструктур открытых ключей, скорее всего, приведет к тому, что субъектам PKI придется иметь целый набор пар ключей одного назначения (например, для цифровой подписи). Уже сейчас появляется необходимость устанавливать строгое соответствие между парами ключей и "ролями", которые приходится играть субъекту в течение дня, включая рабочее и нерабочее время. Субъект может использовать один ключ для подписания электронных документов по служебной необходимости, другой - для подписания сообщения, отправляемого по электронной почте другу, и третий - для подписания заявки на товар, приобретаемый в магазине электронной торговли и т.д. (рис. 7.2).
Рис. 7.2. Применение пользователем нескольких пар ключей
В современной жизни существует привычная всем аналогия набору пар ключей - кредитные карты: личные и корпоративные. Многие деловые люди используют корпоративную кредитную карту для служебных целей и личную кредитную карту для всех других целей. Корпоративная кредитная карта выпускается для служащего компанией, в которой он работает, и может предоставлять некоторые преимущества по сравнению с личной кредитной картой (например, высокий лимит расходов или страхование несчастных случаев). Та же самая модель поддерживается для ключей: ключ может генерироваться и выпускаться централизованно самой компанией, а не локально субъектом PKI на его рабочей станции. Более того, этот ключ может наделяться определенными привилегиями или его применение может ограничиваться. Концепция использования субъектом нескольких пар ключей актуальна для многих сред, наоборот, было бы удивительно, если бы субъект PKI имел всего одну пару ключей для различных целей.
Итак, пара ключей должна быть связана с разными ролями или действиями субъекта. Однако бывают случаи, когда пара ключей имеет вполне определенное назначение. Например, пара ключей из алгоритма цифровой подписи Digital Signature Algorithm (DSA) не может использоваться для шифрования и расшифрования, пара ключей Диффи-Хэллмана не может использоваться для подписания данных и верификации подписи. Более того, даже пара ключей RSA, которая, в принципе, может применяться для аутентификации, целостности, конфиденциальности или обмена ключами, на практике должна иметь только одно назначение, разрешенное политикой или вариантом реализации PKI.
Сфера применения пары ключей может быть разной даже в рамках одного назначения [44]. Так, например, во многих средах важно различать, с какой целью субъект PKI подписывает данные: для своей аутентификации или с намерением заверить содержание документа. Иногда бывает необходимо не просто задать назначение пары ключей, но и конкретизировать тип и категорию назначения. Например, пара ключей может быть создана только для авторизации платежей, более того, сумма платежей может быть также ограничена, в этом случае все заверенные данным ключом транзакции на сумму, превышающую заданный лимит, будут отвергнуты.
Таким образом, пара ключей может быть связана с определенной политикой, которая ограничивает ее:
* определенным качественным или количественным признаком назначения (например, транзакции на сумму не выше заданного значения);
* определенным типом назначения (например, авторизация платежей) внутри определенной категории назначения (например, цифровая подпись) внутри определенного сервиса назначения (например, аутентификации).
Кроме того, назначение пары ключей может зависеть от типа приложения или протокола обмена. Например, пара ключей может использоваться для аутентификации субъекта по протоколу Internet Protocol Security (IPsec), а не по протоколу Secure Sockets Layer (SSL).
Итак, концепция использования субъектом нескольких пар ключей представляется разумной из-за разных ролей, которые приходится играть субъекту, или из-за узкой сферы применения отдельных пар ключей. Чтобы выполнять все задачи, связанные даже с одной ролью или должностью, субъекту PKI может потребоваться много пар ключей.
Взаимосвязи сертификатов и пар ключей
Если субъект PKI имеет много пар ключей, то должен иметь и много сертификатов, поскольку формат сертификата стандарта X.509 не позволяет ему указывать в поле Subject Public Key Info (информация об открытом ключе субъекта) несколько ключей. Это, однако, не исключает возможности появления определенного открытого ключа в нескольких сертификатах, которые одновременно являются валидными. Проанализируем взаимосвязи между парами ключей и сертификатами [43].
Чаще всего достоинством применения одного и того же открытого ключа в нескольких валидных сертификатах считается простота обновления сертификата. Это означает, что если пара ключей не была скомпрометирована и секретный ключ имеет достаточную для безопасности длину, то, как только истекает срок действия данного сертификата, открытый ключ должен размещаться в новом сертификате с новым сроком действия. Обновление сертификата продлевает жизнь пары ключей и не требует от доверяющих сторон обновлять свои знания об открытом ключе субъекта. Кроме того, от самого субъекта не требуется менять ключ, который он использует, и, следовательно, поддерживать историю ключей.