Как стать автором
Обновить

Теория строения скрытых систем

Время на прочтение48 мин
Количество просмотров6.3K

Введение

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

Таков «театр безопасности» преследует в первую очередь экономическую цель, базовым интересом которой безусловно служит искусство продать рекламу, сделать так, чтобы «релевантность» запросов постоянно преследовала конечных покупателей, достигала их и покоряла «альтруизмом» маркетологов. Прибыль как цель - такова основная суть современной централизации, где комфорт, удобство и простота делают её всего-навсего более достигаемой и осуществимой [2]. Все вытекающие политические интересы (в основе которых лежат запреты и цензура) служат только продолжением экономических, где давление и поглощение какой бы то ни было конкуренции, оппозиции и сопротивления является способом сдерживания уже устоявшихся основоположений. Таким образом, обобщая, можно заметить связь, где экономическая составляющая играет роль распространения информации, а политическая основа сдерживает её распространение для иных (децентрализованных систем, как неконтролируемых средств распространения информации) и схожих участников ролевой модели (централизованных конкурентов, как соперников маркетинга и прибыли). Любое возрождение децентрализации, в идее которой лежит безопасность пользователей, является априори враждебной и приводящей к дальнейшему и скорейшему её подавлению, вплоть до уничтожения [3], т.к. в отличие от централизованных конкурентов, никак не разрушающих устоявшуюся систему, децентрализованная система представляет значительную угрозу, потому как приводит к разложению концентрированных соединений и к зарождению ризоморфных положений.

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

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

Первичная проблематика

При рассмотрении вопросов, базируемых на безопасности каналов связи, использующих криптографические протоколы с участниками A и B, а также с доверенным участником T, концентрация внимания сосредоточена в большей мере как раз на последнем. Это логично, ведь доверенный, промежуточный субъект информации T становится законно установленным «атакующим» первоначальными субъектами A и B, способным совершать MITM атаки (man in the middle) и переводящим систему в неустойчивое состояние, состояние требующее абсолютного доверия [4]. Приведённая атака ссылается на нерешённую проблему доверия*, разрушительную и губительную по своей сути, но при этом затмевающую более скрытую и деструктивную, мощь которой в современном мире превосходит прямолинейные MITM атаки. Целью нашей статьи является выявление данного метода нападения, его анализ и последующие решения.

Проблема доверия

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

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

Описанное явление начинает претерпевать кардинальные изменения, т.к. возвращает фундаментальную проблему и задачу классической криптографии — борьбу с прослушиванием, которая должна была решиться (и решилась теоретически) лишь с появлением раздела асимметричной криптографии [7]. Данная апория куда серьёзнее и значимее, нежели классическая MITM атака и требует куда меньшее количество затрат атакующего для слежки большего количества атакуемых. Это есть паноптикум современного общества, где атакующие и атакуемые меняются местами, инвертируют способ слежения и делают заложника инициатором собственного подслушивания. Теперь жертвы самостоятельно подключаются к заведомо прослушиваемой связи, выбирают множество возможных опций слежения за собственным «Я», в то время как атакующие лишь создают аналогичные соединения, воспроизводят платформы слежения в таком необходимом количестве, чтобы затмевать своим присутствием сам факт существования более защищённых альтернатив. Таким образом, с одной стороны конфиденциальность современных сервисов становится лишь декорацией, театром безопасности, симулякром ссылающимся на несуществующую, гипостазированную безопасность, как на магическое слово маркетинга, оболочку воображаемого величия, а с другой стороны само удобство сервисов начинает быть фундаментом, мыслью, философией, пропагандой противопоставляющей себя безопасности, конкурирующей с ней, постепенно и незаметно заменяющей её, как «Cymothoa exigua».

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

Безоговорочно аннигилировать такую систему доверия не представляется возможным из-за реального ухудшения оптимизации и производительности программ, последующих трудностей построения архитектуры приложений, и в конечном счёте, из-за невозможности полного искоренения доверия как такового [8, с.267]. Таким образом, необходимо не уничтожать, а заменять данную систему более безопасной, отодвигать её на второй план, в нишу, в которой только она способна быть полезной. Во всех других случаях, необходимо строить и разрабатывать иную систему, механизм которой стремился бы к уменьшению мощности доверия*, в которой собственная её структура представляла бы защиту объектов и анонимат субъектов. К системам подобного рода уже относятся анонимные сети и тайные каналы связи, анализ и развитие которых представлен в последующих разделах.

Мощность доверия

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

Анонимные сети

Скрытые, тёмные, анонимные сети – есть сети, соединяющие и объединяющие маршрутизацию вместе с шифрованием. Маршрутизация обеспечивает критерий анонимности, направленный на субъект, шифрование – критерии конфиденциальности, целостности, аутентификации, направленные на объект. Без маршрутизации легко определяются отправитель/получатель, без шифрования легко определяется передаваемое сообщение. Таким образом, только в совокупности этих двух свойств сеть может являться скрытой [9][10, с.912].

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

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

В одноранговых (peer-to-peer) системах все пользователи однородны, имеют одинаковые возможности, могут представлять одни и те же услуги маршрутизации [10, с.792]. Сами одноранговые сети могут быть разделены на три категории: централизованные, децентрализованные и распределённые. Централизованные одноранговые сети представляют собой соединения на базе одного или нескольких заранее выделенных серверов-ретрансляторов, исключение которых приводит к блокированию всей сети. Распределённые сети не выделяют какой-либо центр или узел связи, сохраняя факт одновременной и полной коммуникации узла со всеми другими нодами, иными словами, со всей сетью (иногда под распределённой связью подразумевают необходимое N-ое количество соединений, не обязательно со всей сетью). В децентрализованных же сетях возможно образование неравномерного распределения соединений и появление «неофициальных» узлов-серверов, часто используемых другими нодами в качестве последующей маршрутизации. Таким образом, децентрализованная модель в своём определении куда сильнее подвержена концентрированию линий связи, чем модель распределённая.

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

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

1. Первая стадия является исходной точкой анонимности, тезисом, монадой не представляющей анонимность, пустотой инициализирующей мощность анонимности |A| = 0*. Примером является отсутствие связи как таковой или существование только прямого, прямолинейного, примитивного соединения между двумя одноранговыми субъектами, что равносильно их стазисному состоянию.

Мощность анонимности

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

