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

Noise pipes and XXfallback #1423

Closed
AgeManning opened this issue Feb 4, 2020 · 7 comments
Closed

Noise pipes and XXfallback #1423

AgeManning opened this issue Feb 4, 2020 · 7 comments

Comments

@AgeManning
Copy link
Contributor

Am curious if there is work being done (or planned on being done) to update the current noise implementation for the 0-RTT with noise pipes as outlined in the specs: https://github.com/libp2p/specs/tree/master/noise

This is likely something we might build if no other work is currently being done on this. Asking to ensure we don't double up on efforts.

@tomaka
Copy link
Member

tomaka commented Feb 4, 2020

Pinging @romanb, but I don't think anyone is working on this.

@romanb
Copy link
Contributor

romanb commented Feb 4, 2020

There is no work in progress at the moment that I'm aware of. For initial spec compliance I actually even wanted to drop IK and not support noise pipes, leaving only a few small changes to be done to names here and there, because I currently don't see a strong motivation for the added complexity in the context of the scheme of signing the static key with the identity key that is employed in libp2p. By the added complexity I mean the necessary caching (in-memory or even on disk) of static DH public keys as well as the entire fallback procedure from IK to XX. I personally like the simplicity of short-lived (e.g. lifetime of a process) static DH keypairs that are thus frequently rotated, since we already have the long-lived identity keys to keep (durably) safe.

That said, maybe I'm mistaken and the implementation complexity is less than I think and the benefits greater than I think, so in principal we are open to implementations of that part of the spec.

@AgeManning
Copy link
Contributor Author

Awesome, thanks.

These are good points, I think having this optimisation is probably a lower priority for us then and maybe we'll get to it at some stage in the future.

Will likely leave it as is for now.

@tomaka
Copy link
Member

tomaka commented Feb 6, 2020

Let's leave this open for later.

@tomaka tomaka reopened this Feb 6, 2020
@burdges
Copy link

burdges commented Feb 6, 2020

Noise 0-RTT still incurs key exchanges that ratchet forward the security, so you still need multiplexing via QUIC or whatever, and cannot pull connections up and down willy nilly.

@raulk
Copy link
Member

raulk commented May 7, 2020

Suggest closing this issue since the libp2p community has dropped IK and XXfalkback (Noise Pipes) from the spec. We should instead focus on doing the small adjustments that @romanb indicates to make rust-libp2p interoperable with the rest of the family. Any foreseeable plans for that?

@romanb
Copy link
Contributor

romanb commented May 7, 2020

@raulk That has already been done in #1545, just not released yet.

@romanb romanb closed this as completed May 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants