Релиз свободного безопасного цензуроустойчивого VPN-демона GoVPN 5.0

06.01.2016 20:18

Состоялся релиз свободного VPN-демона GoVPN 5.0, предназначенного для создания шифрованных, аутентифицированных и цензуроустойчивых каналов связи поверх UDP или TCP. Реализация ориентирована на высокую безопасность, простоту реализации и лёгкость чтения исходного кода. Программа полностью написана на языке Go и распространяется под лицензией GPLv3. Поддерживается работа в GNU/Linux и FreeBSD.

Для двусторонней несбалансированной (augmented) аутентификации сторон и согласования ключей используется аутентифицируемый по парольной фразе протокол DH-A-EKE (Diffie-Hellman Augmented Encrypted Key Exchange). Протокол имеет свойство нулевого неразглашения при котором невозможна offline атака по словарю. Даже при компрометации БД сервера злоумышленник не сможет замаскироваться под клиента. Также имеется защита от атак повторного воспроизведения, дешифровки перехваченного трафика даже при компрометации парольной фразы (свойство совершенной прямой секретности). Кроме обеспечения конфиденциальности есть возможность скрывать размер сообщения и время их возникновения, путём генерирования постоянного шумового трафика.

Среди новшеств пятой версии, по-сравнению с четвёртой, можно отметить:

  • Появление опционального нешифрованного режима работы: используя технологию Chaffing-and-Winnowing обеспечивается конфиденциальность и аутентичность передаваемых данных, но без использования шифрования как такового. Юрисдикции некоторых стран могут привлечь к ответственности за использование шифрования, могут принудить к выдаче ключей шифрования, но не ключей аутентификации или подписи. Этот режим может пригодится именно в подобных случаях: технически ничего кроме аутентификации не применяется к передаваемому трафику. Но этот режим требователен и к процессору и лишнему передаваемому трафику.
  • Вместо алгоритма PBKDF2, используемого для хэширования парольных фраз, задействован Argon2d - победитель конкурса Password Hashing Competition.
  • Множество мелких исправлений, упрощение конфигурирования на стороне сервера.