2. Вторая стадия, становясь антитезисом, начинает отрицать первый этап, приводить систему к первичному метастазису, изменять собственным преобразованием способ взаимодействия между субъектами, добавлять к своей оболочке новую роль промежуточного узла, сервера, подчиняющего всех остальных субъектов к частно-личному сервису. Таким образом, архитектура становится многоранговой, клиенты начинают зависеть от платформ связи, а мощность анонимности повышается до константного значения. Этап обеспечивает только анонимность клиент-клиент, но игнорирует при этом анонимность клиент-сервер, что и приводит к статичной мощности анонимности |A| = 1. Иными словами, сервер начинает обладать достаточной информацией о клиентах, клиенты в свою очередь начинают коммуницировать посредством сервера, что приводит их к фактическому разграничению, к взаимной анонимности и зависимости от общей платформы. В данной ситуации стоит заметить, что анонимность и безопасность идут вразрез друг с другом, противопоставляют себя друг другу, т.к. с одной стороны безопасность связи клиент-клиент становится скомпрометированной и дискредитированной, и в то же время, с другой стороны анонимность связи клиент-клиент становится инициализирующей и первой простейшей формой анонимата. Такое противоречие (ухудшения безопасности и улучшения анонимности) не является случайным, а представляет собой правило и закономерность, в чём можно будет убедиться далее. Описанную стадию вкратце именуют псевдо-анонимностью, а клиентов — анонимами.

3. Третья стадия, являясь синтезом предыдущих стадий, представляет примитивную маршрутизацию, а следовательно и примитивную анонимность, нескольких прокси-серверов несвязанных между собой. Именно на данном этапе сеть становится раздробленной, неопределённой, гибридной за счёт чего и повышается мощность анонимности методом стремления к статичному значению lim|A|→C, где C - количество прокси-серверов. Данный метод предполагает выстраивание цепочки узлов, через которые будет проходить пакет. Мощность анонимности на данном этапе действительно повышается, но и безопасность самих субъектов ещё никак не обеспечивается. Связано это всё потому, что шифрование на данном этапе есть свойство добавочное (сродни второй стадии), не обеспечивающее защиту связи клиент-клиент, а следовательно, и не приводящее к уменьшению мощности доверия.

4. Четвёртая стадия, как развитие третьего этапа, инициализирует способ изменчивости, множественного шифрования, полиморфизма информации посредством её туннелирования. К такому этапу относятся L4 VPN сервисы (виртуальные частные сети) как N-ое сочетание прокси-серверов со внутренними слоями шифрования [12], где мощность доверия и мощность анонимности эквивалентно третьей стадии. Отличительной особенностью четвёртого этапа является существование выходных узлов, постепенно «раскрывающих» истинный пакет, созданный до первичного туннелирования на отправляющей стороне, из-за чего и появляется возможность к сокрытию метаданных (относительно анализа трафика из вне), связующих инициатора сообщения и сервер назначения. В связи с этим, данный этап изменяет способ маршрутизации, придавая ему свойство полиморфизма, изменчивости закрытой информации по мере перехода от одного узла к другому, отстраняя при этом сами узлы к анализу и сравнению шифрованной информации. Таким способом скрывается настоящая связь между субъектами посредством их объекта, а следовательно и анонимат обретает более истинный характер, при котором система начинает стремиться к увеличению и сдерживанию мощности анонимности более качественном, чем на третьем этапе. 

5. Пятая стадия, являясь синтезом первого этапа и отрицанием третьего, становится точкой окончательной замены сетевого адреса криптографическим, при которой идентификация субъектов отделяется от концепции сетевых протоколов, подчиняя узлы абстрактно-криптографической модели. Строятся платформы сетевой связи как базисы, поверх которых разрастаются криптографические соединения, инкапсулируя взаимодействия субъектов со своим основанием. Именно на данном этапе мощность доверия становится минимально возможной величиной, а потому и все приложения построенные на пятой стадии анонимности, имеют уровень безопасности зависимый только (или в большей мере) от качества самой клиентской части. Примером такой стадии могут являться чаты, мессенджеры (Bitmessage), электронная почта, форумы (RetroShare), файловые сервисы (Freenet, Filetopia), блокчейн платформы (Bitcoin, Ethereum) и т.д. [13][14], где главным фактором идентификации клиентов являются криптографические адреса (публичные ключи, хеши публичных ключей). Сеть представляет собой также, как и в третьей стадии, гибридный, разрозненный характер поведения узлов с возможным и дополнительным  динамическим способом определения мощности анонимности, как 0 < |A| <= N, где N - количество узлов в сети, обуславливаемым слепой маршрутизацией [10, с.398] и криптографической идентификацией. При этом, стоит заметить, что на данном этапе не существует какого бы то ни было полиморфизма информации (как это было в четвёртой стадии), что приводит к внутренним противоречиям одновременного развития и деградации анонимности. Поэтому пятую стадию можно вкратце охарактеризовать игнорированием анонимности (экзотеричностью) со стороны субъекта и её сохранением (эзотеричностью) в передаваемом объекте.

6. Шестая стадия приводит к единовременному отрицанию и синтезу четвёртой стадии, как системы неориентированной на автономную масштабируемость, и пятой стадии, как системы неориентируемой на анонимность субъектов информации. В такой синергии объединяются свойства полиморфизма (как критерия анонимности) и криптографической идентификации (как критерия масштабируемости), что приводит не только к анонимату отправителя информации (как это было в четвёртой стадии), но и к обезличиванию получателя (как внутреннего сервиса скрытой сети), что является более качественным проявлением анонимности в целом. Мощность анонимности на данном этапе становится эквивалентно четвёртому этапу, равно как и мощность доверия (причина ухудшения мощности доверия относительно пятой стадии приведена в шестом разделе «Проблематика анонимных сетей»). Примером шестой стадии является большинство скрытых сетей, на подобие Tor (onion routing) [15], I2P (garlic routing) [16], Mixminion (mix network) [17] и т.д.

7.Седьмая стадия повышает анонимность до абсолюта, теоретического максимума за счёт объединения свойств полиморфной и слепой маршрутизации, образовывая новую, виртуальную маршрутизацию. Данный этап применяет конъюнкцию на основные характеристики пятой и шестой стадий, иными словами, предполагает распространение объекта по всем узлам с вероятностной возможностью его полиморфизма. Мощность анонимности определяется следующим методом — lim|A|’→C <= |A| <= N, где N - количество узлов в сети, C - количество узлов участвующих в маршрутизации из всего множества сети. Двойственная мощность, с неравенством и пределом, обуславливается двойным способом маршрутизации. Данный этап может быть основой, ядром скрытых сетей, а также тайных каналов связи. В отличие от шестой стадии анонимности, где скрытые сети могут быть как одноранговыми, так и гибридными, сеть на основе седьмой стадии может быть только одноранговой (дальнейшее изложение более подробно акцентирует внимание на анализе седьмой стадии, доказывает и подтверждает выдвинутые тезисы).

