Судебные споры

Как шифровать трафик. Шифрование канала передачи данных

О конфиденциальности информации говорят все и временами даже требуют ее обеспечения. Но мало кто задумывается о том, куда такие требования нас заводят? С одной стороны - да, приватность, тайна личной жизни, тайна переписки... Все это нам даровано Конституцией и вроде как является правом неотчуждаемым. Отсюда и рост объема зашифрованного трафика в Интернете согласно последним исследованиям Cisco.

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

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


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

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

Им стали активно пользоваться и злоумышленники, скрывая свою деятельность от мониторинга или просто используя шифрование в недобрых целях (те же шифровальщики TeslaCrypt или CryptoWall). Контролировать такие потоки информации становится очень сложно, но и от шифрования отказа не произойдет ни с точки зрения ИБ, ни с точки зрения злоумышленников. Поэтому так важно использовать дополнительные механизмы анализа сетевого трафика, который позволяет мониторить сопутствующие параметры, не погружаясь в содержимое самих коммуникаций - Netflow, домены и IP-адреса и даты их появления на свет, репутацию взаимодействующих узлов и другие метаданные. Также важно не забывать про интегрированную безопасность, которая должна стоять не "в разрыв", как это часто бывает, а быть встроенной в сетевое оборудование, операционные системы, базы данных, сервера, рабочие станции и т.п. В этом случае работа с зашифрованным трафиком будет более эффективной, чем попытка перенаправить его куда-то для расшифрования.

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


С контролем данных и Интернет ситуация гораздо сложнее - там шифрование можно легко сделать сквозным и никакой СОРМ тут не сильно поможет. А тут еще и переломный момент в использовании шифрования - свыше 50% трафика в Интернет стало неприступным для анализа спецслужбами. Поэтому остается только одна - либо запрещать шифрование вообще (что маловероятно), либо заставлять всех депонировать ключи шифрования и делиться сертификатами открытых ключей для "законного" вклинивания в поток данных, как пытались сделать в середине 90-х годов в США в рамках проекта Clipper , либо развивать негласную СОРМ.

Что характерно, "разоблачения" Сноудена, как раз являются демонстрацией третьего пути борьбы с шифрованием, по которому пошли спецслужбы США. Запрещать что-то в самое демократической стране никому и в голову бы не пришло. Требовать от Facebook, Twitter, Microsoft публичного отказа от конфиденциальности депонирования ключей бессмысленно (опять же демократия мешает). Остается только одно - развивать технологии негласного съема информации, а также принуждать Интернет-компании делиться информацией по секретным решениям секретного суда.

Россия сейчас тоже вплотную подошла к этой дилемме, с которой США столкнулись 20 лет назад, начиная проект Clipper, Capstone и Skipjack. Мы пока выбрали второй путь, так как первый является ну очень уж одиозным (а главное, что террористы и экстремисты все равно плевать будут на этот запрет), а третий плохо работающим и не масштабируемым (достаточно вспомнить, как Twitter, Google и Facebook "посылали" Роскомнадзор с его запросами относительно блокировок аккаунтов, публикующих нелицеприятные для российских властей сведений).

Вот такая история у нас получается с шифрованием. И какой будет ее финал пока непонятно...

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

(При подключении через стороннее приложение, например через Tunnelblick для Mac OS X или Network Manager или Terminal на Linux , у вас также есть множество вариантов шифрования с использованием протокола OpenVPN.)

Вот некоторые из особенностей шифрования с использованием протокола OpenVPN:

Аутентификация сервера

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

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

ExpressVPN использует сертификат RSA с длиной ключа 4096 бит, идентифицированный алгоритмом хеширования SHA-512, входящим в семейство алгоритмов SHA-2.

Код HMAC

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

Шифрование канала управления

Для защиты канала управления ExpressVPN использует алгоритм AES-256-CBC. AES - это один из наиболее широко используемых стандартов шифрования , который основывается на алгоритме Rijndael, разработанном бельгийскими криптографами Йоаном Дайменом и Винсентом Райменом. Цифра 256 означает длину ключа в битах. Эта длина является самой большой из доступных. CBC (от англ. Cipher Block Chaining) означает режим сцепления блоков шифротекста, при котором каждый блок шифруемой информации зависит от предыдущего блока. Таким образом, даже короткое прерывание в канале может быть быстро обнаружено.

Шифрование канала передачи данных

