Словарь терминов — Контур.Крипто

Словарь терминов — Контур.Крипто Электронная цифровая подпись

Принцип работы

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

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

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

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

Наглядное объяснение принципа работы сертификатов открытого ключа на примере установки ПО от стороннего разработчика пользователем в Интернете

Наглядное объяснение принципа работы сертификатов открытого ключа на примере установки ПО от стороннего разработчика пользователем в Интернете

Словарь терминов — Контур.Крипто

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

Читайте также:  Сертификат для эцп на диске

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

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

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

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

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

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

В SSL используется целая цепочка доверия: сертификат подписывается закрытым ключом владельца сертификата, находящегося выше в цепи.[1]

Формальное описание

Пусть имеются две стороны информационного обмена — A{displaystyle A}, B{displaystyle B}, желающие обмениваться сообщениями конфиденциально, и третья сторона T{displaystyle T} (играющая роль удостоверяющего центра), которой доверяют A{displaystyle A} и B{displaystyle B}.

  1. Стороне A{displaystyle A} принадлежит пара ключей (KAo{displaystyle KA_{o}}, KAs{displaystyle KA_{s}}), где KAo{displaystyle KA_{o}} — открытый ключ, а KAs{displaystyle KA_{s}} — закрытый (секретный) ключ стороны A{displaystyle A}.
  2. Стороне T{displaystyle T} принадлежит пара ключей (KTo{displaystyle KT_{o}}, KTs{displaystyle KT_{s}}).

A{displaystyle A} регистрируется у T{displaystyle T} (посылает запрос на подпись), указывая данные о себе и свой KAo{displaystyle KA_{o}}. Сторона T{displaystyle T} посредством определенных механизмов “удостоверяет личность” стороны A{displaystyle A} и выдает стороне A{displaystyle A} сертификат C{displaystyle C}, устанавливающий соответствие между субъектом A{displaystyle A} и ключом KAo{displaystyle KA_{o}}. Сертификат C{displaystyle C} содержит:

  1. ключ KAo{displaystyle KA_{o}},
  2. идентификационные данные субъекта A{displaystyle A},
  3. идентификационные данные удостоверяющей стороны T{displaystyle T},
  4. подпись стороны T{displaystyle T}, которую обозначим ST{displaystyle ST}. Подпись ST{displaystyle ST} — это хеш (набор символов, хеш-сумма/хеш-код), полученный в результате применения хеш-функции к данным сертификата C{displaystyle C}, зашифрованный стороной T{displaystyle T} с использованием своего закрытого ключа KTs{displaystyle KT_{s}}.
  5. и другую информацию.

A{displaystyle A} посылает стороне B{displaystyle B} свой сертификат C{displaystyle C}. B{displaystyle B} проверяет цифровую подпись ST{displaystyle ST}. Для этого B{displaystyle B}

  1. самостоятельно вычисляет хеш от данных сертификата C{displaystyle C},
  2. расшифровывает ЭЦП сертификата ST{displaystyle ST} с помощью всем известного KTo{displaystyle KT_{o}}, получив другой хеш,
  3. проверяет равенство этих двух хешей.

Если полученные хеши равны – ЭЦП корректна, а это подтверждает, что KAo{displaystyle KA_{o}} действительно принадлежит A{displaystyle A}.

Теперь B{displaystyle B}, зная открытый ключ A{displaystyle A} и зная, что он принадлежит именно A{displaystyle A}, может шифровать этим открытым ключом все последующие сообщения для A{displaystyle A}. И только A{displaystyle A} сможет их расшифровать, так как KAs{displaystyle KA_{s}} известен только A{displaystyle A}.

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

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

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

Затем с помощью широко известного проверяется подпись стороны . Если подпись корректна — значит действительно прошел регистрацию у .

Структура сертификата

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

Кроме этого в сертификат могут вноситься дополнительные поля.

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

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

Кроме этого в сертификат могут вноситься дополнительные поля.

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

Российские стандарты

В России действуют свои криптографические стандарты. Использование их совместно с сертификатами описано в RFC4491: Using GOST with PKIX.

В России действуют свои криптографические стандарты. Использование их совместно с сертификатами описано в RFC4491: Using GOST with PKIX.

Оцените статью
ЭЦП Эксперт