? Редактирование: Post:21.body Сохранить Удалить Закрыть
Инициализация...

Самое новое

СледитьСлежу
+ Создать новую тему
FAQ | En-Zer0Talk | Блоги о разработке: gomzik'a / kostaNew
Загрузка...

Title

Body
^1 ^2 added ━ автор user_name
More topics

Main ZeroNet news How did you find ZeroNet?

Follow in NewsfeedFollowing

О подделываемости данных в ZeroNet

Предупреждение для новых пользователей или для тех, кто просто не в курсе:

Владелец зайта имеет полный контроль над данными, включая ваши лайки, комментарии, темы на форумах и т.п.

Когда мы говорим, что в ZeroNet невозможна централизованная цензура, это касается только зайтов, которыми вы владеете лично. Никто не может заблокировать ваш зайт для остальной сети, никто не может подменить на нём содержимое, удалить что-то или добавить что-то, чего вы не писали. Всё так.

Но когда вы пишете, например, на этом форуме, все данные принадлежат в конечном счёте не вам, а владельцу форума (в данном случае это @shift).

Это же касается и любых других подобных зайтов: ваш профиль в ZeroMe принадлежит не вам; файлы, которые вы заливаете в ZeroUp или на KopyKate принадлежат не вам; ваши комментарии в чужих блогах принадлежат не вам.

Владелец может править, удалять, добавлять любой контент от имени любого участника форума или даже от имени тех, кто на этот форум вообще никогда не заходил. Полномочия админа такие же абсолютные как и на сайтах clearnet, и даже больше: здесь мы используем одинаковые учетки для всех зайтов, и следовательно, ваше имя (учётка) может использоваться против вас.

Поэтому если вам нужно разместить что-то действительно важное, делайте это на своих собственных зайтах. Благо, клонировать зайт такой как ZeroBlog, ZeroTalk, ZeroUp возможно двумя щелчками мыши, и вы получите копию, подконтрольную только вам.

^7 ^8 geekless отправил on Jun 25, 2019
Please sign innew comment
Войти как...
Отправить
You are running out of your allowed space, please contact the site's admin at unknown to raise your limit.
user_nameadded ^1 ^2
Ответить
Body
tridvarazon Jul 09, 2019 ^1 ^2
Ответить

geekless: Если в настройках зеро поставить режим всегда через тор, этого в принципе достаточно, чтобы пиринговой сети не разгласить свой настоящий IP. Но как всегда, остаётся возможность вычислить человека по другим характерным признакам, или через трояны и дыры в софте.
Вот тут я писал разные про способы подключения и что они дают: http://127.0.0.1:43110/1zeroRvxd42DSWUETotiaa8k5a5mDGvJs/?Post:5Если кратко, для обычного пользователя, сидящего за файрволом провайдера, нет смысла использовать режимы, отличные от "всегда тор".

норм описано

geeklesson Jul 09, 2019 ^1 ^2
Ответить

tridvaraz: надо в настройках зеро или достаточно поднять тор на роутере?

Если в настройках зеро поставить режим всегда через тор, этого в принципе достаточно, чтобы пиринговой сети не разгласить свой настоящий IP. Но как всегда, остаётся возможность вычислить человека по другим характерным признакам, или через трояны и дыры в софте.

Вот тут я писал разные про способы подключения и что они дают: http://127.0.0.1:43110/1zeroRvxd42DSWUETotiaa8k5a5mDGvJs/?Post:5
Если кратко, для обычного пользователя, сидящего за файрволом провайдера, нет смысла использовать режимы, отличные от "всегда тор".

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

geekless: FreeNet только для статических сайтов, и он сам скорее мертв, чем жив. Под капотом некоторые механизмы интересные, можно в ZeroNet украсть.
GNUNet еще в живые и не выбирался, сколько там, тысяча узлов наберётся на всю планету?
Netsukuku немного из другой области. И кстати вроде тоже помер.
Так что...

да кстати FreeNeet мне не понравился

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

fant: Если не заниматься моральными аспектами, то надо помнить что ZN - сеть не анонимная. И если что-то выкладывать, то всегда надо включать Тор в настройках.

надо в настройках зеро или достаточно поднять тор на роутере?

geeklesson Jul 09, 2019 ^1 ^2
Ответить

FreeNet только для статических сайтов, и он сам скорее мертв, чем жив. Под капотом некоторые механизмы интересные, можно в ZeroNet украсть.

GNUNet еще в живые и не выбирался, сколько там, тысяча узлов наберётся на всю планету?

Netsukuku немного из другой области. И кстати вроде тоже помер.

Так что...

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

geekless: @tridvaraz:
Сайты продолжают функционировать без владельца

этож пипец читерство)))
Я тут на ютюбе еше аналоги нашел https://www.youtube.com/watch?v=HXV1x0WUaWg

geeklesson Jul 09, 2019 ^1 ^2
Ответить

@tridvaraz:

Сайты продолжают функционировать без владельца: http://127.0.0.1:43110/1BLoGBTid3NhGu8ts3fAfHJprnbrH3wfTV/?Post:45

fanton Jul 09, 2019 ^1 ^2
Ответить

Если не заниматься моральными аспектами, то надо помнить что ZN - сеть не анонимная. И если что-то выкладывать, то всегда надо включать Тор в настройках.

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

fant: Никто не удалит. Но люди просто могут не сидировать.

ахринеть)

fanton Jul 09, 2019 ^1 ^2
Ответить

tridvaraz: То-есть, если кто-то создаст тут сайт и выложит детское порно, даже разработчики zero не смогут удалить?)

Никто не удалит. Но люди просто могут не сидировать.

geeklesson Jul 09, 2019 ^1 ^2
Ответить

tridvaraz:

Нет, без ключа на контент повлиять нельзя. Если владелец сайта не будет поддерживать раздачу (помер, например), а в мире больше не нашлось желающих хранить у себя копии, то сайт умрёт естественным путем. Иначе никак.

Естественный отбор.

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

geekless: Поймать владельца и выпытать приватный ключ.
Принуждает государство ловить реальных преступников, а не заниматься имитацией бурной деятельности закрывая их сайты. Будто наркота от сайтов заводится, а не от тех, кто её производит.

То-есть, если кто-то создаст тут сайт и выложит детское порно, даже разработчики zero не смогут удалить?)

geeklesson Jul 09, 2019 ^1 ^2
Ответить

tridvaraz: ну сайт где продают нарокоту и оружие и прочую запрещённую фигню

Поймать владельца и выпытать приватный ключ.

Принуждает государство ловить реальных преступников, а не заниматься имитацией бурной деятельности закрывая их сайты. Будто наркота от сайтов заводится, а не от тех, кто её производит.

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

geekless: Аналог чего?

ну сайт где продают нарокоту и оружие и прочую запрещённую фигню

geeklesson Jul 09, 2019 ^1 ^2
Ответить

tridvaraz: а мне интересно стало, если кто-то создаст аналог гидры то как его будут удалять?

Аналог чего?

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

а мне интересно стало, если кто-то создаст аналог гидры то как его будут удалять?

tridvarazon Jul 09, 2019 ^1 ^2
Ответить

спасибо за пояснение

if0on Jul 01, 2019 ^1 ^2
Ответить

trooper: а вот если сделать заново все с нуля, как бы вы сделали?

Могу высказать общие мысли.

Я бы представил все атомарные сетевые сущности - объекты, в виде древовидной структуры, которая отражала их взаимные зависимости, но при этом сами объекты были абстрагированы от формы их представления и хранения - могли запрашиваться и сохраняться разными способами, в зависимости от удобства: в отдельном файле, в общем файле, в базе данных. Корневым объектом для пользовательких данных выступал идентификатор - публичный ключ, при помощи которго проверяется валидность всех подчиненых ему объектов.

Пример: у пользователя есть картинка. Для того, что бы сделать ее доступной в сети через корневой идентификатор (а терминах ZN - идентификатора зайта), необходимо представить ее, в виде подчиненного объекта, привязанному к корневому, это возможно посредством атрибутов, которые имеет каждый сетевой объект: уникальный среди объектов дерева идентификатор, время последнего изменения, идентификатор вышестоящего в иерархии объекта (в данном примере - корневого) и подпись, по которой каждый участник сети, загрузивший объект, может проверить валидность данного объекта, используя публичный ключ. При создании объект изначально располагается на узле его создателя и становится доступным по его сетевому адресу: idпользователя/idобъекта.

В качестве дополнительных атрибутов объекта можно задать возможность создавать подчиненные объеты и список пользователей с правами их создания.

При изменениии данных объекта его id не меняется, а только атрибуты - дата изменения, которая в сочитании с подписью служит номером версии объекта.

Если другой пользователь захочет добавить комметарий к картинке, то он должен создать объект - текст комментария, указав в качестве идентификатора вышестоящего объекта - сетевую ссылку на объект картинки: id пользователя расшарившего картинку и id объекта картинки.

Информация об объектах и список нод их содержащих с адресами транспортной сети и последнем временим доступности хранится на каждом узле и актуализируется путем синхронизации.

Информация о появлении новых объектов (или изменении существующих) распростаняются анонсами, при получении которых ноды производят синхронизацию интересующих их изменений на которые они "подписаны". Например, если я скачал тред форума, то "подписываюсь" на синхронизацию всех сообщений, которые будут в него добавлены, до тех пор пока я удалю корневой для треда объект - первое сообщение треда.

Каждый пользователь может удалить из локального хранилища все объекты определенного узла (пользователя) и настроить запрет на дальнейшию их синхронизацию.

trooperon Jun 30, 2019 ^1 ^2
Ответить

меня интересует и сторона как хотелось бы,
и если возможно сторона реализации, примерно, на словах
даже не в zero а вообще как бы в p2p системе лутше сделать так, если есть идеи конечно

trooperon Jun 30, 2019 ^1 ^2
Ответить

а вот если сделать заново все с нуля, как бы вы сделали?

dalidaon Jun 29, 2019 ^1 ^2
Ответить

geekless: Нет, от балды подписать одним сертификатом другой произвольный, разумеется, нельзя.
Из всего этого следует таковый вывод, ИМХО: Мы используем инструменты не по назначению. Отдельно должен быть код ("приложения"), отдельно личные данные пользователей ("персональные сайты"), отдельно коллективные данные ("тематические агрегаторы"). Существующие движки в такое не могут, но ядро все нужные API даёт. Нужно въёбывать и писать код, создавать новые движки.

Вооот от создателя WWW есть solid - где реализуется такая-же концепция: пользовательские данные у пользователей ,а приложения (сайты) запрашивают их частичное прочтение перед использованием. Прямо как в андроиде.

"Классический" централизованный форум в ZeroNet тоже возможен и в каких-то случаях оправдан, например, если это официальный сайт какой-то организации. Я сейчас концентрируюсь именно на централизованном варианте, потому что это вещь известная из опыта, и понятно, как её создать. А потом добавлю туда шардирование для перехода на модель с персональными хабами.
Меня расстраивает, что люди подменяют техническую возможность свободы слова пустыми лозунгами про свободу. Сидят на ZeroTalk и кукарекают о свободе. Ну-ну.

Так время такое: никто не имеет воли действовать ,зато все имеют волю помыслить.

geeklesson Jun 29, 2019 ^1 ^2
Ответить

http://127.0.0.1:43110/Talk.ZeroNetwork.bit/?Topic:1538923063_19s3iztHV7i3fBN9wyiMhiXECoZvyNjLhr#comment_1196_1J3rJ8ecnwH2EPYa6MrgZttBNc61ACFiCj

nofish ━ on Oct 08, 2018
You can edit the data.json file in the data/users/ directory (eg. remove the comment), then open sidebar, at the bottom enter the user's content.json file, then sign/publish it using the site's private key

geeklesson Jun 29, 2019 ^1 ^2
Ответить

anonymouslogin: WOW, код не смотрелся, но:

zeronet разрешит переподписать(пользователю) content.json в котором другой cert_sign и cert_user_id ?
проверки по директории <user_id> нет?

пользователь точно перезагрузит(подписанный владельцем сайта) content.json при наличии старого content.json? (была похожая ситуация и zeronet не хотел подгружать)

багрепорт на github?

Если по всем пунктам фейл, то любой(даже не владелец) может устроить такой финт, достаточно знать <user_id> жертвы, вручную подписать от любого имени content.json с новым modified и нужным текстом в data.json, отправить пирам..

Нет, от балды подписать одним сертификатом другой произвольный, разумеется, нельзя.

Подписывание внутри сайта организовано по иерархическому принципу. Мастер-ключ даёт право подписывать подкаталог другому ключу, но сам этого права не лишается. Это простейший случай с двумя ключами, а их может быль больше, ядро достаточно гибкое, чтобы можно было ввести роли "модератора контента" или "модератора по банам" для отдельных ключей.

