OpenSSL Perfect Forward Secrecy

· Funktionen

Ab sgcWebSockets 4.4.8 gibt es kleine Änderungen in der Bibliothek, um die Sicherheit der Verbindungen zu verbessern. Eine davon ist Perfect Forward Secrecy

Wenn du den RSA-Schlüsselaustauschmechanismus verwendest, entsteht eine Verknüpfung zwischen dem Schlüsselpaar des Servers und dem Session-Key, der für jede einzelne sichere Sitzung erzeugt wird. Wenn ein Angreifer also jemals den Private Key des Servers in die Hände bekommt, kann er deine SSL-Sitzung und alle gespeicherten SSL-Sitzungen entschlüsseln.

Wenn du dagegen Perfect Forward Secrecy (PFS) aktivierst, gibt es keine Verknüpfung zwischen dem Private Key des Servers und den einzelnen Session-Keys. Selbst wenn ein Angreifer Zugriff auf den Private Key deines Servers erhält, kann er damit keine deiner archivierten Sitzungen entschlüsseln – deshalb heißt das Verfahren "Perfect Forward Secrecy".


Perfect Forward Secrecy aktivieren 

Um Perfect Forward Secrecy für TLS-1.2-Verbindungen zu aktivieren, schalte einfach die folgende Eigenschaft ein:

SSLOptions.OpenSSL_Options.ECDHE := True;

Das aktiviert ECDHE für TLS-1.2-Verbindungen, wenn du die openSSL-1.0.2-Bibliotheken verwendest (bei 1.1.1 ist ECDHE standardmäßig aktiv). Wenn ECDHE aktiviert ist, übergibt die Bibliothek der openSSL-Bibliothek eine Liste von Ciphern mit hoher Sicherheit.

Wenn du einen Sicherheitstest auf der Online-Seite https://entrust.ssllabs.com/ durchführst, bekommst du nach dem Aktivieren von ECDHE auf deinem Server ein sicheres Ergebnis.

Der Server, der die Tests bestand, nutzte openSSL 1.1.1 und erlaubt TLS 1.2 und TLS 1.3; ECDHE war ebenfalls aktiviert.