portable icon indicating copy to clipboard operation
portable copied to clipboard

Please add support for PSK functionality

Open spaetow opened this issue 6 years ago • 4 comments

I represent an open source community project called Moonshot (https://wiki.moonshot.ja.net) which currently relies on OpenSSL 1.0.x to work. Given that other distributions are looking at libressl (and other similar projects), I proposed that we do the same.

So far we've found that libressl does not support the SSL_set_psk_client_callback function (see link 1 below), which one of the components we use (libradsec) uses. Additionally, other components such as FreeRADIUS, use other PSK-related functions such as SSL_get_psk_identity (link 2) to allow us to do TLS-related authentication/encryption using PSK.

Link 1: https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_psk_client_callback.html Link 2: https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_psk_identity.html

I've been told that you hardcode OPENSSL_NO_PSK because the support is not available, is there anything specific related to PSK that precludes the OpenBSD project from making PSK support available, or would that be something you would make available if there was support/a requirement from the community for it?

spaetow avatar Nov 01 '18 15:11 spaetow

The TLS PSK code was removed very early on, since it added additional complexity to the code, had potential security issues, lacks PFS and has questionable/limited use cases. TLSv1.3 adds a PSK exchange that is used for session resumption, which is well defined and has PFS. As such, we'll likely be implementing PSK for TLSv1.3 (in due course), however I'm not sure that we would necessarily do so for older TLS versions.

Are you able to elaborate on your use case and why you consider it a requirement?

4a6f656c avatar Nov 08 '18 17:11 4a6f656c

We have a use case where FreeRADIUS peers derive TLS PSKs from a trusted DH exchange outside TLS negotiation and then use TLSv1.2 with PSK to establish the secure channel. This use case (which works fine with OpenSSL 1.0 and 1.1) does not work with LibreSSL becase of the lack of support. This is precluding us from successfully running our software in distributions that have chosen LibreSSL as their default SSL library (such as Alpine).

alejandro-perez avatar Nov 27 '18 15:11 alejandro-perez

btw: Alpine switches back to OpenSSL.

Also I like to see support of RSA-PSK cipher in LibreSSL.

misery avatar Dec 13 '18 23:12 misery

the zabbix monitoring tool (https://www.zabbix.com) also needs PSK support to build

ntinti avatar Feb 24 '19 10:02 ntinti