В верхнеуровневом content.json задаются правила, которым должны соответствовать подчинённые content.json, и эти правила подконтрольны владельцу сайта, поэтому нет смысла вводить какие-то защиты на уровне ядра, предназначенные защищать от владельца. Тем более, что владельцу подконтролен и JS-код, поэтому он может подменить данные в интерфейсе, если захочет.

Возможны и другие финты. Например, владелец может отозвать все права у сертификатов, и вместе с тем переподписать все их данные своим ключом, переведя весь сайт в режим read-only.

Из всего этого следует таковый вывод, ИМХО: Мы используем инструменты не по назначению. Отдельно должен быть код ("приложения"), отдельно личные данные пользователей ("персональные сайты"), отдельно коллективные данные ("тематические агрегаторы"). Существующие движки в такое не могут, но ядро все нужные API даёт. Нужно въёбывать и писать код, создавать новые движки.

"Классический" централизованный форум в ZeroNet тоже возможен и в каких-то случаях оправдан, например, если это официальный сайт какой-то организации. Я сейчас концентрируюсь именно на централизованном варианте, потому что это вещь известная из опыта, и понятно, как её создать. А потом добавлю туда шардирование для перехода на модель с персональными хабами.

Меня расстраивает, что люди подменяют техническую возможность свободы слова пустыми лозунгами про свободу. Сидят на ZeroTalk и кукарекают о свободе. Ну-ну.

mistaleroon Jun 27, 2019 ^1 ^2
Ответить

geekless: Более существенная причина в том, что хабы всё равно нужны для того, чтобы пользователи могли друг о друге узнать - иначе получается идеальная (полностью закрытая) схема белого списка: «чтобы узнать о чем-то, ты должен сначала узнать об этом где-то в другом месте, а у тебя для этого каналов связи нет».

Как в RetroShare?

if0on Jun 26, 2019 ^1 ^2
Ответить

geekless: (Тем временем, я на ZT++ запилил таки фикс надоедливого бага с неправильным позиционированиепм stickied топиков. Уже нет сил даже себе в блог заметку кинуть на этот счёт, пойду лучше посплю. X-) )

Замечал этот баг, но не придавал внимания.

geeklesson Jun 26, 2019 ^1 ^2
Ответить

(Тем временем, я на ZT++ запилил таки фикс надоедливого бага с неправильным позиционированиепм stickied топиков. Уже нет сил даже себе в блог заметку кинуть на этот счёт, пойду лучше посплю. X-) )

geeklesson Jun 26, 2019 ^2 ^3
Ответить

if0: [...]

Потому что сначала было тяп-ляп для демонстрации возможностей API, а потом пошло-поехало. Nofish так-то ядро пилит, ему некогда еще и сами приложения писать. Все эти движки сайтов назывались у него (да и сейчас наверное называются) демонстрационными.

Более существенная причина в том, что хабы всё равно нужны для того, чтобы пользователи могли друг о друге узнать - иначе получается идеальная (полностью закрытая) схема белого списка: «чтобы узнать о чем-то, ты должен сначала узнать об этом где-то в другом месте, а у тебя для этого каналов связи нет». Ну а в модели «каждый сам себе хранилище» роль хабов сводится к кэшированию нескольких самых свежих записей пользователя. Чтобы другой пользователь мог увидеть «о, вот это интересно, подпишусь-ка на него целиком».

Пока я себе это представляю так, что у нас должны быть отдельно:

  • Движки с совместимыми форматами данных (как у ZeroMe существует штук 5 фронт-эндов с немного разными функциями), чтобы можно было свободно выбирать, чем пользоваться, как человек выбирает между разными браузерами или текстовыми редакторами.
  • Коллективные хабы для свежих записей. (Вероятно, тематические, а не как в ZeroMe).
  • Личные хабы для хранения всех записей пользователя.

Движки ZeroTalk, ZeroBlog, ZeroWiki, ZeroUp сливаются в одно целое, покрывающее все эти юз-кейсы; морда ZeroHello берёт на себя функции аггрегатора, ленты новостей и соцсети (собственно, она и сейчас это делает, но всё портит ZeroMe, который в её модель работы не вписывается). ZeroMe становится ненужен, его хабы вымирают, либо транформируются в тематические ленты новостей.