Рис. 1. Развитие анонимности как процесс формирования стадий
Рис. 1. Развитие анонимности как процесс формирования стадий

Из всего вышесказанного можно вывести основные критерии анонимности на базе которых формируются скрытые сети, а именно:

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

2. Анонимность обязана быть внутренней (относительно анализа со стороны узлов) и внешней (относительно анализа трафика сети). Данный критерий должен обуславливаться разрывом связи между субъектами посредством их объекта (полиморфизмом информации).

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

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

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

Обобщая, можно заметить, что на четвёртой стадии, шифрование применяется для полиморфизма информации, которое приводит к сокрытию связи между отправителем и получателем соответственно. Защита определяемая связью клиент-клиент, начинает появляться лишь в моменты пятой стадии, в то время как на второй и третьей стадиях само шифрование является добавочным, дополнительным, акцидентальным свойством, служащим лишь и только для защиты клиент-серверной коммуникации. Главным достоинством пятой стадии анонимности является возможность идентификации субъектов в одноранговых и гибридных системах на основании криптографических методов, что ведёт к целостности, а также к аутентификации передаваемой информации, не зависимой от сторонних узлов и серверов [18, с.223]. Дополнительно может появляться свойство конфиденциальности, где информация начинает представлять собой суть секретного, тайного, шифрованного, а не открытого и общего объекта. Но и само свойство конфиденциальности на данном этапе — есть дополнительный критерий, а следовательно, может быть удалён, если таковой является избыточным для самой системы. Как пример, в криптовалютах имеются свойства целостности и аутентификации, но не всегда конфиденциальности.

Большинство атак, направленных на скрытые сети, представляют способы деанонимизации субъектов (как наиболее лёгкий способ), нежели попытки раскрытия, взлома, дешифрования объектов (как наиболее сложный). Так, например, достаточно сильной и сложно искоренимой атакой на одноранговые (а следовательно, и на гибридные) сети является атака Сивиллы [19]. Она базируется на том факте, что главным способом анонимности является элемент маршрутизации, который обеспечивается за счёт передачи информации посредством нескольких узлов. С одной стороны, сутью атаки является замена несвязанных между собой узлов, на узлы подчинённые одному лицу, либо группе лиц с общими интересами, тем самым, атака ориентируется на (lim|A|→1) уменьшение мощности анонимности до единицы. С другой стороны, в некоторых видах сетей с увеличенной мощностью доверия, атака может вредить и целостности передаваемой информации, иными словами, подменять и видоизменять её. При повышении количества узлов несвязанных между собой в сети, повышается и сложность реализации атаки Сивиллы, за счёт более равномерного распределения узлов. Из этого также следует, что мощность анонимности будет стремиться к своим теоретически заданным значениям. Всё это связано с тем, что атакующие узлы будут конкурировать с обычными узлами за возможность быть посредниками между субъектами передаваемой информации. Чем больше несвязанных узлов и лучше алгоритм распределения, тем меньше вероятность осуществления данной атаки. Тем не менее атака Сивиллы особо опасна на этапе зарождения скрытых сетей, когда количество узлов минимально. Решений данной проблемы несколько:

1. Обеспечить замкнутость и сложность встраивания узлов в сеть. Иными словами, использовать фактор доверия или параметр дружбы. Узлы в таких сетях должны выстраивать связи между собой, основываясь на субъективности к уровню доверия. Выстраивая связи друг к другу [20] (или friend-to-friend), узлы также начинают выстраивать связи друг моего друга — это мой скрытый друг. Таким образом, друзья друзей не подключаются напрямую и не знают друг друга, но при этом вполне могут обмениваться информацией между собой, что является показателем увеличения размеров сети. Чтобы успешно подключиться к такой сети, необходимо самому стать доверенным узлом, то есть пользователем, которому кто-либо доверяет. Сложность исполнения атаки, на такой род сети, сводится к сложности встраивания в сеть подчиняемых узлов, как того требует атака Сивиллы, а это, как было описано выше, является проблематичным действием. Единственная проблема friend-to-friend сетей заключается в их малой эксплозии, расширении, увеличении масштаба, являясь тем самым следствием причины ручной настройки и установки списка доверенных узлов.

2. Осуществить переход к седьмой стадии — крайней форме анонимности. В таком случае, целью является сокрытие, удаление, исключение всех возможных связей между отправляемой информацией (объектом) и самим отправителем/получателем (субъектом). После исчезновения всех связей, сама маршрутизация перестаёт являться чем-то реальным и настоящим, перерастая тем самым в этап условного и виртуального, где раскрытие даже одного из субъектов начинает быть сложной задачей. Сивилле потребуется, чтобы сеть содержала менее трёх узлов несвязанных между собой общими целями и интересами, что априори ведёт к парадоксу выявления субъектов информации. Основным и пожалуй главным отрицательным свойством седьмой стадии анонимности является линейное увеличение нагрузки на сеть O(N) со стороны всех пользователей в ней участвующих. Так, например, если сеть состоит из N узлов, то каждый узел должен будет обрабатывать N-1 запросов от других узлов. Время жизни пакета (TTL) на седьмой стадии не является решением данной проблемы, по причине появления новых связей между отправителем и передаваемой информацией, что, следовательно, приведёт к деструктуризации базиса, к дисфункции сокрытия связей, к деградации виртуальной маршрутизации, и как итог, к переходу на шестую стадию анонимности.

Атака Сивиллы может быть рассмотрена и более обще, где вместо встраивания узлов в скрытую сеть, сначала происходит образование подконтрольной первичной сети, на основе которой будет существовать уже последующая тёмная сеть. Такой вид атаки может существовать лишь при оверлейных соединениях, коим и является сеть Интернет для провайдеров связи. Если вся тёмная сеть будет воссоздана в первичной сети, управляемой одним лицом или группой лиц с общими интересами, то, следовательно, и весь трафик скрытой сети возможно будет анализировать, с момента её появления и до момента её гибели. Подобная атака требует огромных ресурсов и первоначально настроенной инфраструктуры, что в современных реалиях под силу лишь государствам. Предотвратить такой вид атаки сложно, но вполне возможно, если соблюдать два правила:

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

2. Использовать изменения информации в процессе её маршрутизации. При таком способе информация будет представлена в полиморфной и самоизменяющейся оболочке, то есть оболочке шифрованной. Такой подход необходим в моменты, когда информация, приходящая из государства A в государство B, будет снова возвращаться на свою родину A*. В качестве примера можно привести луковую маршрутизацию сети Tor, где само шифрование представлено в виде слоёв, которые каждый раз «сдирают», снимают при передаче от одного узла к другому.

