Давайте рассмотрим, что у нас есть незашифрованное сетевое соединение (например, Ad-hoc Wifi без какого-либо WPA, но, конечно, не ограничиваясь беспроводным). Какой самый простой способ обеспечить его безопасность (наличие GNU/Linux на обеих сторонах).
Ожидаются следующие свойства:
- Не специфично для дистрибутива (не ifup/ifdown, не интегрируется ни в один /etc/init.whither)
- Желательно никаких конфигурационных файлов (только команды в консоли)
- Предпочтительно отвечать на стандартные модули ядра, присутствующие в большинстве распределенных ядер.
Производительность не критична.
Ожидая что-то вроде того, чтобы делать:
ip link add encrypted_link0 type encrypted link=wlan0 psk=k48M1n3n6
ip link set encrypted_link0 up
ip link addr add 192.168.44.2/30 dev encrypted_link0
ip route add via 192.168.44.1 dev encrypted_link0
на одной стороне и
ip link add encrypted_link0 type encrypted link=wlan0 psk=k48M1n3n6
ip link set encrypted_link0 up
ip link addr add 192.168.44.1/30 dev encrypted_link0
echo 1 > /proc/sys/net/ipv4/conf/encrypted_link0/forwarding
на другой стороне.
Не думая о каких-либо серверах аутентификации, просто использую какой-то хороший алгоритм по умолчанию, такой как aes256, не думая о настройке различных лебедей или енотов.