Как минимум год вынашиваю эту идею.

if0on Jun 26, 2019 ^2 ^3
Ответить

geekless: Хочу именно к такой архитектуре прийти, ковыряя потихоньку код ZeroTalk.

Интересно: почему разрабы сразу так не сделали? При таком подходе - огромный профит: никто не сумеет изменить сообщения или распространять фейки; сообщения флудера, спамера просто удаляются вместе с его зайтом; не будут действовать ограничения на объем сообщений, а в случее аномально большого объма такой зайт не будет грузиться, уперевшись в ограничений 10Мб, которое требуется в ручную увеличивать.

Скорее всего, здесь причина в "интерфейсном" неудобстве добавления большого количества пользователей, когда их десятки или даже сотни на старых форумах. Хотя с точки зрения их хранения - разницы фактически нет никакой: теже самые данные вместо директории <zite_id>/data/users/ будет находиться в корневой директории вместе с обычными зайтами.

geeklesson Jun 26, 2019 ^2 ^3
Ответить

if0: А что если каждый пользователь будет хранить все свои сообщения на своем специальном техническом зайте? Другие пользователи, которые захотят видеть его сообщения должны просто загрузить его себе, как хаб.

Хочу именно к такой архитектуре прийти, ковыряя потихоньку код ZeroTalk.

if0on Jun 26, 2019 ^1 ^2
Ответить

geekless: Владелец сайта подписывает data/users/<user_id>/content.json своим корневым ключём, и апдейт расходится по узлам обычным образом, попадая на машину к владельцу <user_id>. Пользователь, не замечая подвоха, лайкает пост или пишет коммент, и voi-la, в следующем апдейте подложные данные уже оказываются подписаны пользователем.

Действительно, так и произойдет. Такое поведение совсем не очевидно.

if0on Jun 26, 2019 ^1 ^2
Ответить

А что если каждый пользователь будет хранить все свои сообщения на своем специальном техническом зайте? Другие пользователи, которые захотят видеть его сообщения должны просто загрузить его себе, как хаб.

geeklesson Jun 26, 2019 ^1 ^2
Ответить

Можно даже сделать некий аналог блокчейна, с записью по 1-му биту информации на файл. o_O

geeklesson Jun 26, 2019 ^1 ^2
Ответить

anotherneko: с любым содержимым или без него будет означать отзыв ключа.

+ Обязательно с подписью самого сертификата пользователя, а не кого попало. :)

geeklesson Jun 26, 2019 ^1 ^2
Ответить

anotherneko: Разве в zn пользователь может полностью удалить свой content.json? На мой взгляд можно сделать технический зайт, наличие на котором content.json пользователя с любым содержимым или без него будет означать отзыв ключа.

Как раз обдумывал эту идею.

Пользователь не может удалить, только владелец сайта - забанив.

anothernekoon Jun 26, 2019 ^1 ^2
Ответить

geekless: В ZeroNet технически неосуществимо.

Разве в zn пользователь может полностью удалить свой content.json? На мой взгляд можно сделать технический зайт, наличие на котором content.json пользователя с любым содержимым или без него будет означать отзыв ключа.

stainlessraton Jun 26, 2019 ^1 ^2
Ответить

geekless: Можно, конечно, предположить такой протокол передачи апдейтов, в котором некоторые сущности разрешено только дописывать, а не редактировать. И узлы откажутся принимать апдейт файла, если в нём неперезаписываемая часть изменилась. Но на данный момент ничего подобного не реализовано.
Так что для такой фичи потребуется либо переделка логики ядра ZeroNet, либо отказ от децентрализации в пользу выделенного сервера.

Значит я не прав.

geeklesson Jun 26, 2019 ^1 ^2
Ответить

stainlessrat: я специально не разбирался, но мне сложно представить, чтобы это было принципиально нереализуемо.

Можно, конечно, предположить такой протокол передачи апдейтов, в котором некоторые сущности разрешено только дописывать, а не редактировать. И узлы откажутся принимать апдейт файла, если в нём неперезаписываемая часть изменилась. Но на данный момент ничего подобного не реализовано.

Так что для такой фичи потребуется либо переделка логики ядра ZeroNet, либо отказ от децентрализации в пользу выделенного сервера.

