Немного об анонимности…

Итак, в продолжение предыдущего своего поста, я решил написать несколько идеек, посвящённых обеспечению анонимности в сети интернет. Дело в том, что тучи сгущаются, и цензура в сети интернет – не за горами. Это попирает конституционные права граждан на свободное общение и свободу слова. Впрочем, что одно, что другое – всегда было прерогативой только односторонней – тот, кто поддерживает власть в её начинаниях – могут говорить то, что захотят. С другой стороны, те, кто имеет что-то против решений власти и государства – такого права не имеют, будто и не граждане, а негры какие, плантационные или крепостные, лет так 250 назад. Ну, так вот – что же делать простым гражданам этой страны, которые хотят общаться и говорить то, что им нравится, и не бояться преследования властей (а заодно свободно обмениваться файлами, информацией, и так далее)? Вопрос не такой праздный, как может показаться на первый взгляд. Ведь основная уязвимость всех ресурсов – это их централизованность.  Т.е. поясню – вы выкладываете сайт на какой-то обычный, платный хостинг. Что имеем в результате? Вас замечают в распространении т.н. пиратского контента, либо там – каких-то антиправительственных высказываниях.

Кстати небольшое отступление – вообще, официально, у нас цензуры нет. Но – НТВ, например, закрыли, когда они решили что у нас действительно свобода слова. Я помню даже прямую трансляцию из студии, находящейся на осадном положении тогда. И дело даже не в том, поддерживаете вы власть или нет. Я вот, например, сторонник некоторых положений курса Путина и, тем не менее, я ещё и сторонник исполнения законов направленных на улучшение благосостояния граждан. Нормальное развитие государства (не всякого, а, как у нас декларируется, демократического) невозможно без существования оппозиции с предоставлением ей права слова. Неважно, какая это оппозиция – если она хочет высказаться, у неё должна быть такая возможность. А уж правду они говорят или нет – это другой вопрос, народ сам в состоянии разобраться, где говно, где леденец…

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

1. Система должна быть полностью зашифрованной. Это означает, что шифруется всё содержимое, передаваемое по сети интернет. И, возможно – заголовки, как это сделано в сети тор. Там механизм схож с луковицей, когда есть несколько виртуальных пакетов, и несколько серверов промежуточных – каждому серверу предназначается только очередной слой «луковой одёжки». Желателен сильный алгоритм (а лучше слои из  нескольких таковых) и ключи достаточной длины. При этом система должна быть асимметричной – чтобы по сети передавался только открытый сеансовый ключ, как это сделано, например, в SSL. Кстати как рабочую среду вполне можно использовать ту же тор, если она изначально будет дружественной – по типу «поставил и забыл». Т.е. в дальнейшем надо будет только запустить некую программу, и сразу станет активным тор-сервер (это изначально должно быть прописано в соглашении об использовании). Это пойдёт на пользу той же тор-сети, которая расширится за счёт добавления новых серверов. Вообще тор выполнен в роли изначального локального прокси, потому надо сделать только автонастройку при установке, ну и использование в своём софте прокси-сервера тор. (Кому интересно – о деталях можно посмотреть здесь: http://www.torproject.org )

2. Система не должна иметь каких-либо критических элементов. Т.е. единого центра. Не должно быть центральных серверов, иначе говоря. А если они и будут присутствовать, то его устранение, отключение, какая-либо иная поломка или вывод из строя – не должны оказывать влияния на работоспособность сети. Проще сказать, это некая KAD-подобная сеть. Реализовать это можно тем, что клиент одновременно будет и сервером – т.е. трафик должен распределяться, проходить через него, и искать альтернативные маршруты в случае отключения клиентов. Тут стоит проблема в том, как искать свободные «точки» маршрута при первом запуске системы… Очевидно стоит использовать опыт KAD.

3. Ну – насчёт логов и прочего это понятно… Сохранять ничего нельзя.

4. Кстати говоря – я полагаю неплохо было бы ввести механизм распределённого скрытого хостинга. Иначе говоря, опять таки к слову о «незаконных» сайтах – типа пиратского контента. Основная проблема всех сегодняшних сайтов в том, что они лежат в известном месте, а именно на жёстком диске сервера той компании, которая предоставляет услугу по размещению ресурсов. Если на сайте расположено какое-либо незаконное содержимое, то достаточно подать судебный иск на хостера, и сайт удалят. При этом неважно, использовались ли при регистрации хоста реальные данные (ФИО, паспортные данные…), или подложные – даже если автора сайта не найдут, окажется, что деньги выброшены им впустую.  А вот если сайт раскидан по большому количеству компьютеров в сети, с многократным дублированием на компьютерах пользователей, да ещё и использует анонимные механизмы доступа – то вот тут уже убить такой сайт сложнее. Намного сложнее. Хотя в той же тор и есть нечто вроде скрытых ресурсов – вида a767acc878b00.onion адрес… Но то полумера – всё равно надо иметь постоянно запущенный сервер и вас реально найти – т.е. достаточно вывести из строя этот сервер…  Проблемы при реализации в общем-то это адресация и наполнение активным содержимым – типа того же форума… Тут уже апач с ПХП нужен, как ни крути…

Пока это все мысли – если есть чем дополнить или покритикиовать – пишите в каменты

P.S.

Кстати говоря — чтобы не разрабатывать систему целую с нуля есть вариант попроще — лично я его вчера оттестировал. Есть отличная программа QIP Infium. К ней есть куча разных плагинов, и один из них — XCrypt. Исходники у него открыты, а занимается этот плагин асимметрично-симметричным шифрованием, алгоритм — RSA, ключи до 4096 бит. Управление элементарное — после копирования плагина в папку плагинов, перезапускаем QIP, заходим в настройки, там в дополнения, настраиваем плагин — генерируем ключик, лучше как раз 4096 битовый, и вперёд. Правда надо, чтобы у контакта вашего тоже инфиум стоял, и тоже с этим плагином. Вообще подробнее можно здесь почитать.

Ещё в дополнение — лучше квип настроить на использование тор-сети. Это значит, что сначала надо скачать и установить vidalia & privoxy. А именно — зайти в настройки квипа, выбрать там настройки соединения, и поставить всё следующим образом: тип прокси-сервера: socks 5, IP прокси 127.0.0.1, порт 9050. Всё. Траффик идёт по случайному маршруту в шифрованном виде через 3 случайных узла. Расшифровывается он только на последнем этапе — от крайнего сервера до сервера аськи там, или агента. Недостаток такого метода в том, что во-первых, все сообщения идут через сервер мессенджера в расшифрованном виде, и во-вторых, что если ваш собеседник не использует тор также как вы — его вполне можно найти (это у вас после такой настройки уже местоположение выяснить весьма затруднительно)… Потому юзайте либо какие-то программы для общения с поддержкой шифрования, либо не общайтесь на сомнительные темы в сети :))

Дополнение.

Есть, кстати, такая прикольная штука как I2P — весьма рекомендую. Здесь в бложике она описана, вместе с процессом причащения.

Автор

Алекс Разгибалов

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Собирать идеально - не обязательно, просто приблизительно соберите картинку (должен быть включен JavaScript).WordPress CAPTCHA