OpenSSL Perfect Forward Secrecy

· Functies

From sgcWebSockets 4.4.8 zijn er kleine wijzigingen in de bibliotheek om de beveiliging van verbindingen te verbeteren. Een daarvan is Perfect Forward Secrecy

Wanneer je het RSA-key-exchange-mechanisme gebruikt, maakt het een koppeling tussen de server's sleutelpaar en de sessiesleutel die voor elke unieke beveiligde sessie wordt aangemaakt. Dus als een aanvaller ooit de privésleutel van de server bemachtigt, kan hij je SSL-sessie en alle opgeslagen SSL-sessies ontsleutelen.

Daarentegen is er bij het inschakelen van Perfect Forward Secrecy (PFS) geen koppeling tussen de privésleutel van je server en elke sessiesleutel. Als een aanvaller ooit toegang krijgt tot de privésleutel van je server, kan de aanvaller de privésleutel niet gebruiken om gearchiveerde sessies te ontsleutelen; daarom heet het "Perfect Forward Secrecy".


Perfect Forward Secrecy inschakelen 

Om Perfect Forward Secrecy in te schakelen voor TLS 1.2-verbindingen, schakel je gewoon de eigenschap in:

SSLOptions.OpenSSL_Options.ECDHE := True;

Dit schakelt ECDHE in voor TLS 1.2-verbindingen als je openSSL 1.0.2-bibliotheken gebruikt (bij 1.1.1 is ECDHE standaard ingeschakeld). Wanneer ECDHE is ingeschakeld, geeft de bibliotheek aan de openSSL-bibliotheek een lijst van ciphers met hoge beveiliging door.

Als je een security test uitvoert op https://entrust.ssllabs.com/, krijg je een veilig resultaat nadat ECDHE op je server is ingeschakeld.

De server die werd gebruikt voor de tests draaide openSSL 1.1.1 en stond TLS 1.2 en TLS 1.3 toe, ECDHE was ook ingeschakeld.