stainlessraton Jun 26, 2019 ^1 ^2
Ответить

geekless: В ZeroNet технически неосуществимо.

я специально не разбирался, но мне сложно представить, чтобы это было принципиально нереализуемо.

geeklesson Jun 26, 2019 ^1 ^2
Ответить

stainlessrat: Значит предусматриваем логику согласно которой отправить сообщение на форум можно только раз, после он с тем же ключём сообщения не примет.

В ZeroNet технически неосуществимо.

stainlessraton Jun 26, 2019 ^1 ^2
Ответить

geekless: Лицорука! Вы по какой причине его отзываете? По причине компроментации приватного ключа. И этим же приватным ключом подписываете отзыв? Ну прикольно, злоумышленник следом просто сотрёт ваш отзыв, все дела.

Отзыв сертификатов происходит ключом, выдавшим сертификат. Это вам надо на поклон к @nofish идти, на личную встречу с паспортом, чтобы он написал "отзываю сертификат stainlessrat" и подписал эту строчку своим мастер-ключом ZeroID. Вы так себе анонимную сеть представляете?

Значит предусматриваем логику согласно которой отправить сообщение на форум можно только раз, после он с тем же ключём сообщения не примет.

geeklesson Jun 26, 2019 ^1 ^2
Ответить

stainlessrat: До момента публикации ключь формально действующий, после нет.

Лицорука! Вы по какой причине его отзываете? По причине компроментации приватного ключа. И этим же приватным ключом подписываете отзыв? Ну прикольно, злоумышленник следом просто сотрёт ваш отзыв, все дела.

Собственно именно так и работает отзыв сертификатов в PKI

Отзыв сертификатов происходит ключом, выдавшим сертификат. Это вам надо на поклон к @nofish идти, на личную встречу с паспортом, чтобы он написал "отзываю сертификат stainlessrat" и подписал эту строчку своим мастер-ключом ZeroID. Вы так себе анонимную сеть представляете?

stainlessraton Jun 26, 2019 ^1 ^2
Ответить

geekless: Написать при помощи отозванного ключа?

До момента публикации ключь формально действующий, после нет. Собственно именно так и работает отзыв сертификатов в PKI

geeklesson Jun 26, 2019 ^1 ^2
Ответить

stainlessrat: Да нет вроде ничего сложного. Просто форум на котором каждый может написать - я отзываю свой ключь.

Написать при помощи отозванного ключа?

stainlessraton Jun 26, 2019 ^1 ^2
Ответить

geekless: Технически неосуществимо в текущей архитектуре.

Да нет вроде ничего сложного. Просто форум на котором каждый может написать - я отзываю свой ключь.

geeklesson Jun 26, 2019 ^1 ^2
Ответить

stainlessrat: Вот и идея.

Технически неосуществимо в текущей архитектуре.

stainlessraton Jun 26, 2019 ^1 ^2
Ответить

geekless: Нету.

Вот и идея. Зейт с списком отозванных ключей. Запросы на отзыв подписываются закрытым ключём. Из проблем вижу возможность отозвать учётку если украдёшь чужой ключь, вопрос как гарантировать что время направления запроса корректно и то, что этот список в техническом плане не будет ни на что влиять.

geeklesson Jun 26, 2019 ^1 ^2
Ответить

stainlessrat: А есть ли способ отзыва своего ключа в случае его хищения?

Нету.

stainlessraton Jun 26, 2019 ^1 ^2
Ответить

if0: Хорошая идея. Только при использовании подписи в случае хищения приватного ключа у нерадивого пользователя возникнет еще больше проблем, учитывая то, что отозвать подпись будет невозможно и уже ничего не докажешь, если злоумышленник захочет что-либо опубликовать используя вашу подпись.

А есть ли способ отзыва своего ключа в случае его хищения?

geeklesson Jun 26, 2019 ^1 ^2
Ответить

if0: Только остается непонятным: каким образом фейковые сообщения смогут попасть на диск пользователя (для того, что бы быть подписанными вместе с новым сообщением), перед отправкой нового сообщения?

Владелец сайта подписывает data/users/<user_id>/content.json своим корневым ключём, и апдейт расходится по узлам обычным образом, попадая на машину к владельцу <user_id>. Пользователь, не замечая подвоха, лайкает пост или пишет коммент, и voi-la, в следующем апдейте подложные данные уже оказываются подписаны пользователем.

