Мне кажется, что ответ на этот вопрос лежит где-то в районе теории шести рукопожатий. С учётом этой теории, можно было бы ограничить круг корреспондентов, почти ничего не потеряв. Дальше - примерно так:
1. Каждый человек может поставить себе OpenSSL и сгенерировать пару ключей (публичный+приватный).
2. Публичный ключ выкладывается в открытый доступ. На сайт, в блог и т.п.
3. Любой желающий может с помощью своего приватного ключа сформировать кросс-сертификат, подтверждающий репутацию владельца приватного ключа. Это должно стать распространённой практикой и правилом хорошего тона для лично знакомых людей. Кросс-сертификаты выкладываются в открытый доступ тем, на чьё имя они выписаны, и фактически служат подтверждением репутации.
4. Таким образом, может быть сформирован полный граф отношений доверия между владельцами приватных ключей.
5. Предположим, некто хочет написать мне сообщение. Для этого он должен найти цепочку доверия от меня до него и приложить все сертификаты из этой цепочки к своему сообщению. И, разумеется, подписать всё это своим приватным ключом. Длина цепочки не должна превышать 6: в этом случае цепочек получится не много.
6. Для формирования цепочки могут использоваться алгоритмы, аналогичные алгоритмам маршрутизации данных в интернете.
7. После получения сообщения должна автоматически производиться проверка валидности подписи и цепочки сертификатов. Если всё в порядке - сообщение доставляется получателю.
8. Если доставленное сообщение оказалось спамом, следует занести в чёрный список шестой публичный ключ в цепочке и увеличить счётчики спама для владельцев более близких ключей (чем ближе ключ, тем меньше).
9. Если спама приходит много, следует включать в чёрный список ключи с наибольшими счётчиками пришедшего спама.
10. Если ключ включён в чёрный список, это значит, что мы не верим рекомендациям владельца этого ключа. Например: Маша верит Пете, Васе, Саше и Коле. От Пети, Васи и Саши пришёл спам. Ключ Маши попал в чёрный список. В результате Коля, сославшись на Машу, получит отлуп. А вот сама Маша ещё сможет что-нибудь написать. Не следует путать чёрный список с бан-листом.
11. Чёрными списками, разумеется, можно обмениваться. В принципе, можно сформировать на основе тех же сертификатов "граф недоверия".
12. В результате спамеры в конце концов окажутся в изоляции. И ботнеты им не помогут: спамер может создать разветвлённый ботнет, но не сможет преодолеть ограничение на длину цепочки.
13. Покупка рекомендаций за деньги - ничего не изменит. Продавцы рекомендаций окажутся в изоляции наравне со спамерами.
14. Да, люмпен из далёкой Нигерии, скорее всего, не сможет мне ничего написать: он будет изолирован от меня из-за нигерийских писем счастья. Ну и бог с ним. Что характерно, внутри Нигерии у него проблем с общением не будет.
15. Отзыв и обновление сертификатов - добавить по вкусу.
16. Против флешмобов эта технология не помогает. Я имею в виду случаи типа "к Бесогону в ЖЖ пришли 1000 человек и обозвали его Мигалковым".
Как-то так.
1. Каждый человек может поставить себе OpenSSL и сгенерировать пару ключей (публичный+приватный).
2. Публичный ключ выкладывается в открытый доступ. На сайт, в блог и т.п.
3. Любой желающий может с помощью своего приватного ключа сформировать кросс-сертификат, подтверждающий репутацию владельца приватного ключа. Это должно стать распространённой практикой и правилом хорошего тона для лично знакомых людей. Кросс-сертификаты выкладываются в открытый доступ тем, на чьё имя они выписаны, и фактически служат подтверждением репутации.
4. Таким образом, может быть сформирован полный граф отношений доверия между владельцами приватных ключей.
5. Предположим, некто хочет написать мне сообщение. Для этого он должен найти цепочку доверия от меня до него и приложить все сертификаты из этой цепочки к своему сообщению. И, разумеется, подписать всё это своим приватным ключом. Длина цепочки не должна превышать 6: в этом случае цепочек получится не много.
6. Для формирования цепочки могут использоваться алгоритмы, аналогичные алгоритмам маршрутизации данных в интернете.
7. После получения сообщения должна автоматически производиться проверка валидности подписи и цепочки сертификатов. Если всё в порядке - сообщение доставляется получателю.
8. Если доставленное сообщение оказалось спамом, следует занести в чёрный список шестой публичный ключ в цепочке и увеличить счётчики спама для владельцев более близких ключей (чем ближе ключ, тем меньше).
9. Если спама приходит много, следует включать в чёрный список ключи с наибольшими счётчиками пришедшего спама.
10. Если ключ включён в чёрный список, это значит, что мы не верим рекомендациям владельца этого ключа. Например: Маша верит Пете, Васе, Саше и Коле. От Пети, Васи и Саши пришёл спам. Ключ Маши попал в чёрный список. В результате Коля, сославшись на Машу, получит отлуп. А вот сама Маша ещё сможет что-нибудь написать. Не следует путать чёрный список с бан-листом.
11. Чёрными списками, разумеется, можно обмениваться. В принципе, можно сформировать на основе тех же сертификатов "граф недоверия".
12. В результате спамеры в конце концов окажутся в изоляции. И ботнеты им не помогут: спамер может создать разветвлённый ботнет, но не сможет преодолеть ограничение на длину цепочки.
13. Покупка рекомендаций за деньги - ничего не изменит. Продавцы рекомендаций окажутся в изоляции наравне со спамерами.
14. Да, люмпен из далёкой Нигерии, скорее всего, не сможет мне ничего написать: он будет изолирован от меня из-за нигерийских писем счастья. Ну и бог с ним. Что характерно, внутри Нигерии у него проблем с общением не будет.
15. Отзыв и обновление сертификатов - добавить по вкусу.
16. Против флешмобов эта технология не помогает. Я имею в виду случаи типа "к Бесогону в ЖЖ пришли 1000 человек и обозвали его Мигалковым".
Как-то так.
no subject
Date: 2011-03-31 12:57 am (UTC)А если оказался наш отец не отцом, а сукою? Как отобрать ключ и остановиться его дальнейшее использование?
no subject
Date: 2011-03-31 07:27 am (UTC)no subject
Date: 2011-03-31 08:16 am (UTC)1) Пройдет ещё лет 50, прежде чем рядовой обыватель поймёт что такое криптография с открытым ключем и сможет этим нормально пользоваться. Нормально, это значит будет закрывать свой приватный ключ паролем, отличающимся от 123, вовремя отзывать скомпрометированные ключи и т.д.
2) Ничто не мешает ботнетам по прежнему ддосить
3) Не совсем представляю себе, как можно это сделать, выкладывая открытые ключи в хаотичных местах. Должно быть как-то систематизировано. Однако, если это будет одно-два-три хранилища, то они станут уязвимы ддосу, а с ними и вся система.
no subject
Date: 2011-03-31 10:20 am (UTC)А в целом - примерно так:
1. Централизованные платформы - это точки уязвимости. От них надо отказываться. ЖЖ, может быть, сложнее завалить ДДОСом, но его можно тупо купить. Или, может, его уже купили, и именно поэтому нет нормальной борьбы со спамом.
2. Понятно, что вокруг этой схемы должна сложиться какая-то инфраструктура: держать каждому пользователю у себя полную карту доверия хоть и возможно, но всё-таки накладно (ожидаемый объём - десятки гигабайт). Но если интернет способен отслеживать связность компьютеров, то и связность пользователей он тоже сможет отслеживать. Поднимут какой-нибудь SocialBGP с сервером у каждого провайдера, и вперёд.
3. Вся вышеизложенная схема с сертификатами заточена именно на распределённую систему. Тот же ЖЖ может реализовать "правило шести рукопожатий" без всяких приватных ключей: он и так может построить у себя карту френдов.
4. Про ДДОС - отдельный разговор. Бороться с тупым флудом на приёмнике невозможно. Нужно идти в сторону источника флуда. Либо к провайдерам, либо, лучше, к самим пользователям.
no subject
Date: 2011-03-31 12:07 pm (UTC)Там именно такая вещь применяется для сертификации открытых ключей уже лет 20, и в её терминах всё, что вы тут написали, можно сформулировать одной фразой "принимать только письма, подписанные подлинными ключами".
Отзывы, разумеется, тоже предусмотрены.
no subject
Date: 2011-03-31 01:21 pm (UTC)Криптография в данном случае вообще сбоку: я уже писал выше, что организовать web of trust на централизованном сервисе (жж, вконтакт, фейсбук) можно и без неё.