Шифрование канала передачи данных защищает ваши данные от сторонних лиц, через которых они проходят. ExpressVPN использует симметричную схему шифрования , в которой ключ формируется при помощи протокола Диффи-Хеллмана на эллиптических кривых. Сервер ExpressVPN и ваше VPN-приложение используют сложные математические методы для согласования и проверки секретного ключа, который затем используется для шифрования данных всего сеанса.

Полная безопасность пересылки

Полная безопасность пересылки означает, что даже если злоумышленники каким-то образом смогли скомпрометировать ваш компьютер или VPN-сервер во время одного сеанса, они не смогут расшифровать трафик из прошлых сеансов. Поэтому каждый раз, когда вы подключаетесь к ExpressVPN, согласовывается новый секретный ключ. Даже если вы подключены к VPN в течение длительного периода времени, ExpressVPN автоматически согласовывает новый ключ каждые 60 минут .

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


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

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

Шифрование данных – отличное средство для сохранения безопасности ценной информации при передаче данных через интернет, резервном копировании на облачных серверах или при хранении информации на ноутбуке, которому предстоит проверка в аэропорту.

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

Немного о паролях

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

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

Если Вы не уверены в безопасности своего пароля, используйте для проверки онлайн-утилиту Secure Password Check от Kaspersky.

Полное шифрование логических дисков

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

Инструментарий от корпорации Microsoft под названием BitLocker позволяет очень просто производить шифрование всего жесткого диска при выполнении двух условий:

1. Вы – обладатель лицензии Ultimate или Enterprise систем Windows 7 или Vista или лицензии Pro или Enterprise в случае с Windows 8

2. Ваш компьютер оснащен чипом TRM (Trusted Platform Module) – специальным криптопроцессором, содержащим криптографические ключи для защиты

Чтобы проверить наличие TRM, запустите BitLocker. Windows автоматически проинформирует вас в случае отсутствия данного модуля при попытке включения шифрования. Чтобы активировать BitLocker проследуйте Панель управления -> Система и безопасность -> Шифрование диска BitLocker или выполните поиск с запросом «Bitlocker» на Windows 8.

В главном меню Bitlocker выберите опцию «Включить BitLocker» рядом с требуемым для шифрования диском. Если Ваш ПК не отвечает требованиям BitLocker Вы по-прежнему можете воспользоваться программами или DiskCryptor для шифрования целых разделов (подробнее о способах шифрования с помощью TrueCrypt можно ознакомиться во второй части статьи).

Шифрование внешних жестких дисков и USB-накопителей

Для полного шифрования флешек и переносных винчестеров Вы можете использовать инструмент Bitlocker To Go, который специально разработан для переносных устройств. Для работы Вам также необходимы Pro и Enterprise лицензии операционной системы, однако модуль TRM уже не требуется.

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

Шифрование интернет-трафика

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

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

Сейчас доступно большое количество сетей VPN с небольшой месячной платой за использование (например, Comodo TrustConnect или CyberGhost VPN). Вы также можете настроить свою собственную частную сеть для личных или бизнес нужд. Процесс выбора и настройки VPN довольно длительный, подробней на нем останавливаться не будем.

Шифрование данных на облачных серверах, например, Dropbox

Если Вы используете Dropbox или SugarSync, cпешим вас обрадовать – данные сервисы имеют встроенные средства для автоматического шифрования данных для защиты их во время перемещения или хранения на серверах. К сожалению, эти сервисы также содержат ключи для дешифрования данных, эта необходимость продиктована законодательно.

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

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

По материалам интернет-портала PCWorld

Как зашифровать любые данные. Часть 2...

Нашли опечатку? Нажмите Ctrl + Enter

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

Мир цензуры

Дело в том, что в последнее время началось активное распространение роскомнадзоров, СОРМов, золотых щитов, корневых сертификатов, черных фургонов ФБР и прочих методов прослушки/ограничения/подмены трафика во всеми любимой сети Интернет.

На фоне этого, у многих началась болезнь, прекрасно описываемая фразой «у стен есть уши». И было бы это без повода - но все ваши данные идут через маршруты, вам неизвестные, через черные коробки, вам не принадлежащие, сервера, вами не контролируемые, а скоро это все будет еще и сохраняться. Ну как тут не занервничать?

Говорят, шифрование всех спасет. Но так ли это? Опуская проблемы классической и современной криптографии, так или иначе, шифрованный трафик всегда можно относительно просто обнаружить и банально прикрыть канал передачи. И тут на помощь приходит стеганография.

