Протокол VPN — это набор инструкций, которые ваше приложение VPN использует для настройки, защиты и управления вашим подключением к серверу VPN. OpenVPN — это протокол VPN, не имеющий известных уязвимостей и эффективно обходящий некоторые методы онлайн-цензуры. Преимуществом OpenVPN также является его поддержка на огромном количестве платформ и устройств.
Существуют реализации OpenVPN с закрытым исходным кодом, но также доступна бесплатная версия Community Edition с открытым исходным кодом.
В этой статье мы подробно рассмотрим, как работает OpenVPN, как он обеспечивает безопасность сообщества Proton VPN и как он сопоставим с другими протоколами VPN. Эта статья будет наиболее полезна, если вы уже понимаете, как работает VPN.
- Как OpenVPN обеспечивает мою безопасность?
- Каналы OpenVPN
- Может ли OpenVPN обходить цензуру VPN?
- Проходил ли OpenVPN аудит?
- OpenVPN против WireGuard®
Узнайте подробнее о том, как работает VPN
Разработанный еще в 2001 году, OpenVPN начинает устаревать с точки зрения скорости, производительности и эффективности. Тем не менее, он по-прежнему считается очень надежным, и это мнение укрепилось благодаря документам, обнародованным информатором АНБ Эдвардом Сноуденом в 2013 году.
Они убедительно свидетельствовали о том, что, пока вы не используете предварительно распределенные ключи(новое окно), OpenVPN оставался единственным широко используемым в то время протоколом VPN, который АНБ не могло взломать. WireGuard®, более современный и безопасный протокол VPN, в 2013 году еще не был разработан. Хотя WireGuard работает быстрее, он более легковесен и эффективен, он не может сравниться с проверенной временем репутацией OpenVPN.
Плюсы OpenVPN:
- Открытый исходный код
- Проверенная временем безопасность
- Может работать поверх UDP или TCP
- Широкая поддержка
Минусы OpenVPN:
- На данный момент производительность уступает WireGuard (хотя ведется работа по ее улучшению)
- Относительно большая и сложная кодовая база
Proton VPN поддерживает OpenVPN во всех наших приложениях:
- Windows
- macOS
- Android
- Android TV (через Smart Protocol)
- iOS и iPadOS
- Приложение Linux и CLI
- Chrome OS
Как OpenVPN обеспечивает мою безопасность?
OpenVPN использует несколько криптографических технологий для защиты ваших данных и не имеет известных уязвимостей. Большинство современных реализаций OpenVPN (включая Proton VPN) используют следующие технологии:
AES
Advanced Encryption Standard (AES) — это симметричный шифр, используемый для шифрования и расшифрования данных, передаваемых через ваше подключение VPN.
Он сертифицирован Национальным институтом стандартов и технологий(новое окно) (NIST) и используется правительством США для защиты секретных данных. Максимальный размер ключа AES составляет 256 бит (AES-256), при этом правительство США считает AES-256 достаточным для защиты информации под грифом «совершенно секретно»(новое окно).
При использовании в составе набора шифрования OpenVPN, AES может работать в режимах AES-CBC (Cipher Block Chaining) или AES-GCM (Galois/Counter Mode). Чтобы понять, как работает Proton VPN, вам достаточно знать об AES-GCM
Несмотря на одинаковую безопасность, более современный AES-GCM представляет собой шифр аутентифицированного шифрования с присоединенными данными(новое окно) (AEAD), который может не только защищать, но и аутентифицировать данные. Для аутентификации подключения TLS по-прежнему требуется HMAC SHA (см. ниже), но AES-GCM аутентифицирует данные эффективнее (а значит, и быстрее), чем SHA.
RSA
OpenVPN полагается на AES для защиты ваших данных, но для их отправки через подключение VPN OpenVPN применяет криптографию с открытым ключом(новое окно). Эта криптографическая система использует асимметричный обмен ключами, при котором ваши данные зашифровываются с использованием открытого ключа предполагаемого получателя, которым он открыто поделился. Затем эти данные могут быть расшифрованы только закрытым ключом получателя, .
Шифрование с асимметричным ключом эффективно для скрытой передачи данных через Интернет, но оно медленное по сравнению с системами симметричного шифрования, такими как AES. Вот почему в VPN оно используется в первую очередь для аутентификации подключений между клиентом VPN и сервером VPN. OpenVPN использует для этого криптосистему RSA(новое окно).
Длина ключей RSA может быть практически любой, но 4096-битный ключ обеспечивает достаточную безопасность без создания высокой вычислительной нагрузки, которая была бы нерациональной и замедляла бы ваше подключение.
DHE
Обмен ключами Диффи — Хеллмана(новое окно) (DHE) может использоваться для защиты обмена ключами TLS аналогично RSA, за тем исключением, что он также обеспечивает прямую секретность(новое окно). Прямая секретность гарантирует, что для каждого сеанса используются новые ключи, поэтому даже если один сеанс будет каким-то образом раскрыт, другие сеансы не пострадают. Прямая секретность гарантирует, что злоумышленники не смогут расшифровать прошлые сеансы VPN с помощью одного раскрытого ключа.
Однако из-за того, что DHE повторно использует ограниченный набор простых чисел, он может быть уязвим для атак Logjam(новое окно). Эта проблема вызывает гораздо меньше беспокойства, если используются достаточно большие размеры ключей, но его использование для защиты обмена ключами TLS остается спорным.
Из-за этого Proton VPN использует поддержку DHE в наборе шифрования OpenVPN для обеспечения прямой секретности, но не для защиты самого обмена ключами.
HMAC SHA
OpenVPN использует HMAC SHA для проверки сертификатов TLS, используемых при обмене ключами TLS. Это защищает от атак «человек посередине».
Семейство SHA(новое окно) криптографических хеш-функций(новое окно) используется для аутентификации данных. Когда эти сложные математические функции выполняются над набором данных, создается уникальный отпечаток ключа. Если меняется хотя бы один бит этих данных, отпечаток ключа SHA также изменяется.
Известно, что SHA-1 (160-битная хеш-функция) уязвима для атак поиска коллизий(новое окно), но SHA-2 по-прежнему считается безопасной. Что еще более важно, OpenVPN в любом случае использует SHA только для вычисления значений кода аутентификации сообщений на основе хеш-функций(новое окно) (HMAC). Их гораздо сложнее атаковать, чем сам алгоритм SHA, вплоть до того, что даже SHA-1 все еще считается достаточно безопасным для HMAC(новое окно).
Каналы OpenVPN
OpenVPN использует два отдельных канала для безопасной передачи данных между вашим устройством и сервером VPN.

