WireGuard, революционный проект внутриядерного VPN, призванный быть быстрым, современным и безопасным, теперь может быть напрямую интегрирован в ПЗУ Android.
Трудно представить современный Интернет без VPN. На протяжении многих лет VPN распространяли частные сети на общедоступные сети, позволяя пользователям отправлять и получать данные в общих или общедоступных сетях, как если бы их вычислительные устройства были напрямую подключены к частным сеть. В результате это позволило пользователям обходить определенные географические ограничения, а также обеспечить безопасность данных. Однако в программном обеспечении VPN существует множество проблем, которые WireGuard, новый протокол безопасного туннелирования, призван решить.
OpenVPN, IPsec и их проблемы
На сегодняшний день широко известными VPN-решениями для Android являются OpenVPN и IPsec, но они не лишены проблем. Популярность OpenVPN имеет смысл, поскольку ее проще настроить, чем IPsec, и она существует уже давно. Хотя этот проект является в некоторой степени приемлемым решением для большинства пользователей, его сложность огромна. OpenVPN состоит примерно из 120 000 строк кода. Такое количество кода делает проект практически невозможным для аудита и защиты, о чем свидетельствует огромное количество ошибок безопасности за последние несколько лет. OpenVPN также находится в пространстве пользователя, что делает его довольно медленным, поскольку каждый пакет необходимо копировать несколько раз и требует нескольких переключений контекста. IPsec, IKEv2, L2TP, PPTP и связанные с ними технологии 90-х годов также довольно популярны, но столь же проблематичны, поскольку представляют собой большие громоздкие кодовые базы. -- StrongSwan содержит около 430 000 строк кода, а также весь уровень ядра XFRM и основан на устаревшей криптографической системе 90-х годов. мудрость. Обычное использование этих протоколов также является очень «болтливым», поскольку трафик передается без необходимости, что приводит к сокращению времени автономной работы ноутбуков и мобильных телефонов.
Новый захватывающий VPN-проект: WireGuard
Недавно мы имели удовольствие поговорить с одним из наших признанных разработчиков, zx2c4. В реальной жизни он Джейсон Доненфельд, автор WireGuard, VPN-туннель нового поколения, который вскоре может свергнуть OpenVPN и IPsec. Запущенный в 2015 году, WireGuard предлагает передовую криптографию, ее легче проверять, поскольку она менее 4000 строк кода, и довольно прост в использовании.
WireGuard — это новый VPN, работающий внутри ядра Linux и использующий современную криптографию. Он призван быть быстрее, проще, компактнее и полезнее, чем IPSec, и при этом избежать огромной головной боли. Он намерен быть значительно более производительным, чем OpenVPN. WireGuard разработан как VPN общего назначения для работы как на встроенных интерфейсах, так и на суперкомпьютерах, подходящих для самых разных обстоятельств. Он работает через UDP.
WireGuard был воспринят очень положительно как внутри сообщества безопасности, так и внутри сообщества ядра: Грег К.Х., стабильный сопровождающий ядра Linux, одобряя это после тщательного анализа кода. Это было представлен по всему миру, с Презентация ФОСДЕМ возможно, особенно актуально для читателей XDA. WireGuard белая бумага также была рецензирована академическим сообществом.
Этот протокол очень удобен для мобильных телефонов, поскольку он был разработан как «скрытый VPN», по умолчанию не отправляющий никаких пакетов, если нет реальных данных для отправки. Это имеет эффект не разряжает батарею как обычно делают другие VPN-клиенты. Кроме того, WireGuard позволяет свободно перемещаться между разными IP-адресами, что означает, что вы можете переключаться между Wi-Fi и сотовые соединения или любые другие виды соединений без необходимости устанавливать какие-либо соединения. связи; это совершенно бесшовно.
скорость лучшая в классе, предлагая реализации своих шифров с ускорением SSSE3, AVX, AVX2, AVX512 и NEON. Использование ChaCha20 означает, что он работает очень быстро практически на любом оборудовании. В тестировании WireGuard легко превосходит другие протоколы.
WireGuard это не только самый быстрый VPN в мире, но и криптография также была улучшена. формально проверенный, что означает, что существуют математические доказательства того, что его криптографические конструкции безопасны в символьной модели. Хотя криптография современна, она также консервативна, склоняясь скорее к паранойе, чем к легкомыслию. Это в сочетании с небольшой и легко проверяемой кодовой базой делает WireGuard очень надежным с точки зрения безопасности.
WireGuard и поддержка Android
Хотя WireGuard в первую очередь разрабатывается как оптимизированный модуль ядра для Linux, существует портативная версия в разработке, чтобы ее можно было распространять в приложениях в Play Store без необходимости root доступ. Однако, хотя реализация пользовательского пространства по-прежнему быстрее, чем у конкурентов, большая часть магии WireGuard проявляется при использовании собственного модуля ядра. По этой причине основной интерес WireGuard для сообщества разработчиков XDA заключается в интеграция модуля ядра в ПЗУ напрямую.
Фактически, WireGuard уже появился в некоторых ПЗУ. В частности, он интегрирован в Популярные ПЗУ от Sultanxda для OnePlus 3/3T и другие разработчики обязательно последуют этому примеру. Процедура установки патчей довольно проста и может быть выполнена за несколько простых шагов. Лучшее место для поиска ссылок — Страница репозитория android_kernel_wireguard git а также Тема zx2c4 на XDA о добавлении его в ПЗУ.
В настоящее время в разработке Android-приложение использует модуль ядра по возможности, если он доступен, а в противном случае возвращается к использованию реализации пользовательского пространства. Приложение имеет графический интерфейс для определения VPN-туннелей, проверки статуса и очень удобно добавляет тумблер в область уведомлений для включения и выключения туннелей. Ниже вы можете увидеть простой интерфейс переключения ранних версий приложения.
Команда разработчиков WireGuard в настоящее время набирает разработчиков графического интерфейса Android для совместной работы над развитием основной технологии. Если какие-либо разработчики XDA заинтересованы, они без колебаний могут обратиться к zx2c4. Проект WireGuard полностью открыт и прозрачен.
В целом, WireGuard, похоже, представляет собой будущее VPN и безопасных сетевых туннелей, охватывающее надежную современная криптография, безопасная проверяемая кодовая база и инновационный протокол, хорошо подходящий для смартфоны. Его использование на серверах и настольных компьютерах Linux уже получило высокую оценку и уверенно продвигается вперед в основной линейке Linux. Мы в XDA с нетерпением ждем появления WireGuard на Android и наших ПЗУ.
Если вы хотите протестировать WireGuard на своем устройстве, обратитесь к разработчику вашего ПЗУ или перекомпилируйте ПЗУ самостоятельно. Вы также можете получить альфа-версию приложения из официальная тема или Google Play магазин.
Посетите ветку WireGuard на XDA.