Чтобы проникнуться и понять, зачем оно нам, посмотрим на классическую схему передачи трафика от Алисы к Бобу в интернете:

Учтем, что интернет и каналы связи в нем нам неподконтрольны и уязвимы by design. Более того, между Алисой и Бобом есть некто, контролирующие среду передачи и ( /вставьте свое слово) их обмен сообщениями.

На самом деле, передача через данных через интернет все больше напоминает проблему заключенных.

А схема выглядит так:

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

Соответственно, задача стеганографии в том, чтобы охранник просто не замечал обмена сообщениями. А кто именно является охранником - ркн или фургончик фбр - частные случаи.

А при чем здесь прокси?

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

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

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

Стегоканал создается подключением Боба к Алисе через сокет на установленном заранее порту.

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

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

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

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

А теперь о самой реализации и том, что вышло

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

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

И как оно работает?

Для тестирования, в качестве прокси-сервера я арендовал дешевый ARM-сервер во франции, развернул на нем Ubuntu 16.10 и на ней Squid вместе с ретранслятором. Все замеры проводились из дома с интернетом на 5 Мбит/с через ADSL национальнейшего русского провайдера. Если кто-то хочет проверить на нормальной скорости - в конце оставлю ссылки на GitHub.

В качестве proof of concept я реализовал стегоканал поверх сокетов. Если будет интерес - аналогичное тестирование проведу и для реализации с VK в качестве среды обмена. В качестве алгоритма - свой собственный вариант метода LSB с максимальной емкостью примерно в четверть байт от общего числа пикселей, работающий с изображениями без сжатия, о котором, возможно, напишу позже. В качестве контейнера сначала использовалось одно единственное изображение Че Гевары в png разрешением 518х587.

Результаты тестирования в качестве прокси в firefox без каких-либо плагинов и доп. настроек:

  • wikipedia.org - 1:13;
  • en.wikipedia.org - 2:01, после этого общение с сервером продолжается, но контент весь уже загружен;
  • google.com (.fr) - ~2м, подсказки не работают, поисковая выдача грузится по минуте;
  • duckduckgo.com - так и не загрузился в течение 10 минут;
  • txti.es - ~3с на страницу. И правда, fast web pages;
  • garfield.vexer.ru - 1:35. Реклама при этом не загрузилась (и адблок не нужен);
  • reddit.com - грузится очень долго (больше 10 минут), что-то загружает, но терпения у вас вряд ли хватит;
  • bing.com - 1:45 на полную загрузку. ~50 секунд на страницу поисковой выдачи;
  • jcgonzalez.com - не загрузился;
  • minergate.com - 4м;
  • vk.com - ~1м, изображения догружаются дольше, диалоги работают шустро;
  • linkedin.com - ~50c, но громадное изображение-фон будет грузиться еще долго;
  • weather.com - не загрузился;

Стоит заметить, что подобные скорости (очень скромные, особенно, если посмотреть на календарь) объясняются не только тем, что стеганография передает избыточное количество информации, но и накладными расходами на сам стеганографический алгоритм. А ожидать от ARM-сервера за 3 зеленых президента чего-то необычного в плане производительности было бы странно. Аренда болеее быстрого сервера дает сильное ускорение (раза в 2 на старом слабом х86 сервере).

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

Впечатления от такого интернета далеко не положительные. Возможно, с другими методами стеганографии, или просто оптимизируя мой, можно добиться больших результатов. Однако, пока что, получившийся Proof of Concept говорит лишь о том, что такое прокси годится только для экстренных случаев. Что, на самом деле, не особо удивительно. Или неожиданно. Большая часть проблем с задержками - тайминги при рукопожатии в ssl. Вот вам и повсеместное насаждение https.

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

Результаты при повторном тестировании:

  • wikipedia.org - 21с;
  • en.wikipedia.org - 21с;
  • google.com (.fr) - 23с до работоспособности, 45с до полной загрузки, 3с на выдачу;
  • duckduckgo.com - 45с до работоспособности, 55с до полной загрузки;
  • txti.es - мгновенно;
  • garfield.vexer.ru - 1:10 вместе с рекламой, последующие стрипы грузятся секунд по 10, так как все самое тяжелое уже в кеше;
  • reddit.com - 44с без контента, 1:20 с его превью;
  • jcgonzalez.com - упал, но 404 выдает быстро;
  • minergate.com - 1м;
  • vk.com - 23c, страницы с сообщениями по секунд 10 и больше, в зависимости от содержимого;
  • linkedin.com - 40c;
  • weather.com - не загрузился;

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

