Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[RC5] простенькая, но эффективная защита... 24.08.03 10:58 Число просмотров: 2199
Автор: RElf <M> Статус: Member Отредактировано 24.08.03 11:05 Количество правок: 3
|
С техническими деталями dnet'овских клиентов не знаком, но приходит на ум такая простенькая защита:
1) ввести рейтинг "неблагонадежности" для каждого клиента;
2) требовать с клиентов хэш (криптографически-стойкий, например, MD5) результатов вычислений для каждого блока ключей;
3) выбирать некоторый процент блоков случайным образом и посылать их другим (случайно-выбранным) клиентам для перепроверки;
4) если проверка проваливается (хэши не совпадают), то увеличить рейтинг "неблагонадежности" у обоих клиентов (проверяемого и проверяющего).
Примерный сценарий:
1) клиенту A высылаются блоки X1,X2,...,Xn;
2) клиенту B высылается блоки Yi, один из которых - случайно выбранный блок Xj;
3) клиенту C высылается блоки ключей Zk, один из которых - случайно выбранный блок Yj;
и т.д.
Если на общем блоке у A и B наблюдается расхождение хэшей, то увеличить рейтинг неблагонадежности у обоих клиентов A и B. Если на общем блоке у B и C наблюдается расхождение, то увеличить рейтинг неблагонадежности у обоих клиентов B и C. И т.д.
Какие блоки перепроверять и кому перепроверять - выбирается случайным образом.
Как только рейтинг неблагонадежности становится слишком большим, то у клиента отвергаются все просчитанные им блоки, и снижается рейтинг неблагонадежности у всех клиентов, кому он его "подгадил".
Использование случайности позволяет существенно снизить лишнюю работу по перепроверке, при той же эффективности как если бы перепроверялисьвсеблоки.
|
|
|