Предисловие
Весь нижеизложенный материал является частью более общего исследования "Теория строения скрытых систем". Данная работа находится полностью в открытом доступе и ознакомиться с таковой можно тут. На базе данной теории также разрабатываются клиент-безопасные приложения и анонимные сети. О таковых можно узнать здесь.
В данной статье я не оставлял ссылки на литературу. С таковым списком можно ознакомиться в основной работе "Теория строения скрытых систем", потому как данная статья является лишь составной частью.
Введение
Анонимность представляет собой комплексный термин, вбирающий в себя множество факторов, в конечном итоге, влияющих в той или иной мере на уровень самой анонимности. За счёт этого анонимность можно трактовать всегда по разному, в зависимости от ситуаций, и всегда оставаться верным в своих суждениях. Целью данной статьи будет являться деструктуризация таковой анонимности конкретно в сетевом пространстве, потому как вне этого пространства сам термин обретает ещё более абстрактный, общий характер.
Данная статья может быть полезна разработчикам, проектирующим анонимные сети, или криптографам, занимающихся криптографическими протоколами и непосредственно связанных с анализом анонимных коммуникаций между несколькими субъектами. Также эта работа может быть полезна просто людям, которым интересна составляющая анонимных сетей.
Сетевая анонимность выражает себя непосредственно в скрытых (анонимных) сетях. Сегодня существует достаточно большое количество таковых сетей, и благо разнородных по своему содержанию, за счёт чего становится возможным их последующие сравнения, а также и сам анализ анонимности за счёт их дифференций.
Начинать любой анализ можно либо с самого начала (с истоков и примитивов), либо с конца (с уже существующих систем). Любой из этих двух анализов приведёт в конечном счёте (при правильном подходе) к одной и той же истине. Тем не менее, анализ с истоков более проблематичен, если не имеются какие-либо исходные данные. Таковые исходные данные можно получить способом деструктуризации уже готовых систем и выразить получившиеся формы в качестве начала исследования.
Анонимные сети
Скрытые системы — множество сетевых технологий направленных на обеспечение и поддержание приемлемого уровня анонимности конечных субъектов (отправителя и получателя) в совокупности с безопасностью объектов (информацией). При этом анонимность и безопасность могут реализовываться в разной степени, что делает класс таких систем достаточно обширным. К системам подобного рода относятся анонимные сети и клиент-безопасные приложения. В контексте данной работы будут проанализированы лишь анонимные сети.
Анонимные (скрытые) сети - есть сети, соединяющие и объединяющие маршрутизацию (распространение объекта-информации по сети) вместе с шифрованием (способом сокрытия объекта-информации в сети). Маршрутизация обеспечивает критерий анонимности, направленный на субъектов, шифрование - критерии конфиденциальности (в первую очередь), целостности и аутентификации, направленные на объект. Без маршрутизации легко определяются отправитель/получатель, без шифрования легко определяется передаваемое сообщение. Таким образом, только в совокупности этих двух свойств сеть может являться скрытой.
По скорости и способу распространения информации выделяют два вида анонимных сетей – с низкими и высокими задержками. Системы с низкими задержками ставят в качестве базовой необходимости скорость, эффективность транспортирования информации между истинными её субъектами, при этом уровень анонимности таковых сетей недостаточен для противопоставления атакам со стороны внешних глобальных наблюдателей (как фактора сильной анонимности). Системы с высокими задержками ставят в качестве базовой необходимости реальный уровень анонимности, в том числе и направленный на противодействие глобальным наблюдателям, но при этом скорость передачи становится в таковых сетях самым главным недостатком. Из вышеописанного следует классическая проблема проектирования безопасных систем – выбор компромисса между производительностью и безопасностью. В качестве примеров систем с низкими задержками выделяют Tor, I2P, Tarzan и т.д., а с высокими задержками – Mixminion, Herbivore, Dissent и т.п.
Маршрутизация в анонимных сетях не является примитивной и ставит эффективность распространения объектов на второй план (в том числе и системами с низкими задержками, иначе таковые не являлись бы скрытыми сетями), потому как главной целью становится создание запутывающего алгоритма (анонимизатора), который приводил бы к трудоёмкости анализа истинного пути от точки отправления до точки назначения. Производительность, эффективность «чистой» маршрутизации теряется, заменяясь особенностью алгоритма. В таких условиях, сами скрытые сети становятся медленными и сложными в применении (в том числе и с низкими задержками), что также частично или полноценно отодвигает их прикладное и повседневное использование в настоящее время.
В задачах такого типа маршрутизации лежат модели угроз, в которых учитываются возможности атакующих. Главным антагонистом в подобных условиях становится государство, как внешний, глобальный наблюдатель, способный просматривать в широком масштабе распространение объектов по сети. В таком случае алгоритм маршрутизации должен уметь запутывать внешнего противника, не предоставлять возможности выявлять закономерности отправления, получения, запросов и ответов участниками анонимной сети. Другими, и не менее серьёзными противниками, являются внутренние атакующие, когда сами её же участники становятся отрицанием системы, её разложением. Предполагается, что внешние наблюдатели, помимо анализа трафика сети, способны также блокировать работающие узлы в системе, тем самым рассматривая их уникальные комбинации и паттерны поведения. Внутренние же наблюдатели способны наполнять сеть кооперируемыми узлами и совершать помимо маршрутизации также дополнительные действия, как отправление и получение информации. Наблюдатели без дополнительных функций называются пассивными атакующими, в противном случае – активными. В таких реалиях алгоритм маршрутизации должен отстранять буквально каждого субъекта (отправителя, получателя и промежуточного) от полноценного анализа принимаемых и отправляемых пакетов.
![Рисунок 1. Внешние и внутренние наблюдатели (атакующие) в критериях запутывающего алгоритма маршрутизации Рисунок 1. Внешние и внутренние наблюдатели (атакующие) в критериях запутывающего алгоритма маршрутизации](https://habrastorage.org/getpro/habr/upload_files/15c/d54/6c9/15cd546c98cd0773bd75bf4ac82f180d.png)
В своей совокупности, в синтезе, сговоре внешних и внутренних атакующих, способны проявляться атаки, которые ранее были бы невозможности по отдельности. Абстрагировано, основные методы нападений, как множества, можно изобразить в виде Таблицы ниже. При этом, из определения активных атак выясняется, что таковые являются надмножеством пассивных, то-есть A принадлежит C и B принадлежит D. Также внешние атаки условно можно разделить на две составляющие, подмножества: {B1, B2} и {D1, D2}, где множество {B2, D2} является представлением внешних атак с глобальным наблюдателем, а {B1, D1} следовательно без него = {B \ B2, D \ D2}.
| Внутренние атаки | Внешние атаки |
Пассивные атаки | A | B |
Активные атаки | C | D |
Анонимные сети могут обладать разными моделями угроз в зависимости от способа своего применения, а также в зависимости от своих бюджетных или технических ограничений. На основе этого формируется три вида анонимности:
Анонимность связи между отправителем и получателем. Представляет слабую модель угроз, потому как даёт возможность наблюдателям фиксировать факты отправления и получения информации истинными субъектами сети. Подобные системы несут малые накладные расходы, и, как следствие, могут применяться в довольно обширном множестве реализаций. Примером таковых сетей являются Tor, I2P, Mixminion.
Анонимность отправителя или получателя. Данная сеть имеет усреднённую модель угроз, в том плане, что таковая скрывает только факт отправления или только факт получения информации одним из субъектов (либо отправителем, либо получателем). Подобные системы могут быть хорошо применимы лишь в частных реализациях, как противопоставление анонимности по отношению ко второму субъекту, где не требуется защита отправителя (допустим при обращении к скрытому сервису через ботнет) или получателя (допустим при обращении к сервису в открытом Интернет-пространстве).
Примером таковых сетей может являться сеть, где отправитель транспортирует полностью зашифрованное сообщение всем участникам сети, расшифровать которое может только тот, у кого есть приватный ключ ориентированный на данное сообщение (если здесь конечно используется асимметричная криптография). Теоретически все могут узнать отправителя информации, но узнать получателя и есть ли он вообще крайне проблематично, потому как в теории получателем может оказаться каждый, т.к. каждый получает эти сообщения.
Другим примером может являться сеть, где по определённому периоду генерируется информация всеми участниками сети и отправляется одному серверу посредством нескольких маршрутизаторов несвязанных между собой общими целями и интересами (то есть не находятся в сговоре). Получатель-сервер расшифровывает всю информацию и (как пример) публикует её в открытом виде, в следствие чего, все участники сети получают информацию от множества анонимных отправителей.
Анонимность отправителя и получателя. Представляет выражение сильной модели угроз, потому как скрывает единовременно и факт отправления, и факт получения информации. Иными словами, предположим, что получателю всегда необходимо отвечать отправителю, иными словами создаётся модель типа "запрос-ответ". В такой системе становится невозможным применить "анонимность отправителя или получателя", т.к. отправитель рано или поздно станет получателем, а получатель - отправителем, а потому и модель угроз на базе второго типа начнёт регрессировать и станет моделью на базе первого типа - "анонимность связи между отправителем и получателем". Подобные системы из-за своих вычислительных сложностей и ограничений часто являются малоприменимыми на практике. Примером таковых сетей могут служить DC-сети.
Первый пункт относится к критерию несвязываемости, в то время как второй и третий пункты к критерию ненаблюдаемости. Критерий ненаблюдаемости уже включает в себя критерий несвязываемости. Если пойти от обратного и предположить ложность данного суждения (то-есть, отсутствие несвязываемости в ненаблюдаемости), тогда можно было бы при помощи несвязываемости определить существование субъектов информации и, тем самым, допустить нарушение ненаблюдаемости, что является противоречием для последнего.
Третий пункт является проблематичным в плане описания, потому как становится неизвестным условие – насколько отправитель и получатель анонимны друг к другу, и следует ли считать неанонимность друг к другу нарушением анонимности, тем более, если таковые связи строятся на взаимной деанонимизации друг к другу. Так или иначе данный вопрос зависит от реализации и способа применения итоговой скрытой сети.
Скрытыми сетями с теоретически доказуемой анонимностью принято считать замкнутые (полностью прослушиваемые) системы, в которых становится невозможным осуществление любых пассивных атак (в том числе и при существовании глобального наблюдателя) направленных на деанонимизацию отправителя и получателя с минимальными условностями по количеству узлов неподчинённых сговору. Говоря иначе, с точки зрения пассивного атакующего, апостериорные знания (полученные вследствие наблюдений) должны оставаться равными априорным (до наблюдений), тем самым сохраняя равновероятность деанонимизации по N-ому множеству субъектов сети.
Из специфичной формы маршрутизации выявляются критерии на основе которых можно утверждать, что сеть является анонимной. Так например, сети Tor, I2P, Mixminion, Herbivore, Crowds и т.п. являются анонимными сетями, потому как обеспечивают анонимность субъектов за счёт существования запутываемой маршрутизации, и минимальную безопасность объектов в коммуникациях между инициаторами и платформами связи. Сети RetroShare, Freenet, Turtle, Bitmessage и т.п. не являются анонимными сетями, т.к. маршрутизация представляет собой только сам факт передачи (в некой степени и специфичный из-за гибридного или однорангового характера сетевой архитектуры), транспортирования информации без непосредственного применения запутывающего алгоритма, хоть самолично системы и обеспечивают высокий уровень безопасности объектов. Не являются скрытыми сетями также и сети предоставляющие исключительно анонимность субъектов в отрыве от безопасности передаваемых объектов. Такое событие крайне специфично, но возможно на примере «чистых» DC-сетей, как неклассических форм первой стадии анонимности.
Развитие анонимности
Потому как сетевая анонимность есть объект фрагментированный со стороны определений и терминологий, то можно предположить неоднородность и факт становления, развития в определённых этапах. Вкратце, анонимность действительно становится возможным трактовать как некую градацию, поэтапность, которой присуще шесть стадий, выявляющих процесс её формирования посредством фаз отрицаний и внутренних противоречий.
Первая стадия является исходной точкой анонимности, тезисом, монадой примитивно не представляющей анонимность, пустотой инициализирующей мощность анонимности |A| = 0*. Примером является существование только прямого, прямолинейного, примитивного соединения «клиент-клиент» между двумя одноранговыми субъектами, что равносильно их стазисному состоянию. По причине отсутствия промежуточных субъектов мощность доверия* на данном этапе представляет минимально возможную величину.
Рисунок 2. Первая стадия анонимности (прямое соединение) Вторая стадия, становясь антитезисом, начинает отрицать первый этап, приводить систему к первичному метастазису, изменять собственным преобразованием способ взаимодействия между субъектами, добавлять к своей оболочке новую роль промежуточного узла, сервера, подчиняющего всех остальных субъектов к частно-личному сервису. Таким образом, архитектура становится многоранговой, клиенты начинают зависеть от платформ связи, а мощность анонимности повышаться до константного значения. Этап обеспечивает (инициализирует) только анонимность «клиент-клиент», но игнорирует при этом анонимность «клиент-сервер», что и приводит к статичной мощности анонимности |A| = 1. Иными словами, сервер начинает обладать достаточной информацией о клиентах, клиенты в свою очередь начинают коммуницировать посредством сервера, что приводит их к фактическому разграничению, к взаимной анонимности и зависимости от общей платформы. В данной ситуации стоит заметить, что анонимность и безопасность идут вразрез друг с другом, противопоставляют себя друг другу, т.к. с одной стороны безопасность связи «клиент-клиент» становится скомпрометированной и дискредитированной, и в то же время, с другой стороны её же анонимность становится инициализирующей и первой простейшей формой анонимата. Такое противоречие (ухудшения безопасности и улучшения анонимности) не является случайным, а представляет собой правило и закономерность, в чём можно будет убедиться далее. Описанную стадию вкратце именуют псевдо-анонимностью, а клиентов — анонимами.
Рисунок 3. Вторая стадия анонимности (соединение посредством сервиса) Третья стадия, являясь синтезом предыдущих стадий, представляет примитивную маршрутизацию, а следовательно и примитивную анонимность, нескольких прокси-серверов несвязанных между собой. Именно на данном этапе сеть становится раздробленной, неопределённой, гибридной за счёт чего и повышается мощность анонимности методом стремления к статичному значению lim|A|→C, где C — количество прокси-серверов. Данный метод предполагает выстраивание цепочки узлов, через которые будет проходить пакет. Мощность анонимности на данном этапе действительно повышается, но и безопасность самих субъектов ещё никак не обеспечивается. Связано это всё потому, что шифрование на данном этапе есть свойство добавочное (сродни второй стадии), не обеспечивающее защиту связи «клиент-клиент», а следовательно, и не приводящее к уменьшению мощности доверия. На Рисунках ниже изображается абстрактный субъект @, способный быть как настоящим получателем, так и промежуточным субъектом — сервисом.
Рисунок 4. Третья стадия анонимности (Proxy транслирование) Четвёртая стадия, как развитие третьего этапа, инициализирует способ изменчивости, множественного шифрования, полиморфизма информации* посредством её туннелирования. К такому этапу относятся VPN сервисы (виртуальные частные сети) как N-ое сочетание прокси-серверов со внутренними слоями шифрования, где мощность доверия и мощность анонимности эквивалентно третьей стадии. Отличительной особенностью четвёртого этапа является существование выходных узлов, постепенно «раскрывающих» истинный пакет, созданный до первичного туннелирования на отправляющей стороне, из-за чего и появляется возможность к сокрытию метаданных, связующих инициатора сообщения и сервер назначения. В связи с этим, данный этап изменяет способ маршрутизации, придаёт ему свойство полиморфизма как изменчивости закрытой информации по мере перехода от одного узла к другому, и отстраняет промежуточные узлы к анализу и сравниванию шифрованной информации. Таким методом скрывается настоящая связь между субъектами посредством их объекта, а следовательно и анонимат начинает обретать более истинный характер, при котором стремление системы к увеличению и сдерживанию мощности анонимности становится более качественным, в сравнении с третьей стадией.
Рисунок 5. Четвёртая стадия анонимности (VPN туннелирование) Пятая стадия, являясь синтезом первого этапа и отрицанием третьего, становится точкой окончательной замены сетевого адреса криптографическим, при которой идентификация субъектов отделяется от концепции сетевых протоколов, подчиняя узлы абстрактно-криптографической модели. Строятся платформы сетевой связи как базисы, поверх которых разрастаются криптографические соединения, инкапсулируя взаимодействия субъектов со своим основанием. Именно на данном этапе мощность доверия вновь становится минимально возможной величиной, а потому и все приложения построенные на пятой стадии анонимности, имеют уровень безопасности зависимый только (или в большей мере) от качества самой клиентской части. Примером такой стадии могут являться чаты, мессенджеры (Bitmessage), электронная почта, форумы (RetroShare), файловые сервисы (Freenet, Filetopia), блокчейн платформы (Bitcoin, Ethereum) и т.д., где главным фактором идентификации клиентов становятся криптографические адреса (публичные ключи, хеши публичных ключей). Сеть начинает представлять собой не только гибридный, но и одноранговый характер поведения узлов с возможным и дополнительным динамическим способом определения мощности анонимности, как 0 < |A| <= N, где N — количество узлов в сети, обуславливаемым слепой, заливочной маршрутизацией и криптографической идентификацией. При этом, стоит заметить, что на данном этапе не существует какого бы то ни было полиморфизма информации (как это было в четвёртой стадии), что приводит к внутренним противоречиям одновременного прогресса и регресса анонимности. Поэтому пятую стадию можно вкратце охарактеризовать игнорированием анонимности (экзотеричностью) со стороны субъекта и её сохранением (эзотеричностью) в передаваемом объекте. На Рисунок ниже под сетью понимается переключение системы из состояния сетевой идентификации к идентификации криптографической, вследствие чего происходит абстрагирование информации об отправителе для получателя и о получателе для отправителя непосредственно.
Рисунок 6. Пятая стадия анонимности (соединение посредством абстрактной сети) Шестая стадия приводит к единовременному отрицанию и синтезу четвёртой стадии, как системы неориентированной на анонимную идентификацию субъектов, и пятой стадии, как системы ненаправленной на анонимную связь между субъектами. В такой синергии объединяются свойства полиморфизма (анонимное связывание) и криптографической идентификации (анонимное определение), что приводит не только к анонимату отправителя информации, но и к обезличиванию получателя, вследствие чего определение анонимности становится более качественным и цельным. Мощность анонимности на данном этапе становится эквивалентно четвёртому этапу, равно как и мощность доверия (причина ухудшения мощности доверия относительно пятой стадии приведена в подразделе «Проблематика безопасности анонимных сетей»). Примером шестой стадии является большинство скрытых сетей, наподобие Tor (onion routing), I2P (garlic routing), Mixminion (mix network) и т.д. На Рисунке ниже. изображён прототип функционирования системы Tor с запросом ориентированным на внутренний ресурс (в качестве упрощения показана схема с двумя промежуточными узлами).
![Рисунок 7. Шестая стадия анонимности (абстрактная сеть + туннелирование) Рисунок 7. Шестая стадия анонимности (абстрактная сеть + туннелирование)](https://habrastorage.org/getpro/habr/upload_files/5b2/057/b13/5b2057b13afb5fb7301b88fd56ca46ef.png)
Стоит заметить, что четвёртая и пятая стадии появляются параллельно друг другу, что приводит к сложности (а скорее даже к невозможности) точного опознавания и определения последовательности развития анонимности в целом. Такой порядок стадий был взят по количеству качественных изменений. Так например, в четвёртой стадии (относительно третьей) был добавлен только полиморфизм информации, в то время как в пятой стадии была уменьшена мощность доверия, появилась криптографическая идентификация, возник новый способ маршрутизации и вернулась поддержка одноранговых соединений. С другой стороны, пятая стадия также справедливо могла стать четвёртой, базируясь не на развитии анонимности субъектов, а на развитии безопасности объектов. В таком случае, пятый этап являлся бы финальной формой, в то время как текущая четвёртая стадия не проектировалась бы вовсе.
Также стоит отметить, что вторая и пятая стадии анонимности характеризуются имплозивным характером поведения информации в степени большей, чем все остальные стадии, потому как первые предполагают не только метод распространения объектов, но также и способность их сдерживания для последующего извлечения и потребления. Такие стадии именуются платформами связи, т.к. сама коммуникация между субъектами начинает обеспечиваться не только поточным транспортированием объектов (как самого факта передачи), но и «подгрузкой», посредством промежуточных субъектов, ранее сохранённых объектов, в основании которых уже содержится информация об отправителе и/или получателе. Другие же стадии абстрагируются от конечного потребителя информации и акцентируют внимание только на сам способ передачи. Исключением всего вышесказанного является лишь первая стадия анонимности, где сам факт передачи является одновременно и способом финального получения информации.
![Рисунок 8. Развитие анонимности как процесс формирования стадий Рисунок 8. Развитие анонимности как процесс формирования стадий](https://habrastorage.org/getpro/habr/upload_files/dbf/843/b52/dbf843b523f9e4b09d9e6622d809a7c5.png)
Защита, определяемая связью «клиент-клиент», зарождается на моменте первой стадии анонимности и в последствии сразу же заменяется клиент-серверным шифрованием второго этапа. Такая быстрая подмена и разложение прямой коммуникации на платформу связи обусловлена неспособностью и ограниченностью первой стадии к эксплозии, расширению сетевых «границ», при которой субъекты не способны массово связываться без создания промежуточных узлов. Последующее и более качественное возрождение безопасной «клиент-клиент» коммуникации, убирающее ограничение в расширении, появляется на пятом этапе и ровно там же заканчивается, потому как целью всех последующих стадий уже является сокрытие субъектов информации посредством методов транспортирования объекта на базе криптографических адресов, где более не ставится вопрос истинности принимающей стороны.
Главным достоинством пятой стадии анонимности является возможность к идентификации субъектов в одноранговых и гибридных системах на основании криптографических методов, что ведёт к целостности, а также к аутентификации передаваемой информации, не зависимой от сторонних узлов и серверов. Дополнительно может появляться свойство конфиденциальности, где информация начинает представлять собой суть секретного, тайного, шифрованного, а не открытого и общего объекта. Но и само свойство конфиденциальности на данном этапе — есть дополнительный критерий, а следовательно, может быть удалён, если таковой является избыточным для самой системы. Как пример, в криптовалютах имеются свойства целостности и аутентификации, но не всегда конфиденциальности.
На основе пятой стадии анонимности становится возможным формирование тайных каналов связи первой формы как это представлено на Рисунке ниже. Такое свойство достигается появлением криптографической идентификации субъектов, благодаря которому становится возможным абстрагироваться от сетевой идентификации.
![Рисунок 9. Тайный канал связи на базе пятой стадии анонимности, где A, B – отправитель / получатель, C – сервис связи Рисунок 9. Тайный канал связи на базе пятой стадии анонимности, где A, B – отправитель / получатель, C – сервис связи](https://habrastorage.org/getpro/habr/upload_files/0ec/e77/d4b/0ece77d4b4c403283e60cb056af2dbc3.png)
На основе определённых подмножеств пятой и шестой стадий анонимности становится возможным формирование тайных каналов связи второй формы.
Таким образом, тайные каналы связи в общих своих свойствах абстрагируются от первичной сети, но не посредством её отрицания, а посредством слияния с ней, благодаря чему выстраивают собственные способы коммуникаций и начинают базироваться на пятой или шестой стадии анонимности.
Из всего вышесказанного можно вывести основные критерии (пункты) анонимности на базе которых будет доступно формирование анонимных сетей с повышенным уровнем безопасности (полные скрытые системы).
Анонимность обязана быть внутренней, относительно анализа со стороны узлов, и внешней, относительно анализа трафика сети. Данный критерий должен обуславливаться разрывом связи между субъектами посредством их объекта на основании запутывающего алгоритма маршрутизации.
Анонимность обязана иметь инкапсулированные и абстрагированные псевдонимы между отправителем и получателем к первичной идентификации на базе сетевых коммуникаций. Данный критерий должен обуславливаться разрывом связи между идентификацией сетевой и криптографической.
Анонимность обязана предотвращать сохранение данных и метаданных в транспарентном состоянии для промежуточных узлов. Данный критерий должен обуславливаться заменой всех платформ связи пятой стадией анонимности, тем самым уменьшая мощность доверия до теоретически возможного минимума.
Второй пункт является в определённой степени упрощением, потому как разрыв связи должен происходить также и между двумя криптографическими идентификациями разнородных систем сливаемых между собой в одну цельную, а не только между сетевой и криптографической идентификациями. Так например, если объединяется пятая и шестая стадии между собой, то криптографическая идентификация одного и того же субъекта должна «раздваиваться» под пятую и шестую стадии соответственно. Таким образом, в подобном синтезе идентификация субъекта должна быть выражена как последовательность идентицикаций вида «сетевая → криптографическая (шестая стадия) → криптографическая (пятая стадия)».
Скрытая система наделённая только первыми двумя пунктами является анонимной сетью и принадлежит либо первой^, либо пятой^, либо шестой стадии анонимности (первая^, втора^ стадии будут рассмотрены далее). Скрытая система наделённая только последними двумя пунктами является клиент-безопасным приложением и принадлежит исключительно пятой стадии анонимности. Скрытая система надёланная сразу тремя критериями анонимности является полной и принадлежит не отдельной стадии анонимности, а их комбинациям. Система наделённая только одним пунктом из трёх не является скрытой. Под системой с первым пунктом может пониматься VPN туннелирование (четвёртая стадия анонимности), а под вторым – сервисы связи (вторая стадия анонимности). Не существует систем исключительно с третьим пунктом, ровно как и комбинации третьего пункта с первым (исключая второй). Связано это с тем, что третий критерий является следствием второго (обратное суждение неверно). Все вышеприведённые дескрипции можно представить в более кратком описании примеров:
1. Выстроенная «цепочка» VPN сервисов ∈ первый пункт;
2. Централизованные сервисы связи ∈ второй пункт;
3. Анонимные сети = первый пункт ⋂ второй пункт;
4. Клиент-безопасные приложения = второй пункт ⋂ третий пункт;
5. Полные скрытые системы = первый пункт ⋂ второй пункт ⋂ третий пункт;
Таким образом, на основании вышеприведённых критериев обязанностей типа «быть, иметь, предотвращать» можно выявить базовое определение анонимности относительно общего вида скрытых систем, где под сетевой анонимностью будет пониматься разрыв большинства логических связей между транспортируемым / хранимым объектом и его субъектами, а также между сетевой и криптографической идентификациями.
При этом стоит заметить, что данное определение является всё же абстрактным, т.к. не указывает конкретный и поддерживаемый критерий анонимности той или иной скрытой системой. Так например, по данному определению неизвестной переменной является уровень анонимата отправителя и/или получателя в скрытой сети, потому как неизвестны сами механизмы и векторы анонимизации. Иными словами приведённое обозначение не определяет кого или что именно защищает данная система – отправителя, получателя, их обоих или только их связь. Тем не менее, эта же абстрактность приносит одновременно и ясные границы в определении анонимата между разнородными системами.
Мощность анонимности
Мощность анонимности — количество узлов, выстроенных в цепочку и участвующих в маршрутизации информации от отправителя до получателя, при этом, не будучи никак связанными между собой общими целями и интересами. Из этого следует, что многоранговая архитектура по умолчанию имеет мощность анонимности |A| = 1 (вне зависимости от количества серверов). Нулевая мощность анонимности |A| = 0 возникает при существовании прямых соединений между субъектами (иными словами при отсутствии какой бы то ни было маршрутизации).
![](https://habrastorage.org/getpro/habr/upload_files/de0/7f3/8a4/de07f38a4096cf0bed7925a18f04ad68.png)
Так например, если R = {A, B, C} — это множество узлов участвующих в маршрутизации, а подмножество{A, B} принадлежит R — кооперирующие узлы, то Q(R) = [{A, B}, {C}] и, как следствие, |A| = |Q(R)| = 2.
Термин мощность анонимности |A| взят как следствие термина множества анонимности A, подразумевающее R-ое количество субъектов способных совершать действия в системе по отдельно взятой транзакции. В отличие от множества анонимности, мощность анонимности ставит дополнительное ограничение, при котором узлы находящиеся в сговоре считаются за одного узла
Мощность доверия
Мощность доверия — количество узлов, участвующих в хранении или передаче информации, представленной дли них в открытом описании. Иными словами, такие узлы способны читать, подменять и видоизменять информацию, т.к. для них она находится в предельно чистом, прозрачном, транспарентном состоянии. Чем больше мощность доверия, тем выше предполагаемый шанс компрометации отдельных узлов, а следовательно, и хранимой на них информации. Принято считать одним из узлов получателя. Таким образом, нулевая мощность доверия |T| = 0 будет возникать лишь в моменты отсутствия каких-либо связей и соединений. Если |T| = 1, это говорит о том, что связь защищена, иными словами, никто кроме отправителя и получателя информацией не владеют. Во всех других случаях |T| > 1, что говорит о групповой связи (то-есть, о существовании нескольких получателей), либо о промежуточных узлах, способных читать информацию в открытом виде.
Полиморфизм информации
Полиморфизм информации — свойство изменчивости передаваемого объекта при множественной маршрутизации несколькими субъектами сети, разграничивающее связь субъектов посредством анализа объекта. Так например, если существует три субъекта сети {A, B, C} и объект P, который передаётся от A к B и от B к C соответственно, то внешний вид информации P1 и P2 должен определяться как [P1 = (A → B)] ≠ [P2 = (B → C)], где P ∉ {P1, P2}, B не связывает {P1, P2} с P и (A не связывает {P1, P} с P2 и/или C не связывает {P2, P} с P1). В большинстве случаев полиморфизм информации достигается множественным шифрованием объекта: [E2(E1(P)) = (A → B)] ≠ [E1(P) = (B → C)], при котором интерстициальный субъект B становится неспосбным связать {E2(E1(P)), E1(P)} с P, а субъект C неспособен связать {E1(P), P} с E2(E1(P)).
Первая^ стадия анонимности
При начальном рассмотрении первой стадии анонимности выражается простейшая форма, инициализирующая развитие анонимата, при которой прямолинейность соединений создаёт примитивность её организации. Но при дальнейшем и более детальном анализе анонимных сетей можно заметить исключительно противоречивое свойство первой стадии анонимности, сперва исключающее, а при пересмотре образующее теоретически абсолютную анонимность в свойственной прямолинейности субъектов. Данное качество возникает при генерации объекта способного скрывать всю информацию о субъекте, включая и сам факт своей передачи и своего хранения. В подобной системе не существует никакой фактической маршрутизации (что исключает все стадии выше первой). На основе такого качества выявляется два парадокса.
Первая стадия анонимности исключает из своего рассмотрения промежуточные субъекты. Если данная стадия переходит в состояние анонимной сети, то внутри неё способны зарождаться сервисы связи, основанные либо на второй, либо на пятой стадиях анонимности. Таким образом, получатель в анонимной сети становится не равен конечному получателю, что противоречит определению первой стадии анонимности.
Мощность доверия в первой стадии анонимности имеет минимально возможную величину. Если данная стадия переходит в состояние анонимной сети, то внутри неё способны зарождаться сервисы связи, основанные на второй стадии анонимности. Таким образом, появляются промежуточные узлы исполняющие роль конечных получателей, что приводит к повышению мощности доверия и как следствие противоречит определению первой стадии анонимности.
Все парадоксы базируются на самой двойственной форме первой стадии, когда таковая одновременно вбирает в себя и выраженное транспортирование объекта, и конечное его хранение. Парадоксы своим существованием фактически расщепляют двойственность и образуют новое подмножество, как неявную градацию первой стадии анонимности. Во всех последующих упоминаниях вышеописанный этап с присущими парадоксами будет отображаться как «первая^ стадия анонимности», со знаком циркумфлекса. В качестве примера существования первой^ стадии анонимности выделяют скрытые сети базируемые на проблеме обедающих криптографов (DC-сети), такие, как Dissent и Herbivore. Чистая форма первой^ стадии анонимности приводит к следующим недостаткам.
Масштабируемость. Первая^ стадия анонимности приводит к необходимости выстраивания большого количества прямых соединений, что приводит к проблеме масштабируемости, где каждый новый пользователь обязан подключаться ко всем существующим участникам сети. Проблема решается переводом первой^ стадии анонимности на градации высшего порядка, образуя промежуточные узлы полностью не влияющие на уровень анониности в сети. Dissent переводит систему на третью стадию анонимности, Herbivore на третью при локальной топологии и на пятую при глобальной.
Коллизии. В один период времени может существовать только один отправитель сообщения. При параллельной генерации сообщений двумя и более участниками сети происходит коллизия, приводящая к наложению информации. В большей части исследований проблема решается выставлением расписания генерации сообщений, что приводит к обязательной последовательности. Для схем подобного рода в Dissent используются перемешивания, а в Herbivore малые группы.
Чистая анонимность. В исходном виде анонимность первой^ стадии идёт в полном отрыве от безопасности передаваемого объекта, где распространение информации происходит только на основе широковещательного соединения, при котором получателем сообщения является вся система. Для обеспечивания безопасной линии связи от отправителя до единственного получателя (истинного или промежуточного) должен происходить переход первой^ стадии анонимности на пятую градацию в концепции тайного канала связи.
Тем не менее, чистая анонимность лишь ограничивает применение первой^ стадии анонимности, посредством анонимизации единственной стороны - отправителя, но никак не противоречит определению анонимности скрытых сетей.
Таким образом, первая^ стадия анонимности, как чистая форма выражения анонимата, является сложно применимой в современных реалиях из-за критичных недостатков, что приводит к необходимости комбинировать данную стадию с градациями высшего порядка. Также можно выявить интересную закономерность, которая разделяет первую стадию анонимности на два вектора развития — на доказуемую безопасность объектов без анонимности субъектов (классическая первая стадия) и доказуемую анонимность субъектов без безопасности объектов (первая стадия с парадоксами или неклассическая форма) при нешироковещательных соединениях.
Первый вектор базируется на безопасности объектов, вследствие чего, становится возможным последующий полиморфизм информации, как метод построения запутывающей маршрутизации. Второй вектор базируется на анонимности субъектов, вследствие чего, становится необходимым совмещение с тайным каналом связи, как методом нацеленным на обеспечение безопасности объектов. Оба вектора в конечном счёте сводятся в точке анонимности субъектов с приемлемым уровнем безопасности объектов на основе криптографической идентификации, как это изображено на Рисунке ниже.
![Рисунок 10. Двойственный вектор развития скрытых сетей относительно первой стадии анонимности для нешироковещательных коммуникаций Рисунок 10. Двойственный вектор развития скрытых сетей относительно первой стадии анонимности для нешироковещательных коммуникаций](https://habrastorage.org/getpro/habr/upload_files/987/69e/92b/98769e92ba30379e6610919c589c51bc.png)
В завершение данного раздела стоит заметить одну важную составляющую. Первая^ стадия анонимности, поначалу, словно не имеющая никакой маршрутизации, явным образом начинает противоречить термину «анонимная сеть». Тем не менее маршрутизация, хоть и специфичная, но существует в первой^ стадии. Это можно доказать тем фактом, что участники такой сети кооперируют и объединяют информацию в одну выходную последовательность бит, где даже при связи «все-ко-всем» передаётся уже «скрещиваемая» информация. Такой способ маршрутизации нельзя явным образом назвать полиморфизмом, хоть и имеются определённые сходства, потому как сама информация не распространяется системой, а генерируется ею изнутри.
Пятая^ стадия анонимности
По определению первой^ стадии анонимности можно предположить, что если пятая стадия анонимности будет иметь запутывающую маршрутизацию отличную от полиморфизма информации, тогда таковая станет уже не пятой стадией по причине своей противоречивости.
И действительно, если будет происходить образование анонимной сети на базе пятой стадии анонимности, где перестаёт существовать полиморфизм информации, то подобная система должна будет вбирать основной критерий скрытых сетей, а именно – возможность создавать сервисы связи.
Сервисы связи выстроенные в анонимной сети могут быть основаны на второй стадии, что приводит к увеличению |T| мощности доверия. Это в свою очередь противоречит пятой стадии анонимности по причине принадлежности к сервисам с теоретически минимальной мощностью доверия. Данный парадокс базируется на специфике запутывающего алгоритма не принадлежащего классу полиморфной маршрутизации. Таким образом, данную стадию нельзя полноценно считать пятой стадией анонимности (по природе своего транслирования информации, а не хранения в роли сервиса связи) и шестой градацией (по причине отсутствия полиморфизма информации). По этой причине и вполне корректно можно считать данный этап пятой^ стадией анонимности, как это было выявлено и сделано ранее с первой^ стадией анонимности.
Конструкты анонимности
Анонимные сети базируются на определённых шаблонах, конструктах или примитивах проектирования, в которых учитываются роли субъектов и конструируемые модели угроз. В наиболее простых случаях используется только один шаблон проектирования, в других используются уже комбинации подобных паттернов, что может приводить к некоторым улучшениям, новым возможностям и параллельно к усложнению итоговой логики приложения.
Один и тот же шаблон проектирования может обладать разными, вариативными механизмами своего исполнения – свойствами. Отличительным признаком множества свойств друг от друга становится механизм выдачи итоговой информации на базе входной, принимаемой последовательности. Данные свойства обладают качествами, позволяющими им, в зависимости от задачи, предоставлять определённый уровень анонимности, производительности и применимости. Можно выделить три основных свойства.
«Поточность». Если на вход алгоритму поступает правильная (валидная) информация, тогда необходимое действие, как ответ, должно выполняться сразу после обработки входной последовательности. Представляет наилучшее качество производительности вычислений (в сравнении с другими свойствами) за счёт уменьшения качества анонимности. По способам применения является лидирующим свойством. В качестве примера сеть Tor и луковая маршрутизация.
«Периодичность». Если на вход алгоритму поступает правильная (валидная) информация, тогда необходимое действие, как ответ, должно выполняться только после совершения периода равного T зависимого или независимого от времени поступаемой информации. Может представлять наилучшее качество анонимности (в сравнении с другими свойствами) за счёт уменьшения качества производительности вычислений. Имеет самое малое количество способов применения из-за своих накладных расходов. В качестве примера сеть Herbivore и устанавливаемое расписание генерации.
«Аккумулятивность». Если на вход алгоритму поступает правильная (валидная) информация, тогда необходимое действие, как ответ, должно выполняться только после принятия N-ого количества другой информации. Представляет хорошее качества анонимности за счёт уменьшения качества производительности вычислений. Имеет ограниченное количество способов применения. В качестве примера сеть Mixminion и архитектура «перемешанные сети» (Mix networks).
Шаблоны проектирования анонимных сетей (далее конструкты) представляют собой специфичную коммуникацию между несколькими субъектами, изображаемую в виде графов. За счёт способа коммуникации между узлами и вбираемых свойств, таковым конструктом, определяются дальнейшие и возможные способы использования выстроенной схемы. Можно выделить три основных конструкта.
«Следование». Базовый конструкт, представляющий полиморфизм информации в своей простейшей форме. Часто применяется в чистом виде анонимными сетями по причине простоты образования свойств несвязываемости между субъектами информации.
Рисунок 11. Базовый конструкт «следование» «Распространение». Базовый конструкт, представляющий собой в чистой форме возможность сильного абстрагирования сетевой и криптографической идентификаций друг от друга. Использование свойства «периодичности» может приводить к сокрытию факта отправления и/или получения информации.
Рисунок 12. Базовый конструкт «распространение» «Запутывание». Базовый конструкт, представляющий собой в чистой форме ложность факта отправления информации. Невозможно применять в чистой форме из-за отстутствия самого факта передачи информации. Служит исключительно композитной частью для составных конструктов.
Рисунок 13. Базовый конструкт «запутывание»
На базе основных конструктов возможно формирование составных конструктов, приводящих к определённым улучшениям. Составной конструкт может быть представлен комбинацией одного и того же базового конструкта лишь при условии непоследовательного применения. Несколько составных конструктов могут иметь следующие представления.
«Перемешивание». Составной конструкт, представляющий собой суммирование конструктов «следование». Позволяет улучшать критерий несвязываемости субъектов посредством неопределённости состояния объекта. Часто применяется в неявном виде при использовании свойства «поточности».
Рисунок 14. Составной конструкт «перемешивание» «Расщепление». Составной конструкт, представляющий собой сочетание базовых конструктов «распространение» и «запутывание». Позволяет улучшать критерий несвязываемости субъектов посредством формирования ложных сообщений.
Рисунок 15. Составной конструкт «расщепление» «Сведение». Составной конструкт, представляющий собой сочетание базовых конструктов «запутывание» и «следование». По своей сути является противоположным действием к «расщеплению».
Рисунок 16. Составной конструкт «сведение»
В следствие всего вышеописанного, в качестве примера, становится возможным построение сетевых коммуникаций с анонимностью связи между отправителем и получателем, анонимностью отправителя или получателя, анонимностью отправителя и получателя. Каждый представленный пример также становится теоретически ещё одной вариацией составного конструкта.
Пример сетевой коммуникации с анонимностью связи между отправителем и получателем на базе конструктов «следование» и «перемешивание». Представителями такого вида коммуникаций можно считать сети Tor, I2P, Mixminion (отличие последней сети от аналогичных ей заключается лишь в преимущественном использовании свойства «аккумулитативность» над свойством «поточность»).
Рисунок 17. Применение конструктов «следование» и «перемешивание», где {A, B} – отправители запакованной информации {X, Y}, {I, J} – получатели информации {X’’’, Y’’’} Пример сетевой коммуникации с анонимностью отправителя на базе конструктов «запутывание», «перемешивание» и «распространение». Безопасность приведённой концепции держится на узле «перемешивания» C, который должен обладать свойством «аккумулятивности» и на узлах {A, B, C}, которые должны обладать свойством «периодичности».
Рисунок 18. Применение конструктов «перемешивание», «запутывание» и «распространение», где A – отправитель запакованной информации X, C – узел «перемешивания», {E, G, H, I, J} – получатели распакованной информации W Пример сетевой коммуникации с анонимностью получателя на базе конструктов «следование», «расщепление», «сведение» и «распространение». Безопасность приведённой концепции держится на узле «сведения» H, который должен обладать свойством «аккумулятивности».
Рисунок 19. Применение конструктов «следование», «расщепление», «сведение» и «распространение», где A – отправитель запакованной информации X, E – получатель информации X’, C – узел «расщепления», H – узел «сведения», Y – сгенерированный ответ Пример сетевой коммуникации с анонимностью отправителя и получателя на базе конструкта «распространение». Безопасность приведённой концепции держится на всех узлах сети, которые должны обладать свойством «периодичности».
Рисунок 20. Применение конструкта «распространение», где происходит одновременное образование информации X субъектом E в определённо заданный период.
Таким образом, любой механизм анонимной сети строится во-первых, на примитивах проектирования (конструктах), во-вторых, на определяемых свойствах. За счёт приведённых композиций приобретаются соответствующие уровни анонимности, производительности и применимости.
Заключение
В данной работе была исследована сетевая анонимность со стороны её первичного определения (на базе анонимных сетей), развития (на базе стадий анонимности) и конструктов (на базе примитивах проектирования). Относительно каждого вида анализа становится возможна последующая структуризация определения анонимности.
Так например становится возможным более детальное описание тех или иных сетей, представляющих в той или иной мере анонимность.
Сеть Tor - это анонимная сеть на базе шестой стадии анонимности, построенная на конструктах "следование" и "перемешивание" со свойством "поточности".
Сеть Mixminion - это анонимная сеть на базе шестой стадии анонимности, построенная на конструкте "перемешивание" со свойством "аккумулятивности".
Сеть Herbivore - это анонимная сеть на базе первой^ стадии анонимности, построенная на конструкте "распространение" со свойством "периодичности".
Сеть Hidden Lake Service - это анонимная сеть на базе пятой^ стадии анонимности, построенная на конструкте "распространение" со свойством "периодичности".
И т.д.
Помимо этого, определение анонимности (со стороны стадий) может давать понимание того на сколько сеть является действительно анонимной. Допустим, такие сети как Freenet, Retroshare, Bitmessage, Bitcoin не являются анонимными, потому как у таковых отсутствует какая бы то ни была запутывающая маршрутизация, но при этом они являются клиент-безопасными приложениями.