Проект ANet (ANet Secure Transport Protocol) развива алтернативен стек за организиране на защитени тунели, предназначени за свързване на частни мрежи в условия, при които стандартните решения (WireGuard, OpenVPN) не могат да бъдат приложени поради различни обстоятелства. Проектът е позициониран не като поредния fork на WireGuard, а като „Мрежа на приятелите“ (Friends-to-Friends VPN) с акцент върху използването на доказани криптоалгоритми и автономна работа в режим „Dead Man’s Hand“. В ANet се използва собствен транспортен протокол ASTP (ANet Secure Transport Protocol), който осигурява пълно крайно криптиране, устойчиво на големи загуби на пакети и неотличимо от случайния UDP-трафик. Кодът е написан от нулата на езика Rust и се разпространява под лиценз MIT, но с ясно забранение за включване на зависимости под GPL 2.0 и 3.0.
Основни характеристики:
- Използване на криптоалгоритми ChaCha20/Poly1305 за потока, X25519 за Ephemeral DH, Ed25519 за автентикация. Никакви наследени алгоритми и „костури за съвместимост с Windows XP“.
- Транспорт, базиран на QUIC-подобен обвес над UDP, но с собствено фреймиране: всеки пакет е обвит в криптиран „envelope“ с произволно допълнително запълване и jitter (от 0 до N наносекунди), което маскира процеса на споразумение за свързване под бял шум.
- Разпределена архитектура с авторизационен сървър (anet-auth), който проверява fingerprint на клиента (SHA256 от публичния ключ на базата Ed25519). Самият тунел се изгражда чрез PSK (предварително споделено ключ), получено чрез 4-фазов handshake (DH + double ratchet). Ако auth-сървърът падне, мрежата продължава да работи на предварително заредени ключове (failover до пълен локален режим).
- Поддържани платформи: Linux (TUN), Windows (Wintun), macOS (utun), Android (VpnService чрез JNI). Има GUI на egui (Rust-native) и TUI за headless-сървъри. Предоставят се бинарни сборки.
В отличие от WireGuard с разпознаваем handshake (Magic number + Noise Protocol) и OpenVPN с характерен TLS оттиск, в протокола ASTP всеки пакет започва с произволна затравка (nonce 12 байта), следвана от шифротекст с променлива дължина с допълнително запълване до най-близкия размер на блока (настраиваемо). За външния наблюдател трафикът не е отличим от случайния. ANet е предлагано като опит да се върне в VPN „физичността“ на епохата на флоппинет (HDD при приятел), но в цифра: PSK (предварително споделени ключове), ръчно управление на маршрутите, „zero-knowledge proof“ чрез fingerprint.
Проектът се придружава от етичен кодекс (Code of Conduct), изготвен в съответствие с принципа на "радикалната честност". В правилата е записано "правото на отказ" (право да откажеш всеки разработчик при лош код), "огледален отговор" (жалби за токсичност се игнорират), приоритет на кода (не е важно кой е авторът, а качеството на кода) и забрана за опити за налагане на политическа коректност.
Източник: opennet.ru
