AES и RSA: избежать повторной обработки одного запроса? - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь безопасно передавать данные между клиентом и сервером. Я шифрую конфиденциальные данные с помощью AES, затем ключ шифрования с помощью RSA, а затем использую подписи, чтобы убедиться, что данные не изменены.

Это выглядит безопасным, но я слышал об ошибке, я не знаю ее название, но вот как она работает:

  1. сначала клиент отправляет зашифрованный запрос на сервер.
  2. хакер может видеть зашифрованный запрос, но не может его расшифровать.
  3. хакер снова и снова отправляет зашифрованный запрос на сервер и пытается выяснить, что происходит.

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

поэтому мои вопросы:

  1. как называется эта ошибка? : D
  2. как это остановить? есть ли способ указать серверу (в php например?) обрабатывать каждый запрос только один раз? или есть другое решение этой проблемы.

спасибо за чтение.

1 Ответ

0 голосов
/ 30 июня 2018

То, что вы пытаетесь избежать (1-й вопрос), это повторная атака на бэкэнд, в этом случае атакующий может выполнить Атака только по шифротексту .

Существует также другая проблема: в протоколе (например, в том, который вы разрабатываете) набор запросов / ответов, которые могут быть сделаны, может быть ограничен, и, что еще хуже, он может быть угадан (подумайте об ошибках). Это приводит к тому, что злоумышленник может выполнить известную атаку открытым текстом

Чтобы преодолеть это (2-й вопрос):

  • используйте TLS (a.k.a. https) для вашего транспорта, это защитит вас от отслеживания злоумышленников.
  • Реализуйте nonce-s, которые будут препятствовать тому же текстовому сообщению, имеющему тот же самый зашифрованный текст, но помните, что оно даже близко не подходит к TLS. (В комментариях Лоуренса Чероне и Люка Джошуа Парк)

С последующими вопросами можно обращаться по адресу Обмен стеками безопасности , который посвящен таким темам информационной безопасности.

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