Большинство VPN-провайдеров для построения сервисов использует стандартные решения вроде OpenVPN и IKEv2. Однако малая их часть выбирает другой путь и разрабатывает собственные протоколы — одним из них стал Lightway. В статье обсуждаем его возможности, достоинства, недостатки и безопасность.
![Unsplash / Dayne Topkin Unsplash / Dayne Topkin](https://habrastorage.org/getpro/habr/upload_files/92a/aef/96f/92aaef96fe50a4a8701e771399d6ccad.jpeg)
Что «под капотом»
Lightway разработал VPN-провайдер ExpressVPN, который в начале августа передал исходники в open source под лицензией GPLv2. По словам авторов, они хотели сделать легкий и производительный протокол, поэтому использовали язык программирования C и реализовали только необходимые функции безопасности — объем кодовой базы составил примерно две тысячи строк. Lightway совместим с Linux, Windows, macOS, мобильными платформами и маршрутизаторами (Netgear, Linksys).
В основе нового протокола лежит криптографическая библиотека wolfSSL. Она соответствует стандарту компьютерной безопасности FIPS 140-2, который разрабатывает институт NIST в США, и уже нашла применение в «боевых» криптографических задачах. Например, её используют разработчики IoT-систем и производители GPRS-терминалов. Первые шифруют данные в устройствах умного дома, а вторые — реализуют интерфейсы типа machine-to-machine (M2M).
При передаче данных Lightway использует UDP, а для установления защищенного канала связи — DTLS. В то же время протокол может работать поверх TCP и TLS 1.3. Для обмена ключами разработчики использовали механизм Диффи-Хеллмана на эллиптических кривых (ECDH). Обмен происходит каждые 15 минут или при переключении сети. Если по какой-то причине использовать ECDH невозможно, система обращается к классическому протоколу Диффи — Хеллмана (DH).
Lightway не привязывает ключи к внутренним IP-адресам (как это делают некоторые VPN-протоколы), и пользователи получают новый адрес при каждом переподключении — в теории такой подход повышает приватность.
Перспективы и критика
Протокол обладает высокой производительностью, и по оценкам разработчиков, в 2,5 раза быстрее конкурентов — OpenVPN, IKEv2, PPTP и SSTP. Но справедливости ради стоит отметить, что авторы не раскрыли критерии и условия тестирования. В связи с этим к указанному показателю стоит относиться с долей скептицизма.
В то же время разработчики говорят, что кодовая база протокола меньше, чем у других популярных решений, и её проще проверять на ошибки. Хотя один из резидентов Hacker News в тематическом треде отметил некоторые непостоянства в структурировании кода, что немного мешает оценить его качество.
Однако в начале лета код прошел независимый аудит безопасности — его провели специалисты из Cure53, оценившие реализацию NTP-протокола NTPsec и свободный IMAP-сервер Dovecot. Проект получил высокий балл, хотя эксперты обнаружили уязвимости (стр.3), открывающие возможности для DoS [их сразу устранили]. Ряд недостатков связали со сторонними библиотеками и компонентами — например, была уязвимость CVE-2020-3336 в WolfSSL, позволяющая злоумышленникам проводить MITM-атаки [в середине июня разработчики выпустили для неё патч].
![Unsplash / Jon Moore Unsplash / Jon Moore](https://habrastorage.org/getpro/habr/upload_files/d41/c6d/549/d41c6d549d92e889cb7b5b2890883f36.jpeg)
Ряд ИБ-специалистов среди потенциальных недостатков также выделяет отсутствие обфускации. Так, интернет-провайдер, в сети которого работает Lightway, может понять, что клиент использует VPN-подключение. В любом случае это довольно молодой протокол, поэтому может пройти еще какое-то время, прежде чем недостатки устранят. Разработчики приглашают поучаствовать всех желающих — свои предложения и «пул-реквесты» можно оставлять на GitHub.
Кто еще
К относительно новым VPN-протоколам можно отнести WireGuard. Это — VPN-туннель, разработка которого идет с 2016 года. Он использует алгоритмы ChaCha20 и Poly1305, а его пропускная способность в четыре раза выше, чем у OpenVPN.
В начале прошлого года его даже включили в ядро Linux. Однако авторы отмечают, что WireGuard — экспериментальный протокол и работа с ним несет определенные риски. Например, он сохраняет подключённые IP-адреса на сервере, что отрицательно влияет на приватность. Потенциальным проблемам, связанным с ним, даже была посвящена отдельная большая статья на Хабре.
Хотя сегодня многие VPN-провайдеры нашли способы борьбы с этими недостатками и постепенно внедряют WireGuard в свои сервисы. Возможно, в будущем он и Lightway найдут более широкое применение, если на их развитии не отразится желание регуляторов ввести ограничения на работу с end-to-end шифрованием.
Почитать о протоколах:
Протокол IPFS — будущее интернета или еще одна «проходная» технология
Почему шифрование DNS не всегда эффективно — обсуждаем мнения
«Одной канарейки мало»: у VPN-сервисов все чаще запрашивают ПД
И работе интернет-провайдеров: