Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KexExchange is generally broken and needs replacement #1

Closed
eugeneia opened this issue Dec 1, 2017 · 2 comments
Closed

KexExchange is generally broken and needs replacement #1

eugeneia opened this issue Dec 1, 2017 · 2 comments
Labels

Comments

@eugeneia
Copy link
Member

eugeneia commented Dec 1, 2017

It would be generous to call the current key exchange protocol a proof of concept. (: It needs to be replaced with something sensible.

References:

@eugeneia eugeneia added the bug label Dec 1, 2017
@eugeneia eugeneia changed the title KexExchange does not provide forward secrecy KexExchange is generally broken and must be replaced Dec 1, 2017
@eugeneia eugeneia changed the title KexExchange is generally broken and must be replaced KexExchange is generally broken and needs replacement Dec 1, 2017
@eugeneia
Copy link
Member Author

eugeneia commented Dec 4, 2017

A friendly person has suggested taking inspiration from the spiped protocol. I am wondering if we can "instantiate" the spiped protocol using algorithms recommended by libsodium (which Vita does already link), i.e. HMAC-SHA512256, ARGON2 and BLAKE2B-512(X25519(p.n)) with equal or better security properties.

I am favoring the spiped protocol’s key exchange so far because it matches Vita’s model very well, and is more concrete(?) than Noise.

@eugeneia
Copy link
Member Author

eugeneia commented Dec 4, 2017

One thing to note is that both Noise and spiped are rather TCP/stream oriented, while Vita’s key exchange is packet oriented. Have to take an extra close look at the implications thereof.

eugeneia added a commit that referenced this issue Jan 16, 2018
New key negotation protocol and implementation

Resolves #1 (KexExchange is generally broken and needs replacement)

Includes #4 (Route inbound packets via SPI)
eugeneia pushed a commit that referenced this issue Oct 29, 2018
eugeneia pushed a commit that referenced this issue Oct 29, 2018
Make test 366 pass by adding "move:" to expectation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant