Pull to refresh
2K+
159
Коваленко Геннадий@Number571

Криптограф, Программист

265
Subscribers
Send message

В вашем тексте речь идёт о неотслеживаемости

В моём тексте речь идёт и о неотслеживаемости (ненаблюдаемость) и об анонимности (несвязываемость) в представленной вами терминологии. Это можно как минимум наблюдать в разделе "Анонимные сети", в качестве описания, и в "Конструкты анонимности", в качестве построения тех и других видов.

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

Анонимность - это общий термин и сама неотслеживаемость априори включает в себя несвязываемость.

Доказательство (из данной статьи):

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

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

если используется ЭЦП с сертификатами общедоступных ключей, то анонимность не обеспечивается

ЭЦП можно скрыть в самой структуре сообщения, в том числе и с сертификатами общедоступных ключей, на примере шифрования сообщений в BitMessage (которая не является анонимной сетью, но на подобном методе шифрования вполне можно выстраивать сети обеспечивающие критерий ненаблюдаемости).

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

Анонимность бывает абсолютной и отзываемой.

Приведённый термин анонимности (хоть и взят из словаря) так или иначе оказывается противоречивым. Если есть два вида анонимности - абсолютная и отзываемая, то под абсолютную попадают даже все анонимные и околоанонимные сети с уязвимостями, но без функции отзыва? Или, сеть с отзываемостью может считаться анонимной, если контроль может происходить со стороны централизованного управления над всеми участниками? По последнему вопросу, даже если действия централизации видны всем в качестве раскрытия участников, то набрав нужную массу узлов она в один момент может всех раскрыть для своих выгод. Допустим если собралось много участников и в ней стало создаваться много незаконных сайтов. В итоге централизованный механизм за одно мгновение может начать всех деанонимизировать.

Анонимность в сети подразумевает отсутствие связи реальной личности с пользователем в интернете.

Данное определение становится достаточно упрощённым. Допустим, может существовать такая система в которой все участники и их IP известны, но при связи "один-к-одному" невозможно определить для внешних и внутренних участников кто с кем общается. Это вполне себе анонимность, но со связью реальной личности и псевдонимом (или пользователем в интернете).