Мощность федеративности

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

Рис. 2. Обобщённая схема полиморфизма информации на базе седьмой стадии анонимности
Рис. 2. Обобщённая схема полиморфизма информации на базе седьмой стадии анонимности

Существует также и альтернативный вариант противодействия подобной атаке. Он в отличие от вышеописанного не требует этапа с федеративностью, но взамен требует огромное количество информации, приводящие к спаму. Плюсом такого подхода является и то, что его можно использовать в тайных каналах связи как единственно возможный элемент анонимизации субъектов. Для осуществления такого метода применяются сети основанные на седьмой стадии анонимности, т.к. они распространяют информацию методом заливки, что априори ведёт к множественному дублированию, пролиферации. Полиморфизм информации осуществляется способом установки промежуточных получателей (маршрутизаторов) и созданием транспортировочных пакетов, представленных в форме множественного шифрования. Как только узел сети принимает пакет, он начинает его расшифровывать. Если пакет успешно расшифровывается, но при этом сама расшифрованная версия является шифрованным экземпляром, то это говорит о том, что данный принимающий узел — это промежуточный получатель, целью которого является последующее распространение «расшифрованной» версии пакета по сети (базовый механизм распространения и получения объектов схож с Bitmessage, но в отличие от него, здесь существует свойство полиморфизма, которое образуется методом дополнительной цепной маршрутизации, скрывающей субъектов информации). Рекуперация, в совокупности с конечной рекурсией, будет происходить до тех пор, пока не будет расшифрован последний пакет, предполагающий существование истинного получателя, либо до тех пор, пока пакет не распространится по всей сети и не окажется забытым, по причине отсутствия получателя (будь то истинного или промежуточного). Стоит также заметить, что маршрутизаторы при расшифровании пакета могут узнавать криптографический адрес отправителя, именно поэтому стоит отправлять транспортировочные пакеты из-под криптографического псевдо-адреса отправителя.

Пример программного кода [21] для создания транспортировочного пакета:

import (
	"bytes"
)
func RoutePackage(sender *PrivateKey, receiver *PublicKey, data []byte, route []*PublicKey) *Package {
	var (
		rpack  = Encrypt(sender, receiver, data)
		psender  = GenerateKey(N)
	)
	for _, pub := range route {
		rpack = Encrypt(
			psender, 
			pub,
			bytes.Join(
				[][]byte{
					ROUTE_MODE,
					SerializePackage(rpack),
				},
				[]byte{},
			),
		)
	}
  return rpack
}

Если предположить, что в сети существует всего три узла {A, B, C} (где один из них является отправителем — A) и сама сеть основывается на седьмой стадии анонимности без полиморфизма информации, то в таком случае и при таком условии крайне проблематично определить истинного получателя, пока он сам себя не выдаст ответом на запрос (т.к. ответом будет являться совершенно новый пакет, отличный от всех остальных). Теперь, если предположить, что существует возможность полиморфизма информации, то есть вероятность её маршрутизации, то начинается этап слияния свойств получения и отправления, образуя антиципацию. Так, например, если полиморфизм существует, значит будет существовать три этапа: (A → B ИЛИ A → C) → (B → C ИЛИ C → B) → (B → A ИЛИ C → A), но если полиморфизма не существует, то будет два этапа: (A → B ИЛИ A → C) → (B → A ИЛИ C → A)*. При этом предполагается, что системе известен лишь отправитель информации (инициатор), в то время как получатель не определён. Из этого следует, что если полиморфизм будет являться статичной величиной (то есть, будет всегда существовать или не существовать вовсе), то определение получателя будет являться лёгкой задачей (при условии, что он всегда отвечает инициатору). Но, если полиморфизм будет иметь вероятностную величину, то грань между отправлением и получением будет стираться, сливаться, инвертироваться, что приведёт к разному трактованию анализируемых действий: запрос(1) - ответ(1) - запрос(2) или запрос(1) - маршрутизация(1) - ответ(1). Но в таком случае, возникает свойство гипертелии (сверх окончания), где запрос(2) не получает своего ответа(2), что снова приводит к возможности детерминированного определения субъектов. Теперь, если выровнять количество действий полиморфизма (количество маршрутизации пакета) k и количество действий без него n (что представляет собой всегда константу n = 2), иными словами придерживаться формулы НОД(k, 2) = 2, где НОД — наибольший общий делитель, то получим максимальную неопределённость, алеаторность при константе k = 2, которую можно свести к следующему минимальному набору действий полиморфизма: (A → B ИЛИ A → C) → (B → C ИЛИ C → B) → (B → C ИЛИ C → B) → (B → A ИЛИ C → A). В итоге все действия можно трактовать двумя полностью самодостаточными процессами: запрос(1) - ответ(1) - запрос(2) - ответ(2) или запрос(1) - маршрутизация(1) - маршрутизация(~1) - ответ(1), что в свою очередь приводит к неопределённости отправления и получения информации со стороны анализа трафика всей сети. И потому, ответ(1) = маршрутизация(1), запрос(2) = маршрутизация(~1), а также ответ(2) = ответ(1) = маршрутизация(2), где последняя добавочная маршрутизация(2) получается из запроса(2). Проблемой, в этом случае, является лишь запрос(1), созданный генезис-инициатором связи, который будет трактоваться всегда детерминировано. Но здесь, в первую очередь, стоит заметить, что при последующих запросах данная проблема всегда будет угасать из-за увеличивающейся энтропии [22], приводящей к хаотичности действий посредством метаморфозов вероятностного полиморфизма. Так например, на следующем шаге появится неопределённость вида запрос(3) = запрос(2) = маршрутизация(~2), означающая неоднозначность выявления отправителя.

Обозначение выражений

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

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

Рис. 3. Зарождение неопределённости при вероятностном полиморфизме
Рис. 3. Зарождение неопределённости при вероятностном полиморфизме

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

"Подводные камни" седьмой стадии анонимности

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

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

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

Продолжая анализ, можно заметить некоторые закономерности, приводящие к более точному обнаружению состояния пакета, а именно, является ли он запросом или ответом с вероятностью 2/3, что эквивалентно более точному определению состояния субъекта информации.

