The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В рамках проекта WireGuard развивается новая реализация VPN ..."
Отправлено opennews, 29-Июн-16 11:52 
В списке рассылки разработчиков ядра Linux представлена (https://lkml.org/lkml/2016/6/28/629) новая реализация виртуального интерфейса для создания шифрованных и аутентифицированных туннелей. Новый VPN-интерфейс развивается в рамках проекта WireGuard (https://www.wireguard.io/), сочетающего применение проверенных современных методов шифрования с предоставлением минималистичной реализации (около 4000 строк кода), лишённой усложнений, наблюдаемых в таких системах, как xfrm и OpenVPN. Отмечается, что продукт развивается уже несколько лет и прошёл стадию рецензирования применяемых криптографических методов, что позволяет начать его публичное продвижение. Автором проекта является Джейсон Доненфилд (Jason A. Donenfeld (https://www.zx2c4.com/)), исследователь безопасности, возглавляющий компанию Edge Security. Код распространяется под лицензией GPLv2.

Для шифрования применяются (https://www.wireguard.io/protocol/)
потоковый шифр ChaCha20 (http://cr.yp.to/chacha.html) и алгоритм аутентификации сообщений (MAC) Poly1305 (http://cr.yp.to/mac.html), разработанные Дэниелом Бернштейном (Daniel J. Bernstein (http://cr.yp.to/djb.html)), Таней Ланге
(Tanja Lange) и Питером Швабе (Peter Schwabe). Для генерации совместного секретного ключа применяется протокол Диффи-Хеллмана на эллиптических кривых в реализации Curve25519 (http://cr.yp.to/ecdh.html), предложенной Дэниелом Бернштейном. Для хэширования используются BLAKE2s (RFC7693) (https://www.opennet.ru/opennews/art.shtml?num=35676) и SipHash24 (https://131002.net/siphash/). Для согласования соединения ключей и соединения вместо собственного демона в пространстве пользователя применяется механизм Noise_IK из Noise Protocol Framework (http://noiseprotocol.org/), похожий на поддержание authorized_keys в  SSH, без усложнений в виде поддержки x509 и  ASN.1. Передача данных осуществляется через инкапсуляцию в пакеты UDP.


ChaCha20 и Poly1305 позиционируются как более быстрые и безопасные аналоги AES-256-CTR и HMAC,  программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. Повышение производительности обусловлено не только применением олее быстрых алгоритмов, но и решением не использовать предоставляемый ядром достаточно медленный crypto API, вместо которого в  WireGuard задействованы собственные реализации примитивов ChaCha20, Poly1305, Blake2s и Curve25519.


Например, при тестировании (https://www.wireguard.io/performance/) производительности WireGuard продемонстрировал в 4 раза более высокую пропускную способность и в 3.8 раз более высокую отзывчивость, по сравнению с OpenVPN (256-bit AES c HMAC-SHA2-256). WireGuard также опережает по производительности IPsec (256-bit ChaCha20+Poly1305 и AES-256-GCM-128), но существенный выигрыш заметен в основном в области снижения задержек.


В WireGuard применяется концепция маршрутизации по ключам шифрования, которая подразумевает привязку к каждому сетевому интерфейсу закрытого ключа и применение для связывания открытых ключей. Обмен открытыми ключами для установки соединения напоминает подход, применяемый в SSH. Поддерживается смена IP-адреса VPN-сервера (руминг) без разрыва соединения и автоматической перенастройкой клиента.


WireGuard достаточно прост в настройке (https://www.wireguard.io/quickstart/). Для создания туннелирующего интерфейса предлагается использовать штатную команду "ip link" (например, "ip link add dev wg0 type wireguard", присвоение IP-адреса "ip address add dev wg0 192.168.2.1 peer 192.168.2.2"), а для генерации ключей и настройки параметров VPN предлагается специальная утилита "wd" (например, "wg genkey > privatekey"  и "wg set wg0 listen-port 2345 private-key /path/to/private-key peer ABCDEF... allowed-ips 192.168.88.0/24 endpoint 209.202.254.14:8172" или через файл конфигурации "wg setconf wg0 myconfig.conf").


URL: https://lkml.org/lkml/2016/6/28/629
Новость: http://www.opennet.ru/opennews/art.shtml?num=44695

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру