BSD Ports

net/rosenpass 0.2.3_3 FreeBSD

Wireguard-based post-quantum VPN

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
9c878207a1
License
MIT, APACHE20
Categories
net, net-vpn, security
Package size
706.7 KiB, 2159.0 KiB installed

Description

Rosenpass implements a post-quantum-secure key exchange in the spirit of a Noise protocol. The motivating use case is integrating with the WireGuard VPN: In this mode, the key generated by Rosenpass is supplied to WireGuard as its pre-shared symmetric key (PSK). This results in a WireGuard VPN connection with hybrid post-quantum security.

While Rosenpass is designed with WireGuard in mind, it can be used as a stand-alone tool to exchange keys. Using this mode, it can be used to secure other protocols against attacks from quantum computers, given that they offer using a PSK, and that a secure PSK is sufficient for security of the protocol. To use this mode, the rosenpass binary must be used together with the outfile <FILE> parameter. Then, Rosenpass will write a key to the given file every two minutes, and print a message on standard out to notify the user or the calling script that the key has changed.

The implementation is written in Rust but uses libsodium and liboqs -- both of which are C libraries. This does not result in pretty code everywhere, but enables some advanced security features such as using libsodium's sodium_malloc. We use a couple of techniques to make sure the code is secure: We use variable colouring (gating use of a secret value through a .secret() method), and the code zeroizes all key material.

Install

Binary package:

pkg install rosenpass

From the ports tree:

cd /usr/ports/net/rosenpass/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	rosenpass>0:net/rosenpass

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest0.2.3_20.2.3_3-0.2.2_100.2.3_3
FreeBSD:14:quarterly0.2.3_20.2.3_2n/a0.2.2_90.2.3_2
FreeBSD:15:latest0.2.3_30.2.3_3n/a0.2.2_100.2.2_10
FreeBSD:15:quarterly0.2.3_20.2.3_2n/an/an/a
FreeBSD:16:latest0.2.3_20.2.3_3n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Library 1

Runtime 1

The full lists below include those, and their dependencies in turn.

Build dependencies 21
Run dependencies 4

No port depends on this one.

Configuration

No options to configure.

USES
cargo llvm:build pkgconfig shebangfix
Service scripts
none

Files

distinfo 187
FileSizeSHA256
rust/crates/adler2-2.0.1.crate13366320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
rust/crates/adler32-1.2.0.crate6411aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
rust/crates/aho-corasick-1.1.4.crate184015ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
rust/crates/alloca-0.4.0.crate4257e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4
rust/crates/allocator-api2-0.2.21.crate63622683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
rust/crates/anes-0.1.6.crate238574b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
rust/crates/anstream-1.0.0.crate28916824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d
rust/crates/anstyle-1.0.14.crate17787940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000
rust/crates/anstyle-parse-1.0.0.crate2204252ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e
rust/crates/anstyle-query-1.1.5.crate1026440c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc
rust/crates/anstyle-wincon-3.0.11.crate12638291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d
rust/crates/anyhow-1.0.102.crate486587f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c
rust/crates/ar_archive_writer-0.5.2.crate852974087686b4b0a3427190bae57a1d9a478dbb2d40c5dc1bd6e2b6d797913bdd348
rust/crates/autocfg-1.5.1.crate18911f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53
rust/crates/base64-0.22.1.crate8159772b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
rust/crates/bindgen-0.65.1.crate213479cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5
rust/crates/bitflags-1.3.2.crate23021bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
rust/crates/bitflags-2.13.0.crate51280b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8
rust/crates/build-deps-0.1.4.crate3593964f14468960818ce4f3e3553c32d524446687884f8e7af5d3e252331d8a87e43
rust/crates/bumpalo-3.20.3.crate9867172f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649

Commit history 6

DateCommitCreditsLog message
9c878207a1 Mikael Urankar lang/rust: Bump revisions after 1.99.0
PR: 299016
7316461925 Mikael Urankar lang/rust: Bump revisions after 1.98.1
PR: 298139
9e76dd3116 Robert Clausecker net/rosenpass: try to continue if we cannot load if_wg
This makes rosenpass easier to use in VNET jails. PR: 292769 Reported by: rob2g2 <[email protected]> Event: Berlin Hackathon 202609
e41b780189 Robert Clausecker net/rosenpass: remove wireguard dependency
We ship wg(8) in base on all supported versions of FreeBSD these days. Remove the dependency on wireguard-tools thus. PR: 298200 Reported by: k <[email protected]> Event: Berlin Hackathon 202609
fb562248d9 Robert Clausecker net/rosenpass: update to 0.2.3
Changelog: https://github.com/rosenpass/rosenpass/blob/v0.2.3/CHANGELOG.md

The latest 5 of 6 in the history this site was built from.