@marmuff

Каким образом формируется сертификация открытых ключей?

Имеется стандартный ассиметричный алгоритм шифрования (пусть будет RSA).
Вопрос касательно сертификации открытых ключей центром сертификации для организации end-to-end шифрования.

Вопрос - каким образом происходит сертификация и проверяется подпись?
Выдержка из Вики:

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

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


Как я понял принцип работы:
Пользователь А генерирует открытый и закрытый ключи. Открытый ключ направляется центру сертификации. Он генерирует некий DTO примерно следующего вида:
{
    "public_key": "здесь открытый, для которого и создаётся сертификат",
    "sertification_center_name": "название центра сертификации",
    "sertificate_owner_name": "имя владельца сертификата",
    "sign": "MD5 хэш всех этих данных после того, как они были зашифрованы закрытым ключом центра сертификации"


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

Все верно? Если да, то возникает вопрос: в чем здесь дополнительное обеспечение безопасности? Что мешает подменить не обычный отправляемый публичный ключ, а сам сертификат на сертификат другого ключа?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 2
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
У сертификата с ключом есть некий уникальный ID, по которому они друг друга опознают, ключ чужого сертификата бесполезен. И кроме того, считается, что ключ сертификата хранится в безопасном месте и не доступен кому попало. Утечка ключа = компроментация сертификата.
Ответ написан
Комментировать
@granty
то мешает подменить не обычный отправляемый публичный ключ, а сам сертификат на сертификат другого ключа?

Вы только что описали атаку MitM SSL.
Но, как уже отметил res2001 в камментах, есть третья доверенная сторона - Центр Сертификации(Центр аттестации), он подтверждает валидность используемого SSL-сертификата.

spoiler
Поскольку все РФ-сертификационные центры (центры аттестации) должны иметь сертификат от ФСБ, последние имеют доступ ко всем приватным ключам. Поэтому любой, установленный на ПК, российский SSL-сертификат потенциально небезопасен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы