Рейтинг:0

Избегайте атаки MITM в ECDH без HTTPS или стороннего центра сертификации

флаг cn

Мой контекст: У меня есть протокол ECHD, меня больше всего беспокоит атака MITM, не имеет значения, используете ли вы HMAC или что-то еще в будущем для подписи запросов, если ваш обмен ключами скомпрометирован,

Вдали от https и сторонних центров сертификации, возможно ли защитить этот канал с учетом (предположим, что https небезопасен, и у нас нет центра сертификации) от MITM-атак?

Что я имею в виду: Сделайте ECDSA с жестко запрограммированной «солью» или «перцем», присутствующей в мобильной и серверной части, которая, по сути, никогда не передается по «враждебному» каналу через сеть:

Мобильный: ECDSA (сообщение + соль / перец) -> Отправить на сервер с открытым ключом Бэкенд: (входящие данные + соль/перец) _> Проверить подпись с помощью открытого ключа мобильного телефона

Этот процесс идет с двух сторон (мы сделаем то же самое, когда получим ответ службы)

Это скромный подход, мы работаем в финансовой сфере и стремимся повысить нашу безопасность в худшем случае; я знаю, что наличие жестко закодированных и не меняющихся данных/ключей/соли в большинстве случаев не является хорошей идеей; отзывы экспертов, в этом контексте бесценны, как вы защищаете этот канал без https или центров сертификации? конечно, может и нельзя, а может и нет, я вас слышу и заранее спасибо!

knaccc avatar
флаг es
Самый простой и безопасный способ — использовать TLS с собственным самозаверяющим сертификатом ЦС, который вы устанавливаете в хранилище доверенных сертификатов на каждом клиенте. Если вы заново изобретаете колесо, то вы можете добиться того же, жестко закодировав открытый ключ сервера в клиенте, а затем просто попросив сервер подписать свой эфемерный открытый ключ ECDH жестко запрограммированным открытым ключом сервера, чтобы нет MITM-атаки. Я предполагаю, что клиент также будет аутентифицирован на сервере с помощью пароля или какого-либо другого механизма после установления сеанса.
Freddy Maldonado Pereyra avatar
флаг cn
да, мы аутентифицируем соединение с помощью HTTP-заголовков, отправляя ключ API и пользователя API, которые мы предоставили ранее; мы будем использовать tls-self-signed CA, спасибо за ваш ответ!! @knaccc

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

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