Что такое сертификат открытого ключа
Перейти к содержимому

Что такое сертификат открытого ключа

  • автор:

Сертификаты открытого ключа X.509

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

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

Сертификат — это подписанная структура данных, которая привязывает открытый ключ к сущности. Синтаксис абстрактной синтаксической нотации 1 (ASN.1) для сертификата X.509 версии 3 показан в следующем примере.

-- X.509 signed certificate SignedContent ::= SEQUENCE < certificate CertificateToBeSigned, algorithm Object Identifier, signature BITSTRING >-- X.509 certificate to be signed CertificateToBeSigned ::= SEQUENCE

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

Сертификаты x.509 версий 1, 2 и 3

В следующих разделах доступные поля рассматриваются более подробно.

Сертификаты и открытые ключи

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

  • Пара открытых и закрытых ключей
  • Запрос сертификата
  • Центр сертификации
  • Сертификат
  • Список отзыва сертификатов
  • Открытый ключ, используемый для шифрования
  • Открытый ключ, используемый для проверки подписи
  • Роль служб сертификатов Майкрософт

Пара открытых и закрытых ключей

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

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

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

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

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

Запрос сертификата

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

Центр сертификации

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

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

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

Сертификат

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

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

Список отзыва сертификатов

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

Открытый ключ, используемый для шифрования

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

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

Обратите внимание, что основная часть перечисленных здесь действий обрабатывается программным обеспечением, а не непосредственно пользователем.

Открытый ключ, используемый для проверки подписи

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

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

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

Обратите внимание, что основная часть перечисленных здесь действий также обрабатывается программным обеспечением, а не непосредственно пользователем.

Роль служб сертификатов Майкрософт

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

Открытый и закрытый ключ электронной подписи

Технология электронной подписи реализуется на связке открытого и закрытого ключа.

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

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

Открытый ключ – известен всем пользователям системы и необходим для проверки электронной подписи. С его помощью получатель документа устанавливает авторство документа и неизменность документа после подписания.

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

УЦ СКБ Контур выпускает все виды электронных подписей.

Чем отличаются открытый и закрытый ключи ЭЦП?

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

Открытый ключ ЭЦП

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

Закрытый ключ ЭЦП

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

Как найти и выгрузить ключи на компьютер?

  • В ОС Windows необходимо открыть: «Пуск» — «Панель управления» — «Свойства браузера».
  • В появившемся окне выбрать вкладку «Содержание», а далее — «Сертификаты».
  • Появится список сертификатов, в котором следует выбрать нужный, а затем нажать кнопку «Экспорт».
  • Появится окно «Мастер экспорта сертификатов», где нужно выбрать «Не экспортировать закрытый ключ», если это не требуется.
  • Выбрать формат файла «Файлы в DER-кодировке X.509 (.CER)».
  • Выбрать место хранения ключа и сохранить.

Через КриптоПро CSP:

  • В ОС Windows надо перейти в «Пуск» — «Панель управления» — «КриптоПро CSP».
  • В открывшемся окне следует выбрать вкладку «Сервис» и нажать «Просмотреть сертификаты в контейнере».
  • Через кнопку «Обзор» нужно выбрать контейнер.
  • В окне «Сертификат для просмотра» следует нажать кнопку «Свойства» и на вкладке «Состав» нажать «Копировать в файл».
  • Далее порядок действий в окне «Мастер экспорта сертификатов» аналогичный: выбрать, нужно ли сохранять закрытый ключ, установить формат и определить место хранения.

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

Выгрузка закрытого ключа через свойства браузера выполняется по тому же алгоритму, что и в случае с открытым. Только в окне «Мастер экспорта сертификатов» нужно выбрать «Экспортировать закрытый ключ». А порядок действий при выгрузке из КриптоПро CSP следующий:

  • В ОС Windows нажать «Пуск» перейти на «Панель управления» и выбрать «КриптоПро CSP».
  • Далее — вкладка «Сервис» и кнопка «Скопировать контейнер».
  • Через кнопку «Обзор» нужно выбрать контейнер и подтвердить (потребуется ввести PIN-код).
  • Затем нужно ввести название копии закрытого ключа и нажать «Готово».
  • Далее нужно выбрать, куда будет записан ключ, установить пароль для обеспечения дополнительной защиты и подтвердить действия.

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

Заказав электронную цифровую подпись в СберКорус, вы сможете самостоятельно настроить компьютер для работы с ЭЦП, посмотрев видеоинструкцию. При возникновении сложностей мы поможем настроить компьютер бесплатно. А также в любое время проконсультируем по интересующим вопросам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *