OpenSSL Perfect Forward Secrecy

· Funkcje

From sgcWebSockets 4.4.8 there are small modifications in library to improve security of connections. One of them is Perfect Forward Secrecy

Gdy używasz mechanizmu wymiany kluczy RSA, tworzy się powiązanie między parą kluczy serwera a kluczem sesji utworzonym dla każdej unikalnej bezpiecznej sesji. Dzięki temu, jeśli atakujący kiedykolwiek zdobędzie klucz prywatny serwera, może odszyfrować twoją sesję SSL oraz wszystkie zapisane sesje SSL.

Natomiast gdy włączysz Perfect Forward Secrecy (PFS), nie ma powiązania między kluczem prywatnym serwera a poszczególnymi kluczami sesji. Jeśli atakujący kiedykolwiek uzyska dostęp do klucza prywatnego serwera, nie będzie mógł użyć tego klucza do odszyfrowania jakichkolwiek twoich zarchiwizowanych sesji — i właśnie dlatego nazywa się to „Perfect Forward Secrecy".


Włącz Perfect Forward Secrecy 

Aby włączyć Perfect Forward Secrecy dla połączeń TLS 1.2, po prostu włącz właściwość:

SSLOptions.OpenSSL_Options.ECDHE := True;

To włączy ECDHE dla połączeń TLS 1.2, jeśli używasz bibliotek openSSL 1.0.2 (dla 1.1.1 ECDHE jest włączone domyślnie). Gdy ECDHE jest włączone, biblioteka przekazuje do openSSL listę szyfrów o wysokim poziomie bezpieczeństwa.

If you do a Security Test in the online web https://entrust.ssllabs.com/, you will get a secure result after enabling ECDHE on your server.

Serwer użyty do przejścia testów wykorzystywał openSSL 1.1.1 i dopuszcza TLS 1.2 oraz TLS 1.3, ECDHE również było włączone.