24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Криптоборд анонимных тред Не увидел криптографии треда на нулевой, да и обсудить хочу не совсем и не только криптографию, а ИДЕАЛЬНУЮ АНОНИМНУЮ ИМИДЖБОРДУ ОПЯТЬ.
Вопрос следующий: как реализовать эффективную систему банов и защиты от флуда (ддоса), не компрометируя анонимности остальных (незабаненных) анонимусов?
Накидаю примерный сценарий. Алиса и Боб сидят на имиджборде, написанной Абу. В один прекрасный день к ним приходит Ева и начинает срать в каждый тред. Абу хочет забанить Еву (лишить ее возможности писать сообщения), но при этом он не хочет знать, кто пишет остальные посты: Алиса или Боб.
Сразу договоримся, что физические адреса анонимусов нам неизвестны. Ну, пусть все сидят через тор, например. Алсо, не учитываем ад-хок солюшены для предотвращения зафлуживания, ну типа капчи или таймаутов. То есть задача именно в том, чтобы запретить писать новые посты автору имеющегося поста, не компрометируя остальных участников.
Очевидно, каждого нового участника придется заставить генерировать ключ и подписывать им свои сообщения. Но публичная часть ключа публиковаться, выходит, тоже не должна. Получается, что если мы нашли нарушающее правило сообщение с открытым текстом Т и подписью П, то каждого следующего постера мы должны заставить подписать своим ключем Т и сравнить результат с П - если совпало, значит он забанен.
Теперь надо удостовериться, что при подписывании был использован реальный ключ, а не мусор. И я тут подумал и понял, что это по сути сводится к изначальной задаче: проверить, что клжч входит в множество ключей, не узнавая, что это именно за ключ. Блядь, ну дискас короче, счас я еще подумаю.
>>918871 (OP) > каждого нового участника придется заставить генерировать ключ Ок > Но публичная часть ключа публиковаться, выходит, тоже не должна А нахуй она нужна, тогда? > клжч входит в множество ключей, не узнавая, что это именно за ключ Тут можно попробовать покрутить доказательства с нулевым разглашением, но сначала разберись зачем и как должна на этой борде использоваться подпись.
>>918970 Да, ты полностью прав, и про нулевое разглашение я как раз вчера мельком полуркал, но еще не было времени осмыслить. Кстати, если можешь посоветовать какие-то конкретные мастрид материалы по теме - вил би аппрешиэйтед.
>>918914 Изначально я думал, что сервер генерирует пул ключей, то есть каждый час по 10 ключей, например, и считает все их валидными, так что сервер не будет знать, какой ключ реально используется клиентом, а какой был просто выкинут в воздух, как-то так.
>>919306 (OP) Если ты предполагаешь какую-то централизацию, то в /crypt/ уже пилили капчапак к борде. Абу генерирует капчи:
У каждой капчи есть публичный ключ и зашифрованный приватный ключ. Чтобы расшифровать приватный ключ нужно посчитать 100500 хеш от кода капчи с солью (чтобы было затратно брутфорсить). Чтобы проверить, что пост имеет валидную капчу нужно взять публичный ключ и проверить подпись поста приватным ключем.
Минусы: Абу контролирует капчу, нужно хранить много капч, нужно как-то отмечать капчи как использованные. Плюсы: будет нормально работать как на ПеКах, так и на мобильных устройствах, в отличии от proof of work.
>>919306 (OP) Нужно придумать не саму борду, а социальную систему форума, при которой всем будет хорошо, никто не угнетен и ни у кого нет прав мочерировать, но в то же время школьники и быдло не могут постить. И еще чтобы мнение большинства не имело значения. И уже после можно реализовывать алгоритмы самой борды.
>>919623 Про капчи я как-то не подумал, да. Только конкретно в твоем посте я не понял, как это работает, извини. Можешь описать подробнее или ссылку на тред в /крипт дать? У тебя же капчи должен генерировать Абу, а подписывать - клиент. Я не врубился.
>>920265 Хули ты агришься, чмоня? Нахуй тебе алгоритм нужен? Чтобы помечать, поебать себе мозги и забить? Все эти твои алгоритмы за тебя придумали уже лет 10 назад, а ты высунулся и давай придумывать. Еще в школу кого-то посылает, лол.
>>920276 Я понимаю, почему тебя злят другие люди, которые занимаются интеллектуальной деятельностью, но выплескивай негодование по поводу своих проблем в каком-нибудь другом треде. Нахуй ты сюда приперся?
>>920287 > которые занимаются интеллектуальной деятельностью Ты явно не один из них. Всё что в треде есть - пиздёжь доли без матана/алгоритма/кода. >Нахуй ты сюда приперся? Потому что могу, очевидно. Моче пожалуйся что в твоем треде срут неугодные тебе люди.
>>920263 > Можешь описать подробнее или ссылку на тред в /крипт дать? Треда наверное уже нет, погугли nanoboard на архиваче
> У тебя же капчи должен генерировать Абу, а подписывать - клиент. Да, абу генерит 100500 капч и выкладывает пак. Каждый берет капчи из пака, вводит код, считается 10000 хешей, расшифровывается приватный ключ, подписывается сообщение поста. Потом отправляется на ноды, ноды ищут капчу по публичному ключу, проверяют подпись поста
Сап аноны, когда учил Джангу написал небольшую борду из говна и костылей, интересно, какие разные фичи можно реализовать еще. Система банов тоже довольно полезная штука и must have, пока не копал в этом направлении вообще, но самое банальное - банить по ip, классека, знать надо. Why not? алсо, какие еще метаданные можно выудить с клиента, мак, например?
>>922818 Блядь, ну опять пост не по теме треда. Такое чувство, что тут только школьники сидят. Я не говорю, что школьники - это плохо, но блядь, обидно как-то.
Мак - нет, да и ненужно. Бан по (диапазону) айпи, конечно, спасет от школовайпера, но баны в более широком смысле - это защита от ддоса. А чтобы от него хоть как-то защититься, тебе нужно анализировать пакеты, каким-то образом выделять среди них вредоносные\мусорные и динамически отрубать доступ тем сетям, откуда они идут. Тхинк клаудфаре.
>>919306 (OP) А в чём, собственно, проблема хэшировать IP? Абу при этом не сможет его посмотреть -- сравнивать результаты хэширования "на глаз" сложно, а если в движке нет для этого интерфейса - придётся ещё лезть в БД.. короче, Абу обосрётся. Сохраняешь в БД в поле IP. Даёшь интерфейс для бана. При попытке постинга - сравниваешь сгенерированный хэш постера с забаненными хэшами, находящимися в БД.
В случае Tor.. поступать как модеры Двачру[нл]ета когда-то - выдавать временный бан, сроком до часу. К тому времени спамер уже сменит IP.
А вообще, не понимаю зачем это нужно. Если кто-то государство захочет перехватить IP постера - перехватит на уровне провайдеров, их даже содержимое интересовать не будет в случае HTTPS. А если ты это к подобным Педалику модерам, которые любят постить IP в треды -- так это от конкретного зависит.
Аноним 28/01/17 Суб 09:04:20 #25 №920699 DELETED >>920263 > Можешь описать подробнее или ссылку на тред в /крипт дать? Треда наверное уже нет, погугли nanoboard на архиваче
> У тебя же капчи должен генерировать Абу, а подписывать - клиент. Да, абу генерит 100500 капч и выкладывает пак. Каждый берет капчи из пака, вводит код, считается 10000 хешей, расшифровывается приватный ключ, подписывается сообщение поста. Потом отправляется на ноды, ноды ищут капчу по публичному ключу, проверяют подпись поста
Господи, ну еще один. Нет, спасибо за большой пост, но блядь, ты же должен понимать, что под "Абу" понимается сервер вообще? "Абу не видит айпи" означает, что сервер не должен полагаться на айпи, понимаешь? Чтобы анончики могли пользоваться анонимайзерами и все работало, понимаешь?
> В случае Tor ...банить выходную ноду. Гениально.
Слушай, вот ты вроде адекватный: скажи, сколько тебе лет? Я просто удивляюсь, что в оп-посте речь идет об алгоритме, а отвечают все (за исключением одного (!) анона) про какую-то хуйню. То есть при других обстоятельствах я бы подумал, что это отвечают далёкие от всего этого программирования люди, но тут-то раздел как раз про это. Только не обижайся, мне правда интересно, я не подъебки ради.
Я всерьез изучал эту тему, а ты, ОП, очевидно нет. На данный момент полностью неуязвимого решения нет, возможно его и быть не может: https://en.wikipedia.org/wiki/CAP_theorem
>>923830 Повнимательнее прочитал оппост. Если у тебя борда не распределенная, то теорема и ф2ф ни при чем. Генерацию новых айди в системе можно замедлить двумя способами: капчей и proof of work. Оба этих способа имеют массу реализаций и нормально работают. Можно на время ДОСа увеличивать POW до конских величин, например (так делает cloudflare, если я не ошибаюсь, с помощью жс в браузере).
>>923911 > Повнимательнее прочитал оппост Все еще недостаточно внимательно. Про замедление генерации новых айди речи вообще не шло. Даже не представляю, откуда ты это взял, честно.
>>920263 > Можешь описать подробнее или ссылку на тред в /крипт дать? Треда наверное уже нет, погугли нан0 борду на архиваче
> У тебя же капчи должен генерировать Абу, а подписывать - клиент. Да, абу генерит 100500 капч и выкладывает пак. Каждый берет капчи из пака, вводит код, считается 10000 хешей, расшифровывается приватный ключ, подписывается сообщение поста. Потом отправляется на ноды, ноды ищут капчу по публичному ключу, проверяют подпись поста
>>923978 Так ведь это не решает проблему банов, разве нет? Сценарий из оп-поста там невозможен, ты не можешь взять пост и лишить возможности писать его автора, ты можешь только инвалидировать все или некоторые капчи, разве нет?
Вобщем суть такова: - При входе на доску юзер добавляет на нее рандомную строку(тег) - При создании треда создатель считает f(всех_тегов_доски). - При ответе в тред f(всех_тегов_треда) - добавление тега можно тоже считать через похожую функцию+рандом часть
Требования к f() долго считать, быстро проверять.
Так же создатель треда может становится его декодером/модератором, тоесть при посте в тред вы шифруете открытым ключем сообщение, создатель его расшифровывает и постит в тред. Но так же в треде мы видим количество отбракованных сообщений, тоесть если вы видите что тред 100послано/10прошло =>модер пидр, стоит создать об этом свой тред.
Вобщем гора вариантов, надо писать наверное фреймворк, чтоб проверить все варианты на живучесть. Или как некое подобие скриптязыка с основными примитивами, тоесть ставим правила на доску/тред свои, распостраняем, взлетела, зашибись публикуем свой скрипт. Не взлетела ну и хер с ней забываем, или пробуем снова если уверенны что взлетит.
>>926268 Смотри: > При входе на доску юзер добавляет Это сразу рушит требование о том, что Абу не должен знать, кто из анонов кем является. Это почти то же самое, что регистрация по фейкомылу. Так что не катит. Абу не должен иметь возможность отличить пост Алисы от поста Боба.
> при посте в тред вы шифруете открытым ключом То есть не только абу, но и оп треда знает, где какой анон. Ну то есть вообще мимо, неприемлемо.
Идея с оп = локальный модератор хорошая, но она все очень сильно усложняет, кстати.
>>926379 Нет, ты не понял, про сетевой слой речи вообще не идет. Еще раз: описанный тобой алгоритм\дизайн решает другую задачу - не ту, что была в оп-посте. Он норм, но про другое.
>>926269 а тут однохуйственно, что с айтупи, что с криптобордой, которую тут врядли создадут. если постинг открытый, то гебня тупо засрет вашу борду тоннами дерьмища, как случилось со всеми мелкобордами и нульщаном и хидденчаном. пока путин у власти, вам новой борды не видать, ребятки.
Тупой тред. Админ либо может однозначно связать любой пост с каким-то конкретным идентификатором юзера и забанить его, либо нет.
Как вы собираетесь создавать систему, которая будет давать возможность раскрыть эту связь по случаю "пустите плес, мне только забанить"?
Сделай просто регистрацию на блокчейнах. Ключ для постинга генерирует сам юзер. Таким образом отсеются совсем явные щитпостеры и со временем создастся рынок ключей.
>>930408 Сделай просто регистрацию на блокчейнах. Ключ для постинга генерирует сам юзер. Таким образом отсеются совсем явные щитпостеры и со временем создастся рынок ключей.
>>930719 Ну как же вы заебали. Тред - про алгоритмы, написано же. При этом каждый первый пост - школьники, кричащие про "епт абу двач биткоин йей пилить". Ну ебаный в рот.
Ключи за битки - это хорошая идея, но немного вне скоупа этого треда. Как ограничить выдачу ключей вопроса не стоит, для этого есть много способов и все они в общем-то понятны.
>>930849 Создай про это другой тред (правда непонятно, что тут обсуждать особо). Этот же тред про конкретную криптографическую задачу, понимаешь? То есть я не против конечно, пиши что хочешь и где хочешь, просто это пиздец, что из всех анонов буквально два человека вообще смогли понять, что в оп-посте написано. Это печально.
>>931112 >Прочитай тред. Может в твоих фантазих они есть, но я так и не увидел ничего кроме твоих шизофантазий. Или ты хочешь чтобы за тебя написали и придумали всё?
>>931112 Ну дак уже разьяснили, надо: 1. повысить цену входа на доску/тред. (с админом) 2. или понизить цену доски/треда для щитпостера. (распределенно)
-1- Т.е. в идеале сложность входа нового юзера на площадку будет пропорциональна размеру аудитории площадки, по ходу как она разрастается все увеличивают сложность задачи. Что например для вялотекущего треда не страшно(10 машино/часов) за месяц например для треда в 10 человек. А уже с ноля влезть в этот уютный мирок будет достаточно сложно, но если таки влез все вместе тратим еще по одному часику на догенерацию. После бана, уже надо будет уже 11 часов сидеть генерить новый ключик.
-2- Фильтры у каждого юзера, и вход к каждому юзеру, чем больше аудитория вещания тем больше ресурса тратишь без гарантии что тебя вообще кто-то видит.
>>931679 -1- Кто мешает остальным нагенерировать десяток ключей, тем самым и анонимность обеспечив, и разбан усложнив.
-2- А тут то тебе чем не угодило, чтоб понятней было:блокируются данные а не человек, разве что он будет подписвать свои сообщения. Например можно для себя сделать анализ текста с премодерацией.
>>935584 >Криптография - это раздел математики Криптография - это раздел информатики. Теория чисел - это раздел математики. Но теория чисел =/= криптография.
>>939438 Если тебе так проще, то считай, что криптография - это не раздел математики. Вот только почему-то 95% пейперов по криптографии написаны математиками, и преподают ее математики на мехмате. Но, повторюсь, это не имеет никакого значения.
>>939453 >пейперов по криптографии написаны математиками потому, что нормальным людем криптография не интересна, а матанобляди лезут туда где можно пиздеть и пикто тебя не будет проверять
Криптоаноны, помогите разобраться что это за хэш? 2Q3ksPnJHq/D/pn8VK9Cpg== Написано что md5, но он имеет длинну 24 символа и на конце всегда == и вообще могут быть специальные символы. Можно его как то конвертировать в обычный мд5?
Осталось только придумать способ надёжного выбора участников, голоса которых более весомы. Можно всем участникам кидать случайное большое число в куки и делать его голос участника с числом тем более весомым, чем более сложны его посты и чем больше постов у него.
Всегда будет достаточное число участников, которые не чистят куки.
Отправку сообщений с того адреса, с которого пришло много спама за последнее время, временно блокировать (забудь про свои ключи). Спам-сообщение писать в лог для анализа, самые простые паттерны детектить автоматически.
Число сообщений в минуту ограничивать до средней п/ч для данного времени суток, если приходит слишком много репортов на спам.
Очевидно, что в чате должно быть достаточно много людей для реагирования на спам.
Не увидел криптографии треда на нулевой, да и обсудить хочу не совсем и не только криптографию, а ИДЕАЛЬНУЮ АНОНИМНУЮ ИМИДЖБОРДУ ОПЯТЬ.
Вопрос следующий: как реализовать эффективную систему банов и защиты от флуда (ддоса), не компрометируя анонимности остальных (незабаненных) анонимусов?
Накидаю примерный сценарий. Алиса и Боб сидят на имиджборде, написанной Абу. В один прекрасный день к ним приходит Ева и начинает срать в каждый тред. Абу хочет забанить Еву (лишить ее возможности писать сообщения), но при этом он не хочет знать, кто пишет остальные посты: Алиса или Боб.
Сразу договоримся, что физические адреса анонимусов нам неизвестны. Ну, пусть все сидят через тор, например. Алсо, не учитываем ад-хок солюшены для предотвращения зафлуживания, ну типа капчи или таймаутов. То есть задача именно в том, чтобы запретить писать новые посты автору имеющегося поста, не компрометируя остальных участников.
Очевидно, каждого нового участника придется заставить генерировать ключ и подписывать им свои сообщения. Но публичная часть ключа публиковаться, выходит, тоже не должна. Получается, что если мы нашли нарушающее правило сообщение с открытым текстом Т и подписью П, то каждого следующего постера мы должны заставить подписать своим ключем Т и сравнить результат с П - если совпало, значит он забанен.
Теперь надо удостовериться, что при подписывании был использован реальный ключ, а не мусор. И я тут подумал и понял, что это по сути сводится к изначальной задаче: проверить, что клжч входит в множество ключей, не узнавая, что это именно за ключ. Блядь, ну дискас короче, счас я еще подумаю.