Client Puzzle Protocol ( CPP ) - это компьютерный алгоритм для использования в Интернет- коммуникациях, цель которого - сделать невозможным злоупотребление ресурсами сервера. Это реализация системы доказательства работы (POW).
Идея CPP состоит в том, чтобы требовать от всех клиентов, подключающихся к серверу, правильно решить математическую задачу перед установлением соединения, если сервер находится под атакой. После решения головоломки клиент возвращал решение серверу, которое сервер быстро проверял, или отклонял и разрывал соединение. Головоломка сделана простой и легко решаемой, но требует минимум вычислений на стороне клиента. Законные пользователи столкнутся с незначительными вычислительными затратами, но злоупотребления будут сдерживаться: те клиенты, которые пытаются одновременно установить большое количество соединений, не смогут этого сделать из-за вычислительных затрат (временная задержка). Этот метод перспективен в борьбе с некоторыми видами спама.а также другие атаки, такие как отказ в обслуживании .
Смотрите также
Рекомендации
- Джуэлс, Ари; Брейнард, Джон (1999). «Клиентские головоломки: криптографическая контрмера против атак с истощением соединения» (PDF) . В Кенте, С. (ред.). Труды NDSS '99 (Сети и распределенные системы безопасности) . С. 151–165.