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.