Канал данных
Перед отправкой ваших данных через туннель VPN OpenVPN зашифровывает их с помощью шифра с симметричным ключом.
Proton VPN использует шифрование до AES-256 в режиме GCM для проверки данных.
Канал управления
Как только данные зашифрованы, их можно отправить через туннель VPN. Канал управления устанавливает подключение TLS между клиентом VPN и сервером VPN. Оно защищено с помощью шифра с симметричным ключом, но с асимметричным обменом ключами.
Proton VPN использует шифрование до уровня AES-256-GCM для своего симметричного шифра, а также аутентификацию на основе хешей RSA-4096 и HMAC SHA-384 для проверки сертификатов TLS. Используемый нами пакет шифрования также включает соглашение о ключах Диффи-Хеллмана (DHE) для обеспечения прямой секретности.
Может ли OpenVPN обходить цензуру VPN?
Одно из главных преимуществ OpenVPN заключается в том, что он может работать поверх протоколов передачи UDP и TCP — двух основных протоколов, которые управляют отправкой данных в Интернете. UDP работает быстрее, в то время как TCP более надежен, но главное преимущество такой гибкости заключается в том, что TCP полезен для обхода цензуры со стороны правительств и других организаций.
Подробнее о разнице между UDP и TCP
TCP-порт 443 используется протоколом HTTPS(новое окно), стандартом шифрования, который обеспечивает безопасность в Сети. Это затрудняет блокировку OpenVPN при его работе через TCP-порт 443 без блокировки всего трафика HTTPS, что делает OpenVPN полезным для обхода низкоуровневых блокировок VPN.
Однако более продвинутые методы глубокого анализа пакетов могут легко обнаружить разницу между пакетами HTTPS и VPN.
Подробнее о глубоком анализе пакетов
Проходил ли OpenVPN аудит?
После краудфандинговой кампании в 2016 году OpenVPN 2.4 прошел независимый аудит(новое окно) силами организаций OSTIF и QuarksLab. Результаты были очень положительными, а единственная обнаруженная критическая/серьезная уязвимость касалась подверженности отказу в обслуживании и не влияла на безопасность пользователей. Эта проблема также была быстро устранена.
Однако 2016 год был довольно давно, а на момент написания статьи последним выпуском является OpenVPN 2.6.1.
OpenVPN против WireGuard
Более новый протокол WireGuard безопасен, быстр и эффективен, поэтому Proton VPN теперь использует его в качестве нашего VPN-протокола по умолчанию. Возможность работы OpenVPN поверх TCP остается преимуществом по сравнению с чистой версией WireGuard, но Proton VPN разработал собственную реализацию WireGuard, которая также работает поверх TCP.
WireGuard также лежит в основе нашего протокола обфускации Stealth, который гораздо эффективнее справляется с обходом цензуры, чем запуск OpenVPN поверх TCP.
Тот факт, что безопасность OpenVPN остается более проверенной на практике, чем у WireGuard, все еще может привлекать некоторых пользователей, но причин выбирать его вместо WireGuard практически нет, если только ваше текущее устройство не поддерживает WireGuard.
Заключительные мысли
На протяжении многих лет OpenVPN фактически был VPN-протоколом по умолчанию, и благодаря этому он до сих пор отлично поддерживается на маршрутизаторах и других устройствах с доступом в Интернет. Он по-прежнему обеспечивает высокий уровень безопасности, но имеет мало преимуществ перед более современным WireGuard (особенно перед пользовательскими реализациями нового протокола от Proton VPN).







