@node О демоне @section Подробнее о демоне GoVPN GoVPN это простой демон виртуальных частных сетей, код которого нацелен на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре. @itemize @item @url{https://www.gnu.org/philosophy/free-sw.ru.html, Свободное программное обеспечение}, @url{https://www.gnu.org/philosophy/pragmatic.ru.html, копилефт}: лицензировано под условиями @url{https://www.gnu.org/licenses/gpl-3.0.ru.html, GPLv3+}. @item Быстрый сильный @ref{PAKE, аутентифицируемый по парольной фразе} несбалансированный протокол @ref{Handshake, согласования ключей} с двусторонней аутентификацией сторон и нулевым неразглашением (PAKE DH A-EKE (Diffie-Hellman Augmented Encrypted Key Exchange)). @item @ref{Verifier structure, Несбалансированные верификаторы} устойчивые к внесетевым (offline) атакам по словарю. Используют усиленный по CPU и памяти алгоритм хэширования. Злоумышленник не может замаскироваться под клиента даже скомпрометировав базу данных токенов сервера. @item Зашифрованный и аутентифицируемый @ref{Transport, транспортный протокол} передачи данных с 128-бит @ref{Developer, порогом безопасности} и современной не-NIST криптографией. @item Опциональный @ref{Encless, нешифрованный режим}: функции шифрования не применяются для исходящего трафика, вместо них кодирование всё-равно обеспечивающее конфиденциальность. Юрисдикции и суды не могут вас вынудить выдать ключи шифрования или привлечь за использование шифрования. @item Цензуроустойчивые сообщения транспорта и рукопожатия: неотличимые от шума с опциональным скрытием размеров сообщений. @item Свойство @url{https://ru.wikipedia.org/wiki/Perfect_forward_secrecy, совершенной прямой секретности} (perfect forward secrecy). @item Защита от атак повторного воспроизведения (replay) (используя одноразовые MAC и опциональное условие @ref{Timesync, синхронизации времени}). @item Встроенные функции пересогласования ключей (ротация сессионных ключей) и сердцебиения (heartbeat). @item Возможность скрывать размеры пакетов путём @ref{Noise, зашумления} данных. @item Возможность скрывать временные характеристики полезной нагрузки путём @ref{CPR, постоянного по скорости} трафика. @item Совместимость с @url{http://egd.sourceforge.net/, EGD} (демон сборки энтропии) генераторами псевдослучайных чисел. @item Поддержка нескольких клиентов одновременно с специфичной для каждого конфигурацией. Клиенты имеют заранее установленный @ref{Identity, идентификатор}, невидимый третьим лицам (они анонимны для них). @item Использует @url{https://ru.wikipedia.org/wiki/TUN/TAP, TUN/TAP} низлежащие сетевые интерфейсы. @item Может работать поверх @ref{Network, UDP и TCP} или HTTP @ref{Proxy, прокси} для доступа к серверу. @item Полностью IPv4 и IPv6 совместимый. @item Опциональный встроенный HTTP-сервер для получения @ref{Stats, статистики} о подключённых клиентах в режиме реального времени в @url{http://json.org/, JSON} формате. @item Сервер конфигурируется используя @url{http://yaml.org/, YAML} файл. @item Возможность использовать syslog для журналирования. @item Написан на языке @url{https://golang.org/, Go} с простым кодом, ориентированным на лёгкость чтения и анализа. @item Поддержка @url{https://www.gnu.org/, GNU}/Linux и @url{https://www.freebsd.org/, FreeBSD}. @end itemize