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

Integrate Rosenpass #1153

Merged
merged 100 commits into from
Jan 8, 2024
Merged

Integrate Rosenpass #1153

merged 100 commits into from
Jan 8, 2024

Conversation

pascal-fischer
Copy link
Contributor

@pascal-fischer pascal-fischer commented Sep 19, 2023

Describe your changes

This PR aims to integrate Rosenpass with NetBird. It adds a manager for Rosenpass that starts a Rosenpass server and handles the managed peers. It uses the cunicu/go-rosenpass implementation. Rosenpass will then negotiate a pre-shared key every 2 minutes and apply it to the wireguard connection.

The Feature can be enabled by setting a flag during the netbird up --enable-rosenpass command.

If both peers support and enable the Rosenpass feature, they will establish a post-quantum secure connection. If only one peer has rosenpass enabled no communication is possible.

Note
Additionally, this PR includes an update of all Github Actions workflows to use go version 1.21.0 as this is a requirement for the integration.

Info for testing:

Warning
Make sure the additional code does not interfere with the current production code (with the feature enabled)

Note
Skipped to test Android as the UI does not support it yet anyway

Issue ticket number and link

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

@mlsmaycon mlsmaycon self-requested a review December 8, 2023 10:43
@pascal-fischer pascal-fischer merged commit 5de4acf into main Jan 8, 2024
22 checks passed
@pascal-fischer pascal-fischer deleted the feature/rosenpass-integration-v2 branch January 8, 2024 11:25
Foosec pushed a commit to Foosec/netbird that referenced this pull request May 8, 2024
This PR aims to integrate Rosenpass with NetBird. It adds a manager for Rosenpass that starts a Rosenpass server and handles the managed peers. It uses the cunicu/go-rosenpass implementation. Rosenpass will then negotiate a pre-shared key every 2 minutes and apply it to the wireguard connection.

The Feature can be enabled by setting a flag during the netbird up --enable-rosenpass command.

If two peers are both support and have the Rosenpass feature enabled they will create a post-quantum secure connection. If one of the peers or both don't have this feature enabled or are running an older version that does not have this feature yet, the NetBird client will fall back to a plain Wireguard connection without pre-shared keys for those connections (keeping Rosenpass negotiation for the rest).

Additionally, this PR includes an update of all Github Actions workflows to use go version 1.21.0 as this is a requirement for the integration.

---------

Co-authored-by: braginini <[email protected]>
Co-authored-by: Maycon Santos <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants