Рейтинг:2

Почему ECDHE безопасен при подключении в процессе подписания?

флаг us

Я хотел несколько видеороликов от Computerphile об эллиптической кривой Диффи-Хеллмана, цифровых подписях и TLS.

По большей части я все понимаю, но что-то меня беспокоит. Computerphile снял видео, объясняющее использование RSA с ECDHE, чтобы убедиться, что никто не возится с сообщениями посередине. Видео называется Проблемы с обменом ключами. Я не понимаю, как введение криптографически подписанного параметра Диффи-Хеллмана, который можно расшифровать с помощью открытого ключа, гарантирует, что никто не находится посередине?

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

Например:

  1. A (подписавший) отправляет документ для проверки C (проверяющему) через B (B находится посередине; B пересылает документ C).
  2. A отправляет зашифрованный документ C через B.

Это означает, что если B откажется от документа своим закрытым ключом, тогда C просто проверит, был ли он подписан с помощью открытого ключа C.

Рейтинг:2
флаг in

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

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


Следующей проблемой становится то, как доверять открытому ключу. Это не является частью протокола ключевого соглашения. Один из способов — явно доверять одному открытому ключу, например, путем проверки отпечатка пальца открытого ключа по телефону. Также может случиться так, что ключ загружен по доверенному каналу; это то, что, например, часто выполняется с открытыми ключами SSH.

Для TLS доверие устанавливается путем доверительных (корневых) сертификатов центров сертификации. Затем они несут ответственность только за создание сертификатов для объектов, которые могут показать, что они контролируют определенный домен. Эти сертификаты содержат этот домен, а также открытый ключ, используемый для проверки. Эта структура называется PKIX: инфраструктура открытых ключей с использованием сертификатов X.509 и списков отзыва сертификатов.


Некоторые примечания:

  • Я удалил любое упоминание об алгоритмах согласования ключей или генерации/проверки подписи - используемые алгоритмы не важны для этого вопроса.
  • Также можно доверять (статическому) открытому ключу Диффи-Хеллмана, но вы потеряете прямая секретность - если произойдет утечка долгосрочного закрытого ключа этой пары ключей, злоумышленник может воспроизвести соглашение о ключах и расшифровать все сообщения (и это также усложняет PKI).
  • Генерация подписи — это не то же самое, что подписание сообщения или хэша сообщения, а проверка — это не то же самое, что «расшифровка с помощью открытого ключа» — открытый ключ Диффи-Хеллмана будет просто отправить в ясном виде вместе с подписью над ним.
  • После установления сеанса может потребоваться дополнительный контроль доступа, поэтому сертификат, используемый для создания соединения, часто передается серверной части и используется в какой-либо системе управления доступом.
DatagramDigger avatar
флаг us
Подводя итог тому, что вы сказали, чтобы убедиться, что я понимаю, по сути, связующим звеном здесь является открытый ключ подписавшего. Если открытый ключ подписавшего или, как вы сказали, набор открытых ключей является единственным доверенным, если противник попытается отказаться от него, ему придется использовать закрытый ключ, отличный от того, который использовал подписывающий, и, таким образом, это будет отклонено проверяющим. Это имеет смысл. Теперь мне просто нужно узнать больше об упомянутой вами инфраструктуре открытых ключей, которая используется для определения того, каким открытым ключам может доверять верификатор.
Maarten Bodewes avatar
флаг in
Кажется, ты понял, отлично. Вы можете просто открыть хранилище сертификатов в своем браузере, чтобы получить представление, или щелкнуть небольшой элемент блокировки TLS на панели вашего браузера, а затем просмотреть сведения о сертификате для определенного сайта, включая сертификаты промежуточного ЦС и корневого ЦС.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.