if0on Jun 25, 2019 ^1 ^2
Ответить

geekless: Не настолько тривиально. Сначала нужно заманить пользователя на реальный зайт, чтобы он там что-нибудь писал, потом незаметно исправить часть его постов, дождаться, когда он, не заметив подвоха, напишет что-то еще, поставив тем самым корректную подпись - и вот тогда заводить дело.

Когда отправляешь сообщение, его текст добавляется к data/users/<user_id>/data.json. после чего его изменившейся хеш подписывается в data/users/<user_id>/content.json. При этом нет возможности определить было ли добавленно одно сообщение или несколько. Или часть из них была изменена.

Только остается непонятным: каким образом фейковые сообщения смогут попасть на диск пользователя (для того, что бы быть подписанными вместе с новым сообщением), перед отправкой нового сообщения?

if0on Jun 25, 2019 ^1 ^2
Ответить

geekless: Идея не идиотская на самом деле. В моих далеких планах реализация возможности подписывать отдельные ветки внутри JSON прямо средствами движка форума. Каждая сущность ("комментарий", "топик") будет иметь подпись, которая "слетает" при вмешательстве админа. Ядро не дает API для этого, нужно будет запилить плагин. Пока идёт миграция на 3-й питон, нет смысла браться за плагин, но после стабилизации кодовой базы можно попробовать.
Ну и подписывание сообщений в явном виде, как в обычном email, тоже никто не отменял. :)

Хорошая идея. Только при использовании подписи в случае хищения приватного ключа у нерадивого пользователя возникнет еще больше проблем, учитывая то, что отозвать подпись будет невозможно и уже ничего не докажешь, если злоумышленник захочет что-либо опубликовать используя вашу подпись.

geeklesson Jun 25, 2019 ^1 ^2
Ответить

if0: Предлагаю рассмотреть возможный сценарий:

Тов. майор создает зайт с экстремистким содержанием.
Добавляет туда фейковые посты от имени пользователя против которого захочет сфабриковать дело.
Предоставляет этот зайт в качестве доказательства проивоправных действий указанного пользователя.

Не настолько тривиально. Сначала нужно заманить пользователя на реальный зайт, чтобы он там что-нибудь писал, потом незаметно исправить часть его постов, дождаться, когда он, не заметив подвоха, напишет что-то еще, поставив тем самым корректную подпись - и вот тогда заводить дело.

if0on Jun 25, 2019 ^1 ^2
Ответить

Предлагаю рассмотреть возможный сценарий:

  1. Тов. майор создает зайт с экстремистким содержанием.
  2. Добавляет туда фейковые посты от имени пользователя против которого захочет сфабриковать дело.
  3. Предоставляет этот зайт в качестве доказательства проивоправных действий указанного пользователя.
geeklesson Jun 25, 2019 ^1 ^2
Ответить

Типичные комментарии в топике с вопросом про реализацию модерации:

Doesn't that contradict the point of zeronet?

.

please keep you moderated shit for the clearnet

.

If we wanted moderation, we would be on reddit, were we can be shadow-banned without any explanation given.

Никакие технологии не могут исправить безграмотность. Люди прочитали про "free and uncensorable websites" на главной странице проекта и верят этому. А что там под капотом — зачем об этом задумываться, им ведь пообещали, что всё хорошо.

(Хотя и в шапке сайта обещали только нецензурируемые сайты, а совсем не комментарии на форуме.)

ultravioleton Jun 25, 2019 ^1 ^2
Ответить

geekless: Круто. Под таким углом я не смотрел.Тогда необходима также поддержка хабов, чтобы каждая сторона могла безопасным образом сохранять копии сообщений других сторон в качестве доказательства.

Тут есть над чем подумать. Меня лично привлекает идея распределённых репозитариев исходного кода. Можно подумать ив сторону распределённой системы согласования и утверждения договоров или юридически значимых документов. В жизни такая проблема встречается часто.

geeklesson Jun 25, 2019 ^2 ^3
Ответить

ultraviolet: Вижу коммерческую ценность Вашей идеи. Форум для ведения коммерческих переговоров.

Круто. Под таким углом я не смотрел.
Тогда необходима также поддержка хабов, чтобы каждая сторона могла безопасным образом сохранять копии сообщений других сторон в качестве доказательства.

