]> Sergey Matveev's repositories - stargrave-blog.git/commit
Посмотрел на протокол WireGuard-а
authorSergey Matveev <stargrave@stargrave.org>
Sat, 30 Mar 2019 12:29:37 +0000 (15:29 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sat, 30 Mar 2019 12:29:37 +0000 (15:29 +0300)
commitf6f262828dfebff1ae5f0fd3c8cfadacf45bdcde
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent3f74735906a82d717b9f73d0d844346bc172bd2b
Посмотрел на протокол WireGuard-а

У них используется простой Noise IK протокол рукопожатия. Читая про
него, сравнивал со своими решениями в GoVPN. Во-первых, у меня
аутентификация по паролю, к тому же, zero knowledge. Во-вторых, передача
зашифрованных данных начинается только после того, как мы точно
убедились что корректно/одинаково согласовали ключ, а WireGuard без
полной аутентификации начинает, плюс в нём вообще нет шага проверки
согласованного ключа. На практике я, конечно же, не считаю что это
проблема. Более того, точно такой же подход я применил в SP протоколе
NNCP. В отличии от GoVPN, они всегда требуют чтобы часы были
синхронизированы, чтобы делать подпись первоначального handshake
сообщения. Мне понравилось что и я дошёл до такого же подхода, но у меня
чуть побольше гибкости и не такие жёсткие требования к участникам. В
целом протокол однозначно хорош своей простотой.