Исходя из периода T, который вычисляется по формуле НОК(2+k, 2), где НОК — наименьшее общее кратное, несложно узнать, что период при k = 2 будет равен 4. Это в свою очередь говорит о том, что каждое четвёртое действие, начиная с предыдущего запроса, будет с вероятностью 2/3 также являться запросом (аналогична ситуация с ответом). Проблема не приводит к выявлению сеанса связи или сессии (потому как данная величина является алеаторной и неопределённой), но при этом делает более транспорентным сам факт существующего отправления/получения. В момент повышения энтропии, когда создаётся коллизия состояний, одновременно зарождается и период, как побочный эффект, противопоставляющий себя непредсказуемости, индетерминированности и дифферентности.

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

1. Повысить k. Тогда период T = 2 + k, если k mod 2 = 0. Иначе T = 2 (2 + k), k mod 2 != 0 (не стоит забывать о свойстве гипертелии, если выбор падает на нечётное число).

2. Сделать k случайной переменной диапазона [1;n], где n - максимальное количество маршрутизаций. Тогда период T = НОК(2, 1+2, 2+2, ..., n+2).

Теперь, если анализировать непосредственно сами пакеты, в моменты их перемещения по сети, то можно наблюдать точно заданную тенденцию при которой их размер стремится к уменьшению. Это связано с тем фактом, что сам пакет имеет свойство полиморфизма, которое инициализируется на отправляющей стороне и постепенно финализируется на пути к принимающей. Такая закономерность способна выявлять роль субъектов информации, при которой достаточно проанализировать лишь размер пакета с позиции двух отправлений (A → B) → (B → C) и если пакет, в таком случае, уменьшается на заведомо известную величину D*, то это свидетельствует о крайне высокой вероятности, что сам узел B является только промежуточным получателем.

Детерминированная разница

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

Чтобы решить данную проблему, необходимо рассматривать структуру пакета со стороны его размерности. Так например, если сообщение размером S(P) создаётся на отправителе и сразу же шифруется всеми слоями размером равным S(E), то результатом такой функции является размер полиморфного пакета S(P) + S(E) = S(E(P)). При этом, т.к. S(E) предполагает собой все слои шифрования, то данный размер можно представить в виде суммы каждого отдельного шифрования, где S(E) = S(E1) + S(E2) + ... + S(En) → S(En(...(E2(E1(P)))...)) = S(E(P)). При этом каждый отдельный слой шифрования S(Ei) равен любому другому слою S(Ej), что даёт тождество вида S(E1) + S(E2) + ... + S(En) nS(E1) = S(E). Таким образом, проблема представлена удалением каждого отдельного элемента S(Ei) из общей суммы S(E), что также приводит к постоянному уменьшению числа n на единицу и к детерминированному вычислению D = S(Ei). Решением задачи является добавление пустой, неиспользуемой информации Vi случайного размера к каждому элементу S(Ei), что, следовательно, приведёт к метаморфозу свойств детерминированности числа D, переходящего в алеаторность посредством неравенства S(Vi || Ei) != S(Vj || Ej) и к невозможности представления размера S(V || E) через выражение nS(V1 || E1).

Хоть на данном этапе и невозможно определить число D, т.к. оно уже становится случайным, исходя из выражения S(Vi || Ei), тем не менее, стремление полиморфного пакета к своему собственному разложению остаётся, а это говорит, что остаётся возможным вероятностный анализ его размерности. Также, если идти от обратного и предположить, что существует отправление вида (A → B) → (B → C) и при этом, первый пакет оказывается меньше последующего, то данный факт говорит только о том, что второй пакет является самостоятельно сгенерированным и считается либо запросом, либо ответом, а узел B либо отправителем, либо получателем. Одним из решений данной проблемы может являться создание отдельного поля в пакете, указывающего на следующего получателя (будь то истинного или промежуточного) с той лишь целью, чтобы маршрутизатор мог дополнять пакет на некую величину размера M*, приводящую к константному размеру K*. Данный способ удаляет вышеописанные проблемы полностью, но выдаёт промежуточным узлам дополнительную информацию о последующих получателях пакета, одним из которых станет истинный получатель. Критичный характер данной проблемы приведёт к негэнтропии, автоматической деградации седьмой стадии, где будет существовать возможность формирования списка потенциальных получателей на основе ограничения диапазона множества узлов всей сети и приводящий к зарождению выходных нод, определённо знающих (или вероятностно распознающих) истинных получателей.

Переменная величина M

Переменная величина M применяется для замещения удалённых слоёв шифрования, сохраняя размер любой стадии полиморфного пакета на уровне константной величины K.

Константная величина K

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

Другим решением данной проблемы является постоянное перенаправление пакета на псевдо-адрес отправителя, который вследствие всех процессов будет постоянно уменьшать размер пакета, добавляя при этом величину M, тем самым, приводя пакет к константной величине K. Так как адрес отправителя является симулятивным, то он никак не выдаст адрес настоящий. Теперь предположим, что существует три узла {A, B, C}, где A является отправителем, а B или C - получателем, то вся концепция полиморфных действий приводится в следующем акте: (A → B ИЛИ A → C) → (B → A ИЛИ C → A) → (A → B ИЛИ A → C) → (B → A ИЛИ C → A) вместо (A → B ИЛИ A → C) → (B → C ИЛИ C → B) → (B → C ИЛИ C → B) → (B → A ИЛИ C → A). Проблемой такого подхода является отсутствие увеличения энтропии, т.к. само полиморфное состояние равновероятно и эквивалентно разбивается на два неполиморфных положения, которые в свою очередь полностью и однозначно выявляют истинного отправителя информации вне зависимости от количества этапов полиморфизма и вне зависимости от псевдо-адреса отправителя.

Ещё одним и более корректным способом решения проблемы является использование случайной величины R*, вместо константной величины K. В то время как сама уязвимость и проблема образуется и воссоздаётся из детерминированности, то и константная величина K порождённая ей же, не способна в корне предотвращать схожие проблемы. На место величины K встаёт величина R, приводящая к хаотичности размерности пакетов, к диффузии детерминированных качеств и к неопределённому выявлению субъектов информации. Такой подход базируется на необходимости генерации вероятностного псевдо-пакета случайного размера на маршрутизирующей или принимающей стороне. Таким образом, промежуточный/принимающий узел начинает становиться одновременно и псевдо-получателем для всех остальных участников сети.

Случайная величина R

Случайная величина R является противоположной концепцией константной величины K и представляет неопределённость отправления пакета со стороны маршрутизирующей стороны, где с вероятностью 1/2 может быть создан и отправлен новый, «пустой» псевдо-пакет случайного размера, скрывающий, посредством алеаторности, дальнейший анализ динамики истинного пакета.

