Одного изобретателя у ВПН нет. С 1992 по 1999 год идею шифрованного туннеля развивали параллельно: в оборонной лаборатории США над IPsec и в группе производителей над PPTP, а OpenVPN и WireGuard позже написали по одному автору, Джеймс Йонан и Джейсон Доненфельд.

Ниже даты и имена взяты из документов IETF, документации проектов и статей Википедии, источник назван рядом с каждым фактом. Чего в них нет, того мы не пишем.

Хронология: семь дат на одной линии

Если нужна общая картина, она такая. Все даты проверены по документам, названным в тексте дальше.

  • 1992: по Википедии, Военно-морская исследовательская лаборатория США (NRL) по заказу DARPA начинает работу над шифрованием IP-пакетов, а в IETF создана рабочая группа по безопасности IP.
  • Август 1995: RFC 1825, автор Р. Аткинсон из NRL, описывает механизмы безопасности на уровне IP.
  • Июнь 1996: черновик IETF по PPTP, авторов шестеро.
  • Июль 1999: PPTP опубликован как RFC 2637 со статусом "информационный".
  • 13 мая 2001: по Википедии, дата первого выпуска OpenVPN.
  • 2017: статья Джейсона Доненфельда о WireGuard на симпозиуме NDSS.
  • Март 2020: по Википедии, WireGuard входит в ядро Linux 5.6.
Хронология протоколов1992IPsec: NRL и IETF1995RFC 18251996PPTP: черновик1999RFC 26372001OpenVPN2017WireGuard2020Linux 5.6
Хронология протоколов

IPsec: шифрование на уровне IP

По Википедии, в 1992 году NRL получила от DARPA средства на реализацию IPv6 и шифрования IP в BSD 4.4, а стандарты, разработанные лабораторией, вышли в IETF как RFC 1825-1827. Первый из них, RFC 1825 за август 1995 года, сам оговаривает, что описывает не общую архитектуру интернета, а безопасность именно на уровне IP.

Затем архитектуру переписывали: RFC 2401 от ноября 1998 года, авторы С. Кент и Р. Аткинсон, заменил RFC 1825, а RFC 4301 от декабря 2005 года, авторы С. Кент и К. Сео, заменил RFC 2401. По тексту RFC 4301, IPsec задуман, чтобы дать совместимую криптографическую защиту для IPv4 и IPv6, и работает на уровне IP, закрывая любые протоколы поверх него.

PPTP: туннель из группы компаний

Черновик PPTP от июня 1996 года подписали шестеро: Кори Хэмзе из Ascend Communications, Гурдип Сингх Пол из Microsoft, Уильям Вертхайн из U.S. Robotics, Джефф Тааруд из 3Com и Эндрю Литтл из ECI Telematics. В итоговом RFC 2637 от июля 1999 года список изменился, там в том числе Г. Зорн из Microsoft, а сам документ имеет статус информационного: стандартом IETF PPTP не стал. Поэтому звание единственного изобретателя ни за одним автором документы не закрепляют.

По определению RFC 2637, протокол позволяет "туннелировать" PPP через IP-сеть. В разделе о безопасности сказано, что пакеты GRE, образующие туннель, криптографически не защищены, сообщения управляющего канала не проходят проверку подлинности, а данные PPP можно перехватить и прочитать, если они не зашифрованы отдельно. Шифрование MPPE описал RFC 3078 от марта 2001 года, авторы Пол и Зорн.

Позже у PPTP нашли серьёзные уязвимости. По статье Википедии, они связаны с проверкой подлинности в PPP и устройством MPPE, а в 2012 году показали, что подбор ключа MS-CHAPv2 по сложности равен подбору одного ключа DES. Сегодня PPTP в Википедии называют устаревшим способом.

Что защищено в PPTP по RFC 2637Управляющий каналбез проверки подлинностиТуннель GREбез криптозащитыДанные PPPчитаются, если незашифрованы отдельноШифрование пришло позже: MPPE, RFC 3078, 2001
Что защищено в PPTP

OpenVPN: сертификаты и открытый код

Автор OpenVPN - Джеймс Йонан, а по журналу изменений, на который ссылается Википедия, первый выпуск датирован 13 мая 2001 года. Руководство проекта описывает его как свободный демон, который пытается дать многие возможности IPsec при небольшом размере кода.

В режиме SSL/TLS каждая сторона предъявляет сертификат, подписанный общим центром сертификации, затем стороны обмениваются ключами сеанса. Управляющий канал и канал данных идут по одному порту TCP или UDP. Так OpenVPN встроил в туннель привычную всем по сайтам схему проверки сертификатов.

WireGuard и VLESS: меньше кода, проще настройка

WireGuard написал Джейсон Доненфельд, его статья "WireGuard: Next Generation Kernel Network Tunnel" представлена на симпозиуме NDSS 2017 года в Сан-Диего. На сайте проекта сказано, что он задуман как более простой и быстрый, чем IPsec, и заметно производительнее OpenVPN, а код достаточно мал, чтобы один человек мог его прочитать. По Википедии, в марте 2020 года версия для Linux вошла в ядро 5.6.

VLESS, протокол из проекта Xray, устроен ещё лаконичнее: документация описывает его как лёгкий транспортный протокол без состояния, где пользователя узнают по идентификатору UUID. Имени одного изобретателя в документации нет, поэтому и мы его не называем.

Что из этой истории пригодится при выборе

Главный вывод: название протокола говорит о происхождении и устройстве, а не о качестве сервиса. Сервис должен называть протокол, а вы можете прочитать, как тот устроен, как сделано выше. PPTP для новых настроек не берут, остальные протоколы живут и развиваются.

У Хамджисс протокол VLESS. Своего приложения у нас нет, ключ работает в бесплатных VLESS-клиентах: про установку на телефон читайте в материале ВПН для Андроид, про компьютер в материале ВПН на ПК. Начать можно так.

  • Откройте Telegram-бот @openworldlinkVPN - получите персональный VLESS-ключ и 10 дней бесплатно.
  • Поставьте бесплатный клиент с поддержкой VLESS на свой телефон или компьютер.
  • Добавьте ключ из бота в клиент и подключитесь; ключ рассчитан на до 5 устройств одновременно.

Источники