Как нас оберегает Tor Browser и криптография?
“Вы можете спросить - как данная статья вообще
может относиться к какой либо тематике конкурса?
Криптография это довольно широкое понятие имеющее
такое же большое применение в нашей повседневной жизни.
И я уверен, что вы когда либо использовали или используете
луковичный браузер. Сегодня я предлагаю вам погрузится в чудесный
мир метод защиты нас от лишних глаз...”
Вступление.
Данная статья также подойдет для людей, которые в первый раз запустили Tor Browser и хотят ознакомиться с его функционалом и настроить его под свои нужды. Также данная статья подходит для мобильной версии Тора - Orbot.
Начинаем сначала.
При первом запуске браузер сразу же предложит настроить его по пяти пунктам:
Основные, Начало, Поиск, Приватность и Безопасность и Tor.
Мы не будем рассматривать довольно скучные первые три пункта и приступим сразу к двум последним.
Как сказано в официальной документации Tor - для анонимизации трафика пользователей используются группы серверов. Они действуют по следующему принципу. Люди соединяются с этой сетью, используя виртуальные туннели. Туннелирование - технология, при которой соединяются два конечные точки (Непосредственно ваша машина и сервер.) по средствам построения модульных сетевых протоколов. Главным плюсом такого подключения является то, что данные, которые проходят через наш туннель переходят в полной безопасности и их не получают третьи лица. Применение такой технологии совместно с шифрованием данных и называется VPN о котором вы прекрасно знаете. Мы можем применять данную технологию для просмотра информации, которая подверглась цензуре в вашей стране и соответственно анонимизации данных. Шифрование данных при помощи VPN как и простое шифрование соответственно делится на два типа, а именно на асимметричное и симметричное шифрования. О типах шифрования вы можете прочесть где угодно и это является началом и азами криптографии. Но всё же… Давайте я вам коротко расскажу о них максимально коротко.
Приступаем к самому интересному.
Симметричное шифрование максимально быстро, использует один ключ для шифровки и расшифровки и две стороны хранят этот ключ в тайне. Если злоумышленник сможет получить доступ к данному ключу, то все ваши данные естественно конфиденциальны не будут! Главным принципом данной технологии в туннелировании является то, что алгоритм шифрования (Об этом чуть позже), а также ключ заранее известен и так как пользователь не может как то повлиять (На ход и алгоритм, технологию исполнения), то всё происходит сугубо между машинами. Мы знаем, что зашифрованный текст в большинстве случаев является нечитаемым для человека. Это осуществляется за счёт шифрования текста при помощи различных алгоритмов.
Предлагаю разобрать один из таких шифров и пройти вместе с ним весь путь от вашего ПК/ноутбука/телефона ну или PDA
Самыми распространенными технологиями для шифрования, передаваемого трафика через VPN-Канал являются IPSec, PPTP и OpenVPN. Сейчас я расскажу о принципе работы данных технологии, их плюсах, минусах и применении.
IPSec (IP Security) - система протоколов, использующаяся для защиты входных данных, проверку их целостности, проводящая аутентификацию этих же данных. И самое интересное, проводящая шифрование IP-пакетов (Об этом сейчас немного и поговорим) и при помощи специального защищенного протокола передаёт те самые ключи.
IP-пакет.
IP-пакет как и всё в интернете представляет собой данные. Этот блок данных (Как ни странно) можно представить в виде обычного пакета. Он состоит из заголовка, который можно представить в виде внешнего облика пакета, который указывает на содержимое (Пример из реальной жизни. На любом пакете из магазина, нарисован бренд) и его внутренности (Всеразличные предметы).
В своей основе пакета основаны на четвёртом поколении протоколов IPv, относящийся к семейству TCP/IP протоколов.
На изображении выше, показана полная структура или даже экосистема заголовка IP-пакета.
Есть множество параметров описания пакета:
Version (Версия) - параметр, указывающий на версию протокола IPv. Ныне применяется постоянный IPv4 (Однако существуют более новые издания данного протокола).
IHL (Размер заголовка) - данный параметр нужен только для того, чтобы конечный сервер мог понимать, где начинается и соответственно заканчивается название пакета и начинаются рабочие данные.
Type Of Service (Тип сервиса) - ныне данная строка данных, используется для дифференциальных служб и указывает на способ использования датаграммы (Информация, передаваемая протоколом через сеть связи без предварительного установления соединения и создания канала между ними.).
Total Length (Общий размер) - количество октетов (Байтов), которое занимает датаграмма совместно с заголовком.
ID (Идентификация) - присуждаемый, уникальный номер, который нужен пакету для повторной сборке датаграмм, которые ранее были фрагментированы.
Flags (Обозначения) - некая единица данных, указывающая на свойства пакета:
Как мы знаем, почти (Если не во всех) во всех языках программирования 0 и 1 обозначают True и False соответственно.
Есть три пункта. Первый ни за что не отвечает и всегда зарезервирован для нуля. Второй указывает на то, можно ли фрагментировать данную датаграмму. И третий указывает на то, является ли датаграмма последней.
Frag Offset (Смещение фрагмента) - задает смещение в байтах поля данных этого фрагмента относительно начала поля данных исходного (Нефрагментированного) пакета. Смещение должно быть кратно 8 байт.
TTL (Время жизни) - количество времени во время которого дейтаграмме можно существовать в сети. Число, которое обозначено в переменной с равномерно уменьшается на единицу, а когда маршрутизатор достигнет нуля, то пакет сбрасывается и элемент перестает быть в сети.
Protocol (Протокол) - протокол (Удивительно) отправляющий дейтаграмму. Каждое из значений маршрутизатора означает использование определённого протокола: UDP - 17, TCP - 6, ICMP - 1, IGRP - 88 и OSPF - 89.
Header Checksum (Контрольная сумма заголовка) - точка привязки, используемая для обнаружения ошибок, которые могут быть обнаружены в ходе передачи и хранений IP-пакетов (Интересный факт: В IPv6 данный блок убрали)
Специфика IPSec.
IPSecurity может существовать в двух функциональных режимах. А именно в транспортном и туннельном. При помощи транспортного режима могут шифроваться только лишь IP-пакетов, а заголовки остаются исходными. Такой режим используются для установления между хостами связи или для защиты тоннелей. В тоже время туннельный режим шифрует всё вплоть до заголовка пакета. Этот режим используют для безопасного подключения к открытой сети Интернет или безопасной передачи данных через частный сети или при помощи удалённой машины.
Как же работает IPSec?
Сначала в нашем узле, поддерживающим технологию IPSec, создаётся “Политика Безопасности”, которая хранится в SPD (База данных политики безопасности).
Далее мы приступаем к IKE. IKE - это процесс при котором две машины проходят аутентификацию и передают друг другу секретные ключи о которых мы ранее говорили.Также существует более новая версия данного протокола - IKEv2, который совмещает все шаги всего в одну фазу. Ниже приведена более подробная информация о данных шагах:
Номер один. Для начала между машинами происходит обмен информации о алгоритмах и хеш-функциях, которые будут далее использоваться. Предлагаю немного пояснить, хеш-функция - алгоритм при котором входная информация произвольной длины преобразуется в хеш определённой длины при помощи определённой технологией. Данное действие называется хешированием, а входные данные называют сообщениями.
Для начала обе стороны передают друг другу секретные ключи и при этом производят идентификацию друг другу при помощи отправки и дальнейшей проверки случайных числовых значений.
При помощи зашифрованного IP-адреса производится проверка сторон и в итоге всего создаётся безопасный ISAKMP канал для обмена.
ISAKMP- протокол для установления ассоциации безопасности (SA - следует запомнить) и крипто-ключей в среде интернет.
От устройства IKE перейдём обратно к IPSec. Второй этап работы данного протокола и является ранее рассмотренным алгоритмом работы IKE. И следовательно третий этап является вторым шагом работы IKE. И наконец то, начинается процесс передачи информации между машинами, который достигается построением IPSec туннеля, используя протоколы указанные в SA.
Если время жизни IP-пакетов кончаются, то действующий IP-пакет “закрывает” туннель и ранее описанный алгоритм начинается заново с первой или второй фазы.
Вот мы рассмотрели самую важную технологию Tor. Именно для этого его чаще всего и используют.
Я вас благодарю за прочтение данной статьи. Она была написана для ознакомления вас с основными принципами работы нашего лукового браузера. Статья не рассказывает обо всех технических особенностях ранее описанных технологий, это моя третья авторская статья и мне кажется, что только читатель может оценить её по достоинству и отметить все минусы. Буду рад любой вашей критике.
Спасибо...