Из вышеописанного также следует вывод, что если X принадлежит {пакет меньшего размера, пакет большего размера}, а Y принадлежит {отправитель/получатель, маршрутизатор}, то при их импликации Xi → Yj все суждения будут являться ложными. Доказать хаотичность действий вероятностной величины R и неразрешимость детерминированного анализа можно следующими логическими выражениями:

1. Если новый пакет меньше предыдущего, то субъектом данного объекта является истинный отправитель, либо получатель.

Ложно, т.к. маршрутизатор может сгенерировать псевдо-пакет меньшего размера.

2. Если новый пакет меньше предыдущего, то субъектом данного объекта является маршрутизатор.

Ложно, т.к. ответ может быть меньше запроса. Если истинный ответ по логике приложения всегда больше запроса, то положение вероятностным образом меняется на обратное при использовании переменных величин {V1, V2, ..., Vn}.

3. Если новый пакет больше предыдущего, то субъектом данного объекта является истинный отправитель, либо получатель.

Ложно, т.к. маршрутизатор может сгенерировать псевдо-пакет большего размера.

4. Если новый пакет больше предыдущего, то субъектом данного объекта является маршрутизатор.

Ложно, т.к. ответ может быть больше запроса. Если истинный ответ по логике приложения всегда меньше запроса, то положение вероятностным образом меняется на обратное при использовании переменных величин {V1, V2, ..., Vn}.

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

Рис. 4. Маршрутизация пакета на базе седьмой стадии анонимности из 10 узлов, где A - отправитель, B - маршрутизатор, C - получатель
Рис. 4. Маршрутизация пакета на базе седьмой стадии анонимности из 10 узлов, где A - отправитель, B - маршрутизатор, C - получатель

В результате, стоит учесть, что каждое решение проблемы либо увеличивает уровень спама (симуляция времени маршрутизации и ответа, отправление псевдо-пакета), либо уменьшает производительность (симуляция времени запроса, изменение переменной k для периода T) всей сети. Линейно увеличивающаяся нагрузка и спам O(N), прямо зависимая от количества участников сети, представляет собой главную проблему седьмой стадии анонимности.

Анализ сетевых связей при седьмой стадии анонимности

При анализе седьмой стадии анонимности, при выявлении её «подводных камней» и способов их решения, во всех случаях в качестве базиса использовалась связь все-ко-всем, предполагающая, что исследуемые субъекты данной сети будут заведомо соединены друг с другом. Это в свою очередь приводит к игнорированию и абстрагированию иных возможных связей, способных существовать в реальности. Чтобы доказать безопасность оставшихся соединений, необходимо свести их ко связи все-ко-всем, тем самым, инкапсулировать множество свойств и неопределённостей в одно сингулярное, подвергаемое анализу состояние.

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

1. все-ко-всем (A ↔ B, A ↔ C, B ↔ C) [распределённая],

2. все-к-одному (A ↔ D, B ↔ D, C ↔ D) [централизованная],

3. один-к-одному (A ↔ B, B ↔ C, C ↔ D) [децентрализованная].

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

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

В-третьих, централизованная связь по своей концепции распространения информации стоит ближе к связи распределённой, нежели связь децентрализованная. Сложность распространения объекта между истинными субъектами информации в распределённых и централизованных системах равна O(1), в то время как в децентрализованных сложность равна O(N).

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

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

Далее, если предположить, что существует четыре субъекта {A, B, C, D} со связью все-к-одному, где центральным узлом является точка D, то анализ безопасности седьмой стадии анонимности будет сводиться к осмотру действий от узла D ко всем остальным субъектам и от любого другого узла к субъекту D. В одном случае будет происходить прямая широковещательная связь, в другом же случае, будет происходить передача сообщения для последующей множественной репликации.

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

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

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

Далее, если предположить, что существует четыре субъекта {A, B, C, D} со связью один-к-одному, то базируясь на итеративности передачи информации в децентрализованных системах, можно декомпозировать любую модель в более замкнутую. Таким образом, сеть {A, B, C, D} фактически может расщепиться на две подсети {A, B, C} и {B, C, D}, мостом которой являются субъекты {B, C}. Каждая отдельная подсеть представляет собой ту же неопределённость, внутри которой присутствует централизованная система. В результате, безопасность связи один-к-одному сводится ко связи все-к-одному.

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

Проблематика анонимных сетей

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

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

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

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

Рис. 5. Взаимодействие скрытых сетей со внутренними сервисами
Рис. 5. Взаимодействие скрытых сетей со внутренними сервисами

Решить данный вопрос можно лишь ограничением допустимых сервисов со стороны самой скрытой сети. Таким образом, анонимная сеть в своей базе и основе должна быть имманентной и имплозивной, содержать N-ое количество приложений построенных только на пятой стадии анонимности. Доступ к любым другим сервисам, не имеющих пятую стадию анонимности, или скрытым сетям, не реализующих безопасную архитектуру, должен быть закрыт и ликвидирован. Только методом агглютинации и интерференции, будет возможна синергия свойств анонимности и безопасности. Примером таких сочетаний могут служить связи Tor+Bitcoin, I2P+Filetopia и т.п., или монолитные технологии Monero [23], Dash [24] и т.д.

Тайные каналы связи

Секретные, тайные, эзотерические каналы связи - есть соединения, располагаемые в заведомо замкнутом, незащищённом, враждебном окружении и имеющие характеристики безопасной передачи информации [25, с.147]. При этом анонимность, родственная скрытым сетям, не является базисом секретных каналов связи и, следовательно, может быть отброшена из-за ненадобности или по необходимости. Так, например:

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

2. Вторым, максимальным видом анонимности в тайных каналах связи принято считать седьмую стадию, при этом пропуская, игнорируя, импутируя шестую. Вся особенность такого подхода заключается в невозможности использовать фактическую, реальную маршрутизацию, которую предполагает шестая стадия анонимности. Тем самым реальная маршрутизация отдаётся на откуп виртуальной, существование которой возможно лишь и только на седьмой стадии анонимности. Виртуальная маршрутизация имманентна, способна сводиться к передаче объекта внутри единого, сингулярного приложения, связывающего всех субъектов изнутри. Таким приложением является сервер (или группа серверов с |A| = 1), при помощи которого клиенты передают друг другу и принимают друг от друга информацию. Так как приложение располагает полным знанием того, кто является отправителем и кто является получателем, то сам сервер становится создателем сети на основе которой располагается тайный канал связи. При всём этом, такое приложение, в задаче о тайных каналах связи, аналогично и равносильно государству, в задаче о построении анонимных сетей. Всё это ведёт лишь к единственно возможной борьбе за анонимность с приложением-создателем — методом спама (способ с федеративностью недейственный в замкнутом и враждебном окружении одной линии связи).

