Не сильно разбираюсь в криптографии и сетях, но очень волнует одна вещь. Те же протоколы Хеллмана или RSA хорошо защищают от сниффинга. Но если, допустим, два человека ведут беседу в текстовом чате, а во время обмена публичными ключами, "по середине" незаметно вторгнется еще один человек (MITM - Man In The Middle), сгенерирует свои ключи параллельно обоим участникам... И этим сможет перехватить трафик? Можно ли как-то защититься от этого; есть ли для этого какие-то специальные протоколы? Я слышал про "квантовое шифрование", но это уже следующий век.
Если быть точнее про приведенную выше ситуацию взлома, то злоумышленник-посредник как бы устанавливает сразу два шифрованных соединения - одно с первым участником + одно со вторым; соответственно, обмен ключей происходит не между участниками, а между каждым участником и злоумышленником. Выходит, что у нас есть два независимых соединения под контролем посредника, и он, за счет своих ключей, сможет расшифровать трафик. Соответственно, видеть и подменять все сообщения
Но если, допустим, два человека ведут беседу в текстовом чате, а во время обмена публичными ключами, "по середине" незаметно вторгнется еще один человек (MITM - Man In The Middle)
Давай в этой схеме я выброшу двух людей. И заменю их на браузер и сайт. Там на самом деле и просиходит такой-же чат. Браузер спрашивает и сайт отвечает. Так вот. Эта схема защищена цифровыми сертификатами. И центром сертификации. Тоесть еще до того как вы начали хоть какой-то обмен работают протоколы установки соединения по TLS/SSL когда браузер может удостоверится что центр сертификации одобрил одного из людей и подтвердил его личность. Это Боб проверяет что Алиса - это действительно Алиса. И также получает ее public key который вобщем-то публичен и тоже является частью сертификата.
Вот придумай где подпихнуть твоего человека-Кларка посередине.
Я слышал про "квантовое шифрование", но это уже следующий век.
Квантового шифрования не существует. Есть алгоритм быстрог разложения длинного числа на множители который является частью протоколов RSA. Но все успехи в науч-попе пока ограничены тем что создали комп очень малой разрядности который и близко не подошел к нужным границам и комп сам представляет собой физ-лабораторию с криогеном и защитой от всеговсего. И нет даже надежды что такой комп вставят в телефон или десктоп. Физика - здесь наука злая и циничная. Более того даже если будут успехи в этой области у КК - то у нас в запасном кармане есть эллиптическая криптография EDSA на которую пока еще ничего не придумано. Поэтому насчет КК и криптографии нам можно вообще не беспокоиться. И нашим детям тоже. И внукам.
Кстати я вижу что qna.habr для меня использует алгоритм EDSA + SHA256
А что из себя представляет центр сертификации? Это типа базы данных на отдельном сервере? Тогда есть ли вероятность, что злоумышленник отравит кеш DNS или вообще ARP на стороне клиента, чтобы при попытке получения доступа к ЦС, адресация шла на фальшивый сервер? (Опять же, я лишь предполагаю, как работает этот центр сертификации)
mayton2019,
я не хацкер или безопасник и не знаю, как это делается. Но раз такие понятия есть, значит это возможно. Но я предположу, как это делается.
* Находиться в том же WLAN, что и я, выдать себя за DHCP и отправить на мое устройство запрос на изменение адреса основного шлюза на IP твоего устройства, чтобы ты мог перенаправлять все запросы к настоящему шлюзу через себя. Кеш ARP отравлен, можно перенаправлять запросы к/от настоящего ЦС на фальшивый.
* Ну или не нужно находиться в моём же LAN, и удаленно создать вредоносный процесс на моем компьютере, который будет перенаправлять запросы к настоящему ЦС на фальшивый.
Вот придумай где подпихнуть твоего человека-Кларка посередине.
mayton2019, товарища майора-Еву же. На провайдере услуг связи. Потому что весь твой трафик идёт через него. Ну и, разумеется, товарищ майор договорится с центром сертификации в своей юрисдикции и получит сертификат на домен который ему интересно прослушивать. Были же похожие случаи?
mayton2019, я думаю, что вы ошибаетесь. См (In 2011, a security breach of the Dutch certificate authority DigiNotar resulted in the fraudulent issuing of certificates. Subsequently, the fraudulent certificates were used to perform MITM attacks).
mayton2019, например ровно так, как написано в вопросе:
- отвечать подставным IP на запросы DNS об интересующем домене
- обслуживать запросы на установление TLS-соединение с подставным IP используя fraudulent certificate
- устанавливать соединение с настоящим сервером, транслировать ему запросы обманутого клиента, слать клиенту ответы сервера
Возможен и более прозрачный вариант, совсем без левых IP, поскольку клиент общается только с оборудованием провайдера и адрес получает от него же.
В абстрактной сферический ситуации MitM невозможен до тех пор, пока у тебя в хранилище доверенных корневых центров нет сертификата, который позволит злоумышленнику на лету подменять сертификаты сторон.
В реальной жизни, поскольку это действительно серьезное препятствие, этот сертификат там окажется административно-командными мерами. Например, в локальной сети предприятия он ставится доменными политиками.