Last updated by at Январь 12, 2017 .

6 декабря 2008 в 17:43

Безопасность (шифрование) трафика

  • Информационная безопасность

Параллельно с развитием технологий защиты интернет-трафика от несанкционированного доступа развиваются и технологии перехвата защищенного трафика. Перехватить и изучить незашифрованный трафик пользователя уже давно не составляет труда даже для рядового юзера. Практически каждому известно слово «сниффер». Теоретически, защищенные SSL /TSL -соединения перехватить обычными средствами невозможно. Но так ли это?

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

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

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

Чтобы далее «читать» весь трафик пользователя, промежуточный сервер подменяет сертификат на свой. Т.е. он просто сам подключается к клиенту со своим сертификатом, и в то же время подключается к удаленному серверу. Клиенту приходит «левый» сертификат от сервера-злоумышленника, а браузер сообщает пользователю об опасности (такие сертификаты всегда не подписаны). У пользователя остается выбор: принять сертификат и работать с сайтом, либо отказаться его принимать, но и работать с сайтом тогда уже не получится. Иногда пользователи вообще игнорируют содержимое сертификатов и машинально принимают любые переданные им.

Если пользователь принимает сертификат-подделку, то трафик будет идти по следующей схеме:

клиент <= SSL-соединение => сервер-прослушка <= SSL-соединение => сервер назначения

Т.е. промежуточный сервер будет получать весь ваш «защищенный» трафик в открытом виде. Стоит также заметить, что передача сертификата происходит в начале каждой сессии HTTPS.

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

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

Но пути спасения от тотальной слежки есть. Через установленное SSH-соединение можно направлять любой нужный трафик, который с SSH-сервера будет уже в открытом виде идти на конечную точку. Этот способ называется SSH-туннелинг (tunneling). Так можно обезопасить прохождение трафика по незащищенному каналу, но имеет смысл такой подход только при наличии доверенного сервера с поднятым и настроенным на туннелинг SSH-демоном. Причем организовать это достаточно просто. SSH-клиент подключается к серверу, настраивается на прослушку любого данного порта на локальной машине. Этот клиент будет предоставлять услугу SOCKS5-прокси, т.е. его использование можно настроить в любом браузере, почтовых программах, IM-ах и т.д. Через SSH-туннель пакеты попадают на сервер, а с него уходят на целевой сервер. Схема получается следующая:

<== SSH-соединение ==> сервер <=> целевой сервер

Другой способ защиты трафика - VPN -канал. В использовании он проще и удобнее SSH-туннелинга, но в первичной установке и настройке сложнее. Основное удобство этого способа в том, что в программах не нужно прописывать прокси. А некоторый софт и вовсе прокси не поддерживает, следовательно только VPN и подойдет.

На практике есть два варианта работы. Первый - покупка VPN-акканута, который продается специально для этих целей (шифрование трафика по небезопасному каналу). В этом случае продаются обычно аккаунты, соединяться с которыми надо по протоколам PPTP (обычный VPN, который реализован, например, в Windows) или L2TP.

Второй вариант - покупка VDS-сервера (виртуальный выделенный сервер) с любым дистрибутивом линукса на борту и поднятие на нем VPN-сервера. VDS может быть российским или американским (только не забывайте про заокеанские пинги), дешевым (от $5) и слабым или дорогим и помощнее. На VDS ставят OpenVPN -сервер, а на компьютере поднимается OpenVPN-клиент. Для Windows есть даже гуишная версия клиента .

Если вы решите использовать вариант с OpenVPN, то есть например эта простая пошаговая инструкция по поднятию сервера (Debian). Установить клиента еще проще, особенно под Windows. Отметить стоит только один нюанс. Если весь трафик требуется пустить по созданному VPN-соединению, то требуется прописать default gateway на шлюз VPN (параметр redirect-gateway в конфиге клиента), а если только часть трафика (на определенные хосты), то можно прописать обычные статические маршруты на данные хосты (по IP; например, route add -p 81.25.32.25 10.7.0.1).

Для соединения OpenVPN обмен ключами происходит в ручном режиме, т.е. транспортировать их от сервера на клиент можно абсолютно безопасно.

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

Теги:

  • internet
  • security
  • ssl
Добавить метки