Тайные каналы связи, использующие стеганографию, всегда имеют некий контейнер, в который помещается истинное сообщение [26, с.8]. Под контейнером может пониматься ложное, неявное, сбивающее с пути сообщение, которое чаще всего носит нейтральный характер. Из этого также следует, что в зависимости от размера контейнера, зависит и размер самого исходного сообщения, тем самым, стеганографический подход рассчитан на сообщения малых размеров и мало пригоден для передачи целых файлов. Примером контейнера может служить изображение, аудио-запись, видео-файл, то есть всё, что может хранить дополнительную или избыточную информацию, которая останется незаметной для человеческих глаз и ушей. Одним из примеров сокрытия информации может служить замена каждого старшего бита в изображении, битами исходного сообщения. Таким образом, если размер изображения (то есть, контейнера) будет равен 2MiB (без учёта метаданных), то максимальный размер исходного сообщения не будет превышать 256KiB.

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

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

Существует ещё один, третий способ сокрытия информации, относящийся к криптографическим, но при этом обладающий некоторыми стеганографическими свойствами, качествами, особенностями [25, с.720]. Это не является последовательным объединением, использованием методов, как это было описано выше, а скорее оказывается их слиянием, синтезом и симбиозом. В таком методе истинная информация скрывается в цифровой подписи ложного сообщения на основе общего, согласованного ключа, где главной чертой и исключительностью является стойкость ко взлому, сродни сложности взлома цифровой подписи. При этом, сама подпись - есть контейнер, скрывающий существование сообщения методом аутентификации ложной информации.

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

Протокол безопасной передачи информации

Из всего вышесказанного можно создать простой, легковесный, но при этом и безопасный протокол передачи информации, являющийся самодостаточным, цельным и монолитным. Может быть применим к анонимным сетям и тайным каналам связи [8, с.58][25, с.80].

Протокол безопасной передачи информации
Протокол безопасной передачи информации

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

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

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

Пример программного кода для шифрования информации:

import (
	"bytes"
	"encoding/hex"
)

func Encrypt(sender *PrivateKey, receiver *PublicKey, data []byte) *Package {
	var (
		session = GenerateBytes(N)
		rand    = GenerateBytes(M)
		pubsend = PublicKeyToBytes(&sender.PublicKey)
		hash    = HashSum(bytes.Join(
			[][]byte{
				rand,
				data,
				pubsend,
				PublicKeyToBytes(receiver),
			},
			[]byte{},
		))
		sign = Sign(sender, hash)
	)
	return &Package{
		Head: HeadPackage{
			Rand:    hex.EncodeToString(EncryptS(session, rand)),
			Sender:  hex.EncodeToString(EncryptS(session, pubsend)),
			Session: hex.EncodeToString(EncryptA(receiver, session)),
		},
		Body: BodyPackage{
			Data: hex.EncodeToString(EncryptS(session, data)),
			Hash: hex.EncodeToString(hash),
			Sign: hex.EncodeToString(EncryptS(session, sign)),
			Npow: ProofOfWork(hash, C),
		},
	}
}

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

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

Пример программного кода для расшифрования информации:

import (
	"bytes"
	"encoding/hex"
)

func Decrypt(receiver *PrivateKey, pack *Package) (*PublicKey, []byte) {
	// Check proof.
	hash, err := hex.DecodeString(pack.Body.Hash)
	if err != nil {
		return nil, nil
	}
	if !ProofIsValid(hash, C, pack.Body.Npow) {
		return nil, nil
	}
	// Decrypt session key.
	eskey, err := hex.DecodeString(pack.Head.Session)
	if err != nil {
		return nil, nil
	}
	skey := DecryptA(receiver, eskey)
	if skey == nil {
		return nil, nil
	}
	// Decrypt public key.
	ebpubsend, err := hex.DecodeString(pack.Head.Sender)
	if err != nil {
		return nil, nil
	}
	bpubsend := DecryptS(skey, ebpubsend)
	if bpubsend == nil {
		return nil, nil
	}
	pubsend := BytesToPublicKey(bpubsend)
	if pubsend == nil {
		return nil, nil
	}
	pubsize := PublicKeySize(pubsend)
	if pubsize != KEY_SIZE {
		return nil, nil
	}
	// Decrypt and check sign.
	esign, err := hex.DecodeString(pack.Body.Sign)
	if err != nil {
		return nil, nil
	}
	sign := DecryptS(skey, esign)
	if sign == nil {
		return nil, nil
	}
	if !Verify(pubsend, hash, sign) {
		return nil, nil
	}
	// Decrypt rand.
	erand, err := hex.DecodeString(pack.Head.Rand)
	if err != nil {
		return nil, nil
	}
	rand := DecryptS(skey, erand)
	if rand == nil {
		return nil, nil
	}
	// Decrypt data.
	edata, err := hex.DecodeString(pack.Body.Data)
	if err != nil {
		return nil, nil
	}
	data := DecryptS(skey, edata)
	if data == nil {
		return nil, nil
	}
	// Check hash.
	check := HashSum(bytes.Join(
		[][]byte{
			rand,
			data,
			PublicKeyToBytes(pubsend),
			PublicKeyToBytes(&receiver.PublicKey),
		},
		[]byte{},
	))
	if !bytes.Equal(hash, check) {
		return nil, nil
	}
	return pubsend, data
}

Для улучшения эффективности, допустим при передаче файла, программный код можно изменить так, чтобы снизить количество проверок работы в процессе передачи, но с первоначальным доказательством работы на основе случайной строки (полученной от точки назначения), а потом и с накопленным хешем из n-блоков файла, для i-ой проверки. Таким образом, минимальный контроль работы будет осуществляться лишь M/nN+1 раз, где M - размер файла, N - размер одного блока. Если доказательство не поступило или оно является неверным, то нужно считать, что файл был передан с ошибкой и тем самым запросить повреждённый или непроверенный блок заново.

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

Заключение

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

