Федеральная Служба Опасности (malaya_zemlya) wrote,
Федеральная Служба Опасности
malaya_zemlya

Categories:

Программерское-кардерское (Часть 1)

Щас я буду вредные советы давать.
Разговоры про кардеров напомнили про следующую задачу:
Вот я Альберто Гонзалез украл большую партию кредиток и хочу их продать (если кому не нравится про кредитки, пусть будет "разложил N составных чисел на множители" или "нашел остроумные решения у серии NP-сложных задач"). Ко мне приходят покупатели и говорят: "А хороший товар?" Я, конечно, отвечаю "Наилучший!" А те мне: "А чем докажешь?"
Вот тут возникает проблема: показать товар - значит его отдать. Биты и байты нельзя дать повертеть в руках, а потом забрать назад. Можно дать на проверку, как это иногда водится, несколько тестовых номеров, но где гарантия, для что все остальное не фуфло? Нет гарантии.

Обычно дело решается социальными методами: через репутацию владельца, всевозможные блэк-листы и долгие разборки на форумах соответствующего профиля. Но это долго, нервно и зачастую скатывается в ситуацию "мое слово против твоего". Можно ли задачу решить как-то более элегантно?

Думаю так: я публикую для всеобщего обозрения список хэшей номеров. Покупатель выбирает из опубликованных хэшей M случайных и просит их открыть. Я пересылаю ему номера, покупатель сверяет, что хэши совпадают. Потом проверяет сами номера на валидность. Если все M номеров прошли, то по правилу Лапласа можно рассчитывать, что в среднем (M+1)/(M+2) ото всех номеров в партии будет работать. Обращаю внимание, что доля не зависит от размера всей партии.

* Зачем проверять хэши? Чтоб не дать возможности продавцу сначала подсунуть единственные работающие номера (как в случае с открытыми тестовыми номерами), а потом отдать мусор.

* Что если пространство возможных номеров недостаточно велико? Тогда хэши можно брутфорсить. Например, число возможных карточек "Виза" около 1015 ~ 250 Вполне доступно для перебора. Решение: солить хэши, то есть перед хэшированием дописывать к номеру случайную строку. Естественно, покупателю открывается все вместе: и номер, и соль - иначе хэш нельзя проверить.

* Что мешает покупателю взять тестовые номера, убедиться, что они работают и скрыться? С мира по нитке, голому рубашка (в англоязычных форумах этот метод так и зовется нищенством). Тогда проблема сводится к задаче продажи малой партии, где статистических методов валидации недостаточно. Что в этом случае делать? об этом в следующей части.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 11 comments