Далее по самим методам достижения анонимности также существуют нюансы. Приведено лишь два спсоба - VPN и Tor. Не скажу, что они никак не анонимизируют, напротив, вполне могут. Нюансы же заключаются в том, что 1) Tor можно рассматривать частично как каскад VPN, иными словами это просто общий и частный случай применения; 2) Существует огромное количество других технологий направленных на анонимность и с разной моделью угроз (у Tor'a достаточно слабая модель), подобия I2P, Mixminion, Crowd, Herbivore, Dissent (две последние основаны вообще на теоретически доказуемой анонимности).

По всему этому поводу можете почитать статью "Теория строения скрытых систем" (https://github.com/number571/go-peer/blob/master/hidden_systems.pdf). Да, это самопиар, но всё же я достаточно (или относительно) давно начал изучать сетевую анонимность, анонимные сети в частности и смежные явления. Думаю в этой работе можно найти определённые интересные моменты, особенно когда темы статей связаны.

Вынужден частично не согласиться и согласиться.

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

С другой стороны, как вы отметили, термин действительно представляет собой более культурный характер, нежели технический. В своей основной работе, как пример, я намеренно пытался избегать использование термина "Darknet", заменяя некоторые его элементы другими составляющими (хоть в некоторых случаях крайне близкими, но более конкретными).

Тем не менее, культурное (как некое историческое) явление также часто идёт в противоречие с техническим по поводу такой терминологии как анонимность и безопасность. А это уже более глубокие определения, которые в той или иной степени также могут запутывать (особенно анонимность как таковая). Нерегулируемость также ставится под вопрос. Стандартизация или факт отсутствия стандартизации тех или иных терминов может помочь во всём этом и дать точное определение (либо более точное понимание), либо дать осознание, что таковой термин крайне сложен в применении (и как вывод лучше воспользоваться другим, более точным).

Ноуп, описанное является лишь малой частью основной статьи (https://github.com/number571/go-peer/blob/master/hidden_systems.pdf). А данную статью пишу просто по фану. Когда возникает какой-либо новый раздел, который может быть в той или иной степени интересен как отдельная составляющая, тогда выкладываю на хабр. Не выкладываю всю статью, т.к. уже ранее выкладывал старую версию и каждый раз выкладывать обновлённые версии - это такое себе.

Скорее проблема не в том, что его не существует, а в том, что трактовок термина существует большое количество, где некоторые явным образом противоречат другим. Из-за такого свойства его дальнейшее применение в литературе затруднительно. А композирование нескольких терминов "Darknet"'a приведёт просто к ещё одному противоречию.

Вполне возможно, сами определения были взяты с приведённых ссылок, где говорится о Darknet'e непосредственно.

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

Если ставите минусы, оставляйте также комментарии. Может я что-то не так сказал или что-то не то. Благодаря комментариям можно поправлять саму мысль, если кто-либо забывает об этом (при условии конечно если сам комментарий стоящий).

Возможно вы сами себя запутали в анализе текста.

Вы предложение согласовали?
"Развитие" как переходная форма {чего?}

Развитие как переходная форма от централизованных систем к скрытым системам. Скрытые системы - совокупность, множество клиент-безопасных приложений и анонимных сетей. Анонимность есть более высокая категория, а потому в Web3 особо на ней не акцентируют внимание. Тем не менее, в Web3 уже виднеется развитие клиент-безопасных приложений как системы.

>Такое {какое конкретно?} действие становится возможным лишь по
причине экономической на то {на что?} необходимости из-за постоянного
расширения, увеличения централизованных систем, а также из-за иных
игроков рынка, создающих новые монополии.

"Развитие Web3" как действие. Экономическая необходимость описана в статье. Вкратце, экономическая необходимость обуславливается двумя противоречиями, которые становятся данностью - 1) внутренние участники централизованных систем всё стремительнее начинают "разлогать" саму систему посредством частной и краткосрочной прибыли, нарушением политик безопасности из-за постоянного усложения иерархической структуры, в которой множеству отделов становится необходимым связываться, тем самым создавая неявные связи; 2) внешние участники рынка создают принципиально иные системы (клиент-безопасные), которые открывают другие рынки на которых можно также заработать. У монопольных компаний остаётся два выхода в лице краткосрочных и долгосрочных перспектив. Либо они подавляют такие системы политическим путём (буквальным подавлением со стороны запретов и законов), либо экономическим (подавлением на опережение, скупкой уже имеющихся стартапов и т.д., чтобы не опоздать в данной гонке). Из-за внутренних и внешних противоречий, централизованным системам становится выгоднее некоторые свои ресурсы выводить на децентрализацию, тем самым, во-первых, расходуя меньше средств на содержание сложных иерархических структур, во-вторых, выдавливая новых экономических игроков из открытых ими рынков.

Ответ #1. Не намеренно

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

Технология web3 является необходимостью {потому что, есть запрос}, но
она несовершенна, так как ей нужно быть прибыльной {чтобы привлечь туда
бизнес} и безопасной {потому что у нас есть кучка анархистов, которые не
чувствуют себя в безопасности}. То есть она несовершенна. Верно вас
понял?

Технология Web3 становится необходимостью для монополистических корпораций, чтобы 1) не потерять зарождающиеся рынки и подавить новых её участников; 2) иерархическая структура становится всё сложнее в управлении и некоторые её составляющие становится возможным переносить в децентрализацию, без особых угроз со стороны потери прибыли. Если существует спрос, то монополистические корпорации конечно же дают своё предложение, но исключительно ради того, чтобы сдержать свою монополизацию за счёт подавления других и облегчения собственной структуры. Так что косвенным путём они действительно начинают давать предложение на спрос, но вовсе не из-за своей прихоти, а как раз из-за такой необходимости, в которой они буквально попадают в неизбежность совершенствовать безопасные технологии.

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

Ответ #2. Надеюсь здесь из мною описанного стала более понятна мысль повествования.

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

Формации можно определять как способы перехода от одного состояния к другому. Стадии являются непосредственно самими состояниями.

Скорее решается проблема определения роли узла в качестве отправителя или получателя, но не маршрутизатора. Маршрутизатор в такой же концепции остаётся отдалённым и разделённым субъектом, потому как список маршрутизаторов должен явным образом задаваться и отображаться.

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

Nym близок по концепции к Mixminion, которая является вполне анонимной и безопасной сетью, только у таких родственных связей всегда существует вышеописанный недостаток. I2P ушёл в немного другом направлении, сделав сеть децентрализованной, а не гибридной. Поэтому определение отправителя и получателя яляется более сложной задачей, т.к. каждый субъект становится и в равной степени маршрутизатором информации, что куда сильнее размывает грань между ролями субъектов. Но при этом I2P переносит данную атаку с плоскости 100% нахождения на вероятностную, сужающую множество всех участников сети до определённого минимального из которого придётся выбирать, что тоже не является хорошим показателем, т.к. априорные показатели становятся неравными апостериорным. В любом случае всё родство данных сетей сводится к практической реализации анонимности, а не теоретической.