Список литературы

  1. Попова, А. Интернет как сетевая или иерархическая структура: концепция сети в постмодернистской философии и социальных науках конца XX-го и начала XXI-го вв. [Электронный ресурс]. — Режим доступа: https://cyberleninka.ru/article/n/internet-kak-setevaya-ili-ierarhicheskaya-struktura-kontseptsiya-seti-v-postmodernistskoy-filosofii-i-sotsialnyh-naukah-kontsa-xx-go-i  (дата обращения: 02.01.2022).

  2. Меньшиков, Я., Беляев, Д. Утрата анонимности в век развития цифровых технологий [Электронный ресурс]. — Режим доступа: https://cyberleninka.ru/article/n/utrata-anonimnosti-v-vek-razvitiya-tsifrovyh-tehnologiy (дата обращения: 04.01.2022).

  3. Симаков, А. Анонимность в глобальных сетях [Электронный ресурс]. — Режим доступа:  https://cyberleninka.ru/article/n/anonimnost-v-globalnyh-setyah  (дата обращения: 04.01.2022).

  4. Анохин, Ю., Янгаева, М. К вопросу о MITM-атаке как способе совершения преступлений в сфере компьютерной информации [Электронный ресурс]. — Режим доступа: https://cyberleninka.ru/article/n/k-voprosu-o-mitm-atake-kak-sposobe-soversheniya-prestupleniy-v-sfere-kompyuternoy-informatsii (дата обращения: 04.01.2022).

  5. Молоков, В. К вопросу о безопасном шифровании в интернет-мессенджерах [Электронный ресурс]. — Режим доступа: https://cyberleninka.ru/article/n/k-voprosu-o-bezopasnom-shifrovanii-v-internet-messendzherah (дата обращения: 04.01.2022).

  6. Вишневская, Ю, Коваленко, М. Анализ способов и методов незаконного распространения личных данных пользователей мессенджеров, социальных сетей и поисковых систем [Электронный ресурс]. — Режим доступа: https://cyberleninka.ru/article/n/analiz-sposobov-i-metodov-nezakonnogo-rasprostraneniya-lichnyh-dannyh-polzovateley-messendzherov-sotsialnyh-setey-i-poiskovyh-sistem (дата обращения: 30.12.2021). 

  7. Diffie, W., Hellman, M. New Directions in Cryptography [Электронный ресурс]. — Режим доступа: https://ee.stanford.edu/~hellman/publications/24.pdf (дата обращения: 19.12.2020).

  8. Шнайер, Б., Фергюсон, Н. Практическая криптография / Б. Шнайер, Н. Фергюсон. - М.: Издательский дом «Вильямс, 2005. - 420 с.

  9. Ершов, Н., Рязанова, Н. Проблемы сокрытия трафика в анонимной сети и факторы, влияющие на анонимность [Электронный ресурс]. — Режим доступа: https://cyberleninka.ru/article/n/problemy-sokrytiya-trafika-v-anonimnoy-seti-i-faktory-vliyayuschie-na-anonimnost (дата обращения: 02.01.2022).

  10. Таненбаум, Э., Уэзеролл, Д. Компьютерные сети / Э. Таненбаум, Д. Уэзеролл. — СПб.: Питер, 2017. - 960 с.

  11. NETSUKUKU RFC документация http://netsukuku.freaknet.org/sourcedocs/main_doc/ntk_rfc/ (дата обращения: 31.12.2021).

  12. Рябко, Е. Калейдоскоп vpn технологий [Электронный ресурс]. — Режим доступа: https://cyberleninka.ru/article/n/kaleydoskop-vpn-tehnologiy  (дата обращения: 02.01.2022).

  13. Накамото, С. Биткойн: система цифровой пиринговой наличности [Электронный ресурс]. — Режим доступа: https://bitcoin.org/files/bitcoin-paper/bitcoin_ru.pdf (дата обращения: 19.12.2020).

  14. Warren, J. Bitmessage: A Peer-to-Peer Message Authentication and Delivery System [Электронный ресурс]. — Режим доступа: https://bitmessage.org/bitmessage.pdf (дата обращения: 31.12.2021).

  15. Perry, M. Securing the Tor Network [Электронный ресурс]. — Режим доступа: https://www.blackhat.com/presentations/bh-usa-07/Perry/Whitepaper/bh-usa-07-perry-WP.pdf (дата обращения: 03.01.2022).

  16. Astolfi, F., Kroese, J., Oorschot, J. I2P - Invisible Internet Project [Электронный ресурс]. — Режим доступа: https://staas.home.xs4all.nl/t/swtr/documents/wt2015_i2p.pdf (дата обращения: 03.01.2022).

  17. Danezis, G., Dingledine, R., Mathewson, N. Mixminion: Design of a Type III Anonymous Remailer Protocol [Электронный ресурс]. — Режим доступа: https://web.archive.org/web/20170312061708/https://gnunet.org/sites/default/files/minion-design.pdf (дата обращения: 03.01.2022).

  18. Рябко, Б., Фионов, А. Криптография в информационном мире / Б. Рябко, А. Фионов. - М.: Горячая линия - Телеком, 2019. - 300 с.

  19. Douceur, J. The Sybil Attack [Электронный ресурс]. — Режим доступа: https://www.microsoft.com/en-us/research/wp-content/uploads/2002/01/IPTPS2002.pdf (дата обращения: 29.12.2021).

  20. Popescu, B., Crispo, B., Tanenbaum, A.  Safe and Private Data Sharing with Turtle: Friends Team-Up and Beat the System [Электронный ресурс]. — Режим доступа: http://turtle-p2p.sourceforge.net/turtleinitial.pdf (дата обращения: 29.12.2021).

  21. Донован, А., Керниган, Б. Язык программирования Go / А.А. Донован, Б.У. Керниган. — М.: ООО «И.Д. Вильямс», 2018. - 432 с.

  22. Шеннон, К. Теория связи в секретных системах [Электронный ресурс]. — Режим доступа: https://web.archive.org/web/20141222030352/http://pv.bstu.ru/crypto/shannon.pdf (дата обращения: 02.01.2022).

  23. Alonso, K., KOE. Zero to Monero: First Edition A technical  guide to a private digital currency; for beginners, amateurs, and experts [Электронный ресурс]. — Режим доступа: https://www.getmonero.org/library/Zero-to-Monero-1-0-0.pdf (дата обращения: 28.12.2021).

  24. Duffield, E., Diaz, D. Dash: Privacy-Centric Crypto-Currency [Электронный ресурс]. — Режим доступа: https://web.archive.org/web/20150514080026/https://www.dashpay.io/wp-content/uploads/2015/04/Dash-WhitepaperV1.pdf (дата обращения: 28.12.2021).

  25. Шнайер, Б. Прикладная криптография. Протоколы, алгоритмы и исходные коды на языке C / Б. Шнайер. — СпБ.: ООО «Альфа-книга», 2018. - 1040 с.

  26. Шелухин, О., Канаев, С. Стеганография. Алгоритмы и программная реализация / О. Шелухин, С. Канаев. — M.: Горячая линия - Телеком, 2018. - 592 с.

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

Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+7
Комментарии3

Публикации

Истории

Работа

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань