Что мешает хакерам притворяться сервером / клиентом с открытыми ключами в асимметричном шифровании? - PullRequest
0 голосов
/ 30 октября 2018

При асимметричном шифровании открытые ключи могут использоваться для шифрования сообщений, отправляемых на устройство с соответствующим закрытым ключом. Я понимаю, что это мешает анализаторам узнать содержание сообщения, но учтите следующее:
Что мешает хакеру использовать открытый ключ для шифрования сообщений и выдавать себя за того, кем он не является? Скажем, я делаю покупки на Amazon, и хакеру удалось получить открытый ключ Amazon, когда Amazon обменял его со мной. Разве этот хакер не мог притвориться мной, просто изменив заголовки своих пакетов так, чтобы они выглядели так, как будто они пришли с моего компьютера? Я знаю, что этого не происходит, так чего мне не хватает?

Ответы [ 4 ]

0 голосов
/ 02 ноября 2018

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

Очень хороший вопрос. TLS предотвращает это, создавая сеансовые ключи между клиентом и сервером во время протокола квитирования. Существует два типа ключей: один для шифрования (обычно AES) и один для целостности сообщения / аутентификации сообщения (MAC) (обычно HMAC). Все коммуникации во время сеанса шифруются симметричным ключом шифрования и MAC-адресом с ключом MAC. Любые данные, которые не подписаны надлежащим образом с помощью ключа MAC, не принимаются сервером. Таким образом, только тот, у кого есть эти ключи, может общаться с сервером для этого сеанса.

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

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

0 голосов
/ 01 ноября 2018

Скажем, я делаю покупки на Amazon, и хакеру удалось получить открытый ключ Amazon, когда Amazon обменял его со мной.

Данные, зашифрованные с помощью открытого ключа Amazon, могут быть расшифрованы только с помощью личного ключа Amazon.

0 голосов
/ 02 ноября 2018

хакеру удалось получить открытый ключ амазонки

Открытый ключ Amazon является открытым. Все это знают. Тот, который был выпущен 3 мая 2018 года, начинается «A9 F4 4A 9B 29 84 20 A7 53 FF BA 01 B5 1E 0C 2A A7 53». Весь смысл криптографии с открытым / закрытым ключом заключается в том, что открытый ключ не является секретом. Поэтому захват открытого ключа не важен.

Ваш вопрос не о том, чтобы выдать себя за вас под Amazon (т.е. иметь дело с ключами Amazon). Речь идет о маскировке, как вы в Амазонке. Это совершенно другая ситуация. Вы не идентифицируете себя в Amazon с помощью сертификата (называемого «клиентский сертификат»), поэтому сертификаты и криптография с открытым / закрытым ключом не имеют к этому никакого отношения. Да; любой может отправить сообщение в Amazon в зашифрованном виде с помощью своего открытого ключа, но это не так, как вы доказываете, что вы являетесь тем, кем вы говорите.

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

Так что, если кто-то захватывает токен сеанса? Это было бы большое дело. Это абсолютно точно позволяет то, что вы описываете. Маркер сеанса должен быть защищен до тех пор, пока он действителен. Мы защищаем его, когда передаем его в Amazon, используя TLS, который «не позволяет злоумышленникам узнать содержание сообщения», поэтому, надеюсь, злоумышленники не смогут обнаружить идентификатор сеанса.

Существует множество атак для кражи идентификатора сеанса, широко называемого «перехват сеанса». Одним из наиболее известных был Firesheep , который основывался на незащищенных (HTTP) сеансах. Однако существуют более сложные атаки против HTTPS, такие как CRIME и BREACH . Усовершенствования в TLS смягчают различные известные атаки, но всегда возможно появление новых.

0 голосов
/ 01 ноября 2018

Пожалуйста, ознакомьтесь с протоколом TLS Handshake, в котором четко указано, что происходит в TLS: https://de.wikipedia.org/wiki/Transport_Layer_Security#TLS_Handshake_Protocol

  1. У вас нет личного или открытого ключа при подключении к amazon, потому что вы не проходите аутентификацию с помощью сертификата клиента.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...