Из сетей с теоретически доказуемой анонимностью в научной литературе явным образом выделяются DC-сети (на базе проблемы обедающих криптографов) и непосредственно сами анонимные сети Dissent и Herbivore, реализующие данную задачу разными способами. Другой сетью с теоретически доказуемой анонимностью можно предложить сеть описанную в данной статье (или в основной "Теория строения скрытых систем", где в определённой степени исправляются недочёты, неточности или ошибки).

Здесь не нужно условно понимать под ' производную. Суть самой формулы в том, что мощность анонимности стремится к своему константно заданному значению, равному выставленному количеству узлов в цепочке маршрутизации. |A| и |A|' являются разными переменными (тут скорее корректнее было |A'| поставить, что действительно является ошибкой). В другом случае x <= |A| <= N мощность анонимности зависит от количества узлов всей сети, потому как каждый узел становится маршрутизирующим для распространения объекта.

Но разве тоже самое не актуально для луковичной и чесночной(I2P) маршрутизации?

Более чем актуально. Tor и I2P точно также базируются на работе Дэвида Чаума, как и большинство других анонимных систем в которых предполагается маршрутизация информации с несколькими слоями шифрования, каждый из которых "снимается" по мере перехода от одного маршрутизатора к другому, заменяясь при этом случайными данными ("мусором") для поддержания константной величины сообщения. Ровно на таком же принципе базируется Nym.

Если вы имеете в виду фактор временной задержки

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

Иными словами, каждый субъект в роли отправителя или получателя вполне определён, потому как идёт явное разграничение между маршрутизаторами и клиентами сети. Через клиентов не может проходить сторонний трафик, клиент не является ретранслятором. Получатель в свою очередь, выдвигаясь как сервис связи, не способен генерировать самостоятельно информацию, он способен лишь отвечать на получаемые им запросы (то есть такой клиент может генерировать информацию только после получения другой информации). Глобальный наблюдатель по такому критерию вполне легко может сопоставить кто является отправителем, а кто в конечном счёте получателем (как фактом, без какого-либо дальнейшего связывания отправителя с получателем).

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

Сети Tor, I2P, Mixminion и т.д., а также и Nym, обладают ровно таким же недостатком, решая проблему двумя методами: 1) принципом федеративности (создавая узлы в разных государствах) и 2) количеством маршрутизирующих узлов.

Они используют классическую технологию mix-серверов предложенную Дэвидом Чаумом в работе "Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms" (1981). Сама технология неплоха и применяется во множестве современных анонимных сетей (Tor, I2P, Mixminion и т.д). Но у такой технологии существует скорее теоретический недостаток, а именно анонимность таких сервисов в большей мере зависит от количества участников системы. Чем их больше, тем чаще способны в Mix-серверах пересекаться сообщения, из-за чего и повышается качество анонимности на основе неопределённостей выявления дальнейшего маршрута. Также в большинстве подобных сетей сразу видно кто является отправителем, а кто получателем. Анонимность держится на факторе несвязанности отправителя и получателя, где не скрывается сам факт отправления, либо получения (I2P в этом случае сделала шаг в другом, более правильном направлении со стороны улучшения анонимности, где отправитель и получатель могут также оказаться и промежуточными субъектами - маршрутизаторами). Из-за вышеописанных моментов глобальный пассивный наблюдатель вполне способен сопоставлять связи на основе долгосрочных наблюдений. Если же будет ещё и сговор внутреннего активого наблюдателя (генерирующего сообщения) и глобального пассивного, то долгосрочные наблюдения вполне могут стать и краткосрочными для деанонимизации получателя информации.

Действительно есть такая проблема. Подредактировал подобные моменты (мощность анонимности, абстрактные субъекты и пятая, первая^ стадии анонимности). Спасибо за замечание.

Согласен с начальными суждениями.

Да, выкидывание определенных транзакций — это первое что приходит в голову

(или просто их замедление: хотите быстрее — платите держателю валидаторов).

...

Итого всё упрётся в бизнес-логику определения неправильных валидаторов,

Следующее суждение под вопросом.

Потенциально можно добиваться ненахождения консенсуса (commit), т.к.
каждое взаимодействие между валидаторами (merge) его меняет.

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

Добавление PoS нивелирует надобность в PoU, тогда можно и один PoS оставить.

Одна бизнес-логика (БЛ) (коей является PoS алгоритм, как бы это парадоксально не звучало) не приводит к консенсусу. Это можно наблюдать на примере PoS, который обязан объединяться с другими алгоритмами консенсуса, будь это BFT (задача византийских генералов, примером которой может являться Tendermint+Cosmos) или PoW. Наилучшее описание такого поведения можно найти также в статье на хабре https://habr.com/ru/post/600113.

PoU по своему определению более схож с BFT (как способу сетевого консенсуса), нежели с PoS (как консенсусу на базе БЛ). Одно без другого, как показывает практика, не способно существовать. Таким образом, PoS алгоритм может быть соединён с PoU, равно как и PoS с BFT.

PoA — это отказ от децентрализации, тогда и блокчейн не нужен.

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

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

По поводу вышеприведённого мне действительно нужно будет обдумать правильность суждения, потому как я исхожу из противостояния PoU и PoS, хотя в большей степени нужно исходить из разницы PoU с BFT (как сетевыми и количественными моделями обеспечения консенсуса).

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

Из этого следует, что сам алгоритм консенсуса уязвим к концентрациям связи, что вполне может приводить к выстраиванию картелей валидаторов. Но и при этом сам консенсус также продолжает работать, в том числе и для "подчиняющихся" монополии узлов. Эта проблематика схожа с ядром Tendermint, базируемым на задаче византийских генералов, где необходимым условием консенсуса является +2/3 сети вне зависимости от того, кто такую сеть наполняет.

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

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

2/4
Субъект анонимизируется за счёт маршрутизации + стеганографии (не той, что описана ниже, а сокрытием самого факта обмена сообщениями с помощью, например, спама).
Объект обеспечивается за счёт шифрования + подписи (или любой другой защитой от подмены MITM, что ваш протокол игнорирует).

1. Стеганография, или как вы говорите сокрытие сообщения методом спама, не является базисом анонимности, а может лишь рассматриваться как добавочное свойство. Так например, в пятой стадии анонимности ни о каком спаме и речи не идёт, даже косвенно. Помимо прочего, сколько примитивного спама не добавляй, теоретически безопасность такой анонимности рассмотреть не получится. Так например, в шестой стадии, спам является лишь только следствием абсолютной анонимности, но никак не её причиной. Возникновение теоретически доказанной анонимности обуславливается только объединением вероятностной полиморфной маршрутизации с заливочной.
2. Подпись представлена как сочетание целостности и аутентификации. Сам термин шифрование в данном контексте был рассмотрен обще и из контекста вполне ясен.
3. MITM атака не исчезает за счёт подписей.

Я думаю, можно добавил седьмую стадию: вертикальные слои. Мы ведь говорим о сети в одной плоскости (однораговой), но мы можем использовать несколько таких сетей (получается этакая 3D матрица/граф, где строки/слои/плоскости — одноранговые сети, а столбцы — отдельные узлы).

1. Смысла от седьмых, восьмых, девятых и т.д. стадий уже нет. Шестая стадия является последней, так как она уже создаёт абсолютно возможную анонимность в компьютерных сетях. При анализе анонимности я мог лишь пропустить какие-либо промежуточные стадии, стремящиеся к последней.
2. Используя несколько одноранговых и однотипных систем, как либо кардинально изменить фактор анонимности не получится. Это точно также, как если существует задача полного перебора массива, где в одном массиве 10 элементов, а в другом 100. Сама сложность всегда остаётся равной O(N), вне зависимости от входных параметров.

После этой фразы ваш протокол теряет какую-либо безопасность в принципе — безопасность протокола целиком и полностью зависит от установления безопасного канала связи (в данному случае обмена ключами шифрования).

1. Возьмите книгу Брюса Шнайера «Прикладная криптография» и откройте третью главу: «Основные протоколы». В ней большинство протоколов разобрано с так называемым участником Трент, которому все безусловно и абсолютно доверяют. При этом, все участники уже имеют по-умолчанию его публичный ключ и сами протоколы не руководствуются тем, как он был получен. Это есть условность, соблюдая которую сам протокол в следствии и расписывается, и уже на приведённом примере его безопасность доказывается.
2. Также и само игнорирование обуславливается тем фактом, что минимальность протокола помогает встраиваться с лёгкостью в разные системы, будь то одноранговые сети, будь то тайные каналы связи, в которых вообще не существует каких-либо центров сертификации.

P.S. Прочитайте, пожалуйста, сначала статью, перед тем как что-либо в ней критиковать или разбирать.
12 ...
9

Information

Rating
7,388-th
Location
Россия
Works in
Registered
Activity

Specialization

Бэкенд разработчик, Разработчик приложений
Старший
Golang
C
Криптография
Микросервисная архитектура
Информационная безопасность