В рамках проекта GNU состоялся выпуск GNUnet 0.10.0, криптографического фреймворка для защищенных P2P-коммуникаций. С этим релизом произведена фундаментальная смена криптографических примитивов, используемых в системе. С самого начала своего существования фреймворк GNUnet использовал алгоритм шифрования RSA 2048, но сейчас от него решено отказаться в пользу Curve25519.
Естественно, такая кардинальная смена примитивов не может обеспечить обратную совместимость GNUnet 0.10.0 с предыдущими версиями. Разработчики предупреждают, что воспользовались этим для кардинального улучшения поддержки протокола в разных библиотеках, к тому же они еще не успели проверить новый код в реальных приложениях, так что GNUnet 0.10.0 можно считать экспериментальным релизом.
Фреймворк для безопасных P2P-коммуникаций GNUnet содержит четыре приложения.
- Файлообменный сервис между компьютерами для обхода цензуры и анонимного обмена файлами. Поисковые запросы и результаты поиска передаются в зашифрованном виде.
- VPN-сервис для туннелирования трафика IPv4 и IPv6 через P2P-сеть. На данном этапе сервис пока не обеспечивает анонимность, поскольку узлы в сети видят IP-адреса друг друга.
- GNU Name System (GNS): полностью децентрализованная замена стандартной системе доменных имен DNS.
- GNUnet Conversation (новая программа в GNUnet 0.10.0): голосовые звонки (VoIP). Идентификация пользователей осуществляется по GNS, а содержимое разговора шифруется. Сервис тоже пока не обеспечивает анонимности.
GNUnet работает на GNU/Linux, FreeBSD, OS X и W32, если скомпилировать из исходного кода. Коммуникации P2P поддерживают протоколы TCP, UDP, HTTP (IPv4 или IPv6), HTTPS, WLAN и Bluetooth. Есть возможность ограничения сети только доверенными узлами в режиме F2F. Фреймворк содержит безопасную версию распределенной хэш-таблицы для поиска узлов (механизм DHT). Программы обходят файрвол NAT и не требуют много оперативной памяти.