LINUX.ORG.RU

Изобрёл алгоритм защиты от флуда. Покритикуйте.

 


1

2

Велосипед скорее всего.

Алгоритм повышения стоимости операций для клиента с сохранением низкой стоимости для сервера.

Пример где это нужно: хочется зарегать учётную запись без sms, email и т.п., но надо избежать флуда регистраций.

  1. В начале процедуры регистрации генерим на сервере 64КБ рандома.
  2. Запоминаем 8 случайных кусков по 8 байт из этих 64кб рандома и смещения до них.
  3. Отправляем юзеру данные 64кб и забываем эти 64 кб.
  4. Далее с интервалом в секунду посылаем юзеру запросы «дай 8 байт со смещения N», где очередное N - какое-то из запомненных нами на шаге (2).
  5. Юзер не знает что мы запомнили на шаге (2) и, таким образом, что сервер может спросить и вынужден хранить всё.
  6. Серверу нужно хранить только 8*8 байт.
  7. «с интервалом в секунду» - чтобы инициатива о длительности процедуры была полностью в руках сервера. Если клиент ответил раньше - отпинываем его совсем.

Смысл в том, что если клиент захочет запустить много-много параллельных процессов, то это будет стоить ему в разы больше памяти, чем серверу.

Хочется узнать:

  1. Как называется велосипед, который я только что изобрёл, у нормальных людей.
  2. Что можно улучшить.
  3. Альтернативы этому подходу.

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

Или так:

Сервер генерирует случайных 2 числа m и n. Клиенту отдает их произведение m*n и не слишком большой диапазон a < m < b, в котором лежит один из множителей. Клиент должен найти m и отправить на сервер.

anonymous
()

Как называется велосипед, который я только что изобрёл, у нормальных людей.

Тараканы головного мозга.

anonymous
()

Сервер че-то тяжелое делает, не надо так. Проси у них что-нибудь stateless и супердешево проверяемое, например X, где hash(concat(user_id, X)) < мало. Как надоест, переходи к решению социальных проблем социальными методами.

t184256 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.