Сертификаты и открытые ключи
Службы сертификатов — это одна из основы инфраструктуры открытых ключей (PKI), которая предоставляет средства для защиты и проверки подлинности информации. Связь между владельцем сертификата, удостоверением владельца сертификата и открытого ключа владельца сертификата является критической частью PKI. Эта инфраструктура состоит из следующих частей:
- пару открытых и закрытых ключей
- запрос на сертификат
- центр сертификации
- сертификат
- список отзыва сертификатов
- открытый ключ, используемый для шифрования
- открытый ключ, используемый для проверки подписи
- роли служб сертификатов Майкрософт
Пара открытых и закрытых ключей
PKI требует использования пар открытых и закрытых ключей. Математика пар открытых и закрытых ключей выходит за рамки этой документации, но важно отметить функциональную связь между открытым и закрытым ключом. Алгоритмы шифрования PKI используют открытый ключ приемника зашифрованного сообщения для шифрования данных, а также связанные закрытый ключ и только связанный закрытый ключ для расшифровки зашифрованного сообщения.
Аналогичным образом цифровой подписи содержимого, описанного ниже, создается с помощью закрытого ключа подписи. Соответствующий открытый ключ, доступный всем пользователям, используется для проверки этой подписи. Секретность закрытого ключа должна быть сохранена, так как платформа разбивается после того, как закрытый ключ скомпрометирован.
Учитывая достаточно времени и ресурсов, можно скомпрометировать пару открытого и закрытого ключа, то есть обнаружить закрытый ключ. Чем дольше ключ, тем сложнее использовать метод подбора для обнаружения закрытого ключа. На практике достаточно сильные ключи можно использовать, чтобы сделать его неуправляемым для своевременного определения закрытого ключа, что делает инфраструктуру открытых ключей жизнеспособным механизмом безопасности.
Закрытый ключ может храниться в защищенном формате на диске, в этом случае его можно использовать только с конкретным компьютером, если он физически не перемещается на другой компьютер. Альтернатива — иметь ключ на смарт-карте, который можно использовать на другом компьютере, если он имеет средство чтения смарт-карт и вспомогательное программное обеспечение.
Открытый ключ, но не закрытый ключ, субъекта цифрового сертификата включается в состав запроса на сертификат . (Поэтому перед выполнением запроса сертификата необходимо существовать пара открытого и закрытого ключа.) Этот открытый ключ становится частью выданного сертификата.
Запрос сертификата
Перед выдачой сертификата необходимо создать запрос на сертификат. Этот запрос применяется к одной сущности, например конечному пользователю, компьютеру или приложению. Для обсуждения предположим, что сущность является самостоятельной. Сведения о вашем удостоверении включены в запрос сертификата. После создания запроса он отправляется в центр сертификации (ЦС). Затем ЦС использует сведения о удостоверениях, чтобы определить, соответствует ли запрос критериям ЦС для выдачи сертификата. Если ЦС утверждает запрос, он выдает сертификат вам, как сущность, именуемая в запросе.
Центр сертификации
Перед выдачой сертификата ЦС проверяет удостоверение. Когда сертификат выдан, удостоверение привязано к сертификату, который содержит открытый ключ. Ваш сертификат также содержит цифровую подпись ЦС (которая может быть проверена любым, кто получает ваш сертификат).
Так как сертификат содержит удостоверение выдаваемого ЦС, заинтересованный стороной, которая доверяет этому ЦС, может расширить это доверие к вашему сертификату. Выдача сертификата не устанавливает доверие, а передает доверие. Если потребитель сертификата не доверяет выдаваемой ЦС, он не будет доверять сертификату (или, по крайней мере, не должен).
Цепочка подписанных сертификатов позволяет передавать доверие другим центрам сертификации. Это позволяет сторонам, использующим разные ЦС, по-прежнему иметь возможность доверять сертификатам (если в цепочке есть общий ЦС, то есть ЦС, доверенный обеими сторонами).
Сертификат
Помимо открытого ключа и удостоверения выдающего ЦС, выданный сертификат содержит сведения о целях ключа и сертификата. Кроме того, он включает путь к списку отзываемых сертификатов ЦС и указывает срок действия сертификата (дата начала и окончания).
Если потребитель сертификата доверяет выдаваемого ЦС для сертификата, потребитель сертификата должен определить, является ли сертификат действительным, сравнивая дату начала и окончания сертификата с текущим временем и проверяя, что сертификат не находится в списке отзываемых сертификатов ЦС.
Список отзыва сертификатов
Если сертификат используется в течение допустимого периода времени, и потребитель сертификата доверяет выдаваемой ЦС, перед использованием сертификата необходимо проверить еще один элемент, прежде чем использовать сертификат: список отзыва сертификатов (CRL). Потребитель сертификата проверяет список отзыва сертификатов ЦС (путь к которому включен в качестве расширения в сертификате), чтобы убедиться, что сертификат не находится в списке сертификатов, которые были отозваны. CrLs существуют, так как существуют периоды, когда срок действия сертификата не истек, но он больше не может быть доверенным. Периодически ЦС будет публиковать обновленный список отзыва сертификатов. Потребители сертификатов отвечают за сравнение сертификатов с текущим списком отзыва сертификатов перед рассмотрением сертификата.
Открытый ключ, используемый для шифрования
Если отправитель хочет зашифровать сообщение перед отправкой его вам, отправитель сначала извлекает сертификат. После того как отправитель определяет, что ЦС является доверенным, и сертификат является допустимым и не отозван, отправитель использует открытый ключ (отзыв, что он является частью сертификата) с криптографическими алгоритмами для шифрования сообщения открытого текста сообщения в шифров. При получении зашифрованного текста используется закрытый ключ для расшифровки зашифрованного текста.
Если третья сторона перехватывает сообщение электронной почты шифра, стороннему пользователю не удастся расшифровать его без доступа к закрытому ключу.
Обратите внимание, что основная часть действий, перечисленных здесь, обрабатывается программным обеспечением, а не непосредственно пользователем.
Открытый ключ, используемый для проверки подписи
цифровой подписи используется в качестве подтверждения того, что сообщение не было изменено и в качестве подтверждения удостоверения отправителя сообщения. Эта цифровая подпись зависит от закрытого ключа и содержимого сообщения. Используя сообщение в качестве входных данных и закрытый ключ, криптографические алгоритмы создают цифровую подпись. Содержимое сообщения не изменяется процессом подписывания. Получатель может использовать открытый ключ (после проверки действительности сертификата, выдачи ЦС и состояния отзыва), чтобы определить, соответствует ли подпись содержимому сообщения и определить, было ли отправлено вами сообщение.
Если третья сторона перехватывает предполагаемое сообщение, изменяет его (даже немного), пересылает его и исходную подпись получателю, получателю при рассмотрении сообщения и подписи, сможет определить, что сообщение подозревается. Аналогичным образом, если третья сторона создает сообщение и отправляет его с нефиксной цифровой подписью под видом того, что она возникла от вас, получатель сможет использовать открытый ключ, чтобы определить, что сообщение и подпись не соответствуют друг другу.
nonrepudiation также поддерживается цифровыми подписями. Если отправитель подписанного сообщения отрицает отправку сообщения, получатель может использовать подпись для ссылки на это утверждение.
Обратите внимание, что основная часть действий, перечисленных здесь, также обрабатывается программным обеспечением, а не непосредственно пользователем.
Роль служб сертификатов Майкрософт
Службы сертификатов Майкрософт имеют роль выдачи сертификатов или запрета запросов на сертификаты, как показано в модулях политики, которые отвечают за обеспечение удостоверения запрашивающего сертификата. Службы сертификатов также предоставляют возможность отзыва сертификата, а также публикации списка отзыва сертификатов. Службы сертификатов также могут централизованно распространять (например, в службу каталогов) выданные сертификаты. Возможность выдачи, распространения, отзыва сертификатов и управления ими, а также публикации списков ОТЗЫВА предоставляет необходимые возможности для инфраструктуры открытых ключей.