Date: Thu, 16 Jan 2025 17:31:01 -0300 From: "Soni \"It/Its\" L." <fakedme+freebsd@gmail.com> To: Vadim Goncharov <vadimnuclight@gmail.com> Cc: freebsd-net@freebsd.org Subject: Re: ipsec as an address family Message-ID: <d609729a-2455-4b8d-9cf7-fab049c4ec3a@gmail.com> In-Reply-To: <20250116225743.3bffd39f@nuclight.lan> References: <aac3846a-ccfa-41bd-a7e1-4ee940f3c095@gmail.com> <20250116225743.3bffd39f@nuclight.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------TnUqIKRLHzXkVD5mICATBJ6o Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-01-16 16:57, Vadim Goncharov wrote: > Could you provide technical overview, both from API and packet format side, at > least briefly? > packet format is just regular ipsec, there are no protocol changes required! API... we're currently thinking the sockaddr_ipsec struct would take a key (appropriate for the task, e.g. public key for connect, private key for bind). we're however not so certain about the private key part, but at least for connecting, it makes sense to just take the public key of the target. ideally we would also be able to request just authentication, just encryption, or both, tho we're not entirely sure how the API should look (authentication-only is the most useful to us, as we're just trying to prevent port scanning and most modern protocols (TLS, SSH, minecraft server protocol, etc) provide their own encryption anyway). it's not unusual to have an asymmetry between connect and bind, as an example, port 0 is reserved for connect but lets the OS pick a port for bind. --------------TnUqIKRLHzXkVD5mICATBJ6o Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <br> <br> <div class="moz-cite-prefix">On 2025-01-16 16:57, Vadim Goncharov wrote:<span style="white-space: pre-wrap"> </span></div> <blockquote type="cite" cite="mid:20250116225743.3bffd39f@nuclight.lan"> <pre class="moz-quote-pre" wrap=""> Could you provide technical overview, both from API and packet format side, at least briefly? </pre> </blockquote> <br> packet format is just regular ipsec, there are no protocol changes required!<br> <br> API... we're currently thinking the sockaddr_ipsec struct would take a key (appropriate for the task, e.g. public key for connect, private key for bind). we're however not so certain about the private key part, but at least for connecting, it makes sense to just take the public key of the target. ideally we would also be able to request just authentication, just encryption, or both, tho we're not entirely sure how the API should look (authentication-only is the most useful to us, as we're just trying to prevent port scanning and most modern protocols (TLS, SSH, minecraft server protocol, etc) provide their own encryption anyway).<br> <br> it's not unusual to have an asymmetry between connect and bind, as an example, port 0 is reserved for connect but lets the OS pick a port for bind.<br> </body> </html> --------------TnUqIKRLHzXkVD5mICATBJ6o--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d609729a-2455-4b8d-9cf7-fab049c4ec3a>