ultravioleton Jun 25, 2019 ^2 ^3
Ответить

geekless: Идея не идиотская на самом деле. В моих далеких планах реализация возможности подписывать отдельные ветки внутри JSON прямо средствами движка форума. Каждая сущность ("комментарий", "топик") будет иметь подпись, которая "слетает" при вмешательстве админа. Ядро не дает API для этого, нужно будет запилить плагин. Пока идёт миграция на 3-й питон, нет смысла браться за плагин, но после стабилизации кодовой базы можно попробовать.
Ну и подписывание сообщений в явном виде, как в обычном email, тоже никто не отменял. :)

Вижу коммерческую ценность Вашей идеи. Форум для ведения коммерческих переговоров.

ultravioleton Jun 25, 2019 ^1 ^2
Ответить

geekless: Если данные подписаны владельцем сайта - да. А если там подпись пользовательского сертификата, и владение этим сертификатом конкретным лицом уже доказано, нужна дальнейшая защита.

Считаем что мы заранее удалили свой cert

geeklesson Jun 25, 2019 ^1 ^2
Ответить

ultraviolet: > Вот на этот вопрос и будет отрицательный ответ:-)

Если данные подписаны владельцем сайта - да. А если там подпись пользовательского сертификата, и владение этим сертификатом конкретным лицом уже доказано, нужна дальнейшая защита.

geeklesson Jun 25, 2019 ^1 ^2
Ответить

ultraviolet: В качестве идиотской идеи. Можно добавлять в свои сообщения подписанную приватным ключём контрольную сумму.

Идея не идиотская на самом деле. В моих далеких планах реализация возможности подписывать отдельные ветки внутри JSON прямо средствами движка форума. Каждая сущность ("комментарий", "топик") будет иметь подпись, которая "слетает" при вмешательстве админа. Ядро не дает API для этого, нужно будет запилить плагин. Пока идёт миграция на 3-й питон, нет смысла браться за плагин, но после стабилизации кодовой базы можно попробовать.

Ну и подписывание сообщений в явном виде, как в обычном email, тоже никто не отменял. :)

ultravioleton Jun 25, 2019 ^1 ^2
Ответить

В качестве идиотской идеи. Можно добавлять в свои сообщения подписанную приватным ключём контрольную сумму.

ultravioleton Jun 25, 2019 ^1 ^2
Ответить

geekless: В теории, в идеальном суде.

На самом деле нет. Я видел оправдания зая явную пиратку выложенную в интранет - шару. Как показывает практика тут главное не оставлять на самотёк.

Практический алгоритм в данном случае следующий:

  1. Находим эксперта. Экспертом в данном случае может быть криптограф, математик или программист. Лучше всего если он преподает в университете и имеет учёную степень. Должен знать английский и python.
  2. Заключаем договор на экспертизу.
  3. Важным является набор вопросов для экспертизы. Если например обвиняют в распространении экстремисткого контента то список вопросов такой:
  • возможно ли утверждать что автором данного сообщения является гражданин такой-то или что оно было создано и отправлено с его ip или с устройств ему подконтролных.

Тут я полагаю, что обвиняемый всё же успел удалить свои ключи

  • возможно ли утверждать что сообщение после публикации НЕ было изменено кем-лио, в том числе администратором сайта

Вот на этот вопрос и будет отрицательный ответ:-)

Когда заказывать экспертизу? Сразу же!

Когда приобщать к делу - решает адвокат. Зависит от конкретнх обстоятельств.

Ещё учитывая сложность дела нужно сразу же ходатайствовать о рассмотрении тройкой судей или с участием присяжных если у вас такое право есть.

geeklesson Jun 25, 2019 ^1 ^2
Ответить

ultraviolet: Это свойство можно использовать и на пользу. Для того, чтобы доказать авторство сообщения придётся доказывать НЕ вмешательство владельца сайта.

В теории, в идеальном суде.

ultravioleton Jun 25, 2019 ^1 ^2
Ответить

Это свойство можно использовать и на пользу. Для того, чтобы доказать авторство сообщения придётся доказывать НЕ вмешательство владельца сайта. Редко у кого на персональном компьютере задействованна система аудита гарантирующая отслеживание всех действий системного администратора:-)

На этом же принципе можно строить защиту от уголовного и возможно гражданского и административного преследования за раздачу зайтов.

This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More